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