1 2008-07-01 Oliver Hunt <oliver@apple.com>
3 Reviewed by Geoff Garen.
5 <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected
7 In order to fix this we now make the rendering context and the canvas element
8 share the same reference count, ensuring that references to the rendering
9 context will force the canvas element to remain live as well.
11 Test: fast/canvas/canvas-longlived-context.html
13 * html/CanvasRenderingContext2D.cpp:
14 (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
15 (WebCore::CanvasRenderingContext2D::createImageData):
16 (WebCore::CanvasRenderingContext2D::getImageData):
17 (WebCore::CanvasRenderingContext2D::putImageData):
18 * html/CanvasRenderingContext2D.h:
19 (WebCore::CanvasRenderingContext2D::create):
20 * html/HTMLCanvasElement.cpp:
21 (WebCore::HTMLCanvasElement::getContext):
22 * html/HTMLCanvasElement.h:
24 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
28 Disable JSLock for per-thread contexts.
30 * bridge/runtime_root.cpp:
31 (KJS::Bindings::RootObject::invalidate):
32 (KJS::Bindings::RootObject::gcProtect):
33 (KJS::Bindings::RootObject::gcUnprotect):
34 Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock.
36 * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking
37 to indicate that protected value list can be concurrently accessed from multiple threads now.
39 * xml/XMLHttpRequest.cpp:
40 (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here,
41 as fake locks cannot deadlock, and there is no danger that someone will try to take a real
42 JSLock on the main thread while we are waiting for response.
43 (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock
44 around gcProtect/gcUnprotect now.
45 (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via
46 JSGlobalData::threadInstance().
48 * bindings/js/GCController.cpp:
50 (WebCore::GCController::gcTimerFired):
51 (WebCore::GCController::garbageCollectNow):
52 (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
53 * bindings/js/JSCustomSQLStatementCallback.cpp:
54 (WebCore::JSCustomSQLStatementCallback::handleEvent):
55 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
56 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
57 * bindings/js/JSCustomSQLTransactionCallback.cpp:
58 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
59 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
60 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
61 * bindings/js/JSCustomVoidCallback.cpp:
62 (WebCore::JSCustomVoidCallback::handleEvent):
63 * bindings/js/JSCustomXPathNSResolver.cpp:
64 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
65 * bindings/js/JSDOMWindowBase.cpp:
66 (WebCore::DOMWindowTimer::~DOMWindowTimer):
67 (WebCore::JSDOMWindowBase::clear):
68 (WebCore::JSDOMWindowBase::timerFired):
69 * bindings/js/JSEventCustom.cpp:
71 * bindings/js/JSEventListener.cpp:
72 (WebCore::JSAbstractEventListener::handleEvent):
73 (WebCore::JSLazyEventListener::parseCode):
74 * bindings/js/JSNodeFilterCondition.cpp:
75 (WebCore::JSNodeFilterCondition::acceptNode):
76 * bindings/js/ScheduledAction.cpp:
77 (WebCore::ScheduledAction::execute):
78 * bindings/js/ScriptController.cpp:
79 (WebCore::ScriptController::evaluate):
80 (WebCore::ScriptController::clear):
81 (WebCore::ScriptController::createHTMLEventHandler):
82 (WebCore::ScriptController::createSVGEventHandler):
83 (WebCore::ScriptController::initScript):
84 (WebCore::ScriptController::updateDocument):
85 * bindings/objc/WebScriptObject.mm:
86 (-[WebScriptObject callWebScriptMethod:withArguments:]):
87 (-[WebScriptObject evaluateWebScript:]):
88 (-[WebScriptObject setValue:forKey:]):
89 (-[WebScriptObject valueForKey:]):
90 (-[WebScriptObject removeWebScriptKey:]):
91 (-[WebScriptObject stringRepresentation]):
92 (-[WebScriptObject webScriptValueAtIndex:]):
93 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
94 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
95 * bridge/NP_jsobject.cpp:
101 (_NPN_RemoveProperty):
106 * bridge/c/c_class.cpp:
107 (KJS::Bindings::CClass::~CClass):
108 (KJS::Bindings::CClass::methodsNamed):
109 (KJS::Bindings::CClass::fieldNamed):
110 * bridge/c/c_instance.cpp:
111 (KJS::Bindings::CInstance::invokeMethod):
112 (KJS::Bindings::CInstance::invokeDefaultMethod):
113 (KJS::Bindings::CInstance::getPropertyNames):
114 * bridge/c/c_runtime.cpp:
115 (KJS::Bindings::CField::valueFromInstance):
116 (KJS::Bindings::CField::setValueToInstance):
117 * bridge/c/c_utility.cpp:
118 (KJS::Bindings::convertValueToNPVariant):
119 (KJS::Bindings::convertNPVariantToValue):
120 * bridge/jni/jni_class.cpp:
121 (JavaClass::JavaClass):
122 (JavaClass::~JavaClass):
123 * bridge/jni/jni_instance.cpp:
124 (JavaInstance::stringValue):
125 * bridge/jni/jni_jsobject.mm:
126 (JavaJSObject::call):
127 (JavaJSObject::eval):
128 (JavaJSObject::getMember):
129 (JavaJSObject::setMember):
130 (JavaJSObject::removeMember):
131 (JavaJSObject::getSlot):
132 (JavaJSObject::setSlot):
133 (JavaJSObject::toString):
134 (JavaJSObject::convertValueToJObject):
135 (JavaJSObject::convertJObjectToValue):
136 * bridge/jni/jni_objc.mm:
137 (KJS::Bindings::dispatchJNICall):
138 * bridge/jni/jni_runtime.cpp:
139 (JavaMethod::signature):
140 * bridge/jni/jni_runtime.h:
141 (KJS::Bindings::JavaString::JavaString):
142 (KJS::Bindings::JavaString::_commonInit):
143 (KJS::Bindings::JavaString::~JavaString):
144 (KJS::Bindings::JavaString::UTF8String):
145 * bridge/jni/jni_utility.cpp:
146 (KJS::Bindings::convertArrayInstanceToJavaArray):
147 (KJS::Bindings::convertValueToJValue):
148 * bridge/npruntime.cpp:
149 (_NPN_GetStringIdentifier):
150 * bridge/objc/objc_instance.mm:
151 (ObjcInstance::moveGlobalExceptionToExecState):
152 (ObjcInstance::invokeMethod):
153 (ObjcInstance::invokeDefaultMethod):
154 (ObjcInstance::setValueOfUndefinedField):
155 (ObjcInstance::getValueOfUndefinedField):
156 * bridge/objc/objc_runtime.mm:
157 (ObjcField::valueFromInstance):
158 (ObjcField::setValueToInstance):
159 * bridge/objc/objc_utility.mm:
160 (KJS::Bindings::convertValueToObjcValue):
161 (KJS::Bindings::convertNSStringToString):
162 (KJS::Bindings::convertObjcValueToValue):
163 * bridge/runtime.cpp:
164 (KJS::Bindings::Instance::createRuntimeObject):
166 (WebCore::Document::~Document):
168 (WebCore::Node::setDocument):
169 * history/CachedPage.cpp:
170 (WebCore::CachedPage::CachedPage):
171 (WebCore::CachedPage::restore):
172 (WebCore::CachedPage::clear):
173 * html/HTMLPlugInElement.cpp:
174 (WebCore::HTMLPlugInElement::createNPObject):
175 * loader/FrameLoader.cpp:
176 (WebCore::getString):
178 (WebCore::Frame::bindingRootObject):
179 (WebCore::Frame::windowScriptNPObject):
180 (WebCore::Frame::clearScriptObjects):
181 * page/InspectorController.cpp:
182 (WebCore::jsStringRef):
183 (WebCore::ConsoleMessage::ConsoleMessage):
184 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
185 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
186 (WebCore::getResourceDocumentNode):
188 (WebCore::inspectedWindow):
189 (WebCore::wrapCallback):
190 (WebCore::currentCallFrame):
192 (WebCore::InspectorController::focusNode):
193 (WebCore::InspectorController::addDatabaseScriptResource):
194 (WebCore::InspectorController::addScriptProfile):
195 * page/JavaScriptCallFrame.cpp:
196 (WebCore::JavaScriptCallFrame::evaluate):
197 * page/JavaScriptProfileNode.cpp:
198 (WebCore::getTotalTime):
199 (WebCore::getSelfTime):
200 (WebCore::getTotalPercent):
201 (WebCore::getSelfPercent):
202 (WebCore::getNumberOfCalls):
203 (WebCore::getChildren):
204 (WebCore::getVisible):
205 * page/mac/FrameMac.mm:
206 (WebCore::Frame::windowScriptObject):
207 Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebCore
208 doesn't need locking. In the future, it may be possible to remove some of these if we
209 establish that this won't make JSC assertions fail (and that we don't want to add such
211 Added includes that are now needed.
213 2008-07-01 Dan Bernstein <mitz@apple.com>
215 Reviewed by Oliver Hunt.
217 - fix a CSSParserValueList leak seen on the build bot
220 (WebCore::BorderImageParseContext::commitBorderImage):
222 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>
224 Reviewed by Oliver Hunt.
226 Prep for more Filter class name changes. Added the first few files for
227 the new Filter architecture to come.
229 * WebCore.xcodeproj/project.pbxproj:
230 * svg/Filter.cpp: Added.
231 (WebCore::Filter::Filter):
232 (WebCore::Filter::create):
233 * svg/Filter.h: Added.
234 * svg/FilterBuilder.h: Added.
235 (WebCore::FilterBuilder::add):
236 (WebCore::FilterBuilder::getEffectById):
237 (WebCore::FilterBuilder::filter):
238 * svg/FilterEffect.cpp: Added.
239 (WebCore::FilterEffect::FilterEffect):
240 (WebCore::FilterEffect::~FilterEffect):
241 * svg/FilterEffect.h: Added.
243 2008-07-01 Christian Dywan <christian@twotoasts.de>
247 * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp
249 2008-07-01 Anders Carlsson <andersca@apple.com>
253 Add PluginMainThreadScheduler.{cpp|h} to build.
256 * WebCore.xcodeproj/project.pbxproj:
257 * plugins/PluginMainThreadScheduler.cpp:
259 2008-07-01 Dan Bernstein <mitz@apple.com>
261 Reviewed by Darin Adler.
263 - move the method to set the base writing direction from Frame to Editor
265 * WebCore.base.exp: Updated.
266 * editing/Editor.cpp:
267 (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
268 WritingDirection enum value and added the special behavior when the
269 focused node is a text field or a text area.
271 * page/ContextMenuController.cpp:
272 (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
273 to call the Editor method.
274 * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
277 2008-07-01 Darin Adler <darin@apple.com>
281 - slight tweak of the setHash fix
283 * bindings/js/JSLocationCustom.cpp:
284 (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
286 2008-07-01 Dan Bernstein <mitz@apple.com>
288 Reviewed by Anders Carlsson.
290 - Mac release build fix
294 2008-07-01 Dan Bernstein <mitz@apple.com>
296 Reviewed by Anders Carlsson.
298 - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
300 * css/CSSPrimitiveValue.cpp:
301 (WebCore::CSSPrimitiveValue::cleanup):
303 2008-07-01 Anders Carlsson <andersca@apple.com>
307 Don't add the Mozilla user agent quirk for Flash 10.
309 * plugins/win/PluginPackageWin.cpp:
310 (WebCore::PluginPackage::isPluginBlacklisted):
311 (WebCore::PluginPackage::determineQuirks):
313 2008-07-01 David Kilzer <ddkilzer@apple.com>
315 Move data: URL parsing code in HTMLObjectElement to KURL
317 Reviewed by Ada and Darin.
319 No test cases added since there is no change in behavior.
321 * html/HTMLObjectElement.cpp:
322 (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
323 parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
325 (WebCore::mimeTypeFromDataURL): Added.
327 (WebCore::mimeTypeFromDataURL): Added.
329 2008-07-01 Dan Bernstein <mitz@apple.com>
331 Reviewed by Dave Hyatt.
333 - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
336 (WebCore::CSSParser::addUnresolvedProperty):
338 2008-07-01 Cameron Zwarich <cwzwarich@uwaterloo.ca>
340 Reviewed by Brady Eidson.
342 Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
343 <https://bugs.webkit.org/show_bug.cgi?id=19822>
345 Change JSLocation::setHash() to not schedule navigation in the case
346 where the old fragment is the null String and the new fragment is an
349 * bindings/js/JSLocationCustom.cpp:
350 (WebCore::JSLocation::setHash):
352 2008-06-30 Anders Carlsson <andersca@apple.com>
356 Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in
357 callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
359 * WebCore.vcproj/WebCore.vcproj:
360 Add PluginMainThreadScheduler.{cpp|h}
362 * plugins/PluginMainThreadScheduler.cpp: Added.
363 * plugins/PluginMainThreadScheduler.h: Added.
365 * plugins/PluginView.cpp:
366 (WebCore::PluginView::start):
367 Register with the thread scheduler.
370 (NPN_PluginThreadAsyncCall):
371 Call the thread scheduler.
373 * plugins/win/PluginPackageWin.cpp:
374 (WebCore::PluginPackage::load):
375 Initialize the NPN_PluginThreadAsyncCall callback.
377 * plugins/win/PluginViewWin.cpp:
378 (WebCore::PluginView::stop):
379 Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
380 after the plug-in has been destroyed.
382 2008-07-01 Adam Roben <aroben@apple.com>
384 Roll out r34913, as it broke the Windows build due to bad casting
386 r34913 introduced code that assigned pointers-to-member from a derived
387 class into a base class pointer-to-member type (e.g., assigned a void
388 (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
389 because it could allow us to call SVGUseElement member functions on a
390 different SVGElement-derived class. MSVC rightly flagged this as an
393 Rubberstamped by Anders Carlsson.
395 2008-07-01 Darin Adler <darin@apple.com>
399 * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
400 not working propertly.
402 2008-07-01 Dan Bernstein <mitz@apple.com>
404 Reviewed by Darin Adler.
406 - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const
408 * html/CanvasRenderingContext2D.cpp:
409 (WebCore::CanvasRenderingContext2D::createPattern):
411 2008-07-01 Sam Weinig <sam@webkit.org>
413 Reviewed by Darin Adler.
415 Split JSCell and JSNumberCell class declarations out of JSValue.h
417 * ForwardingHeaders/kjs/JSNumberCell.h: Added.
418 * bindings/scripts/CodeGeneratorJS.pm:
419 * bridge/c/c_instance.cpp:
421 2008-07-01 chris fleizach <cfleizach@apple.com>
423 Reviewed by Beth Dakin
425 <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0
427 Test: accessibility/radio-button-checkbox-size.html
429 * page/AccessibilityRenderObject.cpp:
430 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
432 2008-07-01 Dan Bernstein <mitz@apple.com>
434 Reviewed by Antti Koivisto.
436 - fix SVG pointer-events layout test failures
438 * css/SVGCSSParser.cpp:
439 (WebCore::CSSParser::parseSVGValue):
441 2008-07-01 Nikolas Zimmermann <zimmermann@kde.org>
445 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
446 Fix two small problems in the gradient & pattern code.
448 Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html
450 * svg/SVGLinearGradientElement.cpp:
451 (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
452 * svg/SVGPatternElement.cpp:
453 (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
454 * svg/SVGRadialGradientElement.cpp:
455 (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
456 (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.
458 2008-07-01 Simon Hausmann <hausmann@webkit.org>
460 Fix the build, include SVGTransformList.h instead of
463 * svg/SVGGradientElement.h:
465 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
469 <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
472 Test: fast/encoding/preload-encoding.html
474 * html/PreloadScanner.cpp:
475 (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
478 2008-07-01 Nikolas Zimmermann <zimmermann@kde.org>
480 Reviewed by Antti & Eric.
482 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
484 SVG Errata states: "All SVG DOM objects that directly correspond to an
485 attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
486 means that any changes made to the attribute are immediately reflected in the
487 corresponding SVG DOM object." (see linked URL on bug report)
489 Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
490 element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
492 Add a new synchronization layer to handle SVG DOM -> XML changes.
494 Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
495 Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
496 Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).
498 Added test: svg/custom/svg-xml-dom-sync.html
499 Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
502 (WebCore::Element::Element): Initialize the two new bits.
503 (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
504 (WebCore::Element::getAttribute): Ditto.
505 (WebCore::Element::hasAttributes): Ditto.
506 * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
507 (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
508 * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
509 * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
510 (WebCore::SVGAElement::contextElement): Return non-const value.
511 * svg/SVGAltGlyphElement.h:
512 (WebCore::SVGAltGlyphElement::contextElement): Ditto.
513 * svg/SVGAnimateElement.h:
514 (WebCore::SVGAnimateElement::contextElement): Ditto.
515 * svg/SVGAnimateMotionElement.h:
516 (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
517 * svg/SVGAnimateTransformElement.h:
518 (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
519 * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
520 (WebCore::SVGAnimatedTemplate::toString):
521 (WebCore::SVGAnimatedTemplate::associatedAttributeName):
522 (WebCore::lookupOrCreateWrapper):
523 (WebCore::SVGAnimatedAngle::SVGAnimatedAngle):
524 (WebCore::SVGAnimatedAngle::toString):
525 (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
526 (WebCore::SVGAnimatedBoolean::toString):
527 (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
528 (WebCore::SVGAnimatedEnumeration::toString):
529 (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
530 (WebCore::SVGAnimatedInteger::toString):
531 (WebCore::SVGAnimatedLength::SVGAnimatedLength):
532 (WebCore::SVGAnimatedLength::toString):
533 (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
534 (WebCore::SVGAnimatedLengthList::toString):
535 (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
536 (WebCore::SVGAnimatedNumber::toString):
537 (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
538 (WebCore::SVGAnimatedNumberList::toString):
539 (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
540 (WebCore::SVGAnimatedPreserveAspectRatio::toString):
541 (WebCore::SVGAnimatedRect::SVGAnimatedRect):
542 (WebCore::SVGAnimatedRect::toString):
543 (WebCore::SVGAnimatedString::SVGAnimatedString):
544 (WebCore::SVGAnimatedString::toString):
545 (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
546 (WebCore::SVGAnimatedTransformList::toString):
547 (WebCore::SVGAnimatedType::SVGAnimatedType):
548 * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
549 * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
550 (WebCore::SVGCircleElement::contextElement): Return non-const value.
551 * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
552 (WebCore::SVGClipPathElement::contextElement): Return non-const value.
553 * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
554 * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
555 * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
556 (WebCore::SVGCursorElement::SVGCursorElement):
557 * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
558 (WebCore::SVGCursorElement::contextElement): Return non-const value.
559 * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
560 (WebCore::SVGDefsElement::contextElement): Return non-const value.
561 * svg/SVGElement.cpp:
562 (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
563 (WebCore::SVGElement::setSynchronizedSVGAttributes):
564 * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
565 (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
566 (StoredTypeWithDirtyFlag::operator=):
567 (StoredTypeWithDirtyFlag::operator==):
568 (StoredTypeWithDirtyFlag::operator!=):
569 (StoredTypeWithDirtyFlag::operator StoredType):
570 (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
571 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
572 (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
573 * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
574 (WebCore::SVGEllipseElement::SVGEllipseElement):
575 * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
576 (WebCore::SVGEllipseElement::contextElement): Return non-const value.
577 * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
578 * svg/SVGFEBlendElement.h:
579 (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
580 * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
581 * svg/SVGFEColorMatrixElement.h:
582 (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
583 * svg/SVGFEComponentTransferElement.h:
584 (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
585 * svg/SVGFECompositeElement.h:
586 (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
587 * svg/SVGFEDiffuseLightingElement.h:
588 (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
589 * svg/SVGFEDisplacementMapElement.h:
590 (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
591 * svg/SVGFEFloodElement.h:
592 (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
593 * svg/SVGFEGaussianBlurElement.h:
594 (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
595 * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
596 * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
597 (WebCore::SVGFEImageElement::contextElement): Return non-const value.
598 * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
599 * svg/SVGFEMergeElement.h:
600 (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
601 * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
602 (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
603 * svg/SVGFEOffsetElement.h:
604 (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
605 * svg/SVGFESpecularLightingElement.h:
606 (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
607 * svg/SVGFETileElement.h:
608 (WebCore::SVGFETileElement::contextElement): Return non-const value.
609 * svg/SVGFETurbulenceElement.h:
610 (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
611 * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
612 (WebCore::SVGFilterElement::SVGFilterElement):
613 * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
614 (WebCore::SVGFilterElement::contextElement): Return non-const value.
615 * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
616 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
617 * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
618 (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
619 * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
620 * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
621 * svg/SVGFontElement.h:
622 (WebCore::SVGFontElement::contextElement): Return non-const value.
623 * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
624 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
625 * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
626 (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
627 * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
628 (WebCore::SVGGElement::contextElement): Return non-const value.
629 * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
630 * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
631 * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
632 (WebCore::SVGImageElement::SVGImageElement):
633 * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
634 (WebCore::SVGImageElement::contextElement): Return non-const value.
635 * svg/SVGLengthList.cpp:
636 (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
637 * svg/SVGLengthList.h:
638 * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
639 (WebCore::SVGLineElement::SVGLineElement):
640 * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
641 (WebCore::SVGLineElement::contextElement): Return non-const value.
642 * svg/SVGLinearGradientElement.cpp:
643 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
644 (WebCore::SVGLinearGradientElement::collectGradientProperties):
645 * svg/SVGLinearGradientElement.h:
646 (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
647 * svg/SVGMPathElement.h:
648 (WebCore::SVGMPathElement::contextElement): Return non-const value.
649 * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
650 (WebCore::SVGMarkerElement::SVGMarkerElement):
651 * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
652 (WebCore::SVGMarkerElement::contextElement): Return non-const value.
653 * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
654 (WebCore::SVGMaskElement::SVGMaskElement):
655 * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
656 (WebCore::SVGMaskElement::contextElement): Return non-const value.
657 * svg/SVGNumberList.cpp:
658 (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
659 * svg/SVGNumberList.h:
660 * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
661 (WebCore::SVGPathElement::contextElement): Return non-const value.
662 * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
663 (WebCore::SVGPatternElement::SVGPatternElement):
664 (WebCore::SVGPatternElement::collectPatternProperties):
665 * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
666 (WebCore::SVGPatternElement::contextElement): Return non-const value.
667 * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
668 (WebCore::SVGPolyElement::contextElement): Return non-const value.
669 * svg/SVGPreserveAspectRatio.cpp:
670 (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
671 * svg/SVGPreserveAspectRatio.h:
672 * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
673 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
674 (WebCore::SVGRadialGradientElement::svgAttributeChanged):
675 (WebCore::SVGRadialGradientElement::collectGradientProperties):
676 * svg/SVGRadialGradientElement.h:
677 (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
678 * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
679 (WebCore::SVGRectElement::SVGRectElement):
680 * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
681 (WebCore::SVGRectElement::contextElement): Return non-const value.
682 * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
683 (WebCore::SVGSVGElement::SVGSVGElement):
684 (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
685 * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
686 (WebCore::SVGSVGElement::contextElement): Return non-const value.
687 * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
688 (WebCore::SVGScriptElement::contextElement): Return non-const value.
689 * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
690 * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
691 * svg/SVGStyledTransformableElement.h:
692 * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
693 (WebCore::SVGSwitchElement::contextElement): Return non-const value.
694 * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
695 (WebCore::SVGSymbolElement::contextElement): Return non-const value.
696 * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
697 (WebCore::SVGTRefElement::contextElement): Return non-const value.
698 * svg/SVGTSpanElement.h:
699 (WebCore::SVGTSpanElement::contextElement): Return non-const value.
700 * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
701 (WebCore::SVGTextContentElement::SVGTextContentElement):
702 * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
703 * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
704 * svg/SVGTextElement.h:
705 (WebCore::SVGTextElement::contextElement): Return non-const value.
706 * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
707 (WebCore::SVGTextPathElement::SVGTextPathElement):
708 * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
709 (WebCore::SVGTextPathElement::contextElement): Return non-const value.
710 * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
711 * svg/SVGTextPositioningElement.h:
712 * svg/SVGTransformList.cpp:
713 (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
714 * svg/SVGTransformList.h:
715 * svg/SVGURIReference.h: Change contextElement() to return a non-const value.
716 * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
717 (WebCore::SVGUseElement::SVGUseElement):
718 * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
719 (WebCore::SVGUseElement::contextElement): Return non-const value.
720 * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
721 (WebCore::SVGViewElement::contextElement): Return non-const value.
722 * svg/SVGViewSpec.cpp:
723 (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor.
724 (WebCore::SVGViewSpec::contextElement): Return non-const value.
727 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>
729 Reviewed by Nikolas Zimmermann.
731 Class name changes for SVG Light Effect files. The class names that changed :
733 SVGLightSource -> LightSource
734 SVGDistantLightSource -> DistantLightSource
735 SVGPointLightSource -> PointLightSource
736 SVGSpotLightSource -> SpotLightSource
738 Every other file that is changed is just propagating the class name changes to
741 * svg/SVGFEDiffuseLightingElement.cpp:
742 (WebCore::SVGFEDiffuseLightingElement::updateLights):
743 * svg/SVGFEDistantLightElement.cpp:
744 (WebCore::SVGFEDistantLightElement::lightSource):
745 * svg/SVGFEDistantLightElement.h:
746 * svg/SVGFELightElement.h:
747 * svg/SVGFEPointLightElement.cpp:
748 (WebCore::SVGFEPointLightElement::lightSource):
749 * svg/SVGFEPointLightElement.h:
750 * svg/SVGFESpecularLightingElement.cpp:
751 (WebCore::SVGFESpecularLightingElement::updateLights):
752 * svg/SVGFESpotLightElement.cpp:
753 (WebCore::SVGFESpotLightElement::lightSource):
754 * svg/SVGFESpotLightElement.h:
755 * svg/graphics/filters/SVGDistantLightSource.h:
756 (WebCore::DistantLightSource::DistantLightSource):
757 (WebCore::DistantLightSource::azimuth):
758 (WebCore::DistantLightSource::elevation):
759 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
760 (WebCore::SVGFEDiffuseLighting::lightSource):
761 (WebCore::SVGFEDiffuseLighting::setLightSource):
762 * svg/graphics/filters/SVGFEDiffuseLighting.h:
763 * svg/graphics/filters/SVGFESpecularLighting.cpp:
764 (WebCore::SVGFESpecularLighting::lightSource):
765 (WebCore::SVGFESpecularLighting::setLightSource):
766 * svg/graphics/filters/SVGFESpecularLighting.h:
767 * svg/graphics/filters/SVGLightSource.cpp:
768 (WebCore::PointLightSource::externalRepresentation):
769 (WebCore::SpotLightSource::externalRepresentation):
770 (WebCore::DistantLightSource::externalRepresentation):
771 * svg/graphics/filters/SVGLightSource.h:
773 (WebCore::LightSource::LightSource):
774 (WebCore::LightSource::~LightSource):
775 (WebCore::LightSource::type):
776 * svg/graphics/filters/SVGPointLightSource.h:
777 (WebCore::PointLightSource::PointLightSource):
778 (WebCore::PointLightSource::position):
779 * svg/graphics/filters/SVGSpotLightSource.h:
780 (WebCore::SpotLightSource::SpotLightSource):
781 (WebCore::SpotLightSource::position):
782 (WebCore::SpotLightSource::direction):
783 (WebCore::SpotLightSource::specularExponent):
784 (WebCore::SpotLightSource::limitingConeAngle):
785 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
786 (WebCore::SVGFEDiffuseLighting::getCIFilter):
787 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
788 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
789 (WebCore::getLightVectors):
790 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
791 (WebCore::SVGFESpecularLighting::getCIFilter):
793 2008-07-01 Alp Toker <alp@nuanti.com>
795 Rubber-stamped by Holger.
797 autotools cleanup: move some GTK+-specific sources from libwebcore to
802 2008-07-01 Dan Bernstein <mitz@apple.com>
804 Reviewed by Oliver Hunt.
806 - fix the non-SVG build
808 * css/CSSValueKeywords.in: Added 'all'.
809 * css/SVGCSSValueKeywords.in: Removed 'all'.
811 2008-07-01 Simon Hausmann <hausmann@webkit.org>
813 Build fix, include DateInstance.h.
815 * bridge/qt/qt_runtime.cpp:
817 2008-06-30 Adele Peterson <adele@apple.com>
821 Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing
823 Test: fast/forms/search-hidden-cancel-button.html
825 * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
826 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.
828 2008-06-30 Sam Weinig <sam@webkit.org>
830 Rubber-stamped by Darin Adler.
832 Split InternalFunction into its own header file.
834 * ForwardingHeaders/kjs/InternalFunction.h: Added.
835 * bridge/runtime_method.h:
837 2008-06-30 Adele Peterson <adele@apple.com>
841 Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
843 Test: editing/selection/select-all-textarea.html
846 (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
847 (WebCore::Node::shadowTreeRootNode): Added helper function.
849 * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
851 * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
852 * editing/Selection.h:
853 * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
854 * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
855 If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
857 (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
858 (WebCore::Frame::markAllMatchesForText): ditto.
860 2008-06-30 chris fleizach <cfleizach@apple.com>
862 Reviewed by Beth Dakin
864 <rdar://problem/4180780> Add attribute to get all the radio buttons in a set
866 * page/AccessibilityObject.cpp:
867 (WebCore::AccessibilityObject::linkedUIElements):
868 * page/AccessibilityObject.h:
869 * page/AccessibilityRenderObject.cpp:
870 (WebCore::AccessibilityRenderObject::internalLinkElement):
871 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
872 (WebCore::AccessibilityRenderObject::linkedUIElements):
873 * page/AccessibilityRenderObject.h:
874 * page/mac/AccessibilityObjectWrapper.mm:
875 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
877 2008-06-30 Dan Bernstein <mitz@apple.com>
879 Reviewed by Adele Peterson.
881 - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
883 * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
884 Frame::setSelectionBaseWritingDirection().
885 * page/ContextMenuController.cpp:
886 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
887 call Frame::setSelectionBaseWritingDirection().
889 (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
890 focused node is a text field or text area, changes its 'dir' attribute.
891 This is what IE does when the user changes the writing direction in a
892 text control. Otherwise, calls down to Editor::setBaseWritingDirection().
895 2008-06-30 David Kilzer <ddkilzer@apple.com>
897 Improve HTMLObjectElement data encapsulation
899 Reviewed by Dave Hyatt.
901 HTMLObjectElement has some public member variables that should be
902 private with accessor methods.
904 No test cases added since there is no change in behavior.
906 * html/HTMLObjectElement.cpp:
907 (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
908 initialization of member variables to match defined order in header.
909 * html/HTMLObjectElement.h:
910 (WebCore::HTMLObjectElement::classId): Added.
911 (WebCore::HTMLObjectElement::url): Added.
912 (WebCore::HTMLObjectElement::serviceType): Added.
913 * rendering/RenderPartObject.cpp:
914 (WebCore::RenderPartObject::updateWidget): Use new accessor methods
915 in HTMLObjectElement now that its member variables are private.
917 2008-06-30 Dan Bernstein <mitz@apple.com>
919 Reviewed by Anders Carlsson.
921 - remove unused member variable
923 * page/Page.h: Removed Page::m_focusedNode.
925 2008-06-30 Anders Carlsson <andersca@apple.com>
929 <rdar://problem/6014209>
930 Crash when loading manifest from application cache fails
932 There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
933 that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
934 group could be deleted causing us to access freed memory and then crashing.
936 * loader/appcache/ApplicationCacheGroup.cpp:
937 (WebCore::ApplicationCacheGroup::didReceiveResponse):
938 (WebCore::ApplicationCacheGroup::didFail):
939 (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
941 2008-06-30 Adam Roben <aroben@apple.com>
943 Fix <rdar://5954749> Assertion failure due to HashTable's use of
946 Reviewed by Ada Chan.
948 * bindings/js/JSSVGPODTypeWrapper.h:
950 * dom/StyledElement.cpp:
951 * platform/graphics/FontCache.cpp:
952 * platform/graphics/IntSizeHash.h:
954 * platform/text/StringHash.h:
955 * platform/win/COMPtr.h:
956 * svg/SVGAnimatedTemplate.h:
957 Updated all custom HashTraits for HashTable changes.
959 2008-06-30 Simon Hausmann <hausmann@webkit.org>
963 Added missing includes and changed getItem array calls to use get()
966 * bridge/qt/qt_runtime.cpp:
967 (KJS::Bindings::convertValueToQVariant):
969 2008-06-29 David Smith <catfish.man@gmail.com>
971 Rubberstamped by Sam Weinig.
973 Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.
975 * dom/TagNodeList.cpp:
976 (WebCore::TagNodeList::nodeMatches):
978 2008-06-29 Dan Bernstein <mitz@apple.com>
980 Reviewed by Darin Adler.
982 - fix SVG layout test regressions
984 * css/CSSFontSelector.cpp:
985 (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
986 again with primitive values, because the @font-face rules SVG fonts
987 create still use a single primitive value rather than a value list.
989 2008-06-29 Dan Bernstein <mitz@apple.com>
991 Reviewed by Sam Weinig.
993 - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working
995 Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
996 fast/css/font-face-descriptor-multiple-values.html
998 * css/CSSFontSelector.cpp:
999 (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
1000 lists for the descriptor properties.
1002 * css/CSSParser.cpp:
1003 (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
1004 (WebCore::CSSParser::parseValue): Added a call to
1005 deleteFontFaceOnlyValues() if necessary.
1006 (WebCore::CSSParser::parseDeclaration): Ditto.
1007 (WebCore::CSSParser::clearProperties): Added code to reset
1008 m_hasFontFaceOnlyValues to false.
1009 (WebCore::CSSParser::parseFontStyle): Added. If there is a single
1010 valid identifier other than 'all', creates a CSSPrimitiveValue and
1011 assigns it to the property. If 'all' is the only value, or if there are
1012 multiple valid identifiers that are not 'all', creates a CSSValueList
1013 and assigns it to the property, and sets m_hasFontFaceOnlyValues to
1015 (WebCore::CSSParser::parseFontVariant): Ditto.
1016 (WebCore::CSSParser::parseFontWeight): Ditto.
1017 (WebCore::CSSParser::createStyleRule): Added a call to
1018 deleteFontFaceOnlyValues().
1019 (WebCore::CSSParser::createFontFaceRule): Added code to change
1020 font descriptor properties that had only one value, and therefore were
1021 assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
1022 (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
1023 invalidates font descriptor properties that had values that are only
1024 allowed in @font-face. Those are identified by having CSSValueLists
1025 rather than CSSPrimitiveValues as their values.
1026 * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
1027 font descriptor property values that are only valid in @font-face were
1028 encountered. This is used when the style declaration is created (and we
1029 finally know if it is @font-face or not) to delete invalid properties
1032 2008-06-28 Darin Adler <darin@apple.com>
1034 Reviewed by Sam and Cameron.
1036 - fix https://bugs.webkit.org/show_bug.cgi?id=19805
1037 Array.concat turns missing array elements into "undefined"
1039 * bridge/jni/jni_utility.cpp:
1040 (KJS::Bindings::convertArrayInstanceToJavaArray):
1041 Use get instead of getItem, since we always want to consider values from the
1042 prototypes when looking at JavaScript arrays.
1044 2008-06-28 Dan Bernstein <mitz@apple.com>
1046 Reviewed by Darin Adler.
1048 - allow document markers to touch or overlap if they are not of the same type
1050 Cannot be tested in DumpRenderTree
1053 (WebCore::Document::addMarker):
1054 * rendering/InlineTextBox.cpp:
1055 (WebCore::InlineTextBox::paintDocumentMarkers):
1057 2008-06-28 Sam Weinig <sam@webkit.org>
1059 Rubber-stamped by Darin Adler.
1061 Update includes after remaming string_object.h to StringObject.h and
1062 splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
1063 and StringPrototype.
1065 * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
1066 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
1067 * ForwardingHeaders/kjs/StringPrototype.h: Added.
1068 * ForwardingHeaders/kjs/string_object.h: Removed.
1069 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1071 2008-06-28 Sam Weinig <sam@webkit.org>
1073 Rubber-stamped by Oliver Hunt.
1075 Update includes after remaming object_object.h to ObjectPrototype.h and
1076 splitting FunctionConstructor out of FunctionPrototype.h
1078 * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
1079 * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
1080 * ForwardingHeaders/kjs/object_object.h: Removed.
1081 * bindings/js/JSEventListener.cpp:
1082 * bindings/scripts/CodeGeneratorJS.pm:
1083 * bridge/qt/qt_instance.cpp:
1085 2008-06-28 Dan Bernstein <mitz@apple.com>
1087 Reviewed by Darin Adler.
1089 - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
1091 * html/HTMLImageLoader.cpp:
1092 (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
1093 image if the 'src' attribute is the empty string and the document's base
1096 2008-06-27 Sam Weinig <sam@webkit.org>
1098 Reviewed by Dan Bernstein.
1100 <rdar://problem/6025499> Make Cross-site XHR match the final specification
1102 Update the implemented subset of Access-Control for XMLHttpRequest to the
1103 latest version. (Editor's Draft 25 May 2008)
1105 - Now differentiates between simple and non-simple cross-site requests, the later
1106 requiring a preflight.
1107 - Now sends request headers cross-site, limited by a blacklist.
1108 - Now allows access to cross-site response headers, limited by a whitelist.
1109 - Now sends request entity body for non-get cross-site requests after preflight.
1111 Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
1112 http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
1113 http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html
1115 * xml/XMLHttpRequest.cpp:
1116 (WebCore::isOnAccessControllRequestHeaderBlackList):
1117 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
1118 (WebCore::isOnAccessControlResponseHeaderWhitelist):
1119 (WebCore::XMLHttpRequest::XMLHttpRequest):
1120 (WebCore::XMLHttpRequest::createRequest):
1121 (WebCore::XMLHttpRequest::makeSameOriginRequest):
1122 (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
1123 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
1124 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
1125 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1126 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
1127 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1128 (WebCore::XMLHttpRequest::abort):
1129 (WebCore::XMLHttpRequest::clearRequest):
1130 (WebCore::XMLHttpRequest::setRequestHeader):
1131 (WebCore::XMLHttpRequest::setRequestHeaderInternal):
1132 (WebCore::XMLHttpRequest::getAllResponseHeaders):
1133 (WebCore::XMLHttpRequest::getResponseHeader):
1134 (WebCore::XMLHttpRequest::didFinishLoading):
1135 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
1136 (WebCore::XMLHttpRequest::didReceiveResponse):
1137 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1138 (WebCore::XMLHttpRequest::didReceiveData):
1139 * xml/XMLHttpRequest.h:
1141 2008-06-27 Sam Weinig <sam@webkit.org>
1143 Rubber-stamped by Mark Rowe.
1145 Clean up sorting in WebCore.xcodeproj.
1147 * WebCore.xcodeproj/project.pbxproj:
1149 2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>
1151 Reviewed by Darin Adler.
1153 Remove unnecessary options to make_names.pl command line
1154 http://bugs.webkit.org/show_bug.cgi?id=19777
1156 * DerivedSources.make:
1159 2008-06-27 Adam Barth <abarth@webkit.org>
1161 Reviewed by Darin Adler.
1163 https://bugs.webkit.org/show_bug.cgi?id=19784
1165 Properly handle untermianted <!-- comments in <textarea>s.
1167 Tests: fast/parser/open-comment-in-script-tricky.html
1168 fast/parser/open-comment-in-style.html
1169 fast/parser/open-comment-in-textarea.html
1171 * html/HTMLTokenizer.cpp:
1172 (WebCore::HTMLTokenizer::finish):
1174 2008-06-27 Adam Barth <abarth@webkit.org>
1176 Reviewed by Darin Alder.
1178 Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
1179 Text areas in Wikipedia edit pages are empty, following content is missing
1181 Don't treat entities as comment starters in parseSpecial.
1183 Tests: fast/parser/comment-in-iframe.html
1184 fast/parser/entity-comment-in-iframe.html
1185 fast/parser/entity-comment-in-script-tricky.html
1186 fast/parser/entity-comment-in-style.html
1187 fast/parser/entity-comment-in-textarea.html
1188 fast/parser/entity-comment-in-title.html
1190 * html/HTMLTokenizer.cpp:
1191 (WebCore::HTMLTokenizer::parseSpecial):
1193 2008-06-27 Antti Koivisto <antti@apple.com>
1197 <rdar://problem/6030720>
1198 REGRESSION: Discrete animation between incompatible paths does not work
1200 Fall back to discrete path animation if paths are not suitable for morphing.
1202 Test: svg/custom/animate-path-discrete.svg
1204 * svg/SVGAnimateElement.cpp:
1205 (WebCore::SVGAnimateElement::calculateAnimatedValue):
1207 2008-06-26 David Smith <catfish.man@gmail.com>
1209 Reviewed by Sam Weinig.
1211 https://bugs.webkit.org/show_bug.cgi?id=19002
1213 Optimize simple id selectors in querySelector/querySelectorAll.
1214 ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
1217 (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
1219 (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
1220 * dom/SelectorNodeList.cpp:
1221 (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
1223 2008-06-26 Dan Bernstein <mitz@apple.com>
1225 Reviewed by Darin Adler.
1227 - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
1228 http://bugs.webkit.org/show_bug.cgi?id=7023
1230 Test: editing/selection/find-in-text-control.html
1232 * WebCore.base.exp: Updated the TextIterator constructor signature.
1234 * editing/TextIterator.cpp:
1235 (WebCore::TextIterator::TextIterator): Added an enterTextControls
1236 boolean parameter that determines whether the iterator should visit text
1237 inside text areas and text fields. Added code to initialize the
1238 m_inShadowContent member variable based on whether the range is in
1240 (WebCore::TextIterator::advance): Added code to step out of shadow
1242 (WebCore::TextIterator::handleReplacedElement): Added code to enter
1243 text controls if desired.
1244 (WebCore::CharacterIterator::CharacterIterator): Added an
1245 enterTextControls boolean parameter that determines whether the iterator
1246 should visit text inside text areas and text fields. This is passed to
1247 the TextIterator constructor.
1248 (WebCore::findPlainText): Changed to use a CharacterIterator that
1249 visits text controls.
1251 * editing/TextIterator.h: Added member variables to track whether the
1252 current node is in a shadow tree and whether the iterator should visit
1256 (WebCore::Frame::findString): Changed to find inside text controls.
1257 (WebCore::Frame::markAllMatchesForText): Ditto.
1259 * rendering/RenderTextControl.cpp:
1260 (WebCore::RenderTextControl::innerTextElement): Added.
1261 * rendering/RenderTextControl.h: Added innerTextElement(), a private
1262 accessor method that is accessible to TextIterator through class
1265 2008-06-26 Darin Adler <darin@apple.com>
1269 * bridge/runtime.h: Added include of JSString.h since jsString will soon
1270 change to return a JSString*.
1272 2008-06-26 Adele Peterson <adele@apple.com>
1274 Fix suggested by Eric Carlson, added by me, reviewed by Adam.
1276 Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
1278 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
1279 Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
1281 2008-06-26 Sam Weinig <sam@webkit.org>
1283 Reviewed by John Sullivan.
1285 <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
1287 * loader/FrameLoader.cpp:
1288 (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the
1289 DOMWindow when opening a CachedPage.
1291 2008-06-26 Eric Seidel <eric@webkit.org>
1293 Reviewed by Beth Dakin.
1295 CSS @import statements can cause DocLoader to use
1296 a dead Frame pointer.
1297 https://bugs.webkit.org/show_bug.cgi?id=19618
1299 The fix is to get rid of the Frame pointer on DocLoader.
1301 I also took this opportunity to clean up Document::detach
1302 a little to make it clear why we clear the m_frame pointer
1303 there, and to note that in the future we should stop
1304 using Node::detach to mean "tear down the whole rendering
1305 tree and detach from the frame".
1307 Test: I don't know how to make a good test for this, the test
1308 we have is network timing dependent and does not make a good
1312 (WebCore::Document::Document):
1313 (WebCore::Document::detach):
1314 (WebCore::Document::clearFramePointer):
1316 * loader/DocLoader.cpp:
1317 (WebCore::DocLoader::frame):
1318 * loader/DocLoader.h:
1320 2008-06-26 Anders Carlsson <andersca@apple.com>
1324 Don't enumerate document.applets trying to determine if a page contains applets.
1325 Instead, set m_containsPlugIns to true when an applet has been created.
1327 * loader/FrameLoader.cpp:
1328 (WebCore::FrameLoader::canCachePage):
1329 (WebCore::FrameLoader::createJavaAppletWidget):
1331 2008-06-26 Alexey Proskuryakov <ap@webkit.org>
1335 Make JSGlobalData per-thread.
1337 * bindings/js/JSDOMBinding.h:
1338 (WebCore::DOMObject::DOMObject):
1339 * bindings/js/JSDOMWindowBase.cpp:
1340 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1341 * bridge/runtime_object.cpp:
1342 (RuntimeObjectImp::RuntimeObjectImp):
1343 Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so
1344 there is no danger for them to be collected on a wrong thread.
1346 2008-06-26 Holger Hans Peter Freyther <zecke@selfish.org>
1350 [svg] Disable plugins for SVG images
1351 The Qt platform allows to have a plugin factory per Page. Now SVG Images
1352 are using a Page and dummy/empty clients for Chrome. The only way to get
1353 the kit from the WebCore::Page is to go through the ChromeClient but this
1354 is not possible when the ChromeClient is an empty client. This leads to a
1355 crash in PluginDataQt.cpp. One way to avoid this would have been the
1356 addition of a rtti like field to ChromeClient to see if it is an empty
1357 client. The other possibility is to not enable plugins for images.
1359 The SVGImage relies on the fact that the document is a SVGDocument and
1360 that the rootElement is a SVGSVGElement. If plugins are used we could
1361 end up with a PluginDocument and crash badly. Do not try to use plugins
1362 if plugins are disabled for the WebCore::Page.
1364 * dom/DOMImplementation.cpp:
1365 (WebCore::DOMImplementation::createDocument):
1366 * svg/graphics/SVGImage.cpp:
1367 (WebCore::SVGImage::dataChanged):
1369 2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
1375 * platform/graphics/qt/SimpleFontDataQt.cpp:
1376 (WebCore::SimpleFontData::SimpleFontData):
1378 2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
1382 [svg] Make QtWebKit build more of the SVG support
1383 Add the proper defines and files, update SVGResourceFilterQt.cpp
1384 to be enabled by the filter option and not by experimental svg support
1387 * svg/graphics/qt/SVGResourceFilterQt.cpp:
1388 (WebCore::SVGResourceFilter::createPlatformData):
1389 (WebCore::SVGResourceFilter::prepareFilter):
1391 2008-06-25 Sam Weinig <sam@webkit.org>
1393 Reviewed by Brady Eidson.
1395 Move XMLHttpRequestState enum into XMLHttpRequest and rename to State.
1397 * xml/XMLHttpRequest.cpp:
1398 (WebCore::XMLHttpRequest::readyState):
1399 (WebCore::XMLHttpRequest::changeState):
1400 (WebCore::XMLHttpRequest::open):
1401 * xml/XMLHttpRequest.h:
1402 (WebCore::XMLHttpRequest::create):
1403 (WebCore::XMLHttpRequest::):
1405 2008-06-25 Justin Garcia <justin.garcia@apple.com>
1409 <rdar://problem/5994480> Line break lost on some pastes
1411 Merging the the first paragraph of inserted content with the content that came
1412 before the selection that was pasted into would also move content after
1413 the selection that was pasted into if:
1415 1) Only one paragraph was being pasted, and it was not wrapped in a block
1416 2) The selection that was pasted into ended at the end of a block
1417 3) The next paragraph didn't start at the start of a block.
1419 Insert a line break just after the inserted content to separate it from what
1420 comes after and prevent that from happening.
1422 Doing this exposed a bug in deletion where it would insert an unnecessary placeholder
1423 when deleting a paragraph that started or ended with an input element. This was
1424 because its m_startBlock and m_endBlock were still computed with the old deprecated
1425 enclosingBlockFlowOrTableElement().
1427 * editing/DeleteSelectionCommand.cpp:
1428 (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for
1429 getting an enclosing block.
1430 (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing
1431 block will return 0 if it reaches the root editable element before finding a block,
1432 so if we're deleting inside an inline editable root, m_start/endBlock will
1433 be 0. Removed an early return for this case (we already have test coverage for it).
1434 * editing/ReplaceSelectionCommand.cpp:
1435 (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted
1436 content to separate it from what comes after.
1437 * dom/Node.h: Removed enclosingBlockFlowOrTableElement().
1438 * dom/Node.cpp: Ditto.
1440 2008-06-25 Anders Carlsson <andersca@apple.com>
1442 Reviewed by Dave Hyatt.
1444 Fix refcount leak in CSSVariablesRule.
1446 * css/CSSParser.cpp:
1447 (WebCore::CSSParser::createVariablesRule):
1448 * css/CSSVariablesRule.h:
1449 (WebCore::CSSVariablesRule::create):
1450 (WebCore::CSSVariablesRule::setDeclaration):
1452 2008-06-25 Anders Carlsson <andersca@apple.com>
1456 <rdar://problem/6007111>
1457 https://bugs.webkit.org/show_bug.cgi?id=19516
1458 DOM modification causes Access Violation (NULL pointer?)
1460 Null check the document element.
1462 * html/HTMLParser.cpp:
1463 (WebCore::HTMLParser::handleError):
1465 2008-06-25 Dan Bernstein <mitz@apple.com>
1467 Reviewed by Dave Hyatt.
1469 - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows
1471 - fix https://bugs.webkit.org/show_bug.cgi?id=18863
1472 <rdar://problem/5908890> weight mappings with @font-face aren't consistent
1474 Tests: fast/css/font-face-locally-installed.html
1475 fast/css/font-face-multiple-faces.html
1477 * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h.
1479 * WebCore.xcodeproj/project.pbxproj: Ditto.
1481 * css/CSSFontFace.h:
1482 Made CSSFontFace store descriptors from the @font-face rule, as follows:
1483 (WebCore::CSSFontFace::create): Added a FontTraitsMask argument.
1484 (WebCore::CSSFontFace::traitsMask): Added this accessor.
1485 (WebCore::CSSFontFace::addRange): Added.
1486 (WebCore::CSSFontFace::ranges): Added.
1487 (WebCore::CSSFontFace::UnicodeRange::UnicodeRange):
1488 (WebCore::CSSFontFace::UnicodeRange::from):
1489 (WebCore::CSSFontFace::UnicodeRange::to):
1490 (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector
1491 of UnicodeRanges as member variables.
1493 * css/CSSFontFaceSource.cpp:
1494 Changed the hash key from the font size alone to the font size and
1495 the synthetic style bits, needed if the same source supplies different
1496 synthesized versions.
1497 (WebCore::CSSFontFaceSource::pruneTable):
1498 (WebCore::CSSFontFaceSource::getFontData):
1500 * css/CSSFontFaceSource.h:
1502 * css/CSSFontSelector.cpp:
1503 (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete
1504 the contents of the font face, locally-installed font face and segmented
1506 (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to
1507 not create segmented font faces, but instead just collect font faces
1508 and annotate them with descriptors (traits and unicode ranges).
1509 (WebCore::compareFontFaces): Added. Used in getFontData() to sort the
1510 font faces by proximity to the desired traits.
1511 (WebCore::CSSFontSelector::getFontData): Changed to create the segmented
1512 font face here and cache it.
1514 * css/CSSFontSelector.h:
1516 * css/CSSSegmentedFontFace.cpp:
1517 Changed to keep a vector of font faces instead of font face ranges, as
1518 font faces now know their Unicode ranges.
1519 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
1520 (WebCore::CSSSegmentedFontFace::isLoaded):
1521 (WebCore::CSSSegmentedFontFace::isValid):
1522 (WebCore::CSSSegmentedFontFace::appendFontFace):
1523 (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic
1524 traits parameters, and instead changed to set them on each FontData
1525 separately based on the difference between the desired traits and
1526 the font face's traits.
1528 * css/CSSSegmentedFontFace.h:
1530 * platform/graphics/FontCache.h:
1531 Removed fontExists() and added getTraitsInFamily().
1533 * platform/graphics/FontDescription.cpp:
1534 (WebCore::FontDescription::traitsMask): Added.
1536 * platform/graphics/FontDescription.h:
1538 * platform/graphics/FontTraitsMask.h: Added.
1540 * platform/graphics/GlyphPageTreeNode.cpp:
1541 (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with
1542 glyphs from all fonts in the segmented font, using each font in turn to
1543 fill in characters not covered by earlier fonts.
1545 * platform/graphics/gtk/FontCacheGtk.cpp:
1546 (WebCore::FontCache::getTraitsInFamily): Added a stub.
1548 * platform/graphics/mac/FontCacheMac.mm:
1549 (WebCore::FontCache::getTraitsInFamily): Added.
1551 * platform/graphics/qt/FontCacheQt.cpp:
1552 (WebCore::FontCache::getTraitsInFamily): Added a stub.
1554 * platform/graphics/win/FontCacheWin.cpp:
1555 (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added.
1556 (WebCore::traitsInFamilyEnumProc): Added.
1557 (WebCore::FontCache::getTraitsInFamily): Added.
1559 * platform/graphics/wx/FontCacheWx.cpp:
1560 (WebCore::FontCache::getTraitsInFamily): Added a stub.
1562 * platform/mac/WebFontCache.h:
1563 * platform/mac/WebFontCache.mm:
1564 (toTraitsMask): Added.
1565 (+[WebFontCache getTraits:inFamily:]): Added.
1567 2008-06-24 Anonymous
1569 Reviewed by Darin Adler. Committed by Adam Barth.
1571 https://bugs.webkit.org/show_bug.cgi?id=19470
1573 Check for a null documentElement() to fix four crashes.
1575 * WebCore/dom/Document.cpp:
1576 * WebCore/dom/Node.cpp:
1578 2008-06-24 Adam Barth <abarth@webkit.org>
1580 Reviewed by Darin Adler.
1582 Fix <https://bugs.webkit.org/show_bug.cgi?id=19597>
1584 Correctly parse <!-- </textarea> --> inside a <textarea>, matching
1585 Internet Explorer, Firefox, Opera, and HTML 5.
1587 Tests: fast/parser/comment-in-script-tricky.html
1588 fast/parser/comment-in-style.html
1589 fast/parser/comment-in-textarea.html
1590 fast/parser/comment-in-title.html
1592 * html/HTMLTokenizer.cpp:
1593 (WebCore::HTMLTokenizer::parseSpecial):
1595 2008-06-24 Justin Garcia <justin.garcia@apple.com>
1599 <rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo
1601 * editing/CompositeEditCommand.cpp:
1602 (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we
1603 apply styles from the moved paragraph to the destination with applyStyle, which
1604 does selection preservation when it needs to apply block styles. Selection preservation
1605 uses relatively untested code in TextIterator to count VisiblePositions which fails in
1606 this particular test case because it doesn't handle changes in editability properly.
1607 We can avoid this bug by not applying block styles from moved paragraphs. This is
1608 something that should be done anyway, since the moved paragraph should assume the
1609 block styles of the destination.
1610 * editing/EditCommand.cpp:
1611 (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for
1612 this function to also include the typing style.
1613 * editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation
1614 is buggy and should be phased out when we rewrite moveParagraphs.
1616 2008-06-24 Kevin McCullough <kmccullough@apple.com>
1618 -Added a manual test for the profiler.
1620 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added.
1622 2008-06-24 Sam Weinig <sam@webkit.org>
1624 Reviewed by Anders Carlsson.
1626 Add support for loadstart, abort and error events for XMLHttpRequests.
1628 Tests: http/tests/xmlhttprequest/onabort-event.html
1629 http/tests/xmlhttprequest/onerror-event.html
1630 http/tests/xmlhttprequest/onloadstart-event.html
1632 * bindings/js/JSXMLHttpRequestCustom.cpp:
1633 (WebCore::JSXMLHttpRequest::mark):
1634 (WebCore::JSXMLHttpRequest::onreadystatechange):
1635 (WebCore::JSXMLHttpRequest::onabort):
1636 (WebCore::JSXMLHttpRequest::setOnabort):
1637 (WebCore::JSXMLHttpRequest::onerror):
1638 (WebCore::JSXMLHttpRequest::setOnerror):
1639 (WebCore::JSXMLHttpRequest::onload):
1640 (WebCore::JSXMLHttpRequest::onloadstart):
1641 (WebCore::JSXMLHttpRequest::setOnloadstart):
1642 (WebCore::JSXMLHttpRequest::onprogress):
1644 * xml/XMLHttpRequest.cpp:
1645 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1646 (WebCore::XMLHttpRequest::createRequest):
1647 (WebCore::XMLHttpRequest::abort):
1648 (WebCore::XMLHttpRequest::networkError):
1649 (WebCore::XMLHttpRequest::abortError):
1650 (WebCore::XMLHttpRequest::didFail):
1651 (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
1652 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
1653 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
1654 (WebCore::XMLHttpRequest::dispatchAbortEvent):
1655 (WebCore::XMLHttpRequest::dispatchErrorEvent):
1656 (WebCore::XMLHttpRequest::dispatchLoadEvent):
1657 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
1658 (WebCore::XMLHttpRequest::dispatchProgressEvent):
1659 * xml/XMLHttpRequest.h:
1660 (WebCore::XMLHttpRequest::setOnAbortListener):
1661 (WebCore::XMLHttpRequest::onAbortListener):
1662 (WebCore::XMLHttpRequest::setOnErrorListener):
1663 (WebCore::XMLHttpRequest::onErrorListener):
1664 (WebCore::XMLHttpRequest::setOnLoadStartListener):
1665 (WebCore::XMLHttpRequest::onLoadStartListener):
1666 * xml/XMLHttpRequest.idl:
1668 2008-06-24 Anders Carlsson <andersca@apple.com>
1672 <rdar://problem/5957606>
1673 CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23
1675 Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly
1676 in case the call do didFail starts a new run loop.
1678 * loader/NetscapePlugInStreamLoader.cpp:
1679 (WebCore::NetscapePlugInStreamLoader::didCancel):
1681 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
1685 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1686 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1687 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1688 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1689 Initialize callbackCallType, as the compiler is not smart enough to figure out data flow.
1691 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
1695 https://bugs.webkit.org/show_bug.cgi?id=19723
1696 REGRESSION(r34648): Some SVG tests crash when running under --threaded
1698 * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt
1699 to paint during document destruction, because rendering structures are not kept in a
1700 consistent state then.
1702 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1706 https://bugs.webkit.org/show_bug.cgi?id=19727
1708 Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so
1709 many times in Cairo and Qt ports.
1711 * platform/graphics/GraphicsContext.h:
1712 * platform/graphics/GraphicsContext.cpp:
1713 (WebCore::GraphicsContext::getShadow): return a boolean from getShadow()
1714 which indicates whether there is a visible shadow to draw or not. Ports
1715 without a platform shadow implementation can use this flag to determine
1716 whether a shadow needs to be drawn manually
1717 * platform/graphics/cairo/FontCairo.cpp:
1718 (WebCore::Font::drawGlyphs):
1719 * platform/graphics/qt/FontQt.cpp:
1720 (WebCore::Font::drawText):
1721 * platform/graphics/qt/GraphicsContextQt.cpp:
1722 (WebCore::GraphicsContext::drawLine): use return from getShadow() to
1723 determine whether to draw the shadow
1725 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1729 https://bugs.webkit.org/show_bug.cgi?id=18459
1731 Clean up and remove unused platform shadow code.
1733 Minor edits by Simon, removed unused TextShadow struct.
1735 * platform/graphics/qt/GraphicsContextQt.cpp:
1736 (WebCore::GraphicsContext::setPlatformShadow):
1737 (WebCore::GraphicsContext::clearPlatformShadow): Qt doesn't support a
1738 platform shadow, so just make these functions empty. The shadows are
1739 drawn manually in function like drawLine(), etc.
1741 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1745 https://bugs.webkit.org/show_bug.cgi?id=18459
1747 Implemented basic text-shadow support for the Qt port.
1749 * platform/graphics/qt/FontQt.cpp:
1750 (WebCore::Font::drawText): implement text-shadow support in the Qt port
1751 * platform/graphics/qt/GraphicsContextQt.cpp:
1752 (WebCore::GraphicsContext::drawLine): also draw shadows for text
1753 decorations such as unerlines
1755 2008-06-24 Simon Hausmann <hausmann@webkit.org>
1757 Fix the Qt build, adapt to various JSCore API changes.
1759 * bridge/qt/qt_instance.cpp:
1760 (KJS::Bindings::QtRuntimeObjectImp::construct):
1761 (KJS::Bindings::QtInstance::getRuntimeObject):
1762 (KJS::Bindings::QtInstance::invokeDefaultMethod):
1763 * bridge/qt/qt_runtime.cpp:
1764 (KJS::Bindings::convertQVariantToValue):
1765 (KJS::Bindings::QtRuntimeMetaMethod::getCallData):
1766 (KJS::Bindings::QtRuntimeConnectionMethod::call):
1767 (KJS::Bindings::QtRuntimeConnectionMethod::getCallData):
1768 (KJS::Bindings::QtConnectionObject::execute):
1769 * bridge/qt/qt_runtime.h:
1770 (KJS::Bindings::QtRuntimeConnectionMethod::d_func):
1772 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
1774 Remove XMLHttpRequestProgressEvent.cpp from more project files.
1779 2008-06-24 Ariya Hidayat <ariya.hidayat@trolltech.com>
1783 For the Qt port, fix linking with MinGW.
1787 2008-06-23 Darin Adler <darin@apple.com>
1791 Update for JavaScript changes.
1793 - Use CallData and ConstructData instead of the obsolete implementsCall,
1794 callAsFunction, and construct functions.
1796 - Updated native function arguments, specifically to allow a JSValue
1797 rather than a JSObject for the this argument, and to call toThisObject
1798 as needed when treating it as an object.
1800 - Made some more class members private and protected, including virtual
1803 - Eliminated the use of getCallData in the JavaScript bridging code as
1804 a way to check if an instance supports invokeDefaultMethod.
1806 - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
1807 classes. They were using virtual functions simply to share an instance
1808 of the RefCounted template, which was not helpful.
1810 * bindings/js/JSAudioConstructor.cpp:
1811 (WebCore::constructAudio):
1812 (WebCore::JSAudioConstructor::getConstructData):
1813 * bindings/js/JSAudioConstructor.h:
1814 (WebCore::JSAudioConstructor::document):
1815 (WebCore::JSAudioConstructor::classInfo):
1816 * bindings/js/JSClipboardCustom.cpp:
1817 (WebCore::JSClipboard::types):
1818 * bindings/js/JSCustomSQLStatementCallback.cpp:
1819 (WebCore::JSCustomSQLStatementCallback::handleEvent):
1820 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1821 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1822 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1823 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1824 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1825 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1826 * bindings/js/JSCustomVoidCallback.cpp:
1827 (WebCore::JSCustomVoidCallback::handleEvent):
1828 * bindings/js/JSCustomXPathNSResolver.cpp:
1829 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1830 * bindings/js/JSDOMBinding.h:
1831 (WebCore::DOMObject::DOMObject):
1832 * bindings/js/JSDOMWindowBase.cpp:
1833 (WebCore::windowProtoFuncAToB):
1834 (WebCore::windowProtoFuncBToA):
1835 (WebCore::windowProtoFuncOpen):
1836 (WebCore::windowProtoFuncSetTimeout):
1837 (WebCore::windowProtoFuncClearTimeout):
1838 (WebCore::windowProtoFuncSetInterval):
1839 (WebCore::windowProtoFuncAddEventListener):
1840 (WebCore::windowProtoFuncRemoveEventListener):
1841 (WebCore::windowProtoFuncShowModalDialog):
1842 (WebCore::windowProtoFuncNotImplemented):
1843 (WebCore::toJSDOMWindow):
1844 * bindings/js/JSDOMWindowBase.h:
1845 * bindings/js/JSDOMWindowShell.h:
1846 (WebCore::JSDOMWindowShell::classInfo):
1847 * bindings/js/JSEventListener.cpp:
1848 (WebCore::JSAbstractEventListener::handleEvent):
1849 (WebCore::JSLazyEventListener::parseCode):
1850 * bindings/js/JSEventTargetBase.cpp:
1851 (WebCore::retrieveEventTargetAndCorrespondingNode):
1852 (WebCore::jsEventTargetAddEventListener):
1853 (WebCore::jsEventTargetRemoveEventListener):
1854 (WebCore::jsEventTargetDispatchEvent):
1855 * bindings/js/JSEventTargetBase.h:
1856 * bindings/js/JSHTMLAppletElementCustom.cpp:
1857 (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
1858 (WebCore::JSHTMLAppletElement::customPut):
1859 (WebCore::JSHTMLAppletElement::getCallData):
1860 * bindings/js/JSHTMLCollectionCustom.cpp:
1861 (WebCore::callHTMLCollection):
1862 (WebCore::JSHTMLCollection::getCallData):
1863 * bindings/js/JSHTMLDocumentCustom.cpp:
1864 (WebCore::JSHTMLDocument::open):
1865 * bindings/js/JSHTMLEmbedElementCustom.cpp:
1866 (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
1867 (WebCore::JSHTMLEmbedElement::customPut):
1868 (WebCore::JSHTMLEmbedElement::getCallData):
1869 * bindings/js/JSHTMLInputElementBase.cpp:
1870 (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
1871 * bindings/js/JSHTMLInputElementBase.h:
1872 * bindings/js/JSHTMLObjectElementCustom.cpp:
1873 (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
1874 (WebCore::JSHTMLObjectElement::customPut):
1875 (WebCore::JSHTMLObjectElement::getCallData):
1876 * bindings/js/JSHTMLOptionElementConstructor.cpp:
1877 (WebCore::constructHTMLOptionElement):
1878 (WebCore::JSHTMLOptionElementConstructor::getConstructData):
1879 * bindings/js/JSHTMLOptionElementConstructor.h:
1880 (WebCore::JSHTMLOptionElementConstructor::document):
1881 (WebCore::JSHTMLOptionElementConstructor::classInfo):
1882 * bindings/js/JSImageConstructor.cpp:
1883 (WebCore::constructImage):
1884 (WebCore::JSImageConstructor::getConstructData):
1885 * bindings/js/JSImageConstructor.h:
1886 (WebCore::JSImageConstructor::document):
1887 (WebCore::JSImageConstructor::classInfo):
1888 * bindings/js/JSInspectedObjectWrapper.h:
1889 (WebCore::JSInspectedObjectWrapper::classInfo):
1890 * bindings/js/JSInspectorCallbackWrapper.cpp:
1891 (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
1892 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1893 (WebCore::JSJavaScriptCallFrame::scopeChain):
1894 * bindings/js/JSNodeFilterCondition.cpp:
1895 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
1896 (WebCore::JSNodeFilterCondition::mark):
1897 (WebCore::JSNodeFilterCondition::acceptNode):
1898 * bindings/js/JSNodeFilterCondition.h:
1899 (WebCore::JSNodeFilterCondition::create):
1900 * bindings/js/JSNodeFilterCustom.cpp:
1901 (WebCore::toNodeFilter):
1902 * bindings/js/JSNodeListCustom.cpp:
1903 (WebCore::callNodeList):
1904 (WebCore::JSNodeList::getCallData):
1905 (WebCore::JSNodeList::canGetItemsForName):
1906 (WebCore::JSNodeList::nameGetter):
1907 * bindings/js/JSPluginElementFunctions.cpp:
1908 (WebCore::runtimeObjectGetter):
1909 (WebCore::runtimeObjectPropertyGetter):
1910 (WebCore::runtimeObjectCustomGetOwnPropertySlot):
1911 (WebCore::runtimeObjectCustomPut):
1912 (WebCore::runtimeObjectGetCallData):
1913 (WebCore::pluginInstance):
1914 (WebCore::getRuntimeObject):
1915 (WebCore::callPlugin):
1916 * bindings/js/JSPluginElementFunctions.h:
1917 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1918 (WebCore::JSQuarantinedObjectWrapper::put):
1919 (WebCore::JSQuarantinedObjectWrapper::construct):
1920 (WebCore::JSQuarantinedObjectWrapper::getConstructData):
1921 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
1922 (WebCore::JSQuarantinedObjectWrapper::call):
1923 (WebCore::JSQuarantinedObjectWrapper::getCallData):
1924 * bindings/js/JSQuarantinedObjectWrapper.h:
1925 (WebCore::JSQuarantinedObjectWrapper::className):
1926 * bindings/js/JSRGBColor.cpp:
1927 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1928 (WebCore::constructXMLHttpRequest):
1929 (WebCore::JSXMLHttpRequestConstructor::getConstructData):
1930 * bindings/js/JSXMLHttpRequestConstructor.h:
1931 (WebCore::JSXMLHttpRequestConstructor::document):
1932 (WebCore::JSXMLHttpRequestConstructor::classInfo):
1933 * bindings/js/JSXSLTProcessorConstructor.cpp:
1934 (WebCore::constructXSLTProcessor):
1935 (WebCore::JSXSLTProcessorConstructor::getConstructData):
1936 * bindings/js/JSXSLTProcessorConstructor.h:
1937 (WebCore::JSXSLTProcessorConstructor::classInfo):
1938 * bindings/js/ScheduledAction.cpp:
1939 (WebCore::ScheduledAction::ScheduledAction):
1940 (WebCore::ScheduledAction::execute):
1941 * bindings/js/ScheduledAction.h:
1942 * bindings/objc/WebScriptObject.mm:
1943 (-[WebScriptObject callWebScriptMethod:withArguments:]):
1944 * bindings/scripts/CodeGeneratorJS.pm:
1945 * bridge/NP_jsobject.cpp:
1946 (_NPN_InvokeDefault):
1948 * bridge/c/c_instance.cpp:
1949 (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
1950 * bridge/c/c_instance.h:
1951 * bridge/jni/jni_jsobject.mm:
1952 (JavaJSObject::call):
1953 * bridge/objc/objc_instance.h:
1954 * bridge/objc/objc_instance.mm:
1955 (ObjcInstance::supportsInvokeDefaultMethod):
1956 * bridge/objc/objc_runtime.h:
1957 (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
1958 (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
1959 * bridge/objc/objc_runtime.mm:
1960 (Bindings::webScriptObjectClass):
1961 (Bindings::webUndefinedClass):
1962 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1963 (callObjCFallbackObject):
1964 (ObjcFallbackObjectImp::getCallData):
1965 * bridge/qt/qt_instance.h:
1966 * bridge/runtime.cpp:
1967 (KJS::Bindings::Instance::createRuntimeObject):
1968 (KJS::Bindings::Instance::getInstance):
1970 (KJS::Bindings::Field::~Field):
1971 (KJS::Bindings::Method::~Method):
1972 (KJS::Bindings::Class::~Class):
1973 (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
1974 * bridge/runtime_method.cpp:
1975 (KJS::callRuntimeMethod):
1976 (KJS::RuntimeMethod::getCallData):
1977 * bridge/runtime_method.h:
1978 (KJS::RuntimeMethod::methods):
1979 * bridge/runtime_object.cpp:
1980 (RuntimeObjectImp::defaultValue):
1981 (callRuntimeObject):
1982 (RuntimeObjectImp::getCallData):
1983 * bridge/runtime_object.h:
1984 (KJS::RuntimeObjectImp::getInternalInstance):
1985 (KJS::RuntimeObjectImp::classInfo):
1986 * dom/NodeIterator.h:
1987 * dom/Traversal.cpp:
1991 2008-06-23 Adam Barth <abarth@webkit.org>
1993 Reviewed by Darin Adler.
1995 https://bugs.webkit.org/show_bug.cgi?id=16756
1997 Move isAllowedToLoadLocalResources into SecurityOrigin.
2000 (WebCore::Document::Document):
2001 (WebCore::Document::setURL):
2002 (WebCore::Document::initSecurityContext):
2004 * loader/FrameLoader.cpp:
2005 (WebCore::FrameLoader::canLoad):
2006 * platform/SecurityOrigin.cpp:
2007 (WebCore::SecurityOrigin::SecurityOrigin):
2008 (WebCore::SecurityOrigin::isLocal):
2009 * platform/SecurityOrigin.h:
2010 (WebCore::SecurityOrigin::protocol):
2011 (WebCore::SecurityOrigin::host):
2012 (WebCore::SecurityOrigin::domain):
2013 (WebCore::SecurityOrigin::port):
2014 (WebCore::SecurityOrigin::canLoadLocalResources):
2015 (WebCore::SecurityOrigin::grantLoadLocalResources):
2016 * xml/XMLHttpRequest.cpp:
2017 (WebCore::XMLHttpRequest::setRequestHeader):
2019 2008-06-23 Mark Rowe <mrowe@apple.com>
2021 Fix the Windows build.
2023 * WebCore.vcproj/WebCore.vcproj: Add generated files related to CSS variables to the Windows project file.
2025 2008-06-23 Steve Falkenburg <sfalken@apple.com>
2027 Fix a math error in my last change.
2029 Reviewed by Ada Chan.
2031 * platform/win/FileSystemWin.cpp:
2032 (WebCore::openTemporaryFile):
2034 2008-06-23 Kevin McCullough <kmccullough@apple.com>
2038 * WebCore.vcproj/WebCore.vcproj:
2040 2008-06-23 chris fleizach <cfleizach@apple.com>
2042 Reviewed by Darin Adler.
2044 <rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string
2046 * page/AccessibilityObject.cpp:
2047 (WebCore::replacedNodeNeedsCharacter):
2048 (WebCore::AccessibilityObject::stringForVisiblePositionRange):
2049 (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
2051 2008-06-23 Steve Falkenburg <sfalken@apple.com>
2053 Added our own mechanism for generating temporary file names.
2055 Reviewed by Ada Chan, Darin Adler.
2057 * platform/win/FileSystemWin.cpp:
2058 (WebCore::openTemporaryFile):
2060 2008-06-23 Sam Weinig <sam@webkit.org>
2062 Remove XMLHttpRequestProgressEvent.cpp from project files.
2064 * WebCore.vcproj/WebCore.vcproj:
2065 * WebCore.xcodeproj/project.pbxproj:
2066 * WebCoreSources.bkl:
2068 2008-06-23 Sam Weinig <sam@webkit.org>
2070 Reviewed by Dave Hyatt.
2074 * xml/XMLHttpRequestProgressEvent.cpp: Removed.
2076 2008-06-23 Sam Weinig <sam@webkit.org>
2078 Rubber-stamped by Tim Hatcher.
2080 Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
2081 and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.
2083 * xml/XMLHttpRequest.cpp:
2084 (WebCore::XMLHttpRequest::createRequest):
2085 (WebCore::XMLHttpRequest::makeSameOriginRequest):
2086 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
2087 * xml/XMLHttpRequest.h:
2089 2008-06-23 Sam Weinig <sam@webkit.org>
2091 Reviewed by Alexey Proskuryakov.
2093 Some XMLHttpRequest re-organization to aid further enhancements coming soon.
2095 * bindings/js/JSXMLHttpRequestCustom.cpp:
2096 (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send,
2097 instead of always calling though send(DOMString).
2098 * dom/Document.idl: Adds native converter.
2100 * xml/XMLHttpRequest.cpp:
2101 (WebCore::XMLHttpRequest::open):
2102 (WebCore::XMLHttpRequest::initSend):
2103 (WebCore::XMLHttpRequest::send):
2104 (WebCore::XMLHttpRequest::createRequest):
2105 (WebCore::XMLHttpRequest::sameOriginRequest):
2106 (WebCore::XMLHttpRequest::crossSiteAccessRequest):
2107 (WebCore::XMLHttpRequest::abort):
2108 (WebCore::XMLHttpRequest::clearResponse):
2109 (WebCore::XMLHttpRequest::clearRequest):
2110 (WebCore::XMLHttpRequest::genericError):
2111 (WebCore::XMLHttpRequest::dispatchProgressEvent):
2112 * xml/XMLHttpRequest.h:
2113 (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline.
2114 (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto.
2115 (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
2116 (WebCore::XMLHttpRequest::onLoadListener): Ditto.
2117 (WebCore::XMLHttpRequest::setOnProgressListener): Ditto.
2118 (WebCore::XMLHttpRequest::onProgressListener): Ditto.
2119 Makes the request entity body a member variable so that the send method
2120 can be more easily broken up.
2122 2008-06-23 Timothy Hatcher <timothy@apple.com>
2124 Make profiles of the same name in the Inspector group in the
2125 sidebar under a collapsable item that contains all the runs.
2127 https://bugs.webkit.org/show_bug.cgi?id=19713
2129 Reviewed by Darin Adler.
2131 * English.lproj/localizedStrings.js: New strings.
2132 * page/inspector/Images/profileGroupIcon.png: Added.
2133 * page/inspector/Images/profileSmallIcon.png: Added.
2134 * page/inspector/ProfilesPanel.js:
2135 (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups.
2136 Remove the "some-expandable" class from the sidebarTree.
2137 (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles
2138 that have the same name as a previous profile into a group. When a
2139 group has 2 profiles a ProfileGroupSidebarTreeElement is made and the
2140 ProfileSidebarTreeElements are appended to the group's element.
2141 (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
2142 Return _mainTitle is it is set.
2143 (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle):
2144 Set _mainTitle which is an override title.
2145 (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement.
2146 (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
2147 Show the last profile in the group when selected.
2148 * page/inspector/SidebarTreeElement.js:
2149 (WebInspector.SidebarTreeElement.prototype.get small): Return _small.
2150 (WebInspector.SidebarTreeElement.prototype.set small): Set _small and
2151 update the style to match.
2152 (WebInspector.SidebarTreeElement.prototype.onattach): Set the small
2153 class if the small property is true.
2154 * page/inspector/inspector.css: New styles for profiles groups
2155 and for the small profiles.
2157 2008-06-23 Anders Carlsson <andersca@apple.com>
2161 Make changedDocuments a HashSet.
2164 (WebCore::Document::setDocumentChanged):
2165 (WebCore::Document::updateDocumentsRendering):
2167 2008-06-23 Alexey Proskuryakov <ap@webkit.org>
2169 Reviewed by Mark Rowe.
2171 Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
2172 be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
2173 on a different thread causes crashes.
2175 * bindings/js/JSDOMBinding.h:
2176 (WebCore::DOMObject::DOMObject):
2178 2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
2180 Reviewed by Darin Adler.
2182 Fix https://bugs.webkit.org/show_bug.cgi?id=19465
2183 Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys
2185 Test: editing/input/textarea-arrow-navigation.html
2187 * rendering/RenderText.cpp:
2188 (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right
2189 of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so
2190 that the cursor doesn't remain on the previous line.
2192 2008-06-22 Robert Blaut <webkit@blaut.biz>
2194 Reviewed by Darin Adler.
2196 Fix for https://bugs.webkit.org/show_bug.cgi?id=17421
2197 Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered
2199 Test: fast/parser/input-textarea-inside-select-element.html
2201 * html/HTMLParser.cpp:
2202 (WebCore::HTMLParser::handleError):
2204 2008-06-22 David Krause <david.krause@gmail.com>
2206 Reviewed by Darin Adler.
2208 Fix https://bugs.webkit.org/show_bug.cgi?id=19426
2209 Bug 19426: LOW_BANDWIDTH_DISPLAY build broken
2211 Change ref to addClient and deref to removeClient in code wrapped
2212 by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834.
2214 * loader/FrameLoader.cpp:
2215 (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
2216 (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests):
2217 (WebCore::FrameLoader::notifyFinished):
2219 2008-06-22 Robert Blaut <webkit@blaut.biz>
2221 Reviewed by Darin Adler.
2223 Fix https://bugs.webkit.org/show_bug.cgi?id=19520
2224 Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style
2226 Test: fast/css/outline-hidden-illegal-value.html
2228 * css/CSSParser.cpp:
2229 (WebCore::CSSParser::parseValue):
2230 * rendering/RenderFlow.cpp:
2231 (WebCore::RenderFlow::paintOutline):
2232 * rendering/RenderObject.cpp:
2233 (WebCore::RenderObject::paintOutline):
2234 * rendering/style/RenderStyle.h:
2235 (WebCore::RenderStyle::outlineWidth):
2236 (WebCore::RenderStyle::outlineOffset):
2238 2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
2240 Reviewed by Dan Bernstein.
2242 Fix https://bugs.webkit.org/show_bug.cgi?id=19675
2243 Bug 19675: [GTK] negative text-shadows are not rendered
2245 * platform/graphics/cairo/FontCairo.cpp:
2246 (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the
2247 sizes are > 0, while we need to check for != 0.
2249 2008-06-22 kuchhal <kuchhal@yahoo.com>
2251 Reviewed by Darin Adler.
2253 Fix https://bugs.webkit.org/show_bug.cgi?id=19696
2254 Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp
2256 * editing/DeleteButtonController.cpp:
2257 (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance
2258 if the platform resource could not be loaded.
2260 2008-06-22 kuchhal <kuchhal@yahoo.com>
2262 Reviewed by Darin Adler.
2264 Fix https://bugs.webkit.org/show_bug.cgi?id=19697
2265 Bug 19697: Redundant releaseRef causing memory leak
2267 * platform/win/ClipboardUtilitiesWin.cpp:
2268 (WebCore::fragmentFromCF_HTML):
2270 2008-06-21 Sam Weinig <sam@webkit.org>
2274 * bindings/scripts/CodeGeneratorCOM.pm:
2275 * html/HTMLInputElement.idl:
2277 2008-06-21 Timothy Hatcher <timothy@apple.com>
2279 Fix a typo "new" in the keywords list for hte JavaScript
2280 syntax highlighter. And adds "get" and "set" to the keyword list.
2282 Reviewed by Sam Weinig.
2284 * page/inspector/SourceFrame.js:
2285 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
2286 Fixes the "new" typo and adds "get" and "set".
2288 2008-06-21 David Kilzer <ddkilzer@apple.com>
2290 Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely
2292 <https://bugs.webkit.org/show_bug.cgi?id=7931>
2296 Tests: fast/parser/entity-end-iframe-tag.html
2297 fast/parser/entity-end-script-tag.html
2298 fast/parser/entity-end-style-tag.html
2299 fast/parser/entity-end-textarea-tag.html
2300 fast/parser/entity-end-title-tag.html
2301 fast/parser/entity-end-xmp-tag.html
2303 Previously the parser accepted end tags for textarea, title and
2304 iframe elements that contained entity-escaped characters such as
2305 '<'. The fix is to save the position of the last entity-escaped
2306 character converted and to use that to make sure the end tag does
2307 not contain an escaped character.
2309 Note that this was not an issue for script, style and xmp elements
2310 since they already ignored entity-escaped characters.
2312 * html/HTMLTokenizer.cpp:
2313 (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing
2314 tag, ignore any text with entity-escaped characters by making sure
2315 lastDecodedEntityPosition is less than the first character of the
2318 2008-06-21 Sam Weinig <sam@webkit.org>
2320 Reviewed by Dan Bernstein.
2322 Fix for https://bugs.webkit.org/show_bug.cgi?id=19647
2323 REGRESSION: Problem with extjs (insertAdjacentHTML)
2325 Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html
2327 * html/HTMLElement.cpp:
2328 (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating
2329 the DocumentFragment from the html string.
2331 2008-06-21 Adam Barth <abarth@webkit.org>
2333 Reviewed by Sam Weinig.
2335 Log error messages to the console when we deny a request for a URL.
2336 These error messages do not appear in LayoutTests, but they do
2337 appear in the WebInspector.
2339 * dom/XMLTokenizer.cpp:
2340 (WebCore::shouldAllowExternalLoad):
2341 * loader/DocLoader.cpp:
2342 (WebCore::DocLoader::requestResource):
2343 (WebCore::DocLoader::printAccessDeniedMessage):
2344 * loader/DocLoader.h:
2345 * xml/XSLTProcessor.cpp:
2346 (WebCore::docLoaderFunc):
2348 2008-06-21 Adam Barth <abarth@webkit.org>
2350 Reviewed by Sam Weinig.
2352 Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>:
2353 XSL style sheets allowed across origins
2355 Block cross-orgin loads of XSL style sheets, matching Internet
2356 Explorer, Firefox, and Opera. Also, we now block loading of XBL
2357 across origins, matching Firefox. The XBL behavior does not appear
2358 testable because XBL seems to not be enabled.
2360 Test: http/tests/security/cross-origin-xsl-BLOCKED.html
2362 * loader/DocLoader.cpp:
2363 (WebCore::DocLoader::requestResource):
2365 2008-06-21 Marvin Decker <marv.decker@gmail.com>
2367 Reviewed by Dave Hyatt.
2369 - fix https://bugs.webkit.org/show_bug.cgi?id=19542
2370 <rdar://problem/6007976> Crash in Font::glyphDataForCharacter when getting small caps data
2372 Adds a NULL check for getting the small caps page of glyph data. The
2373 page() function can explicitly return null in some cases, and every
2374 other usage in this function does the check.
2376 * platform/graphics/Font.cpp:
2377 (WebCore::Font::glyphDataForCharacter):
2379 2008-06-21 Alex Taylor <darwin@milliamp.org>
2381 Reviewed by Dan Bernstein.
2383 Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425>
2385 Adds support for border-radius on legend elements.
2386 Fieldsets with a legend and rounded borders now have a clipping region set
2389 Test: fast/borders/fieldsetBorderRadius.html
2391 * rendering/RenderFieldset.cpp:
2392 (WebCore::RenderFieldset::paintBoxDecorations):
2393 (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME.
2395 2008-06-21 Kevin Ollivier <kevino@theolliviers.com>
2397 wx build fix. Adding CSSVariable* API sources to the Bakefiles.
2399 * WebCoreSources.bkl:
2401 2008-06-20 Sam Weinig <sam@webkit.org>
2405 * bindings/scripts/CodeGeneratorCOM.pm:
2407 2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
2409 Gtk build fix: Add files missing in the previous fix (r34705)
2413 2008-06-20 Dan Bernstein <mitz@apple.com>
2415 Reviewed by Sam Weinig.
2417 - fix leak of mask images
2419 * rendering/RenderObject.cpp:
2420 (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on
2423 2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
2425 Gtk build fix for r34702, r34700 and r34693
2426 Qt build fix for r34700 and r34693
2430 * platform/gtk/RenderThemeGtk.cpp:
2431 * platform/gtk/RenderThemeGtk.h:
2432 * platform/qt/RenderThemeQt.cpp:
2433 * platform/qt/RenderThemeQt.h:
2435 2008-06-20 Sam Weinig <sam@webkit.org>
2437 Reviewed by Adele Peterson.
2439 Add 'files' property to the HTMLInputElement, which returns a FileList object
2440 (when type=file, null otherwise) containing a list of all the files selected.
2441 It currently always contains only 0 or 1 files as multifile input is not supported
2442 yet. The list contains File objects which contains the name and size of the file.
2443 The inspiration for these interfaces is from:
2444 - http://developer.mozilla.org/en/docs/nsIDOMFileList
2445 - http://developer.mozilla.org/en/docs/nsIDOMFile
2447 Also fixes <rdar://problem/6022802>
2449 * DerivedSources.make:
2452 * WebCore.vcproj/WebCore.vcproj:
2453 * WebCore.xcodeproj/project.pbxproj:
2454 * WebCoreSources.bkl:
2455 * bindings/objc/DOMInternal.h:
2456 * bindings/scripts/CodeGenerator.pm:
2457 * bindings/scripts/IDLStructure.pm:
2458 * html/File.cpp: Added.
2459 (WebCore::File::File):
2460 (WebCore::File::fileSize):
2461 * html/File.h: Added.
2462 (WebCore::File::create):
2463 (WebCore::File::fileName):
2464 (WebCore::File::path):
2465 * html/File.idl: Added.
2466 * html/FileList.cpp: Added.
2467 (WebCore::FileList::FileList):
2468 (WebCore::FileList::item):
2469 * html/FileList.h: Added.
2470 (WebCore::FileList::create):
2471 (WebCore::FileList::length):
2472 (WebCore::FileList::isEmpty):
2473 (WebCore::FileList::clear):
2474 (WebCore::FileList::append):
2475 * html/FileList.idl: Added.
2476 * html/HTMLInputElement.cpp:
2477 (WebCore::HTMLInputElement::setInputType):
2478 (WebCore::HTMLInputElement::appendFormData):
2479 (WebCore::HTMLInputElement::value):
2480 (WebCore::HTMLInputElement::setValue):
2481 (WebCore::HTMLInputElement::setValueFromRenderer):
2482 (WebCore::HTMLInputElement::files):
2483 * html/HTMLInputElement.h:
2484 * html/HTMLInputElement.idl:
2485 * page/DOMWindow.idl:
2487 2008-06-20 David Hyatt <hyatt@apple.com>
2489 Make sure CSS variables work inside the inline style attribute.
2493 Added fast/css/variables/inline-style-test.html
2495 * css/CSSMutableStyleDeclaration.cpp:
2496 (WebCore::CSSMutableStyleDeclaration::removeProperty):
2497 (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
2499 2008-06-20 David Hyatt <hyatt@apple.com>
2501 Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs. These allow querying of
2502 variables names and values, as well as iteration, setting and removal.
2506 Added multiple new tests to fast/css/variables/
2508 * DerivedSources.make:
2509 * WebCore.xcodeproj/project.pbxproj:
2510 * bindings/js/JSCSSRuleCustom.cpp:
2512 * bindings/objc/DOMInternal.h:
2513 * bindings/scripts/CodeGeneratorJS.pm:
2514 * css/CSSPrimitiveValue.cpp:
2515 (WebCore::CSSPrimitiveValue::parserValue):
2516 * css/CSSVariablesDeclaration.cpp:
2517 (WebCore::CSSVariablesDeclaration::removeVariable):
2518 (WebCore::CSSVariablesDeclaration::setVariable):
2519 (WebCore::CSSVariablesDeclaration::setCssText):
2520 (WebCore::CSSVariablesDeclaration::setChanged):
2521 * css/CSSVariablesDeclaration.h:
2522 * css/CSSVariablesDeclaration.idl: Added.
2523 * css/CSSVariablesRule.h:
2524 * css/CSSVariablesRule.idl: Added.
2526 2008-06-20 Kevin McCullough <kmccullough@apple.com>
2528 Rubber stamped by Adele.
2530 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.
2532 2008-06-20 Kevin McCullough <kmccullough@apple.com>
2536 <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
2537 if profiling is started and finished within the same function. (19230)
2538 - Now we profile one more stack frame up from the last frame to allocate
2539 the time spent in it, if it exists.
2542 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added.
2543 (WebCore::Console::profile): When stating the profiler give a client for
2544 the callback of when the profile actually finishes.
2545 (WebCore::Console::profileEnd): No longer needs to handle the return of
2546 the profile object since it will be retruned in the client's callback.
2547 (WebCore::Console::finishedProfiling): Implemenet the ProfileClient
2549 * page/Console.h: Inherit from the ProfileClient.
2550 * page/InspectorController.cpp:
2551 (WebCore::InspectorController::startUserInitiatedProfiling): Use the
2553 (WebCore::InspectorController::stopUserInitiatedProfiling): Does not
2554 need to handle the profile being returned as it is now handled by the
2556 (WebCore::InspectorController::finishedProfiling): Implement the
2557 ProfileClient callback method.
2558 * page/InspectorController.h: Inherit from the ProfileClient.
2560 2008-06-20 Timothy Hatcher <timothy@apple.com>
2562 Makes the JavaScript syntax highlighter process lines in chunks
2563 so the user interface isn't blocked for large script files.
2565 https://bugs.webkit.org/show_bug.cgi?id=19677
2567 Reviewed by Adam Roben.
2569 * page/inspector/SourceFrame.js:
2570 (WebInspector.SourceFrame.prototype._addMessageToSource): Use the cells
2571 property on the row instead of getElementsByTagName.
2572 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Use the
2573 cells property on the row instead of getElementsByTagName. Added
2574 a nested processChunk function that highlights 10 lines at a time
2575 This processChunk function is called at an interval of 25ms. The
2576 code is still highlighted quickly, and the user can't tell it wasn't
2577 highlighted all at once.
2579 2008-06-20 Timothy Hatcher <timothy@apple.com>
2581 Fixes a bug where the source view in the Resources panel had a
2582 couple of extra pixels at the bottom when fully scrolled.
2584 Reviewed by Adam Roben.
2586 * page/inspector/SourceFrame.js:
2587 (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
2588 Call removeStyleClass instead of addStyleClass for "webkit-height-sized-to-fit"
2589 when sizing to fit is being disabled.
2590 * page/inspector/inspector.css:
2591 (.resource-view.headers-visible .source-view-frame): Added the
2592 vertical-align: top property to prevent line alignment from adding extra
2593 pixels on the bottom.
2595 2008-06-20 Timothy Hatcher <timothy@apple.com>
2597 Changed all lineHeight, baselinePosition and verticalPositionHint
2598 calls to return int instead of short. The short was overflowing
2599 when a value greater than 32,767 was encountered.
2601 Fixes: iframes with a height of 32,768px or greater do not layout correctly
2602 https://bugs.webkit.org/show_bug.cgi?id=19679
2604 Reviewed by Dave Hyatt.
2606 Test: fast/css/line-height-overflow.html
2608 * rendering/RenderBR.cpp:
2609 (WebCore::RenderBR::baselinePosition):
2610 * rendering/RenderBR.h:
2611 * rendering/RenderBlock.cpp:
2612 (WebCore::RenderBlock::lineHeight):
2613 * rendering/RenderBlock.h:
2614 * rendering/RenderFlow.cpp:
2615 * rendering/RenderFlow.h:
2616 * rendering/RenderListBox.cpp:
2617 * rendering/RenderListBox.h:
2618 * rendering/RenderListMarker.cpp:
2619 (WebCore::RenderListMarker::lineHeight):
2620 * rendering/RenderListMarker.h:
2621 * rendering/RenderObject.cpp:
2622 (WebCore::RenderObject::verticalPositionHint):
2623 * rendering/RenderObject.h:
2625 * rendering/RenderPath.cpp:
2626 (WebCore::RenderPath::lineHeight):
2627 * rendering/RenderPath.h:
2628 * rendering/RenderReplaced.cpp:
2629 (WebCore::RenderReplaced::lineHeight):
2630 * rendering/RenderReplaced.h:
2631 * rendering/RenderSVGContainer.cpp:
2632 (WebCore::RenderSVGContainer::lineHeight):
2633 * rendering/RenderSVGContainer.h:
2634 * rendering/RenderSVGHiddenContainer.cpp:
2635 (WebCore::RenderSVGHiddenContainer::lineHeight):
2636 * rendering/RenderSVGHiddenContainer.h:
2637 * rendering/RenderSVGRoot.cpp:
2638 (WebCore::RenderSVGRoot::lineHeight):
2639 * rendering/RenderSVGRoot.h:
2640 * rendering/RenderSlider.cpp:
2641 * rendering/RenderSlider.h:
2642 * rendering/RenderTableCell.cpp:
2643 * rendering/RenderTableCell.h:
2644 * rendering/RenderTableCol.h:
2645 * rendering/RenderTableRow.h:
2646 * rendering/RenderTableSection.h:
2647 * rendering/RenderText.cpp:
2648 * rendering/RenderText.h:
2649 * rendering/RenderTextControl.cpp:
2650 * rendering/RenderTextControl.h:
2651 * rendering/RenderTheme.cpp:
2652 * rendering/RenderTheme.h:
2653 * rendering/RenderThemeMac.h:
2654 * rendering/RenderThemeMac.mm:
2655 * rendering/RenderThemeSafari.cpp:
2656 * rendering/RenderThemeSafari.h:
2658 2008-06-20 Dan Bernstein <mitz@apple.com>
2660 Reviewed by Darin Adler.
2662 - fix https://bugs.webkit.org/show_bug.cgi?id=19519
2663 <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)
2665 Test: fast/table/prepend-in-anonymous-table.html
2667 * rendering/RenderBlock.cpp:
2668 (WebCore::RenderBlock::addChildToFlow): Added code to handle the case
2669 of inserting before a child that has been wrapped by an anonymous table,
2670 in which case if the new child is the type that needs to be in a table,
2671 it is inserted into the table, and otherwise it is inserted before the
2673 * rendering/RenderTable.cpp:
2674 (WebCore::RenderTable::addChild): Added table-column-group alongside
2675 table-caption as content that can exist inside an anonymous table
2676 without being wrapped in a table section.
2678 2008-06-20 David Hyatt <hyatt@apple.com>
2680 Allow CSS variables to support arbitrary expressions as values instead of just a single term.
2684 Removed fast/css/variables/single-term-test.html and replaced with multiple-term-test.html
2687 * css/CSSParser.cpp:
2688 (WebCore::CSSParser::addVariable):
2690 * css/CSSStyleSelector.cpp:
2691 (WebCore::CSSStyleSelector::addMatchedDeclaration):
2692 * css/CSSVariablesDeclaration.cpp:
2693 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
2694 (WebCore::CSSVariablesDeclaration::getVariableValue):
2695 (WebCore::CSSVariablesDeclaration::addParsedVariable):
2696 (WebCore::CSSVariablesDeclaration::getParsedVariable):
2697 * css/CSSVariablesDeclaration.h:
2698 (WebCore::CSSVariablesDeclaration::create):
2700 2008-06-19 Dan Bernstein <mitz@apple.com>
2702 Reviewed by John Sullivan.
2704 - fix a bug where anonymous tables were inserted in the wrong place
2706 Tests: tables/mozilla/bugs/bug2479-2.html
2707 tables/mozilla/bugs/bug278266.html
2708 tables/mozilla/bugs/bug8411.xml
2710 * rendering/RenderContainer.cpp:
2711 (WebCore::RenderContainer::addChild): Changed to create an anonymous
2712 table and insert it before beforeChild unless the insertion point is
2713 right after an existing anonymous table, in which case the existing
2716 2008-06-19 Justin Garcia <justin.garcia@apple.com>
2720 <https://bugs.webkit.org/show_bug.cgi?id=16049>
2721 execCommand('backColor') fails on collapsed selections
2723 * editing/EditorCommand.cpp:
2724 (WebCore::CommandEntry::): Enable BackColor for caret selections, and
2725 disable ForeColor in plaintext-only regions.
2727 2008-06-19 Justin Garcia <justin.garcia@apple.com>
2731 <https://bugs.webkit.org/show_bug.cgi?id=19653>
2732 Typing style lost when creating list from, indenting or outdenting an empty paragraph
2734 There were two problems. First, moveParagraphs didn't preserve the style of empty paragraphs.
2735 Second, indent, outdent and list creation returned false from preservesTypingStyle.
2736 The second problem couldn't be fixed by just adding preservesTypingStyle() { return true; }
2737 to those commands, though, because of other bugs.
2739 Cleaned up the implementation of typing style enough to remove FIXMEs for:
2741 <rdar://problem/3769899> Implementation of typing style needs improvement
2743 which has actually been closed for some time now anyway.
2745 * dom/Document.cpp: Removed an unused header.
2746 * editing/CompositeEditCommand.cpp:
2747 (WebCore::CompositeEditCommand::moveParagraphs): Preserve the style of an empty paragraph, too.
2748 * editing/DeleteSelectionCommand.cpp:
2749 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Removed FIXME.
2750 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
2752 If there is a typing style to apply after a delete, apply it to any line break that acts as a paragraph
2753 placeholder, not only one that was inserted by deletion. This fixes a bug where deleting
2754 <div><b>Bold</b><br></div>, changing the selection and then coming back and typing wouldn't
2756 Don't set the EditCommand's typingStyle, it has been removed (more on that later).
2757 (WebCore::DeleteSelectionCommand::doApply): We don't need to pass calculateTypingStyleAfterDelete
2758 the inserted placeholder because it will find it.
2759 (WebCore::DeleteSelectionCommand::preservesTypingStyle): Normally deletion doesn't preserve the
2760 typing style that was present before it. For example, type a character, Bold, then delete the
2761 character and start typing. The Bold typing style shouldn't stick around. We got this right before
2762 purely by chance. Deletion should preserve a typing style that *it* sets, however.
2763 * editing/DeleteSelectionCommand.h: No longer need to pass calculateTypingStyleAfterDelete
2764 the inserted placeholder.
2765 * editing/EditCommand.cpp:
2766 (WebCore::EditCommand::apply):
2767 Clearing or not clearing a removed anchor should not be determined by whether or not a command
2768 preservesTypingStyle(). For example, the deletion that removed an anchor (and stored it), may
2769 not preserve the typing style, but that doesn't mean that it should then go and clear the removed
2770 anchor. All high level commands, and all commands that a TypingCommand spawns, except for
2771 text insertions, which should restore a removed anchor, should clear it.
2772 There is no longer a typing style on EditCommand, removed code that cleared it. Code that clears the
2773 *actual* typing style is now in Editor::appliedEditing, just like before.
2774 There is no longer a typing style on EditCommand, removed code to set one.
2775 (WebCore::EditCommand::styleAtPosition): Removed FIXME.
2776 * editing/EditCommand.h:
2777 Removed code assosiated with m_typingStyle.
2778 Made preservesTypingStyle() public, so that we can call it from Editor::appliedEditing().
2779 * editing/Editor.cpp:
2780 (WebCore::Editor::appliedEditing):
2781 Removed code to preserve the removedAnchor during the call to setSelection, because we no longer
2782 request to clear the typing style with that call. Also removed the FIXME about this.
2783 Before, a command would set the Frame's typing style by setting its own typingStyle, and then
2784 letting code here, in appliedEditing pick that up and set it on the Frame. Now, the command
2785 itself sets the Frame's typing style. Deletion is the only command that does this right now.
2786 * editing/IndentOutdentCommand.h:
2787 (WebCore::IndentOutdentCommand::preservesTypingStyle): Added, returns true.
2788 * editing/InsertLineBreakCommand.cpp:
2789 (WebCore::InsertLineBreakCommand::doApply): Removed FIXME.
2790 * editing/InsertListCommand.h:
2791 (WebCore::InsertListCommand::preservesTypingStyle): Added.
2792 * editing/InsertParagraphSeparatorCommand.cpp:
2793 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Removed FIXME.
2794 * editing/InsertTextCommand.cpp:
2795 (WebCore::InsertTextCommand::input): Removed FIXME.
2796 * editing/ReplaceSelectionCommand.cpp:
2797 (WebCore::ReplaceSelectionCommand::doApply): Removed FIXME and also added one about clearing
2798 the typing style here. It seems like it's something that could wait until after the command
2799 has been performed, since there is no code between this point and the end of the operation
2800 that queries or uses the typing style.
2802 2008-06-19 Dan Bernstein <mitz@apple.com>
2804 Reviewed by Alexey Proskuryakov.
2806 - fix crash in CSSStyleDeclaration::copyPropertiesInSet()
2808 Covered by many editing tests
2810 * css/CSSStyleDeclaration.cpp:
2811 (WebCore::CSSStyleDeclaration::copyPropertiesInSet): Re-ordered to avoid
2814 2008-06-19 David Hyatt <hyatt@apple.com>
2816 Fix out of bounds bug in CSSVariablesDeclaration's item() method.
2818 Reviewed by Sam, Darin
2820 * css/CSSVariablesDeclaration.cpp:
2821 (WebCore::CSSVariablesDeclaration::item):
2822 * css/CSSVariablesDeclaration.h:
2824 2008-06-19 John Sullivan <sullivan@apple.com>
2828 Tweak to previous checkin
2830 * page/FrameView.cpp:
2831 (WebCore::FrameView::performPostLayoutTasks):
2832 clear m_firstLayoutCallbackPending before performing callback, to avoid recursion
2834 2008-06-19 John Sullivan <sullivan@apple.com>
2838 - fixed <rdar://problem/6021353> Assertion failure (!root->needsLayout()) after certain steps
2840 The didFirstLayout callback was called in a place where trouble would ensue if the client
2841 did any work that would cause the layout to be dirtied. Fixed by delaying the callback
2842 until performPostLayoutTasks.
2844 * page/FrameView.cpp:
2845 new m_firstLayoutCallbackPending instance member variable in FrameViewPrivate
2846 (WebCore::FrameViewPrivate::reset):
2847 set m_firstLayoutCallbackPending to false
2848 (WebCore::FrameView::layout):
2849 set m_firstLayoutCallbackPending instead of a local variable; don't do didFirstLayout callback here
2850 (WebCore::FrameView::performPostLayoutTasks):
2851 if m_firstLayoutCallbackPending is set, do didFirstLayout callback here, then clear m_firstLayoutCallbackPending
2853 2008-06-19 David Hyatt <hyatt@apple.com>
2855 Implement some cleanup of CSS variables based off Darin's review comments.
2859 * css/CSSParser.cpp:
2860 (WebCore::CSSParser::parseVariable):
2861 (WebCore::CSSParser::checkForVariables):
2862 (WebCore::CSSParser::addUnresolvedProperty):
2863 * css/CSSStyleSelector.cpp:
2864 (WebCore::CSSStyleSelector::addMatchedDeclaration):
2865 * css/CSSVariableDependentValue.h:
2866 * css/CSSVariablesRule.cpp:
2867 (WebCore::CSSVariablesRule::CSSVariablesRule):
2869 2008-06-19 John Sullivan <sullivan@apple.com>
2871 Rubber-stamped by Dan
2873 Prepended all FrameViewPrivate instance member variables with "m_" (in preparation
2874 for adding a new one in a future patch)
2876 * page/FrameView.cpp:
2877 (WebCore::FrameViewPrivate::FrameViewPrivate):
2878 (WebCore::FrameViewPrivate::reset):
2879 (WebCore::FrameView::~FrameView):
2880 (WebCore::FrameView::resetScrollbars):
2881 (WebCore::FrameView::didFirstLayout):
2882 (WebCore::FrameView::initScrollbars):
2883 (WebCore::FrameView::layoutCount):
2884 (WebCore::FrameView::needsFullRepaint):
2885 (WebCore::FrameView::layoutRoot):
2886 (WebCore::FrameView::layout):
2887 (WebCore::FrameView::scrollTo):
2888 (WebCore::FrameView::useSlowRepaints):
2889 (WebCore::FrameView::setUseSlowRepaints):
2890 (WebCore::FrameView::removeSlowRepaintObject):
2891 (WebCore::FrameView::setScrollbarsMode):
2892 (WebCore::FrameView::setVScrollbarMode):
2893 (WebCore::FrameView::setHScrollbarMode):
2894 (WebCore::FrameView::scheduleRelayout):
2895 (WebCore::FrameView::scheduleRelayoutOfSubtree):
2896 (WebCore::FrameView::layoutPending):
2897 (WebCore::FrameView::needsLayout):
2898 (WebCore::FrameView::unscheduleRelayout):
2899 (WebCore::FrameView::isTransparent):
2900 (WebCore::FrameView::setTransparent):
2901 (WebCore::FrameView::baseBackgroundColor):
2902 (WebCore::FrameView::setBaseBackgroundColor):
2903 (WebCore::FrameView::performPostLayoutTasks):
2904 (WebCore::FrameView::updateOverflowStatus):
2906 2008-06-19 David Hyatt <hyatt@apple.com>
2908 Add initial support for CSS variables. Non-dynamic cases should (hopefully) all work. Things will get
2909 confused if you use the CSS OM to remove variables/inject variables, etc. In addition no DOM APIs are
2910 exposed yet for the new variable interfaces.
2914 Added many tests to fast/css/variables/
2916 * WebCore.xcodeproj/project.pbxproj:
2917 * css/CSSFunctionValue.cpp: Added.
2918 (WebCore::CSSFunctionValue::CSSFunctionValue):
2919 (WebCore::CSSFunctionValue::~CSSFunctionValue):
2920 (WebCore::CSSFunctionValue::cssText):
2921 (WebCore::CSSFunctionValue::parserValue):
2922 * css/CSSFunctionValue.h: Added.
2923 (WebCore::CSSFunctionValue::create):
2925 * css/CSSMutableStyleDeclaration.cpp:
2926 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2927 (WebCore::CSSMutableStyleDeclaration::copy):
2928 * css/CSSMutableStyleDeclaration.h:
2929 (WebCore::CSSMutableStyleDeclaration::create):
2930 (WebCore::CSSMutableStyleDeclaration::hasVariableDependentValue):
2931 * css/CSSParser.cpp:
2933 (WebCore::equalIgnoringCase):
2934 (WebCore::CSSParser::~CSSParser):
2935 (WebCore::CSSParserString::lower):
2936 (WebCore::CSSParser::document):
2937 (WebCore::CSSParser::validUnit):
2938 (WebCore::unitFromString):
2939 (WebCore::CSSParser::checkForOrphanedUnits):
2940 (WebCore::CSSParser::parseValue):
2941 (WebCore::CSSParser::parseFillShorthand):
2942 (WebCore::CSSParser::parseTransitionShorthand):
2943 (WebCore::CSSParser::parseContent):
2944 (WebCore::CSSParser::parseFillImage):
2945 (WebCore::CSSParser::parseFillPosition):
2946 (WebCore::CSSParser::parseFillSize):
2947 (WebCore::CSSParser::parseFillProperty):
2948 (WebCore::CSSParser::parseTransitionDuration):
2949 (WebCore::CSSParser::parseTransitionRepeatCount):
2950 (WebCore::CSSParser::parseTimingFunctionValue):
2951 (WebCore::CSSParser::parseTransitionTimingFunction):
2952 (WebCore::CSSParser::parseTransitionProperty):
2953 (WebCore::skipCommaInDashboardRegion):
2954 (WebCore::CSSParser::parseDashboardRegions):
2955 (WebCore::CSSParser::parseCounterContent):
2956 (WebCore::CSSParser::parseShape):
2957 (WebCore::CSSParser::parseFont):
2958 (WebCore::CSSParser::parseFontFamily):
2959 (WebCore::CSSParser::parseFontFaceSrc):
2960 (WebCore::CSSParser::parseFontFaceUnicodeRange):
2961 (WebCore::CSSParser::parseColorParameters):
2962 (WebCore::CSSParser::parseHSLParameters):
2963 (WebCore::CSSParser::parseColor):
2964 (WebCore::CSSParser::parseColorFromValue):
2965 (WebCore::ShadowParseContext::commitLength):
2966 (WebCore::CSSParser::parseShadow):
2967 (WebCore::CSSParser::parseReflect):
2968 (WebCore::BorderImageParseContext::commitNumber):
2969 (WebCore::BorderImageParseContext::commitWidth):
2970 (WebCore::BorderImageParseContext::commitBorderImage):
2971 (WebCore::CSSParser::parseBorderImage):
2972 (WebCore::CSSParser::parseCounter):
2973 (WebCore::parseGradientPoint):
2974 (WebCore::parseGradientColorStop):
2975 (WebCore::CSSParser::parseGradient):
2976 (WebCore::CSSParser::parseCanvas):
2977 (WebCore::TransformOperationInfo::TransformOperationInfo):
2978 (WebCore::CSSParser::parseTransform):
2979 (WebCore::CSSParser::lex):
2980 (WebCore::CSSParser::text):
2981 (WebCore::CSSParser::createFloatingValueList):
2982 (WebCore::CSSParser::sinkFloatingValueList):
2983 (WebCore::CSSParser::createFloatingFunction):
2984 (WebCore::CSSParser::sinkFloatingFunction):
2985 (WebCore::CSSParser::sinkFloatingValue):
2986 (WebCore::CSSParser::createFloatingMediaQueryExp):
2987 (WebCore::CSSParser::createCharsetRule):
2988 (WebCore::CSSParser::createImportRule):
2989 (WebCore::CSSParser::createVariablesRule):
2990 (WebCore::CSSParser::addVariable):
2991 (WebCore::CSSParser::clearVariables):
2992 (WebCore::CSSParser::parseVariable):
2993 (WebCore::CSSParser::parsePropertyWithResolvedVariables):
2994 (WebCore::CSSParser::checkForVariables):
2995 (WebCore::CSSParser::addUnresolvedProperty):
2996 (WebCore::cssPropertyID):
2997 (WebCore::cssValueKeywordID):
2999 * css/CSSParserValues.cpp: Added.
3000 (WebCore::CSSParserValueList::~CSSParserValueList):
3001 (WebCore::CSSParserValueList::addValue):
3002 (WebCore::CSSParserValueList::deleteValueAt):
3003 (WebCore::CSSParserValue::createCSSValue):
3004 * css/CSSParserValues.h: Added.
3005 (WebCore::CSSParserString::operator String):
3006 (WebCore::CSSParserString::operator AtomicString):
3007 (WebCore::CSSParserValue::):
3008 (WebCore::CSSParserValueList::CSSParserValueList):
3009 (WebCore::CSSParserValueList::size):
3010 (WebCore::CSSParserValueList::current):
3011 (WebCore::CSSParserValueList::next):
3012 (WebCore::CSSParserValueList::valueAt):
3013 (WebCore::CSSParserValueList::clear):
3014 (WebCore::CSSParserValueList::containsVariables):
3015 (WebCore::CSSParserFunction::~CSSParserFunction):
3016 * css/CSSPrimitiveValue.cpp:
3017 (WebCore::CSSPrimitiveValue::getStringValue):
3018 (WebCore::CSSPrimitiveValue::cssText):
3019 (WebCore::CSSPrimitiveValue::parserValue):
3020 * css/CSSPrimitiveValue.h:
3021 (WebCore::CSSPrimitiveValue::):
3022 (WebCore::CSSPrimitiveValue::setPrimitiveType):
3024 (WebCore::CSSRule::):
3026 * css/CSSStyleDeclaration.cpp:
3027 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
3028 * css/CSSStyleSelector.cpp:
3029 (WebCore::CSSStyleSelector::addMatchedDeclaration):
3030 (WebCore::CSSStyleSelector::addVariables):
3031 (WebCore::CSSStyleSelector::resolveVariableDependentValue):
3032 (WebCore::CSSRuleSet::addRulesFromSheet):
3033 (WebCore::CSSStyleSelector::applyDeclarations):
3034 * css/CSSStyleSelector.h:
3036 (WebCore::CSSValue::isVariableDependentValue):
3037 (WebCore::CSSValue::parserValue):
3038 * css/CSSValueList.cpp:
3039 (WebCore::CSSValueList::CSSValueList):
3040 (WebCore::CSSValueList::createParserValueList):
3041 * css/CSSValueList.h:
3042 (WebCore::CSSValueList::createFromParserValueList):
3043 * css/CSSVariableDependentValue.cpp: Added.
3044 (WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
3045 (WebCore::CSSVariableDependentValue::~CSSVariableDependentValue):
3046 (WebCore::CSSVariableDependentValue::cssText):
3047 * css/CSSVariableDependentValue.h: Added.
3048 (WebCore::CSSVariableDependentValue::create):
3049 (WebCore::CSSVariableDependentValue::isVariableDependentValue):
3050 (WebCore::CSSVariableDependentValue::valueList):
3051 * css/CSSVariablesDeclaration.cpp: Added.
3052 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
3053 (WebCore::CSSVariablesDeclaration::~CSSVariablesDeclaration):
3054 (WebCore::CSSVariablesDeclaration::getVariableValue):
3055 (WebCore::CSSVariablesDeclaration::removeVariable):
3056 (WebCore::CSSVariablesDeclaration::setVariable):
3057 (WebCore::CSSVariablesDeclaration::addParsedVariable):
3058 (WebCore::CSSVariablesDeclaration::getParsedVariable):
3059 (WebCore::CSSVariablesDeclaration::length):
3060 (WebCore::CSSVariablesDeclaration::item):
3061 (WebCore::CSSVariablesDeclaration::parentRule):
3062 (WebCore::CSSVariablesDeclaration::cssText):
3063 * css/CSSVariablesDeclaration.h: Added.
3064 (WebCore::CSSVariablesDeclaration::create):
3065 * css/CSSVariablesRule.cpp: Added.
3066 (WebCore::CSSVariablesRule::CSSVariablesRule):
3067 (WebCore::CSSVariablesRule::~CSSVariablesRule):
3068 (WebCore::CSSVariablesRule::cssText):
3069 * css/CSSVariablesRule.h: Added.
3070 (WebCore::CSSVariablesRule::media):
3071 (WebCore::CSSVariablesRule::variables):
3072 (WebCore::CSSVariablesRule::type):
3073 (WebCore::CSSVariablesRule::isVariablesRule):
3074 (WebCore::CSSVariablesRule::setDeclaration):
3075 * css/MediaQueryExp.cpp:
3076 (WebCore::MediaQueryExp::MediaQueryExp):
3077 * css/MediaQueryExp.h:
3078 * css/SVGCSSParser.cpp:
3079 (WebCore::CSSParser::parseSVGValue):
3080 (WebCore::CSSParser::parseSVGStrokeDasharray):
3082 (WebCore::StyleBase::isVariablesRule):
3083 * css/tokenizer.flex:
3085 2008-06-19 Julien Chaffraix <jchaffraix@webkit.org>
3089 Bug 19529 : Empty clients need to be refactored
3090 https://bugs.webkit.org/show_bug.cgi?id=19529
3092 - SVGImageEmptyClients' refactoring in order to be able to use them for other
3095 - Trimmed empty spaces that were pointed out by git.
3097 * WebCore.xcodeproj/project.pbxproj:
3098 * loader/EmptyClients.h: Copied from WebCore/svg/graphics/SVGImageEmptyClients.h.
3100 (WebCore::EmptyChromeClient::~EmptyChromeClient):
3101 (WebCore::EmptyFrameLoaderClient::~EmptyFrameLoaderClient):
3102 (WebCore::EmptyEditorClient::~EmptyEditorClient):
3103 (WebCore::EmptyEditorClient::smartInsertDeleteEnabled):
3104 (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
3105 (WebCore::EmptyDragClient::~EmptyDragClient):
3106 (WebCore::EmptyDragClient::createDragImageForLink):
3107 (WebCore::EmptyInspectorClient::~EmptyInspectorClient):
3108 Renamed SVGImageEmpty*Client classes to Empty*Client.
3110 * svg/graphics/SVGImage.cpp:
3111 (WebCore::SVGImage::dataChanged):
3112 * svg/graphics/SVGImageEmptyClients.h: Removed.
3114 2008-06-19 Dan Bernstein <mitz@apple.com>
3116 Reviewed by Darin Adler.
3118 - fix <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt()
3120 Test: fast/css/font-face-multiple-families.html
3122 Made changes to reflect the fact that the relationship between
3123 CSSFontFace and CSSSegmentedFontFace is in fact many-to-many.
3125 * css/CSSFontFace.cpp:
3126 (WebCore::CSSFontFace::addedToSegmentedFontFace): Added.
3127 (WebCore::CSSFontFace::removedFromSegmentedFontFace): Added.
3128 (WebCore::CSSFontFace::fontLoaded): Changed to notify all segmented font
3129 faces that include this font face.
3130 (WebCore::CSSFontFace::getFontData): Updated to get the font selector
3131 from one of the segmented font faces.
3132 * css/CSSFontFace.h:
3133 (WebCore::CSSFontFace::CSSFontFace):
3134 * css/CSSFontSelector.cpp:
3135 (WebCore::CSSFontSelector::addFontFaceRule): Fixed the direct cause of
3136 the crash, namely releasing the font face when adding it to the first
3137 family that uses it, making it impossible to add it to the second and
3139 * css/CSSSegmentedFontFace.cpp:
3140 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Added code to
3141 call CSSFontFace::removedFromSegmentedFontFace().
3142 (WebCore::CSSSegmentedFontFace::overlayRange): Added code to call
3143 CSSFontFace::{addedTo, removedFrom}SegmentedFontFace().
3145 2008-06-19 Alexey Proskuryakov <ap@webkit.org>
3149 * bridge/qt/qt_runtime.h: Include completion.h.
3151 2008-06-17 Alexey Proskuryakov <ap@webkit.org>
3155 Prepare JavaScript heap for being per-thread.
3157 * ForwardingHeaders/kjs/JSGlobalData.h: Added.
3158 * bindings/js/GCController.cpp:
3160 (WebCore::GCController::gcTimerFired):
3161 (WebCore::GCController::garbageCollectNow):
3162 * bindings/js/JSAudioConstructor.cpp:
3163 (WebCore::JSAudioConstructor::JSAudioConstructor):
3164 * bindings/js/JSCSSRuleCustom.cpp:
3166 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3167 (WebCore::JSCSSStyleDeclaration::nameGetter):
3168 * bindings/js/JSCSSValueCustom.cpp:
3170 * bindings/js/JSCanvasPixelArrayCustom.cpp:
3171 (WebCore::JSCanvasPixelArray::indexGetter):
3173 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3175 * bindings/js/JSClipboardCustom.cpp:
3176 (WebCore::JSClipboard::types):
3177 (WebCore::JSClipboard::getData):
3178 * bindings/js/JSCustomXPathNSResolver.cpp:
3179 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3180 * bindings/js/JSDOMApplicationCacheCustom.cpp:
3181 (WebCore::JSDOMApplicationCache::addEventListener):
3182 (WebCore::JSDOMApplicationCache::removeEventListener):
3183 (WebCore::JSDOMApplicationCache::setOnchecking):
3184 (WebCore::JSDOMApplicationCache::setOnerror):
3185 (WebCore::JSDOMApplicationCache::setOnnoupdate):
3186 (WebCore::JSDOMApplicationCache::setOndownloading):
3187 (WebCore::JSDOMApplicationCache::setOnprogress):
3188 (WebCore::JSDOMApplicationCache::setOnupdateready):
3189 (WebCore::JSDOMApplicationCache::setOncached):
3190 * bindings/js/JSDOMBinding.cpp:
3191 (WebCore::jsStringOrNull):
3192 (WebCore::jsOwnedStringOrNull):
3193 (WebCore::jsStringOrUndefined):
3194 (WebCore::jsStringOrFalse):
3195 (WebCore::nonCachingStaticFunctionGetter):
3196 (WebCore::objectToStringFunctionGetter):
3197 * bindings/js/JSDOMBinding.h:
3198 (WebCore::DOMObject::DOMObject):
3199 (WebCore::cacheDOMObject):
3200 (WebCore::cacheSVGDOMObject):
3201 * bindings/js/JSDOMWindowBase.cpp:
3202 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3203 (WebCore::JSDOMWindowBase::getValueProperty):
3204 (WebCore::JSDOMWindowBase::setListener):
3205 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
3206 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
3207 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
3208 (WebCore::windowProtoFuncAToB):
3209 (WebCore::windowProtoFuncBToA):
3210 (WebCore::windowProtoFuncSetTimeout):
3211 (WebCore::windowProtoFuncSetInterval):
3212 (WebCore::windowProtoFuncAddEventListener):
3213 * bindings/js/JSDOMWindowBase.h:
3214 * bindings/js/JSDOMWindowShell.cpp:
3215 (WebCore::JSDOMWindowShell::operator new):
3216 * bindings/js/JSDOMWindowShell.h:
3217 * bindings/js/JSDocumentCustom.cpp:
3219 * bindings/js/JSElementCustom.cpp:
3220 (WebCore::toJSNewlyCreated):
3221 * bindings/js/JSEventCustom.cpp:
3223 * bindings/js/JSEventListener.cpp:
3224 (WebCore::JSLazyEventListener::eventParameterName):
3225 (WebCore::JSLazyEventListener::parseCode):
3226 * bindings/js/JSEventTargetBase.cpp:
3227 (WebCore::jsEventTargetAddEventListener):
3228 * bindings/js/JSEventTargetBase.h:
3229 (WebCore::JSEventTargetPrototype::self):
3230 * bindings/js/JSEventTargetNode.cpp:
3231 (WebCore::JSEventTargetNode::setListener):
3232 * bindings/js/JSHTMLCollectionCustom.cpp:
3233 (WebCore::getNamedItems):
3235 * bindings/js/JSHTMLFormElementCustom.cpp:
3236 (WebCore::JSHTMLFormElement::nameGetter):
3237 * bindings/js/JSHTMLInputElementBase.cpp:
3238 (WebCore::JSHTMLInputElementBase::getValueProperty):
3239 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3240 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3241 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3242 (WebCore::JSHTMLOptionsCollection::length):
3243 * bindings/js/JSInspectedObjectWrapper.cpp:
3244 (WebCore::JSInspectedObjectWrapper::wrap):
3245 * bindings/js/JSInspectorCallbackWrapper.cpp:
3246 (WebCore::JSInspectorCallbackWrapper::wrap):
3247 * bindings/js/JSLocationCustom.cpp:
3248 (WebCore::JSLocation::toString):
3249 * bindings/js/JSNamedNodesCollection.cpp:
3250 (WebCore::JSNamedNodesCollection::lengthGetter):
3251 * bindings/js/JSNavigatorCustom.cpp:
3252 (WebCore::JSNavigator::appVersion):
3253 * bindings/js/JSNodeCustom.cpp:
3254 (WebCore::createWrapper):
3255 * bindings/js/JSNodeFilterCustom.cpp:
3256 (WebCore::JSNodeFilter::acceptNode):
3257 * bindings/js/JSPluginElementFunctions.cpp:
3258 (WebCore::getRuntimeObject):
3259 * bindings/js/JSRGBColor.cpp:
3260 (WebCore::getJSRGBColor):
3261 * bindings/js/JSSQLResultSetRowListCustom.cpp:
3262 (WebCore::JSSQLResultSetRowList::item):
3263 * bindings/js/JSSVGLazyEventListener.cpp:
3264 (WebCore::JSSVGLazyEventListener::eventParameterName):
3265 * bindings/js/JSStorageCustom.cpp:
3266 (WebCore::JSStorage::nameGetter):
3267 * bindings/js/JSStyleSheetCustom.cpp:
3269 * bindings/js/JSTextCustom.cpp:
3270 (WebCore::toJSNewlyCreated):
3271 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3272 (WebCore::JSXMLHttpRequestConstructor::construct):
3273 * bindings/js/JSXMLHttpRequestCustom.cpp:
3274 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
3275 (WebCore::JSXMLHttpRequest::setOnload):
3276 (WebCore::JSXMLHttpRequest::setOnprogress):
3277 (WebCore::JSXMLHttpRequest::getResponseHeader):
3278 (WebCore::JSXMLHttpRequest::addEventListener):
3279 (WebCore::JSXMLHttpRequest::removeEventListener):
3280 * bindings/js/JSXSLTProcessorConstructor.cpp:
3281 (WebCore::JSXSLTProcessorConstructor::construct):
3282 * bindings/js/JSXSLTProcessorCustom.cpp:
3283 (WebCore::JSXSLTProcessor::getParameter):
3284 * bindings/scripts/CodeGeneratorJS.pm:
3285 * bridge/c/c_instance.cpp:
3286 (KJS::Bindings::CInstance::defaultValue):
3287 (KJS::Bindings::CInstance::stringValue):
3288 (KJS::Bindings::CInstance::numberValue):
3289 (KJS::Bindings::CInstance::valueOf):
3290 * bridge/c/c_instance.h:
3291 * bridge/c/c_utility.cpp:
3292 (KJS::Bindings::convertNPVariantToValue):
3293 * bridge/jni/jni_instance.cpp:
3294 (JavaInstance::stringValue):
3295 (JavaInstance::numberValue):
3296 (JavaInstance::invokeMethod):
3297 (JavaInstance::defaultValue):
3298 (JavaInstance::valueOf):
3299 * bridge/jni/jni_instance.h:
3300 * bridge/jni/jni_jsobject.h:
3301 * bridge/jni/jni_jsobject.mm:
3302 (JavaJSObject::call):
3303 (JavaJSObject::setMember):
3304 (JavaJSObject::setSlot):
3305 (JavaJSObject::convertJObjectToValue):
3306 (JavaJSObject::getListFromJArray):
3307 * bridge/jni/jni_objc.mm:
3308 (KJS::Bindings::dispatchJNICall):
3309 * bridge/jni/jni_runtime.cpp:
3310 (JavaArray::convertJObjectToArray):
3311 (JavaField::dispatchValueFromInstance):
3312 (JavaField::valueFromInstance):
3313 (JavaField::dispatchSetValueToInstance):
3314 (JavaArray::valueAt):
3315 * bridge/jni/jni_utility.h:
3316 * bridge/objc/objc_class.mm:
3317 (KJS::Bindings::ObjcClass::fallbackObject):
3318 * bridge/objc/objc_instance.h:
3319 * bridge/objc/objc_instance.mm:
3320 (ObjcInstance::defaultValue):
3321 (ObjcInstance::stringValue):
3322 (ObjcInstance::numberValue):
3323 (ObjcInstance::valueOf):
3324 * bridge/objc/objc_utility.h:
3325 * bridge/objc/objc_utility.mm:
3326 (KJS::Bindings::convertNSStringToString):
3327 (KJS::Bindings::convertObjcValueToValue):
3328 * bridge/runtime.cpp:
3329 (KJS::Bindings::Instance::createRuntimeObject):
3331 (KJS::Bindings::Instance::valueOf):
3332 * bridge/runtime_array.cpp:
3333 (RuntimeArray::lengthGetter):
3334 * bridge/runtime_method.cpp:
3335 (RuntimeMethod::lengthGetter):
3336 * bridge/runtime_object.cpp:
3337 (RuntimeObjectImp::RuntimeObjectImp):
3338 (RuntimeObjectImp::methodGetter):
3339 (RuntimeObjectImp::defaultValue):
3340 * dom/make_names.pl:
3341 * xml/XMLHttpRequest.cpp:
3342 (WebCore::XMLHttpRequest::dropProtection):
3343 * bridge/qt/qt_class.cpp:
3344 (KJS::Bindings::QtClass::fallbackObject):
3345 * bridge/qt/qt_instance.cpp:
3346 (KJS::Bindings::QtRuntimeObjectImp::construct):
3347 (KJS::Bindings::QtInstance::getRuntimeObject):
3348 (KJS::Bindings::QtInstance::invokeDefaultMethod):
3349 (KJS::Bindings::QtInstance::defaultValue):
3350 (KJS::Bindings::QtInstance::stringValue):
3351 (KJS::Bindings::QtInstance::numberValue):
3352 (KJS::Bindings::QtInstance::valueOf):
3353 * bridge/qt/qt_instance.h:
3354 * bridge/qt/qt_runtime.cpp:
3355 (KJS::Bindings::convertValueToQVariant):
3356 (KJS::Bindings::convertQVariantToValue):
3357 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
3358 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
3359 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3360 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
3361 (KJS::Bindings::QtConnectionObject::execute):
3362 Pass ExecState* where now required.
3364 2008-06-19 Timothy Hatcher <timothy@apple.com>
3366 Update the JavaScript syntax highlight colors to match Xcode.
3367 This matches the other Xcode colors we are using for HTML.
3369 Reviewed by Dan Bernstein.
3371 * page/inspector/SourceFrame.js:
3373 2008-06-19 Keishi Hattori <casey.hattori@gmail.com>
3375 Added JavaScript syntax highlighting to the Web Inspector.
3377 https://bugs.webkit.org/show_bug.cgi?id=14360
3379 Reviewed by Tim Hatcher and Adam Roben.
3381 * page/inspector/ScriptView.js: Added a call to syntaxHighlightJavascript.
3382 * page/inspector/SourceFrame.js:
3383 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): Added.
3384 Modifies a line content element.
3385 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Added.
3386 Syntax highlights the entire script.
3387 * page/inspector/SourceView.js: Added a call to syntaxHighlightJavascript.
3389 2008-06-19 Alex Mathews <possessedpenguinbob@gmail.com>
3393 Starting to clean up the SVG Filter code. Mostly adding 'create' wrapper
3394 functions and changing raw pointer fields to RefPtrs.
3396 * Configurations/WebCore.xcconfig:
3397 * WebCore.xcodeproj/project.pbxproj:
3398 * svg/SVGFEBlendElement.cpp:
3399 (WebCore::SVGFEBlendElement::~SVGFEBlendElement):
3400 (WebCore::SVGFEBlendElement::filterEffect):
3401 * svg/SVGFEBlendElement.h:
3402 * svg/SVGFEColorMatrixElement.cpp:
3403 (WebCore::SVGFEColorMatrixElement::~SVGFEColorMatrixElement):
3404 (WebCore::SVGFEColorMatrixElement::filterEffect):
3405 * svg/SVGFEColorMatrixElement.h:
3406 * svg/SVGFEComponentTransferElement.cpp:
3407 (WebCore::SVGFEComponentTransferElement::~SVGFEComponentTransferElement):
3408 (WebCore::SVGFEComponentTransferElement::filterEffect):
3409 * svg/SVGFEComponentTransferElement.h:
3410 * svg/SVGFECompositeElement.cpp:
3411 (WebCore::SVGFECompositeElement::~SVGFECompositeElement):
3412 (WebCore::SVGFECompositeElement::filterEffect):
3413 * svg/SVGFECompositeElement.h:
3414 * svg/SVGFEDiffuseLightingElement.cpp:
3415 (WebCore::SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement):
3416 (WebCore::SVGFEDiffuseLightingElement::filterEffect):
3417 * svg/SVGFEDiffuseLightingElement.h:
3418 * svg/SVGFEDisplacementMapElement.cpp:
3419 (WebCore::SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement):
3420 (WebCore::SVGFEDisplacementMapElement::filterEffect):
3421 * svg/SVGFEDisplacementMapElement.h:
3422 * svg/SVGFEFloodElement.cpp:
3423 (WebCore::SVGFEFloodElement::~SVGFEFloodElement):
3424 (WebCore::SVGFEFloodElement::filterEffect):
3425 * svg/SVGFEFloodElement.h:
3426 * svg/SVGFEGaussianBlurElement.cpp:
3427 (WebCore::SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement):
3428 (WebCore::SVGFEGaussianBlurElement::filterEffect):
3429 * svg/SVGFEGaussianBlurElement.h:
3430 * svg/SVGFEImageElement.cpp:
3431 (WebCore::SVGFEImageElement::~SVGFEImageElement):
3432 (WebCore::SVGFEImageElement::filterEffect):
3433 * svg/SVGFEImageElement.h:
3434 * svg/SVGFEMergeElement.cpp:
3435 (WebCore::SVGFEMergeElement::~SVGFEMergeElement):
3436 (WebCore::SVGFEMergeElement::filterEffect):
3437 * svg/SVGFEMergeElement.h:
3438 * svg/SVGFEOffsetElement.cpp:
3439 (WebCore::SVGFEOffsetElement::~SVGFEOffsetElement):
3440 (WebCore::SVGFEOffsetElement::filterEffect):
3441 * svg/SVGFEOffsetElement.h:
3442 * svg/SVGFESpecularLightingElement.cpp:
3443 (WebCore::SVGFESpecularLightingElement::~SVGFESpecularLightingElement):
3444 (WebCore::SVGFESpecularLightingElement::filterEffect):
3445 * svg/SVGFESpecularLightingElement.h:
3446 * svg/SVGFETileElement.cpp:
3447 (WebCore::SVGFETileElement::~SVGFETileElement):
3448 (WebCore::SVGFETileElement::filterEffect):
3449 * svg/SVGFETileElement.h:
3450 * svg/SVGFETurbulenceElement.cpp:
3451 (WebCore::SVGFETurbulenceElement::~SVGFETurbulenceElement):
3452 (WebCore::SVGFETurbulenceElement::filterEffect):
3453 * svg/SVGFETurbulenceElement.h:
3454 * svg/graphics/SVGResourceFilter.cpp:
3455 (WebCore::SVGResourceFilter::addFilterEffect):
3456 * svg/graphics/SVGResourceFilter.h:
3457 * svg/graphics/filters/SVGFEBlend.cpp:
3458 (WebCore::SVGFEBlend::create):
3459 * svg/graphics/filters/SVGFEBlend.h:
3460 * svg/graphics/filters/SVGFEColorMatrix.cpp:
3461 (WebCore::SVGFEColorMatrix::create):
3462 * svg/graphics/filters/SVGFEColorMatrix.h:
3463 * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3464 (WebCore::SVGFEComponentTransfer::create):
3465 * svg/graphics/filters/SVGFEComponentTransfer.h:
3466 * svg/graphics/filters/SVGFEComposite.cpp:
3467 (WebCore::SVGFEComposite::create):
3468 * svg/graphics/filters/SVGFEComposite.h:
3469 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3470 (WebCore::SVGFEConvolveMatrix::create):
3471 * svg/graphics/filters/SVGFEConvolveMatrix.h:
3472 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3473 (WebCore::SVGFEDiffuseLighting::create):
3474 (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
3475 (WebCore::SVGFEDiffuseLighting::lightSource):
3476 (WebCore::SVGFEDiffuseLighting::setLightSource):
3477 * svg/graphics/filters/SVGFEDiffuseLighting.h:
3478 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3479 (WebCore::SVGFEDisplacementMap::create):
3480 * svg/graphics/filters/SVGFEDisplacementMap.h:
3481 * svg/graphics/filters/SVGFEFlood.cpp:
3482 (WebCore::SVGFEFlood::create):
3483 * svg/graphics/filters/SVGFEFlood.h:
3484 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3485 (WebCore::SVGFEGaussianBlur::create):
3486 * svg/graphics/filters/SVGFEGaussianBlur.h:
3487 * svg/graphics/filters/SVGFEImage.cpp:
3488 (WebCore::SVGFEImage::create):
3489 * svg/graphics/filters/SVGFEImage.h:
3490 * svg/graphics/filters/SVGFEMerge.cpp:
3491 (WebCore::SVGFEMerge::SVGFEMerge):
3492 (WebCore::SVGFEMerge::create):
3493 * svg/graphics/filters/SVGFEMerge.h:
3494 * svg/graphics/filters/SVGFEOffset.cpp:
3495 (WebCore::SVGFEOffset::create):
3496 * svg/graphics/filters/SVGFEOffset.h:
3497 * svg/graphics/filters/SVGFESpecularLighting.cpp:
3498 (WebCore::SVGFESpecularLighting::create):
3499 (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
3500 (WebCore::SVGFESpecularLighting::lightSource):
3501 (WebCore::SVGFESpecularLighting::setLightSource):
3502 * svg/graphics/filters/SVGFESpecularLighting.h:
3503 * svg/graphics/filters/SVGFETile.cpp: Added.
3504 (WebCore::SVGFETile::SVGFETile):
3505 (WebCore::SVGFETile::create):
3506 * svg/graphics/filters/SVGFETile.h:
3507 * svg/graphics/filters/SVGFETurbulence.cpp:
3508 (WebCore::SVGFETurbulence::create):
3509 * svg/graphics/filters/SVGFETurbulence.h:
3510 * svg/graphics/filters/SVGFilterEffect.h:
3511 * svg/graphics/filters/SVGLightSource.h:
3513 2008-06-18 Adele Peterson <adele@apple.com>
3515 Reviewed by Dan Bernstein.
3517 Fix assertion in fast/dom/ImageDocument-image-deletion.html caused by new media document creation.
3519 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3520 Create the media document after we're done processing pdfs and images.
3522 192008-06-17 Dan Bernstein <mitz@apple.com>
3524 Reviewed by Darin Adler.
3526 - fix https://bugs.webkit.org/show_bug.cgi?id=19598
3527 Crash in WebCore::RenderBlock::determineStartPosition
3529 Test: fast/dynamic/floating-to-positioned-2.html
3531 * rendering/RenderObject.cpp:
3532 (WebCore::RenderObject::setStyle): Changed to also remove relatively
3533 positioned floats from object lists when they become positioned, because
3534 then they cease to be floating.
3536 2008-06-18 Darin Adler <darin@apple.com>
3538 Reviewed by Mark Rowe.
3542 * css/CSSMutableStyleDeclaration.cpp:
3543 (WebCore::CSSMutableStyleDeclaration::copy): Added an adoptRef that
3544 I missed when changing these objects to start with a refcount of 1.