1 2008-07-20 Oliver Hunt <oliver@apple.com>
3 Reviewed by Dan Bernstein.
5 Bug 19757: Crash when an ondragstart handler hides the element
6 <https://bugs.webkit.org/show_bug.cgi?id=19757>
8 The solution to this is problem is just to null check the renderer
9 immediately before launching the system drag, and terminate the
10 drag if the renderer is gone.
12 * page/EventHandler.cpp:
13 (WebCore::EventHandler::handleDrag):
15 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
19 Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
21 Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
22 Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
24 * svg/SVGPointList.cpp:
25 (WebCore::SVGPointList::valueAsString):
27 (WebCore::SVGPointList::create):
28 * svg/SVGPolyElement.cpp:
29 (WebCore::SVGPolyElement::SVGPolyElement):
30 (WebCore::SVGPolyElement::svgAttributeChanged):
31 (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
32 * svg/SVGPolyElement.h:
34 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
38 Cleanup JSSVGPODTypeWrapper code.
40 Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
41 JSSVGPODTypeWrapperReadWrite -> JSSVGDynamicPODTypeWrapper
42 JSSVGPODTypeWrapperCache -> JSSVGDynamicPODTypeWrapperCacheCache
44 No functional changes.
46 * bindings/js/JSSVGMatrixCustom.cpp:
47 (WebCore::JSSVGMatrix::multiply):
48 (WebCore::JSSVGMatrix::inverse):
49 (WebCore::JSSVGMatrix::translate):
50 (WebCore::JSSVGMatrix::scale):
51 (WebCore::JSSVGMatrix::scaleNonUniform):
52 (WebCore::JSSVGMatrix::rotate):
53 (WebCore::JSSVGMatrix::rotateFromVector):
54 (WebCore::JSSVGMatrix::flipX):
55 (WebCore::JSSVGMatrix::flipY):
56 (WebCore::JSSVGMatrix::skewX):
57 (WebCore::JSSVGMatrix::skewY):
58 * bindings/js/JSSVGPODTypeWrapper.h:
59 (WebCore::JSSVGDynamicPODTypeWrapper::create):
60 (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
61 (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
62 (WebCore::JSSVGStaticPODTypeWrapper::create):
63 (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
64 (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
65 (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
66 (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
67 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
68 (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
69 (WebCore::PODTypeWrapperCacheInfo::operator==):
70 (WebCore::PODTypeWrapperCacheInfoHash::hash):
71 (WebCore::PODTypeWrapperCacheInfoHash::equal):
72 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
73 (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
74 (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
75 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
76 (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
77 (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
78 * bindings/js/JSSVGPointListCustom.cpp:
79 (WebCore::finishGetter):
80 (WebCore::finishSetter):
81 (WebCore::finishSetterReadOnlyResult):
82 (WebCore::JSSVGPointList::initialize):
83 (WebCore::JSSVGPointList::insertItemBefore):
84 (WebCore::JSSVGPointList::replaceItem):
85 (WebCore::JSSVGPointList::appendItem):
86 * bindings/js/JSSVGTransformListCustom.cpp:
87 (WebCore::finishGetter):
88 (WebCore::finishSetter):
89 (WebCore::finishSetterReadOnlyResult):
90 (WebCore::JSSVGTransformList::initialize):
91 (WebCore::JSSVGTransformList::getItem):
92 (WebCore::JSSVGTransformList::insertItemBefore):
93 (WebCore::JSSVGTransformList::replaceItem):
94 (WebCore::JSSVGTransformList::removeItem):
95 (WebCore::JSSVGTransformList::appendItem):
96 * bindings/scripts/CodeGeneratorJS.pm:
98 2008-07-19 Oliver Hunt <oliver@apple.com>
100 Reviewed by Mark Rowe.
102 Bug 15979: Console logs in a database callback lose line number information
103 <https://bugs.webkit.org/show_bug.cgi?id=15979>
105 The problem was that there were multiple versions of the logic to
106 log an exception to the console, many of which were incorrect. We
107 resolve this by making one single shared reportException method,
108 which handles the exceptions correctly.
110 This improves fidelity of callback errors, and ensures that
111 exceptions thrown in timer callbacks correctly report line numbers,
114 Test: fast/js/exceptions-thrown-in-callbacks.html
116 * bindings/js/JSCustomSQLStatementCallback.cpp:
117 (WebCore::JSCustomSQLStatementCallback::handleEvent):
118 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
119 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
120 * bindings/js/JSCustomSQLTransactionCallback.cpp:
121 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
122 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
123 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
124 * bindings/js/JSCustomVoidCallback.cpp:
125 (WebCore::JSCustomVoidCallback::handleEvent):
126 * bindings/js/JSCustomXPathNSResolver.cpp:
127 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
128 * bindings/js/JSEventListener.cpp:
129 (WebCore::JSAbstractEventListener::handleEvent):
130 * bindings/js/ScheduledAction.cpp:
131 (WebCore::ScheduledAction::execute):
132 * bindings/js/ScriptController.cpp:
133 (WebCore::ScriptController::evaluate):
134 * bindings/objc/WebScriptObject.mm:
135 (WebCore::addExceptionToConsole):
137 (WebCore::Console::reportException):
140 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
142 Rubber stamped by Oliver.
144 Another attempt to fix the win build.
146 * svg/SVGAnimatedProperty.h:
148 2008-07-20 Alexey Proskuryakov <ap@webkit.org>
150 Reviewed by David Kilzer.
152 Fix high CPU usage on testmyiphone.com.
154 - Made the logic for determining when to stop looking for meta charset more strainghtforward.
155 Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
156 bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
157 offending tag was seen at any point before).
159 - The above change made one of our regression tests fail, because it had its <meta>
160 declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
162 - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
164 - Moved a check for XML content type out of the loop.
166 * loader/TextResourceDecoder.cpp:
167 (WebCore::TextResourceDecoder::checkForHeadCharset):
169 2008-07-20 Oliver Hunt <oliver@apple.com>
171 Reviewed by NOBODY (build fix).
173 Attempt to fix windows build
175 * svg/SVGAnimatedProperty.h:
177 2008-07-19 Nikolas Zimmermann <zimmermann@kde.org>
179 Reviewed by Oliver & parts by Eric.
181 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
183 Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
184 Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
187 (WebCore::Element::attributes):
188 (WebCore::Element::getAttribute):
189 (WebCore::Element::hasAttributes):
191 (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
192 * svg/SVGAElement.cpp:
193 (WebCore::SVGAElement::SVGAElement):
195 * svg/SVGAltGlyphElement.h:
196 * svg/SVGAnimatedProperty.h: Added.
197 * svg/SVGAnimatedTemplate.h:
198 (WebCore::lookupOrCreateWrapper):
199 * svg/SVGAnimationElement.h:
200 * svg/SVGCircleElement.cpp:
201 (WebCore::SVGCircleElement::SVGCircleElement):
202 * svg/SVGCircleElement.h:
203 * svg/SVGClipPathElement.cpp:
204 (WebCore::SVGClipPathElement::SVGClipPathElement):
205 * svg/SVGClipPathElement.h:
206 * svg/SVGComponentTransferFunctionElement.cpp:
207 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
208 * svg/SVGComponentTransferFunctionElement.h:
209 * svg/SVGCursorElement.cpp:
210 (WebCore::SVGCursorElement::SVGCursorElement):
211 * svg/SVGCursorElement.h:
212 * svg/SVGDefsElement.h:
213 (WebCore::SVGDefsElement::contextElement):
214 * svg/SVGElement.cpp:
215 (WebCore::SVGElement::updateAnimatedSVGAttribute):
217 (WebCore::SVGElement::supplementalTransform):
218 (WebCore::SVGElement::invokeSVGPropertySynchronizer):
219 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
220 (WebCore::SVGElement::addSVGPropertySynchronizer):
221 * svg/SVGEllipseElement.cpp:
222 (WebCore::SVGEllipseElement::SVGEllipseElement):
223 * svg/SVGEllipseElement.h:
224 * svg/SVGExternalResourcesRequired.cpp:
225 (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
226 * svg/SVGExternalResourcesRequired.h:
227 * svg/SVGFEBlendElement.cpp:
228 (WebCore::SVGFEBlendElement::SVGFEBlendElement):
229 * svg/SVGFEBlendElement.h:
230 * svg/SVGFEColorMatrixElement.cpp:
231 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
232 * svg/SVGFEColorMatrixElement.h:
233 * svg/SVGFEComponentTransferElement.cpp:
234 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
235 * svg/SVGFEComponentTransferElement.h:
236 * svg/SVGFECompositeElement.cpp:
237 (WebCore::SVGFECompositeElement::SVGFECompositeElement):
238 * svg/SVGFECompositeElement.h:
239 * svg/SVGFEDiffuseLightingElement.cpp:
240 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
241 * svg/SVGFEDiffuseLightingElement.h:
242 * svg/SVGFEDisplacementMapElement.cpp:
243 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
244 * svg/SVGFEDisplacementMapElement.h:
245 * svg/SVGFEFloodElement.h:
246 * svg/SVGFEGaussianBlurElement.cpp:
247 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
248 * svg/SVGFEGaussianBlurElement.h:
249 * svg/SVGFEImageElement.cpp:
250 (WebCore::SVGFEImageElement::SVGFEImageElement):
251 * svg/SVGFEImageElement.h:
252 * svg/SVGFELightElement.cpp:
253 (WebCore::SVGFELightElement::SVGFELightElement):
254 * svg/SVGFELightElement.h:
255 (WebCore::SVGFELightElement::contextElement):
256 * svg/SVGFEMergeElement.h:
257 * svg/SVGFEMergeNodeElement.cpp:
258 (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
259 * svg/SVGFEMergeNodeElement.h:
260 * svg/SVGFEOffsetElement.cpp:
261 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
262 * svg/SVGFEOffsetElement.h:
263 * svg/SVGFESpecularLightingElement.cpp:
264 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
265 * svg/SVGFESpecularLightingElement.h:
266 * svg/SVGFETileElement.cpp:
267 (WebCore::SVGFETileElement::SVGFETileElement):
268 * svg/SVGFETileElement.h:
269 * svg/SVGFETurbulenceElement.cpp:
270 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
271 * svg/SVGFETurbulenceElement.h:
272 * svg/SVGFilterElement.cpp:
273 (WebCore::SVGFilterElement::SVGFilterElement):
274 * svg/SVGFilterElement.h:
275 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
276 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
277 * svg/SVGFilterPrimitiveStandardAttributes.h:
278 * svg/SVGFitToViewBox.cpp:
279 (WebCore::SVGFitToViewBox::SVGFitToViewBox):
280 * svg/SVGFitToViewBox.h:
281 * svg/SVGFontElement.h:
282 (WebCore::SVGFontElement::rendererIsNeeded):
283 (WebCore::SVGFontElement::contextElement):
284 * svg/SVGForeignObjectElement.cpp:
285 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
286 * svg/SVGForeignObjectElement.h:
288 * svg/SVGGradientElement.cpp:
289 (WebCore::SVGGradientElement::SVGGradientElement):
290 * svg/SVGGradientElement.h:
291 (WebCore::SVGGradientElement::contextElement):
292 * svg/SVGImageElement.cpp:
293 (WebCore::SVGImageElement::SVGImageElement):
294 * svg/SVGImageElement.h:
295 * svg/SVGLineElement.cpp:
296 (WebCore::SVGLineElement::SVGLineElement):
297 * svg/SVGLineElement.h:
298 * svg/SVGLinearGradientElement.cpp:
299 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
300 * svg/SVGLinearGradientElement.h:
301 * svg/SVGMarkerElement.cpp:
302 (WebCore::SVGMarkerElement::SVGMarkerElement):
303 (WebCore::SVGMarkerElement::canvasResource):
304 * svg/SVGMarkerElement.h:
305 * svg/SVGMaskElement.cpp:
306 (WebCore::SVGMaskElement::SVGMaskElement):
307 * svg/SVGMaskElement.h:
308 * svg/SVGPathElement.cpp:
309 (WebCore::SVGPathElement::SVGPathElement):
310 (WebCore::SVGPathElement::parseMappedAttribute):
311 * svg/SVGPathElement.h:
312 * svg/SVGPatternElement.cpp:
313 (WebCore::SVGPatternElement::SVGPatternElement):
314 * svg/SVGPatternElement.h:
315 (WebCore::SVGPatternElement::contextElement):
316 * svg/SVGPolyElement.h:
317 * svg/SVGPreserveAspectRatio.cpp:
318 * svg/SVGRadialGradientElement.cpp:
319 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
320 * svg/SVGRadialGradientElement.h:
321 * svg/SVGRectElement.cpp:
322 (WebCore::SVGRectElement::SVGRectElement):
323 * svg/SVGRectElement.h:
324 * svg/SVGSVGElement.cpp:
325 (WebCore::SVGSVGElement::SVGSVGElement):
326 * svg/SVGSVGElement.h:
327 * svg/SVGScriptElement.cpp:
328 * svg/SVGScriptElement.h:
329 * svg/SVGStopElement.cpp:
330 (WebCore::SVGStopElement::SVGStopElement):
331 * svg/SVGStopElement.h:
332 * svg/SVGStyledElement.cpp:
333 (WebCore::SVGStyledElement::SVGStyledElement):
334 * svg/SVGStyledElement.h:
335 * svg/SVGStyledTransformableElement.cpp:
336 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
337 * svg/SVGStyledTransformableElement.h:
338 * svg/SVGSwitchElement.h:
339 * svg/SVGSymbolElement.h:
340 (WebCore::SVGSymbolElement::contextElement):
341 * svg/SVGTRefElement.h:
342 * svg/SVGTSpanElement.h:
343 * svg/SVGTextContentElement.cpp:
344 (WebCore::SVGTextContentElement::SVGTextContentElement):
345 * svg/SVGTextContentElement.h:
346 (WebCore::SVGTextContentElement::contextElement):
347 * svg/SVGTextElement.cpp:
348 (WebCore::SVGTextElement::SVGTextElement):
349 * svg/SVGTextElement.h:
350 * svg/SVGTextPathElement.cpp:
351 (WebCore::SVGTextPathElement::SVGTextPathElement):
352 * svg/SVGTextPathElement.h:
353 * svg/SVGTextPositioningElement.cpp:
354 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
355 * svg/SVGTextPositioningElement.h:
356 * svg/SVGTransformable.h:
357 * svg/SVGURIReference.cpp:
358 (WebCore::SVGURIReference::SVGURIReference):
359 * svg/SVGURIReference.h:
360 * svg/SVGUseElement.cpp:
361 (WebCore::SVGUseElement::SVGUseElement):
362 * svg/SVGUseElement.h:
363 * svg/SVGViewElement.h:
366 2008-07-18 Maxime Britto <britto@apple.com>
370 Fixed <rdar://problem/6049803>
371 Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
373 Test: fast/events/autoscroll-with-non-scrollable-parent.html
376 * page/EventHandler.cpp: Edited
377 (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
378 (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
379 * rendering/RenderLayer.cpp:
380 (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
381 * rendering/RenderListBox.h:
382 (WebCore::RenderListBox::canBeProgramaticallyScrolled):
383 * rendering/RenderObject.cpp:
384 (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer
385 (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
386 * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
387 * rendering/RenderTextControl.h:
388 (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
390 2008-07-18 Sam Weinig <sam@webkit.org>
392 Reviewed by Anders Carlsson.
394 <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
396 - Overload XMLHttpRequests send() method to accept File tokens.
398 * bindings/js/JSXMLHttpRequestCustom.cpp:
399 (WebCore::JSXMLHttpRequest::send):
400 * xml/XMLHttpRequest.cpp:
401 (WebCore::XMLHttpRequest::send):
402 * xml/XMLHttpRequest.h:
404 2008-07-18 Geoffrey Garen <ggaren@apple.com>
406 Reviewed by Cameron Zwarich.
410 "CallTypeNative" => "CallTypeHost"
412 "generatedCode" => "generatedByteCode"
414 2008-07-18 Adele Peterson <adele@apple.com>
416 Reviewed by Dan Bernstein.
418 I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
419 which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
420 This change will now check both the media element and the player to decide whether or not to make the controls persistent.
422 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
424 2008-07-18 Simon Fraser <simon.fraser@apple.com>
428 Remove braces around single-line conditional.
430 * css/CSSComputedStyleDeclaration.cpp:
431 (WebCore::computedTransform):
433 2008-07-18 Simon Fraser <simon.fraser@apple.com>
435 Reviewed by Dave Hyatt
437 getComputedStyle() for -webkit-transform should return
438 'none' for elements with no renderer, or those with no
441 https://bugs.webkit.org/show_bug.cgi?id=20008
443 Testcase: LayoutTests/fast/css/computed-style-without-renderer
444 LayoutTests/fast/css/computed-style-expected.txt
446 * css/CSSComputedStyleDeclaration.cpp:
447 (WebCore::computedTransform):
449 2008-07-18 Simon Fraser <simon.fraser@apple.com>
451 Reviewed by Dave Hyatt
453 Fix assertion about creating Length values with percentage types
454 when blending transforms.
455 https://bugs.webkit.org/show_bug.cgi?id=20086
457 * rendering/style/RenderStyle.cpp:
458 (WebCore::TranslateTransformOperation::blend):
460 2008-07-17 Jacob Refstrup <jacob.refstrup@hp.com>
462 Reviewed by rwlbuis@gmail.com
464 https://bugs.webkit.org/show_bug.cgi?id=19965
466 - Added "@"{ident} rule (below other @-rules) to use flex for longest match
467 (if an earlier rule - e.g. @media - also matches then flex chooses that one
468 however, if a longer match - e.g. @mediaall matches flex will choose that)
469 - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
470 in the error recovery grammar.
472 Test: css2.1/atrule_longest_match.html
476 * css/tokenizer.flex:
478 2008-07-17 David Hyatt <hyatt@apple.com>
480 Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
481 recursive (and checks for transparency layers all the way up the ancestor document chain back to
482 the top-level frame).
486 * rendering/RenderView.cpp:
487 (WebCore::RenderView::paintBoxDecorations):
489 2008-07-16 Jon Honeycutt <jhoneycutt@apple.com>
491 REGRESSION: Can't create windowless plug-in with Flash 9
492 https://bugs.webkit.org/show_bug.cgi?id=20070
494 Reviewed by Mark Rowe.
496 * plugins/win/PluginPackageWin.cpp:
497 (WebCore::PluginPackage::determineQuirks): Reverse argument order;
498 PlatformModuleVersion constructor takes leastSig, mostSig.
500 2008-07-16 Eric Seidel <eric@webkit.org>
504 Attempt to make initializeATSUStyle human-readable by
505 splitting it out into better-named static inline functions.
507 No functional changes, thus no tests.
509 * platform/graphics/mac/FontMac.mm:
510 (WebCore::fontHasMirroringInfo):
511 (WebCore::disableLigatures):
512 (WebCore::initializeATSUStyle):
514 2008-07-16 Eric Seidel <eric@webkit.org>
516 No review, build fix only.
518 Attempt to fix Mac build
520 * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
522 2008-07-16 Eric Seidel <eric@webkit.org>
526 Make ATSULayoutParameters a real C++ class
527 (Give it a destructor to clean up after itself)
528 (Also use OwnArrayPtr instead of manual member cleanup)
530 * platform/graphics/mac/FontMac.mm:
531 (WebCore::ATSULayoutParameters::ATSULayoutParameters):
532 (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
533 (WebCore::overrideLayoutOperation):
534 (WebCore::ATSULayoutParameters::initialize):
535 (WebCore::Font::selectionRectForComplexText):
536 (WebCore::Font::drawComplexText):
537 (WebCore::Font::floatWidthForComplexText):
538 (WebCore::Font::offsetForPositionForComplexText):
540 2008-07-16 Eric Seidel <eric@webkit.org>
544 Make ownership of copied UChar buffer clearer
545 (and more leak-proof) by using a OwnArrayPtr.
547 No functional changes, thus no tests.
549 * platform/graphics/mac/FontMac.mm:
550 (WebCore::copyRunForDirectionalOverrideIfNecessary):
551 (WebCore::Font::selectionRectForComplexText):
552 (WebCore::Font::drawComplexText):
553 (WebCore::Font::offsetForPositionForComplexText):
555 2008-07-16 Eric Seidel <eric@webkit.org>
559 Split out TextRun into its own header file.
560 Re-order members to place all bools together
561 (to allow compilers to better pack the struct)
563 No functional changes, thus no tests.
565 * WebCore.vcproj/WebCore.vcproj:
566 * WebCore.xcodeproj/project.pbxproj:
567 * platform/graphics/Font.h: Moved TextRun into its own file.
568 * platform/graphics/TextRun.h: Split out from Font.h
570 2008-07-16 Simon Fraser <simon.fraser@apple.com>
572 Reviewed by Dave Hyatt
574 AnimationController needs to adjust z-index in the blended
575 style in case opacity or transform were changed by blending.
577 https://bugs.webkit.org/show_bug.cgi?id=20047
579 Test: transitions/opacity-transition-zindex.html
581 * page/AnimationController.cpp:
582 (WebCore::AnimationController::updateImplicitAnimations):
584 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
588 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052
589 Prepare SVGAnimatedProperty introduction.
591 Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
592 contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
593 See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
595 * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
596 * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
597 * svg/svgattrs.in: Export all SVG attributes as strings.
598 * svg/svgtags.in: Export all SVG tags as strings.
599 * svg/xlinkattrs.in: Expose all XLink attributes as strings.
601 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
605 Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
606 Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
608 Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
612 * WebCore.vcproj/WebCore.vcproj:
613 * WebCore.xcodeproj/project.pbxproj:
614 * bindings/js/JSSVGLengthCustom.cpp: Added.
615 (WebCore::JSSVGLength::value):
616 (WebCore::JSSVGLength::convertToSpecifiedUnits):
617 * bindings/scripts/CodeGeneratorObjC.pm:
618 * css/CSSCursorImageValue.cpp:
619 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
620 * rendering/RenderForeignObject.cpp:
621 (WebCore::RenderForeignObject::translationForAttributes):
622 * rendering/RenderSVGImage.cpp:
623 (WebCore::RenderSVGImage::layout):
624 * rendering/RenderSVGRoot.cpp:
625 (WebCore::RenderSVGRoot::calcViewport):
626 * rendering/RenderSVGText.cpp:
627 (WebCore::RenderSVGText::layout):
628 * rendering/RenderSVGViewportContainer.cpp:
629 (WebCore::RenderSVGViewportContainer::calcViewport):
630 * rendering/SVGCharacterLayoutInfo.cpp:
631 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
632 (WebCore::SVGCharacterLayoutInfo::addStackContent):
633 * rendering/SVGCharacterLayoutInfo.h:
634 * rendering/SVGRootInlineBox.cpp:
635 (WebCore::SVGRootInlineBox::buildTextChunks):
636 * svg/SVGAnimateElement.h:
637 * svg/SVGAnimateMotionElement.h:
638 * svg/SVGAnimateTransformElement.h:
639 * svg/SVGAnimationElement.h:
640 (WebCore::SVGAnimationElement::contextElement):
641 * svg/SVGCircleElement.cpp:
642 (WebCore::SVGCircleElement::SVGCircleElement):
643 (WebCore::SVGCircleElement::parseMappedAttribute):
644 (WebCore::SVGCircleElement::toPathData):
645 * svg/SVGCursorElement.cpp:
646 (WebCore::SVGCursorElement::SVGCursorElement):
647 (WebCore::SVGCursorElement::parseMappedAttribute):
648 * svg/SVGEllipseElement.cpp:
649 (WebCore::SVGEllipseElement::SVGEllipseElement):
650 (WebCore::SVGEllipseElement::parseMappedAttribute):
651 (WebCore::SVGEllipseElement::toPathData):
652 * svg/SVGFilterElement.cpp:
653 (WebCore::SVGFilterElement::SVGFilterElement):
654 (WebCore::SVGFilterElement::parseMappedAttribute):
655 (WebCore::SVGFilterElement::canvasResource):
656 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
657 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
658 (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
659 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
660 * svg/SVGForeignObjectElement.cpp:
661 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
662 (WebCore::SVGForeignObjectElement::parseMappedAttribute):
663 * svg/SVGImageElement.cpp:
664 (WebCore::SVGImageElement::SVGImageElement):
665 (WebCore::SVGImageElement::parseMappedAttribute):
667 (WebCore::SVGLength::SVGLength):
668 (WebCore::SVGLength::value):
669 (WebCore::SVGLength::convertToSpecifiedUnits):
670 (WebCore::SVGLength::PercentageOfViewport):
673 * svg/SVGLengthList.cpp:
674 (WebCore::SVGLengthList::parse):
675 * svg/SVGLengthList.h:
676 * svg/SVGLineElement.cpp:
677 (WebCore::SVGLineElement::SVGLineElement):
678 (WebCore::SVGLineElement::parseMappedAttribute):
679 (WebCore::SVGLineElement::toPathData):
680 * svg/SVGLinearGradientElement.cpp:
681 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
682 (WebCore::SVGLinearGradientElement::parseMappedAttribute):
683 * svg/SVGMarkerElement.cpp:
684 (WebCore::SVGMarkerElement::SVGMarkerElement):
685 (WebCore::SVGMarkerElement::parseMappedAttribute):
686 (WebCore::SVGMarkerElement::canvasResource):
687 * svg/SVGMaskElement.cpp:
688 (WebCore::SVGMaskElement::SVGMaskElement):
689 (WebCore::SVGMaskElement::parseMappedAttribute):
690 (WebCore::SVGMaskElement::drawMaskerContent):
691 * svg/SVGPatternElement.cpp:
692 (WebCore::SVGPatternElement::SVGPatternElement):
693 (WebCore::SVGPatternElement::parseMappedAttribute):
694 (WebCore::SVGPatternElement::buildPattern):
695 * svg/SVGRadialGradientElement.cpp:
696 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
697 (WebCore::SVGRadialGradientElement::parseMappedAttribute):
698 * svg/SVGRectElement.cpp:
699 (WebCore::SVGRectElement::SVGRectElement):
700 (WebCore::SVGRectElement::parseMappedAttribute):
701 (WebCore::SVGRectElement::toPathData):
702 * svg/SVGSVGElement.cpp:
703 (WebCore::SVGSVGElement::SVGSVGElement):
704 (WebCore::SVGSVGElement::viewport):
705 (WebCore::SVGSVGElement::parseMappedAttribute):
706 (WebCore::SVGSVGElement::getCTM):
707 (WebCore::SVGSVGElement::getScreenCTM):
708 * svg/SVGTextContentElement.cpp:
709 (WebCore::SVGTextContentElement::SVGTextContentElement):
710 (WebCore::SVGTextContentElement::parseMappedAttribute):
711 * svg/SVGTextPathElement.cpp:
712 (WebCore::SVGTextPathElement::SVGTextPathElement):
713 (WebCore::SVGTextPathElement::parseMappedAttribute):
714 * svg/SVGTextPositioningElement.cpp:
715 (WebCore::SVGTextPositioningElement::parseMappedAttribute):
716 * svg/SVGUseElement.cpp:
717 (WebCore::SVGUseElement::SVGUseElement):
718 (WebCore::SVGUseElement::parseMappedAttribute):
719 (WebCore::SVGUseElement::buildPendingResource):
720 (WebCore::SVGUseElement::buildInstanceTree):
721 (WebCore::SVGUseElement::handleDeepUseReferencing):
722 (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
723 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
724 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
725 * svg/SVGUseElement.h:
726 * svg/SynchronizableTypeWrapper.h:
727 * svg/graphics/SVGImage.cpp:
728 (WebCore::SVGImage::size):
730 2008-07-16 Geoffrey Garen <ggaren@apple.com>
732 Reviewed by Oliver Hunt.
734 Support for JavaScriptCore's first step toward putting doubles in
735 registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
737 * bindings/js/ScheduledAction.cpp:
738 (WebCore::ScheduledAction::ScheduledAction):
740 2008-07-15 Maxime Britto <britto@apple.com>
744 https://bugs.webkit.org/show_bug.cgi?id=17589
745 <rdar://problem/5770893>
746 Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
747 Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
748 For the other platforms, nothing is changed but if someone want to activate this feature
749 he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
752 * page/EventHandler.cpp:
753 (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
754 (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters
755 * platform/PlatformWheelEvent.h:
756 (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
757 (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
758 (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
759 (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
760 * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
761 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
762 * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
763 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
764 * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
765 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
766 * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
767 (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
768 (WebCore::ScrollView::updateScrollbars):
769 (WebCore::ScrollView::wheelEvent):
770 * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
771 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
772 * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
773 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
775 2008-07-15 Kevin Ollivier <kevino@theolliviers.com>
777 wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
779 * WebCoreSources.bkl:
781 2008-07-15 Kevin McCullough <kmccullough@apple.com>
785 <rdar://problem/5620273> REGRESSION: Apparent caching between form
786 submits twice (on Maconomy) (18401)
788 Frames did not set the createdByParser flag even when they were.
790 * html/HTMLElementFactory.cpp:
791 (WebCore::frameConstructor):
792 (WebCore::iframeConstructor):
794 2008-07-15 Dan Bernstein <mitz@apple.com>
796 Reviewed by Dave Hyatt.
798 - fix https://bugs.webkit.org/show_bug.cgi?id=19525
799 <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
801 Test: fast/reflections/inline-crash.html
803 * rendering/RenderInline.cpp:
804 (WebCore::RenderInline::setStyle): Added setHasReflection(false).
805 Inline flows never have reflections.
807 2008-07-14 David Hyatt <hyatt@apple.com>
809 Allow <style> and <link> pretty much anywhere. They will still be moved to the <head> if
810 no <body> exists yet though.
814 Added fast/css/style-parsed-outside-of-head.html
816 * html/HTMLElement.cpp:
817 (WebCore::inlineTagList):
819 2008-07-15 Kevin McCullough <kmccullough@apple.com>
823 Rename pageGroupIdentifier to profileGroup to keep mention of a
824 pageGroup out of JavaScriptCore.
826 * bindings/js/JSQuarantinedObjectWrapper.cpp:
827 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
828 * bindings/js/ScriptController.cpp:
829 (WebCore::ScriptController::clear):
830 (WebCore::ScriptController::initScript):
831 * history/CachedPage.cpp:
832 (WebCore::CachedPage::restore):
834 2008-07-15 Adam Roben <aroben@apple.com>
836 WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
840 Reviewed by John Sullivan.
842 * platform/graphics/win/FontCGWin.cpp:
843 (WebCore::Font::drawGlyphs): Pass the result of
844 WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
845 * platform/win/WebCoreTextRenderer.cpp:
846 (WebCore::WebCoreSetShouldUseFontSmoothing):
847 (WebCore::WebCoreShouldUseFontSmoothing):
849 * platform/win/WebCoreTextRenderer.h:
851 2008-07-15 Adam Roben <aroben@apple.com>
855 * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
858 2008-07-15 Holger Hans Peter Freyther <zecke@selfish.org>
860 Build fix for the Gtk+ and Qt platform.
862 * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
863 * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
865 2008-07-14 Dan Bernstein <mitz@apple.com>
869 * platform/mac/WidgetMac.mm:
870 (WebCore::Widget::paint):
872 2008-07-14 Dan Bernstein <mitz@apple.com>
874 Reviewed by John Sullivan.
876 - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
878 * platform/mac/WidgetMac.mm:
879 (WebCore::Widget::paint): Changed to account for the case of drawing
880 into a bitmap context that is not a window's backing store. In that
881 case, -displayRectIgnoringOpacity:inContext: is used to redirect the
882 drawing to the correct context, after setting up the right transform
883 on it. For subframes, additional code ensures that the scroll view will
884 not paint the background behind a transparent frame.
886 2008-07-14 chris fleizach <cfleizach@apple.com>
888 Reviewed by Beth Dakin
890 <rdar://problem/6038106> AXChildren returned for this web area is null
891 Accessibility of image maps needed to be updated
893 Tests: accessibility/image-map1.html
894 accessibility/image-map2.html
896 * WebCore.xcodeproj/project.pbxproj:
897 * page/AXObjectCache.cpp:
898 (WebCore::AXObjectCache::get):
899 * page/AccessibilityImageMapLink.cpp: Added.
900 (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
901 (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
902 (WebCore::AccessibilityImageMapLink::create):
903 (WebCore::AccessibilityImageMapLink::parentObject):
904 (WebCore::AccessibilityImageMapLink::anchorElement):
905 (WebCore::AccessibilityImageMapLink::accessibilityDescription):
906 (WebCore::AccessibilityImageMapLink::title):
907 (WebCore::AccessibilityImageMapLink::elementRect):
908 (WebCore::AccessibilityImageMapLink::size):
909 * page/AccessibilityImageMapLink.h: Added.
910 (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
911 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
912 (WebCore::AccessibilityImageMapLink::roleValue):
913 (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
914 (WebCore::AccessibilityImageMapLink::isLink):
915 * page/AccessibilityListBoxOption.h:
916 * page/AccessibilityObject.cpp:
917 (WebCore::AccessibilityObject::selectedChildren):
918 (WebCore::AccessibilityObject::visibleChildren):
919 * page/AccessibilityObject.h:
921 * page/AccessibilityRenderObject.cpp:
922 (WebCore::AccessibilityRenderObject::parentObject):
923 (WebCore::AccessibilityRenderObject::isAnchor):
924 (WebCore::AccessibilityRenderObject::anchorElement):
925 (WebCore::AccessibilityRenderObject::helpText):
926 (WebCore::AccessibilityRenderObject::intValue):
927 (WebCore::AccessibilityRenderObject::stringValue):
928 (WebCore::AccessibilityRenderObject::title):
929 (WebCore::AccessibilityRenderObject::accessibilityDescription):
930 (WebCore::AccessibilityRenderObject::elementRect):
931 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
932 (WebCore::AccessibilityRenderObject::roleValue):
933 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
934 (WebCore::AccessibilityRenderObject::addChildren):
935 * page/AccessibilityRenderObject.h:
936 * page/mac/AccessibilityObjectWrapper.mm:
940 2008-07-14 Sam Weinig <sam@webkit.org>
942 Rubber-stamped by David Hyatt.
944 Remove unused ExceptionCode parameter from compareDocumentPosition.
947 (WebCore::Document::addStyleSheetCandidateNode):
949 (WebCore::Node::compareDocumentPosition):
953 2008-07-14 David Hyatt <hyatt@apple.com>
955 Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
959 Added fast/css/style-outside-head.html
960 Added fast/css/link-outside-head.html
963 (WebCore::Document::addStyleSheetCandidateNode):
964 (WebCore::Document::removeStyleSheetCandidateNode):
965 (WebCore::Document::recalcStyleSelector):
968 (WebCore::Node::compareDocumentPosition):
969 * dom/ProcessingInstruction.cpp:
970 (WebCore::ProcessingInstruction::checkStyleSheet):
971 (WebCore::ProcessingInstruction::insertedIntoDocument):
972 (WebCore::ProcessingInstruction::removedFromDocument):
973 (WebCore::ProcessingInstruction::finishParsingChildren):
974 * dom/ProcessingInstruction.h:
975 (WebCore::ProcessingInstruction::setCreatedByParser):
976 * dom/StyleElement.cpp:
977 (WebCore::StyleElement::removedFromDocument):
978 * dom/XMLTokenizer.cpp:
979 (WebCore::XMLTokenizer::startElementNs):
980 (WebCore::XMLTokenizer::processingInstruction):
982 * html/HTMLElementFactory.cpp:
983 (WebCore::linkConstructor):
984 * html/HTMLLinkElement.cpp:
985 (WebCore::HTMLLinkElement::HTMLLinkElement):
986 (WebCore::HTMLLinkElement::insertedIntoDocument):
987 (WebCore::HTMLLinkElement::removedFromDocument):
988 (WebCore::HTMLLinkElement::finishParsingChildren):
989 * html/HTMLLinkElement.h:
990 (WebCore::HTMLLinkElement::setCreatedByParser):
991 * html/HTMLStyleElement.cpp:
992 (WebCore::HTMLStyleElement::insertedIntoDocument):
993 (WebCore::HTMLStyleElement::removedFromDocument):
994 * svg/SVGStyleElement.cpp:
995 (WebCore::SVGStyleElement::insertedIntoDocument):
996 (WebCore::SVGStyleElement::removedFromDocument):
998 2008-07-14 Sam Weinig <sam@webkit.org>
1000 Reviewed by Mark Rowe.
1002 Sort interface extended attributes to appease *the* Mark Rowe.
1004 * page/DOMWindow.idl:
1006 2008-07-14 Anders Carlsson <andersca@apple.com>
1010 <rdar://problem/6073974>
1011 https://bugs.webkit.org/show_bug.cgi?id=18106
1012 The "onscroll" event bubbles, which is inconsistent with Firefox and IE
1014 Don't bubble the scroll event.
1016 * rendering/RenderLayer.cpp:
1017 (WebCore::RenderLayer::scrollToOffset):
1018 * rendering/RenderListBox.cpp:
1019 (WebCore::RenderListBox::valueChanged):
1021 2008-07-14 Adele Peterson <adele@apple.com>
1025 Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
1027 The web server on this particular piece of hardware doesn't handle "text/xml" in the
1028 Accept header if the headers are sent in a certain order. Safari 2 used to send "*/*" in
1029 the Accept header. Firefox 2 sent "text/xml" but in an acceptable order for the web
1030 server. And Firefox 3 doesn't send "text/xml" at all in the Accept header since it
1031 is being deprecated in favor of "application/xml". We decided that the best solution is
1032 to match Firefox 3 and stop sending "text/xml" in the Accept header.
1034 No test. There appears to be no way to get the raw headers in the original order in perl/php.
1036 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
1038 2008-07-14 Sam Weinig <sam@webkit.org>
1040 Reviewed by Adele Peterson.
1042 Fix for <rdar://problem/5769819>
1044 Test: http/tests/security/cross-frame-access-object-prototype.html
1046 * bindings/js/JSDOMWindowCustom.cpp:
1047 (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
1048 (WebCore::JSDOMWindow::defineGetter): Ditto.
1049 (WebCore::JSDOMWindow::defineSetter): Ditto.
1050 (WebCore::JSDOMWindow::lookupGetter): Ditto.
1051 (WebCore::JSDOMWindow::lookupSetter): Ditto.
1052 * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
1053 of all the core JSObject functionality.
1054 * page/DOMWindow.idl: Override remaining core JSObject functionality,
1055 to inject security checks.
1057 2008-07-14 Adam Roben <aroben@apple.com>
1061 * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
1063 * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
1064 bindings to regenerate.
1065 * loader/FTPDirectoryDocument.cpp:
1066 * loader/FTPDirectoryParser.cpp:
1067 Fixed some duplicate macro definitions now that we're including
1070 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
1072 Reviewed by Kevin McCullough.
1074 Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
1077 * bindings/js/JSDOMWindowBase.cpp:
1078 (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
1080 2008-07-14 Simon Hausmann <hausmann@webkit.org>
1084 Make listDirectory() in the Qt port work with empty namefilters.
1085 Don't include . and .. to avoid scanning the parent directory.
1087 * platform/qt/FileSystemQt.cpp:
1088 (WebCore::listDirectory):
1090 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
1092 Reviewed by Geoff Garen.
1094 Eliminate per-thread JavaScript global data instance support and make arbitrary
1095 global data/global object combinations possible.
1097 * bindings/js/JSDOMWindowBase.h:
1098 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
1099 WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
1101 * bindings/js/JSDOMWindowShell.cpp:
1102 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1103 (WebCore::JSDOMWindowShell::operator new):
1104 * bindings/js/ScriptController.cpp:
1105 (WebCore::ScriptController::clear):
1106 * bindings/scripts/CodeGeneratorJS.pm:
1107 Pass commonJSGlobalData() as an allocator.
1109 * bridge/c/c_utility.cpp:
1110 (KJS::Bindings::identifierFromNPIdentifier):
1111 * bridge/jni/jni_class.cpp:
1112 (JavaClass::JavaClass):
1113 * history/CachedPage.cpp:
1114 (WebCore::CachedPage::restore):
1115 * storage/Database.cpp:
1116 (WebCore::Database::Database):
1117 * bindings/js/GCController.cpp:
1119 (WebCore::GCController::gcTimerFired):
1120 (WebCore::GCController::garbageCollectNow):
1121 Use JSDOMWindow::commonJSGlobalData().
1123 * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
1124 it need to be accesible outside of JSC).
1126 * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
1128 2008-07-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
1134 * plugins/win/PluginDatabaseWin.cpp:
1135 * plugins/win/PluginViewWin.cpp:
1136 (WebCore::PluginView::handleKeyboardEvent):
1137 (WebCore::PluginView::handleMouseEvent):
1138 * svg/SynchronizableTypeWrapper.h:
1139 (WebCore::::SynchronizableTypeWrapper):
1141 2008-07-13 Sam Weinig <sam@webkit.org>
1143 Reviewed by Oliver Hunt and Dan Bernstein.
1145 Fix for <rdar://problem/5888127>
1146 https://bugs.webkit.org/show_bug.cgi?id=18699
1148 - Match Firefox in restricting the size of custom cursor to images to
1150 - Restrict custom cursor hotspots to values within the bounds of the
1153 * manual-tests/cursor-max-size.html: Added.
1154 * page/EventHandler.cpp:
1155 (WebCore::EventHandler::selectCursor):
1157 2008-07-13 Kevin Ollivier <kevino@theolliviers.com>
1161 * platform/graphics/wx/AffineTransformWx.cpp:
1162 (WebCore::AffineTransform::a):
1163 (WebCore::AffineTransform::b):
1164 (WebCore::AffineTransform::c):
1165 (WebCore::AffineTransform::d):
1166 (WebCore::AffineTransform::e):
1167 (WebCore::AffineTransform::f):
1169 2008-07-12 Dan Bernstein <mitz@apple.com>
1171 Reviewed by Oliver Hunt.
1173 - fix https://bugs.webkit.org/show_bug.cgi?id=18088
1174 <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
1176 Test: fast/block/basic/min-pref-width-nowrap-floats.html
1178 * rendering/RenderBlock.cpp:
1179 (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
1180 float's width was added to the minimum preferred widths instead of just
1181 acting as a lower bound on the minimum preferred width (since the float
1182 can always be pushed down to be the only thing on the line).
1184 2008-07-12 David D. Kilzer <ddkilzer@webkit.org>
1186 Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
1188 <https://bugs.webkit.org/show_bug.cgi?id=13067>
1192 Test: WebCore/manual-tests/hash-ref.html
1194 * loader/FrameLoader.cpp:
1195 (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
1196 FrameLoadType newLoadType, const String& frameName, Event* event,
1197 PassRefPtr<FormState> formState)): Extracted logic into
1198 shouldScrollToAnchor() for determining when to scroll to an anchor.
1200 (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
1201 PassRefPtr<FormState> formState)): Added check for
1202 shouldScrollToAnchor() to catch cases when the user manually added a
1203 hash ref to the URL in the address bar. This is the bug fix.
1205 (WebCore::FrameLoader::shouldReload): Simplified early return logic.
1206 We only need to check if the destinationURL has a hash ref, not the
1207 currentURL, per the comment in the method.
1209 (WebCore::FrameLoader::shouldScrollToAnchor): Added. Logic extracted
1210 from the FrameLoader::load(const KURL& newURL, ...) method. Fixed order
1211 of arguments to shouldReload() since they were backwards, although the
1212 previous logic in the method made this irrelevant.
1214 (WebCore::FrameLoader::loadItem): Removed call to shouldReload(). Since
1215 we're navigating to a HistoryItem, it doesn't make sense to ask whether
1216 we need to reload the page or not. Additionally, the logic at the end
1217 of shouldReload() is also checked in urlsMatchItem(), so there's no need
1218 to call the method. This fixed the fast/css/target-fragment-match.html
1219 test from continuously reloading after the other changes.
1221 * loader/FrameLoader.h:
1222 (WebCore::FrameLoader::shouldScrollToAnchor): Added.
1224 * manual-tests/hash-ref.html: Added.
1225 * manual-tests/resources/hash-ref-test.html: Added.
1227 2008-07-11 Stephanie Lewis <slewis@apple.com>
1229 Reviewed by Darin Adler.
1231 No Functionality Changed. Change all the leak counting code to use the new WTF leak counter class.
1233 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1234 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
1235 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
1236 * bindings/js/JSEventListener.cpp:
1237 (WebCore::JSEventListener::JSEventListener):
1238 (WebCore::JSEventListener::~JSEventListener):
1240 (WebCore::Node::Node):
1241 (WebCore::Node::~Node):
1243 (WebCore::Range::Range):
1244 (WebCore::Range::~Range):
1245 * history/CachedPage.cpp:
1246 (WebCore::CachedPage::CachedPage):
1247 (WebCore::CachedPage::~CachedPage):
1248 * loader/SubresourceLoader.cpp:
1249 (WebCore::SubresourceLoader::SubresourceLoader):
1250 (WebCore::SubresourceLoader::~SubresourceLoader):
1252 (WebCore::Frame::Frame):
1253 (WebCore::Frame::~Frame):
1255 (WebCore::Page::Page):
1256 (WebCore::Page::~Page):
1257 * rendering/RenderObject.cpp:
1258 (WebCore::RenderObject::RenderObject):
1259 (WebCore::RenderObject::~RenderObject):
1260 * rendering/bidi.cpp:
1262 (WebCore::BidiRun::operator delete):
1264 2008-07-11 Sam Weinig <sam@webkit.org>
1266 Reviewed by Mark Rowe.
1268 Update getSubStringLength and selectSubString methods exception throwing conditions
1269 based on SVG working group errata.
1271 Test: svg/custom/selectSubString.html
1273 * svg/SVGTextContentElement.cpp:
1274 (WebCore::SVGTextContentElement::getSubStringLength):
1275 (WebCore::SVGTextContentElement::selectSubString):
1277 2008-07-11 Sam Weinig <sam@webkit.org>
1279 Reviewed by Mark Rowe.
1281 We can only use the Id fast path for querySelector and querySelectorAll
1282 if the selector is purely an Id selector.
1284 Test: fast/dom/SelectorAPI/id-fastpath.html
1287 (WebCore::Node::querySelector):
1288 * dom/SelectorNodeList.cpp:
1289 (WebCore::createSelectorNodeList):
1291 2008-07-11 David Hyatt <hyatt@apple.com>
1293 Implement the DOM level 3 compareDocumentPosition method on Node.
1298 (WebCore::Node::compareDocumentPosition):
1302 2008-07-11 Brady Eidson <beidson@apple.com>
1304 Rubberstamped by Sam
1306 Removed unneeded export
1310 2008-07-11 Kevin McCullough <kmccullough@apple.com>
1314 <rdar://problem/6067178> REGRESSION: Start profile button in profiler
1315 now profiles inspector rather than actual page (19833)
1316 - The JSQuarantinedObjectWrapper should use the wrapped exec state
1317 so that calls to it execute in its quarantined world.
1319 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1320 (WebCore::JSQuarantinedObjectWrapper::construct):
1321 (WebCore::JSQuarantinedObjectWrapper::call):
1323 2008-07-11 Simon Fraser <simon.fraser@apple.com>
1325 Reviewed by Dave Hyatt
1327 StyleRareNonInheritedData needs to initialize and compare
1329 <https://bugs.webkit.org/show_bug.cgi?id=20005>
1331 * rendering/style/RenderStyle.cpp:
1332 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1333 (WebCore::StyleRareNonInheritedData::operator==):
1335 2008-07-11 Simon Fraser <simon.fraser@apple.com>
1337 Reviewed by Dave Hyatt
1339 Bug 18885: RenderLayer::enclosingPositionedAncestor() should
1340 look for transforms, since transforms create containing
1342 <https://bugs.webkit.org/show_bug.cgi?id=18885>
1344 Test: fast/transforms/transform-positioned-ancestor.html
1346 * rendering/RenderLayer.cpp:
1347 (WebCore::RenderLayer::stackingContext):
1348 (WebCore::RenderLayer::enclosingPositionedAncestor):
1349 (WebCore::RenderLayer::enclosingTransformedAncestor):
1351 2008-07-11 Jacob Refstrup <jacob.refstrup@hp.com>
1353 Reviewed by Darin Adler
1355 http://bugs.webkit.org/show_bug.cgi?id=19978
1356 GTK port always ends up with # at the end of resource URLs (and hence can't load files)
1358 - Optimized KURL::removeRef() and used it rather than setRef("")
1359 which after r35040 does the wrong thing.
1361 * platform/KURL.cpp:
1362 (WebCore::KURL::removeRef):
1363 * platform/network/curl/ResourceHandleManager.cpp:
1364 (WebCore::ResourceHandleManager::initializeHandle):
1366 2008-07-11 Simon Hausmann <hausmann@webkit.org>
1368 Fix the Qt/Windows build, include windows.h for HWND directly
1369 instead of implicit inclusion through Timer.h.
1371 * plugins/win/PluginMessageThrottlerWin.h:
1373 2008-07-11 Dan Bernstein <mitz@apple.com>
1375 Reviewed by Darin Adler.
1377 - fix popularity tracking for cached resources, which regressed in r23923
1380 (WebCore::Cache::requestResource): Changed to increase the access count
1381 whenever this function returns a CachedResource and the cache is
1382 enabled, instead of only when creating a new CachedResources. The
1383 incorrect behavior resulted in all resources in the cache having an
1384 access count of exactly 1 at all times.
1385 (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
1387 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
1391 Enable Netscape plugins for the Qt/Windows build.
1393 This required various smaller fixes across a wider set of
1394 files described below.
1396 * WebCore.pro: Add various windows specific files to the build.
1397 * page/Page.h: Extend the #ifdeffery for windows types to include the
1399 * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
1400 the Qt port, as PluginViewWin.cpp uses it.
1401 * platform/graphics/qt/GraphicsContextQt.cpp:
1402 (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
1403 * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
1404 are now implemented through *Win.cpp files.
1405 * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
1406 * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
1407 (WebCore::PluginView::setFrameGeometry): Ditto.
1408 (WebCore::PluginView::PluginView): Ditto.
1409 * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
1410 which expands to HWND directly for the Qt/Windows build and
1411 PlatformWidget for the remaining platforms. That is because
1412 PlatformWidget is QWidget* for the Qt build but for the plugin
1413 window we need a native window, aka HWND.
1414 * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
1416 * plugins/win/PluginViewWin.cpp:
1417 (windowHandleForPlatformWidget): Added a little helper function to
1418 determine the HWND from a PlatformWidget.
1419 (WebCore::registerPluginView): For the Qt port we need to set the
1420 global application instance handle here in the library, as the
1421 browser doesn't do it.
1422 (WebCore::PluginView::handleMouseEvent): Mask out
1423 ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
1424 (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
1425 manually just here to avoid compiling in IntRectWin.cpp.
1426 (WebCore::PluginView::invalidateRegion): Ditto.
1427 (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
1428 on containingWindow() to get the correct HWND for the Qt port.
1429 (WebCore::PluginView::init): Determine the parent HWND for m_window
1430 using windowHandleForPlatformWidget.
1432 2008-07-11 Simon Hausmann <hausmann@webkit.org>
1434 Rubber-stamped by Holger.
1436 Enable Database and Icondatabase functionality for the Qt/Windows
1437 build when building inside Qt, as we can use the builtin copy of
1442 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
1444 Reviewed by Adam Roben.
1446 Fix compile with MinGW since it does not like friend static function.
1448 * plugins/PluginView.h:
1449 * plugins/win/PluginViewWin.cpp:
1451 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
1457 * platform/graphics/qt/GraphicsContextQt.cpp:
1459 2008-07-10 Sam Weinig <sam@webkit.org>
1461 Reviewed by Oliver Hunt.
1463 Add support for NSResolver to resolve namespaces for querySelector
1464 and querySelectorAll.
1466 - Namespace resolution is done after parsing by iterating over all the
1467 parts of the CSSSelector.
1469 Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
1470 fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
1472 * GNUmakefile.am: Updated with new files.
1473 * WebCore.pro: Ditto.
1474 * WebCore.vcproj/WebCore.vcproj: Ditto.
1475 * WebCore.xcodeproj/project.pbxproj: Ditto.
1476 * WebCoreSources.bkl: Ditto.
1478 * bindings/js/JSDOMBinding.cpp:
1479 (WebCore::execStateFromNode):
1480 * bindings/js/JSDOMBinding.h:
1481 Move execStateFromNode here from NodeFilter.
1483 * bindings/js/JSDocumentCustom.cpp:
1484 (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
1485 and instead create one if the argument is not undefined or null.
1486 (WebCore::JSDocument::querySelectorAll): Ditto.
1487 * bindings/js/JSDocumentFragmentCustom.cpp:
1488 (WebCore::JSDocumentFragment::querySelector): Ditto.
1489 (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
1490 * bindings/js/JSElementCustom.cpp:
1491 (WebCore::JSElement::querySelector): Ditto.
1492 (WebCore::JSElement::querySelectorAll): Ditto.
1494 * bindings/js/JSNSResolver.cpp: Added.
1495 (WebCore::JSNSResolver::JSNSResolver):
1496 (WebCore::JSNSResolver::mark):
1497 (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
1498 from the passed in argument, either the value itself, or the result of
1499 getting the lookupNamespaceURI property, and call it.
1500 (WebCore::toNSResolver):
1501 * bindings/js/JSNSResolver.h: Added.
1502 (WebCore::JSNSResolver::create):
1504 * dom/Document.idl: Update with NSResolver parameter.
1505 * dom/DocumentFragment.idl: Ditto.
1506 * dom/Element.idl: Ditto.
1508 * dom/NSResolver.h: Added.
1509 (WebCore::NSResolver::~NSResolver):
1510 (WebCore::NSResolver::mark):
1511 Abstract base class.
1513 * dom/NSResolver.idl: Added.
1516 (WebCore::forEachTagSelector):
1517 (WebCore::forEachSelector):
1518 Functions to iterate over all parts of the selector.
1520 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
1521 Functor to be passed to forEachSelector to determine if a selector
1522 needs namespace resolution, for the case when no NSResolver is passed
1523 and we need to determine whether to throw a NAMESPACE_ERR.
1525 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
1526 (WebCore::ResolveNamespaceFunctor::operator()):
1527 Functor to resolve namespaces for the selector.
1529 (WebCore::selectorNeedsNamespaceResolution):
1530 (WebCore::resolveNamespacesForSelector):
1531 (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
1532 if a NSResolver is passed in.
1533 (WebCore::Node::querySelectorAll): Ditto.
1536 * dom/NodeFilter.cpp:
1538 * dom/NodeIterator.h:
1539 (WebCore::NodeIterator::nextNode):
1540 (WebCore::NodeIterator::previousNode):
1542 (WebCore::TreeWalker::parentNode):
1543 (WebCore::TreeWalker::firstChild):
1544 (WebCore::TreeWalker::lastChild):
1545 (WebCore::TreeWalker::previousSibling):
1546 (WebCore::TreeWalker::nextSibling):
1547 (WebCore::TreeWalker::previousNode):
1548 (WebCore::TreeWalker::nextNode):
1549 Use the version of execStateFromNode in JSDOMBinding.
1551 2008-07-10 Mark Rowe <mrowe@apple.com>
1553 Reviewed by Sam Weinig.
1555 Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
1557 * Configurations/WebCore.xcconfig:
1559 2008-07-10 Dean Jackson <dino@apple.com>
1563 Calculate computed style for -webkit-transform property
1564 https://bugs.webkit.org/show_bug.cgi?id=19864
1566 Test: css3/transform-computed-style-001.html
1568 * css/CSSComputedStyleDeclaration.cpp:
1569 (WebCore::computedTransform):
1570 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1571 handles -webkit-transform property now
1572 * manual-tests/computed-transform-value.html: Added.
1574 2008-07-10 Dan Bernstein <mitz@apple.com>
1576 Reviewed by Adam Roben.
1578 - fix a parse error in inspector.js
1580 * page/inspector/inspector.js: Added missing brace.
1582 2008-07-10 Adam Roben <aroben@apple.com>
1586 * WebCore.vcproj/QTMovieWin.vcproj: Add
1587 OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
1589 2008-07-10 Chris Fleizach <cfleizach@apple.com>
1591 Reviewed by Dan Bernstein
1593 <rdar://problem/6067408> AX: internal anchors broken
1595 * page/AccessibilityRenderObject.cpp:
1596 (WebCore::AccessibilityRenderObject::internalLinkElement):
1597 * platform/KURL.cpp:
1598 (WebCore::KURL::removeRef):
1601 2008-07-10 Mark Rowe <mrowe@apple.com>
1605 * bridge/npapi.h: Remove extra comma.
1607 2008-07-10 Sam Weinig <sam@webkit.org>
1609 Reviewed by Mark Rowe.
1611 Remove no-op debug method.
1613 * css/CSSSelector.cpp:
1614 * css/CSSSelector.h:
1616 2008-07-10 Sam Weinig <sam@webkit.org>
1618 Reviewed by Dave Hyatt and Darin Adler.
1620 Add support for calling querySelector and querySelectorAll on DocumentFragments
1622 - Fixes bug where nodes not in the document tree would not match based on ID due
1623 to over optimization.
1625 Test: fast/dom/SelectorAPI/detached-element.html
1629 * WebCore.vcproj/WebCore.vcproj:
1630 * WebCore.xcodeproj/project.pbxproj:
1631 * WebCoreSources.bkl:
1632 * bindings/js/JSDocumentFragmentCustom.cpp: Added.
1633 (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
1634 and JSDocument that checks for a 2nd arguments and throws an exception indicating
1635 we do not currently support the optional NSResolver part of the Selectors API spec.
1636 (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
1637 * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
1640 (WebCore::Node::querySelector): Make the CSS parser parse the selector
1641 according to the strictness of the document so that mixed case ID selectors
1642 match in quirks mode. Also, don't use the fast ID path if the root is not
1643 in the DOM tree, as it won't work.
1644 (WebCore::Node::querySelectorAll): Ditto.
1645 * dom/SelectorNodeList.cpp:
1646 (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
1647 in the DOM tree, as it won't work.
1649 2008-07-10 Anthony Ricaud <rik24d@gmail.com>
1651 Bug 19389: querySelectorAll exception while searching invalid CSS selector
1652 <https://bugs.webkit.org/show_bug.cgi?id=19389>
1654 Reviewed by Tim Hatcher.
1656 * page/inspector/inspector.js: Added a try/catch block.
1658 2008-07-10 Brent Fulgham <bfulgham@gmail.com>
1660 Correct a build regression due to an uninitialized variable.
1662 <https://bugs.webkit.org/show_bug.cgi?id=19976>
1666 * platform/graphics/cairo/FontCairo.cpp:
1667 (WebCore::Font::drawGlyphs):
1669 2008-07-10 Adam Roben <aroben@apple.com>
1671 Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
1672 HTMLCollection::resetCollectionInfo (codegen issue?)
1674 <https://bugs.webkit.org/show_bug.cgi?id=19580>
1677 Reviewed by Cameron Zwarich.
1679 * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
1680 which was causing some bad codegen in HTMLFormElement::elements.
1681 * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
1683 2008-07-10 Anders Carlsson <andersca@apple.com>
1687 <rdar://problem/6067135>
1688 WebKit should respond true to a query for NPNVSupportsWindowless.
1690 Handle NPNVSupportsWindowless and return true.
1693 * plugins/win/PluginViewWin.cpp:
1694 (WebCore::PluginView::getValue):
1696 2008-07-10 Kevin McCullough <kmccullough@apple.com>
1700 -Minor cleanup. Renamed callTree() to head() and no longer use m_head
1701 directly but instead keep it private and access via a method().
1703 * page/JavaScriptProfile.cpp:
1704 (WebCore::getHeadCallback):
1706 2008-07-10 Simon Fraser <simon.fraser@apple.com>
1708 When a mask image changes, ensure that elements
1709 that use that mask image are repainted correctly.
1711 <https://bugs.webkit.org/show_bug.cgi?id=19954>
1713 Reviewed by Dave Hyatt
1715 * manual-tests/canvas-mask-redraw.html
1717 * rendering/RenderBox.cpp:
1718 (WebCore::RenderBox::imageChanged):
1719 (WebCore::RenderBox::repaintLayerRectsForImage):
1720 * rendering/RenderBox.h:
1721 Loop through background layers and mask layers, and
1722 if this image is used in a layer, compute a repaint
1724 * rendering/RenderImage.cpp:
1725 (WebCore::RenderImage::imageChanged):
1726 If this image has a mask, call the base class method.
1727 * rendering/RenderObject.cpp:
1728 Remove a bogus 'return'.
1730 2008-07-10 Simon Fraser <simon.fraser@apple.com>
1732 Transforms create a containing block, so
1733 RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
1734 <https://bugs.webkit.org/show_bug.cgi?id=18886>
1736 Reviewed by Dave Hyatt
1738 Test: fast/transforms/transform-overflow.html
1740 * rendering/RenderLayer.cpp:
1741 (WebCore::RenderLayer::shouldBeOverflowOnly):
1743 2008-07-09 Alex Mathews <possessedpenguinbob@gmail.com>
1745 Reviewed by Oliver Hunt.
1747 bug 19835: WebKit needs cross-platform filter system
1748 <https://bugs.webkit.org/show_bug.cgi?id=19835>
1750 More class refactoring in preparation for cross-platform filter
1753 * WebCore.xcodeproj/project.pbxproj:
1754 * rendering/SVGRenderTreeAsText.h:
1755 (WebCore::operator<<):
1756 * svg/FilterEffect.cpp:
1757 (WebCore::FilterEffect::externalRepresentation):
1758 * svg/FilterEffect.h:
1759 * svg/SVGFEBlendElement.cpp:
1760 (WebCore::SVGFEBlendElement::build):
1761 * svg/SVGFEBlendElement.h:
1762 * svg/SVGFEColorMatrixElement.cpp:
1763 (WebCore::SVGFEColorMatrixElement::build):
1764 * svg/SVGFEColorMatrixElement.h:
1765 * svg/SVGFEComponentTransferElement.cpp:
1766 (WebCore::SVGFEComponentTransferElement::build):
1767 * svg/SVGFEComponentTransferElement.h:
1768 * svg/SVGFECompositeElement.cpp:
1769 (WebCore::SVGFECompositeElement::build):
1770 * svg/SVGFECompositeElement.h:
1771 * svg/SVGFEDiffuseLightingElement.cpp:
1772 (WebCore::SVGFEDiffuseLightingElement::filterEffect):
1773 (WebCore::SVGFEDiffuseLightingElement::build):
1774 (WebCore::SVGFEDiffuseLightingElement::findLights):
1775 * svg/SVGFEDiffuseLightingElement.h:
1776 * svg/SVGFEDisplacementMapElement.cpp:
1777 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
1778 (WebCore::SVGFEDisplacementMapElement::stringToChannel):
1779 (WebCore::SVGFEDisplacementMapElement::filterEffect):
1780 (WebCore::SVGFEDisplacementMapElement::build):
1781 * svg/SVGFEDisplacementMapElement.h:
1782 * svg/SVGFEFloodElement.cpp:
1783 (WebCore::SVGFEFloodElement::filterEffect):
1784 (WebCore::SVGFEFloodElement::build):
1785 * svg/SVGFEFloodElement.h:
1786 (WebCore::SVGFEFloodElement::contextElement):
1787 * svg/SVGFEGaussianBlurElement.cpp:
1788 (WebCore::SVGFEGaussianBlurElement::filterEffect):
1789 (WebCore::SVGFEGaussianBlurElement::build):
1790 * svg/SVGFEGaussianBlurElement.h:
1791 * svg/SVGFEImageElement.cpp:
1792 (WebCore::SVGFEImageElement::filterEffect):
1793 (WebCore::SVGFEImageElement::build):
1794 * svg/SVGFEImageElement.h:
1795 * svg/SVGFEMergeElement.cpp:
1796 (WebCore::SVGFEMergeElement::filterEffect):
1797 (WebCore::SVGFEMergeElement::build):
1798 * svg/SVGFEMergeElement.h:
1799 (WebCore::SVGFEMergeElement::contextElement):
1800 * svg/SVGFEOffsetElement.cpp:
1801 (WebCore::SVGFEOffsetElement::filterEffect):
1802 (WebCore::SVGFEOffsetElement::build):
1803 * svg/SVGFEOffsetElement.h:
1804 * svg/SVGFESpecularLightingElement.cpp:
1805 (WebCore::SVGFESpecularLightingElement::filterEffect):
1806 (WebCore::SVGFESpecularLightingElement::findLights):
1807 (WebCore::SVGFESpecularLightingElement::build):
1808 * svg/SVGFESpecularLightingElement.h:
1809 * svg/SVGFETileElement.cpp:
1810 (WebCore::SVGFETileElement::filterEffect):
1811 (WebCore::SVGFETileElement::build):
1812 * svg/SVGFETileElement.h:
1813 * svg/SVGFETurbulenceElement.cpp:
1814 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
1815 (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
1816 (WebCore::SVGFETurbulenceElement::filterEffect):
1817 (WebCore::SVGFETurbulenceElement::build):
1818 * svg/SVGFETurbulenceElement.h:
1819 * svg/SVGFilterPrimitiveStandardAttributes.h:
1820 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1821 (WebCore::FEConvolveMatrix::FEConvolveMatrix):
1822 (WebCore::FEConvolveMatrix::create):
1823 (WebCore::FEConvolveMatrix::kernelSize):
1824 (WebCore::FEConvolveMatrix::setKernelSize):
1825 (WebCore::FEConvolveMatrix::kernel):
1826 (WebCore::FEConvolveMatrix::setKernel):
1827 (WebCore::FEConvolveMatrix::divisor):
1828 (WebCore::FEConvolveMatrix::setDivisor):
1829 (WebCore::FEConvolveMatrix::bias):
1830 (WebCore::FEConvolveMatrix::setBias):
1831 (WebCore::FEConvolveMatrix::targetOffset):
1832 (WebCore::FEConvolveMatrix::setTargetOffset):
1833 (WebCore::FEConvolveMatrix::edgeMode):
1834 (WebCore::FEConvolveMatrix::setEdgeMode):
1835 (WebCore::FEConvolveMatrix::kernelUnitLength):
1836 (WebCore::FEConvolveMatrix::setKernelUnitLength):
1837 (WebCore::FEConvolveMatrix::preserveAlpha):
1838 (WebCore::FEConvolveMatrix::setPreserveAlpha):
1839 (WebCore::FEConvolveMatrix::apply):
1840 (WebCore::FEConvolveMatrix::dump):
1841 (WebCore::operator<<):
1842 (WebCore::FEConvolveMatrix::externalRepresentation):
1843 * svg/graphics/filters/SVGFEConvolveMatrix.h:
1845 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1846 (WebCore::FEDiffuseLighting::FEDiffuseLighting):
1847 (WebCore::FEDiffuseLighting::create):
1848 (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
1849 (WebCore::FEDiffuseLighting::lightingColor):
1850 (WebCore::FEDiffuseLighting::setLightingColor):
1851 (WebCore::FEDiffuseLighting::surfaceScale):
1852 (WebCore::FEDiffuseLighting::setSurfaceScale):
1853 (WebCore::FEDiffuseLighting::diffuseConstant):
1854 (WebCore::FEDiffuseLighting::setDiffuseConstant):
1855 (WebCore::FEDiffuseLighting::kernelUnitLengthX):
1856 (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
1857 (WebCore::FEDiffuseLighting::kernelUnitLengthY):
1858 (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
1859 (WebCore::FEDiffuseLighting::lightSource):
1860 (WebCore::FEDiffuseLighting::setLightSource):
1861 (WebCore::FEDiffuseLighting::apply):
1862 (WebCore::FEDiffuseLighting::dump):
1863 (WebCore::FEDiffuseLighting::externalRepresentation):
1864 * svg/graphics/filters/SVGFEDiffuseLighting.h:
1865 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1866 (WebCore::FEDisplacementMap::FEDisplacementMap):
1867 (WebCore::FEDisplacementMap::create):
1868 (WebCore::FEDisplacementMap::xChannelSelector):
1869 (WebCore::FEDisplacementMap::setXChannelSelector):
1870 (WebCore::FEDisplacementMap::yChannelSelector):
1871 (WebCore::FEDisplacementMap::setYChannelSelector):
1872 (WebCore::FEDisplacementMap::scale):
1873 (WebCore::FEDisplacementMap::setScale):
1874 (WebCore::FEDisplacementMap::apply):
1875 (WebCore::FEDisplacementMap::dump):
1876 (WebCore::operator<<):
1877 (WebCore::FEDisplacementMap::externalRepresentation):
1878 * svg/graphics/filters/SVGFEDisplacementMap.h:
1880 * svg/graphics/filters/SVGFEFlood.cpp:
1881 (WebCore::FEFlood::FEFlood):
1882 (WebCore::FEFlood::create):
1883 (WebCore::FEFlood::floodColor):
1884 (WebCore::FEFlood::setFloodColor):
1885 (WebCore::FEFlood::floodOpacity):
1886 (WebCore::FEFlood::setFloodOpacity):
1887 (WebCore::FEFlood::apply):
1888 (WebCore::FEFlood::dump):
1889 (WebCore::FEFlood::externalRepresentation):
1890 * svg/graphics/filters/SVGFEFlood.h:
1891 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
1892 (WebCore::FEGaussianBlur::FEGaussianBlur):
1893 (WebCore::FEGaussianBlur::create):
1894 (WebCore::FEGaussianBlur::stdDeviationX):
1895 (WebCore::FEGaussianBlur::setStdDeviationX):
1896 (WebCore::FEGaussianBlur::stdDeviationY):
1897 (WebCore::FEGaussianBlur::setStdDeviationY):
1898 (WebCore::FEGaussianBlur::apply):
1899 (WebCore::FEGaussianBlur::dump):
1900 (WebCore::FEGaussianBlur::externalRepresentation):
1901 * svg/graphics/filters/SVGFEGaussianBlur.h:
1902 * svg/graphics/filters/SVGFEImage.cpp:
1903 (WebCore::FEImage::FEImage):
1904 (WebCore::FEImage::create):
1905 (WebCore::FEImage::~FEImage):
1906 (WebCore::FEImage::cachedImage):
1907 (WebCore::FEImage::apply):
1908 (WebCore::FEImage::dump):
1909 (WebCore::FEImage::externalRepresentation):
1910 * svg/graphics/filters/SVGFEImage.h:
1911 * svg/graphics/filters/SVGFEMerge.cpp:
1912 (WebCore::FEMerge::FEMerge):
1913 (WebCore::FEMerge::create):
1914 (WebCore::FEMerge::mergeInputs):
1915 (WebCore::FEMerge::setMergeInputs):
1916 (WebCore::FEMerge::apply):
1917 (WebCore::FEMerge::dump):
1918 (WebCore::FEMerge::externalRepresentation):
1919 * svg/graphics/filters/SVGFEMerge.h:
1920 * svg/graphics/filters/SVGFEMorphology.cpp:
1921 (WebCore::FEMorphology::FEMorphology):
1922 (WebCore::FEMorphology::create):
1923 (WebCore::FEMorphology::morphologyOperator):
1924 (WebCore::FEMorphology::setMorphologyOperator):
1925 (WebCore::FEMorphology::radiusX):
1926 (WebCore::FEMorphology::setRadiusX):
1927 (WebCore::FEMorphology::radiusY):
1928 (WebCore::FEMorphology::setRadiusY):
1929 (WebCore::FEMorphology::apply):
1930 (WebCore::FEMorphology::dump):
1931 (WebCore::operator<<):
1932 (WebCore::FEMorphology::externalRepresentation):
1933 * svg/graphics/filters/SVGFEMorphology.h:
1935 * svg/graphics/filters/SVGFEOffset.cpp:
1936 (WebCore::FEOffset::FEOffset):
1937 (WebCore::FEOffset::create):
1938 (WebCore::FEOffset::dx):
1939 (WebCore::FEOffset::setDx):
1940 (WebCore::FEOffset::dy):
1941 (WebCore::FEOffset::setDy):
1942 (WebCore::FEOffset::apply):
1943 (WebCore::FEOffset::dump):
1944 (WebCore::FEOffset::externalRepresentation):
1945 * svg/graphics/filters/SVGFEOffset.h:
1946 * svg/graphics/filters/SVGFESpecularLighting.cpp:
1947 (WebCore::FESpecularLighting::FESpecularLighting):
1948 (WebCore::FESpecularLighting::create):
1949 (WebCore::FESpecularLighting::~FESpecularLighting):
1950 (WebCore::FESpecularLighting::lightingColor):
1951 (WebCore::FESpecularLighting::setLightingColor):
1952 (WebCore::FESpecularLighting::surfaceScale):
1953 (WebCore::FESpecularLighting::setSurfaceScale):
1954 (WebCore::FESpecularLighting::specularConstant):
1955 (WebCore::FESpecularLighting::setSpecularConstant):
1956 (WebCore::FESpecularLighting::specularExponent):
1957 (WebCore::FESpecularLighting::setSpecularExponent):
1958 (WebCore::FESpecularLighting::kernelUnitLengthX):
1959 (WebCore::FESpecularLighting::setKernelUnitLengthX):
1960 (WebCore::FESpecularLighting::kernelUnitLengthY):
1961 (WebCore::FESpecularLighting::setKernelUnitLengthY):
1962 (WebCore::FESpecularLighting::lightSource):
1963 (WebCore::FESpecularLighting::setLightSource):
1964 (WebCore::FESpecularLighting::apply):
1965 (WebCore::FESpecularLighting::dump):
1966 (WebCore::FESpecularLighting::externalRepresentation):
1967 * svg/graphics/filters/SVGFESpecularLighting.h:
1968 * svg/graphics/filters/SVGFETile.cpp:
1969 (WebCore::FETile::FETile):
1970 (WebCore::FETile::create):
1971 (WebCore::FETile::apply):
1972 (WebCore::FETile::dump):
1973 (WebCore::FETile::externalRepresentation):
1974 * svg/graphics/filters/SVGFETile.h:
1975 * svg/graphics/filters/SVGFETurbulence.cpp:
1976 (WebCore::FETurbulence::FETurbulence):
1977 (WebCore::FETurbulence::create):
1978 (WebCore::FETurbulence::type):
1979 (WebCore::FETurbulence::setType):
1980 (WebCore::FETurbulence::baseFrequencyY):
1981 (WebCore::FETurbulence::setBaseFrequencyY):
1982 (WebCore::FETurbulence::baseFrequencyX):
1983 (WebCore::FETurbulence::setBaseFrequencyX):
1984 (WebCore::FETurbulence::seed):
1985 (WebCore::FETurbulence::setSeed):
1986 (WebCore::FETurbulence::numOctaves):
1987 (WebCore::FETurbulence::setNumOctaves):
1988 (WebCore::FETurbulence::stitchTiles):
1989 (WebCore::FETurbulence::setStitchTiles):
1990 (WebCore::FETurbulence::apply):
1991 (WebCore::FETurbulence::dump):
1992 (WebCore::operator<<):
1993 (WebCore::FETurbulence::externalRepresentation):
1994 * svg/graphics/filters/SVGFETurbulence.h:
1996 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
1997 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
1998 * svg/graphics/filters/cg/SVGFEFloodCg.mm:
1999 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
2000 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
2001 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
2002 (WebCore::getVectorForChannel):
2003 * svg/graphics/filters/cg/SVGFEImageCg.mm:
2004 * svg/graphics/filters/cg/SVGFEMergeCg.mm:
2005 * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
2006 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
2007 * svg/graphics/filters/cg/SVGFETileCg.mm:
2009 2008-07-09 Mark Rowe <mrowe@apple.com>
2011 Reviewed by Geoff Garen.
2013 Don't warn about deprecated functions in production builds.
2015 * Configurations/Base.xcconfig:
2016 * Configurations/DebugRelease.xcconfig:
2018 2008-07-09 Brady Eidson <beidson@apple.com>
2022 <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
2023 has been installed in a frame tree.
2025 The root of this problem was that calling init() on a new frame could end up calling arbitrary
2026 javascript that might end up removing the frame from the tree. This opened up a small can of worms
2027 such as the frame not having yet been installed in its frame tree, and other assumed behavior while
2028 destroying the frame.
2030 Test: fast/loader/frame-creation-removal.html
2032 * loader/FrameLoader.cpp:
2033 (WebCore::FrameLoader::endIfNotLoadingMainResource): If the frame doesn't have a page, don't close up
2034 the document and parser because they don't exist, and this frame is on its way out.
2035 (WebCore::FrameLoader::finishedParsing): We can't rely on the refCount check to discover "am I being deleted?"
2036 because we no longer store refCounts of 0. The new check is "do I have a FrameView?" while will always be
2037 false if the Frame is being destroyed.
2039 2008-07-09 Dean Jackson <dino@apple.com>
2041 Changed to use the correct license in header comment (via Darin)
2043 * css/WebKitCSSTransformValue.idl:
2045 2008-07-09 Dean Jackson <dino@apple.com>
2047 Add DOM interface for WebKitCSSTransformValue.
2048 https://bugs.webkit.org/show_bug.cgi?id=19863
2052 * bindings/objc/DOMInternal.h:
2053 * css/WebKitCSSTransformValue.idl: Added.
2055 * bindings/scripts/CodeGeneratorObjC.pm:
2056 make sure new class inherits from CSSValue not Node
2058 * DerivedSources.make:
2061 * WebCore.vcproj/WebCore.vcproj:
2062 * WebCore.xcodeproj/project.pbxproj:
2063 * WebCoreSources.bkl:
2064 Adding new generated files
2066 2008-07-09 Maxime Britto <britto@apple.com>
2070 http://bugs.webkit.org/show_bug.cgi?id=14227
2071 Add the middle click panning feature to the windows release.
2072 Details on almost each method below.
2073 Manual test is included in the patch.
2076 * WebCore.vcproj/WebCore.vcproj:
2077 * manual-tests/panScroll.html: Added.
2078 * manual-tests/resources/big-page.html: Added.
2079 * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
2080 (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
2081 (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
2082 (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
2083 (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
2084 (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
2085 (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
2086 (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method.
2087 * page/EventHandler.h:
2088 (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
2089 (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
2090 * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags
2091 * platform/gtk/ScrollViewGtk.cpp:
2092 (WebCore::ScrollView::isScrollable): Not implemented : returns true
2093 * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
2094 (WebCore::ScrollView::isScrollable):
2095 * platform/qt/ScrollViewQt.cpp:
2096 (WebCore::ScrollView::isScrollable): Not implemented : returns true
2097 * platform/win/ScrollViewWin.cpp:
2098 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
2099 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one.
2100 (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method
2101 (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
2102 (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
2103 (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
2104 (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
2105 (WebCore::ScrollView::paint): Modified to draw the icon if needed.
2106 * platform/wx/ScrollViewWx.cpp:
2107 (WebCore::ScrollView::isScrollable): Not implemented : returns true
2108 * rendering/RenderLayer.cpp:
2109 (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll.
2110 * rendering/RenderLayer.h:
2111 * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
2112 (WebCore::RenderListBox::panScroll):
2113 (WebCore::RenderListBox::scrollToward):
2114 (WebCore::RenderListBox::autoscroll):
2115 * rendering/RenderListBox.h:
2116 (WebCore::RenderListBox::shouldPanScroll):
2117 * rendering/RenderObject.cpp:
2118 (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
2119 (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
2120 * rendering/RenderObject.h:
2121 (WebCore::RenderObject::stopPanScroll):
2123 2008-07-09 Dean Jackson <dino@apple.com>
2125 Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
2126 the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
2127 https://bugs.webkit.org/show_bug.cgi?id=19861
2131 * css/CSSParser.cpp:
2132 * css/CSSStyleSelector.cpp:
2133 * css/CSSTransformValue.cpp: Removed.
2134 * css/CSSTransformValue.h: Removed.
2135 * css/CSSValueList.h:
2136 * css/WebKitCSSTransformValue.cpp: Added.
2137 * css/WebKitCSSTransformValue.h: Added.
2142 * WebCore.vcproj/WebCore.vcproj:
2143 * WebCore.xcodeproj/project.pbxproj:
2144 * WebCoreSources.bkl:
2145 updated for new file names
2148 2008-07-09 David Hyatt <hyatt@apple.com>
2150 Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
2151 change. Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
2156 * manual-tests/transitions.html:
2157 * manual-tests/transitions2.html:
2158 * page/AnimationController.cpp:
2159 (WebCore::ImplicitAnimation::reset):
2160 (WebCore::CompositeImplicitAnimation::animate):
2161 (WebCore::AnimationControllerPrivate::get):
2162 (WebCore::AnimationController::updateImplicitAnimations):
2164 2008-07-09 Michelangelo De Simone <m.des@mac.com>
2168 Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
2170 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2171 Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
2172 * dom/Node.h: Added base isTextControl().
2173 * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
2174 * html/HTMLTextAreaElement.h: Added isTextControl().
2176 2008-07-09 Rob Buis <buis@kde.org>
2180 https://bugs.webkit.org/show_bug.cgi?id=15431
2181 SVGRenderStyle should store pre-modified resource URIs
2183 Store pre-modified resource URIs to decrease string
2184 operations during layout/rendering.
2186 * css/SVGCSSStyleSelector.cpp:
2187 (WebCore::CSSStyleSelector::applySVGProperty):
2188 * rendering/RenderPath.cpp:
2189 (WebCore::RenderPath::absoluteClippedOverflowRect):
2190 (WebCore::RenderPath::drawMarkersIfNeeded):
2191 * rendering/RenderSVGContainer.cpp:
2192 (WebCore::RenderSVGContainer::selfWillPaint):
2193 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
2194 * rendering/RenderSVGImage.cpp:
2195 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
2196 * rendering/RenderSVGRoot.cpp:
2197 (WebCore::RenderSVGRoot::paint):
2198 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
2199 * rendering/RenderSVGText.cpp:
2200 (WebCore::RenderSVGText::absoluteClippedOverflowRect):
2201 * rendering/SVGRenderSupport.cpp:
2202 (WebCore::prepareToRenderSVGContent):
2204 2008-07-09 Anders Carlsson <andersca@apple.com>
2208 Remove an unused instance variable.
2210 * loader/DocumentLoader.h:
2212 2008-07-09 Dan Bernstein <mitz@apple.com>
2214 Reviewed by Anders Carlsson.
2216 - remove unused #includes
2218 * dom/XMLTokenizer.cpp:
2219 * html/PreloadScanner.cpp:
2220 * loader/CachedCSSStyleSheet.cpp:
2221 * loader/CachedScript.cpp:
2222 * loader/CachedXBLDocument.cpp:
2223 * loader/CachedXSLStyleSheet.cpp:
2224 * page/mac/FrameMac.mm:
2225 * xml/XSLTProcessor.cpp:
2227 2008-07-08 Geoffrey Garen <ggaren@apple.com>
2229 Reviewed by Oliver Hunt.
2231 Only artificially mark JS DOM wrappers if they have custom properties.
2233 21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
2235 No, that is not a typo.
2237 * bindings/js/JSDOMBinding.cpp:
2238 (WebCore::ScriptInterpreter::markDOMNodesForDocument):
2240 2008-07-08 Kevin Watters <kevinwatters@gmail.com>
2242 Reviewed by Kevin Ollivier.
2244 Fix to previous patch for handling mouse up events.
2246 https://bugs.webkit.org/show_bug.cgi?id=18464
2248 * platform/wx/MouseEventWx.cpp:
2249 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2251 2008-07-08 Dan Bernstein <mitz@apple.com>
2253 Reviewed by Brady Eidson.
2255 - initialize the Archives log channel's state
2257 * platform/mac/LoggingMac.mm:
2258 (WebCore::InitializeLoggingChannelsIfNecessary):
2260 2008-07-08 Kevin McCullough <kmccullough@apple.com>
2262 Added manual test for the new heavy view.
2264 * manual-tests/inspector/profiler-test-heavy-view.html: Added.
2266 2008-07-08 Darin Adler <darin@apple.com>
2270 - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
2271 looks wrong due to OpenCube QuickMenu appVersion check
2273 * page/Navigator.cpp:
2274 (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
2276 2008-07-08 Dan Bernstein <mitz@apple.com>
2278 Reviewed by John Sullivan.
2280 - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
2282 Added a setting, updatesWhenOffscreen(), which controls whether an
2283 offscreen web view gets marked as needing update when its contents
2284 change (the existing behavior) or not (a new behavior), in which case it
2285 will be marked as needing update just before it goes on screen. The
2286 existing behavior (updating while offscreen) remains the default.
2288 * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
2289 * page/FrameView.cpp:
2290 (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
2291 value from settings.
2293 * page/Settings.cpp:
2294 (WebCore::Settings::setUpdatesWhenOffscreen): Added.
2296 (WebCore::Settings::updatesWhenOffscreen): Added.
2297 * platform/ScrollView.h:
2298 * platform/mac/ScrollViewMac.mm:
2299 (WebCore::ScrollView::updateContents): Added code to return early and
2300 not call -setNeedsDisplayInRect: if the view is not in a visible window
2301 and the setting is not to update when offscreen.
2303 2008-07-08 Simon Hausmann <hausmann@webkit.org>
2305 Fix the build with enabled SVG filters.
2307 * svg/SVGFESpecularLightingElement.cpp: The last argument to
2308 ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
2311 2008-07-07 Sam Weinig <sam@webkit.org>
2313 Reviewed by Anders Carlsson.
2315 Remove extraneous null check.
2318 (WebCore::Node::querySelector):
2319 (WebCore::Node::querySelectorAll):
2321 2008-07-07 Sam Weinig <sam@webkit.org>
2323 Reviewed by Anders Carlsson.
2325 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
2326 Use of CSS3 Namespaces syntax in Selectors API should throw an exception
2328 - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
2329 used in a selector passed to querySelector or querySelectorAll.
2331 Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
2334 (WebCore::selectorNeedsNamespaceResolution):
2335 (WebCore::Node::querySelector):
2336 (WebCore::Node::querySelectorAll):
2338 2008-07-07 Simon Fraser <simon.fraser@apple.com>
2342 Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
2343 nodeIterator with filter fails on documents not in a frame
2345 Tests: traversal/node-iterator-009.html
2346 traversal/tree-walker-006.html
2348 * bindings/js/JSNodeFilterCondition.cpp:
2349 * bindings/js/JSNodeFilterCondition.h:
2350 * bindings/js/JSNodeFilterCustom.cpp:
2351 * bindings/js/JSNodeIteratorCustom.cpp:
2352 * bindings/js/JSTreeWalkerCustom.cpp:
2353 * bindings/objc/DOM.mm:
2354 * dom/NodeFilter.cpp:
2356 * dom/NodeFilterCondition.cpp:
2357 * dom/NodeFilterCondition.h:
2358 * dom/NodeIterator.cpp:
2359 * dom/NodeIterator.h:
2360 * dom/Traversal.cpp:
2362 * dom/TreeWalker.cpp:
2365 2008-07-07 Adele Peterson <adele@apple.com>
2367 Reviewed by Dan Bernstein.
2369 Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
2370 <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.
2372 * page/DragController.cpp: (WebCore::DragController::concludeDrag):
2373 Check that the file control is enabled before taking dropped files.
2375 2008-07-07 Adele Peterson <adele@apple.com>
2379 Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
2381 Change default volume setting to 1.0.
2383 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
2384 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
2386 2008-07-07 Darin Adler <darin@apple.com>
2388 Reviewed by Mark Rowe.
2390 - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
2392 The old version of the OpenCube QuickMenu library used on this site still has code
2393 that detects Netscape 4 by checking appVersion to see if it has the substring "4."
2394 in it. We decided to special-case the filename of the script and tweak the appVersion
2395 for files with that name.
2397 * bindings/js/ScriptController.cpp:
2398 (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
2399 m_sourceURL. Use false instead of 0 to initialize a boolean.
2400 (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
2401 Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
2402 maintained the value of m_processingInlineCode, since the old code set it to
2403 false rather than restoring it. Renamed a local variable named sourceURL to
2404 exceptionSourceURL for clarity.
2405 (WebCore::ScriptController::processingUserGesture): Code that formerly used
2406 m_processingInlineCode to detect that it was evaluating code with no URL now
2407 uses m_sourceURL to do the same check.
2409 * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
2410 been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
2411 removed m_processingInlineCode.
2413 * page/Navigator.cpp:
2414 (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
2415 a source URL ending in "/dqm_script.js" and if the settings say we should do
2416 site-specific quirks (really JavaScript-library-specific in this case).
2417 (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.
2419 2008-07-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
2423 Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
2424 <https://bugs.webkit.org/show_bug.cgi?id=19907>
2426 Clear exceptions set on ExecStates before returning from NPAPI
2427 callbacks, in order to avoid causing problems for the next script that
2430 While fixing this bug, the question was raised of whether we are
2431 correctly propagating exception information back to the caller:
2433 Bug 19936: Correctly propagate exception information from NPAPI callbacks
2434 <https://bugs.webkit.org/show_bug.cgi?id=19936>
2436 * bridge/NP_jsobject.cpp:
2437 (_NPN_InvokeDefault):
2442 (_NPN_RemoveProperty):
2447 2008-07-07 Dan Bernstein <mitz@apple.com>
2449 Reviewed by Darin Adler.
2451 - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
2453 * css/CSSFontFaceSource.cpp:
2454 (WebCore::CSSFontFaceSource::getFontData): Added a null check because
2455 docLoader() can return 0 now.
2456 * css/CSSFontSelector.cpp:
2457 (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
2458 (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
2459 (WebCore::CSSFontSelector::fontLoaded): Ditto.
2460 (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
2461 (WebCore::fontDataForGenericFamily): Added a null check of document.
2462 * css/CSSFontSelector.h:
2463 (WebCore::CSSFontSelector::clearDocument): Added.
2464 * css/CSSStyleSelector.cpp:
2465 (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
2466 CSSFontSelector::clearDocument(). When the style selector is destroyed,
2467 there is no guarantee that the document will continue to exist.
2469 2008-07-07 Julien Chaffraix <jchaffraix@webkit.org>
2475 * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
2476 * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
2478 2008-07-07 Michelangelo De Simone <m.des@mac.com>
2482 Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
2484 URL: http://www.w3.org/TR/web-forms-2/#relation
2486 Tests: fast/css/readonly-pseudoclass-opera-001.html
2487 fast/css/readonly-pseudoclass-opera-002.html
2488 fast/css/readonly-pseudoclass-opera-003.html
2489 fast/css/readonly-pseudoclass-opera-004.html
2490 fast/css/readonly-pseudoclass-opera-005.html
2492 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
2493 Added "read-only" and "read-write" values for PseudoType extraction.
2494 * css/CSSSelector.h: (WebCore::CSSSelector::):
2495 Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
2496 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2497 Checks to determine whether to match :read-only and :read-write pseudoclasses on
2500 2008-07-07 Sam Weinig <sam@webkit.org>
2502 Reviewed by Geoffrey Garen.
2504 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
2505 querySelectorAll should throw an exception if a NSResolver is passed in.
2507 - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
2508 as the second argument to querySelector or querySelectorAll.
2510 Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
2512 * bindings/js/JSDocumentCustom.cpp:
2513 (WebCore::JSDocument::querySelector):
2514 (WebCore::JSDocument::querySelectorAll):
2515 * bindings/js/JSElementCustom.cpp:
2516 (WebCore::JSElement::querySelector):
2517 (WebCore::JSElement::querySelectorAll):
2521 2008-07-07 Brady Eidson <beidson@apple.com>
2523 Reviewed by Mitz and Geoff
2525 Test: fast/loader/empty-ref-versus-no-ref.html
2527 Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
2528 "all DOM operations stop working when location.hash set to '#'"
2530 The underlying problem is that KURL didn't really know the difference between "empty ref"
2531 and "no ref at all" when changing the ref. So changing to the empty ref in JS ended up
2532 affecting removal of the ref, which ended up causing an infinite load load, also killing
2535 * platform/KURL.cpp:
2536 (WebCore::KURL::setRef): Changed "isEmpty()" to "isNull()", since NULL has the special
2537 meaning of "no ref at all" while empty means "empty ref"
2539 2008-07-07 Kevin McCullough <kmccullough@apple.com>
2543 Because profiler.h no longer #includes profile.h we need to explicitly
2544 include it in console.cpp.
2548 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
2550 Not reviewed. Build fix.
2552 Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
2554 * svg/SVGFEColorMatrixElement.cpp:
2555 * svg/SVGFEDiffuseLightingElement.cpp:
2556 * svg/SVGFEImageElement.cpp:
2557 * svg/SVGFELightElement.cpp:
2558 * svg/SVGFESpecularLightingElement.cpp:
2560 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
2564 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
2566 Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
2567 Remove unneccessary parameters of all macros.
2569 SVG Errata states: "All SVG DOM objects that directly correspond to an
2570 attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
2571 means that any changes made to the attribute are immediately reflected in the
2572 corresponding SVG DOM object." (see linked URL on bug report)
2574 Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
2575 element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
2577 Add a new synchronization layer to handle SVG DOM -> XML changes.
2579 Added test: svg/custom/svg-xml-dom-sync.html
2580 Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
2583 (WebCore::Element::Element): Initialize the two new bits.
2584 (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
2585 (WebCore::Element::getAttribute): Ditto.
2586 (WebCore::Element::hasAttributes): Ditto.
2587 * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
2588 (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
2589 * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
2590 * svg/SVGAElement.cpp:
2591 * svg/SVGAElement.h:
2592 * svg/SVGAnimatedTemplate.h:
2593 (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
2594 * svg/SVGCircleElement.cpp:
2595 (WebCore::SVGCircleElement::SVGCircleElement):
2596 * svg/SVGCircleElement.h:
2597 * svg/SVGClipPathElement.cpp:
2598 * svg/SVGClipPathElement.h:
2599 * svg/SVGComponentTransferFunctionElement.cpp:
2600 * svg/SVGComponentTransferFunctionElement.h:
2601 * svg/SVGCursorElement.cpp:
2602 (WebCore::SVGCursorElement::SVGCursorElement):
2603 * svg/SVGCursorElement.h:
2604 * svg/SVGElement.cpp:
2605 (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
2606 (WebCore::SVGElement::setSynchronizedSVGAttributes):
2608 (WebCore::SVGElement::invokeSVGPropertySynchronizer):
2609 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
2610 (WebCore::SVGElement::addSVGPropertySynchronizer):
2611 * svg/SVGEllipseElement.cpp:
2612 * svg/SVGEllipseElement.h:
2613 * svg/SVGExternalResourcesRequired.cpp:
2614 * svg/SVGExternalResourcesRequired.h:
2615 * svg/SVGFEBlendElement.cpp:
2616 * svg/SVGFEBlendElement.h:
2617 * svg/SVGFEColorMatrixElement.cpp:
2618 * svg/SVGFEColorMatrixElement.h:
2619 * svg/SVGFEComponentTransferElement.cpp:
2620 * svg/SVGFEComponentTransferElement.h:
2621 * svg/SVGFECompositeElement.cpp:
2622 * svg/SVGFECompositeElement.h:
2623 * svg/SVGFEDiffuseLightingElement.cpp:
2624 * svg/SVGFEDiffuseLightingElement.h:
2625 * svg/SVGFEDisplacementMapElement.cpp:
2626 * svg/SVGFEDisplacementMapElement.h:
2627 * svg/SVGFEGaussianBlurElement.cpp:
2628 * svg/SVGFEGaussianBlurElement.h:
2629 * svg/SVGFEImageElement.cpp:
2630 * svg/SVGFEImageElement.h:
2631 * svg/SVGFELightElement.cpp:
2632 * svg/SVGFELightElement.h:
2633 * svg/SVGFEMergeNodeElement.cpp:
2634 * svg/SVGFEMergeNodeElement.h:
2635 * svg/SVGFEOffsetElement.cpp:
2636 * svg/SVGFEOffsetElement.h:
2637 * svg/SVGFESpecularLightingElement.cpp:
2638 * svg/SVGFESpecularLightingElement.h:
2639 * svg/SVGFETileElement.cpp:
2640 * svg/SVGFETileElement.h:
2641 * svg/SVGFETurbulenceElement.cpp:
2642 * svg/SVGFETurbulenceElement.h:
2643 * svg/SVGFilterElement.cpp:
2644 * svg/SVGFilterElement.h:
2645 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2646 * svg/SVGFilterPrimitiveStandardAttributes.h:
2647 * svg/SVGFitToViewBox.cpp:
2648 * svg/SVGFitToViewBox.h:
2649 * svg/SVGForeignObjectElement.cpp:
2650 * svg/SVGForeignObjectElement.h:
2651 * svg/SVGGradientElement.cpp:
2652 * svg/SVGGradientElement.h:
2653 * svg/SVGImageElement.cpp:
2654 * svg/SVGImageElement.h:
2655 * svg/SVGLineElement.cpp:
2656 * svg/SVGLineElement.h:
2657 * svg/SVGLinearGradientElement.cpp:
2658 * svg/SVGLinearGradientElement.h:
2659 * svg/SVGMarkerElement.cpp:
2660 * svg/SVGMarkerElement.h:
2661 * svg/SVGMaskElement.cpp:
2662 * svg/SVGMaskElement.h:
2663 * svg/SVGPathElement.cpp:
2664 * svg/SVGPathElement.h:
2665 * svg/SVGPatternElement.cpp:
2666 * svg/SVGPatternElement.h:
2667 * svg/SVGRadialGradientElement.cpp:
2668 * svg/SVGRadialGradientElement.h:
2669 * svg/SVGRectElement.cpp:
2670 * svg/SVGRectElement.h:
2671 * svg/SVGSVGElement.cpp:
2672 * svg/SVGSVGElement.h:
2673 * svg/SVGScriptElement.h:
2674 * svg/SVGStopElement.cpp:
2675 * svg/SVGStopElement.h:
2676 * svg/SVGStyledElement.cpp:
2677 * svg/SVGStyledElement.h:
2678 * svg/SVGStyledTransformableElement.cpp:
2679 * svg/SVGStyledTransformableElement.h:
2680 * svg/SVGSymbolElement.h:
2681 * svg/SVGTextContentElement.cpp:
2682 * svg/SVGTextContentElement.h:
2683 * svg/SVGTextElement.cpp:
2684 * svg/SVGTextElement.h:
2685 * svg/SVGTextPathElement.cpp:
2686 * svg/SVGTextPathElement.h:
2687 * svg/SVGTextPositioningElement.cpp:
2688 * svg/SVGTextPositioningElement.h:
2689 * svg/SVGURIReference.cpp:
2690 * svg/SVGURIReference.h:
2691 * svg/SVGUseElement.cpp:
2692 * svg/SVGUseElement.h:
2693 * svg/SVGViewElement.h:
2694 * svg/SynchronizableTypeWrapper.h: Added.
2696 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
2700 Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
2702 Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
2704 Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
2705 Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
2706 in SVGAnimatedTemplate.
2708 * svg/SVGAnimatedTemplate.h:
2709 (WebCore::SVGAnimatedTemplate::associatedAttributeName):
2710 (WebCore::lookupOrCreateWrapper):
2711 (WebCore::SVGAnimatedTypeValue::null):
2712 (WebCore::SVGAnimatedTypeValue::toString):
2714 * svg/SVGDocumentExtensions.h:
2715 (WebCore::SVGDocumentExtensions::baseValue):
2716 * svg/SVGLengthList.cpp:
2717 (WebCore::SVGLengthList::valueAsString):
2718 * svg/SVGLengthList.h:
2719 * svg/SVGNumberList.cpp:
2720 (WebCore::SVGNumberList::valueAsString):
2721 * svg/SVGNumberList.h:
2722 * svg/SVGPreserveAspectRatio.cpp:
2723 (WebCore::SVGPreserveAspectRatio::valueAsString):
2724 * svg/SVGPreserveAspectRatio.h:
2725 * svg/SVGTransformList.cpp:
2726 (SVGTransformList::valueAsString):
2727 * svg/SVGTransformList.h:
2729 2008-07-06 Sam Weinig <sam@webkit.org>
2731 Reviewed by Dan Bernstein.
2733 Rename "Access-Contol-Origin" to "Origin" to match the latest
2734 Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)
2736 * xml/XMLHttpRequest.cpp:
2737 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
2738 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
2739 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
2741 2008-07-06 Dan Bernstein <mitz@apple.com>
2743 - try to fix the Windows build
2745 * WebCore.vcproj/WebCore.vcproj:
2747 2008-07-06 Dan Bernstein <mitz@apple.com>
2751 * platform/graphics/qt/FontCacheQt.cpp:
2753 2008-07-06 Dan Bernstein <mitz@apple.com>
2755 - try to fix the Qt build
2757 * platform/graphics/qt/FontCacheQt.cpp:
2758 (WebCore::FontCache::addClient):
2759 (WebCore::FontCache::removeClient):
2761 2008-07-06 Sam Weinig <sam@webkit.org>
2763 Reviewed by Cameron Zwarich.
2765 Add #include for kjs/protect.h.
2767 * xml/XMLHttpRequest.cpp:
2768 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2770 2008-07-06 David Kilzer <ddkilzer@apple.com>
2772 Save a few more bits in RenderStyle
2776 No test cases added since there is no change in behavior.
2778 This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits,
2779 WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits,
2780 and WebCore::RenderStyle::noninherited_flags from using 49 bits to
2783 * rendering/style/RenderStyle.h:
2784 (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits
2785 since EMarqueeBehavior has 4 items.
2786 (WebCore::RenderStyle::inherited_flags._text_align): Reduce from
2787 4 bits to 3 bits since ETextAlign has 8 items.
2788 (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from
2789 4 bits to 3 bits since EOverflow has 6 items.
2790 (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.
2792 2008-07-06 Dan Bernstein <mitz@apple.com>
2794 Reviewed by Darin Adler.
2796 - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead
2798 * css/CSSFontSelector.cpp:
2799 (WebCore::CSSFontSelector::CSSFontSelector): Added a call to
2800 FontCache::addClient().
2801 (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to
2802 FontCache::removeClient().
2803 (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the
2804 font cache when it is invalidated, and ensures that the document is
2807 * css/CSSFontSelector.h:
2809 * platform/graphics/Font.cpp:
2810 (WebCore::Font::operator==): Added code to compare the font fallback
2811 lists' font cache generations.
2813 * platform/graphics/FontCache.cpp:
2814 (WebCore::FontCache::addClient): Added.
2815 (WebCore::FontCache::removeClient): Added.
2816 (WebCore::FontCache::generation): Added.
2817 (WebCore::FontCache::invalidate): Added. Deletes the platform data
2818 cache, increments the generation counter, and notifies all clients.
2820 * platform/graphics/FontCache.h:
2822 * platform/graphics/FontFallbackList.cpp:
2823 (WebCore::FontFallbackList::FontFallbackList): Added initialization of
2825 (WebCore::FontFallbackList::invalidate): Added code to reset
2827 (WebCore::FontFallbackList::fontDataAt): Added an assertion.
2828 (WebCore::FontFallbackList::fontDataForCharacters): Ditto.
2829 (WebCore::FontFallbackList::setPlatformFont): Ditto.
2831 * platform/graphics/FontFallbackList.h:
2832 (WebCore::FontFallbackList::generation): Added. Returns the font cache
2833 generation used to populate the list.
2835 * platform/graphics/FontSelector.h:
2836 (WebCore::FontSelector::fontCacheInvalidated): Added.
2838 * platform/graphics/mac/FontCacheMac.mm:
2839 (WebCore::fontCacheATSNotificationCallback): Added. Calls
2840 FontCache::invalidate().
2841 (WebCore::FontCache::platformInit): Added code to register for ATS
2844 * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.
2846 2008-07-05 Sam Weinig <sam@webkit.org>
2848 Rubber-stamped by Cameron Zwarich.
2850 Rename list.h/cpp to ArgList.h/cpp.
2852 * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
2853 * ForwardingHeaders/kjs/list.h: Removed.
2854 * WebCore.vcproj/WebCore.vcproj:
2855 * bridge/qt/qt_instance.cpp:
2858 2008-07-05 Sam Weinig <sam@webkit.org>
2860 Rubber-stamped by Cameron Zwarich.
2862 Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and
2863 the functions on the global object out of JSFunction.h/cpp.
2865 * ForwardingHeaders/kjs/PrototypeFunction.h: Added.
2866 * bindings/js/JSDOMBinding.cpp:
2868 2008-07-05 Dan Bernstein <mitz@apple.com>
2870 Rubber-stamped by Sam Weinig.
2872 - rename BidiIterator and BidiState
2874 Renamed BidiIterator to InlineIterator and BidiState
2875 to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&}
2878 * rendering/RenderBlock.h:
2879 * rendering/RootInlineBox.h:
2880 * rendering/bidi.cpp:
2881 (WebCore::InlineIterator::InlineIterator):
2882 (WebCore::operator==):
2883 (WebCore::operator!=):
2884 (WebCore::bidiNext):
2885 (WebCore::bidiFirst):
2886 (WebCore::InlineIterator::increment):
2887 (WebCore::InlineBidiResolver::increment):
2888 (WebCore::InlineIterator::atEnd):
2889 (WebCore::InlineIterator::current):
2890 (WebCore::InlineIterator::direction):
2891 (WebCore::chopMidpointsAt):
2892 (WebCore::checkMidpoints):
2893 (WebCore::addMidpoint):
2894 (WebCore::appendRunsForObject):
2895 (WebCore::InlineBidiResolver::appendRun):
2896 (WebCore::RenderBlock::bidiReorderLine):
2897 (WebCore::buildCompactRuns):
2898 (WebCore::RenderBlock::layoutInlineChildren):
2899 (WebCore::RenderBlock::determineStartPosition):
2900 (WebCore::RenderBlock::determineEndPosition):
2901 (WebCore::RenderBlock::matchedEndLine):
2902 (WebCore::skipNonBreakingSpace):
2903 (WebCore::requiresLineBox):
2904 (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
2905 (WebCore::RenderBlock::skipWhitespace):
2906 (WebCore::shouldSkipWhitespaceAfterStartObject):
2907 (WebCore::RenderBlock::findNextLineBreak):
2909 2008-07-05 Jan Michael Alonzo <jmalonzo@webkit.org>
2911 Rubber-stamped by Oliver Hunt
2915 * html/CanvasRenderingContext2D.cpp: Indentation fix
2917 2008-07-04 Oliver Hunt <oliver@apple.com>
2921 * WebCore.vcproj/WebCore.vcproj:
2923 2008-07-04 Sam Weinig <sam@webkit.org>
2927 * bridge/qt/qt_instance.cpp:
2929 2008-07-04 Sam Weinig <sam@webkit.org>
2931 Rubber-stamped by Dan Bernstein.
2933 Split Error and GetterSetter out of JSObject.h.
2935 * ForwardingHeaders/kjs/Error.h: Added.
2936 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2937 * bindings/js/JSClipboardCustom.cpp:
2938 * bindings/js/JSDOMWindowBase.cpp:
2939 * bindings/js/JSEventTargetBase.cpp:
2940 * bindings/js/JSHTMLDocumentCustom.cpp:
2941 * bindings/js/JSXMLHttpRequestCustom.cpp:
2942 * bindings/scripts/CodeGeneratorJS.pm:
2943 * bridge/NP_jsobject.cpp:
2944 * bridge/jni/jni_instance.cpp:
2945 * bridge/jni/jni_runtime.cpp:
2946 * bridge/objc/objc_instance.mm:
2947 * bridge/objc/objc_runtime.mm:
2948 * bridge/objc/objc_utility.h:
2949 * bridge/runtime_array.cpp:
2950 * bridge/runtime_method.cpp:
2951 * bridge/runtime_object.cpp:
2953 2008-07-04 David D. Kilzer <ddkilzer@webkit.org>
2955 Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives
2957 <https://bugs.webkit.org/show_bug.cgi?id=15290>
2958 <rdar://problem/5509173>
2960 Reviewed by Dan Bernstein.
2962 Tests: webarchive/archive-empty-frame-dom.html
2963 webarchive/doctype.html
2965 * editing/markup.cpp:
2966 (WebCore::createFullMarkup): If the Node is a Document or a
2967 DocumentType, don't prepend the <!DOCTYPE> tag since that will
2968 cause it to be duplicated.
2969 * loader/archive/cf/LegacyWebArchive.cpp:
2970 (WebCore::LegacyWebArchive::create): Ditto.
2972 2008-07-04 Jan Michael Alonzo <jmalonzo@webkit.org>
2978 2008-07-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>
2980 Reviewed by Eric Seidel.
2982 Bring our implementation of the Netscape plugin API closer to current
2983 code style guidelines.
2985 * bridge/NP_jsobject.cpp:
2986 (getListFromVariantArgs):
2989 (_NPN_CreateScriptObject):
2990 (_NPN_CreateNoScriptObject):
2991 (_NPN_InvokeDefault):
2996 (_NPN_RemoveProperty):
3000 * bridge/npruntime_impl.h:
3002 2008-07-04 Simon Hausmann <hausmann@webkit.org>
3004 Fix the Qt/Windows build.
3006 * WebCore.pro: Moved PluginMainThreadScheduler.cpp to the main
3007 sources, so that it is always compiled.
3008 * platform/qt/CursorQt.cpp: #undef CopyCursor, as it's defined by some
3010 * platform/qt/KeyboardCodes.h: Don't re-define some of the keycodes
3011 that are defined by Windows already.
3012 * platform/qt/TemporaryLinkStubs.cpp: Removed the PluginDatabase stubs
3013 that are now platform-independent in plugin/PluginDatabase.cpp.
3015 2008-07-04 Simon Hausmann <hausmann@webkit.org>
3017 Fix the Mac build for real, don't define listDirectory() twice.
3019 * platform/mac/FileSystemMac.mm:
3021 2008-07-04 Simon Hausmann <hausmann@webkit.org>
3023 Prospective Mac build fix.
3025 * platform/mac/FileSystemMac.mm: Include NotImplemented.h.
3026 * platform/posix/FileSystemPOSIX.cpp: Ditto.
3028 2008-07-04 Tor Arne Vestbø <tavestbo@trolltech.com>
3032 Move duplicated code from each PluginDatabaseXX-implementation
3033 to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are
3034 compiling plugins for.
3036 This make the code cleaner and we can share common patterns.
3037 The only implementation left which is specific is the Win
3038 implementation (also used by QtWebKit/Win), but we might
3039 want to move that too.
3041 * GNUmakefile.am: Removed PluginDatabaseGtk.cpp from the build.
3042 * WebCore.pro: Removed PluginDatabaseQt.cpp from the build.
3043 * plugins/PluginDatabase.cpp:
3044 (WebCore::PluginDatabase::defaultPluginDirectories):
3045 (WebCore::PluginDatabase::isPreferredPluginDirectory):
3046 (WebCore::PluginDatabase::getPluginPathsInDirectories):
3047 * plugins/gtk/PluginDatabaseGtk.cpp: Removed.
3048 * plugins/qt/PluginDatabaseQt.cpp: Removed.
3049 * plugins/wx/PluginDatabaseWx.cpp: Removed.
3050 * webcore-wx.bkl: Removed PluginDatabaseWx.cpp from the build.
3052 2008-07-04 Simon Hausmann <hausmann@webkit.org>
3056 * WebCoreSources.bkl: Add plugins/PluginMainThreadScheduler.cpp to the
3058 * page/FocusController.cpp:
3059 (WebCore::FocusController::setActive): Extend MAC #ifdef to WX as
3060 layoutIfNeededRecursive does not exist for the Wx port.
3062 2008-07-04 Simon Hausmann <hausmann@webkit.org>
3064 Fix the Gtk build, adapt to renamed files.
3068 2008-07-04 Simon Hausmann <hausmann@webkit.org>
3070 Fix the Qt build, adapt to renamed files.
3074 2008-07-03 Oliver Hunt <oliver@apple.com>
3076 Reviewed by Eric Seidel.
3078 Move filter implementations to platform directory.
3080 * WebCore.vcproj/WebCore.vcproj
3081 * WebCore.xcodeproj/project.pbxproj:
3082 * svg/SVGComponentTransferFunctionElement.h:
3083 * svg/SVGFEBlendElement.h:
3084 * svg/SVGFEColorMatrixElement.h:
3085 * svg/SVGFEComponentTransferElement.h:
3086 * svg/SVGFECompositeElement.h:
3087 * platform/graphics/filters/FEBlend.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.cpp.
3088 * platform/graphics/filters/FEBlend.h: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.h.
3089 * platform/graphics/filters/FEColorMatrix.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.cpp.
3090 * platform/graphics/filters/FEColorMatrix.h: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.h.
3091 * platform/graphics/filters/FEComponentTransfer.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.cpp.
3092 * platform/graphics/filters/FEComponentTransfer.h: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.h.
3093 * platform/graphics/filters/FEComposite.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.cpp.
3094 * platform/graphics/filters/FEComposite.h: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.h.
3096 2008-07-03 Alex Mathews <possessedpenguinbob@gmail.com>
3098 Reviewed by Oliver Hunt.
3100 Bug 19835: WebKit needs cross-platform filter system
3101 <https://bugs.webkit.org/show_bug.cgi?id=19835>
3103 More class refactoring in preparation for cross-platform filter
3106 * WebCore.xcodeproj/project.pbxproj:
3107 * svg/FilterEffect.h:
3108 * svg/SVGComponentTransferFunctionElement.cpp:
3109 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
3110 (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
3111 (WebCore::SVGComponentTransferFunctionElement::transferFunction):
3112 * svg/SVGComponentTransferFunctionElement.h:
3113 * svg/SVGFEColorMatrixElement.cpp:
3114 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
3115 (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
3116 (WebCore::SVGFEColorMatrixElement::filterEffect):
3117 (WebCore::SVGFEColorMatrixElement::build):
3118 * svg/SVGFEColorMatrixElement.h:
3119 * svg/SVGFEComponentTransferElement.cpp:
3120 (WebCore::SVGFEComponentTransferElement::filterEffect):
3121 (WebCore::SVGFEComponentTransferElement::build):
3122 * svg/SVGFEComponentTransferElement.h:
3123 * svg/SVGFECompositeElement.cpp:
3124 (WebCore::SVGFECompositeElement::SVGFECompositeElement):
3125 (WebCore::SVGFECompositeElement::parseMappedAttribute):
3126 (WebCore::SVGFECompositeElement::filterEffect):
3127 (WebCore::SVGFECompositeElement::build):
3128 * svg/SVGFECompositeElement.h:
3129 * svg/graphics/filters/SVGFEBlend.cpp:
3130 * svg/graphics/filters/SVGFEBlend.h:
3131 * svg/graphics/filters/SVGFEColorMatrix.cpp:
3132 (WebCore::FEColorMatrix::FEColorMatrix):
3133 (WebCore::FEColorMatrix::create):
3134 (WebCore::FEColorMatrix::type):
3135 (WebCore::FEColorMatrix::setType):
3136 (WebCore::FEColorMatrix::values):
3137 (WebCore::FEColorMatrix::setValues):
3138 (WebCore::FEColorMatrix::apply):
3139 (WebCore::FEColorMatrix::dump):
3140 * svg/graphics/filters/SVGFEColorMatrix.h:
3142 * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3143 (WebCore::FEComponentTransfer::FEComponentTransfer):
3144 (WebCore::FEComponentTransfer::create):
3145 (WebCore::FEComponentTransfer::redFunction):
3146 (WebCore::FEComponentTransfer::setRedFunction):
3147 (WebCore::FEComponentTransfer::greenFunction):
3148 (WebCore::FEComponentTransfer::setGreenFunction):
3149 (WebCore::FEComponentTransfer::blueFunction):
3150 (WebCore::FEComponentTransfer::setBlueFunction):
3151 (WebCore::FEComponentTransfer::alphaFunction):
3152 (WebCore::FEComponentTransfer::setAlphaFunction):
3153 (WebCore::FEComponentTransfer::apply):
3154 (WebCore::FEComponentTransfer::dump):
3155 * svg/graphics/filters/SVGFEComponentTransfer.h:
3157 (WebCore::ComponentTransferFunction::ComponentTransferFunction):
3158 * svg/graphics/filters/SVGFEComposite.cpp:
3159 (WebCore::FEComposite::FEComposite):
3160 (WebCore::FEComposite::create):
3161 (WebCore::FEComposite::operation):
3162 (WebCore::FEComposite::setOperation):
3163 (WebCore::FEComposite::k1):
3164 (WebCore::FEComposite::setK1):
3165 (WebCore::FEComposite::k2):
3166 (WebCore::FEComposite::setK2):
3167 (WebCore::FEComposite::k3):
3168 (WebCore::FEComposite::setK3):
3169 (WebCore::FEComposite::k4):
3170 (WebCore::FEComposite::setK4):
3171 (WebCore::FEComposite::apply):
3172 (WebCore::FEComposite::dump):
3173 * svg/graphics/filters/SVGFEComposite.h:
3175 * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: Removed.
3176 * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: Removed.
3177 * svg/graphics/filters/cg/SVGFECompositeCg.mm: Removed.
3179 2008-07-03 Dan Bernstein <mitz@apple.com>
3181 Reviewed by John Sullivan.
3183 - fix <rdar://problem/6020930> Bidi Problem When Resizing Window
3185 Test: fast/text/international/bidi-AN-after-empty-run.html
3187 * platform/text/BidiResolver.h:
3188 (WebCore::::appendRun): Changed to reset the current direction and
3189 "end of run" direction even in the empty run case.
3190 * rendering/bidi.cpp:
3191 (WebCore::BidiState::appendRun): Ditto.
3193 2008-07-02 Jon Honeycutt <jhoneycutt@apple.com>
3195 <rdar://5983747> Safari crashes trying to load the SilverLight plugin
3197 If a plug-in returned an error code from NPP_NewStream, we would call
3198 NPP_DestroyStream while cleaning up the request. We now only call
3199 NPP_DestroyStream if NPP_NewStream was successful, matching Firefox.
3203 * plugins/PluginStream.cpp:
3204 (WebCore::PluginStream::startStream): If NPP_NewStream returns an error,
3205 don't set m_streamState to StreamStarted, and return after calling
3206 cancelAndDestroyStream.
3207 (WebCore::PluginStream::destroyStream): Don't call NPP_DestroyStream if
3208 the stream didn't start successfully.
3210 2008-07-03 David Hyatt <hyatt@apple.com>
3212 Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the
3213 Mac. Revert updateControlTints and add the layout call outside of it in the already-existing
3214 !PLATFORM(MAC) ifdef in FocusController's setActive method.
3216 Reviewed by ggaren, weinig
3218 * page/FocusController.cpp:
3219 (WebCore::FocusController::setActive):
3220 * page/FrameView.cpp:
3221 (WebCore::FrameView::updateControlTints):
3223 2008-07-03 Alexey Proskuryakov <ap@webkit.org>
3227 https://bugs.webkit.org/show_bug.cgi?id=19884
3228 Locating a store at www.366.ru doesn't work
3230 Test: fast/forms/submit-with-base.html
3232 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same
3233 as missing one - ignore base URL.
3235 2008-07-03 Dan Bernstein <mitz@apple.com>
3237 Reviewed by John Sullivan.
3239 - fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows
3241 * page/FrameView.cpp:
3242 (WebCore::FrameView::updateControlTints): Changed to update layout
3243 recursively and not just for the top-level frame.
3245 2008-07-03 Cameron Zwarich <cwzwarich@uwaterloo.ca>
3249 Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
3250 https://bugs.webkit.org/show_bug.cgi?id=19853
3252 Remove the body of _NPN_SetException(), because it was simply calling
3253 throwError(), which sets an exception on an ExecState but does not
3254 actually handle it. The presence of an exception on the global ExecState
3255 causes assertions that there is no exception set on that ExecState to
3256 fail, as well as causing Machine::execute() to mistakingly return 0 in
3257 some cases, as it assumes the presence of an exception implies that it
3258 has run out of memory.
3260 * bridge/NP_jsobject.cpp:
3261 (_NPN_SetException):
3263 2008-07-03 Maciej Katafiasz <mathrick@gmail.com>
3265 Gtk build fix with SVG filters enabled
3267 * GNUmakefile.am: Include missing SVG filter sources
3269 2008-07-03 Simon Hausmann <hausmann@webkit.org>
3271 Fix the Qt build, added FilterEffect to the build.
3275 2008-07-02 Brady Eidson <beidson@apple.com>
3277 Reviewed by Mitz Pettel and John Sullivan
3279 Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading]
3280 inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.
3282 Test: fast/loader/stop-provisional-loads.html
3284 * loader/FrameLoader.cpp:
3285 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared
3286 by the prepareForLoadStart() call, null check it again.
3288 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>
3290 Reviewed by Oliver Hunt.
3292 Renaming of class SVGFEBlend to FEBlend as well as removing
3293 a little bit of antiquated code. This includes the removal of
3294 SVGFEBlendCg.mm; the feBlend element will now no longer
3297 * WebCore.xcodeproj/project.pbxproj:
3298 * svg/FilterBuilder.h:
3299 (WebCore::FilterBuilder::add):
3300 (WebCore::FilterBuilder::getEffectById):
3301 * svg/SVGFEBlendElement.cpp:
3302 (WebCore::SVGFEBlendElement::SVGFEBlendElement):
3303 (WebCore::SVGFEBlendElement::parseMappedAttribute):
3304 (WebCore::SVGFEBlendElement::filterEffect):
3305 (WebCore::SVGFEBlendElement::build):
3306 * svg/SVGFEBlendElement.h:
3307 * svg/SVGFilterPrimitiveStandardAttributes.h:
3308 * svg/graphics/filters/SVGFEBlend.cpp:
3309 (WebCore::FEBlend::FEBlend):
3310 (WebCore::FEBlend::create):
3311 (WebCore::FEBlend::in2):
3312 (WebCore::FEBlend::setIn2):
3313 (WebCore::FEBlend::blendMode):
3314 (WebCore::FEBlend::setBlendMode):
3315 (WebCore::FEBlend::apply):
3316 (WebCore::FEBlend::dump):
3317 * svg/graphics/filters/SVGFEBlend.h:
3319 * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed.
3321 2008-07-02 Beth Dakin <bdakin@apple.com>
3325 Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders
3327 <rdar://problem/5934355> Need to implement ARIA role="spinbutton"
3329 * page/AccessibilityObject.h:
3330 (WebCore::AccessibilityObject::isSlider):
3331 * page/AccessibilityRenderObject.cpp:
3332 (WebCore::AccessibilityRenderObject::isSlider):
3333 (WebCore::AccessibilityRenderObject::valueForRange):
3334 (WebCore::AccessibilityRenderObject::maxValueForRange):
3335 (WebCore::AccessibilityRenderObject::minValueForRange):
3336 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We
3337 were addressing the generic has-an-ARIA-role case too early here.
3338 (WebCore::AccessibilityRenderObject::focusedUIElement): This is a
3339 bug I ran into while testing role='spinbutton', spinbutton is a
3340 role that can have an active descendant. But we were always trying
3341 to forward focus to the active descendant, even if one was not
3343 (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
3344 'spinbutton' maps to ProgressIndicatorRole.
3345 (WebCore::RoleEntry::):
3346 (WebCore::AccessibilityRenderObject::canSetValueAttribute):
3347 * page/AccessibilityRenderObject.h:
3348 * page/mac/AccessibilityObjectWrapper.mm:
3349 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3350 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3352 2008-07-02 Dan Bernstein <mitz@apple.com>
3354 Reviewed by Adam Roben.
3358 Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because
3359 the ERROR macro is defined in <wingdi.h>.
3361 * xml/XPathGrammar.y:
3362 * xml/XPathParser.cpp:
3363 (WebCore::XPath::Parser::lexString):
3364 (WebCore::XPath::Parser::nextTokenInternal):
3366 2008-07-02 Alexey Proskuryakov <ap@webkit.org>
3368 Inspired and reviewed by Mark Rowe.
3370 Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
3372 * bindings/objc/ExceptionHandlers.h:
3373 * bindings/objc/WebScriptObject.mm:
3377 * page/InspectorController.cpp:
3378 * page/JavaScriptProfileNode.cpp:
3379 * page/mac/FrameMac.mm:
3380 * platform/mac/ThreadCheck.mm:
3381 * xml/XMLHttpRequest.cpp:
3383 2008-07-02 Simon Hausmann <hausmann@webkit.org>
3387 * plugins/gtk/PluginViewGtk.cpp: Adapt to JSLock API changes.
3388 (WebCore::PluginView::paint):
3389 (WebCore::PluginView::handleKeyboardEvent):
3390 (WebCore::PluginView::handleMouseEvent):
3391 (WebCore::PluginView::setNPWindowRect):
3392 (WebCore::PluginView::stop):
3393 (WebCore::PluginView::init):
3395 2008-07-02 Simon Hausmann <hausmann@webkit.org>
3399 * WebCore.pro: Added plugins/PluginMainThreadScheduler.cpp to the
3401 * bridge/qt/qt_instance.cpp: Adjust to JSLock API change.
3402 * bridge/qt/qt_runtime.cpp: Ditto.
3403 (KJS::Bindings::convertValueToQVariant):
3404 (KJS::Bindings::convertQVariantToValue):
3405 (KJS::Bindings::QtRuntimeMetaMethod::call):
3406 (KJS::Bindings::QtRuntimeConnectionMethod::call):
3407 (KJS::Bindings::QtConnectionObject::execute):
3408 * page/JavaScriptProfileNode.cpp: Inlude kjs/JSValue.h instead of
3409 JavaScriptCore/JSValue.h.
3410 * plugins/qt/PluginViewQt.cpp: Adjust to JSLock API changes.
3411 (WebCore::PluginView::setNPWindowRect): Ditto.
3412 (WebCore::PluginView::stop): Ditto.
3413 (WebCore::PluginView::init): Ditto.
3415 2008-07-02 Alexey Proskuryakov <ap@webkit.org>
3419 * plugins/PluginView.cpp:
3420 (WebCore::PluginView::start):
3421 (WebCore::getString):
3422 (WebCore::PluginView::performRequest):
3423 (WebCore::PluginView::bindingInstance):
3424 * plugins/win/PluginViewWin.cpp:
3425 (WebCore::PluginView::dispatchNPEvent):
3426 (WebCore::PluginView::setNPWindowRect):
3427 (WebCore::PluginView::stop):
3428 Pass false to JSLock and JSLock::DropAllLocks constructors.
3430 2008-07-01 Oliver Hunt <oliver@apple.com>
3432 Reviewed by Geoff Garen.
3434 <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected
3436 In order to fix this we now make the rendering context and the canvas element
3437 share the same reference count, ensuring that references to the rendering
3438 context will force the canvas element to remain live as well.
3440 Test: fast/canvas/canvas-longlived-context.html
3442 * html/CanvasRenderingContext2D.cpp:
3443 (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
3444 (WebCore::CanvasRenderingContext2D::createImageData):
3445 (WebCore::CanvasRenderingContext2D::getImageData):
3446 (WebCore::CanvasRenderingContext2D::putImageData):
3447 * html/CanvasRenderingContext2D.h:
3448 (WebCore::CanvasRenderingContext2D::create):
3449 * html/HTMLCanvasElement.cpp:
3450 (WebCore::HTMLCanvasElement::getContext):
3451 * html/HTMLCanvasElement.h:
3453 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
3457 Disable JSLock for per-thread contexts.
3459 * bridge/runtime_root.cpp:
3460 (KJS::Bindings::RootObject::invalidate):
3461 (KJS::Bindings::RootObject::gcProtect):
3462 (KJS::Bindings::RootObject::gcUnprotect):
3463 Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock.
3465 * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking
3466 to indicate that protected value list can be concurrently accessed from multiple threads now.
3468 * xml/XMLHttpRequest.cpp:
3469 (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here,
3470 as fake locks cannot deadlock, and there is no danger that someone will try to take a real
3471 JSLock on the main thread while we are waiting for response.
3472 (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock
3473 around gcProtect/gcUnprotect now.
3474 (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via
3475 JSGlobalData::threadInstance().
3477 * bindings/js/GCController.cpp:
3479 (WebCore::GCController::gcTimerFired):
3480 (WebCore::GCController::garbageCollectNow):
3481 (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
3482 * bindings/js/JSCustomSQLStatementCallback.cpp:
3483 (WebCore::JSCustomSQLStatementCallback::handleEvent):
3484 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3485 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3486 * bindings/js/JSCustomSQLTransactionCallback.cpp:
3487 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3488 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3489 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3490 * bindings/js/JSCustomVoidCallback.cpp:
3491 (WebCore::JSCustomVoidCallback::handleEvent):
3492 * bindings/js/JSCustomXPathNSResolver.cpp:
3493 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3494 * bindings/js/JSDOMWindowBase.cpp:
3495 (WebCore::DOMWindowTimer::~DOMWindowTimer):
3496 (WebCore::JSDOMWindowBase::clear):
3497 (WebCore::JSDOMWindowBase::timerFired):
3498 * bindings/js/JSEventCustom.cpp:
3500 * bindings/js/JSEventListener.cpp:
3501 (WebCore::JSAbstractEventListener::handleEvent):
3502 (WebCore::JSLazyEventListener::parseCode):
3503 * bindings/js/JSNodeFilterCondition.cpp:
3504 (WebCore::JSNodeFilterCondition::acceptNode):
3505 * bindings/js/ScheduledAction.cpp:
3506 (WebCore::ScheduledAction::execute):
3507 * bindings/js/ScriptController.cpp:
3508 (WebCore::ScriptController::evaluate):
3509 (WebCore::ScriptController::clear):
3510 (WebCore::ScriptController::createHTMLEventHandler):
3511 (WebCore::ScriptController::createSVGEventHandler):
3512 (WebCore::ScriptController::initScript):
3513 (WebCore::ScriptController::updateDocument):
3514 * bindings/objc/WebScriptObject.mm:
3515 (-[WebScriptObject callWebScriptMethod:withArguments:]):
3516 (-[WebScriptObject evaluateWebScript:]):
3517 (-[WebScriptObject setValue:forKey:]):
3518 (-[WebScriptObject valueForKey:]):
3519 (-[WebScriptObject removeWebScriptKey:]):
3520 (-[WebScriptObject stringRepresentation]):
3521 (-[WebScriptObject webScriptValueAtIndex:]):
3522 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
3523 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
3524 * bridge/NP_jsobject.cpp:
3525 (_NPN_InvokeDefault):
3530 (_NPN_RemoveProperty):
3533 (_NPN_SetException):
3535 * bridge/c/c_class.cpp:
3536 (KJS::Bindings::CClass::~CClass):
3537 (KJS::Bindings::CClass::methodsNamed):
3538 (KJS::Bindings::CClass::fieldNamed):
3539 * bridge/c/c_instance.cpp:
3540 (KJS::Bindings::CInstance::invokeMethod):
3541 (KJS::Bindings::CInstance::invokeDefaultMethod):
3542 (KJS::Bindings::CInstance::getPropertyNames):
3543 * bridge/c/c_runtime.cpp:
3544 (KJS::Bindings::CField::valueFromInstance):
3545 (KJS::Bindings::CField::setValueToInstance):
3546 * bridge/c/c_utility.cpp:
3547 (KJS::Bindings::convertValueToNPVariant):
3548 (KJS::Bindings::convertNPVariantToValue):
3549 * bridge/jni/jni_class.cpp:
3550 (JavaClass::JavaClass):
3551 (JavaClass::~JavaClass):
3552 * bridge/jni/jni_instance.cpp:
3553 (JavaInstance::stringValue):
3554 * bridge/jni/jni_jsobject.mm:
3555 (JavaJSObject::call):
3556 (JavaJSObject::eval):
3557 (JavaJSObject::getMember):
3558 (JavaJSObject::setMember):
3559 (JavaJSObject::removeMember):
3560 (JavaJSObject::getSlot):
3561 (JavaJSObject::setSlot):
3562 (JavaJSObject::toString):
3563 (JavaJSObject::convertValueToJObject):
3564 (JavaJSObject::convertJObjectToValue):
3565 * bridge/jni/jni_objc.mm:
3566 (KJS::Bindings::dispatchJNICall):
3567 * bridge/jni/jni_runtime.cpp:
3568 (JavaMethod::signature):
3569 * bridge/jni/jni_runtime.h:
3570 (KJS::Bindings::JavaString::JavaString):
3571 (KJS::Bindings::JavaString::_commonInit):
3572 (KJS::Bindings::JavaString::~JavaString):
3573 (KJS::Bindings::JavaString::UTF8String):
3574 * bridge/jni/jni_utility.cpp:
3575 (KJS::Bindings::convertArrayInstanceToJavaArray):
3576 (KJS::Bindings::convertValueToJValue):
3577 * bridge/npruntime.cpp:
3578 (_NPN_GetStringIdentifier):
3579 * bridge/objc/objc_instance.mm:
3580 (ObjcInstance::moveGlobalExceptionToExecState):
3581 (ObjcInstance::invokeMethod):
3582 (ObjcInstance::invokeDefaultMethod):
3583 (ObjcInstance::setValueOfUndefinedField):
3584 (ObjcInstance::getValueOfUndefinedField):
3585 * bridge/objc/objc_runtime.mm:
3586 (ObjcField::valueFromInstance):
3587 (ObjcField::setValueToInstance):
3588 * bridge/objc/objc_utility.mm: