1 2007-10-14 Eric Seidel <eric (a] webkit.org> 2 3 Reviewed by aroben. 4 5 Remove senseless malloc from paintOutline 6 No tests needed, no functional change. 7 8 * rendering/RenderFlow.cpp: 9 (WebCore::RenderFlow::paintOutline): remove unneeded malloc 10 11 2007-10-13 Eric Seidel <eric (a] webkit.org> 12 13 Reviewed by Mark Rowe. 14 15 Fix SVGSVGElement::currentView() to not leak by using an OwnPtr. 16 This fix is incompatible with changes eventually needed for supporting 17 SVGSVGElement.currentView in the bindings (that needs a ref'd object) 18 There are also several parser crashers in SVGViewSpec, but those will be fixed 19 in my next patch. 20 21 Leak fix only, no additional tests needed. 22 23 * ksvg2/svg/SVGSVGElement.cpp: 24 (WebCore::SVGSVGElement::currentView): call .get() and .set() 25 * ksvg2/svg/SVGSVGElement.h: use OwnPtr 26 27 2007-10-13 Oliver Hunt <oliver (a] apple.com> 28 29 Reviewed by Maciej. 30 31 Fixing a few testcases by enabling SVG_EXPERIMENTAL on windows, and making the 32 required fixes and corrections. 33 34 * WebCore.vcproj/WebCore.vcproj: 35 * WebCore.vcproj/build-generated-files.sh: 36 * bindings/scripts/CodeGeneratorJS.pm: 37 * ksvg2/scripts/make_names.pl: 38 * ksvg2/svg/SVGColor.cpp: 39 (WebCore::SVGColor::colorFromRGBColorString): 40 * page/DOMWindow.idl: 41 * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: 42 * platform/win/WebCoreTextRenderer.cpp: 43 44 2007-10-12 Darin Adler <darin (a] apple.com> 45 46 Reviewed by Sam. 47 48 - more float/int conversion (to try to get the old builbot up) 49 50 * rendering/RenderSVGRoot.cpp: 51 (WebCore::RenderSVGRoot::layout): Cast to int. 52 (WebCore::RenderSVGRoot::applyContentTransforms): Ditto. 53 (WebCore::RenderSVGRoot::nodeAtPoint): Ditto. 54 55 2007-10-12 Justin Garcia <justin.garcia (a] apple.com> 56 57 Reviewed by Harrison. 58 59 <rdar://problem/5483370> GoogleDocs: Deleting cell text in a table row also removes any empty rows beneath the row being edited 60 <rdar://problem/5482524> GoogleDocs: A hang occurs when applying list to selected table 61 62 * editing/DeleteSelectionCommand.cpp: 63 (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows): 64 * editing/InsertListCommand.cpp: 65 (WebCore::InsertListCommand::modifyRange): 66 (WebCore::InsertListCommand::doApply): 67 68 2007-10-12 Darin Adler <darin (a] apple.com> 69 70 - fix another float/int conversion 71 72 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: 73 (WebCore::SVGResourceMasker::applyMask): Explicitly cast to int. 74 75 2007-10-12 Darin Adler <darin (a] apple.com> 76 77 Reviewed by Oliver Hunt. 78 79 - fix float/int conversions that cause warnings on older versions 80 of gcc (like the version currently being used on the PowerPC 81 buildbot slave) 82 83 * rendering/RenderPath.cpp: 84 (WebCore::RenderPath::paint): Explicitly cast to int. 85 (WebCore::RenderPath::addFocusRingRects): Use enclosingIntRect 86 to convert a FloatRect to an IntRect. 87 * rendering/SVGRootInlineBox.cpp: 88 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 89 Use 0 for the initial value of an int, rather than 0.0f. 90 (WebCore::svgTextStyleForInlineTextBox): Explicitly cast to int. 91 (WebCore::applyTextAnchorToTextChunk): Ditto. 92 93 2007-10-12 Oliver Hunt <oliver (a] apple.com> 94 95 Reviewed by Mark. 96 97 Cast zoom factor to int as the original patch did. This is necessary to appease some versions of gcc. 98 99 * ksvg2/svg/SVGSVGElement.cpp: 100 (WebCore::SVGSVGElement::setCurrentScale): 101 102 2007-10-12 Eric Seidel <eric (a] webkit.org> 103 104 Reviewed by Mark Rowe. 105 106 Fix leaks in SVG code from feature-branch. 107 108 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: 109 (WebCore::SVGFEDiffuseLightingElement::filterEffect): 110 * ksvg2/svg/SVGFEFloodElement.cpp: 111 (WebCore::SVGFEFloodElement::filterEffect): 112 * ksvg2/svg/SVGFESpecularLightingElement.cpp: 113 (WebCore::SVGFESpecularLightingElement::filterEffect): 114 * ksvg2/svg/SVGGradientElement.cpp: 115 (WebCore::SVGGradientElement::buildStops): 116 * ksvg2/svg/SVGStyledElement.cpp: 117 (WebCore::SVGStyledElement::resolveStyle): always refs style 118 * platform/graphics/cg/ImageBufferCG.cpp: 119 (WebCore::ImageBuffer::create): fastFree buffer if CG Context creation fails 120 121 2007-10-12 Mark Rowe <mrowe (a] apple.com> 122 123 Windows, Gtk and Qt build fixes. Add new files to projects. 124 125 * WebCore.pro: 126 * WebCore.vcproj/WebCore.vcproj: 127 128 === Start merge of feature-branch 2007-10-12 === 129 130 2007-10-11 Oliver Hunt <oliver (a] apple.com> 131 132 Reviewed by Sam. 133 134 Bug 15469: feature branch has 100's of implicit double -> float conversions 135 136 Re-enable -Wshorten-64-to-32, and make required code changes to make us build sanely again. 137 138 * WebCore.xcodeproj/project.pbxproj: 139 * bindings/js/JSSVGMatrixCustom.cpp: 140 (WebCore::JSSVGMatrix::translate): 141 (WebCore::JSSVGMatrix::scale): 142 (WebCore::JSSVGMatrix::scaleNonUniform): 143 (WebCore::JSSVGMatrix::rotate): 144 (WebCore::JSSVGMatrix::skewX): 145 (WebCore::JSSVGMatrix::skewY): 146 * bindings/scripts/CodeGeneratorJS.pm: 147 * bindings/scripts/CodeGeneratorObjC.pm: 148 * ksvg2/css/SVGRenderStyle.cpp: 149 (WebCore::SVGRenderStyle::cssPrimitiveToLength): 150 * ksvg2/css/SVGRenderStyle.h: 151 * ksvg2/svg/SVGAnimateMotionElement.cpp: 152 (WebCore::SVGAnimateMotionElement::parseMappedAttribute): 153 (WebCore::SVGAnimateMotionElement::updateAnimatedValue): 154 (WebCore::parsePoint): 155 (WebCore::SVGAnimateMotionElement::calculateFromAndToValues): 156 * ksvg2/svg/SVGAnimationElement.cpp: 157 (WebCore::SVGAnimationElement::parseKeyNumbers): 158 (WebCore::parseKeySplines): 159 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: 160 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): 161 (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): 162 * ksvg2/svg/SVGFECompositeElement.cpp: 163 (WebCore::SVGFECompositeElement::SVGFECompositeElement): 164 (WebCore::SVGFECompositeElement::parseMappedAttribute): 165 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: 166 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): 167 (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute): 168 * ksvg2/svg/SVGFEDisplacementMapElement.cpp: 169 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): 170 (WebCore::SVGFEDisplacementMapElement::parseMappedAttribute): 171 * ksvg2/svg/SVGFEGaussianBlurElement.cpp: 172 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement): 173 (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute): 174 * ksvg2/svg/SVGFELightElement.cpp: 175 (WebCore::SVGFELightElement::SVGFELightElement): 176 (WebCore::SVGFELightElement::parseMappedAttribute): 177 * ksvg2/svg/SVGFEOffsetElement.cpp: 178 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement): 179 (WebCore::SVGFEOffsetElement::parseMappedAttribute): 180 * ksvg2/svg/SVGFESpecularLightingElement.cpp: 181 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement): 182 (WebCore::SVGFESpecularLightingElement::parseMappedAttribute): 183 * ksvg2/svg/SVGFETurbulenceElement.cpp: 184 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): 185 (WebCore::SVGFETurbulenceElement::parseMappedAttribute): 186 * ksvg2/svg/SVGFitToViewBox.cpp: 187 (WebCore::SVGFitToViewBox::parseMappedAttribute): 188 * ksvg2/svg/SVGFitToViewBox.h: 189 * ksvg2/svg/SVGLength.cpp: 190 (WebCore::SVGLength::setValueAsString): 191 (WebCore::SVGLength::PercentageOfViewport): 192 * ksvg2/svg/SVGNumber.idl: 193 * ksvg2/svg/SVGNumberList.cpp: 194 (WebCore::SVGNumberList::parse): 195 * ksvg2/svg/SVGNumberList.h: 196 * ksvg2/svg/SVGParserUtilities.cpp: 197 (WebCore::_parseNumber): 198 (WebCore::parseNumber): 199 (WebCore::pointsListFromSVGData): 200 (WebCore::PathBuilder::svgMoveTo): 201 (WebCore::PathBuilder::svgLineTo): 202 (WebCore::PathBuilder::svgCurveToCubic): 203 (WebCore::SVGPathSegListBuilder::svgMoveTo): 204 (WebCore::SVGPathSegListBuilder::svgLineTo): 205 (WebCore::SVGPathSegListBuilder::svgLineToHorizontal): 206 (WebCore::SVGPathSegListBuilder::svgLineToVertical): 207 (WebCore::SVGPathSegListBuilder::svgCurveToCubic): 208 (WebCore::SVGPathSegListBuilder::svgCurveToCubicSmooth): 209 (WebCore::SVGPathSegListBuilder::svgCurveToQuadratic): 210 (WebCore::SVGPathSegListBuilder::svgCurveToQuadraticSmooth): 211 (WebCore::SVGPathSegListBuilder::svgArcTo): 212 * ksvg2/svg/SVGParserUtilities.h: 213 * ksvg2/svg/SVGPathElement.cpp: 214 (WebCore::SVGPathElement::SVGPathElement): 215 * ksvg2/svg/SVGSVGElement.cpp: 216 (WebCore::SVGSVGElement::pixelUnitToMillimeterX): 217 (WebCore::SVGSVGElement::pixelUnitToMillimeterY): 218 * ksvg2/svg/SVGSVGElement.h: 219 * ksvg2/svg/SVGTransformDistance.cpp: 220 (WebCore::SVGTransformDistance::addToSVGTransform): 221 (WebCore::SVGTransformDistance::distance): 222 * ksvg2/svg/SVGTransformDistance.h: 223 * ksvg2/svg/SVGTransformable.cpp: 224 (WebCore::SVGTransformable::parseTransformValue): 225 * ksvg2/svg/SVGViewSpec.cpp: 226 (WebCore::SVGViewSpec::parseViewSpec): 227 * platform/graphics/svg/SVGResourceFilter.cpp: 228 (WebCore::SVGResourceFilter::filterBBoxForItemBBox): 229 * platform/graphics/svg/cg/CgSupport.cpp: 230 (WebCore::applyStrokeStyleToContext): 231 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: 232 (WebCore::SVGPaintServerPattern::setup): 233 * platform/graphics/svg/cg/SVGResourceFilterCg.mm: 234 (WebCore::SVGResourceFilter::applyFilter): 235 * platform/graphics/svg/filters/SVGFEComponentTransfer.h: 236 (WebCore::SVGComponentTransferFunction::SVGComponentTransferFunction): 237 * platform/graphics/svg/filters/SVGFEComposite.cpp: 238 (WebCore::SVGFEComposite::SVGFEComposite): 239 * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: 240 (WebCore::SVGFEConvolveMatrix::SVGFEConvolveMatrix): 241 * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: 242 (WebCore::SVGFEDiffuseLighting::SVGFEDiffuseLighting): 243 * platform/graphics/svg/filters/SVGFEFlood.cpp: 244 (WebCore::SVGFEFlood::SVGFEFlood): 245 * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: 246 (WebCore::SVGFEGaussianBlur::SVGFEGaussianBlur): 247 * platform/graphics/svg/filters/SVGFEMorphology.cpp: 248 (WebCore::SVGFEMorphology::SVGFEMorphology): 249 * platform/graphics/svg/filters/SVGFEOffset.cpp: 250 (WebCore::SVGFEOffset::SVGFEOffset): 251 * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: 252 (WebCore::SVGFESpecularLighting::SVGFESpecularLighting): 253 * platform/graphics/svg/filters/SVGFETurbulence.cpp: 254 (WebCore::SVGFETurbulence::SVGFETurbulence): 255 * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: 256 (WebCore::SVGFEColorMatrix::getCIFilter): 257 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: 258 (WebCore::getVectorForChannel): 259 (WebCore::getLightVectors): 260 * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: 261 (WebCore::SVGFEImage::getCIFilter): 262 * rendering/RenderPath.cpp: 263 (WebCore::RenderPath::drawMarkersIfNeeded): 264 * rendering/RenderSVGImage.cpp: 265 (WebCore::RenderSVGImage::paint): 266 * rendering/RenderSVGInlineText.cpp: 267 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange): 268 * rendering/RenderSVGRoot.cpp: 269 (WebCore::RenderSVGRoot::applyContentTransforms): 270 (WebCore::RenderSVGRoot::calcViewport): 271 (WebCore::RenderSVGRoot::nodeAtPoint): 272 * rendering/RenderSVGText.cpp: 273 (WebCore::RenderSVGText::absoluteRects): 274 (WebCore::RenderSVGText::relativeBBox): 275 * rendering/RenderSVGTextPath.cpp: 276 * rendering/SVGCharacterLayoutInfo.cpp: 277 (WebCore::calculateBaselineShift): 278 (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo): 279 (WebCore::SVGCharacterLayoutInfo::processedChunk): 280 (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle): 281 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): 282 * rendering/SVGCharacterLayoutInfo.h: 283 * rendering/SVGInlineTextBox.cpp: 284 (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): 285 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): 286 (WebCore::pathForDecoration): 287 * rendering/SVGRenderTreeAsText.cpp: 288 (WebCore::writeStyle): 289 * rendering/SVGRootInlineBox.cpp: 290 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 291 (WebCore::applyTextAnchorToTextChunk): 292 (WebCore::SVGRootInlineBox::buildLayoutInformation): 293 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 294 295 2007-10-11 Andrew Wellington <proton (a] wiretapped.net> 296 297 Reviewed by Eric Seidel. 298 299 Fix for http://bugs.webkit.org/show_bug.cgi?id=15076 300 "deg2rad has multiple definitions" 301 302 Use deg2rad, rad2deg, deg2grad, grad2deg, rad2grad, grad2rad 303 from wtf where appropriate. 304 305 No test cases as this doesn't change behaviour. 306 307 Change based on original patch by Rob Buis. 308 309 * ksvg2/svg/SVGAngle.cpp: 310 (WebCore::SVGAngle::calculate): 311 (WebCore::SVGAngle::convertToSpecifiedUnits): 312 (WebCore::SVGAngle::todeg): 313 (WebCore::SVGAngle::torad): 314 * platform/graphics/AffineTransform.cpp: 315 (WebCore::AffineTransform::rotateFromVector): 316 (WebCore::AffineTransform::skewX): 317 (WebCore::AffineTransform::skewY): 318 * platform/graphics/cg/AffineTransformCG.cpp: 319 (WebCore::AffineTransform::rotate): 320 * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: 321 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: 322 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: 323 * rendering/RenderPath.cpp: 324 (WebCore::drawMarkerWithData): 325 326 2007-10-11 Nikolas Zimmermann <zimmermann (a] kde.org> 327 328 Reviewed by Oliver. 329 330 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6421 (<text> textLength attribute is not respected) 331 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6422 (<text> lengthAdjust attribute is not respected) 332 333 Implement textLength and full lengthAdjust (both 'spacing' & 'spacingAndGlyphs' mode) 334 for <text> & <tspan> & friends. <textPath> is still todo, as it's special. 335 336 Also fix usage of cummulatedGlyphWidth/Height in SVGInlineTextBox, calculateGlyphBoundaries was 337 supposed to be used in the distance calculations, to take per character transformations into account (ie. rotation). 338 339 Fixes: svg/W3C-SVG-1.1/text-text-01-b.svg (complelty fixed the single W3C textLength testcase) 340 Partly fixed: svg/batik/text/textOnPathSpaces.svg (kerning support missing) 341 Partly fixed: svg/batik/text/textLayout.svg (word-letter spacing & textLength is todo) 342 343 * ksvg2/svg/SVGTextContentElement.cpp: 344 (WebCore::SVGTextContentElement::SVGTextContentElement): 345 (WebCore::SVGTextContentElement::parseMappedAttribute): 346 * rendering/SVGCharacterLayoutInfo.cpp: 347 (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle): 348 * rendering/SVGCharacterLayoutInfo.h: 349 (WebCore::SVGTextChunk::SVGTextChunk): 350 (WebCore::SVGTextChunkWalker::operator()): 351 * rendering/SVGInlineTextBox.cpp: 352 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): 353 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): 354 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): 355 * rendering/SVGRootInlineBox.cpp: 356 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 357 (WebCore::cummulatedWidthOrHeightOfTextChunk): 358 (WebCore::cummulatedWidthOfTextChunk): 359 (WebCore::cummulatedHeightOfTextChunk): 360 (WebCore::applyTextAnchorToTextChunk): 361 (WebCore::applyTextLengthCorrectionToTextChunk): 362 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 363 (WebCore::SVGRootInlineBox::buildTextChunks): 364 (WebCore::SVGRootInlineBox::layoutTextChunks): 365 (WebCore::SVGRootInlineBox::walkTextChunks): 366 367 2007-10-11 Oliver Hunt <oliver (a] apple.com> 368 369 Reviewed by Niko. 370 371 Fix for Bug 15468: Parsing of numbers and lists is too lenient in SVG 372 373 Correct parsing of numbers, number lists, and length lists in SVG. 374 375 * ksvg2/svg/SVGLength.cpp: 376 (WebCore::SVGLength::setValueAsString): 377 * ksvg2/svg/SVGLength.h: 378 * ksvg2/svg/SVGLengthList.cpp: 379 (WebCore::SVGLengthList::parse): 380 * ksvg2/svg/SVGParserUtilities.cpp: 381 (WebCore::parseNumber): 382 383 2007-10-11 Allan Sandfeld Jensen <sandfeld (a] kde.org> 384 385 Reviewed by Maciej and Eric. 386 387 Implement CSS selector combinators nondeterministic matching. 388 Fixes http://bugs.webkit.org/show_bug.cgi?id=3428 389 390 * css/CSSStyleSelector.cpp: 391 (WebCore::CSSStyleSelector::matchRulesForList): 392 (WebCore::CSSStyleSelector::checkSelector): Split the function and make the second part recursive 393 (WebCore::CSSStyleSelector::checkOneSelector): Handle pseodo-elements rules and hoveractive quirks 394 here instead of in checkSelector. 395 * css/CSSStyleSelector.h: 396 397 2007-10-10 Eric Seidel <eric (a] webkit.org> 398 399 Reviewed by Nikolas Zimmermann. 400 401 Fix the SVG dom so that rect.x.baseVal = rect.x.baseVal like it should. 402 http://bugs.webkit.org/show_bug.cgi?id=14150 403 404 Test: svg/dom/animated-tearoff-equlity.xhtml 405 406 * ksvg2/svg/SVGAnimatedTemplate.h: 407 (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): 408 (WebCore::SVGAnimatedTypeWrapperKey::operator==): 409 (WebCore::SVGAnimatedTypeWrapperKeyHash::hash): 410 (WebCore::SVGAnimatedTypeWrapperKeyHash::equal): 411 (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::deletedValue): 412 (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::emptyValue): 413 (WebCore::SVGAnimatedTemplate::~SVGAnimatedTemplate): 414 (WebCore::SVGAnimatedTemplate::wrapperCache): 415 (WebCore::SVGAnimatedTemplate::forgetWrapper): 416 (WebCore::lookupOrCreateWrapper): 417 * ksvg2/svg/SVGElement.h: 418 419 2007-10-10 Oliver Hunt <oliver (a] apple.com> 420 421 Reviewed by Maciej. 422 423 Leopard build fix -- SVGDocument should not trty to make read/write properties read-only 424 425 Remove those API definitions SVGDocument now inherits from Document 426 427 * ksvg2/svg/SVGDocument.idl: 428 429 2007-10-10 Eric Seidel <eric (a] webkit.org> 430 431 Reviewed by Oliver. 432 433 Make renderers pull localTransform instead of depending on DOM elements to push 434 This allows for cleaner invalidation code, and makes writing animation easier. 435 Also fixed a tiny bug in SVGRenderImage focus ring calculations while there 436 437 Updated test results for svg/custom/focus-ring.svg 438 439 * WebCore.xcodeproj/project.pbxproj: 440 * ksvg2/svg/SVGAElement.cpp: 441 (WebCore::SVGAElement::createRenderer): 442 * ksvg2/svg/SVGAnimateMotionElement.cpp: 443 (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement): 444 * ksvg2/svg/SVGAnimateTransformElement.cpp: 445 (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement): 446 * ksvg2/svg/SVGClipPathElement.cpp: 447 (WebCore::SVGClipPathElement::canvasResource): 448 * ksvg2/svg/SVGElement.h: 449 * ksvg2/svg/SVGGElement.cpp: 450 (WebCore::SVGGElement::createRenderer): 451 * ksvg2/svg/SVGImageElement.cpp: 452 * ksvg2/svg/SVGLocatable.cpp: 453 (WebCore::SVGLocatable::getCTM): 454 (WebCore::SVGLocatable::getScreenCTM): 455 * ksvg2/svg/SVGMarkerElement.cpp: 456 (WebCore::SVGMarkerElement::canvasResource): 457 (WebCore::SVGMarkerElement::notifyAttributeChange): 458 * ksvg2/svg/SVGSVGElement.h: 459 * ksvg2/svg/SVGStyledElement.cpp: 460 (WebCore::SVGStyledElement::rendererIsNeeded): 461 (WebCore::SVGStyledElement::notifyResourceParentIfExistant): 462 * ksvg2/svg/SVGStyledElement.h: 463 (WebCore::SVGStyledElement::style): 464 * ksvg2/svg/SVGStyledTransformableElement.cpp: 465 (WebCore::SVGStyledTransformableElement::animatedLocalTransform): 466 (WebCore::SVGStyledTransformableElement::parseMappedAttribute): 467 (WebCore::SVGStyledTransformableElement::notifyAttributeChange): 468 (WebCore::SVGStyledTransformableElement::createRenderer): 469 * ksvg2/svg/SVGStyledTransformableElement.h: 470 (WebCore::SVGStyledTransformableElement::toPathData): 471 * ksvg2/svg/SVGSwitchElement.cpp: 472 (WebCore::SVGSwitchElement::createRenderer): 473 * ksvg2/svg/SVGTRefElement.cpp: 474 (WebCore::SVGTRefElement::updateReferencedText): 475 * ksvg2/svg/SVGTextElement.cpp: 476 (WebCore::SVGTextElement::parseMappedAttribute): 477 (WebCore::SVGTextElement::animatedLocalTransform): 478 * ksvg2/svg/SVGTextElement.h: 479 * ksvg2/svg/SVGTextPathElement.cpp: 480 * ksvg2/svg/SVGTextPathElement.h: 481 * ksvg2/svg/SVGTransformable.cpp: 482 (WebCore::SVGTransformable::getCTM): 483 (WebCore::SVGTransformable::getScreenCTM): 484 * ksvg2/svg/SVGTransformable.h: 485 * ksvg2/svg/SVGUseElement.cpp: 486 (WebCore::SVGUseElement::createRenderer): 487 (WebCore::SVGUseElement::attachShadowTree): 488 * platform/graphics/AffineTransform.h: 489 (WebCore::AffineTransform::operator!=): 490 * platform/graphics/svg/SVGResourceMarker.cpp: 491 (WebCore::SVGResourceMarker::setMarker): 492 * platform/graphics/svg/SVGResourceMarker.h: 493 * rendering/RenderForeignObject.cpp: 494 (WebCore::RenderForeignObject::calculateLocalTransform): 495 (WebCore::RenderForeignObject::layout): 496 * rendering/RenderForeignObject.h: 497 (WebCore::RenderForeignObject::localTransform): 498 * rendering/RenderObject.cpp: 499 * rendering/RenderObject.h: 500 * rendering/RenderPath.cpp: 501 (WebCore::RenderPath::RenderPath): 502 (WebCore::RenderPath::localTransform): 503 (WebCore::RenderPath::calculateLocalTransform): 504 (WebCore::RenderPath::layout): 505 * rendering/RenderPath.h: 506 * rendering/RenderSVGContainer.cpp: 507 (WebCore::RenderSVGContainer::localTransform): 508 (WebCore::RenderSVGContainer::calculateLocalTransform): 509 (WebCore::RenderSVGContainer::layout): 510 * rendering/RenderSVGContainer.h: 511 * rendering/RenderSVGImage.h: 512 (WebCore::RenderSVGImage::localTransform): 513 * rendering/RenderSVGText.cpp: 514 (WebCore::RenderSVGText::calculateLocalTransform): 515 (WebCore::RenderSVGText::layout): 516 * rendering/RenderSVGText.h: 517 (WebCore::RenderSVGText::isSVGText): 518 (WebCore::RenderSVGText::localTransform): 519 * rendering/RenderSVGTextPath.cpp: 520 (WebCore::RenderSVGTextPath::layoutPath): 521 (WebCore::RenderSVGTextPath::startOffset): 522 (WebCore::RenderSVGTextPath::exactAlignment): 523 (WebCore::RenderSVGTextPath::stretchMethod): 524 * rendering/RenderSVGTextPath.h: 525 * rendering/RenderSVGTransformableContainer.cpp: Added. 526 (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): 527 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): 528 * rendering/RenderSVGTransformableContainer.h: Added. 529 * rendering/RenderSVGViewportContainer.h: 530 531 2007-10-10 Oliver Hunt <oliver (a] apple.com> 532 533 Reviewed by Eric. 534 535 Bug 15451: SVGStyledElement must unregister itself from Resources on detach 536 537 Use a global hashtable to maintain the relationship between the 538 various SVG resources and their clients, across dom updates, etc. 539 540 * ksvg2/svg/SVGStyledElement.cpp: 541 (WebCore::SVGStyledElement::detach): 542 * ksvg2/svg/SVGStyledElement.h: 543 * platform/graphics/svg/SVGPaintServer.h: 544 * platform/graphics/svg/SVGResource.cpp: 545 (WebCore::ResourceSet::ResourceSet): 546 (WebCore::clientMap): 547 (WebCore::SVGResource::~SVGResource): 548 (WebCore::SVGResource::invalidate): 549 (WebCore::SVGResource::removeClient): 550 (WebCore::SVGResource::addClient): 551 * platform/graphics/svg/SVGResource.h: 552 (WebCore::): 553 (WebCore::SVGResource::isPaintServer): 554 (WebCore::SVGResource::isFilter): 555 (WebCore::SVGResource::isClipper): 556 (WebCore::SVGResource::isMarker): 557 (WebCore::SVGResource::isMasker): 558 * platform/graphics/svg/SVGResourceClipper.h: 559 (WebCore::SVGResourceClipper::resourceType): 560 * platform/graphics/svg/SVGResourceFilter.h: 561 * platform/graphics/svg/SVGResourceMarker.h: 562 * platform/graphics/svg/SVGResourceMasker.h: 563 564 2007-10-10 Mark Rowe <mrowe (a] apple.com> 565 566 Windows build fix after r26109. 567 568 * WebCore.vcproj/WebCore.vcproj: 569 570 2007-10-10 Oliver Hunt <oliver (a] apple.com> 571 572 Reviewed by Eric. 573 574 Fix Bug 15433: Filters do not repaint when base resources change/update 575 576 SVGFEImage now actually responds to image updates, and triggers a repaint. 577 578 * platform/graphics/svg/SVGResource.h: 579 * platform/graphics/svg/filters/SVGFEImage.cpp: 580 (WebCore::SVGFEImage::setCachedImage): 581 Don't re-set the image lest we want to trigger infinite recursion. 582 (WebCore::SVGFEImage::imageChanged): 583 Image change means we need to tell our clients to repaint 584 * platform/graphics/svg/filters/SVGFEImage.h: 585 * rendering/SVGRenderSupport.cpp: 586 (WebCore::prepareToRenderSVGContent): 587 make sure that users of filters are registered. 588 589 2007-10-09 Eric Seidel <eric (a] webkit.org> 590 591 Reviewed by Alp. 592 593 Track changes in r26109 to fix the Gtk+ build. 594 595 * WebCore.pro: 596 597 2007-10-09 Alexey Proskuryakov <ap (a] webkit.org> 598 599 Reviewed by Anders. 600 601 http://bugs.webkit.org/show_bug.cgi?id=15436 602 Wrong node order for XPath reverse axes 603 604 Test: fast/xpath/reverse-axes.html 605 606 * xml/XPathStep.cpp: 607 (WebCore::XPath::Step::nodesInAxis): Do not prematurely sort reverse 608 axes. Generate preceding axis nodes in reversed document order. 609 610 2007-10-09 Alexey Proskuryakov <ap (a] webkit.org> 611 612 Reviewed by Mitz. 613 614 http://bugs.webkit.org/show_bug.cgi?id=15437 615 XPath substring-after function is broken 616 617 Test: fast/xpath/substring-after.html 618 619 * xml/XPathFunctions.cpp: 620 (WebCore::XPath::FunSubstringAfter::evaluate): Fix it for real this time, hopefully. 621 622 2007-10-09 Rob Buis <buis (a] kde.org> 623 624 Reviewed by Eric. 625 626 http://bugs.webkit.org/show_bug.cgi?id=15080 627 <use> element not refresh after adding objects by script in referrer 628 629 Update shadow tree when elements are added/removed from a tree 630 that is referenced by a <use>. 631 632 * ksvg2/svg/SVGStyledElement.cpp: 633 (WebCore::SVGStyledElement::childrenChanged): 634 * ksvg2/svg/SVGStyledElement.h: 635 636 2007-10-09 Rob Buis <buis (a] kde.org> 637 638 Reviewed by Maciej. 639 640 http://bugs.webkit.org/show_bug.cgi?id=15088 641 HTMLOptionElement.selected returns false when parent HTMLSelectElement is "display: none" until parent's .selectedIndex is accessed 642 643 Make sure the list items are up to date when there is no renderer. 644 645 * html/HTMLSelectElement.cpp: 646 (WebCore::HTMLSelectElement::recalcStyle): 647 648 2007-10-08 Eric Seidel <eric (a] webkit.org> 649 650 Reviewed by Oliver. 651 652 Build fix. Fix circular build rule for CSS*.in files evident on clean build. 653 654 * DerivedSources.make: 655 * WebCore.xcodeproj/project.pbxproj: 656 * ksvg2/css/CSSPropertyNames.in: Removed. 657 * ksvg2/css/CSSValueKeywords.in: Removed. 658 * ksvg2/css/SVGCSSPropertyNames.in: Copied from ksvg2/css/CSSPropertyNames.in. 659 * ksvg2/css/SVGCSSValueKeywords.in: Copied from ksvg2/css/CSSValueKeywords.in. 660 661 2007-10-08 Eric Seidel <eric (a] webkit.org> 662 663 Reviewed by hyatt. 664 665 Implement getComputedStyle support for SVG CSS values 666 http://bugs.webkit.org/show_bug.cgi?id=15422 667 668 This also unifies SVG and non-SVG CSS hash lookups. A unified hash 669 solves correctness problems as well as offers improved speed. 670 671 Test: svg/css/getComputedStyle-basic.xhtml 672 673 * DerivedSources.make: unify SVG and non-SVG CSS hash files 674 * WebCore.xcodeproj/project.pbxproj: remove old SVG CSS hash files 675 * css/CSSComputedStyleDeclaration.cpp: 676 (WebCore::): 677 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): call getPropertyCSSValue 678 * css/CSSComputedStyleDeclaration.h: add getPropertyCSSValue 679 * css/CSSGrammar.y: 680 * css/CSSParser.cpp: 681 (WebCore::CSSParser::parseValue): 682 * css/CSSStyleDeclaration.cpp: 683 (WebCore::propertyID): 684 * css/CSSStyleSelector.cpp: 685 (WebCore::CSSStyleSelector::applyProperty): 686 * ksvg2/css/CSSPropertyNames.in: remove font-size-adjust 687 * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: Added. 688 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): added. 689 * ksvg2/css/SVGCSSParser.cpp: 690 (WebCore::CSSParser::parseSVGValue): 691 * ksvg2/css/SVGCSSStyleSelector.cpp: 692 (WebCore::CSSStyleSelector::applySVGProperty): 693 * ksvg2/scripts/cssmakeprops: Removed. 694 * ksvg2/scripts/cssmakevalues: Removed. 695 * ksvg2/svg/SVGAnimationElement.cpp: 696 * ksvg2/svg/SVGStyledElement.cpp: 697 (WebCore::mapAttributeToCSSProperty): 698 (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName): remove font-size-adjust 699 700 2007-10-08 Sam Weinig <sam (a] webkit.org> 701 702 Reviewed by Steve Falkenburg; 703 704 Fix for <rdar://problem/5519698> CrashTracer: [USER] 47 crashes in Safari at com.apple.WebCore: WebCore::XMLTokenizer::lineNumber const + 9 705 706 Test: fast/innerHTML/innerHTML-script-tag-crash.xhtml 707 708 * dom/XMLTokenizer.cpp: 709 (WebCore::XMLTokenizer::lineNumber): Return 1 when there is no context. 710 (WebCore::XMLTokenizer::columnNumber): ditto. 711 712 2007-10-08 Alexey Proskuryakov <ap (a] webkit.org> 713 714 * platform/mac/FontPlatformDataMac.mm: 715 (WebCore::FontPlatformData::setFont): Restored one of the -1 checks removed in 716 the previous change - we do need to check m_font! 717 718 2007-10-08 Alexey Proskuryakov <ap (a] webkit.org> 719 720 Reviewed by Darin. 721 722 http://bugs.webkit.org/show_bug.cgi?id=15397 723 Layout tests freeze in HashTable::lookup 724 725 Fixes a DRT freeze on PowerPC. 726 727 * platform/mac/FontPlatformDataMac.mm: 728 (WebCore::FontPlatformData::FontPlatformData): Don't ask for a size of a nil font, 729 the result is undefined. 730 (WebCore::FontPlatformData::setFont): Ditto. Also removed some checks for -1 that 731 were not sufficient, and thus likely unnecessary, 732 733 2007-10-07 Nikolas Zimmermann <zimmermann (a] kde.org> 734 735 Reviewed by Eric. 736 737 Fix some issues with rotation & baseline-shift, when spanning 738 across <tspan> elements. Highlighted by the existing batik tests. 739 740 * rendering/SVGCharacterLayoutInfo.cpp: 741 (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo): 742 (WebCore::SVGCharacterLayoutInfo::processedChunk): 743 (WebCore::SVGChar::characterTransform): 744 * rendering/SVGCharacterLayoutInfo.h: 745 * rendering/SVGInlineTextBox.cpp: 746 (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): 747 (WebCore::SVGInlineTextBox::paintCharacters): 748 (WebCore::SVGInlineTextBox::paintDecoration): 749 * rendering/SVGRootInlineBox.cpp: 750 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 751 752 2007-10-07 Mark Rowe <mrowe (a] apple.com> 753 754 Reviewed by Maciej. 755 756 Bug 5122: Need an equivalent of Mozilla's DOMContentLoaded event 757 http://bugs.webkit.org/show_bug.cgi?id=5122 758 759 This is based on a patch by Daniel Peebles (pumpkingod (a] gmail.com). 760 761 Test: http/tests/loading/DOMContentLoaded-event.html 762 763 * dom/Document.cpp: 764 (WebCore::Document::finishedParsing): Dispatch the DOMContentLoaded event when parsing completes. 765 * dom/EventNames.h: Add DOMContentLoaded to the list of events. 766 767 2007-10-07 Alexey Proskuryakov <ap (a] webkit.org> 768 769 Reviewed by Eric Seidel. 770 771 http://bugs.webkit.org/show_bug.cgi?id=15368 772 xsl:import fails when preceded by comment 773 774 Test: fast/xsl/import-after-comment.xml 775 776 * xml/XSLStyleSheet.cpp: 777 (WebCore::XSLStyleSheet::loadChildSheets): It's OK for xsl:import to be preceded by 778 non-element nodes. 779 780 2007-10-07 Vincent Ricard <magic (a] magicninja.org> 781 782 Reviewed by Maciej. Landed by eseidel. 783 784 http://bugs.webkit.org/show_bug.cgi?id=15062 785 Implement document.compatMode 786 787 Tests: fast/dom/compatMode-AlmostStrict.html 788 fast/dom/compatMode-Compat.html 789 fast/dom/compatMode-Strict.html 790 791 * html/HTMLDocument.cpp: 792 (WebCore::HTMLDocument::compatMode): 793 * html/HTMLDocument.h: 794 * html/HTMLDocument.idl: 795 796 2007-10-07 Sam Weinig <sam (a] webkit.org> 797 798 Reviewed by Darin & Nikolas. Landed by eseidel. 799 800 Patch for http://bugs.webkit.org/show_bug.cgi?id=14455 801 Autogenerate the JS bindings for the StyleSheetList 802 803 * DerivedSources.make: 804 * WebCore.pro: 805 * WebCore.vcproj/WebCore.vcproj: 806 * WebCore.xcodeproj/project.pbxproj: 807 * bindings/js/JSStyleSheetListCustom.cpp: Added. 808 (WebCore::JSStyleSheetList::canGetItemsForName): 809 (WebCore::JSStyleSheetList::nameGetter): 810 * bindings/js/kjs_css.cpp: 811 * bindings/js/kjs_css.h: 812 * bindings/objc/DOMUtility.mm: 813 * bindings/scripts/CodeGeneratorJS.pm: 814 * css/StyleSheetList.cpp: 815 (WebCore::StyleSheetList::StyleSheetList): 816 (WebCore::StyleSheetList::documentDestroyed): 817 (WebCore::StyleSheetList::getNamedItem): 818 * css/StyleSheetList.h: Add Document member variable and 819 getNamedItem function to accommodate the odd javascript 820 name getter functionality. 821 * css/StyleSheetList.idl: 822 * dom/Document.cpp: 823 (WebCore::Document::Document): 824 (WebCore::Document::~Document): 825 * page/DOMWindow.idl: Add StyleSheetListConstructor 826 827 2007-10-07 Lars Naesbye Christensen <lars (a] naesbye.dk> 828 829 Reviewed by Eric Seidel. 830 831 make CSS cell cursor more mac-like 832 http://bugs.webkit.org/show_bug.cgi?id=15325 833 834 * Resources/cellCursor.png: 835 836 2007-10-06 Eric Seidel <eric (a] webkit.org> 837 838 Reviewed by Oliver. 839 840 SVG does not correctly handle onfocusin, onfocusout or onactivate 841 http://bugs.webkit.org/show_bug.cgi?id=12573 842 843 Test: svg/W3C-SVG-1.1/script-handle-02-b.svg 844 845 * ksvg2/svg/SVGElement.cpp: 846 (WebCore::SVGElement::parseMappedAttribute): 847 * ksvg2/svg/svgattrs.in: add onfocusin, onfocusout and onactivate 848 849 2007-10-06 Nikolas Zimmermann <zimmermann (a] kde.org> 850 851 Reviewed by Oliver. 852 853 Never pass null input images to CICrop filter. 854 855 * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: 856 (WebCore::SVGFEComponentTransfer::getCIFilter): 857 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: 858 859 2007-10-06 Mark Rowe <mrowe (a] apple.com> 860 861 Reviewed by Alp Toker. 862 863 Gtk+ build fix and minor code cleanup. 864 865 * WebCore.pro: 866 * platform/gtk/FontCacheGtk.cpp: 867 (WebCore::FontCache::getLastResortFallbackFont): 868 (WebCore::FontCache::fontExists): 869 870 2007-10-06 Alexey Proskuryakov <ap (a] webkit.org> 871 872 Reviewed by Mitz. 873 874 http://bugs.webkit.org/show_bug.cgi?id=15380 875 XPath: id('foo') doesn't resolve correctly 876 877 Test: fast/xpath/id-simple.html 878 879 * xml/XPathFunctions.cpp: 880 (WebCore::XPath::FunId::evaluate): Fixed a logic error in id() parameter parsing. 881 882 2007-10-06 Alexey Proskuryakov <ap (a] webkit.org> 883 884 Reviewed by Darin. 885 886 Patch for http://bugs.webkit.org/show_bug.cgi?id=13707 887 REGRESSION: JavaScript exceptions on quotes.burntelectrons.org 888 889 http://bugs.webkit.org/show_bug.cgi?id=12628 890 document.body is not supported in XHTML documents 891 892 http://bugs.webkit.org/show_bug.cgi?id=14213 893 On page with MIME type application/xhtml+xml, cookie don't work 894 895 Moved a bunch of methods and properties from HTMLDocument down into Document to make 896 them available for all documents (xml, svg). 897 What was kept in HTMLDocument: 898 - some methods and properties that are not in HTML5 (yet?); 899 - open/write/writeln/close, as they will need to be modified to work on XML documents, and aren't 900 of much use for those anyway; 901 - designMode, because its definition in HTML5 is incompatible with our implementation. 902 903 Covered by existing tests. 904 905 * bindings/js/JSDocumentCustom.cpp: 906 (WebCore::JSDocument::location): 907 (WebCore::JSDocument::setLocation): 908 * bindings/js/JSHTMLDocumentCustom.cpp: 909 * bindings/objc/PublicDOMInterfaces.h: 910 * dom/Document.cpp: 911 (WebCore::Document::setBody): 912 (WebCore::Document::cookie): 913 (WebCore::Document::setCookie): 914 (WebCore::Document::lastModified): 915 * dom/Document.h: 916 (WebCore::Document::title): 917 * dom/Document.idl: 918 * html/HTMLDocument.cpp: 919 * html/HTMLDocument.h: 920 * html/HTMLDocument.idl: 921 922 2007-10-06 Eric Seidel <eric (a] webkit.org> 923 924 Reviewed by Oliver Hunt. 925 926 RenderSVGContainer (<g>) should not repaint when its bounds change (unless it has a filter) 927 http://bugs.webkit.org/show_bug.cgi?id=15388 928 This makes the Sun Lively Kernel invalidate only what it should! 929 930 No tests possible in DRT. 931 932 * ksvg2/svg/SVGCircleElement.cpp: 933 (WebCore::SVGCircleElement::notifyAttributeChange): replace call to rebuildRenderer 934 * ksvg2/svg/SVGEllipseElement.cpp: 935 (WebCore::SVGEllipseElement::notifyAttributeChange): replace call to rebuildRenderer 936 * ksvg2/svg/SVGImageElement.cpp: 937 (WebCore::SVGImageElement::notifyAttributeChange): replace call to rebuildRenderer 938 (WebCore::SVGImageElement::hasRelativeValues): implemented 939 * ksvg2/svg/SVGImageElement.h: 940 * ksvg2/svg/SVGLineElement.cpp: 941 (WebCore::SVGLineElement::notifyAttributeChange): replace call to rebuildRenderer 942 * ksvg2/svg/SVGPathElement.cpp: 943 (WebCore::SVGPathElement::notifyAttributeChange): replace call to rebuildRenderer 944 * ksvg2/svg/SVGPolyElement.cpp: 945 (WebCore::SVGPolyElement::notifyAttributeChange): replace call to rebuildRenderer 946 * ksvg2/svg/SVGRectElement.cpp: 947 (WebCore::SVGRectElement::notifyAttributeChange): replace call to rebuildRenderer 948 * ksvg2/svg/SVGStyledElement.cpp: 949 * ksvg2/svg/SVGStyledElement.h: 950 (WebCore::SVGStyledElement::hasRelativeValues): default to true instead 951 * ksvg2/svg/SVGStyledTransformableElement.cpp: 952 (WebCore::SVGStyledTransformableElement::updateLocalTransform): don't layout if no change 953 * ksvg2/svg/SVGStyledTransformableElement.h: 954 * ksvg2/svg/SVGTransform.h: 955 * rendering/RenderPath.cpp: 956 (WebCore::RenderPath::layout): 957 * rendering/RenderPath.h: 958 * rendering/RenderSVGContainer.cpp: 959 (WebCore::RenderSVGContainer::layout): 960 (WebCore::RenderSVGContainer::selfWillPaint): return true if have a filter 961 (WebCore::RenderSVGContainer::paint): 962 * rendering/RenderSVGContainer.h: 963 * rendering/RenderSVGHiddenContainer.cpp: 964 (WebCore::RenderSVGHiddenContainer::layout): 965 * rendering/RenderSVGRoot.cpp: 966 (WebCore::RenderSVGRoot::layout): 967 * rendering/RenderSVGViewportContainer.cpp: 968 (WebCore::RenderSVGViewportContainer::layout): 969 (WebCore::RenderSVGViewportContainer::calcViewport): use floats 970 971 2007-10-06 Rob Buis <buis (a] kde.org> 972 973 Reviewed by Eric. 974 975 Use document() instead of ownerDocument() and a few other cleanups. 976 977 * ksvg2/misc/SVGDocumentExtensions.cpp: 978 (WebCore::SVGDocumentExtensions::mapInstanceToElement): 979 * ksvg2/svg/SVGCircleElement.cpp: 980 (WebCore::SVGCircleElement::notifyAttributeChange): 981 * ksvg2/svg/SVGClipPathElement.cpp: 982 (WebCore::SVGClipPathElement::notifyAttributeChange): 983 * ksvg2/svg/SVGElementInstance.cpp: 984 (WebCore::containsUseChildNode): 985 * ksvg2/svg/SVGEllipseElement.cpp: 986 (WebCore::SVGEllipseElement::notifyAttributeChange): 987 * ksvg2/svg/SVGGradientElement.cpp: 988 (WebCore::SVGGradientElement::notifyAttributeChange): 989 * ksvg2/svg/SVGImageElement.cpp: 990 (WebCore::SVGImageElement::notifyAttributeChange): 991 * ksvg2/svg/SVGLineElement.cpp: 992 (WebCore::SVGLineElement::notifyAttributeChange): 993 * ksvg2/svg/SVGMarkerElement.cpp: 994 (WebCore::SVGMarkerElement::notifyAttributeChange): 995 * ksvg2/svg/SVGMaskElement.cpp: 996 (WebCore::SVGMaskElement::notifyAttributeChange): 997 * ksvg2/svg/SVGPathElement.cpp: 998 (WebCore::SVGPathElement::notifyAttributeChange): 999 * ksvg2/svg/SVGPatternElement.cpp: 1000 (WebCore::SVGPatternElement::notifyAttributeChange): 1001 * ksvg2/svg/SVGPolyElement.cpp: 1002 (WebCore::SVGPolyElement::notifyAttributeChange): 1003 * ksvg2/svg/SVGRectElement.cpp: 1004 (WebCore::SVGRectElement::notifyAttributeChange): 1005 * ksvg2/svg/SVGStopElement.cpp: 1006 (WebCore::SVGStopElement::notifyAttributeChange): 1007 1008 2007-10-05 Eric Seidel <eric (a] webkit.org> 1009 1010 Reviewed by Oliver Hunt. 1011 1012 SVG invalidates way too much during layout() 1013 http://bugs.webkit.org/show_bug.cgi?id=14003 1014 1015 * ksvg2/svg/SVGElement.cpp: 1016 (WebCore::SVGElement::ownerSVGElement): simplify if 1017 (WebCore::SVGElement::viewportElement): simplify if 1018 * rendering/RenderSVGContainer.cpp: 1019 (WebCore::RenderSVGContainer::layout): only layout children if parent changed 1020 * rendering/RenderSVGRoot.cpp: 1021 (WebCore::RenderSVGRoot::layout): only layout children when size changes 1022 * rendering/RenderSVGText.cpp: 1023 (WebCore::RenderSVGText::layout): hack to avoid bad RenderBlock::layout code 1024 * rendering/RenderSVGViewportContainer.cpp: 1025 (WebCore::RenderSVGViewportContainer::layout): don't use RenderSVGContainer::layout() 1026 1027 2007-10-05 Oliver Hunt <oliver (a] apple.com> 1028 1029 Reviewed by Eric. 1030 1031 30%+ performance improvement for svg embedded in xhtml 1032 1033 Relayout internal to SVG was incorrectly being propagated to 1034 the containing xhtml element, which subsequently resulted in 1035 a full paint of the SVG, rather than just the dirty regions. 1036 1037 * rendering/RenderObject.cpp: 1038 (WebCore::objectIsRelayoutBoundary): 1039 (WebCore::RenderObject::markContainingBlocksForLayout): 1040 1041 2007-10-03 Eric Seidel <eric (a] webkit.org> 1042 1043 Reviewed by Maciej. 1044 1045 http://bugs.webkit.org/show_bug.cgi?id=12310 1046 Remove static variables from removeAllChildren causing crash. 1047 removeAllChildren now iterates over the entire tree instead of recursing. 1048 Also (according to Maciej) a possible 1-2% speedboost on HTML iBench. 1049 1050 Test: fast/images/svg-background-crash-on-refresh.html 1051 1052 * WebCore.xcodeproj/project.pbxproj: 1053 * dom/ContainerNode.cpp: 1054 (WebCore::addChildNodesToDeletionQueue): 1055 (WebCore::ContainerNode::removeAllChildren): use new addChildNodesToDeletionQueue 1056 1057 2007-10-03 David Hyatt <hyatt (a] apple.com> 1058 1059 Land support for the CSS @font-face rule. This patch allows custom fonts 1060 to be downloaded from the Web and rendered in Web pages. Right now only 1061 TrueType fonts are supported. Proprietary formats like .eot are not 1062 supported. 1063 1064 Reviewed by Eric Seidel 1065 1066 Many tests will be coming in a future landing. 1067 1068 * WebCore.base.exp: 1069 Expose some more stuff for WebKit, caused by font restructuring. 1070 1071 * WebCore.xcodeproj/project.pbxproj: 1072 Add all the new font face files. 1073 1074 * css/CSSComputedStyleDeclaration.cpp: 1075 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 1076 Make sure to ignore the 'src' property of @font-face rules. 1077 1078 * css/CSSFontFace.cpp: Added. 1079 (WebCore::CSSFontFace::CSSFontFace): 1080 (WebCore::CSSFontFace::~CSSFontFace): 1081 (WebCore::CSSFontFace::isLoaded): 1082 (WebCore::CSSFontFace::isValid): 1083 (WebCore::CSSFontFace::addSource): 1084 (WebCore::CSSFontFace::fontLoaded): 1085 (WebCore::CSSFontFace::getFontData): 1086 * css/CSSFontFace.h: Added. 1087 A CSSFontFace is a composite object. It consists of multiple font-face sources, where each source represents either a remote or local 1088 file in a @font-face rule's src list. 1089 1090 * css/CSSFontFaceRule.cpp: 1091 (WebCore::CSSFontFaceRule::setDeclaration): 1092 (WebCore::CSSFontFaceRule::cssText): 1093 * css/CSSFontFaceRule.h: 1094 The implementation of the @font-face rule itself in the CSS sheet back end. 1095 1096 * css/CSSFontFaceSource.cpp: Added. 1097 (WebCore::CSSFontFaceSource::CSSFontFaceSource): 1098 (WebCore::CSSFontFaceSource::~CSSFontFaceSource): 1099 (WebCore::CSSFontFaceSource::pruneTable): 1100 (WebCore::CSSFontFaceSource::isLoaded): 1101 (WebCore::CSSFontFaceSource::isValid): 1102 (WebCore::CSSFontFaceSource::fontLoaded): 1103 (WebCore::CSSFontFaceSource::getFontData): 1104 * css/CSSFontFaceSource.h: Added. 1105 (WebCore::CSSFontFaceSource::string): 1106 (WebCore::CSSFontFaceSource::setFontFace): 1107 A font face source represents a single remote or local font. If it represents a remote font than it wraps a CachedFont. 1108 1109 * css/CSSFontFaceSrcValue.cpp: Added. 1110 (WebCore::CSSFontFaceSrcValue::isSupportedFormat): 1111 (WebCore::CSSFontFaceSrcValue::cssText): 1112 * css/CSSFontFaceSrcValue.h: Added. 1113 (WebCore::CSSFontFaceSrcValue::m_isLocal): 1114 (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue): 1115 (WebCore::CSSFontFaceSrcValue::resource): 1116 (WebCore::CSSFontFaceSrcValue::format): 1117 (WebCore::CSSFontFaceSrcValue::isLocal): 1118 (WebCore::CSSFontFaceSrcValue::setFormat): 1119 Used in parsing. Represents the parsed form of the src value that can then be used to build up a CSSFontFace. 1120 1121 * css/CSSFontSelector.cpp: Added. 1122 (WebCore::CSSFontSelector::CSSFontSelector): 1123 (WebCore::CSSFontSelector::~CSSFontSelector): 1124 (WebCore::CSSFontSelector::isEmpty): 1125 (WebCore::CSSFontSelector::docLoader): 1126 (WebCore::hashForFont): 1127 (WebCore::CSSFontSelector::addFontFaceRule): 1128 (WebCore::CSSFontSelector::fontLoaded): 1129 (WebCore::CSSFontSelector::getFontData): 1130 * css/CSSFontSelector.h: Added. 1131 The CSS font selector is the object that selects the correct font given a specified font family. It builds up a database of CSSFontFaces that can then be handed 1132 back. 1133 1134 * css/CSSGrammar.y: 1135 * css/CSSParser.cpp: 1136 (WebCore::CSSParser::parseValue): 1137 (WebCore::CSSParser::parseFontFaceSrc): 1138 (WebCore::CSSParser::createFontFaceRule): 1139 * css/CSSParser.h: 1140 Modify the CSS grammar to now understand @font-face rules. 1141 1142 * css/CSSPropertyNames.in: 1143 Add the src property. 1144 1145 * css/CSSStyleSelector.cpp: 1146 (WebCore::CSSStyleSelector::CSSStyleSelector): 1147 (WebCore::CSSStyleSelector::styleForElement): 1148 (WebCore::CSSStyleSelector::updateFont): 1149 (WebCore::CSSRuleSet::addRulesFromSheet): 1150 (WebCore::CSSStyleSelector::applyProperty): 1151 (WebCore::CSSStyleSelector::ensureFontSelector): 1152 * css/CSSStyleSelector.h: 1153 (WebCore::CSSStyleSelector::fontSelector): 1154 The style selector now creates a font selector object and feeds it the appropriate information when @font-face rules are encountered. 1155 1156 * dom/Document.cpp: 1157 (WebCore::Document::recalcStyle): 1158 Patch the update method now that it takes a font selector argument. 1159 1160 * loader/Cache.cpp: 1161 (WebCore::createResource): 1162 (WebCore::Cache::getStatistics): 1163 * loader/Cache.h: 1164 Teach the Cache about CachedFonts. 1165 1166 * loader/CachedFont.cpp: Added. 1167 (WebCore::CachedFont::CachedFont): 1168 (WebCore::CachedFont::~CachedFont): 1169 (WebCore::CachedFont::ref): 1170 (WebCore::CachedFont::data): 1171 (WebCore::CachedFont::beginLoadIfNeeded): 1172 (WebCore::CachedFont::ensureCustomFontData): 1173 (WebCore::CachedFont::platformDataFromCustomData): 1174 (WebCore::CachedFont::allReferencesRemoved): 1175 (WebCore::CachedFont::checkNotify): 1176 (WebCore::CachedFont::error): 1177 * loader/CachedFont.h: Added. 1178 (WebCore::CachedFont::schedule): 1179 The implementation of CachedFont. This represents the downloaded resource and has all the raw font data. 1180 1181 * loader/CachedResource.h: 1182 (WebCore::CachedResource::): 1183 * loader/CachedResourceClient.h: 1184 (WebCore::CachedResourceClient::fontLoaded): 1185 Add a new fontLoaded method for clients of cached resources to track when fonts finish downloading. 1186 1187 * loader/DocLoader.cpp: 1188 (WebCore::DocLoader::requestFont): 1189 * loader/DocLoader.h: 1190 Add the ability to request a font. 1191 1192 * platform/Font.cpp: 1193 (WebCore::Font::operator==): 1194 (WebCore::Font::update): 1195 (WebCore::Font::drawText): 1196 * platform/Font.h: 1197 * platform/FontCache.cpp: 1198 (WebCore::FontCache::getFontData): 1199 * platform/FontCache.h: 1200 * platform/FontData.cpp: 1201 (WebCore::FontData::FontData): 1202 * platform/FontData.h: 1203 (WebCore::FontData::isCustomFont): 1204 (WebCore::FontData::isLoading): 1205 * platform/FontFallbackList.cpp: 1206 (WebCore::FontFallbackList::FontFallbackList): 1207 (WebCore::FontFallbackList::invalidate): 1208 (WebCore::FontFallbackList::fontDataAt): 1209 * platform/FontFallbackList.h: 1210 (WebCore::FontFallbackList::loadingCustomFonts): 1211 (WebCore::FontFallbackList::fontSelector): 1212 * platform/FontSelector.h: Added. 1213 (WebCore::FontSelector::~FontSelector): 1214 * platform/GlyphPageTreeNode.cpp: 1215 (WebCore::GlyphPageTreeNode::getRoot): 1216 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): 1217 (WebCore::GlyphPageTreeNode::~GlyphPageTreeNode): 1218 (WebCore::GlyphPageTreeNode::initializePage): 1219 (WebCore::GlyphPageTreeNode::getChild): 1220 (WebCore::GlyphPageTreeNode::pruneCustomFontData): 1221 * platform/GlyphPageTreeNode.h: 1222 (WebCore::GlyphPageTreeNode::GlyphPageTreeNode): 1223 (WebCore::GlyphPageTreeNode::page): 1224 * platform/PopupMenuClient.h: 1225 * platform/mac/FontCacheMac.mm: 1226 (WebCore::FontCache::getFontDataForCharacters): 1227 (WebCore::FontCache::getLastResortFallbackFont): 1228 (WebCore::FontCache::fontExists): 1229 (WebCore::FontCache::createFontPlatformData): 1230 * platform/mac/FontCustomPlatformData.cpp: Added. 1231 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 1232 (WebCore::FontCustomPlatformData::fontPlatformData): 1233 (WebCore::createFontCustomPlatformData): 1234 * platform/mac/FontCustomPlatformData.h: Added. 1235 (WebCore::FontCustomPlatformData::FontCustomPlatformData): 1236 * platform/mac/FontDataMac.mm: 1237 (WebCore::initFontData): 1238 (WebCore::FontData::platformInit): 1239 (WebCore::FontData::smallCapsFontData): 1240 (WebCore::FontData::platformWidthForGlyph): 1241 (WebCore::FontData::checkShapesArabic): 1242 * platform/mac/FontMac.mm: 1243 (WebCore::initializeATSUStyle): 1244 (WebCore::Font::drawGlyphs): 1245 * platform/mac/FontPlatformData.h: 1246 (WebCore::FontPlatformData::FontPlatformData): 1247 (WebCore::FontPlatformData::hash): 1248 (WebCore::FontPlatformData::operator==): 1249 * platform/mac/FontPlatformDataMac.mm: Added. 1250 (WebCore::FontPlatformData::FontPlatformData): 1251 (WebCore::~FontPlatformData): 1252 (WebCore::FontPlatformData::setFont): 1253 * platform/mac/WebCoreSystemInterface.h: 1254 * platform/mac/WebCoreSystemInterface.mm: 1255 * platform/win/FontCacheWin.cpp: 1256 (WebCore::FontCache::getLastResortFallbackFont): 1257 (WebCore::FontCache::fontExists): 1258 * platform/win/FontCustomPlatformData.cpp: Added. 1259 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 1260 (WebCore::FontCustomPlatformData::fontPlatformData): 1261 (WebCore::getData): 1262 (WebCore::releaseData): 1263 (WebCore::getBytesWithOffset): 1264 (WebCore::createFontCustomPlatformData): 1265 * platform/win/FontCustomPlatformData.h: Added. 1266 (WebCore::FontCustomPlatformData::FontCustomPlatformData): 1267 * platform/win/FontDataWin.cpp: 1268 (WebCore::FontData::platformInit): 1269 (WebCore::FontData::platformDestroy): 1270 (WebCore::FontData::smallCapsFontData): 1271 (WebCore::FontData::containsCharacters): 1272 (WebCore::FontData::determinePitch): 1273 * platform/win/FontPlatformData.h: 1274 (WebCore::FontPlatformData::FontPlatformData): 1275 (WebCore::FontPlatformData::hash): 1276 (WebCore::FontPlatformData::operator==): 1277 * platform/win/FontPlatformDataWin.cpp: 1278 (WebCore::FontPlatformData::FontPlatformData): 1279 * platform/win/PopupMenuWin.cpp: 1280 (WebCore::PopupMenu::paint): 1281 Changes to platform to support rendering of custom fonts. Too large to go into, but for ports, the relevant object to implement is 1282 FontCustomPlatformData (to get the data loaded into your native font format), and then you have to patch your other font objects to know 1283 how to use the font. 1284 1285 * rendering/RenderListBox.cpp: 1286 (WebCore::RenderListBox::updateFromElement): 1287 (WebCore::RenderListBox::paintItemForeground): 1288 * rendering/RenderMenuList.cpp: 1289 (WebCore::RenderMenuList::fontSelector): 1290 * rendering/RenderMenuList.h: 1291 * rendering/RenderTextControl.cpp: 1292 (WebCore::RenderTextControl::fontSelector): 1293 * rendering/RenderTextControl.h: 1294 * rendering/RenderThemeMac.mm: 1295 (WebCore::RenderThemeMac::setFontFromControlSize): 1296 * rendering/RenderThemeSafari.cpp: 1297 (WebCore::RenderThemeSafari::setFontFromControlSize): 1298 Patches for update now taking a font selector argument. 1299 1300 2007-10-03 Rob Buis <buis (a] kde.org> 1301 1302 Reviewed by Eric. 1303 1304 Remove unneeded code and other cleanups. 1305 1306 * ksvg2/svg/SVGScriptElement.cpp: 1307 (WebCore::SVGScriptElement::parseMappedAttribute): 1308 * ksvg2/svg/SVGScriptElement.h: 1309 1310 2007-10-03 Rob Buis <buis (a] kde.org> 1311 1312 Reviewed by Maciej. 1313 1314 http://bugs.webkit.org/show_bug.cgi?id=15260 1315 Any styles defined after <element> {<property>:%} style are ignored by Safari 1316 1317 Add dummy rule to skip constructions like width: %. 1318 1319 * css/CSSGrammar.y: 1320 1321 2007-10-03 Mark Rowe <mrowe (a] apple.com> 1322 1323 Reviewed by Lars. 1324 1325 Get Gtk+ port building on the feature branch. 1326 1327 * WebCore.pro: 1328 * ksvg2/svg/SVGSVGElement.cpp: 1329 * platform/graphics/svg/cairo/RenderPathCairo.cpp: 1330 (WebCore::RenderPath::strokeContains): 1331 * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: 1332 (WebCore::SVGPaintServer::draw): 1333 (WebCore::SVGPaintServer::renderPath): 1334 * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: 1335 (WebCore::SVGPaintServerSolid::setup): 1336 * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: 1337 (WebCore::SVGResourceMasker::applyMask): 1338 * rendering/SVGCharacterLayoutInfo.cpp: 1339 * rendering/SVGInlineTextBox.cpp: 1340 * rendering/SVGRootInlineBox.cpp: 1341 1342 2007-10-02 Alexey Proskuryakov <ap (a] webkit.org> 1343 1344 Reviewed by Maciej. 1345 1346 http://bugs.webkit.org/show_bug.cgi?id=15102 1347 XMLHttpRequests should dispatch a readystatechange event. 1348 1349 Test: http/tests/xmlhttprequest/readystatechange.html 1350 1351 * xml/XMLHttpRequest.cpp: 1352 (WebCore::XMLHttpRequest::callReadyStateChangeListener): Added readystatechange 1353 event support. Fixed the function to dispatch the same event to all listeners 1354 instead of creating a new copy for each one. Changed bubbling/cancelability of 1355 load and readystatechange events to match Firefox. 1356 1357 2007-10-02 Eric Seidel <eric (a] webkit.org> 1358 1359 Reviewed by Oliver Hunt. 1360 1361 http://bugs.webkit.org/show_bug.cgi?id=13828 1362 Fixes svg/custom/rootmost-svg-xy-attrs.xhtml 1363 1364 * WebCore.xcodeproj/project.pbxproj: fix warning about SVGDOM.h 1365 * ksvg2/svg/SVGSVGElement.cpp: 1366 (WebCore::SVGSVGElement::viewport): use new isOutermostSVG() 1367 (WebCore::SVGSVGElement::getCTM): use isOutermostSVG() 1368 (WebCore::SVGSVGElement::getScreenCTM): use isOutermostSVG() 1369 (WebCore::SVGSVGElement::createRenderer): use isOutermostSVG() 1370 (WebCore::SVGSVGElement::isOutermostSVG): 1371 * ksvg2/svg/SVGSVGElement.h: add isOutermostSVG 1372 * rendering/RenderSVGRoot.cpp: 1373 (WebCore::RenderSVGRoot::calcViewport): ignore x/y 1374 1375 2007-10-02 Maciej Stachowiak <mjs (a] apple.com> 1376 1377 Reviewed by Mitz. 1378 1379 - Avoid uselessly serializing CSS property values on replacement for 10% CK DOM speedup 1380 http://bugs.webkit.org/show_bug.cgi?id=15340 1381 1382 * css/CSSMutableStyleDeclaration.cpp: 1383 (WebCore::CSSMutableStyleDeclaration::removeProperty): Don't generate return value unless needed. 1384 (WebCore::CSSMutableStyleDeclaration::setProperty): Use the no-return version appropriately. 1385 * css/CSSMutableStyleDeclaration.h: 1386 (WebCore::CSSMutableStyleDeclaration::removeProperty): New version with no return value. 1387 1388 2007-10-02 Maciej Stachowiak <mjs (a] apple.com> 1389 1390 Reviewed by Oliver. 1391 1392 - Use Vector<UChar> instead of DeprecatedString for innerHTML, for 35% speedup on CK DOM test 1393 http://bugs.webkit.org/show_bug.cgi?id=15339 1394 1395 Rewrote both versions of createMarkup to build based on 1396 Vector<UChar> instead of String. Also other miscellaneous 1397 speedups (mainly content strings are now encoded in a way that 1398 doesn't take a function call per character, and switch is avoided). 1399 1400 This also causes a functional change - we no longer escape '>' since this was unnecessary and it's faster 1401 to avoid testing for it. See updated test results. 1402 1403 * editing/markup.cpp: 1404 (WebCore::appendString): 1405 (WebCore::appendAttributeValue): 1406 (WebCore::escapeContentText): 1407 (WebCore::appendEscapedContent): 1408 (WebCore::appendDeprecatedString): 1409 (WebCore::appendQuotedURLAttributeValue): 1410 (WebCore::stringValueForRange): 1411 (WebCore::ucharRange): 1412 (WebCore::appendUCharRange): 1413 (WebCore::appendNamespace): 1414 (WebCore::appendStartMarkup): 1415 (WebCore::getStartMarkup): 1416 (WebCore::appendEndMarkup): 1417 (WebCore::getEndMarkup): 1418 (WebCore::appendMarkup): 1419 (WebCore::joinMarkups): 1420 (WebCore::createMarkup): 1421 * editing/markup.h: 1422 * page/mac/WebCoreFrameBridge.mm: 1423 (-[WebCoreFrameBridge markupStringFromNode:nodes:]): 1424 (-[WebCoreFrameBridge markupStringFromRange:nodes:]): 1425 1426 2007-10-02 Maciej Stachowiak <mjs (a] apple.com> 1427 1428 Reviewed by Eric. 1429 1430 - fixed "innerHTML updates layout every time (very bad if adding to it in a loop)" 1431 http://bugs.webkit.org/show_bug.cgi?id=15326 1432 (65% speedup on Celtic Kane JS 2007 DOM test) 1433 1434 * editing/markup.cpp: 1435 (WebCore::createMarkup): The Node version of this function currently never uses 1436 the render tree, so don't bother to update layout. This is the version used for 1437 innerHTML. 1438 1439 2007-10-02 Nicholas Shanks <webkit (a] nickshanks.com> 1440 1441 Reviewed by eseidel & hyatt. 1442 1443 Add support for CSS3 values 'start' and 'end' to text-align property. 1444 1445 * css/cssparser.cpp: 1446 (WebCore::CSSParser::parseValue): allow start and end values 1447 * css/cssstyleselector.cpp: 1448 (WebCore::CSSStyleSelector::applyProperty): handle start and end values 1449 1450 2007-10-01 Oliver Hunt <oliver (a] apple.com> 1451 1452 Reviewed by Mark. 1453 1454 Enable Experimental SVG features by default when building from Xcode 1455 1456 * Configurations/WebCore.xcconfig: 1457 1458 2007-10-01 Eric Seidel <eric (a] webkit.org> 1459 1460 Reviewed by Oliver Hunt. 1461 1462 This only affects Debug builds, and the ability to save SVGs as WebArchives 1463 neither are testable via DumpRenderTree. 1464 1465 * Configurations/WebCore.xcconfig: change where Xcode looks for WebCore.exp 1466 * DerivedSources.make: adds SVG symbols to WebCore.exp when necessary 1467 * WebCore.SVG.exp: Added. 1468 * WebCore.exp: moved to WebCore.base.exp 1469 * WebCore.xcodeproj/project.pbxproj: updated to reflect moved files 1470 * bindings/objc/DOMSVGExecption.h: moved to DOMSVGException.h 1471 1472 2007-10-01 Eric Seidel <eric (a] webkit.org> 1473 1474 Reviewed by olliej. 1475 1476 Make feature-branch build again with ENABLE_SVG_EXPERIMENTAL_FEATURES 1477 Needed a double -> float change to make the new filter types build. 1478 1479 Build fix, no test cases. 1480 1481 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: 1482 * ksvg2/svg/SVGComponentTransferFunctionElement.h: 1483 * ksvg2/svg/SVGFECompositeElement.cpp: 1484 * ksvg2/svg/SVGFECompositeElement.h: 1485 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: 1486 * ksvg2/svg/SVGFEDiffuseLightingElement.h: 1487 * ksvg2/svg/SVGFEDisplacementMapElement.cpp: 1488 * ksvg2/svg/SVGFEDisplacementMapElement.h: 1489 * ksvg2/svg/SVGFEGaussianBlurElement.cpp: 1490 * ksvg2/svg/SVGFEGaussianBlurElement.h: 1491 * ksvg2/svg/SVGFELightElement.cpp: 1492 * ksvg2/svg/SVGFELightElement.h: 1493 * ksvg2/svg/SVGFEOffsetElement.cpp: 1494 * ksvg2/svg/SVGFEOffsetElement.h: 1495 * ksvg2/svg/SVGFESpecularLightingElement.cpp: 1496 * ksvg2/svg/SVGFESpecularLightingElement.h: 1497 * ksvg2/svg/SVGFETurbulenceElement.cpp: 1498 * ksvg2/svg/SVGFETurbulenceElement.h: 1499 1500 2007-09-30 Julien <julien.chaffraix (a] gmail.com> 1501 1502 Reviewed by aroben & eseidel. 1503 1504 fix http://bugs.webkit.org/show_bug.cgi?id=14898 1505 1506 getAllResponseHeaders() separates each header with a CR LF according to the specification 1507 1508 Test: http/tests/xmlhttprequest/xmlhttprequest-crlf-getAllResponseHeader.html 1509 1510 * xml/XMLHttpRequest.cpp: 1511 (WebCore::XMLHttpRequest::getAllResponseHeaders): 1512 1513 2007-09-28 Eric Seidel <eric (a] webkit.org> 1514 1515 Reviewed by Sam Wenig. 1516 1517 ASSERT when dragging <svg:image> with non-null prefix 1518 http://bugs.webkit.org/show_bug.cgi?id=15308 1519 1520 * bindings/objc/DOM.mm: 1521 (WebCore::lookupElementClass): added 1522 (WebCore::elementClass): use new lookupElementClass function 1523 1524 2007-09-25 Eric Seidel <eric (a] webkit.org> 1525 1526 Reviewed by Mark Rowe. 1527 1528 I managed to break the SVG build when fixing the --no-svg build for 1529 http://bugs.webkit.org/show_bug.cgi?id=15281 1530 This adds the appropriate DOMSVG headers to the copy headers phase 1531 (in fixing the no-svg build I mistakenly re-marked them project-only) 1532 1533 * WebCore.xcodeproj/project.pbxproj: 1534 1535 2007-09-25 Eric Seidel <eric (a] webkit.org> 1536 1537 Reviewed by Rob Buis. 1538 1539 Already tested by SVG/W3C-SVG-1.1/linking-a-07-t.svg 1540 1541 * ksvg2/svg/SVGAElement.cpp: 1542 (WebCore::SVGAElement::defaultEventHandler): properly pass along target values 1543 1544 2007-09-22 Oliver Hunt <oliver (a] apple.com> 1545 1546 Reviewed by NOBODY (Build fix). 1547 1548 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 1549 (WebCore::SVGPaintServerGradient::teardown): 1550 (WebCore::SVGPaintServerGradient::renderPath): 1551 * rendering/SVGRootInlineBox.cpp: 1552 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 1553 1554 2007-09-09 Nikolas Zimmermann <zimmermann (a] kde.org> 1555 1556 Reviewed by Oliver. 1557 1558 Rework <pattern> support to take overflow & viewBox into account. 1559 Also fix all possible combinations of patternUnits/patternContentUnits, tested by several batik testcases. 1560 (Status: <mask>, <pattern>, <linearGradient>, <radialGradient>, <filter> regions work perfectly. <clipPath> is sill todo) 1561 1562 While I'm at it, add a very helpful debugging tool "dumpCGOutputImage" and rename "dumpOutputImage" to "dumpCIOutputImage". 1563 Also fix possible null image buffer problems. (ie. large alloc) 1564 1565 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12221 (Webkit ToT fails to render this pattern example) 1566 1567 * ksvg2/svg/PatternAttributes.h: 1568 (WebCore::PatternAttributes::PatternAttributes): 1569 (WebCore::PatternAttributes::x): 1570 (WebCore::PatternAttributes::y): 1571 (WebCore::PatternAttributes::width): 1572 (WebCore::PatternAttributes::height): 1573 (WebCore::PatternAttributes::setX): 1574 (WebCore::PatternAttributes::setY): 1575 (WebCore::PatternAttributes::setWidth): 1576 (WebCore::PatternAttributes::setHeight): 1577 * ksvg2/svg/SVGPatternElement.cpp: 1578 (WebCore::SVGPatternElement::buildPattern): 1579 (WebCore::SVGPatternElement::collectPatternProperties): 1580 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 1581 (WebCore::SVGPaintServerGradient::setup): 1582 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: 1583 (WebCore::patternCallback): 1584 (WebCore::SVGPaintServerPattern::setup): 1585 * platform/graphics/svg/cg/SVGResourceFilterCg.mm: 1586 (WebCore::dumpCIOutputImage): 1587 (WebCore::dumpCGOutputImage): 1588 1589 2007-09-05 Nikolas Zimmermann <zimmermann (a] kde.org> 1590 1591 Reviewed by Oliver. 1592 1593 Fix <mask> in userSpaceOnUse coordinates. Verified by new testcase taken from Batik. 1594 1595 * ksvg2/svg/SVGMaskElement.cpp: 1596 (WebCore::SVGMaskElement::drawMaskerContent): 1597 1598 2007-09-03 Nikolas Zimmermann <zimmermann (a] kde.org> 1599 1600 Reviewed by Oliver. 1601 1602 Rewrite text painting code path, to be based on "text chunks" instead of using the InlineBox* hierarchy. 1603 This allows us to reuse paint servers as long as possible - and to actually paint in the way didacted by the spec. 1604 1605 This also implements advanced SVG text decorations (ie. stroked/filled decos with gradient/pattern). 1606 Fixes: http://bugs.webkit.org/show_bug.cgi?id=7200 (Gradient appears and disappears in SVG when text is off screen) 1607 1608 Fixes paint server usage on text paths. (ie. styled text paths, with gradients/filters). 1609 1610 * platform/graphics/svg/SVGPaintServer.h: 1611 * platform/graphics/svg/SVGPaintServerGradient.h: 1612 * platform/graphics/svg/cg/SVGPaintServerCg.cpp: 1613 (WebCore::SVGPaintServer::draw): 1614 (WebCore::SVGPaintServer::renderPath): 1615 (WebCore::SVGPaintServer::strokePath): 1616 (WebCore::SVGPaintServer::clipToStrokePath): 1617 (WebCore::SVGPaintServer::fillPath): 1618 (WebCore::SVGPaintServer::clipToFillPath): 1619 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 1620 (WebCore::findTextRootObject): 1621 (WebCore::SVGPaintServerGradient::teardown): 1622 (WebCore::SVGPaintServerGradient::renderPath): 1623 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation): 1624 (WebCore::SVGPaintServerGradient::setup): 1625 * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: 1626 (WebCore::SVGPaintServerSolid::setup): 1627 * platform/graphics/svg/qt/SVGPaintServerQt.cpp: 1628 (WebCore::SVGPaintServer::draw): 1629 (WebCore::SVGPaintServer::renderPath): 1630 * rendering/RenderSVGInlineText.cpp: 1631 * rendering/RenderSVGTSpan.cpp: 1632 * rendering/RenderSVGText.cpp: 1633 * rendering/RenderSVGTextPath.cpp: 1634 * rendering/SVGCharacterLayoutInfo.h: 1635 (WebCore::SVGTextChunkWalkerBase::~SVGTextChunkWalkerBase): 1636 (WebCore::SVGTextChunkWalker::SVGTextChunkWalker): 1637 (WebCore::SVGTextChunkWalker::operator()): 1638 (WebCore::SVGTextChunkWalker::start): 1639 (WebCore::SVGTextChunkWalker::end): 1640 (WebCore::SVGTextChunkWalker::setupFill): 1641 (WebCore::SVGTextChunkWalker::setupStroke): 1642 * rendering/SVGInlineFlowBox.h: 1643 * rendering/SVGInlineTextBox.cpp: 1644 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::SVGInlineTextBoxClosestCharacterToPositionWalker): 1645 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): 1646 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::character): 1647 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::offset): 1648 (WebCore::SVGInlineTextBoxSelectionRectWalker::SVGInlineTextBoxSelectionRectWalker): 1649 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): 1650 (WebCore::SVGInlineTextBoxSelectionRectWalker::selectionRect): 1651 (WebCore::SVGInlineTextBox::closestCharacterToPosition): 1652 (WebCore::SVGInlineTextBox::selectionRect): 1653 (WebCore::SVGInlineTextBox::paintCharacters): 1654 (WebCore::SVGInlineTextBox::paintSelection): 1655 (WebCore::pathForDecoration): 1656 (WebCore::SVGInlineTextBox::paintDecoration): 1657 * rendering/SVGInlineTextBox.h: 1658 * rendering/SVGRenderSupport.cpp: 1659 (WebCore::prepareToRenderSVGContent): 1660 * rendering/SVGRenderSupport.h: 1661 * rendering/SVGRootInlineBox.cpp: 1662 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): 1663 (WebCore::SVGRootInlineBoxPaintWalker::~SVGRootInlineBoxPaintWalker): 1664 (WebCore::SVGRootInlineBoxPaintWalker::teardownFillPaintServer): 1665 (WebCore::SVGRootInlineBoxPaintWalker::teardownStrokePaintServer): 1666 (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback): 1667 (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback): 1668 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback): 1669 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback): 1670 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 1671 (WebCore::SVGRootInlineBox::paint): 1672 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 1673 (WebCore::addPaintServerToTextDecorationInfo): 1674 (WebCore::SVGRootInlineBox::retrievePaintServersForTextDecoration): 1675 (WebCore::SVGRootInlineBox::walkTextChunks): 1676 * rendering/SVGRootInlineBox.h: 1677 1678 2007-08-27 Nikolas Zimmermann <zimmermann (a] kde.org> 1679 1680 Reviewed by Mitz. 1681 1682 Expose unitsPerEm() in Font classes. 1683 This is needed to implement SVG's advanced text decorations. We won't draw lines for text-decorations 1684 but fillable & strokable rectangles with a certain height, computed through unitsPerEm & font size. 1685 1686 * platform/Font.cpp: 1687 (WebCore::Font::unitsPerEm): 1688 * platform/Font.h: 1689 * platform/FontData.h: 1690 (WebCore::FontData::unitsPerEm): 1691 * platform/gdk/FontDataGdk.cpp: 1692 (WebCore::FontData::platformInit): 1693 * platform/mac/FontDataMac.mm: 1694 (WebCore::FontData::platformInit): 1695 * platform/qt/FontDataQt.cpp: 1696 (WebCore::FontData::platformInit): 1697 * platform/win/FontDataWin.cpp: 1698 (WebCore::FontData::platformInit): 1699 * platform/wx/FontDataWx.cpp: 1700 (WebCore::FontData::platformInit): 1701 1702 2007-08-27 Oliver Hunt <oliver (a] apple.com> 1703 1704 Reviewed by NOBODY (Build fix). 1705 1706 Initialise iterators to appease gcc 1707 1708 * rendering/SVGInlineTextBox.cpp: 1709 (WebCore::SVGInlineTextBox::closestCharacterToPosition): 1710 1711 2007-08-22 Rob Buis <buis (a] kde.org> 1712 1713 Reviewed by Sam. 1714 1715 http://bugs.webkit.org/show_bug.cgi?id=12059 1716 SVG colors have two separate parsing paths (one CSS and one SVGColor::setRGBColor) 1717 1718 Reuse the css parser as much as possible in setRGBColor. 1719 1720 * css/cssparser.cpp: 1721 (WebCore::CSSParser::parseColor): 1722 * css/cssparser.h: 1723 * editing/ApplyStyleCommand.cpp: 1724 (WebCore::StyleChange::checkForLegacyHTMLStyleChange): 1725 * html/CanvasGradient.cpp: 1726 (WebCore::CanvasGradient::addColorStop): 1727 * html/CanvasRenderingContext2D.cpp: 1728 (WebCore::CanvasRenderingContext2D::setShadow): 1729 (WebCore::CanvasRenderingContext2D::applyShadow): 1730 * html/CanvasStyle.cpp: 1731 (WebCore::CanvasStyle::applyStrokeColor): 1732 (WebCore::CanvasStyle::applyFillColor): 1733 * ksvg2/svg/SVGColor.cpp: 1734 (WebCore::SVGColor::colorFromRGBColorString): 1735 1736 2007-08-21 Nikolas Zimmermann <zimmermann (a] kde.org> 1737 1738 Reviewed by Oliver. 1739 1740 Large SVG filter rework. Bring it back in a useable state. 1741 1742 Fixes: http://bugs.webkit.org/show_bug.cgi?id=5527 (Filters need subregion support) 1743 Fixes: http://bugs.webkit.org/show_bug.cgi?id=5579 (WebKit+SVG renders full-filters-example incorrectly) 1744 Fixes: http://bugs.webkit.org/show_bug.cgi?id=5976 (filterUnits="userSpaceOnUse" is broken (breaking feTile test case)) 1745 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12064 (Need function for manual style-resolution for things like gradient stops) 1746 1747 filters-blend-01-b.svg & filters-example-01-b.svg & filters-displace-01-b.svg & filters-diffuse-01-f.svg are fixed now. 1748 1749 In detail: 1750 - flood-color & flood-opacity have been incorrectly resolved on the <feBlend> parent element! 1751 - sizing of filter region was truncated in some cases, as the bbox was used to resolve the needed filter region instead of the filter rect 1752 - add subregion support to all filter primitives (primitiveUnits & filterUnits handled in all cases) 1753 - WKDisplacmentMap.cikernel incorrectly flipped the y-axis. 1754 - Correctly specify default values for all filter primitives in ksvg2/svg! 1755 - Initialize all variables of the SVGFE* classes in platform/graphics/svg/filters. 1756 - Fix 'flood-color' initial value (was set to the _stop_ color initial value) 1757 -> both initial values were pointing to 'black' though, so it was no visible problem. 1758 - Parse 'lighting-color' css property, no more hacking in SVGFEDiffuseLighting. 1759 -> Correct it's initial from black to white value fixes SVG lighting filters! 1760 - Add diffuseConstant support to feDiffuseLighting filter. 1761 - Centralize manual style resolution (needed for stop-color, flood-color & flood-opacity, lighting-color) 1762 1763 * ksvg2/css/SVGCSSParser.cpp: 1764 * ksvg2/css/SVGCSSStyleSelector.cpp: 1765 (WebCore::CSSStyleSelector::applySVGProperty): 1766 * ksvg2/css/SVGRenderStyle.h: 1767 * ksvg2/css/SVGRenderStyleDefs.cpp: 1768 (StyleMiscData::StyleMiscData): 1769 (StyleMiscData::operator==): 1770 * ksvg2/css/SVGRenderStyleDefs.h: 1771 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: 1772 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): 1773 * ksvg2/svg/SVGFEBlendElement.cpp: 1774 (WebCore::SVGFEBlendElement::SVGFEBlendElement): 1775 (WebCore::SVGFEBlendElement::filterEffect): 1776 * ksvg2/svg/SVGFEBlendElement.h: 1777 * ksvg2/svg/SVGFEColorMatrixElement.cpp: 1778 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): 1779 (WebCore::SVGFEColorMatrixElement::filterEffect): 1780 * ksvg2/svg/SVGFEColorMatrixElement.h: 1781 * ksvg2/svg/SVGFEComponentTransferElement.cpp: 1782 (WebCore::SVGFEComponentTransferElement::filterEffect): 1783 * ksvg2/svg/SVGFEComponentTransferElement.h: 1784 * ksvg2/svg/SVGFECompositeElement.cpp: 1785 (WebCore::SVGFECompositeElement::SVGFECompositeElement): 1786 (WebCore::SVGFECompositeElement::parseMappedAttribute): 1787 (WebCore::SVGFECompositeElement::filterEffect): 1788 * ksvg2/svg/SVGFECompositeElement.h: 1789 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: 1790 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): 1791 (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute): 1792 (WebCore::SVGFEDiffuseLightingElement::filterEffect): 1793 * ksvg2/svg/SVGFEDiffuseLightingElement.h: 1794 * ksvg2/svg/SVGFEDisplacementMapElement.cpp: 1795 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): 1796 (WebCore::SVGFEDisplacementMapElement::filterEffect): 1797 * ksvg2/svg/SVGFEDisplacementMapElement.h: 1798 * ksvg2/svg/SVGFEDistantLightElement.cpp: 1799 (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement): 1800 * ksvg2/svg/SVGFEDistantLightElement.h: 1801 * ksvg2/svg/SVGFEFloodElement.cpp: 1802 (WebCore::SVGFEFloodElement::filterEffect): 1803 * ksvg2/svg/SVGFEFloodElement.h: 1804 * ksvg2/svg/SVGFEFuncAElement.cpp: 1805 * ksvg2/svg/SVGFEFuncAElement.h: 1806 * ksvg2/svg/SVGFEFuncBElement.cpp: 1807 * ksvg2/svg/SVGFEFuncBElement.h: 1808 * ksvg2/svg/SVGFEFuncGElement.cpp: 1809 (WebCore::SVGFEFuncGElement::SVGFEFuncGElement): 1810 * ksvg2/svg/SVGFEFuncGElement.h: 1811 * ksvg2/svg/SVGFEFuncRElement.cpp: 1812 * ksvg2/svg/SVGFEFuncRElement.h: 1813 * ksvg2/svg/SVGFEGaussianBlurElement.cpp: 1814 (WebCore::SVGFEGaussianBlurElement::filterEffect): 1815 * ksvg2/svg/SVGFEGaussianBlurElement.h: 1816 * ksvg2/svg/SVGFEImageElement.cpp: 1817 (WebCore::SVGFEImageElement::notifyFinished): 1818 (WebCore::SVGFEImageElement::filterEffect): 1819 * ksvg2/svg/SVGFEImageElement.h: 1820 * ksvg2/svg/SVGFELightElement.cpp: 1821 (WebCore::SVGFELightElement::SVGFELightElement): 1822 * ksvg2/svg/SVGFELightElement.h: 1823 * ksvg2/svg/SVGFEMergeElement.cpp: 1824 (WebCore::SVGFEMergeElement::filterEffect): 1825 * ksvg2/svg/SVGFEMergeElement.h: 1826 * ksvg2/svg/SVGFEMergeNodeElement.cpp: 1827 * ksvg2/svg/SVGFEMergeNodeElement.h: 1828 * ksvg2/svg/SVGFEOffsetElement.cpp: 1829 (WebCore::SVGFEOffsetElement::filterEffect): 1830 * ksvg2/svg/SVGFEOffsetElement.h: 1831 * ksvg2/svg/SVGFEPointLightElement.h: 1832 * ksvg2/svg/SVGFESpecularLightingElement.cpp: 1833 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement): 1834 (WebCore::SVGFESpecularLightingElement::parseMappedAttribute): 1835 (WebCore::SVGFESpecularLightingElement::filterEffect): 1836 (WebCore::SVGFESpecularLightingElement::updateLights): 1837 * ksvg2/svg/SVGFESpecularLightingElement.h: 1838 * ksvg2/svg/SVGFESpotLightElement.cpp: 1839 (WebCore::SVGFESpotLightElement::lightSource): 1840 * ksvg2/svg/SVGFESpotLightElement.h: 1841 * ksvg2/svg/SVGFETileElement.cpp: 1842 (WebCore::SVGFETileElement::filterEffect): 1843 * ksvg2/svg/SVGFETileElement.h: 1844 * ksvg2/svg/SVGFETurbulenceElement.cpp: 1845 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): 1846 (WebCore::SVGFETurbulenceElement::filterEffect): 1847 * ksvg2/svg/SVGFETurbulenceElement.h: 1848 * ksvg2/svg/SVGFilterElement.cpp: 1849 (WebCore::SVGFilterElement::canvasResource): 1850 * ksvg2/svg/SVGFilterElement.h: 1851 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: 1852 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): 1853 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): 1854 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: 1855 * ksvg2/svg/SVGGradientElement.cpp: 1856 (WebCore::SVGGradientElement::buildStops): 1857 * ksvg2/svg/SVGStyledElement.cpp: 1858 (WebCore::SVGStyledElement::resolveStyle): 1859 * ksvg2/svg/SVGStyledElement.h: 1860 * platform/graphics/svg/SVGResourceFilter.cpp: 1861 (WebCore::SVGResourceFilter::addFilterEffect): 1862 (WebCore::SVGResourceFilter::filterBBoxForItemBBox): 1863 * platform/graphics/svg/SVGResourceFilter.h: 1864 (WebCore::SVGResourceFilter::xBoundingBoxMode): 1865 (WebCore::SVGResourceFilter::setXBoundingBoxMode): 1866 (WebCore::SVGResourceFilter::yBoundingBoxMode): 1867 (WebCore::SVGResourceFilter::setYBoundingBoxMode): 1868 * platform/graphics/svg/cg/SVGResourceFilterCg.mm: 1869 (WebCore::SVGResourceFilter::SVGResourceFilter): 1870 (WebCore::SVGResourceFilter::createFilterEffect): 1871 (WebCore::SVGResourceFilter::prepareFilter): 1872 (WebCore::dumpOutputImage): 1873 (WebCore::SVGResourceFilter::applyFilter): 1874 (WebCore::SVGResourceFilter::getCIFilterStack): 1875 (WebCore::SVGResourceFilter::imageForName): 1876 (WebCore::SVGResourceFilter::setImageForName): 1877 (WebCore::SVGResourceFilter::setOutputImage): 1878 (WebCore::alphaImageForImage): 1879 (WebCore::SVGResourceFilter::inputImage): 1880 * platform/graphics/svg/filters/SVGDistantLightSource.h: 1881 * platform/graphics/svg/filters/SVGFEBlend.cpp: 1882 (WebCore::SVGFEBlend::SVGFEBlend): 1883 * platform/graphics/svg/filters/SVGFEBlend.h: 1884 * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: 1885 (WebCore::SVGFEColorMatrix::SVGFEColorMatrix): 1886 * platform/graphics/svg/filters/SVGFEColorMatrix.h: 1887 * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: 1888 (WebCore::SVGFEComponentTransfer::SVGFEComponentTransfer): 1889 * platform/graphics/svg/filters/SVGFEComponentTransfer.h: 1890 (WebCore::SVGComponentTransferFunction::SVGComponentTransferFunction): 1891 * platform/graphics/svg/filters/SVGFEComposite.cpp: 1892 (WebCore::SVGFEComposite::SVGFEComposite): 1893 * platform/graphics/svg/filters/SVGFEComposite.h: 1894 * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: 1895 (WebCore::SVGFEConvolveMatrix::SVGFEConvolveMatrix): 1896 * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: 1897 * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: 1898 (WebCore::SVGFEDiffuseLighting::SVGFEDiffuseLighting): 1899 * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: 1900 * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: 1901 (WebCore::SVGFEDisplacementMap::SVGFEDisplacementMap): 1902 * platform/graphics/svg/filters/SVGFEDisplacementMap.h: 1903 * platform/graphics/svg/filters/SVGFEFlood.cpp: 1904 (WebCore::SVGFEFlood::SVGFEFlood): 1905 * platform/graphics/svg/filters/SVGFEFlood.h: 1906 * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: 1907 (WebCore::SVGFEGaussianBlur::SVGFEGaussianBlur): 1908 * platform/graphics/svg/filters/SVGFEGaussianBlur.h: 1909 * platform/graphics/svg/filters/SVGFEImage.cpp: 1910 (WebCore::SVGFEImage::SVGFEImage): 1911 * platform/graphics/svg/filters/SVGFEImage.h: 1912 * platform/graphics/svg/filters/SVGFEMerge.cpp: 1913 * platform/graphics/svg/filters/SVGFEMerge.h: 1914 (WebCore::SVGFEMerge::SVGFEMerge): 1915 * platform/graphics/svg/filters/SVGFEMorphology.cpp: 1916 (WebCore::SVGFEMorphology::SVGFEMorphology): 1917 * platform/graphics/svg/filters/SVGFEMorphology.h: 1918 * platform/graphics/svg/filters/SVGFEOffset.cpp: 1919 (WebCore::SVGFEOffset::SVGFEOffset): 1920 * platform/graphics/svg/filters/SVGFEOffset.h: 1921 * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: 1922 (WebCore::SVGFESpecularLighting::SVGFESpecularLighting): 1923 * platform/graphics/svg/filters/SVGFESpecularLighting.h: 1924 * platform/graphics/svg/filters/SVGFETile.h: 1925 (WebCore::SVGFETile::SVGFETile): 1926 * platform/graphics/svg/filters/SVGFETurbulence.cpp: 1927 (WebCore::SVGFETurbulence::SVGFETurbulence): 1928 * platform/graphics/svg/filters/SVGFETurbulence.h: 1929 * platform/graphics/svg/filters/SVGFilterEffect.cpp: 1930 (WebCore::SVGFilterEffect::SVGFilterEffect): 1931 (WebCore::SVGFilterEffect::primitiveBBoxForFilterBBox): 1932 (WebCore::SVGFilterEffect::filter): 1933 (WebCore::SVGFilterEffect::setFilter): 1934 * platform/graphics/svg/filters/SVGFilterEffect.h: 1935 (WebCore::SVGFilterEffect::xBoundingBoxMode): 1936 (WebCore::SVGFilterEffect::setXBoundingBoxMode): 1937 (WebCore::SVGFilterEffect::yBoundingBoxMode): 1938 (WebCore::SVGFilterEffect::setYBoundingBoxMode): 1939 (WebCore::SVGFilterEffect::widthBoundingBoxMode): 1940 (WebCore::SVGFilterEffect::setWidthBoundingBoxMode): 1941 (WebCore::SVGFilterEffect::heightBoundingBoxMode): 1942 (WebCore::SVGFilterEffect::setHeightBoundingBoxMode): 1943 * platform/graphics/svg/filters/SVGLightSource.cpp: 1944 * platform/graphics/svg/filters/SVGLightSource.h: 1945 * platform/graphics/svg/filters/SVGPointLightSource.h: 1946 (WebCore::SVGPointLightSource::SVGPointLightSource): 1947 * platform/graphics/svg/filters/SVGSpotLightSource.h: 1948 (WebCore::SVGSpotLightSource::SVGSpotLightSource): 1949 * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: 1950 (WebCore::SVGFEBlend::getCIFilter): 1951 * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: 1952 (WebCore::SVGFEColorMatrix::getCIFilter): 1953 * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: 1954 (WebCore::filterForComponentFunc): 1955 (WebCore::SVGFEComponentTransfer::getCIFilter): 1956 * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: 1957 (WebCore::SVGFEComposite::getCIFilter): 1958 * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: 1959 (WebCore::SVGFEDiffuseLighting::getCIFilter): 1960 * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: 1961 (WebCore::SVGFEDisplacementMap::getCIFilter): 1962 * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: 1963 (WebCore::SVGFEFlood::getCIFilter): 1964 * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: 1965 (WebCore::SVGFEGaussianBlur::getCIFilter): 1966 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: 1967 * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: 1968 (WebCore::SVGFEImage::getCIFilter): 1969 * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: 1970 (WebCore::SVGFEMerge::getCIFilter): 1971 * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: 1972 (WebCore::SVGFEOffset::getCIFilter): 1973 * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: 1974 (WebCore::SVGFESpecularLighting::getCIFilter): 1975 * platform/graphics/svg/filters/cg/SVGFETileCg.mm: 1976 (WebCore::SVGFETile::getCIFilter): 1977 * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: 1978 (WebCore::SVGFilterEffect::getCIFilter): 1979 * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.cikernel: 1980 * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.cikernel: 1981 * platform/graphics/svg/filters/cg/WKSpotLightFilter.m: 1982 (-[WKSpotLightFilter outputImage]): 1983 * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: 1984 (WebCore::SVGResourceFilter::createFilterEffect): 1985 1986 2007-08-20 Rob Buis <buis (a] kde.org> 1987 1988 Reviewed by Nikolas. 1989 1990 http://bugs.webkit.org/show_bug.cgi?id=14924 1991 rotated rect with pattern draws incorrectly 1992 1993 Use the bounding box before transformation. 1994 1995 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: 1996 (WebCore::SVGPaintServerPattern::setup): 1997 1998 2007-08-19 Rob Buis <buis (a] kde.org> 1999 2000 Reviewed by Nikolas. 2001 2002 http://bugs.webkit.org/show_bug.cgi?id=14926 2003 WebKit has 'em' length handling problems related to CSS properties 2004 2005 Parse the properties in inline style attributes non-strict for SVG. 2006 2007 * dom/StyledElement.cpp: 2008 (WebCore::StyledElement::createInlineStyleDecl): 2009 2010 2007-08-17 Rob Buis <buis (a] kde.org> 2011 2012 Reviewed by Oliver. 2013 2014 http://bugs.webkit.org/show_bug.cgi?id=14927 2015 use element in SVG does not render after parent is displayed off and on 2016 2017 Also detach the shadow tree when detaching the <use>. 2018 2019 * ksvg2/svg/SVGUseElement.cpp: 2020 (WebCore::SVGUseElement::detach): 2021 * ksvg2/svg/SVGUseElement.h: 2022 2023 2007-08-10 Nikolas Zimmermann <zimmermann (a] kde.org> 2024 2025 Reviewed by Rob. 2026 2027 Fixes: http://bugs.webkit.org/show_bug.cgi?id=14153 2028 2029 Final, long-awaited RenderSVGContainer split. Make RenderSVGContainer really a simple 2030 container without special cases for inner <svg> elements or <marker>. Create a new 2031 RenderSVGViewportContainer class handling these cases now. 2032 2033 * WebCore.xcodeproj/project.pbxproj: 2034 * ksvg2/svg/SVGMarkerElement.cpp: 2035 (WebCore::SVGMarkerElement::createRenderer): 2036 * ksvg2/svg/SVGSVGElement.cpp: 2037 (WebCore::SVGSVGElement::createRenderer): 2038 * ksvg2/svg/SVGSVGElement.h: 2039 * rendering/RenderSVGContainer.cpp: 2040 (WebCore::RenderSVGContainer::layout): 2041 (WebCore::RenderSVGContainer::applyContentTransforms): 2042 (WebCore::RenderSVGContainer::applyAdditionalTransforms): 2043 (WebCore::RenderSVGContainer::paint): 2044 (WebCore::RenderSVGContainer::viewportTransform): 2045 (WebCore::RenderSVGContainer::relativeBBox): 2046 (WebCore::RenderSVGContainer::nodeAtPoint): 2047 * rendering/RenderSVGContainer.h: 2048 * rendering/RenderSVGRoot.cpp: 2049 * rendering/RenderSVGViewportContainer.cpp: Added. 2050 (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): 2051 (WebCore::RenderSVGViewportContainer::~RenderSVGViewportContainer): 2052 (WebCore::RenderSVGViewportContainer::layout): 2053 (WebCore::RenderSVGViewportContainer::paint): 2054 (WebCore::RenderSVGViewportContainer::applyContentTransforms): 2055 (WebCore::RenderSVGViewportContainer::applyAdditionalTransforms): 2056 (WebCore::RenderSVGViewportContainer::viewport): 2057 (WebCore::RenderSVGViewportContainer::calcViewport): 2058 (WebCore::RenderSVGViewportContainer::viewportTransform): 2059 (WebCore::RenderSVGViewportContainer::absoluteTransform): 2060 (WebCore::RenderSVGViewportContainer::nodeAtPoint): 2061 * rendering/RenderSVGViewportContainer.h: Added. 2062 (WebCore::RenderSVGViewportContainer::isSVGContainer): 2063 (WebCore::RenderSVGViewportContainer::renderName): 2064 2065 2007-08-10 Nikolas Zimmermann <zimmermann (a] kde.org> 2066 2067 Reviewed by Oliver & Rob. 2068 2069 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12501 (SVG Text fails to respect opacity, fill-opacity and stroke-opacity) 2070 Fixes: http://bugs.webkit.org/show_bug.cgi?id=14045 (Incorrect support for opacity, fill-opacity and stroke-opacity) 2071 2072 Based on an older patch from Rob, this fixes SVG text opacity as well as group opacity for solid fills & gradients. 2073 The pattern changes are still missing a testcase (need to wait for Antoine Quint for that). 2074 2075 * platform/graphics/svg/SVGResourceFilter.h: 2076 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 2077 (WebCore::SVGPaintServerGradient::setup): 2078 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: 2079 (WebCore::SVGPaintServerPattern::setup): 2080 * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: 2081 (WebCore::colorFromFloatComponents): 2082 (WebCore::SVGPaintServerSolid::setup): 2083 * platform/graphics/svg/cg/SVGResourceFilterCg.mm: 2084 (WebCore::SVGResourceFilter::SVGResourceFilter): 2085 (WebCore::SVGResourceFilter::prepareFilter): 2086 (WebCore::SVGResourceFilter::applyFilter): 2087 * rendering/RenderPath.cpp: 2088 (WebCore::RenderPath::paint): 2089 * rendering/RenderSVGContainer.cpp: 2090 (WebCore::RenderSVGContainer::paint): 2091 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect): 2092 * rendering/RenderSVGImage.cpp: 2093 (WebCore::RenderSVGImage::paint): 2094 (WebCore::RenderSVGImage::absoluteClippedOverflowRect): 2095 * rendering/RenderSVGRoot.cpp: 2096 (WebCore::RenderSVGRoot::paint): 2097 * rendering/RenderSVGText.cpp: 2098 (WebCore::RenderSVGText::absoluteClippedOverflowRect): 2099 * rendering/SVGRenderSupport.cpp: 2100 (WebCore::prepareToRenderSVGContent): 2101 (WebCore::finishRenderSVGContent): 2102 * rendering/SVGRenderSupport.h: 2103 * rendering/SVGRootInlineBox.cpp: 2104 (WebCore::prepareTextRendering): 2105 (WebCore::SVGRootInlineBox::paint): 2106 (WebCore::SVGRootInlineBox::paintChildInlineFlowBox): 2107 2108 2007-08-08 Rob Buis <buis (a] kde.org> 2109 2110 Reviewed by Nikolas. 2111 2112 http://bugs.webkit.org/show_bug.cgi?id=11909 2113 Regression: large SVG from Illustrator comes out blank 2114 2115 Fix last issue with the Illustrator file by making relativeBBox 2116 calculation take into account viewBox. 2117 2118 * rendering/RenderSVGContainer.cpp: 2119 (WebCore::RenderSVGContainer::relativeBBox): 2120 * rendering/RenderSVGRoot.cpp: 2121 (WebCore::RenderSVGRoot::relativeBBox): 2122 2123 2007-08-08 Nikolas Zimmermann <zimmermann (a] kde.org> 2124 2125 Reviewed by Oliver. 2126 2127 Fixes: http://bugs.webkit.org/show_bug.cgi?id=14896 (SVG InlineText/Flow box sizes don't take rotated glyphs into account) 2128 2129 Introduce new helper function calculateGlyphBoundaries, which takes into account any per-character transformation. 2130 This fixes box size calculations in svg/W3C-SVG-1.1/text-text-07-t.svg, svg/batik/text/textEffect3.svg (rotated glyphs) 2131 -> These strings can be properly selected now, just as well as text path elements. 2132 2133 * rendering/SVGInlineTextBox.cpp: 2134 (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): 2135 (WebCore::SVGInlineTextBox::closestCharacterToPosition): 2136 (WebCore::SVGInlineTextBox::nodeAtPoint): 2137 (WebCore::SVGInlineTextBox::selectionRect): 2138 * rendering/SVGInlineTextBox.h: 2139 * rendering/SVGRootInlineBox.cpp: 2140 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 2141 2142 2007-08-08 Nikolas Zimmermann <zimmermann (a] kde.org> 2143 2144 Reviewed by Oliver. 2145 2146 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13909 (SVG text selection doesn't work with RTL text) 2147 2148 Use drawHighlightForText() to draw the selection, instead of my home-brewn solution. 2149 Affected code in SVGRootInlineBox::paintSelectionForTextBox. Removed not anymore needed 2150 helper function cummulatedWidthOfSelectionRange. 2151 2152 Dump all contained InlineTextBox(es) in SVGRenderTreeAsText, take into account multiple 2153 child text boxes in ie. a RenderSVGInlineText objects (which happens for RTL text and 2154 LTR text cases where newlines were involved - see changed testcase results.) 2155 This affects a lot of LTR tests which actually had more than one child text box, that 2156 wasn't taken properly into account before (in terms of selection, not rendering.) 2157 2158 Fix selection for RTL text by taking box start offsets into account in closestCharacterToPosition() 2159 and by offering RTL text selection special cases in svgCharacterHitsPosition(). 2160 2161 Centralized the creation of a TextStyle object for text selection/painting in a new helper function 2162 svgTextStyleForInlineTextBox. Add new helper functions calculateGlyphWidth/calculateGlyphHeight to 2163 centralize these calculations -> use these new helpers everywhere to avoid code duplication. 2164 2165 A single fix in bidi.cpp was needed to fix SVG's unicode-bidi/direction handling, to fix text-intro-02-b.svg. 2166 SVG didacts that the 'direction' attribute is ignored if unicode-bidi is set to 'normal' (default). 2167 Discussed with Mitz. 2168 2169 * rendering/RenderSVGInlineText.cpp: 2170 (WebCore::RenderSVGInlineText::positionForCoordinates): 2171 * rendering/SVGInlineTextBox.cpp: 2172 (WebCore::SVGInlineTextBox::calculateGlyphWidth): 2173 (WebCore::SVGInlineTextBox::calculateGlyphHeight): 2174 (WebCore::SVGInlineTextBox::closestCharacterToPosition): 2175 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): 2176 (WebCore::SVGInlineTextBox::nodeAtPoint): 2177 (WebCore::SVGInlineTextBox::selectionRect): 2178 * rendering/SVGInlineTextBox.h: 2179 * rendering/SVGRenderTreeAsText.cpp: 2180 (WebCore::writeSVGInlineTextBox): 2181 (WebCore::writeSVGInlineText): 2182 * rendering/SVGRootInlineBox.cpp: 2183 (WebCore::cummulatedWidthOfInlineBoxCharacterRange): Take box start offset into account. 2184 (WebCore::svgTextStyleForInlineTextBox): New helper function. 2185 (WebCore::totalAdvanceOfInlineTextBox): Take box start offset into account. 2186 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Ditto. (correctly calculate advance values in RTL mode!) 2187 (WebCore::SVGRootInlineBox::paintSelectionForTextBox): Use GraphicsContext drawHighlightForText() instead of self-made hacks. 2188 (WebCore::SVGRootInlineBox::paintCharacterRangeForTextBox): Use new helper function svgTextStyleForInlineTextBox. 2189 * rendering/SVGRootInlineBox.h: 2190 * rendering/bidi.cpp: Add special case for SVG. 2191 (WebCore::RenderBlock::layoutInlineChildren): 2192 2193 2007-07-30 Nikolas Zimmermann <zimmermann (a] kde.org> 2194 2195 Reviewed by Oliver & Rob. 2196 2197 Enable SVG textPath selection. Actually build chunks for them instead of 2198 ignoring them - was easier than I thought. Respect per-character transformation 2199 when calculating the chunk boundaries for the selection rectangles. Also fixes 2200 selection rect drawing of rotated characters. 2201 2202 Next thing todo is to unify the glyph size calculations, as per-glyph transformations 2203 are not respected when calculating flow box sizes in SVGRootInlineBox. 2204 2205 * rendering/RenderObject.h: 2206 (WebCore::RenderObject::isSVGHiddenContainer): 2207 * rendering/RenderSVGHiddenContainer.h: 2208 (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer): 2209 * rendering/RenderSVGInlineText.cpp: 2210 (WebCore::isChildOfHiddenContainer): 2211 (WebCore::RenderSVGInlineText::selectionRect): 2212 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange): 2213 * rendering/SVGCharacterLayoutInfo.h: 2214 (WebCore::SVGTextChunk::SVGTextChunk): 2215 (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo): 2216 * rendering/SVGInlineTextBox.cpp: 2217 (WebCore::SVGInlineTextBox::selectionRect): 2218 * rendering/SVGRootInlineBox.cpp: 2219 (WebCore::applyTextAnchorToTextChunk): 2220 (WebCore::SVGRootInlineBox::buildTextChunks): 2221 2222 2007-07-25 Rob Buis <buis (a] kde.org> 2223 2224 Reviewed by Nikolas. 2225 2226 http://bugs.webkit.org/show_bug.cgi?id=14312 2227 Removing an attribute has no effect on SVG 2228 2229 Update the transform matrix also when transform attribute is empty. 2230 2231 * ksvg2/svg/SVGStyledTransformableElement.cpp: 2232 (WebCore::SVGStyledTransformableElement::updateLocalTransform): 2233 2234 2007-07-26 Nikolas Zimmermann <zimmermann (a] kde.org> 2235 2236 Reviewed by Oliver. 2237 2238 Unify absoluteRects() of RenderSVGTSpan & RenderSVGTextPath. 2239 The RenderSVGTextPath one was still using the old, wrong concept. 2240 2241 * rendering/RenderSVGTSpan.cpp: Remove unused params tx, ty, while I'm at it. 2242 (WebCore::RenderSVGTSpan::absoluteRects): 2243 * rendering/RenderSVGTextPath.cpp: 2244 (WebCore::RenderSVGTextPath::absoluteRects): 2245 2246 2007-07-25 Nikolas Zimmermann <zimmermann (a] kde.org> 2247 2248 Reviewed by Sam. 2249 2250 Let <textPath> be recognized within the ObjC bindings. 2251 Forgot to add that months ago. 2252 2253 * bindings/objc/DOM.mm: 2254 (WebCore::createElementClassMap): 2255 * bindings/objc/DOMInternal.h: 2256 * bindings/objc/DOMSVG.h: 2257 2258 2007-07-25 Nikolas Zimmermann <zimmermann (a] kde.org> 2259 2260 Reviewed by Oliver. 2261 2262 Fixes: http://bugs.webkit.org/show_bug.cgi?id=14065 2263 2264 Fix all known bugs regarding to SVG text selection, when embedded in XHTML. 2265 Also fix inspecting <text> elements when embedded in XHTML. (WebInspector) 2266 2267 Short story: selectionRect() & friends are special in terms of the "HTML parent translation". 2268 Caused by ie. CSS translation like "left: 50px; top: 50px" when <svg> is a child of a <div>. 2269 For non-textual objects like RenderPath, we can easily add a translation to a new coordinate 2270 space in RenderSVGRoot::applyContentTransformations() and we're done with it. 2271 2272 Same for painting text, but text selection makes problems in this concept. 2273 We have to remove the 'html parent translation' from our selection rects that we return 2274 from RenderSVGText & RenderSVGInlineText. Hopefully all issues are fixed now. 2275 2276 Long story: 2277 - RenderSVGRoot::nodeAtPoint didn't take the parent 'scroll offset' into account. We exited 2278 too early, because the overflow rect wasn't correctly sized. Fixed. 2279 - RenderSVGRoot::absoluteRects() can't return the absoluteClippedOverflowRect() as it includes 2280 the 'html parent translation', which needs to be removed, otherwhise the painted rects are off 2281 when inspecting with WebInspector. -> Pass down absoluteRects() call to it's children.. 2282 - RenderSVGText::absoluteRects() can't use absoluteClippedOverflowRect() for the same reason. 2283 - Add RenderSVGInlineText::computeAbsoluteRectForRange() function - shared by absoluteRects() and 2284 selectionRect() - and remove the 'html parent translation' there by asking the RenderSVGRoot 2285 object for the correct offsets. 2286 2287 This lead to nasty bugs showing that SVGInlineTextBox::selectionRect() wasn't actually returning 2288 correct rectangles. It couldn't work for text chunks the way it was implemented. Fixed by implementing 2289 it exactly the same way that closestCharacterToPosition() was done - could share more code later on. 2290 2291 * rendering/RenderSVGInlineText.cpp: 2292 (WebCore::RenderSVGInlineText::absoluteRects): 2293 (WebCore::RenderSVGInlineText::selectionRect): 2294 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange): 2295 * rendering/RenderSVGInlineText.h: 2296 * rendering/RenderSVGRoot.cpp: 2297 (WebCore::RenderSVGRoot::absoluteRects): 2298 (WebCore::RenderSVGRoot::nodeAtPoint): 2299 * rendering/RenderSVGText.cpp: 2300 (WebCore::RenderSVGText::absoluteRects): 2301 * rendering/SVGCharacterLayoutInfo.h: Removed unused variable 'bool selected' 2302 * rendering/SVGInlineTextBox.cpp: 2303 (WebCore::SVGInlineTextBox::closestCharacterToPosition): 2304 (WebCore::SVGInlineTextBox::nodeAtPoint): 2305 (WebCore::SVGInlineTextBox::selectionRect): 2306 * rendering/SVGRootInlineBox.cpp: Add 'findSVGRootObject' helper function. 2307 (WebCore::findSVGRootObject): 2308 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 2309 (WebCore::SVGRootInlineBox::paintSelectionForTextBox): Remove unused tx/ty parameters. 2310 (WebCore::SVGRootInlineBox::paintChildInlineTextBox): 2311 (WebCore::SVGRootInlineBox::paintCharacterRangeForTextBox): 2312 * rendering/SVGRootInlineBox.h: 2313 2314 2007-07-17 Nikolas Zimmermann <zimmermann (a] kde.org> 2315 2316 Build fix. Not reviewed. 2317 2318 Rob forgot to land the changes to SVGResourceMarker in his last commit. 2319 2320 * platform/graphics/svg/SVGResourceMarker.cpp: 2321 (WebCore::SVGResourceMarker::draw): 2322 2323 2007-07-17 Rob Buis <buis (a] kde.org> 2324 2325 Reviewed by Nikolas. 2326 2327 http://bugs.webkit.org/show_bug.cgi?id=5996 2328 SVG <view> is unimplemented 2329 2330 Implement <view> and refactor the code in the svg renderer container classes. 2331 2332 * WebCore.xcodeproj/project.pbxproj: 2333 * ksvg2/svg/SVGDocument.cpp: 2334 (WebCore::SVGDocument::zoomAndPanEnabled): Take into account currentView for zoom/pan 2335 * ksvg2/svg/SVGDocument.h: 2336 * ksvg2/svg/SVGFEImageElement.cpp: 2337 (WebCore::SVGFEImageElement::parseMappedAttribute): 2338 * ksvg2/svg/SVGFitToViewBox.cpp: 2339 (WebCore::SVGFitToViewBox::parseViewBox): 2340 (WebCore::SVGFitToViewBox::parseMappedAttribute): 2341 * ksvg2/svg/SVGFitToViewBox.h: 2342 * ksvg2/svg/SVGImageElement.cpp: 2343 (WebCore::SVGImageElement::parseMappedAttribute): 2344 * ksvg2/svg/SVGLocatable.h: 2345 * ksvg2/svg/SVGMarkerElement.cpp: 2346 (WebCore::SVGMarkerElement::createRenderer): 2347 (WebCore::SVGMarkerElement::notifyAttributeChange): 2348 * ksvg2/svg/SVGPreserveAspectRatio.cpp: 2349 (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): 2350 * ksvg2/svg/SVGPreserveAspectRatio.h: 2351 * ksvg2/svg/SVGSVGElement.cpp: 2352 (WebCore::SVGSVGElement::SVGSVGElement): 2353 (WebCore::SVGSVGElement::currentView): 2354 (WebCore::SVGSVGElement::parseMappedAttribute): 2355 (WebCore::SVGSVGElement::createRenderer): 2356 (WebCore::SVGSVGElement::viewBoxToViewTransform): 2357 (WebCore::SVGSVGElement::inheritViewAttributes): 2358 * ksvg2/svg/SVGSVGElement.h: 2359 * ksvg2/svg/SVGTransformable.cpp: 2360 (WebCore::SVGTransformable::parseTransformAttribute): 2361 * ksvg2/svg/SVGTransformable.h: 2362 * ksvg2/svg/SVGViewElement.cpp: 2363 (WebCore::SVGViewElement::parseMappedAttribute): 2364 * ksvg2/svg/SVGViewElement.h: 2365 * ksvg2/svg/SVGViewSpec.cpp: Added. 2366 (WebCore::SVGViewSpec::SVGViewSpec): 2367 (WebCore::SVGViewSpec::~SVGViewSpec): 2368 (WebCore::SVGViewSpec::setTransform): 2369 (WebCore::SVGViewSpec::setViewBoxString): 2370 (WebCore::SVGViewSpec::setPreserveAspectRatioString): 2371 (WebCore::SVGViewSpec::setViewTargetString): 2372 (WebCore::SVGViewSpec::viewTarget): 2373 (WebCore::SVGViewSpec::contextElement): 2374 (WebCore::): 2375 (WebCore::SVGViewSpec::parseViewSpec): 2376 * ksvg2/svg/SVGViewSpec.h: Added. 2377 (WebCore::SVGViewSpec::transform): 2378 (WebCore::SVGViewSpec::viewTargetString): 2379 * ksvg2/svg/SVGZoomAndPan.cpp: 2380 (WebCore::SVGZoomAndPan::parseMappedAttribute): 2381 (WebCore::): 2382 (WebCore::SVGZoomAndPan::parseZoomAndPan): 2383 * ksvg2/svg/SVGZoomAndPan.h: 2384 * loader/FrameLoader.cpp: 2385 (WebCore::FrameLoader::gotoAnchor): 2386 * page/Frame.cpp: 2387 (WebCore::Frame::setZoomFactor): do not zoom when it is disabled 2388 * rendering/RenderSVGContainer.cpp: 2389 (WebCore::RenderSVGContainer::RenderSVGContainer): 2390 (WebCore::RenderSVGContainer::paint): 2391 (WebCore::RenderSVGContainer::viewportTransform): 2392 * rendering/RenderSVGContainer.h: 2393 * rendering/RenderSVGRoot.cpp: 2394 (WebCore::RenderSVGRoot::RenderSVGRoot): 2395 (WebCore::RenderSVGRoot::applyContentTransforms): 2396 (WebCore::RenderSVGRoot::paint): 2397 (WebCore::RenderSVGRoot::absoluteTransform): 2398 (WebCore::RenderSVGRoot::localTransform): 2399 * rendering/RenderSVGRoot.h: 2400 2401 2007-07-16 Nikolas Zimmermann <zimmermann (a] kde.org> 2402 2403 Reviewed by Rob. 2404 2405 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13611 (Crash in setAttributeNS setting href of SVG <use> to nonexistent symbol) 2406 Fixes: http://bugs.webkit.org/show_bug.cgi?id=14631 (<use> doesn't deep-expand <symbol> elements.) 2407 2408 Rework <use> on <foreignObject> cases, to not just ignore these cases, but actually proceed and skip <fO> objects 2409 from the resulting cloned tree. This fixes parts of "treasure_map.svg" (no bug report availabe on that one, private "testcase"). 2410 2411 Fix assertion happening with <use> on <g> containing <symbol>. Introduce expandSymbolElementsInShadowTree() 2412 concept, just like it's done for <use> on <use>, to deep-replace all <symbol> elements by <svg>, as demanded 2413 by the spec. This only worked on <use> on <symbol> direct cases so far. 2414 2415 Added testcase: svg/custom/use-on-g-containing-foreignObject-and-image.svg (testcase for treasure_map.svg) 2416 svg/custom/use-on-disallowed-foreign-object-5.svg (<use> on <symbol> containg <foreignObject>) 2417 svg/custom/use-on-disallowed-foreign-object-6.svg (<use> on <g> containing <svg> containing <foreignObject>) 2418 svg/custom/use-on-disallowed-foreign-object-7.svg (<use> on <g> containing <symbol> containing <foreignObject>) 2419 svg/custom/use-scripting-changes-to-nonexistant-href.svg 2420 2421 * ksvg2/svg/SVGUseElement.cpp: 2422 (WebCore::isDisallowedElement): 2423 (WebCore::subtreeContainsDisallowedElement): 2424 (WebCore::SVGUseElement::buildPendingResource): 2425 (WebCore::SVGUseElement::buildInstanceTree): 2426 (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): 2427 (WebCore::SVGUseElement::buildShadowTree): 2428 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 2429 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): 2430 * ksvg2/svg/SVGUseElement.h: 2431 2432 2007-07-15 Nikolas Zimmermann <zimmermann (a] kde.org> 2433 2434 Reviewed by Rob. 2435 2436 Fix invisible-text-after-scrolling.xhtml regression. Scroll offset not 2437 taken into account properly. Also fix RenderSVGInlineText::selectionRect(), 2438 so that SVG text can be selected, when being embedded in XHTML. 2439 2440 * rendering/RenderSVGInlineText.cpp: 2441 (WebCore::RenderSVGInlineText::selectionRect): 2442 * rendering/RenderSVGRoot.cpp: 2443 (WebCore::RenderSVGRoot::applyContentTransforms): 2444 2445 2007-07-15 Nikolas Zimmermann <zimmermann (a] kde.org> 2446 2447 Reviewed by Oliver. 2448 2449 Fixes: http://bugs.webkit.org/show_bug.cgi?id=5940 (<svg> inside <body> incorrectly extends over top/bottom borders) 2450 Fixes: http://bugs.webkit.org/show_bug.cgi?id=14145 (RenderSVGContainer should not inherit from RenderContainer) 2451 2452 Make RenderSVGContainer inherit from RenderObject directly, instead of RenderContainer. 2453 Itdoes a lot of things that we don't need for SVG, and by removing this inheritance 2454 we can finally fix the differences about SVG object positioning, as we don't need 2455 parent translation (tx/ty). Fixes SVG text rendering within XHTML. 2456 2457 Fix requireLayer() function on RenderSVGRoot, as it can actually be a layer now. 2458 This change is based on Rob's patch at 5940 - fixing z-order indexing. 2459 2460 Change RenderSVGRoot renderName() and update all layout tests, because of this change. 2461 2462 Fix absoluteRects() function for RenderSVGInlineText & RenderSVGTSpan. 2463 Checked extensively using WebInspector, to assure all rects are correctly displayed. 2464 2465 Testcases fixed: junk-data.svg, missing-xlink.svg hixie/013.xml (all regressions!) 2466 (junk-data.svg & missing-xlink.svg previously relied on SVG text painting out of <svg> overflow rect. 2467 Fix these testcases, as within this new RenderSVGContainer concept, that bug is now fixed, and breaks them) 2468 2469 Testcases added: custom/absolute-sized-svg-in-xhtml.xhtml, custom/inline-svg-in-xhtml.xml (Mozilla XTech demo) 2470 2471 * ksvg2/svg/SVGSVGElement.cpp: 2472 (WebCore::SVGSVGElement::parseMappedAttribute): 2473 * rendering/RenderObject.cpp: 2474 (WebCore::RenderObject::containingBlock): 2475 * rendering/RenderObject.h: 2476 (WebCore::RenderObject::isSVGRoot): 2477 * rendering/RenderPath.cpp: 2478 (WebCore::RenderPath::paint): 2479 (WebCore::RenderPath::addFocusRingRects): 2480 * rendering/RenderSVGContainer.cpp: 2481 (WebCore::RenderSVGContainer::RenderSVGContainer): 2482 (WebCore::RenderSVGContainer::canHaveChildren): 2483 (WebCore::RenderSVGContainer::addChild): 2484 (WebCore::RenderSVGContainer::removeChild): 2485 (WebCore::RenderSVGContainer::destroy): 2486 (WebCore::RenderSVGContainer::destroyLeftoverChildren): 2487 (WebCore::RenderSVGContainer::removeChildNode): 2488 (WebCore::RenderSVGContainer::appendChildNode): 2489 (WebCore::RenderSVGContainer::insertChildNode): 2490 (WebCore::RenderSVGContainer::layout): 2491 (WebCore::RenderSVGContainer::calcReplacedWidth): 2492 (WebCore::RenderSVGContainer::calcReplacedHeight): 2493 (WebCore::RenderSVGContainer::applyContentTransforms): 2494 (WebCore::RenderSVGContainer::paint): 2495 (WebCore::RenderSVGContainer::absoluteTransform): 2496 (WebCore::RenderSVGContainer::nodeAtPoint): 2497 * rendering/RenderSVGContainer.h: 2498 (WebCore::RenderSVGContainer::firstChild): 2499 (WebCore::RenderSVGContainer::lastChild): 2500 (WebCore::RenderSVGContainer::width): 2501 (WebCore::RenderSVGContainer::height): 2502 (WebCore::RenderSVGContainer::moveChildNode): 2503 (WebCore::RenderSVGContainer::calcPrefWidths): 2504 * rendering/RenderSVGHiddenContainer.cpp: 2505 (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): 2506 (WebCore::RenderSVGHiddenContainer::paint): 2507 (WebCore::RenderSVGHiddenContainer::absoluteRects): 2508 (WebCore::RenderSVGHiddenContainer::relativeBBox): 2509 * rendering/RenderSVGHiddenContainer.h: 2510 * rendering/RenderSVGImage.cpp: 2511 (WebCore::RenderSVGImage::paint): 2512 * rendering/RenderSVGInline.cpp: 2513 (WebCore::RenderSVGInline::RenderSVGInline): 2514 * rendering/RenderSVGInlineText.cpp: 2515 (WebCore::RenderSVGInlineText::absoluteRects): 2516 * rendering/RenderSVGRoot.cpp: 2517 (WebCore::RenderSVGRoot::applyContentTransforms): 2518 (WebCore::RenderSVGRoot::paint): 2519 (WebCore::RenderSVGRoot::addFocusRingRects): 2520 * rendering/RenderSVGRoot.h: 2521 (WebCore::RenderSVGRoot::isSVGRoot): 2522 (WebCore::RenderSVGRoot::renderName): 2523 * rendering/RenderSVGTSpan.cpp: 2524 (WebCore::RenderSVGTSpan::RenderSVGTSpan): 2525 (WebCore::RenderSVGTSpan::absoluteRects): 2526 * rendering/RenderSVGTextPath.cpp: 2527 (WebCore::RenderSVGTextPath::absoluteRects): 2528 * rendering/RenderTreeAsText.cpp: 2529 (WebCore::write): 2530 * rendering/SVGRenderTreeAsText.cpp: 2531 (WebCore::operator<<): 2532 (WebCore::write): 2533 * rendering/SVGRenderTreeAsText.h: 2534 2535 2007-07-11 Nikolas Zimmermann <zimmermann (a] kde.org> 2536 2537 Reviewed by Sam. 2538 2539 Remove all "SVGElement* m_context" parameters spread over SVG primitives 2540 (like SVGAngle, SVGPreserveAspectRatio, SVGTransformList, ...) 2541 2542 This is all handled by the JS generation in the bindings now, leading 2543 to a faster static rendering codepaths, and easier handling of the dynamic 2544 parts like JS scripting. Remove the mystified genericContext() concept alltogether. 2545 2546 * bindings/js/JSSVGMatrixCustom.cpp: Adapt to the context() change. 2547 (WebCore::JSSVGMatrix::multiply): 2548 (WebCore::JSSVGMatrix::inverse): 2549 (WebCore::JSSVGMatrix::translate): 2550 (WebCore::JSSVGMatrix::scale): 2551 (WebCore::JSSVGMatrix::scaleNonUniform): 2552 (WebCore::JSSVGMatrix::rotate): 2553 (WebCore::JSSVGMatrix::rotateFromVector): 2554 (WebCore::JSSVGMatrix::flipX): 2555 (WebCore::JSSVGMatrix::flipY): 2556 (WebCore::JSSVGMatrix::skewX): 2557 (WebCore::JSSVGMatrix::skewY): 2558 * bindings/js/JSSVGPODTypeWrapper.h: Remove all nAC() calls here! 2559 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::commitChange): 2560 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList): 2561 (WebCore::JSSVGPODTypeWrapperCreatorForList::~JSSVGPODTypeWrapperCreatorForList): 2562 * bindings/js/JSSVGPathSegCustom.cpp: Adapt to the context() change. 2563 (WebCore::toJS): 2564 * bindings/js/JSSVGPathSegListCustom.cpp: Ditto. 2565 (WebCore::JSSVGPathSegList::clear): 2566 (WebCore::JSSVGPathSegList::initialize): 2567 (WebCore::JSSVGPathSegList::getItem): 2568 (WebCore::JSSVGPathSegList::insertItemBefore): 2569 (WebCore::JSSVGPathSegList::replaceItem): 2570 (WebCore::JSSVGPathSegList::removeItem): 2571 (WebCore::JSSVGPathSegList::appendItem): 2572 * bindings/js/JSSVGPointListCustom.cpp: Ditto. 2573 (WebCore::JSSVGPointList::clear): 2574 (WebCore::JSSVGPointList::initialize): 2575 (WebCore::JSSVGPointList::getItem): 2576 (WebCore::JSSVGPointList::insertItemBefore): 2577 (WebCore::JSSVGPointList::replaceItem): 2578 (WebCore::JSSVGPointList::removeItem): 2579 (WebCore::JSSVGPointList::appendItem): 2580 * bindings/js/JSSVGTransformListCustom.cpp: Ditto. 2581 (WebCore::JSSVGTransformList::clear): 2582 (WebCore::JSSVGTransformList::initialize): 2583 (WebCore::JSSVGTransformList::getItem): 2584 (WebCore::JSSVGTransformList::insertItemBefore): 2585 (WebCore::JSSVGTransformList::replaceItem): 2586 (WebCore::JSSVGTransformList::removeItem): 2587 (WebCore::JSSVGTransformList::appendItem): 2588 * bindings/js/kjs_binding.h: Add new cacheSVGDOMObject, taking third parameter: context. 2589 (KJS::cacheSVGDOMObject): 2590 * bindings/scripts/CodeGeneratorJS.pm: Change generation to step aways from genericContext(). 2591 * ksvg2/misc/SVGDocumentExtensions.h: Kill all genericContext() stuff. 2592 (WebCore::SVGDocumentExtensions::hasBaseValue): 2593 * ksvg2/svg/SVGAngle.cpp: Kill context parameter. 2594 (WebCore::SVGAngle::SVGAngle): 2595 * ksvg2/svg/SVGAngle.h: ditto. 2596 * ksvg2/svg/SVGFEImageElement.cpp: SVG classes don't get context params passed anymore. 2597 (WebCore::SVGFEImageElement::SVGFEImageElement): 2598 * ksvg2/svg/SVGFitToViewBox.cpp: Ditto. 2599 (WebCore::SVGFitToViewBox::SVGFitToViewBox): 2600 * ksvg2/svg/SVGGradientElement.cpp: Ditto. 2601 (WebCore::SVGGradientElement::SVGGradientElement): 2602 * ksvg2/svg/SVGImageElement.cpp: Ditto. 2603 (WebCore::SVGImageElement::SVGImageElement): 2604 * ksvg2/svg/SVGMarkerElement.cpp: Ditto. 2605 (WebCore::SVGMarkerElement::SVGMarkerElement): 2606 (WebCore::SVGMarkerElement::parseMappedAttribute): 2607 * ksvg2/svg/SVGPathElement.cpp: Ditto. 2608 (WebCore::SVGPathElement::pathSegList): 2609 * ksvg2/svg/SVGPathSegList.cpp: Kill context parameter. 2610 (WebCore::SVGPathSegList::SVGPathSegList): 2611 * ksvg2/svg/SVGPathSegList.h: 2612 * ksvg2/svg/SVGPatternElement.cpp: SVG classes don't get context params passed anymore. 2613 (WebCore::SVGPatternElement::SVGPatternElement): 2614 * ksvg2/svg/SVGPointList.cpp: Kill context parameter. 2615 (SVGPointList::SVGPointList): 2616 * ksvg2/svg/SVGPointList.h: 2617 * ksvg2/svg/SVGPolyElement.cpp: SVG classes don't get context params passed anymore. 2618 (WebCore::SVGPolyElement::points): 2619 * ksvg2/svg/SVGPreserveAspectRatio.cpp: Kill context parameter. 2620 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio): 2621 (WebCore::SVGPreserveAspectRatio::setAlign): 2622 (WebCore::SVGPreserveAspectRatio::setMeetOrSlice): 2623 (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): 2624 * ksvg2/svg/SVGPreserveAspectRatio.h: 2625 * ksvg2/svg/SVGSVGElement.cpp: SVG classes don't get cntext params passed anymore. 2626 (WebCore::SVGSVGElement::createSVGAngle): 2627 * ksvg2/svg/SVGStyledTransformableElement.cpp: Ditto. 2628 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): 2629 * ksvg2/svg/SVGTextElement.cpp: Ditto. 2630 (WebCore::SVGTextElement::SVGTextElement): 2631 * ksvg2/svg/SVGTransformList.cpp: Kill context parameter. 2632 (SVGTransformList::SVGTransformList): 2633 * ksvg2/svg/SVGTransformList.h: 2634 2635 2007-07-10 Nikolas Zimmermann <zimmermann (a] kde.org> 2636 2637 Reviewed by Sam. 2638 2639 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11167. 2640 2641 Recognize <textPath> in SVG JS bindings. 2642 Add JSSVGTextPathElement to JSSVGElementWrapperFactory. 2643 2644 Add SVGException.idl just for the JS generation. 2645 Turn on all SVG JS constructors and add them to DOMWindow.idl. 2646 2647 Testcase added: LayoutTests/svg/custom/js-svg-constructors.svg 2648 2649 * DerivedSources.make: Add JSSVGException.h 2650 * WebCore.xcodeproj/project.pbxproj: Correct paths for DOM/JS*SVGTextPathElement 2651 * bindings/scripts/CodeGeneratorJS.pm: Forward port hash fix from trunk. 2652 * bindings/js/JSSVGElementWrapperFactory.cpp: Add JSSVGTextPathElement support 2653 * ksvg2/svg/SVGComponentTransferFunctionElement.idl: 2654 * ksvg2/svg/SVGTextPathElement.h: 2655 * ksvg2/svg/SVGException.h: 2656 * ksvg2/svg/SVGException.idl: Added. 2657 * ksvg2/svg/SVGFEBlendElement.idl: 2658 * ksvg2/svg/SVGFEColorMatrixElement.idl: 2659 * ksvg2/svg/SVGFECompositeElement.idl: 2660 * ksvg2/svg/SVGFEDisplacementMapElement.idl: 2661 * ksvg2/svg/SVGFETurbulenceElement.idl: 2662 * ksvg2/svg/SVGGradientElement.idl: 2663 * ksvg2/svg/SVGMarkerElement.idl: 2664 * ksvg2/svg/SVGTextContentElement.idl: 2665 * ksvg2/svg/SVGTextPathElement.idl: 2666 * page/DOMWindow.idl: Recognize new js svg constructors. 2667 2668 2007-06-28 Rob Buis <buis (a] kde.org> 2669 2670 Reviewed by Maciej. 2671 2672 http://bugs.webkit.org/show_bug.cgi?id=14241 2673 SVG <image> with height or width less than 1 fails to render image 2674 2675 Keep extra member vars to get width/height as floats for accurate 2676 calculations. 2677 2678 * rendering/RenderSVGImage.cpp: 2679 (WebCore::RenderSVGImage::adjustRectsForAspectRatio): 2680 (WebCore::RenderSVGImage::paint): 2681 (WebCore::RenderSVGImage::calcWidth): 2682 (WebCore::RenderSVGImage::calcHeight): 2683 * rendering/RenderSVGImage.h: 2684 2685 2007-06-26 Rob Buis <buis (a] kde.org> 2686 2687 Reviewed by Maciej. 2688 2689 http://bugs.webkit.org/show_bug.cgi?id=9976 2690 Fix negative width issue in Hixie's test 2691 2692 Refuse to render zero or negative width/height. 2693 2694 * rendering/RenderSVGContainer.cpp: 2695 (WebCore::RenderSVGContainer::paint): 2696 * rendering/RenderSVGRoot.cpp: 2697 (WebCore::RenderSVGRoot::paint): 2698 2699 2007-06-26 Rob Buis <buis (a] kde.org> 2700 2701 Reviewed by Maciej. 2702 2703 http://bugs.webkit.org/show_bug.cgi?id=12062 2704 WebCore does not handle CSS-specified fill fallback correctly 2705 2706 Implement fallback for fill and stroke. 2707 2708 * ksvg2/css/SVGCSSParser.cpp: 2709 (WebCore::CSSParser::parseSVGValue): 2710 * ksvg2/svg/SVGPaint.cpp: 2711 (WebCore::SVGPaint::SVGPaint): 2712 * ksvg2/svg/SVGPaint.h: 2713 * platform/graphics/svg/SVGPaintServer.cpp: 2714 (WebCore::SVGPaintServer::fillPaintServer): 2715 (WebCore::SVGPaintServer::strokePaintServer): 2716 2717 2007-06-20 Rob Buis <buis (a] kde.org> 2718 2719 Reviewed by Eric. 2720 2721 http://bugs.webkit.org/show_bug.cgi?id=14157 2722 Rotated shape has wrong gradient rendering 2723 2724 Use the untransformed bbox in objectBoundingBoxMode. Also 2725 don't do objectBoundingBoxMode should the bbox width ort height 2726 be zero. 2727 2728 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 2729 (WebCore::SVGPaintServerGradient::teardown): 2730 (WebCore::SVGPaintServerGradient::renderPath): 2731 2732 2007-06-20 Nikolas Zimmermann <zimmermann (a] kde.org> 2733 2734 Reviewed by Eric & Oliver. 2735 2736 Fixes: http://bugs.webkit.org/show_bug.cgi?id=14198 2737 2738 Reeanble <foreignObject>. Explicitely disallow <use> on <foreignObject> 2739 as it may lead to bad problems. 2740 2741 While I'm at it disallow <use> on any non-svg element. 2742 2743 * bindings/js/JSSVGElementWrapperFactory.cpp: 2744 * bindings/objc/DOM.mm: 2745 (WebCore::createElementClassMap): 2746 * ksvg2/svg/SVGForeignObjectElement.cpp: 2747 * ksvg2/svg/SVGForeignObjectElement.h: 2748 * ksvg2/svg/SVGForeignObjectElement.idl: 2749 * ksvg2/svg/SVGLocatable.cpp: 2750 (WebCore::SVGLocatable::nearestViewportElement): 2751 (WebCore::SVGLocatable::farthestViewportElement): 2752 * ksvg2/svg/SVGUseElement.cpp: 2753 (WebCore::SVGUseElement::buildPendingResource): 2754 * ksvg2/svg/svgtags.in: 2755 * rendering/RenderForeignObject.cpp: 2756 2757 2007-06-19 Rob Buis <buis (a] kde.org> 2758 2759 Reviewed by Oliver. 2760 2761 http://bugs.webkit.org/show_bug.cgi?id=14144 2762 All tx/ty (parentX/parentY) usage should be removed from SVG renders 2763 http://bugs.webkit.org/show_bug.cgi?id=13981 2764 <br> prevents click handler from firing 2765 2766 Fix the hit testing issues by making RenderSVGRoot take its m_x, m_y 2767 into account in the absolute transform. 2768 2769 * rendering/RenderPath.cpp: 2770 (WebCore::RenderPath::absoluteRects): 2771 (WebCore::RenderPath::nodeAtPoint): 2772 * rendering/RenderSVGImage.cpp: 2773 (WebCore::RenderSVGImage::nodeAtPoint): 2774 * rendering/RenderSVGRoot.cpp: 2775 (WebCore::RenderSVGRoot::absoluteTransform): 2776 (WebCore::RenderSVGRoot::nodeAtPoint): 2777 2778 2007-06-16 Nikolas Zimmermann <zimmermann (a] kde.org> 2779 2780 Reviewed by Eric. 2781 2782 Fixes: http://bugs.webkit.org/show_bug.cgi?id=14015 (SVGTransformList::initialize() has no effect) 2783 2784 Fix SVGTransformList usage in SVG DOM exposed to JS. 2785 This also fixes SVG space invaders including most repainting issues. (still some unrelated ones left) 2786 2787 This is basically the _same_ fix applied to SVGPointList some months ago. We just forgot 2788 to add JSSVGTransformListCustom when switching from SVGTransform* -> SVGTransform (POD type). 2789 2790 * WebCore.xcodeproj/project.pbxproj: 2791 * bindings/js/JSSVGTransformListCustom.cpp: Added. 2792 (WebCore::JSSVGTransformList::clear): 2793 (WebCore::JSSVGTransformList::initialize): 2794 (WebCore::JSSVGTransformList::getItem): 2795 (WebCore::JSSVGTransformList::insertItemBefore): 2796 (WebCore::JSSVGTransformList::replaceItem): 2797 (WebCore::JSSVGTransformList::removeItem): 2798 (WebCore::JSSVGTransformList::appendItem): 2799 * ksvg2/svg/SVGCircleElement.cpp: 2800 (WebCore::SVGCircleElement::notifyAttributeChange): 2801 * ksvg2/svg/SVGEllipseElement.cpp: 2802 (WebCore::SVGEllipseElement::notifyAttributeChange): 2803 * ksvg2/svg/SVGGradientElement.cpp: 2804 (WebCore::SVGGradientElement::SVGGradientElement): 2805 * ksvg2/svg/SVGImageElement.cpp: 2806 (WebCore::SVGImageElement::notifyAttributeChange): 2807 * ksvg2/svg/SVGLineElement.cpp: 2808 (WebCore::SVGLineElement::notifyAttributeChange): 2809 * ksvg2/svg/SVGPathElement.cpp: 2810 (WebCore::SVGPathElement::notifyAttributeChange): 2811 * ksvg2/svg/SVGPatternElement.cpp: 2812 (WebCore::SVGPatternElement::SVGPatternElement): 2813 * ksvg2/svg/SVGPolyElement.cpp: 2814 (WebCore::SVGPolyElement::notifyAttributeChange): 2815 * ksvg2/svg/SVGRectElement.cpp: 2816 (WebCore::SVGRectElement::notifyAttributeChange): 2817 * ksvg2/svg/SVGStyledTransformableElement.cpp: 2818 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): 2819 (WebCore::SVGStyledTransformableElement::notifyAttributeChange): 2820 * ksvg2/svg/SVGStyledTransformableElement.h: 2821 * ksvg2/svg/SVGTextElement.cpp: 2822 (WebCore::SVGTextElement::SVGTextElement): 2823 * ksvg2/svg/SVGTransformList.cpp: 2824 (SVGTransformList::SVGTransformList): 2825 (SVGTransformList::context): 2826 * ksvg2/svg/SVGTransformList.h: 2827 * ksvg2/svg/SVGTransformList.idl: 2828 2829 2007-06-15 Nikolas Zimmermann <zimmermann (a] kde.org> 2830 2831 Reviewed by Eric. 2832 2833 Fixes: http://bugs.webkit.org/show_bug.cgi?id=14155 2834 2835 JSSVGMatrix was not working properly. 2836 "matrix.translate(10, 10)" actually altered 'matrix' instead of returning a 2837 new SVGMatrix object, as described in SVG 1.1 specification. 2838 2839 * bindings/js/JSSVGMatrixCustom.cpp: 2840 (WebCore::JSSVGMatrix::multiply): 2841 (WebCore::JSSVGMatrix::inverse): 2842 (WebCore::JSSVGMatrix::translate): 2843 (WebCore::JSSVGMatrix::scale): 2844 (WebCore::JSSVGMatrix::scaleNonUniform): 2845 (WebCore::JSSVGMatrix::rotate): 2846 (WebCore::JSSVGMatrix::flipX): 2847 (WebCore::JSSVGMatrix::flipY): 2848 (WebCore::JSSVGMatrix::skewX): 2849 (WebCore::JSSVGMatrix::skewY): 2850 * ksvg2/svg/SVGMatrix.idl: 2851 2852 2007-06-15 Eric Seidel <eric (a] webkit.org> 2853 2854 Reviewed by Niko. 2855 2856 Fix the release build. 2857 2858 * rendering/SVGRootInlineBox.cpp: 2859 (WebCore::applyTextAnchorToTextChunk): 2860 2861 2007-06-15 Rob Buis <buis (a] kde.org> 2862 2863 Reviewed by Eric. 2864 2865 http://bugs.webkit.org/show_bug.cgi?id=14051 2866 <svg:image> fails to position correctly when <svg> is inside an inline <div> 2867 2868 Leave parent translation to the containers. 2869 2870 * rendering/RenderSVGImage.cpp: 2871 (WebCore::RenderSVGImage::paint): 2872 2873 2007-06-15 Nikolas Zimmermann <zimmermann (a] kde.org> 2874 2875 Reviewed by Eric. 2876 2877 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13963 2878 2879 Fix SVG space invaders. It actually highlighted a bad problem with our JSSVGPODTypeWrapper's. 2880 Introduce a new "2nd-level cache" for all readwrite POD properties. Subsequent calls to ie. 2881 myRect.x.baseVal.value don't create a new wrapper everytime, but are properly cached now. 2882 This leads to a massive reduction in created wrappers. 2883 2884 * bindings/js/JSSVGMatrixCustom.cpp: 2885 (WebCore::JSSVGMatrix::inverse): 2886 (WebCore::JSSVGMatrix::rotateFromVector): 2887 * bindings/js/JSSVGPODTypeWrapper.h: 2888 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite): 2889 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::~JSSVGPODTypeWrapperCreatorReadWrite): 2890 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::operator PODType): 2891 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::commitChange): 2892 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly): 2893 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::~JSSVGPODTypeWrapperCreatorReadOnly): 2894 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::operator PODType): 2895 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::commitChange): 2896 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList): 2897 (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange): 2898 (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): 2899 (WebCore::PODTypeReadWriteHashInfo::operator==): 2900 (WebCore::PODTypeReadWriteHashInfoHash::hash): 2901 (WebCore::PODTypeReadWriteHashInfoHash::equal): 2902 (WebCore::PODTypeReadWriteHashInfoTraits::deletedValue): 2903 (WebCore::PODTypeReadWriteHashInfoTraits::emptyValue): 2904 (WebCore::JSSVGPODTypeWrapperCache::readWriteHashMap): 2905 (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper): 2906 (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper): 2907 * bindings/js/JSSVGPointListCustom.cpp: 2908 (WebCore::JSSVGPointList::removeItem): 2909 * bindings/scripts/CodeGeneratorJS.pm: 2910 2911 2007-06-14 Eric Seidel <eric (a] webkit.org> 2912 2913 Reviewed by Niko. 2914 2915 Text gradients are broken on feature branch 2916 http://bugs.webkit.org/show_bug.cgi?id=14142 2917 2918 * rendering/SVGRenderSupport.cpp: 2919 (WebCore::prepareToRenderSVGContent): 2920 * rendering/SVGRootInlineBox.cpp: 2921 (WebCore::prepareTextRendering): 2922 (WebCore::SVGRootInlineBox::paint): 2923 (WebCore::SVGRootInlineBox::paintInlineBoxes): 2924 (WebCore::SVGRootInlineBox::paintChildInlineTextBox): 2925 (WebCore::SVGRootInlineBox::paintChildInlineFlowBox): 2926 * rendering/SVGRootInlineBox.h: 2927 2928 2007-06-14 Nikolas Zimmermann <zimmermann (a] kde.org> 2929 2930 Reviewed by Sam. 2931 2932 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11273 2933 2934 Implement pixelUnitToMillimeterX(), pixelUnitToMillimeterY() in SVGSVGElement. 2935 Use cssPixelsPerInch, just like done in CSSPrimitiveValue & SVGLength. 2936 2937 * ksvg2/svg/SVGSVGElement.cpp: 2938 (WebCore::SVGSVGElement::pixelUnitToMillimeterX): 2939 (WebCore::SVGSVGElement::pixelUnitToMillimeterY): 2940 2941 2007-06-14 Rob Buis <buis (a] kde.org> 2942 2943 Reviewed by Eric. 2944 2945 http://bugs.webkit.org/show_bug.cgi?id=9752 2946 %-sizing of elements with a html parent is broken 2947 2948 Calculate width/height for length percentages when embedded in xhtml. 2949 2950 * ksvg2/svg/SVGLength.cpp: 2951 (WebCore::SVGLength::PercentageOfViewport): 2952 2953 2007-06-14 Rob Buis <buis (a] kde.org> 2954 2955 Build fix. 2956 2957 * rendering/SVGCharacterLayoutInfo.cpp: 2958 2959 2007-06-14 Rob Buis <buis (a] kde.org> 2960 2961 Reviewed by Eric. 2962 2963 http://bugs.webkit.org/show_bug.cgi?id=12207 2964 RenderSVGContainer should be split into multiple classes 2965 http://bugs.webkit.org/show_bug.cgi?id=14125 2966 KCanvasRenderingStyle should be removed 2967 2968 Introduce the RenderSVGRoot class and kill the KCanvas enums. 2969 2970 * WebCore.xcodeproj/project.pbxproj: 2971 * ksvg2/css/SVGRenderStyle.cpp: 2972 (WebCore::SVGRenderStyle::cssPrimitiveToLength): 2973 * ksvg2/css/SVGRenderStyle.h: 2974 * ksvg2/misc/KCanvasRenderingStyle.cpp: Removed. 2975 * ksvg2/misc/KCanvasRenderingStyle.h: Removed. 2976 * ksvg2/svg/SVGMarkerElement.cpp: 2977 (WebCore::SVGMarkerElement::createRenderer): 2978 (WebCore::SVGMarkerElement::notifyAttributeChange): 2979 * ksvg2/svg/SVGSVGElement.cpp: 2980 (WebCore::SVGSVGElement::createRenderer): 2981 * ksvg2/svg/SVGSVGElement.h: 2982 * platform/graphics/svg/SVGPaintServer.cpp: 2983 (WebCore::sharedSolidPaintServer): 2984 (WebCore::SVGPaintServer::fillPaintServer): 2985 (WebCore::SVGPaintServer::strokePaintServer): 2986 (WebCore::dashArrayFromRenderingStyle): 2987 * platform/graphics/svg/SVGPaintServer.h: 2988 * platform/graphics/svg/cg/CgSupport.cpp: 2989 (WebCore::applyStrokeStyleToContext): 2990 * platform/graphics/svg/cg/RenderPathCg.cpp: 2991 (WebCore::RenderPath::strokeContains): 2992 * rendering/RenderPath.cpp: 2993 (WebCore::RenderPath::fillContains): 2994 (WebCore::fillAndStrokePath): 2995 (WebCore::RenderPath::drawMarkersIfNeeded): 2996 * rendering/RenderSVGContainer.cpp: 2997 (WebCore::RenderSVGContainer::requiresLayer): 2998 (WebCore::RenderSVGContainer::layout): 2999 (WebCore::RenderSVGContainer::applyContentTransforms): 3000 (WebCore::RenderSVGContainer::paint): 3001 (WebCore::RenderSVGContainer::setAlign): 3002 (WebCore::RenderSVGContainer::align): 3003 (WebCore::RenderSVGContainer::viewportTransform): 3004 (WebCore::RenderSVGContainer::absoluteTransform): 3005 (WebCore::RenderSVGContainer::getAspectRatio): 3006 * rendering/RenderSVGContainer.h: 3007 * rendering/RenderSVGInlineText.cpp: 3008 * rendering/RenderSVGRoot.cpp: Added. 3009 (WebCore::RenderSVGRoot::RenderSVGRoot): 3010 (WebCore::RenderSVGRoot::~RenderSVGRoot): 3011 (WebCore::RenderSVGRoot::localTransform): 3012 (WebCore::RenderSVGRoot::setLocalTransform): 3013 (WebCore::RenderSVGRoot::requiresLayer): 3014 (WebCore::RenderSVGRoot::lineHeight): 3015 (WebCore::RenderSVGRoot::baselinePosition): 3016 (WebCore::RenderSVGRoot::layout): 3017 (WebCore::RenderSVGRoot::applyContentTransforms): 3018 (WebCore::RenderSVGRoot::paint): 3019 (WebCore::RenderSVGRoot::viewport): 3020 (WebCore::RenderSVGRoot::calcViewport): 3021 (WebCore::RenderSVGRoot::setViewBox): 3022 (WebCore::RenderSVGRoot::viewBox): 3023 (WebCore::RenderSVGRoot::setAlign): 3024 (WebCore::RenderSVGRoot::align): 3025 (WebCore::RenderSVGRoot::viewportTransform): 3026 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect): 3027 (WebCore::RenderSVGRoot::addFocusRingRects): 3028 (WebCore::RenderSVGRoot::absoluteRects): 3029 (WebCore::RenderSVGRoot::absoluteTransform): 3030 (WebCore::RenderSVGRoot::fillContains): 3031 (WebCore::RenderSVGRoot::strokeContains): 3032 (WebCore::RenderSVGRoot::relativeBBox): 3033 (WebCore::RenderSVGRoot::setSlice): 3034 (WebCore::RenderSVGRoot::slice): 3035 (WebCore::RenderSVGRoot::getAspectRatio): 3036 (WebCore::RenderSVGRoot::nodeAtPoint): 3037 * rendering/RenderSVGRoot.h: Added. 3038 (WebCore::RenderSVGRoot::isSVGContainer): 3039 (WebCore::RenderSVGRoot::renderName): 3040 * rendering/RenderSVGTSpan.cpp: 3041 * rendering/RenderSVGText.cpp: 3042 (WebCore::RenderSVGText::relativeBBox): 3043 * rendering/SVGRenderTreeAsText.cpp: 3044 (WebCore::operator<<): 3045 (WebCore::writeStyle): 3046 * rendering/SVGRootInlineBox.cpp: 3047 (WebCore::SVGRootInlineBox::paint): 3048 (WebCore::SVGRootInlineBox::paintInlineBoxes): 3049 3050 2007-06-12 Nikolas Zimmermann <zimmermann (a] kde.org> 3051 3052 Reviewed by Eric. 3053 3054 Fix regression: SVG images drawn in the wrong paint phase. 3055 3056 * rendering/RenderSVGImage.cpp: 3057 (WebCore::RenderSVGImage::paint): 3058 3059 2007-06-11 Rob Buis <buis (a] kde.org> 3060 3061 Reviewed by weinig. 3062 3063 http://bugs.webkit.org/show_bug.cgi?id=14064 3064 fill property is reported as type SVGColor 3065 3066 Do the checks in the right order. 3067 3068 * bindings/js/kjs_css.cpp: 3069 (KJS::toJS): 3070 3071 2007-06-07 Rob Buis <buis (a] kde.org> 3072 3073 Reviewed by Eric. 3074 3075 http://bugs.webkit.org/show_bug.cgi?id=12122 3076 SVGPathElement should not inherit from SVGPathParser 3077 3078 Use path builders for building Path and PathSegLists. 3079 3080 * ksvg2/svg/SVGAnimateMotionElement.cpp: 3081 (WebCore::SVGAnimateMotionElement::parseMappedAttribute): 3082 * ksvg2/svg/SVGParserUtilities.cpp: 3083 (WebCore::pointsListFromSVGData): 3084 (WebCore::SVGPathParser::~SVGPathParser): 3085 (WebCore::SVGPathParser::svgLineToHorizontal): 3086 (WebCore::SVGPathParser::svgLineToVertical): 3087 (WebCore::SVGPathParser::svgCurveToCubicSmooth): 3088 (WebCore::SVGPathParser::svgCurveToQuadratic): 3089 (WebCore::SVGPathParser::svgCurveToQuadraticSmooth): 3090 (WebCore::SVGPathParser::svgArcTo): 3091 (WebCore::PathBuilder::build): 3092 (WebCore::PathBuilder::svgMoveTo): 3093 (WebCore::PathBuilder::svgLineTo): 3094 (WebCore::PathBuilder::svgCurveToCubic): 3095 (WebCore::PathBuilder::svgClosePath): 3096 (WebCore::pathFromSVGData): 3097 (WebCore::SVGPathSegListBuilder::build): 3098 (WebCore::SVGPathSegListBuilder::svgMoveTo): 3099 (WebCore::SVGPathSegListBuilder::svgLineTo): 3100 (WebCore::SVGPathSegListBuilder::svgLineToHorizontal): 3101 (WebCore::SVGPathSegListBuilder::svgLineToVertical): 3102 (WebCore::SVGPathSegListBuilder::svgCurveToCubic): 3103 (WebCore::SVGPathSegListBuilder::svgCurveToCubicSmooth): 3104 (WebCore::SVGPathSegListBuilder::svgCurveToQuadratic): 3105 (WebCore::SVGPathSegListBuilder::svgCurveToQuadraticSmooth): 3106 (WebCore::SVGPathSegListBuilder::svgArcTo): 3107 (WebCore::SVGPathSegListBuilder::svgClosePath): 3108 (WebCore::pathSegListFromSVGData): 3109 * ksvg2/svg/SVGParserUtilities.h: 3110 * ksvg2/svg/SVGPathElement.cpp: 3111 (WebCore::SVGPathElement::SVGPathElement): 3112 (WebCore::SVGPathElement::parseMappedAttribute): 3113 * ksvg2/svg/SVGPathElement.h: 3114 * ksvg2/svg/SVGPolyElement.cpp: 3115 (WebCore::SVGPolyElement::SVGPolyElement): 3116 (WebCore::SVGPolyElement::parseMappedAttribute): 3117 * ksvg2/svg/SVGPolyElement.h: 3118 3119 2007-06-06 Eric Seidel <eric (a] webkit.org> 3120 3121 Reviewed by olliej. 3122 3123 Add support for tabbing between links in an SVG file 3124 Also add support for drawing a focus ring around focused svg content. 3125 http://bugs.webkit.org/show_bug.cgi?id=8823 3126 3127 Layout test is blocked by http://bugs.webkit.org/show_bug.cgi?id=14027 3128 3129 * css/svg.css: 3130 * ksvg2/svg/SVGAElement.cpp: 3131 (WebCore::SVGAElement::defaultEventHandler): 3132 (WebCore::SVGAElement::supportsFocus): 3133 (WebCore::SVGAElement::isFocusable): 3134 (WebCore::SVGAElement::isMouseFocusable): 3135 (WebCore::SVGAElement::isKeyboardFocusable): 3136 * ksvg2/svg/SVGAElement.h: 3137 3138 2007-06-06 Eric Seidel <eric (a] webkit.org> 3139 3140 Reviewed by olliej. 3141 3142 Make SVG (mostly) support CSS outline property (and thus focus rings) 3143 http://bugs.webkit.org/show_bug.cgi?id=10849 3144 3145 Test: svg/custom/focus-ring.svg 3146 3147 * rendering/RenderPath.cpp: 3148 (WebCore::RenderPath::paint): 3149 (WebCore::RenderPath::addFocusRingRects): 3150 * rendering/RenderPath.h: 3151 * rendering/RenderSVGContainer.cpp: 3152 (WebCore::RenderSVGContainer::paint): 3153 (WebCore::RenderSVGContainer::addFocusRingRects): 3154 * rendering/RenderSVGContainer.h: 3155 * rendering/RenderSVGImage.cpp: 3156 (WebCore::RenderSVGImage::paint): 3157 (WebCore::RenderSVGImage::addFocusRingRects): 3158 * rendering/RenderSVGImage.h: 3159 3160 2007-06-06 Eric Seidel <eric (a] webkit.org> 3161 3162 Reviewed by weinig. 3163 3164 Break out common SVG rendering logic into prepareToRenderSVGContent in SVGRenderSupport 3165 3166 No test cases should be changed by this. 3167 3168 * WebCore.xcodeproj/project.pbxproj: 3169 * rendering/RenderPath.cpp: 3170 (WebCore::fillAndStrokePath): 3171 (WebCore::RenderPath::paint): 3172 * rendering/RenderSVGContainer.cpp: 3173 (WebCore::RenderSVGContainer::RenderSVGContainer): 3174 (WebCore::RenderSVGContainer::requiresLayer): 3175 (WebCore::RenderSVGContainer::isOutermostSVG): 3176 (WebCore::RenderSVGContainer::layout): 3177 (WebCore::RenderSVGContainer::applyContentTransforms): 3178 (WebCore::RenderSVGContainer::paint): 3179 (WebCore::RenderSVGContainer::viewportTransform): 3180 (WebCore::RenderSVGContainer::absoluteTransform): 3181 * rendering/RenderSVGContainer.h: 3182 * rendering/RenderSVGImage.cpp: 3183 (WebCore::RenderSVGImage::paint): 3184 (WebCore::RenderSVGImage::translationForAttributes): 3185 * rendering/SVGRenderSupport.cpp: Added. 3186 (WebCore::prepareToRenderSVGContent): 3187 * rendering/SVGRenderSupport.h: Added. 3188 * rendering/SVGRootInlineBox.cpp: 3189 (WebCore::prepareTextRendering): 3190 (WebCore::SVGRootInlineBox::paint): 3191 (WebCore::SVGRootInlineBox::paintInlineBoxes): 3192 3193 2007-06-06 Rob Buis <buis (a] kde.org> 3194 3195 Reviewed by Eric. 3196 3197 http://bugs.webkit.org/show_bug.cgi?id=13976 3198 getPresentationAttribute not implemented 3199 3200 Implement getPresentationAttribute. 3201 3202 * ksvg2/svg/SVGStylable.h: 3203 * ksvg2/svg/SVGStylable.idl: 3204 * ksvg2/svg/SVGStyledElement.cpp: 3205 (WebCore::SVGStyledElement::getPresentationAttribute): 3206 * ksvg2/svg/SVGStyledElement.h: 3207 3208 2007-06-06 Rob Buis <buis (a] kde.org> 3209 3210 Reviewed by olliej and eric. 3211 3212 http://bugs.webkit.org/show_bug.cgi?id=12430 3213 SVG has two transform parsers when it should have one. 3214 3215 Refactor SVGTransformable parser so SVGAnimateTransformElement can reuse it better. 3216 3217 * ksvg2/svg/SVGAnimateTransformElement.cpp: 3218 (WebCore::SVGAnimateTransformElement::calculateFromAndToValues): 3219 * ksvg2/svg/SVGAnimateTransformElement.h: 3220 * ksvg2/svg/SVGTransformable.cpp: 3221 (WebCore::): 3222 (WebCore::SVGTransformable::parseTransformValue): 3223 (WebCore::SVGTransformable::parseTransformAttribute): 3224 * ksvg2/svg/SVGTransformable.h: 3225 3226 2007-06-05 Eric Seidel <eric (a] webkit.org> 3227 3228 Reviewed by olliej. 3229 3230 Commit files missing from previous commit, oops! 3231 3232 * platform/graphics/svg/SVGResourceMasker.cpp: 3233 (WebCore::SVGResourceMasker::SVGResourceMasker): 3234 (WebCore::SVGResourceMasker::invalidate): 3235 * platform/graphics/svg/SVGResourceMasker.h: 3236 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: 3237 (WebCore::SVGResourceMasker::applyMask): 3238 3239 2007-06-01 Eric Seidel <eric (a] webkit.org> 3240 3241 Reviewed by olliej. 3242 3243 Add support for maskUnits and maskContentUnits 3244 http://bugs.webkit.org/show_bug.cgi?id=12568 3245 3246 This is covered by the W3C tests (including mask-intro01) 3247 3248 * ksvg2/svg/SVGMaskElement.cpp: 3249 (WebCore::SVGMaskElement::SVGMaskElement): 3250 (WebCore::SVGMaskElement::parseMappedAttribute): 3251 (WebCore::SVGMaskElement::drawMaskerContent): 3252 (WebCore::SVGMaskElement::canvasResource): 3253 (WebCore::SVGMaskElement::notifyAttributeChange): 3254 * ksvg2/svg/SVGMaskElement.h: 3255 * ksvg2/svg/SVGMaskElement.idl: 3256 * platform/graphics/svg/SVGResourceMasker.cpp: 3257 (WebCore::SVGResourceMasker::SVGResourceMasker): 3258 (WebCore::SVGResourceMasker::invalidate): 3259 * platform/graphics/svg/SVGResourceMasker.h: 3260 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: 3261 (WebCore::SVGResourceMasker::applyMask): 3262 3263 2007-06-01 Eric Seidel <eric (a] webkit.org> 3264 3265 Reviewed by lars. 3266 3267 Cursor does not change to hand over links containing <use> 3268 http://bugs.webkit.org/show_bug.cgi?id=12630 3269 3270 Test: manual-tests/svg-link-hover-use.svg 3271 3272 * manual-tests/svg-link-hover-use.svg: Added. 3273 * rendering/RenderLayer.cpp: 3274 (WebCore::RenderLayer::hitTest): use eventParentNode instead of parentNode 3275 3276 2007-06-01 Eric Seidel <eric (a] webkit.org> 3277 3278 Reviewed by olliej. 3279 3280 SVG is not correctly respecting scroll during hit testing 3281 http://bugs.webkit.org/show_bug.cgi?id=13083 3282 3283 Test: svg/custom/scroll-hit-test.svg 3284 3285 * rendering/RenderPath.cpp: 3286 (WebCore::RenderPath::nodeAtPoint): 3287 * rendering/RenderSVGContainer.cpp: 3288 (WebCore::RenderSVGContainer::nodeAtPoint): 3289 3290 2007-06-01 Eric Seidel <eric (a] webkit.org> 3291 3292 Reviewed by hyatt. 3293 3294 Fix for: http://bugs.webkit.org/show_bug.cgi?id=12187 3295 3296 Tests: fast/dom/attribute-case-sensitivity.html, fast/dom/attribute-case-sensitivity2.xhtml 3297 3298 * dom/Element.cpp: 3299 (WebCore::shouldIgnoreAttributeCase): check to make sure element is an HTMLElement 3300 (WebCore::Element::getAttribute): 3301 (WebCore::Element::setAttribute): 3302 (WebCore::Element::removeAttribute): 3303 (WebCore::Element::getAttributeNode): 3304 (WebCore::Element::hasAttribute): 3305 * dom/NamedAttrMap.cpp: 3306 (WebCore::shouldIgnoreAttributeCase): 3307 (WebCore::NamedAttrMap::getNamedItem): 3308 (WebCore::NamedAttrMap::removeNamedItem): 3309 3310 2007-05-31 Eric Seidel <eric (a] webkit.org> 3311 3312 Reviewed by Niko. 3313 3314 Links are activated based on mouse down events instead of click events 3315 http://bugs.webkit.org/show_bug.cgi?id=12570 3316 3317 Test: svg/custom/prevent-default.svg 3318 3319 * html/HTMLAnchorElement.cpp: use MiddleButton and RightButton instead of 1 and 2 3320 (WebCore::HTMLAnchorElement::defaultEventHandler): 3321 * ksvg2/svg/SVGAElement.cpp: 3322 (WebCore::SVGAElement::defaultEventHandler): make it function more like the HTML side 3323 3324 2007-05-30 Rob Buis <buis (a] kde.org> 3325 3326 Reviewed by Darin. 3327 3328 http://bugs.webkit.org/show_bug.cgi?id=11272 3329 Implement currentScale(), setCurrentScale() and currentTranslate() in SVGSVGElement 3330 3331 Allow zooming and panning, thereby implementing the above methods. 3332 3333 * ksvg2/svg/SVGDocument.cpp: 3334 (WebCore::SVGDocument::zoomAndPanEnabled): 3335 (WebCore::SVGDocument::startPan): 3336 (WebCore::SVGDocument::updatePan): 3337 * ksvg2/svg/SVGDocument.h: 3338 * ksvg2/svg/SVGSVGElement.cpp: 3339 (WebCore::SVGSVGElement::currentScale): 3340 (WebCore::SVGSVGElement::setCurrentScale): 3341 (WebCore::SVGSVGElement::currentTranslate): 3342 (WebCore::SVGSVGElement::setCurrentTranslate): 3343 * ksvg2/svg/SVGSVGElement.h: 3344 * page/EventHandler.cpp: 3345 (WebCore::EventHandler::EventHandler): 3346 (WebCore::EventHandler::handleMousePressEvent): 3347 (WebCore::EventHandler::handleMouseMoveEvent): 3348 (WebCore::EventHandler::handleMouseReleaseEvent): 3349 * page/EventHandler.h: 3350 * page/Frame.cpp: 3351 (WebCore::Frame::setZoomFactor): 3352 * rendering/RenderSVGContainer.cpp: 3353 (WebCore::RenderSVGContainer::layout): 3354 (WebCore::RenderSVGContainer::paint): 3355 (WebCore::RenderSVGContainer::absoluteTransform): 3356 3357 2007-05-30 Nikolas Zimmermann <zimmermann (a] kde.org> 3358 3359 Reviewed by Oliver. 3360 3361 Fix regression: gradient on fill of text works again! 3362 3363 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 3364 (WebCore::SVGPaintServerGradient::teardown): 3365 3366 2007-05-29 Nikolas Zimmermann <zimmermann (a] kde.org> 3367 3368 Reviewed by Oliver. 3369 3370 Fix "jumpy" selection by correcting the way svgCharacterHitsPosition works. 3371 I basically mixed up the "closest character to position" logic. 3372 3373 * rendering/RenderSVGInlineText.cpp: Only call svgCharacterHitsPosition for the firstTextBox -> it handles all children anyway. 3374 (WebCore::RenderSVGInlineText::positionForCoordinates): 3375 * rendering/SVGInlineTextBox.cpp: 3376 (WebCore::SVGInlineTextBox::closestCharacterToPosition): Fix logic - was really broken! 3377 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): 3378 (WebCore::SVGInlineTextBox::nodeAtPoint): Do not use svgCharacterHitsPosition here - too accurate! 3379 We don't want to loose the 'text' cursor if one is just between two characters. 3380 3381 2007-05-24 Nikolas Zimmermann <zimmermann (a] kde.org> 3382 3383 Reviewed by Oliver. 3384 3385 Add new code path dumping SVG text engine specific layout test results. 3386 Finally the dumped results are actually accurate and respond to the 3387 rendered glyphs. This has never been correct so far. 3388 3389 * rendering/RenderTreeAsText.cpp: 3390 (WebCore::quoteAndEscapeNonPrintables): 3391 (WebCore::write): 3392 * rendering/RenderTreeAsText.h: 3393 * rendering/SVGInlineTextBox.h: 3394 * rendering/SVGRenderTreeAsText.cpp: 3395 (WebCore::operator<<): 3396 (WebCore::containsInlineTextBox): 3397 (WebCore::writeSVGInlineText): 3398 (WebCore::write): 3399 * rendering/SVGRenderTreeAsText.h: 3400 * rendering/SVGRootInlineBox.cpp: 3401 (WebCore::topLeftPositionOfCharacterRange): 3402 (WebCore::cummulatedWidthOfInlineBoxCharacterRange): 3403 (WebCore::cummulatedHeightOfInlineBoxCharacterRange): 3404 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): 3405 * rendering/SVGRootInlineBox.h: 3406 3407 2007-05-20 Nikolas Zimmermann <zimmermann (a] kde.org> 3408 3409 Reviewed by Oliver. 3410 3411 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12698 (SVG text needs a special per-character layout mode.) 3412 3413 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6420 (<text> does not respect x,y offset lists) 3414 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6425 (<textPath> element not implemented) 3415 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6481 (text-anchor (vertical) does not work in SVG text elements) 3416 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11941 (REGRESSION: Missing text stroke in svg/W3C-SVG-1.1/text-deco-01-b.svg) 3417 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12376 (glyph rotation in text/tspan not implemented) 3418 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12377 (multiple dx and dy attributes not respected in text and tspan elements) 3419 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12574 (<text> does not handle baseline-shift correctly) 3420 3421 Introduce new experimental SVG text engine - after 5+ months of hacking. 3422 3423 Add textPath support, absolute positioned SVG characters, vertical text, 3424 text rotation, baseline-shift, text chunks spanning <tspan>'s etc. 3425 3426 Check my Flickr page for screenshots: http://www.flickr.com/photos/43532360@N00 (a bit outdated) 3427 3428 Fixes/Improvments: 3429 - animate-elem-40-t.svg (x/y lists respected on <text> now) 3430 - interact-cursor-01-f.svg (text-anchor correctly handled in <text><a> situations) 3431 - struct-frag-05-t.svg (ditto) 3432 - text-align-02-b.svg (baseline-shift recognized) 3433 - text-align-04-b.svg (textPath displayed) 3434 - text-align-05-b.svg (text-anchor & vertical text handled correctly) 3435 - text-align-06-b.svg (baseline-shift & vertical text handled correctly) 3436 - text-deco-01-b.svg (longstanding regression fixed for text-decoration) 3437 - text-path-01-b.svg (all textPaths are displayed correctly) 3438 - text-text-04-t.svg (all x/y/dx/dy list situations work fine now) 3439 - text-text-05-t.svg (ditto) 3440 - text-text-06-t.svg (ditto) 3441 - text-text-07-t.svg (rotation works fine now) 3442 - text-tspan-01-b.svg (per character placment works great in all situations) 3443 3444 Most files using text-anchor show 0.5-1% differences because the shift offset calculation is more correct now. 3445 3446 Regressions: 3447 - Gradient on fill is broken (on stroke works) -> this is a regression (easy to fix soon) 3448 js-late-gradient-and-object-creation.svg & js-late-gradient-creation.svg & pservers-grad-08-b.svg & pservers-grad-11-b.svg are broken 3449 3450 Complete list of missing things: 3451 - 'textLength' / 'lengthAdjust' properties on <text>/<tspan> not yet handled. 3452 - 'dominant-baseline / alignment-baseline missing (neither FF/Opera/Batik support this) 3453 - 'kerning' property ignored 3454 - 'glyph-orientation-vertical' / 'glyph-orientation-horizontal' not yet handled. 3455 - Hebrew text selection broken (discontinous selection doesn't work) 3456 - <textPath> doesn't yet participate in text selection 3457 - <textPath> 'text-anchor' handling is flawed 3458 - <textPath> doesn't yet handle 'method' / 'spacing' properties 3459 - 'letter-spacing' / 'word-spacing' is still handled in the "legacy" mode. That means it only works 3460 for simple cases -> won't work for textPath's for instance 3461 - SVG fonts (<altGlyph>, <font> ..... tons more) 3462 3463 * DerivedSources.make: Add DOM/JSSVGTextPathElement.h to build 3464 * WebCore.xcodeproj/project.pbxproj: Add textPath related files to build 3465 * css/svg.css: Correct white-space default setting for textPath element 3466 * ksvg2/svg/SVGFEFloodElement.cpp: Missing include (experimental build was broken) 3467 * ksvg2/svg/SVGTSpanElement.cpp: Recognize textPath children. 3468 (WebCore::SVGTSpanElement::childShouldCreateRenderer): 3469 * ksvg2/svg/SVGTextElement.cpp: Ditto. 3470 (WebCore::SVGTextElement::childShouldCreateRenderer): 3471 * ksvg2/svg/SVGTextPathElement.cpp: Added. 3472 (WebCore::SVGTextPathElement::SVGTextPathElement): 3473 (WebCore::SVGTextPathElement::~SVGTextPathElement): 3474 (WebCore::SVGTextPathElement::parseMappedAttribute): 3475 (WebCore::SVGTextPathElement::createRenderer): 3476 (WebCore::SVGTextPathElement::childShouldCreateRenderer): 3477 (WebCore::SVGTextPathElement::insertedIntoDocument): 3478 (WebCore::SVGTextPathElement::buildPendingResource): 3479 (WebCore::SVGTextPathElement::attach): 3480 * ksvg2/svg/SVGTextPathElement.h: Added. 3481 (WebCore::): 3482 (WebCore::SVGTextPathElement::rendererIsNeeded): 3483 (WebCore::SVGTextPathElement::contextElement): 3484 * ksvg2/svg/SVGTextPathElement.idl: Added. 3485 * ksvg2/svg/svgtags.in: Add textPath tag. 3486 * rendering/InlineTextBox.cpp: Make two methods non static to share with SVG. 3487 (WebCore::correctedTextColor): 3488 (WebCore::updateGraphicsContext): 3489 * rendering/InlineTextBox.h: 3490 * rendering/RenderSVGInlineText.cpp: Special positionForCoordinates() implementation. Stub caretRect() for SVG. 3491 (WebCore::RenderSVGInlineText::selectionRect): 3492 (WebCore::RenderSVGInlineText::caretRect): 3493 (WebCore::RenderSVGInlineText::positionForCoordinates): 3494 * rendering/RenderSVGInlineText.h: 3495 * rendering/RenderSVGTextPath.cpp: Added. 3496 (WebCore::RenderSVGTextPath::RenderSVGTextPath): 3497 (WebCore::RenderSVGTextPath::layoutPath): 3498 (WebCore::RenderSVGTextPath::setLayoutPath): 3499 (WebCore::RenderSVGTextPath::startOffset): 3500 (WebCore::RenderSVGTextPath::setStartOffset): 3501 (WebCore::RenderSVGTextPath::exactAlignment): 3502 (WebCore::RenderSVGTextPath::setExactAlignment): 3503 (WebCore::RenderSVGTextPath::stretchMethod): 3504 (WebCore::RenderSVGTextPath::setStretchMethod): 3505 (WebCore::RenderSVGTextPath::absoluteRects): 3506 * rendering/RenderSVGTextPath.h: Added. 3507 (WebCore::RenderSVGTextPath::renderName): 3508 * rendering/RenderText.cpp: Fix indention and use StringImpl::empty() instead of creating an empty string manually. 3509 (WebCore::RenderText::setTextInternal): 3510 * rendering/RootInlineBox.h: Add virtual no-op computePerCharacterLayoutInformation(). 3511 (WebCore::RootInlineBox::computePerCharacterLayoutInformation): 3512 * rendering/SVGCharacterLayoutInfo.cpp: Added. 3513 (WebCore::calculateBaselineShift): 3514 (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo): 3515 (WebCore::SVGCharacterLayoutInfo::xValueAvailable): 3516 (WebCore::SVGCharacterLayoutInfo::yValueAvailable): 3517 (WebCore::SVGCharacterLayoutInfo::dxValueAvailable): 3518 (WebCore::SVGCharacterLayoutInfo::dyValueAvailable): 3519 (WebCore::SVGCharacterLayoutInfo::angleValueAvailable): 3520 (WebCore::SVGCharacterLayoutInfo::baselineShiftValueAvailable): 3521 (WebCore::SVGCharacterLayoutInfo::xValueNext): 3522 (WebCore::SVGCharacterLayoutInfo::yValueNext): 3523 (WebCore::SVGCharacterLayoutInfo::dxValueNext): 3524 (WebCore::SVGCharacterLayoutInfo::dyValueNext): 3525 (WebCore::SVGCharacterLayoutInfo::angleValueNext): 3526 (WebCore::SVGCharacterLayoutInfo::baselineShiftValueNext): 3527 (WebCore::SVGCharacterLayoutInfo::processedSingleCharacter): 3528 (WebCore::SVGCharacterLayoutInfo::processedChunk): 3529 (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle): 3530 (WebCore::SVGCharacterLayoutInfo::inPathLayout): 3531 (WebCore::SVGCharacterLayoutInfo::setInPathLayout): 3532 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): 3533 (WebCore::SVGCharacterLayoutInfo::addStackContent): 3534 (WebCore::SVGCharacterLayoutInfo::xStackWalk): 3535 (WebCore::SVGCharacterLayoutInfo::yStackWalk): 3536 (WebCore::SVGCharacterLayoutInfo::dxStackWalk): 3537 (WebCore::SVGCharacterLayoutInfo::dyStackWalk): 3538 (WebCore::SVGCharacterLayoutInfo::angleStackWalk): 3539 (WebCore::SVGCharacterLayoutInfo::baselineShiftStackWalk): 3540 * rendering/SVGCharacterLayoutInfo.h: Added. 3541 (WebCore::PositionedVector::Type): 3542 (WebCore::PositionedVector::position): 3543 (WebCore::PositionedVector::advance): 3544 (WebCore::PositionedVector::valueAtCurrentPosition): 3545 (WebCore::SVGCharacterLayoutInfo::): 3546 (WebCore::SVGInlineBoxCharacterRange::SVGInlineBoxCharacterRange): 3547 (WebCore::SVGInlineBoxCharacterRange::isOpen): 3548 (WebCore::SVGInlineBoxCharacterRange::isClosed): 3549 (WebCore::SVGTextChunk::SVGTextChunk): 3550 (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo): 3551 * rendering/SVGInlineFlowBox.cpp: Make all methods no-ops when using the new text engine. 3552 (WebCore::SVGInlineFlowBox::paint): 3553 (WebCore::SVGInlineFlowBox::placeBoxesHorizontally): 3554 (WebCore::SVGInlineFlowBox::verticallyAlignBoxes): 3555 * rendering/SVGInlineFlowBox.h: 3556 * rendering/SVGInlineTextBox.cpp: Add new text selection / character hit detection related code. 3557 (WebCore::SVGInlineTextBox::SVGInlineTextBox): 3558 (WebCore::SVGInlineTextBox::selectionTop): 3559 (WebCore::SVGInlineTextBox::svgRootInlineBox): 3560 (WebCore::SVGInlineTextBox::closestCharacterToPosition): 3561 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): 3562 (WebCore::SVGInlineTextBox::offsetForPosition): 3563 (WebCore::SVGInlineTextBox::positionForOffset): 3564 (WebCore::SVGInlineTextBox::nodeAtPoint): 3565 (WebCore::SVGInlineTextBox::selectionRect): 3566 * rendering/SVGInlineTextBox.h: 3567 * rendering/SVGRootInlineBox.cpp: The heart of the new text engine lives here. 3568 (WebCore::prepareTextRendering): 3569 (WebCore::isVerticalWritingMode): 3570 (WebCore::SVGRootInlineBox::paint): 3571 (WebCore::SVGRootInlineBox::placeBoxesHorizontally): 3572 (WebCore::SVGRootInlineBox::verticallyAlignBoxes): 3573 (WebCore::SVGRootInlineBox::cummulatedWidthOfSelectionRange): 3574 (WebCore::cummulatedWidthOfInlineBoxCharacterRange): 3575 (WebCore::cummulatedWidthOfTextChunk): 3576 (WebCore::cummulatedHeightOfTextChunk): 3577 (WebCore::applyTextAnchorToTextChunk): 3578 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): 3579 (WebCore::totalAdvanceOfInlineTextBox): 3580 (WebCore::totalAdvanceOfInlineBox): 3581 (WebCore::SVGRootInlineBox::buildLayoutInformation): 3582 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 3583 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 3584 (WebCore::SVGRootInlineBox::buildTextChunks): 3585 (WebCore::SVGRootInlineBox::svgTextChunks): 3586 (WebCore::SVGRootInlineBox::layoutTextChunks): 3587 (WebCore::SVGRootInlineBox::paintSelectionForTextBox): 3588 (WebCore::SVGRootInlineBox::paintInlineBoxes): 3589 (WebCore::SVGRootInlineBox::paintCharacterRangeForTextBox): 3590 * rendering/SVGRootInlineBox.h: 3591 * rendering/bidi.cpp: Call the new computePerCharacterLayoutInformation() method. 3592 (WebCore::RenderBlock::layoutInlineChildren): 3593 3594 2007-05-10 Eric Seidel <eric (a] webkit.org> 3595 3596 Reviewed by olliej. 3597 3598 http://bugs.webkit.org/show_bug.cgi?id=11931 3599 PathCG fails to hit on unclosed sub-paths 3600 3601 Test: svg/custom/hit-test-unclosed-subpaths.svg 3602 3603 * platform/graphics/cg/PathCG.cpp: 3604 (WebCore::copyClosingSubpathsApplierFunction): 3605 (WebCore::copyCGPathClosingSubpaths): 3606 (WebCore::Path::contains): use new copy & close function 3607 3608 === End merge of feature-branch 2007-10-12 === 3609 3610 2007-10-11 Jon Honeycutt <jhoneycutt (a] apple.com> 3611 3612 Reviewed by Anders. 3613 3614 Handle a race condition that could arise if a plugin was loaded while it 3615 was scheduled to be freed: check whether the timer that schedules 3616 library frees is active in PluginPackageWin::load(). 3617 3618 * plugins/win/PluginPackageWin.cpp: 3619 (WebCore::PluginPackageWin::freeLibrarySoon): Added assertions 3620 (WebCore::PluginPackageWin::freeLibraryTimerFired): Added assertion 3621 (WebCore::PluginPackageWin::load): If we are scheduled to free this 3622 library, cancel the timer, and don't call LoadLibrary 3623 3624 2007-10-11 Justin Garcia <justin.garcia (a] apple.com> 3625 3626 Reviewed by Harrison. 3627 3628 <rdar://problem/5483567> REGRESSION (Tiger only): Pasting words copied from TextEdit in Mail adds extra newline 3629 3630 * editing/ReplaceSelectionCommand.cpp: 3631 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Added. 3632 We would like to insert the fragment as-is if possible, but AppKit on Tiger 3633 creates fragments from RTF data that have carriage returns and spaces at the 3634 beginning and end, and those need to be removed since they'll interfere with 3635 paragraph merging. 3636 (WebCore::ReplaceSelectionCommand::doApply): 3637 * editing/ReplaceSelectionCommand.h: 3638 3639 2007-10-10 Justin Garcia <justin.garcia (a] apple.com> 3640 3641 Reviewed by Maciej. 3642 3643 <rdar://problem/5521237> Pasting a word copied from TextEdit after a regular, breaking space, adds a leading newline 3644 3645 * editing/CompositeEditCommand.cpp: 3646 (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): 3647 Fixed a typo. 3648 3649 2007-10-10 Jon Honeycutt <jhoneycutt (a] apple.com> 3650 3651 Reviewed by Darin. 3652 3653 <rdar://5530519> REGRESSION (303-310A18): Crash when closing tab with 3654 pdf file (Reader 7 only) 3655 3656 Reader 7 subclasses its parent window, so posting a WM_DESTROY to this 3657 window puts us in plugin code. When the plugin forwards the message 3658 back to the original window proc, and we free the plugin library from 3659 there, we will jump back to code we just freed when we return, so delay 3660 calling FreeLibrary at least until the next message loop 3661 3662 * plugins/win/PluginPackageWin.cpp: 3663 (WebCore::PluginPackageWin::freeLibrarySoon): Start a timer to free the 3664 plugin library 3665 (WebCore::PluginPackageWin::freeLibraryTimerFired): Free the library 3666 (WebCore::PluginPackageWin::PluginPackageWin): Initialize the timer that 3667 will free this library 3668 (WebCore::PluginPackageWin::unloadWithoutShutdown): Call 3669 freeLibrarySoon() 3670 * plugins/win/PluginPackageWin.h: Added m_freeLibraryTimer 3671 3672 2007-10-11 Ada Chan <adachan (a] apple.com> 3673 3674 <rdar://problem/5534421> 3675 Switched to using wkGetDefaultHTTPCookieStorage() and removed some cookie-related 3676 methods we no longer need in ResourceHandle. 3677 3678 <rdar://problem/5244261> "Never" cookie policy was ignored on windows 3679 Need to set the cookie accept policy on each CFURLRequest. 3680 3681 Reviewed by Oliver. 3682 3683 * platform/network/ResourceHandle.h: 3684 * platform/network/cf/ResourceHandleCFNet.cpp: 3685 (WebCore::makeFinalRequest): 3686 * platform/network/cf/ResourceRequestCFNet.cpp: 3687 (WebCore::ResourceRequest::doUpdatePlatformRequest): 3688 * platform/network/win/CookieJarWin.cpp: 3689 (WebCore::setCookies): 3690 (WebCore::cookies): 3691 (WebCore::cookiesEnabled): 3692 3693 2007-10-11 Mark Rowe <mrowe (a] apple.com> 3694 3695 Reviewed by Tim Hatcher. 3696 3697 Fix for <rdar://problem/5488678>. Disable debugging symbols in production builds for 10.4 3698 PowerPC to prevent a huge STABS section from being generated. 3699 3700 * Configurations/Base.xcconfig: 3701 3702 2007-10-11 Lars Knoll <lars (a] trolltech.com> 3703 3704 Reviewed by Erik Seidel and Simon. 3705 3706 Ensure that setting innerHTML on an element doesn't do 3707 weird things with the document. 3708 Fixes most issues with http://bugs.webkit.org/show_bug.cgi?id=15456 3709 3710 Test: fast/innerHTML/innerHTML-changing-document-properties.xhtml 3711 3712 * dom/XMLTokenizer.cpp: 3713 (WebCore::XMLTokenizer::write): 3714 (WebCore::XMLTokenizer::startDocument): 3715 (WebCore::XMLTokenizer::end): 3716 (WebCore::): 3717 3718 2007-10-10 George Staikos <staikos (a] kde.org> 3719 3720 Reviewed by Adam Roben. 3721 3722 Fix Qt build on Win32 with VS2005. 3723 3724 * loader/FTPDirectoryDocument.cpp: 3725 (WebCore::processFileDateString): 3726 * loader/FTPDirectoryParser.cpp: 3727 (WebCore::parseOneFTPLine): 3728 3729 2007-10-10 Alice Liu <alice.liu (a] apple.com> 3730 3731 Reviewed by Geoff Garen. 3732 3733 Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT 3734 createFrame() now returns a RefPtr instead of a raw Frame pointer. 3735 Making this change improves the way we handle frames on Windows webkit. 3736 3737 * loader/FrameLoader.cpp: 3738 (WebCore::FrameLoader::loadSubframe): 3739 * loader/FrameLoaderClient.h: 3740 * platform/graphics/svg/SVGImageEmptyClients.h: 3741 (WebCore::SVGEmptyFrameLoaderClient::createFrame): 3742 3743 2007-10-10 Simon Hausmann <hausmann (a] kde.org> 3744 3745 Reviewed by Lars. 3746 3747 Fix compilation using gcc 4.3. Header files have been reorganized and as a result some extra 3748 includes are needed for INT_MAX, std::auto_ptr and the like. 3749 3750 WARNING: NO TEST CASES ADDED OR CHANGED 3751 3752 * bridge/AXObjectCache.h: 3753 * ksvg2/misc/SVGDocumentExtensions.h: 3754 * platform/Base64.cpp: 3755 * platform/graphics/svg/SVGPaintServerPattern.h: 3756 * platform/graphics/svg/SVGResourceMasker.h: 3757 3758 2007-10-08 Sam Weinig <sam (a] webkit.org> 3759 3760 Reviewed by Steve Falkenburg. 3761 3762 Fix for <rdar://problem/5519698> CrashTracer: [USER] 47 crashes in Safari at com.apple.WebCore: WebCore::XMLTokenizer::lineNumber const + 9 3763 3764 Test: fast/innerHTML/innerHTML-script-tag-crash.xhtml 3765 3766 * dom/XMLTokenizer.cpp: 3767 (WebCore::XMLTokenizer::lineNumber): Return 1 when there is no context. 3768 (WebCore::XMLTokenizer::columnNumber): ditto. 3769 3770 2007-10-08 Adam Roben <aroben (a] apple.com> 3771 3772 Fix Bug 15305: Crash when dragging an image when "load images automatically" preference is off 3773 3774 http://bugs.webkit.org/show_bug.cgi?id=15305 3775 <rdar://problem/5524774> 3776 3777 Reviewed by Eric Seidel. 3778 3779 No test possible: to reproduce this you have to change a WebKit 3780 preference and reload the page. See 3781 http://bugs.webkit.org/show_bug.cgi?id=15414 3782 3783 * platform/win/ClipboardWin.cpp: 3784 (WebCore::createGlobalImageFileDescriptor): ASSERT that we have an 3785 image and that it has a SharedBuffer. 3786 (WebCore::writeImageToDataObject): The fix: null-check imageBuffer. 3787 3788 2007-10-05 Geoffrey Garen <ggaren (a] apple.com> 3789 3790 Reviewed by Sam Weinig. 3791 3792 New fix for <rdar://problem/5522487> REGRESSION: With JavaScript 3793 disabled, any page load causes a crash in PropertyMap::put 3794 3795 Explicitly remove the "document" property from the window. The old 3796 solution would leave a stale "document" property around after JavaScript 3797 was re-enabled. 3798 3799 The architecture for disabling JavaScript could use some consolidation. 3800 It seems wrong that a script proxy even exists when JavaScript is 3801 disabled. It also seems wrong that so many individual call sites are 3802 responsible for checking whether JavaScript is enabled. I've filed a 3803 bug about this: http://bugs.webkit.org/show_bug.cgi?id=15385. 3804 3805 * bindings/js/kjs_proxy.cpp: 3806 (WebCore::KJSProxy::clearDocumentWrapper): 3807 * bindings/js/kjs_proxy.h: 3808 * page/Frame.cpp: 3809 (WebCore::Frame::setDocument): 3810 3811 2007-10-05 Jon Honeycutt <jhoneycutt (a] apple.com> 3812 3813 Reviewed by Anders. 3814 3815 <rdar://5520913> Ticketmaster.com doesn't display correctly (Flash 3816 related?) 3817 3818 The plugin is requesting files that don't exist on the server, and 3819 we are passing the 404 error page to the plugin. This change cancels the 3820 stream if the response code indicates a failure. 3821 3822 This is a port of the safari / mac code. 3823 3824 * loader/win/NetscapePlugInStreamLoaderWin.cpp: 3825 (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): If the 3826 response code indicates a failure, cancel the stream 3827 3828 2007-10-05 Geoffrey Garen <ggaren (a] apple.com> 3829 3830 Reviewed by Sam Weinig. 3831 3832 Fixed <rdar://problem/5522487> REGRESSION: With JavaScript disabled, 3833 any page load causes a crash in PropertyMap::put 3834 3835 The problem was that we were using JavaScript when JavaScript was 3836 disabled. The architecture for disabling JavaScript could use some 3837 consolidation, but this is the simplest, safest change for now. 3838 3839 Currently passing layout tests still pass. 3840 3841 * bindings/js/kjs_proxy.cpp: 3842 (WebCore::KJSProxy::updateDocumentWrapper): 3843 3844 2007-10-04 Beth Dakin <bdakin (a] apple.com> 3845 3846 Reviewed by John Sullivan. 3847 3848 Fix for <rdar://problem/5441823> REGRESSION (r25142, Tiger only): 3849 Vertical scroll bar not redrawn properly when going back in history 3850 (15033) 3851 3852 This fix if-defs r25142 to be Leopard-only since it causes 3853 correctness issues on Tiger and does not seem to have any 3854 performance impact on Tiger either. 3855 3856 * loader/FrameLoader.cpp: 3857 (WebCore::FrameLoader::transitionToCommitted): 3858 3859 2007-10-05 Ada Chan <adachan (a] apple.com> 3860 3861 <rdar://problem/5436617> Favicons sometimes don't show up even when they are 3862 in the database 3863 - A client can try to retain an icon for a page before the database is actually 3864 opened. Since isOpened() is not a requirement to retain an icon, remove the check 3865 for that. Instead, we'll check to make sure whether this database is enabled 3866 before proceeding. 3867 3868 Reviewed by Brady. 3869 3870 * loader/icon/IconDatabase.cpp: 3871 (WebCore::IconDatabase::retainIconForPageURL): 3872 (WebCore::IconDatabase::releaseIconForPageURL): only check isOpen() before we 3873 schedule for a sync. 3874 3875 2007-10-05 Lars Knoll <lars (a] trolltech.com> 3876 3877 Reviewed by olliej. 3878 3879 fix a hang in editing/selection/extend-by-word-002.html 3880 3881 * platform/qt/TextBreakIteratorQt.cpp: 3882 (WebCore::CharBreakIteratorQt::next): 3883 (WebCore::characterBreakIterator): 3884 3885 2007-10-04 Mark Rowe <mrowe (a] apple.com> 3886 3887 Reviewed by Oliver. 3888 3889 Switch to default level of debugging symbols to resolve <rdar://problem/5488678>. 3890 The "full" level appears to offer no observable benefits even though the documentation 3891 suggests it be used for dead code stripping. This should also decrease link times. 3892 3893 * Configurations/Base.xcconfig: 3894 3895 2007-10-04 Adele Peterson <adele (a] apple.com> 3896 3897 Reviewed by Darin. 3898 3899 WebCore part of fix for <rdar://problem/5369017> REGRESSION: Can't tab to webview that doesn't have editable content 3900 3901 * page/FocusController.h: Added FocusDirection argument. 3902 * page/FocusController.cpp: (WebCore::FocusController::setInitialFocus): 3903 Use FocusDirection argument instead of key modifiers to send direction to advanceFocus. 3904 * WebCore.exp: Updated symbol. 3905 3906 2007-10-04 Kevin Decker <kdecker (a] apple.com> 3907 3908 Reviewed by John. 3909 3910 <rdar://problems/5516309> 3911 3912 * page/FrameView.cpp: 3913 (WebCore::FrameView::updateControlTints): Avoid the expense of updating tints on controls for the 3914 empty-window case since this can take a significant amount of time even on windows that have no 3915 content at all. Note this fix specifically optimizes the empty window/tab case; for a more broad 3916 fix John wrote up rdar://problem/5521050. 3917 3918 2007-10-04 Darin Adler <darin (a] apple.com> 3919 3920 * page/Frame.h: Put functions into categories to indicate other classes 3921 we'd like to move them into in the future. Just organizational -- no code 3922 change. 3923 3924 2007-10-04 Lars Knoll <lars (a] trolltech.com> 3925 3926 Reviewed by maciej. 3927 3928 fix a crash in the FrameLoader that can happen under certain 3929 conditions in the Qt port. 3930 3931 Test: fast/loader/iframe-crash-on-missing-image.xhtml 3932 3933 * loader/FrameLoader.cpp: 3934 (WebCore::FrameLoader::receivedMainResourceError): 3935 3936 2007-10-03 Alp Toker <alp (a] atoker.com> 3937 3938 Reviewed by Adam. 3939 3940 http://bugs.webkit.org/show_bug.cgi?id=14726 3941 [gtk] API design. Mapping the WebView delegates to signals. 3942 3943 Change the API namespace of the Gtk+ port from 'WebKitGtk' to 'WebKit'. 3944 3945 * WebCore.pro: 3946 3947 2007-10-03 Alp Toker <alp (a] atoker.com> 3948 3949 Reviewed by Eric. 3950 3951 http://bugs.webkit.org/show_bug.cgi?id=14129 3952 [CAIRO] Support the canvas element 3953 3954 Add a new canvas implementation using Cairo for rendering. 3955 3956 * html/CanvasGradient.cpp: 3957 (WebCore::CanvasGradient::CanvasGradient): 3958 (WebCore::CanvasGradient::~CanvasGradient): 3959 (WebCore::CanvasGradient::addColorStop): 3960 (WebCore::CanvasGradient::platformShading): 3961 * html/CanvasGradient.h: 3962 * html/CanvasRenderingContext2D.cpp: 3963 (WebCore::CanvasRenderingContext2D::setFillStyle): 3964 (WebCore::CanvasRenderingContext2D::fill): 3965 (WebCore::CanvasRenderingContext2D::stroke): 3966 (WebCore::CanvasRenderingContext2D::fillRect): 3967 (WebCore::CanvasRenderingContext2D::drawImage): 3968 (WebCore::CanvasRenderingContext2D::applyStrokePattern): 3969 * html/CanvasStyle.cpp: 3970 (WebCore::CanvasStyle::applyStrokeColor): 3971 * html/HTMLCanvasElement.cpp: 3972 (WebCore::HTMLCanvasElement::~HTMLCanvasElement): 3973 (WebCore::HTMLCanvasElement::reset): 3974 (WebCore::HTMLCanvasElement::paint): 3975 (WebCore::HTMLCanvasElement::createDrawingContext): 3976 (WebCore::HTMLCanvasElement::createPlatformImage): 3977 * html/HTMLCanvasElement.h: 3978 3979 2007-10-03 Lars Knoll <lars (a] trolltech.com> 3980 3981 Signed off by olliej. 3982 3983 move WebKitQt to WebKit/qt for consistency with the other ports. 3984 3985 WARNING: NO TEST CASES ADDED OR CHANGED 3986 3987 * WebCore.pro: 3988 3989 2007-10-02 Sam Weinig <sam (a] webkit.org> 3990 3991 Reviewed by Oliver and Adam. 3992 3993 Patch for <rdar://problem/5506968> Fail to DnD local file with non-ascii character in path from desktop to Safari (can open it with file menu) 3994 3995 Use CoreFoundation to do the conversion from path to URL, as the Windows API was not 3996 correctly converting to UTF-8 and we know CFURL will. 3997 3998 * platform/win/ClipboardUtilitiesWin.cpp: 3999 (WebCore::urlFromPath): 4000 (WebCore::getURL): 4001 4002 2007-10-02 Tristan O'Tierney <tristan (a] apple.com> 4003 4004 Reviewed by Darin Adler. 4005 4006 <rdar://problem/5511842> REGRESSION: Webkit stops responding while loading Apple Store Canada page (15304) 4007 4008 Included the NSSynchronousURLConnection_PrivateMode mode, in addition to the default run loop modes 4009 as an acceptable mode when using performSelectorOnMainThread with our syncronous url callbacks. 4010 4011 * platform/network/mac/ResourceHandleMac.mm: 4012 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): 4013 Added NSSynchronousURLConnection_PrivateMode to the list of accepted modes. 4014 4015 2007-10-02 Darin Adler <darin (a] apple.com> 4016 4017 Reviewed by Adam. 4018 4019 - add support for GDI objects to OwnPtr; I plan to use this 4020 to fix some GDI handle leaks 4021 4022 * css/CSSGrammar.y: Change parser to avoid macro that conflicts 4023 with macro defined in Windows system headers: FLOAT. This is needed 4024 because OwnPtr.h will now include <windows.h>. 4025 * css/CSSParser.cpp: (WebCore::CSSParser::lex): Ditto. 4026 * css/tokenizer.flex: Ditto. 4027 4028 * platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): 4029 Use OwnPtr for a few HBITMAP objects as a test case. 4030 4031 * platform/win/COMPtr.h: (COMPtr::COMPtr): Fix so that we can use 4032 Query with other COMPtr. Before this would not compile if it was 4033 ever instantiated. 4034 4035 2007-10-02 Steve Falkenburg <sfalken (a] apple.com> 4036 4037 Reviewed by Adam, Ada. 4038 4039 Fix leak of GDI handle when we call MLANG. 4040 4041 * platform/win/FontCacheWin.cpp: 4042 (WebCore::FontCache::getFontDataForCharacters): 4043 4044 2007-10-02 Lars Knoll <lars (a] trolltech.com> 4045 4046 Reviewed by Olliej. 4047 4048 The cookies() method should only return the value of the 4049 cookie, not additional info such as the expiration date. 4050 4051 * platform/qt/CookieJarQt.cpp: 4052 (WebCore::cookies): 4053 4054 2007-10-01 Lars Knoll <lars (a] trolltech.com> 4055 4056 Reviewed by Eric. 4057 4058 Fix a wrong extension mapping in the MIMETypeRegistry and identify about: url's as frames in the FrameLoaderClient. 4059 4060 * platform/qt/MIMETypeRegistryQt.cpp: 4061 (WebCore::): 4062 4063 2007-10-01 Justin Garcia <justin.garcia (a] apple.com> 4064 4065 Reviewed by Harrison. 4066 4067 <rdar://problem/5516183> REGRESSION: Creating a ToDo on an incoming message fails 4068 4069 Rolling out r25721. 4070 4071 * editing/ReplaceSelectionCommand.cpp: 4072 (WebCore::ReplaceSelectionCommand::doApply): 4073 * editing/ReplaceSelectionCommand.h: 4074 4075 2007-10-01 Beth Dakin <bdakin (a] apple.com> 4076 4077 Reviewed by Adam. 4078 4079 Fix for <rdar://problem/5515426> NetNewsWire 3 crashes at launch in 4080 WebCore::FrameView::layout (other repro scenarios too) 4081 4082 The new call to updateWidget() that we added to FrameView::layout() 4083 can destroy the RenderPartObject. And so we were crashing on the 4084 subsequent call to updateWidgetPosition(). This patch fixes that by 4085 checking to make sure the RenderPartObject is still in the HashSet 4086 after updateWidget(). Because m_widgetUpdateSet can be modified 4087 during the call to updateWidget(), we need it to be intact while we 4088 are iterating through the copy, so we cannot use the HashSet::swap 4089 call we were using before. This patch instead uses a Vector to 4090 iterate through the HashSet data and calls clear() on the HashSet 4091 at the end. 4092 4093 * page/FrameView.cpp: 4094 (WebCore::FrameView::layout): 4095 4096 2007-10-01 Eli Fidler <eli (a] staikos.net> 4097 4098 Reviewed by George Staikos. 4099 4100 Switch bogus assert to a conditional and return. This case happens 4101 when a widget is hidden. 4102 4103 * platform/qt/WidgetQt.cpp: 4104 (WebCore::Widget::invalidateRect): 4105 4106 2007-09-30 Darin Adler <darin (a] apple.com> 4107 4108 Reviewed by Maciej. 4109 4110 - tone down the assertion I asked Harrison to include in his fix for 4111 <rdar://problem/5511128>; it's OK to re-ref and deref the document 4112 as long as you do so after the children are done being destroyed 4113 4114 No effect on release builds. Assertion change only. 4115 4116 Besides the changes listed below, renamed m_hasDeleted flag to 4117 m_deletionHasBegun. 4118 4119 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeAllChildren): 4120 Added code to set the m_deletionHasBegun flag and some assertions 4121 that test its state. 4122 4123 * dom/Document.h: Removed m_hasDeleted -- we now use m_deletionHasBegun 4124 in the base class TreeShared. 4125 * dom/Document.cpp: 4126 (WebCore::Document::Document): Removed initialization of m_hasDeleted. 4127 (WebCore::Document::removedLastRef): Added code to clear 4128 m_inRemovedLastRefFunction if we end up deciding not to delete this. 4129 4130 * platform/Shared.h: 4131 (WebCore::TreeShared::TreeShared): Added m_deletionHasBegun in addition to 4132 m_inRemovedLastRefFunction (formerly named m_hasRemovedLastRef). 4133 (WebCore::TreeShared::~TreeShared): Assert that m_deletionHasBegun is true. 4134 (WebCore::TreeShared::ref): Assert neither flag is true. 4135 (WebCore::TreeShared::deref): Ditto. 4136 (WebCore::TreeShared::hasOneRef): Ditto. 4137 (WebCore::TreeShared::removedLastRef): Made private. Added code to 4138 set m_hasDeleted to true. Also removed cast; since this class template 4139 has a virtual destructor, we don't need to cast before calling delete. 4140 4141 2007-09-29 Holger Hans Peter Freyther <zecke (a] selfish.org> 4142 4143 Reviewed by Mark. 4144 4145 -Fix http://bugs.webkit.org/show_bug.cgi?id=13226. 4146 Remove Bakefiles from svn. 4147 4148 * Projects/gdk/webcore-gdk.bkl: Removed. 4149 * Projects/wx/webcore-wx.bkl: Removed. 4150 * WebCoreSources.bkl: Removed. 4151 * webcore-base.bkl: Removed. 4152 4153 2007-09-28 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 4154 4155 Reviewed by Mark. 4156 4157 -Fix http://bugs.webkit.org/show_bug.cgi?id=15254. 4158 4159 * platform/gtk/RenderThemeGtk.cpp: 4160 (WebCore::RenderThemeGtk::determineState): 4161 - Apply state if control is readonly 4162 - Added state GTK_STATE_SELECTED of object is checked 4163 - Apply GTK_STATE_ACTIVE if RenderObject isFocused() 4164 (WebCore::RenderThemeGtk::paintTextField): 4165 (WebCore::RenderThemeGtk::gtkEntry): 4166 - Implemented theme-aware text field based on gtk/gtkentry.c implementation 4167 4168 2007-09-29 Holger Hans Peter Freyther <zecke (a] selfish.org> 4169 4170 Reviewed by Eric. 4171 4172 Build fix for Mac Gtk+ and Qt builds. In revision 25798 changing 4173 XSLTProcessor.cpp was forgotten. 4174 4175 * xml/XSLTProcessor.cpp: Use PLATFORM(MAC) instead of PLATFORM(DARWIN) 4176 4177 2007-09-29 Adam Roben <aroben (a] apple.com> 4178 4179 Fix <rdar://4965715> Horizontal scrollwheel scrolling moves in opposite direction on Vista 4180 4181 Reviewed by Sam. 4182 4183 No regression test possible. 4184 4185 * platform/win/WheelEventWin.cpp: 4186 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use a negative 4187 delta when scrolling right to match EventHandler's expectations (which 4188 are based on AppKit). 4189 4190 2007-09-28 Kevin Decker <kdecker (a] apple.com> 4191 4192 Reviewed by Mark Rowe 4193 4194 Build fix for Mac Gtk+ and Qt builds. 4195 4196 * xml/XSLStyleSheet.cpp: Use PLATFORM(MAC) instead of PLATFORM(DARWIN) 4197 * xml/XSLTExtensions.cpp: Ditto. 4198 4199 2007-09-28 David Harrison <harrison (a] apple.com> 4200 4201 Reviewed by Darin Adler. 4202 4203 <rdar://problem/5511128> Crash closing or reloading this SVG 4204 4205 * dom/ContainerNode.cpp: 4206 (WebCore::dispatchChildInsertionEvents): 4207 (WebCore::dispatchChildRemovalEvents): 4208 Use DocPtr instead of RefPtr, since these events are dispatched 4209 when the Document is being being torn down by removedLastRef(). 4210 4211 * dom/DocPtr.h: 4212 (WebCore::DocPtr::DocPtr): 4213 Fix longstanding typo in template so that the DocPtr(DocPtr) constructor can be used. 4214 4215 * dom/Document.cpp: 4216 (WebCore::Document::Document): 4217 (WebCore::Document::removedLastRef): 4218 * dom/Document.h: 4219 (WebCore::Document::selfOnlyRef): 4220 (WebCore::Document::selfOnlyDeref): 4221 * platform/Shared.h: 4222 (WebCore::Shared::Shared): 4223 (WebCore::Shared::ref): 4224 (WebCore::Shared::deref): 4225 (WebCore::Shared::hasOneRef): 4226 (WebCore::TreeShared::TreeShared): 4227 (WebCore::TreeShared::ref): 4228 (WebCore::TreeShared::deref): 4229 (WebCore::TreeShared::hasOneRef): 4230 (WebCore::TreeShared::refCount): 4231 Add debug-only checks for a document being ref-counted while being deleted. 4232 4233 2007-09-27 Kevin McCullough <kmccullough (a] apple.com> 4234 4235 Reviewed by Darin. 4236 4237 - <rdar://5261371> Nothing downloaded when exporting bookmarks from iGoogle web history 4238 4239 Function for use by WebKit. Currently used only on Windows. 4240 4241 * platform/network/ResourceResponse.cpp: 4242 (WebCore::ResourceResponse::isAttachment): 4243 * platform/network/ResourceResponse.h: 4244 4245 2007-09-27 Mitz Pettel <mitz (a] webkit.org> 4246 4247 Reviewed by Dave Hyatt. 4248 4249 - fix http://bugs.webkit.org/show_bug.cgi?id=15262 4250 REGRESSION: Margin-top:18px is pushing down the multiple select list box outside the div. 4251 4252 Reflected in existing tests. 4253 4254 * css/html4.css: Changed listboxes to use border-box sizing, to match Firefox, 4255 WinIE and apparently also Safari 2. 4256 4257 2007-09-27 Kevin Decker <kdecker (a] apple.com> 4258 4259 <rdar://problem/5493093> 4260 4261 Rubber stamped by John Sullivan. 4262 4263 * WebCore.order: Added. 4264 * WebCore.xcodeproj/project.pbxproj: We're changing from using an order file built by another team to using one 4265 we actually check into our project repository. Linker settings for Symbol Ordering Flags have been updated 4266 accordingly. 4267 4268 2007-09-27 Antti Koivisto <antti (a] apple.com> 4269 4270 Reviewed by Geoff. 4271 4272 Fix for <rdar://problem/5499125> 4273 REGRESSION (r21367): After launching Kidzui beta, a webview frame fails to appear in its main window 4274 4275 If window object properties were modified when it had initial empty document (synchronously after 4276 window.open() for example) those modifications were lost when the real document was switched in. 4277 4278 Match Firefox behavior where window properties are not cleared if the inital document and the loaded one 4279 have matching security domains. 4280 4281 Tests: fast/dom/Window/window-early-properties.html 4282 http/tests/security/window-properties-clear-domain.html 4283 http/tests/security/window-properties-clear-port.html 4284 http/tests/security/window-properties-pass.html 4285 4286 * WebCore.exp: 4287 * loader/FrameLoader.cpp: 4288 (WebCore::FrameLoader::FrameLoader): 4289 (WebCore::FrameLoader::init): 4290 (WebCore::FrameLoader::clear): 4291 (WebCore::FrameLoader::isSecureTransition): 4292 (WebCore::FrameLoader::begin): 4293 * loader/FrameLoader.h: 4294 If we are transitioning from initial empty document to the final one, do a domain security check 4295 between old security policy URL and new URL. If that passes don't clear script proxy and script objects. 4296 4297 * bindings/js/kjs_proxy.cpp: 4298 (WebCore::KJSProxy::updateDocumentWrapper): 4299 * bindings/js/kjs_proxy.h: 4300 * page/Frame.cpp: 4301 (WebCore::Frame::setDocument): 4302 Since we don't always clear window properties anymore, we need to update the document property to point to 4303 the newly created one. 4304 4305 2007-09-27 Kevin Decker <kdecker (a] apple.com> 4306 4307 Reviewed by Darin. 4308 4309 <rdar://problem/5493093> 4310 4311 * WebCore.xcodeproj/project.pbxproj: Removed libxslt from statically linked frameworks. 4312 * platform/mac/SoftLinking.h: Formatting tweakes, added SOFT_LINK_LIBRARY, and if'def for 4313 PLATFORM(DARWIN) 4314 * xml/XSLStyleSheet.cpp: Soft-linked libxslt. 4315 * xml/XSLTExtensions.cpp: Removed the call to xsltGenericError, and added a FIXME comment stating 4316 that it might be helpful to push any errors from xmlXPathNewValueTree up to the Javascript Console. 4317 * xml/XSLTProcessor.cpp: Soft-linked libxslt. 4318 4319 2007-09-27 Adele Peterson <adele (a] apple.com> 4320 4321 Reviewed by Brady. 4322 4323 Fix for <rdar://problem/5453350> REGRESSION (r18541, Tiger only): Refreshing a cached https page does not reload CSS and JavaScript resources 4324 http://bugs.webkit.org/show_bug.cgi?id=15121 4325 4326 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Now sets the cache policy to ReloadIgnoringCacheData. Without setting the cache policy, 4327 the default policy in this case was ReturnCacheDataElseLoad. If we're in a situation where the resource is in the cache, we want to make sure to avoid loading from the cache in this case. 4328 4329 2007-09-27 Timothy Hatcher <timothy (a] apple.com> 4330 4331 Reviewed by Darin. 4332 4333 <rdar://problem/5199546> CrashTracer: [REGRESSION] 8216 crashes in Safari at com.apple.WebCore: WebCore::ResourceHandle::client const + 6 4334 4335 On Tiger NSURLConnection can sometimes call the connection:willCacheResponse: delegate method on 4336 a secondary thread instead of the main thread. This was never an issue before, since the implementation 4337 of this method was very simple and thread safe. 4338 4339 The fix is to block during connection:willCacheResponse: and perform the work on the main thread. 4340 We need to block since this delegate method needs to return a result. If we are already on the 4341 main thread (which sometimes we are), the method does nothing different. If we are on a secondary 4342 thread, we make a mutable dictionary to hold all the arguments and later the result object. 4343 Then performSelectorOnMainThread:withObject: using the _callConnectionWillCacheResponseWithInfo: 4344 selector. This new method just pulls the arguments out for the dictionary and calls the real 4345 connection:willCacheResponse: delegate method (this time on the main thread). The result is stored 4346 in the dictionary, and when performSelectorOnMainThread:withObject: finishes the result is pulled 4347 out and returned. 4348 4349 * platform/network/mac/ResourceHandleMac.mm: 4350 (-[WebCoreResourceHandleAsDelegate _callConnectionWillCacheResponseWithInfo:]): 4351 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): 4352 4353 2007-09-27 David Hyatt <hyatt (a] apple.com> 4354 4355 Update to reflect the minimal WebKitSystemInterface changes required 4356 to support @font-face. 4357 4358 Reviewed by john 4359 4360 * platform/mac/FontDataMac.mm: 4361 (WebCore::FontData::platformInit): 4362 (WebCore::FontData::platformWidthForGlyph): 4363 * platform/mac/WebCoreSystemInterface.h: 4364 * platform/mac/WebCoreSystemInterface.mm: 4365 4366 2007-09-26 Darin Adler <darin (a] apple.com> 4367 4368 - fix Windows build 4369 4370 * platform/win/ClipboardWin.cpp: 4371 (WebCore::writeURL): Add a check for empty URL. Remove the check for invalid URL. 4372 (WebCore::ClipboardWin::setData): Remove the check for invalid URL. 4373 * plugins/win/PluginViewWin.cpp: 4374 (WebCore::PluginViewWin::start): Check for empty URL instead of invalid URL. 4375 (WebCore::PluginViewWin::load): Same here. 4376 4377 2007-09-26 Darin Adler <darin (a] apple.com> 4378 4379 Reviewed by John Sullivan. 4380 4381 - fix <rdar://problem/5491054> REGRESSION (Mail, plain-text only): Nothing happens 4382 when you click on rdar://<num>&<num> links (or AOL links in Safari) 4383 4384 Remove the non-useful concept of a "malformed"/"invalid" URL. 4385 4386 There are URLs we can parse, and others we can't, but that's not sufficient to 4387 determine if we should try to work with the URL. It's entirely possible that 4388 a so-called "malformed" URL will work just fine if it's passed to the right 4389 software. 4390 4391 * platform/KURL.h: Removed isMalformed() and isValid(). 4392 4393 * loader/Cache.cpp: (WebCore::Cache::requestResource): Removed unneeded check 4394 if the URL is valid. But do check for an empty URL just to guarantee we don't 4395 trip up with a null string. It's possible we can remove this empty URL check 4396 later, but it's less risky to leave the empty string behavior alone for now. 4397 4398 * loader/FrameLoader.cpp: 4399 (WebCore::FrameLoader::urlSelected): Removed unneeded check if the URL is valid. 4400 Back on 2007-07-08, we realized that we needed to allow empty URLs. But we also 4401 need to allow other URLs here. This is the code path from the Mail case. 4402 (WebCore::FrameLoader::submitForm): Replaced URL validity check with a check 4403 for an empty URL (same reasoning as for requestResource above). 4404 4405 * page/InspectorController.cpp: (WebCore::InspectorResource::type): 4406 * rendering/RenderObject.cpp: (WebCore::RenderObject::addPDFURLRect): 4407 Removed unneeded check for an invalid URL. In both of these cases it's definitely 4408 safe to allow event an empty URL. 4409 4410 2007-09-26 George Staikos <staikos (a] kde.org> 4411 4412 Reviewed by John Sullivan. 4413 4414 Only highlight the applicable portion of the text run for a search 4415 highlight. No way to make a testcase for this presently. 4416 4417 * rendering/InlineTextBox.cpp: 4418 (WebCore::InlineTextBox::paintTextMatchMarker): 4419 4420 2007-09-25 David Kilzer <ddkilzer (a] webkit.org> 4421 4422 Reviewed by Adam. 4423 4424 - Fix http://bugs.webkit.org/show_bug.cgi?id=14885 4425 LGPL'ed files contain incorrect FSF address 4426 4427 * LICENSE-LGPL-2: 4428 * LICENSE-LGPL-2.1: 4429 * WebCorePrefix.h: 4430 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 4431 * bindings/js/JSDOMWindowCustom.cpp: 4432 * bindings/js/JSDocumentCustom.cpp: 4433 * bindings/js/JSHTMLCollectionCustom.cpp: 4434 * bindings/js/JSHTMLElementWrapperFactory.cpp: 4435 * bindings/js/JSHTMLElementWrapperFactory.h: 4436 * bindings/js/JSHTMLInputElementBase.cpp: 4437 * bindings/js/JSHTMLInputElementBase.h: 4438 * bindings/js/JSHTMLOptionElementConstructor.cpp: 4439 * bindings/js/JSHTMLOptionElementConstructor.h: 4440 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 4441 * bindings/js/JSHTMLSelectElementCustom.cpp: 4442 * bindings/js/JSNodeFilterCondition.cpp: 4443 * bindings/js/JSNodeFilterCondition.h: 4444 * bindings/js/JSNodeIteratorCustom.cpp: 4445 * bindings/js/JSSVGElementWrapperFactory.cpp: 4446 * bindings/js/JSSVGElementWrapperFactory.h: 4447 * bindings/js/JSSVGMatrixCustom.cpp: 4448 * bindings/js/JSSVGPathSegCustom.cpp: 4449 * bindings/js/JSSVGPathSegListCustom.cpp: 4450 * bindings/js/JSSVGPointListCustom.cpp: 4451 * bindings/js/JSTreeWalkerCustom.cpp: 4452 * bindings/js/JSXMLHttpRequest.cpp: 4453 * bindings/js/JSXMLHttpRequest.h: 4454 * bindings/js/kjs_binding.cpp: 4455 * bindings/js/kjs_binding.h: 4456 * bindings/js/kjs_css.cpp: 4457 * bindings/js/kjs_css.h: 4458 * bindings/js/kjs_dom.cpp: 4459 * bindings/js/kjs_dom.h: 4460 * bindings/js/kjs_events.cpp: 4461 * bindings/js/kjs_events.h: 4462 * bindings/js/kjs_html.cpp: 4463 * bindings/js/kjs_html.h: 4464 * bindings/js/kjs_navigator.cpp: 4465 * bindings/js/kjs_navigator.h: 4466 * bindings/js/kjs_proxy.cpp: 4467 * bindings/js/kjs_proxy.h: 4468 * bindings/js/kjs_window.cpp: 4469 * bindings/js/kjs_window.h: 4470 * bindings/objc/DOMImplementationFront.cpp: 4471 * bindings/objc/DOMImplementationFront.h: 4472 * bindings/scripts/CodeGenerator.pm: 4473 * bindings/scripts/CodeGeneratorJS.pm: 4474 * bindings/scripts/CodeGeneratorObjC.pm: 4475 * bindings/scripts/IDLParser.pm: 4476 * bindings/scripts/IDLStructure.pm: 4477 * bindings/scripts/generate-bindings.pl: 4478 * config.h: 4479 * css/CSSBorderImageValue.cpp: 4480 * css/CSSBorderImageValue.h: 4481 * css/CSSCharsetRule.cpp: 4482 * css/CSSCharsetRule.h: 4483 * css/CSSCharsetRule.idl: 4484 * css/CSSComputedStyleDeclaration.cpp: 4485 * css/CSSComputedStyleDeclaration.h: 4486 * css/CSSCursorImageValue.cpp: 4487 * css/CSSCursorImageValue.h: 4488 * css/CSSFontFaceRule.cpp: 4489 * css/CSSFontFaceRule.h: 4490 * css/CSSFontFaceRule.idl: 4491 * css/CSSGrammar.y: 4492 * css/CSSHelper.cpp: 4493 * css/CSSHelper.h: 4494 * css/CSSImageValue.cpp: 4495 * css/CSSImageValue.h: 4496 * css/CSSImportRule.cpp: 4497 * css/CSSImportRule.h: 4498 * css/CSSImportRule.idl: 4499 * css/CSSInheritedValue.cpp: 4500 * css/CSSInheritedValue.h: 4501 * css/CSSInitialValue.cpp: 4502 * css/CSSInitialValue.h: 4503 * css/CSSMediaRule.cpp: 4504 * css/CSSMediaRule.h: 4505 * css/CSSMediaRule.idl: 4506 * css/CSSMutableStyleDeclaration.cpp: 4507 * css/CSSMutableStyleDeclaration.h: 4508 * css/CSSNamespace.h: 4509 * css/CSSPageRule.cpp: 4510 * css/CSSPageRule.h: 4511 * css/CSSPageRule.idl: 4512 * css/CSSParser.cpp: 4513 * css/CSSParser.h: 4514 * css/CSSPrimitiveValue.cpp: 4515 * css/CSSPrimitiveValue.h: 4516 * css/CSSPrimitiveValue.idl: 4517 * css/CSSProperty.cpp: 4518 * css/CSSProperty.h: 4519 * css/CSSQuirkPrimitiveValue.h: 4520 * css/CSSRule.cpp: 4521 * css/CSSRule.h: 4522 * css/CSSRule.idl: 4523 * css/CSSRuleList.cpp: 4524 * css/CSSRuleList.h: 4525 * css/CSSSelector.cpp: 4526 * css/CSSSelector.h: 4527 * css/CSSStyleDeclaration.cpp: 4528 * css/CSSStyleDeclaration.h: 4529 * css/CSSStyleDeclaration.idl: 4530 * css/CSSStyleRule.cpp: 4531 * css/CSSStyleRule.h: 4532 * css/CSSStyleRule.idl: 4533 * css/CSSStyleSelector.cpp: 4534 * css/CSSStyleSelector.h: 4535 * css/CSSStyleSheet.cpp: 4536 * css/CSSStyleSheet.h: 4537 * css/CSSStyleSheet.idl: 4538 * css/CSSUnknownRule.h: 4539 * css/CSSUnknownRule.idl: 4540 * css/CSSValue.h: 4541 * css/CSSValue.idl: 4542 * css/CSSValueList.cpp: 4543 * css/CSSValueList.h: 4544 * css/Counter.h: 4545 * css/Counter.idl: 4546 * css/DashboardRegion.h: 4547 * css/FontFamilyValue.cpp: 4548 * css/FontFamilyValue.h: 4549 * css/FontValue.cpp: 4550 * css/FontValue.h: 4551 * css/MediaFeatureNames.cpp: 4552 * css/MediaFeatureNames.h: 4553 * css/MediaList.cpp: 4554 * css/MediaList.h: 4555 * css/Pair.h: 4556 * css/RGBColor.idl: 4557 * css/Rect.h: 4558 * css/Rect.idl: 4559 * css/ShadowValue.cpp: 4560 * css/ShadowValue.h: 4561 * css/StyleBase.cpp: 4562 * css/StyleBase.h: 4563 * css/StyleList.cpp: 4564 * css/StyleList.h: 4565 * css/StyleSheet.cpp: 4566 * css/StyleSheet.h: 4567 * css/StyleSheet.idl: 4568 * css/StyleSheetList.cpp: 4569 * css/StyleSheetList.h: 4570 * css/StyleSheetList.idl: 4571 * css/html4.css: 4572 * css/make-css-file-arrays.pl: 4573 * css/makegrammar.pl: 4574 * css/makeprop.pl: 4575 * css/maketokenizer: 4576 * css/makevalues.pl: 4577 * css/quirks.css: 4578 * dom/AtomicStringList.h: 4579 * dom/Attr.cpp: 4580 * dom/Attr.h: 4581 * dom/Attr.idl: 4582 * dom/Attribute.cpp: 4583 * dom/Attribute.h: 4584 * dom/BeforeUnloadEvent.cpp: 4585 * dom/BeforeUnloadEvent.h: 4586 * dom/CDATASection.cpp: 4587 * dom/CDATASection.h: 4588 * dom/CDATASection.idl: 4589 * dom/CSSMappedAttributeDeclaration.cpp: 4590 * dom/CSSMappedAttributeDeclaration.h: 4591 * dom/CharacterData.cpp: 4592 * dom/CharacterData.h: 4593 * dom/CharacterData.idl: 4594 * dom/ChildNodeList.cpp: 4595 * dom/ChildNodeList.h: 4596 * dom/Clipboard.h: 4597 * dom/ClipboardEvent.cpp: 4598 * dom/ClipboardEvent.h: 4599 * dom/Comment.cpp: 4600 * dom/Comment.h: 4601 * dom/Comment.idl: 4602 * dom/ContainerNode.cpp: 4603 * dom/ContainerNode.h: 4604 * dom/DOMImplementation.cpp: 4605 * dom/DOMImplementation.h: 4606 * dom/DOMImplementation.idl: 4607 * dom/DocPtr.h: 4608 * dom/Document.cpp: 4609 * dom/Document.h: 4610 * dom/Document.idl: 4611 * dom/DocumentFragment.cpp: 4612 * dom/DocumentFragment.h: 4613 * dom/DocumentFragment.idl: 4614 * dom/DocumentMarker.h: 4615 * dom/DocumentType.cpp: 4616 * dom/DocumentType.h: 4617 * dom/DocumentType.idl: 4618 * dom/EditingText.cpp: 4619 * dom/EditingText.h: 4620 * dom/Element.cpp: 4621 * dom/Element.h: 4622 * dom/Element.idl: 4623 * dom/Entity.cpp: 4624 * dom/Entity.h: 4625 * dom/Entity.idl: 4626 * dom/EntityReference.cpp: 4627 * dom/EntityReference.h: 4628 * dom/EntityReference.idl: 4629 * dom/Event.cpp: 4630 * dom/Event.h: 4631 * dom/Event.idl: 4632 * dom/EventListener.h: 4633 * dom/EventListener.idl: 4634 * dom/EventNames.cpp: 4635 * dom/EventNames.h: 4636 * dom/EventTarget.idl: 4637 * dom/EventTargetNode.cpp: 4638 * dom/EventTargetNode.h: 4639 * dom/ExceptionCode.h: 4640 * dom/KeyboardEvent.cpp: 4641 * dom/KeyboardEvent.h: 4642 * dom/KeyboardEvent.idl: 4643 * dom/MappedAttribute.cpp: 4644 * dom/MappedAttribute.h: 4645 * dom/MappedAttributeEntry.h: 4646 * dom/MouseEvent.cpp: 4647 * dom/MouseEvent.h: 4648 * dom/MouseEvent.idl: 4649 * dom/MouseRelatedEvent.cpp: 4650 * dom/MouseRelatedEvent.h: 4651 * dom/MutationEvent.cpp: 4652 * dom/MutationEvent.h: 4653 * dom/MutationEvent.idl: 4654 * dom/NameNodeList.cpp: 4655 * dom/NameNodeList.h: 4656 * dom/NamedAttrMap.cpp: 4657 * dom/NamedAttrMap.h: 4658 * dom/NamedMappedAttrMap.cpp: 4659 * dom/NamedMappedAttrMap.h: 4660 * dom/NamedNodeMap.h: 4661 * dom/NamedNodeMap.idl: 4662 * dom/Node.cpp: 4663 * dom/Node.h: 4664 * dom/Node.idl: 4665 * dom/NodeFilter.cpp: 4666 * dom/NodeFilter.h: 4667 * dom/NodeFilter.idl: 4668 * dom/NodeFilterCondition.cpp: 4669 * dom/NodeFilterCondition.h: 4670 * dom/NodeIterator.cpp: 4671 * dom/NodeIterator.h: 4672 * dom/NodeIterator.idl: 4673 * dom/NodeList.cpp: 4674 * dom/NodeList.h: 4675 * dom/NodeList.idl: 4676 * dom/Notation.cpp: 4677 * dom/Notation.h: 4678 * dom/Notation.idl: 4679 * dom/ProcessingInstruction.cpp: 4680 * dom/ProcessingInstruction.h: 4681 * dom/ProcessingInstruction.idl: 4682 * dom/QualifiedName.cpp: 4683 * dom/QualifiedName.h: 4684 * dom/Range.cpp: 4685 * dom/Range.h: 4686 * dom/Range.idl: 4687 * dom/RangeException.h: 4688 * dom/RangeException.idl: 4689 * dom/RegisteredEventListener.cpp: 4690 * dom/RegisteredEventListener.h: 4691 * dom/StyleElement.cpp: 4692 * dom/StyleElement.h: 4693 * dom/StyledElement.cpp: 4694 * dom/StyledElement.h: 4695 * dom/Text.cpp: 4696 * dom/Text.h: 4697 * dom/Text.idl: 4698 * dom/Tokenizer.h: 4699 * dom/Traversal.cpp: 4700 * dom/Traversal.h: 4701 * dom/TreeWalker.cpp: 4702 * dom/TreeWalker.h: 4703 * dom/TreeWalker.idl: 4704 * dom/UIEvent.cpp: 4705 * dom/UIEvent.h: 4706 * dom/UIEvent.idl: 4707 * dom/UIEventWithKeyState.cpp: 4708 * dom/UIEventWithKeyState.h: 4709 * dom/WheelEvent.cpp: 4710 * dom/WheelEvent.h: 4711 * dom/WheelEvent.idl: 4712 * dom/XMLTokenizer.cpp: 4713 * dom/XMLTokenizer.h: 4714 * html/FormDataList.cpp: 4715 * html/FormDataList.h: 4716 * html/HTMLAnchorElement.cpp: 4717 * html/HTMLAnchorElement.h: 4718 * html/HTMLAnchorElement.idl: 4719 * html/HTMLAppletElement.cpp: 4720 * html/HTMLAppletElement.h: 4721 * html/HTMLAppletElement.idl: 4722 * html/HTMLAreaElement.cpp: 4723 * html/HTMLAreaElement.h: 4724 * html/HTMLAreaElement.idl: 4725 * html/HTMLBRElement.cpp: 4726 * html/HTMLBRElement.h: 4727 * html/HTMLBRElement.idl: 4728 * html/HTMLBaseElement.cpp: 4729 * html/HTMLBaseElement.h: 4730 * html/HTMLBaseElement.idl: 4731 * html/HTMLBaseFontElement.cpp: 4732 * html/HTMLBaseFontElement.h: 4733 * html/HTMLBaseFontElement.idl: 4734 * html/HTMLBlockquoteElement.cpp: 4735 * html/HTMLBlockquoteElement.h: 4736 * html/HTMLBlockquoteElement.idl: 4737 * html/HTMLBodyElement.cpp: 4738 * html/HTMLBodyElement.h: 4739 * html/HTMLBodyElement.idl: 4740 * html/HTMLButtonElement.cpp: 4741 * html/HTMLButtonElement.h: 4742 * html/HTMLButtonElement.idl: 4743 * html/HTMLCollection.cpp: 4744 * html/HTMLCollection.h: 4745 * html/HTMLCollection.idl: 4746 * html/HTMLDListElement.cpp: 4747 * html/HTMLDListElement.h: 4748 * html/HTMLDListElement.idl: 4749 * html/HTMLDirectoryElement.cpp: 4750 * html/HTMLDirectoryElement.h: 4751 * html/HTMLDirectoryElement.idl: 4752 * html/HTMLDivElement.cpp: 4753 * html/HTMLDivElement.h: 4754 * html/HTMLDivElement.idl: 4755 * html/HTMLDocument.cpp: 4756 * html/HTMLDocument.h: 4757 * html/HTMLDocument.idl: 4758 * html/HTMLElement.cpp: 4759 * html/HTMLElement.h: 4760 * html/HTMLElement.idl: 4761 * html/HTMLElementFactory.cpp: 4762 * html/HTMLElementFactory.h: 4763 * html/HTMLEmbedElement.cpp: 4764 * html/HTMLEmbedElement.h: 4765 * html/HTMLEmbedElement.idl: 4766 * html/HTMLEntityNames.gperf: 4767 * html/HTMLFieldSetElement.cpp: 4768 * html/HTMLFieldSetElement.h: 4769 * html/HTMLFieldSetElement.idl: 4770 * html/HTMLFontElement.cpp: 4771 * html/HTMLFontElement.h: 4772 * html/HTMLFontElement.idl: 4773 * html/HTMLFormCollection.cpp: 4774 * html/HTMLFormCollection.h: 4775 * html/HTMLFormElement.cpp: 4776 * html/HTMLFormElement.h: 4777 * html/HTMLFormElement.idl: 4778 * html/HTMLFrameElement.cpp: 4779 * html/HTMLFrameElement.h: 4780 * html/HTMLFrameElement.idl: 4781 * html/HTMLFrameElementBase.cpp: 4782 * html/HTMLFrameElementBase.h: 4783 * html/HTMLFrameOwnerElement.cpp: 4784 * html/HTMLFrameOwnerElement.h: 4785 * html/HTMLFrameSetElement.cpp: 4786 * html/HTMLFrameSetElement.h: 4787 * html/HTMLFrameSetElement.idl: 4788 * html/HTMLGenericFormElement.cpp: 4789 * html/HTMLGenericFormElement.h: 4790 * html/HTMLHRElement.cpp: 4791 * html/HTMLHRElement.h: 4792 * html/HTMLHRElement.idl: 4793 * html/HTMLHeadElement.cpp: 4794 * html/HTMLHeadElement.h: 4795 * html/HTMLHeadElement.idl: 4796 * html/HTMLHeadingElement.cpp: 4797 * html/HTMLHeadingElement.h: 4798 * html/HTMLHeadingElement.idl: 4799 * html/HTMLHtmlElement.cpp: 4800 * html/HTMLHtmlElement.h: 4801 * html/HTMLHtmlElement.idl: 4802 * html/HTMLIFrameElement.cpp: 4803 * html/HTMLIFrameElement.h: 4804 * html/HTMLIFrameElement.idl: 4805 * html/HTMLImageElement.cpp: 4806 * html/HTMLImageElement.h: 4807 * html/HTMLImageElement.idl: 4808 * html/HTMLImageLoader.cpp: 4809 * html/HTMLImageLoader.h: 4810 * html/HTMLInputElement.cpp: 4811 * html/HTMLInputElement.h: 4812 * html/HTMLInputElement.idl: 4813 * html/HTMLIsIndexElement.cpp: 4814 * html/HTMLIsIndexElement.h: 4815 * html/HTMLIsIndexElement.idl: 4816 * html/HTMLKeygenElement.cpp: 4817 * html/HTMLKeygenElement.h: 4818 * html/HTMLLIElement.cpp: 4819 * html/HTMLLIElement.h: 4820 * html/HTMLLIElement.idl: 4821 * html/HTMLLabelElement.cpp: 4822 * html/HTMLLabelElement.h: 4823 * html/HTMLLabelElement.idl: 4824 * html/HTMLLegendElement.cpp: 4825 * html/HTMLLegendElement.h: 4826 * html/HTMLLegendElement.idl: 4827 * html/HTMLLinkElement.cpp: 4828 * html/HTMLLinkElement.h: 4829 * html/HTMLLinkElement.idl: 4830 * html/HTMLMapElement.cpp: 4831 * html/HTMLMapElement.h: 4832 * html/HTMLMapElement.idl: 4833 * html/HTMLMarqueeElement.cpp: 4834 * html/HTMLMarqueeElement.h: 4835 * html/HTMLMarqueeElement.idl: 4836 * html/HTMLMenuElement.cpp: 4837 * html/HTMLMenuElement.h: 4838 * html/HTMLMenuElement.idl: 4839 * html/HTMLMetaElement.cpp: 4840 * html/HTMLMetaElement.h: 4841 * html/HTMLMetaElement.idl: 4842 * html/HTMLModElement.cpp: 4843 * html/HTMLModElement.h: 4844 * html/HTMLModElement.idl: 4845 * html/HTMLNameCollection.cpp: 4846 * html/HTMLNameCollection.h: 4847 * html/HTMLOListElement.cpp: 4848 * html/HTMLOListElement.h: 4849 * html/HTMLOListElement.idl: 4850 * html/HTMLObjectElement.cpp: 4851 * html/HTMLObjectElement.h: 4852 * html/HTMLObjectElement.idl: 4853 * html/HTMLOptGroupElement.cpp: 4854 * html/HTMLOptGroupElement.h: 4855 * html/HTMLOptGroupElement.idl: 4856 * html/HTMLOptionElement.cpp: 4857 * html/HTMLOptionElement.h: 4858 * html/HTMLOptionElement.idl: 4859 * html/HTMLOptionsCollection.cpp: 4860 * html/HTMLOptionsCollection.h: 4861 * html/HTMLOptionsCollection.idl: 4862 * html/HTMLParagraphElement.cpp: 4863 * html/HTMLParagraphElement.h: 4864 * html/HTMLParagraphElement.idl: 4865 * html/HTMLParamElement.cpp: 4866 * html/HTMLParamElement.h: 4867 * html/HTMLParamElement.idl: 4868 * html/HTMLParser.cpp: 4869 * html/HTMLParser.h: 4870 * html/HTMLPlugInElement.cpp: 4871 * html/HTMLPlugInElement.h: 4872 * html/HTMLPreElement.cpp: 4873 * html/HTMLPreElement.h: 4874 * html/HTMLPreElement.idl: 4875 * html/HTMLQuoteElement.cpp: 4876 * html/HTMLQuoteElement.h: 4877 * html/HTMLQuoteElement.idl: 4878 * html/HTMLScriptElement.cpp: 4879 * html/HTMLScriptElement.h: 4880 * html/HTMLScriptElement.idl: 4881 * html/HTMLSelectElement.cpp: 4882 * html/HTMLSelectElement.h: 4883 * html/HTMLSelectElement.idl: 4884 * html/HTMLStyleElement.cpp: 4885 * html/HTMLStyleElement.h: 4886 * html/HTMLStyleElement.idl: 4887 * html/HTMLTableCaptionElement.cpp: 4888 * html/HTMLTableCaptionElement.h: 4889 * html/HTMLTableCaptionElement.idl: 4890 * html/HTMLTableCellElement.cpp: 4891 * html/HTMLTableCellElement.h: 4892 * html/HTMLTableCellElement.idl: 4893 * html/HTMLTableColElement.cpp: 4894 * html/HTMLTableColElement.h: 4895 * html/HTMLTableColElement.idl: 4896 * html/HTMLTableElement.cpp: 4897 * html/HTMLTableElement.h: 4898 * html/HTMLTableElement.idl: 4899 * html/HTMLTablePartElement.cpp: 4900 * html/HTMLTablePartElement.h: 4901 * html/HTMLTableRowElement.cpp: 4902 * html/HTMLTableRowElement.h: 4903 * html/HTMLTableRowElement.idl: 4904 * html/HTMLTableSectionElement.cpp: 4905 * html/HTMLTableSectionElement.h: 4906 * html/HTMLTableSectionElement.idl: 4907 * html/HTMLTextAreaElement.cpp: 4908 * html/HTMLTextAreaElement.h: 4909 * html/HTMLTextAreaElement.idl: 4910 * html/HTMLTitleElement.cpp: 4911 * html/HTMLTitleElement.h: 4912 * html/HTMLTitleElement.idl: 4913 * html/HTMLTokenizer.cpp: 4914 * html/HTMLTokenizer.h: 4915 * html/HTMLUListElement.cpp: 4916 * html/HTMLUListElement.h: 4917 * html/HTMLUListElement.idl: 4918 * ksvg2/css/SVGCSSParser.cpp: 4919 * ksvg2/css/SVGCSSStyleSelector.cpp: 4920 * ksvg2/css/SVGRenderStyle.cpp: 4921 * ksvg2/css/SVGRenderStyle.h: 4922 * ksvg2/css/SVGRenderStyleDefs.cpp: 4923 * ksvg2/css/SVGRenderStyleDefs.h: 4924 * ksvg2/events/JSSVGLazyEventListener.cpp: 4925 * ksvg2/events/JSSVGLazyEventListener.h: 4926 * ksvg2/events/SVGZoomEvent.cpp: 4927 * ksvg2/events/SVGZoomEvent.h: 4928 * ksvg2/misc/KCanvasRenderingStyle.cpp: 4929 * ksvg2/misc/KCanvasRenderingStyle.h: 4930 * ksvg2/misc/PointerEventsHitRules.cpp: 4931 * ksvg2/misc/PointerEventsHitRules.h: 4932 * ksvg2/misc/SVGDocumentExtensions.cpp: 4933 * ksvg2/misc/SVGDocumentExtensions.h: 4934 * ksvg2/misc/SVGImageLoader.cpp: 4935 * ksvg2/misc/SVGImageLoader.h: 4936 * ksvg2/misc/SVGTimer.cpp: 4937 * ksvg2/misc/SVGTimer.h: 4938 * ksvg2/misc/TimeScheduler.cpp: 4939 * ksvg2/misc/TimeScheduler.h: 4940 * ksvg2/scripts/cssmakeprops: 4941 * ksvg2/scripts/cssmakevalues: 4942 * ksvg2/svg/ColorDistance.cpp: 4943 * ksvg2/svg/ColorDistance.h: 4944 * ksvg2/svg/GradientAttributes.h: 4945 * ksvg2/svg/LinearGradientAttributes.h: 4946 * ksvg2/svg/PatternAttributes.h: 4947 * ksvg2/svg/RadialGradientAttributes.h: 4948 * ksvg2/svg/SVGAElement.cpp: 4949 * ksvg2/svg/SVGAElement.h: 4950 * ksvg2/svg/SVGAngle.cpp: 4951 * ksvg2/svg/SVGAngle.h: 4952 * ksvg2/svg/SVGAngle.idl: 4953 * ksvg2/svg/SVGAnimateColorElement.cpp: 4954 * ksvg2/svg/SVGAnimateColorElement.h: 4955 * ksvg2/svg/SVGAnimateElement.cpp: 4956 * ksvg2/svg/SVGAnimateElement.h: 4957 * ksvg2/svg/SVGAnimateMotionElement.cpp: 4958 * ksvg2/svg/SVGAnimateMotionElement.h: 4959 * ksvg2/svg/SVGAnimateTransformElement.cpp: 4960 * ksvg2/svg/SVGAnimateTransformElement.h: 4961 * ksvg2/svg/SVGAnimatedPathData.cpp: 4962 * ksvg2/svg/SVGAnimatedPathData.h: 4963 * ksvg2/svg/SVGAnimatedPoints.cpp: 4964 * ksvg2/svg/SVGAnimatedPoints.h: 4965 * ksvg2/svg/SVGAnimatedTemplate.h: 4966 * ksvg2/svg/SVGAnimationElement.cpp: 4967 * ksvg2/svg/SVGAnimationElement.h: 4968 * ksvg2/svg/SVGCircleElement.cpp: 4969 * ksvg2/svg/SVGCircleElement.h: 4970 * ksvg2/svg/SVGClipPathElement.cpp: 4971 * ksvg2/svg/SVGClipPathElement.h: 4972 * ksvg2/svg/SVGColor.cpp: 4973 * ksvg2/svg/SVGColor.h: 4974 * ksvg2/svg/SVGColor.idl: 4975 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: 4976 * ksvg2/svg/SVGComponentTransferFunctionElement.h: 4977 * ksvg2/svg/SVGCursorElement.cpp: 4978 * ksvg2/svg/SVGCursorElement.h: 4979 * ksvg2/svg/SVGDefsElement.cpp: 4980 * ksvg2/svg/SVGDefsElement.h: 4981 * ksvg2/svg/SVGDescElement.cpp: 4982 * ksvg2/svg/SVGDescElement.h: 4983 * ksvg2/svg/SVGDocument.cpp: 4984 * ksvg2/svg/SVGDocument.h: 4985 * ksvg2/svg/SVGDocument.idl: 4986 * ksvg2/svg/SVGElement.cpp: 4987 * ksvg2/svg/SVGElement.h: 4988 * ksvg2/svg/SVGElement.idl: 4989 * ksvg2/svg/SVGElementInstance.cpp: 4990 * ksvg2/svg/SVGElementInstance.h: 4991 * ksvg2/svg/SVGElementInstanceList.cpp: 4992 * ksvg2/svg/SVGElementInstanceList.h: 4993 * ksvg2/svg/SVGEllipseElement.cpp: 4994 * ksvg2/svg/SVGEllipseElement.h: 4995 * ksvg2/svg/SVGException.h: 4996 * ksvg2/svg/SVGExternalResourcesRequired.cpp: 4997 * ksvg2/svg/SVGExternalResourcesRequired.h: 4998 * ksvg2/svg/SVGFEBlendElement.cpp: 4999 * ksvg2/svg/SVGFEBlendElement.h: 5000 * ksvg2/svg/SVGFEColorMatrixElement.cpp: 5001 * ksvg2/svg/SVGFEColorMatrixElement.h: 5002 * ksvg2/svg/SVGFEComponentTransferElement.cpp: 5003 * ksvg2/svg/SVGFEComponentTransferElement.h: 5004 * ksvg2/svg/SVGFECompositeElement.cpp: 5005 * ksvg2/svg/SVGFECompositeElement.h: 5006 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: 5007 * ksvg2/svg/SVGFEDiffuseLightingElement.h: 5008 * ksvg2/svg/SVGFEDisplacementMapElement.cpp: 5009 * ksvg2/svg/SVGFEDisplacementMapElement.h: 5010 * ksvg2/svg/SVGFEDistantLightElement.cpp: 5011 * ksvg2/svg/SVGFEDistantLightElement.h: 5012 * ksvg2/svg/SVGFEFloodElement.cpp: 5013 * ksvg2/svg/SVGFEFloodElement.h: 5014 * ksvg2/svg/SVGFEFuncAElement.cpp: 5015 * ksvg2/svg/SVGFEFuncAElement.h: 5016 * ksvg2/svg/SVGFEFuncBElement.cpp: 5017 * ksvg2/svg/SVGFEFuncBElement.h: 5018 * ksvg2/svg/SVGFEFuncGElement.cpp: 5019 * ksvg2/svg/SVGFEFuncGElement.h: 5020 * ksvg2/svg/SVGFEFuncRElement.cpp: 5021 * ksvg2/svg/SVGFEFuncRElement.h: 5022 * ksvg2/svg/SVGFEGaussianBlurElement.cpp: 5023 * ksvg2/svg/SVGFEGaussianBlurElement.h: 5024 * ksvg2/svg/SVGFEImageElement.cpp: 5025 * ksvg2/svg/SVGFEImageElement.h: 5026 * ksvg2/svg/SVGFELightElement.cpp: 5027 * ksvg2/svg/SVGFELightElement.h: 5028 * ksvg2/svg/SVGFEMergeElement.cpp: 5029 * ksvg2/svg/SVGFEMergeElement.h: 5030 * ksvg2/svg/SVGFEMergeNodeElement.cpp: 5031 * ksvg2/svg/SVGFEMergeNodeElement.h: 5032 * ksvg2/svg/SVGFEOffsetElement.cpp: 5033 * ksvg2/svg/SVGFEOffsetElement.h: 5034 * ksvg2/svg/SVGFEPointLightElement.cpp: 5035 * ksvg2/svg/SVGFEPointLightElement.h: 5036 * ksvg2/svg/SVGFESpecularLightingElement.cpp: 5037 * ksvg2/svg/SVGFESpecularLightingElement.h: 5038 * ksvg2/svg/SVGFESpotLightElement.cpp: 5039 * ksvg2/svg/SVGFESpotLightElement.h: 5040 * ksvg2/svg/SVGFETileElement.cpp: 5041 * ksvg2/svg/SVGFETileElement.h: 5042 * ksvg2/svg/SVGFETurbulenceElement.cpp: 5043 * ksvg2/svg/SVGFETurbulenceElement.h: 5044 * ksvg2/svg/SVGFilterElement.cpp: 5045 * ksvg2/svg/SVGFilterElement.h: 5046 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: 5047 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: 5048 * ksvg2/svg/SVGFitToViewBox.cpp: 5049 * ksvg2/svg/SVGFitToViewBox.h: 5050 * ksvg2/svg/SVGForeignObjectElement.cpp: 5051 * ksvg2/svg/SVGForeignObjectElement.h: 5052 * ksvg2/svg/SVGGElement.cpp: 5053 * ksvg2/svg/SVGGElement.h: 5054 * ksvg2/svg/SVGGradientElement.cpp: 5055 * ksvg2/svg/SVGGradientElement.h: 5056 * ksvg2/svg/SVGImageElement.cpp: 5057 * ksvg2/svg/SVGImageElement.h: 5058 * ksvg2/svg/SVGLangSpace.cpp: 5059 * ksvg2/svg/SVGLangSpace.h: 5060 * ksvg2/svg/SVGLength.cpp: 5061 * ksvg2/svg/SVGLength.h: 5062 * ksvg2/svg/SVGLength.idl: 5063 * ksvg2/svg/SVGLengthList.cpp: 5064 * ksvg2/svg/SVGLengthList.h: 5065 * ksvg2/svg/SVGLineElement.cpp: 5066 * ksvg2/svg/SVGLineElement.h: 5067 * ksvg2/svg/SVGLinearGradientElement.cpp: 5068 * ksvg2/svg/SVGLinearGradientElement.h: 5069 * ksvg2/svg/SVGList.h: 5070 * ksvg2/svg/SVGListTraits.h: 5071 * ksvg2/svg/SVGLocatable.cpp: 5072 * ksvg2/svg/SVGLocatable.h: 5073 * ksvg2/svg/SVGMPathElement.cpp: 5074 * ksvg2/svg/SVGMPathElement.h: 5075 * ksvg2/svg/SVGMarkerElement.cpp: 5076 * ksvg2/svg/SVGMarkerElement.h: 5077 * ksvg2/svg/SVGMaskElement.cpp: 5078 * ksvg2/svg/SVGMaskElement.h: 5079 * ksvg2/svg/SVGMatrix.idl: 5080 * ksvg2/svg/SVGMetadataElement.cpp: 5081 * ksvg2/svg/SVGMetadataElement.h: 5082 * ksvg2/svg/SVGMetadataElement.idl: 5083 * ksvg2/svg/SVGNumber.idl: 5084 * ksvg2/svg/SVGNumberList.cpp: 5085 * ksvg2/svg/SVGNumberList.h: 5086 * ksvg2/svg/SVGPaint.cpp: 5087 * ksvg2/svg/SVGPaint.h: 5088 * ksvg2/svg/SVGParserUtilities.cpp: 5089 * ksvg2/svg/SVGParserUtilities.h: 5090 * ksvg2/svg/SVGPathElement.cpp: 5091 * ksvg2/svg/SVGPathElement.h: 5092 * ksvg2/svg/SVGPathSeg.h: 5093 * ksvg2/svg/SVGPathSegArc.cpp: 5094 * ksvg2/svg/SVGPathSegArc.h: 5095 * ksvg2/svg/SVGPathSegClosePath.cpp: 5096 * ksvg2/svg/SVGPathSegClosePath.h: 5097 * ksvg2/svg/SVGPathSegCurvetoCubic.cpp: 5098 * ksvg2/svg/SVGPathSegCurvetoCubic.h: 5099 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: 5100 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: 5101 * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: 5102 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: 5103 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: 5104 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: 5105 * ksvg2/svg/SVGPathSegLineto.cpp: 5106 * ksvg2/svg/SVGPathSegLineto.h: 5107 * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: 5108 * ksvg2/svg/SVGPathSegLinetoHorizontal.h: 5109 * ksvg2/svg/SVGPathSegLinetoVertical.cpp: 5110 * ksvg2/svg/SVGPathSegLinetoVertical.h: 5111 * ksvg2/svg/SVGPathSegList.cpp: 5112 * ksvg2/svg/SVGPathSegList.h: 5113 * ksvg2/svg/SVGPathSegMoveto.cpp: 5114 * ksvg2/svg/SVGPathSegMoveto.h: 5115 * ksvg2/svg/SVGPatternElement.cpp: 5116 * ksvg2/svg/SVGPatternElement.h: 5117 * ksvg2/svg/SVGPoint.idl: 5118 * ksvg2/svg/SVGPointList.cpp: 5119 * ksvg2/svg/SVGPointList.h: 5120 * ksvg2/svg/SVGPolyElement.cpp: 5121 * ksvg2/svg/SVGPolyElement.h: 5122 * ksvg2/svg/SVGPolygonElement.cpp: 5123 * ksvg2/svg/SVGPolygonElement.h: 5124 * ksvg2/svg/SVGPolylineElement.cpp: 5125 * ksvg2/svg/SVGPolylineElement.h: 5126 * ksvg2/svg/SVGPreserveAspectRatio.cpp: 5127 * ksvg2/svg/SVGPreserveAspectRatio.h: 5128 * ksvg2/svg/SVGRadialGradientElement.cpp: 5129 * ksvg2/svg/SVGRadialGradientElement.h: 5130 * ksvg2/svg/SVGRect.idl: 5131 * ksvg2/svg/SVGRectElement.cpp: 5132 * ksvg2/svg/SVGRectElement.h: 5133 * ksvg2/svg/SVGRenderingIntent.h: 5134 * ksvg2/svg/SVGSVGElement.cpp: 5135 * ksvg2/svg/SVGSVGElement.h: 5136 * ksvg2/svg/SVGSVGElement.idl: 5137 * ksvg2/svg/SVGScriptElement.cpp: 5138 * ksvg2/svg/SVGScriptElement.h: 5139 * ksvg2/svg/SVGSetElement.cpp: 5140 * ksvg2/svg/SVGSetElement.h: 5141 * ksvg2/svg/SVGStopElement.cpp: 5142 * ksvg2/svg/SVGStopElement.h: 5143 * ksvg2/svg/SVGStringList.cpp: 5144 * ksvg2/svg/SVGStringList.h: 5145 * ksvg2/svg/SVGStylable.cpp: 5146 * ksvg2/svg/SVGStylable.h: 5147 * ksvg2/svg/SVGStyleElement.cpp: 5148 * ksvg2/svg/SVGStyleElement.h: 5149 * ksvg2/svg/SVGStyledElement.cpp: 5150 * ksvg2/svg/SVGStyledElement.h: 5151 * ksvg2/svg/SVGStyledLocatableElement.cpp: 5152 * ksvg2/svg/SVGStyledLocatableElement.h: 5153 * ksvg2/svg/SVGStyledTransformableElement.cpp: 5154 * ksvg2/svg/SVGStyledTransformableElement.h: 5155 * ksvg2/svg/SVGSwitchElement.cpp: 5156 * ksvg2/svg/SVGSwitchElement.h: 5157 * ksvg2/svg/SVGSymbolElement.cpp: 5158 * ksvg2/svg/SVGSymbolElement.h: 5159 * ksvg2/svg/SVGTRefElement.cpp: 5160 * ksvg2/svg/SVGTRefElement.h: 5161 * ksvg2/svg/SVGTSpanElement.cpp: 5162 * ksvg2/svg/SVGTSpanElement.h: 5163 * ksvg2/svg/SVGTests.cpp: 5164 * ksvg2/svg/SVGTests.h: 5165 * ksvg2/svg/SVGTextContentElement.cpp: 5166 * ksvg2/svg/SVGTextContentElement.h: 5167 * ksvg2/svg/SVGTextElement.cpp: 5168 * ksvg2/svg/SVGTextElement.h: 5169 * ksvg2/svg/SVGTextPositioningElement.cpp: 5170 * ksvg2/svg/SVGTextPositioningElement.h: 5171 * ksvg2/svg/SVGTitleElement.cpp: 5172 * ksvg2/svg/SVGTitleElement.h: 5173 * ksvg2/svg/SVGTransform.cpp: 5174 * ksvg2/svg/SVGTransform.h: 5175 * ksvg2/svg/SVGTransform.idl: 5176 * ksvg2/svg/SVGTransformDistance.cpp: 5177 * ksvg2/svg/SVGTransformDistance.h: 5178 * ksvg2/svg/SVGTransformList.cpp: 5179 * ksvg2/svg/SVGTransformList.h: 5180 * ksvg2/svg/SVGTransformable.cpp: 5181 * ksvg2/svg/SVGTransformable.h: 5182 * ksvg2/svg/SVGURIReference.cpp: 5183 * ksvg2/svg/SVGURIReference.h: 5184 * ksvg2/svg/SVGUnitTypes.h: 5185 * ksvg2/svg/SVGUseElement.cpp: 5186 * ksvg2/svg/SVGUseElement.h: 5187 * ksvg2/svg/SVGViewElement.cpp: 5188 * ksvg2/svg/SVGViewElement.h: 5189 * ksvg2/svg/SVGZoomAndPan.cpp: 5190 * ksvg2/svg/SVGZoomAndPan.h: 5191 * loader/Cache.cpp: 5192 * loader/Cache.h: 5193 * loader/CachedCSSStyleSheet.cpp: 5194 * loader/CachedCSSStyleSheet.h: 5195 * loader/CachedImage.cpp: 5196 * loader/CachedImage.h: 5197 * loader/CachedResource.cpp: 5198 * loader/CachedResource.h: 5199 * loader/CachedResourceClient.h: 5200 * loader/CachedResourceClientWalker.cpp: 5201 * loader/CachedResourceClientWalker.h: 5202 * loader/CachedScript.cpp: 5203 * loader/CachedScript.h: 5204 * loader/CachedXBLDocument.cpp: 5205 * loader/CachedXBLDocument.h: 5206 * loader/CachedXSLStyleSheet.cpp: 5207 * loader/CachedXSLStyleSheet.h: 5208 * loader/DocLoader.cpp: 5209 * loader/DocLoader.h: 5210 * loader/FTPDirectoryParser.cpp: 5211 * loader/FTPDirectoryParser.h: 5212 * loader/Request.cpp: 5213 * loader/Request.h: 5214 * loader/TextResourceDecoder.cpp: 5215 * loader/TextResourceDecoder.h: 5216 * loader/loader.cpp: 5217 * loader/loader.h: 5218 * page/Chrome.cpp: 5219 * page/Chrome.h: 5220 * page/ChromeClient.h: 5221 * page/Frame.cpp: 5222 * page/Frame.h: 5223 * page/FramePrivate.h: 5224 * page/FrameTree.cpp: 5225 * page/FrameTree.h: 5226 * page/FrameView.cpp: 5227 * page/FrameView.h: 5228 * page/MouseEventWithHitTestResults.cpp: 5229 * page/MouseEventWithHitTestResults.h: 5230 * page/Page.cpp: 5231 * page/Page.h: 5232 * page/Plugin.h: 5233 * page/mac/ChromeMac.mm: 5234 * platform/Arena.cpp: 5235 * platform/Arena.h: 5236 * platform/AtomicString.cpp: 5237 * platform/AtomicString.h: 5238 * platform/AtomicStringImpl.h: 5239 * platform/BidiContext.cpp: 5240 * platform/BidiContext.h: 5241 * platform/BidiResolver.h: 5242 * platform/Font.cpp: 5243 * platform/Font.h: 5244 * platform/FontData.h: 5245 * platform/FontDescription.h: 5246 * platform/FontFallbackList.h: 5247 * platform/PlatformString.h: 5248 * platform/PopupMenu.h: 5249 * platform/PopupMenuClient.h: 5250 * platform/SearchPopupMenu.h: 5251 * platform/SegmentedString.cpp: 5252 * platform/SegmentedString.h: 5253 * platform/Shared.h: 5254 * platform/StaticConstructors.h: 5255 * platform/String.cpp: 5256 * platform/StringHash.h: 5257 * platform/StringImpl.cpp: 5258 * platform/StringImpl.h: 5259 * platform/TextBreakIterator.h: 5260 * platform/TextBreakIteratorICU.cpp: 5261 * platform/TextBreakIteratorInternalICU.h: 5262 * platform/TextStyle.h: 5263 * platform/UnicodeRange.cpp: 5264 * platform/UnicodeRange.h: 5265 * platform/cf/StringCF.cpp: 5266 * platform/cf/StringImplCF.cpp: 5267 * platform/graphics/FloatPoint3D.cpp: 5268 * platform/graphics/FloatPoint3D.h: 5269 * platform/graphics/Icon.h: 5270 * platform/graphics/IntSizeHash.h: 5271 * platform/graphics/PathTraversalState.cpp: 5272 * platform/graphics/cairo/CairoPath.h: 5273 * platform/graphics/cairo/PathCairo.cpp: 5274 * platform/graphics/mac/IconMac.mm: 5275 * platform/graphics/qt/IconQt.cpp: 5276 * platform/graphics/svg/SVGResourceFilter.cpp: 5277 * platform/graphics/svg/SVGResourceFilter.h: 5278 * platform/graphics/svg/cg/SVGPaintServerCg.cpp: 5279 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 5280 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: 5281 * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: 5282 * platform/graphics/svg/filters/SVGDistantLightSource.h: 5283 * platform/graphics/svg/filters/SVGFEBlend.cpp: 5284 * platform/graphics/svg/filters/SVGFEBlend.h: 5285 * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: 5286 * platform/graphics/svg/filters/SVGFEColorMatrix.h: 5287 * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: 5288 * platform/graphics/svg/filters/SVGFEComponentTransfer.h: 5289 * platform/graphics/svg/filters/SVGFEComposite.cpp: 5290 * platform/graphics/svg/filters/SVGFEComposite.h: 5291 * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: 5292 * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: 5293 * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: 5294 * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: 5295 * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: 5296 * platform/graphics/svg/filters/SVGFEDisplacementMap.h: 5297 * platform/graphics/svg/filters/SVGFEFlood.cpp: 5298 * platform/graphics/svg/filters/SVGFEFlood.h: 5299 * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: 5300 * platform/graphics/svg/filters/SVGFEGaussianBlur.h: 5301 * platform/graphics/svg/filters/SVGFEImage.cpp: 5302 * platform/graphics/svg/filters/SVGFEImage.h: 5303 * platform/graphics/svg/filters/SVGFEMerge.cpp: 5304 * platform/graphics/svg/filters/SVGFEMerge.h: 5305 * platform/graphics/svg/filters/SVGFEMorphology.cpp: 5306 * platform/graphics/svg/filters/SVGFEMorphology.h: 5307 * platform/graphics/svg/filters/SVGFEOffset.cpp: 5308 * platform/graphics/svg/filters/SVGFEOffset.h: 5309 * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: 5310 * platform/graphics/svg/filters/SVGFESpecularLighting.h: 5311 * platform/graphics/svg/filters/SVGFETile.h: 5312 * platform/graphics/svg/filters/SVGFETurbulence.cpp: 5313 * platform/graphics/svg/filters/SVGFETurbulence.h: 5314 * platform/graphics/svg/filters/SVGFilterEffect.cpp: 5315 * platform/graphics/svg/filters/SVGFilterEffect.h: 5316 * platform/graphics/svg/filters/SVGLightSource.cpp: 5317 * platform/graphics/svg/filters/SVGLightSource.h: 5318 * platform/graphics/svg/filters/SVGPointLightSource.h: 5319 * platform/graphics/svg/filters/SVGSpotLightSource.h: 5320 * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: 5321 * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: 5322 * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: 5323 * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: 5324 * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: 5325 * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: 5326 * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: 5327 * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: 5328 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: 5329 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: 5330 * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: 5331 * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: 5332 * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: 5333 * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: 5334 * platform/graphics/svg/filters/cg/SVGFETileCg.mm: 5335 * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: 5336 * platform/graphics/svg/qt/RenderPathQt.cpp: 5337 * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: 5338 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: 5339 * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: 5340 * platform/graphics/svg/qt/SVGPaintServerQt.cpp: 5341 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: 5342 * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: 5343 * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: 5344 * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: 5345 * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: 5346 * platform/graphics/win/IconWin.cpp: 5347 * platform/gtk/FontPlatformData.h: 5348 * platform/gtk/FontPlatformDataGtk.cpp: 5349 * platform/gtk/PopupMenuGtk.cpp: 5350 * platform/gtk/RenderThemeGtk.cpp: 5351 * platform/gtk/RenderThemeGtk.h: 5352 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 5353 * platform/image-decoders/png/PNGImageDecoder.cpp: 5354 * platform/mac/FontMac.mm: 5355 * platform/mac/FontPlatformData.h: 5356 * platform/mac/LocalCurrentGraphicsContext.h: 5357 * platform/mac/LocalCurrentGraphicsContext.mm: 5358 * platform/mac/PopupMenuMac.mm: 5359 * platform/mac/SearchPopupMenuMac.mm: 5360 * platform/mac/StringImplMac.mm: 5361 * platform/mac/StringMac.mm: 5362 * platform/mac/TextBreakIteratorInternalICUMac.mm: 5363 * platform/network/FormData.cpp: 5364 * platform/network/FormData.h: 5365 * platform/qt/FileChooserQt.cpp: 5366 * platform/qt/FontQt.cpp: 5367 * platform/qt/MenuEventProxy.h: 5368 * platform/qt/PlugInInfoStoreQt.cpp: 5369 * platform/qt/PopupMenuQt.cpp: 5370 * platform/qt/QWebPopup.cpp: 5371 * platform/qt/QWebPopup.h: 5372 * platform/qt/RenderThemeQt.cpp: 5373 * platform/qt/RenderThemeQt.h: 5374 * platform/qt/SearchPopupMenuQt.cpp: 5375 * platform/qt/TextBreakIteratorQt.cpp: 5376 * platform/qt/WheelEventQt.cpp: 5377 * platform/win/FontPlatformData.h: 5378 * platform/win/FontPlatformDataWin.cpp: 5379 * platform/win/PopupMenuWin.cpp: 5380 * platform/win/SearchPopupMenuWin.cpp: 5381 * platform/win/TextBreakIteratorInternalICUWin.cpp: 5382 * rendering/AutoTableLayout.cpp: 5383 * rendering/AutoTableLayout.h: 5384 * rendering/CounterNode.cpp: 5385 * rendering/CounterNode.h: 5386 * rendering/DataRef.h: 5387 * rendering/EllipsisBox.cpp: 5388 * rendering/EllipsisBox.h: 5389 * rendering/FixedTableLayout.cpp: 5390 * rendering/FixedTableLayout.h: 5391 * rendering/GapRects.h: 5392 * rendering/HitTestRequest.h: 5393 * rendering/HitTestResult.cpp: 5394 * rendering/HitTestResult.h: 5395 * rendering/InlineBox.cpp: 5396 * rendering/InlineBox.h: 5397 * rendering/InlineFlowBox.cpp: 5398 * rendering/InlineFlowBox.h: 5399 * rendering/InlineRunBox.h: 5400 * rendering/InlineTextBox.cpp: 5401 * rendering/InlineTextBox.h: 5402 * rendering/Length.h: 5403 * rendering/ListMarkerBox.cpp: 5404 * rendering/ListMarkerBox.h: 5405 * rendering/RenderApplet.cpp: 5406 * rendering/RenderApplet.h: 5407 * rendering/RenderArena.cpp: 5408 * rendering/RenderArena.h: 5409 * rendering/RenderBR.cpp: 5410 * rendering/RenderBR.h: 5411 * rendering/RenderBlock.cpp: 5412 * rendering/RenderBlock.h: 5413 * rendering/RenderBox.cpp: 5414 * rendering/RenderBox.h: 5415 * rendering/RenderButton.cpp: 5416 * rendering/RenderButton.h: 5417 * rendering/RenderContainer.cpp: 5418 * rendering/RenderContainer.h: 5419 * rendering/RenderCounter.cpp: 5420 * rendering/RenderCounter.h: 5421 * rendering/RenderFieldset.cpp: 5422 * rendering/RenderFieldset.h: 5423 * rendering/RenderFileUploadControl.cpp: 5424 * rendering/RenderFileUploadControl.h: 5425 * rendering/RenderFlexibleBox.cpp: 5426 * rendering/RenderFlexibleBox.h: 5427 * rendering/RenderFlow.cpp: 5428 * rendering/RenderFlow.h: 5429 * rendering/RenderForeignObject.cpp: 5430 * rendering/RenderForeignObject.h: 5431 * rendering/RenderFrame.cpp: 5432 * rendering/RenderFrame.h: 5433 * rendering/RenderFrameSet.cpp: 5434 * rendering/RenderFrameSet.h: 5435 * rendering/RenderImage.cpp: 5436 * rendering/RenderImage.h: 5437 * rendering/RenderInline.cpp: 5438 * rendering/RenderInline.h: 5439 * rendering/RenderLayer.cpp: 5440 * rendering/RenderLayer.h: 5441 * rendering/RenderLegend.cpp: 5442 * rendering/RenderLegend.h: 5443 * rendering/RenderListItem.cpp: 5444 * rendering/RenderListItem.h: 5445 * rendering/RenderListMarker.cpp: 5446 * rendering/RenderListMarker.h: 5447 * rendering/RenderMenuList.cpp: 5448 * rendering/RenderMenuList.h: 5449 * rendering/RenderObject.cpp: 5450 * rendering/RenderObject.h: 5451 * rendering/RenderPart.cpp: 5452 * rendering/RenderPart.h: 5453 * rendering/RenderPartObject.cpp: 5454 * rendering/RenderPartObject.h: 5455 * rendering/RenderPath.cpp: 5456 * rendering/RenderPath.h: 5457 * rendering/RenderReplaced.cpp: 5458 * rendering/RenderReplaced.h: 5459 * rendering/RenderSVGBlock.cpp: 5460 * rendering/RenderSVGBlock.h: 5461 * rendering/RenderSVGContainer.cpp: 5462 * rendering/RenderSVGContainer.h: 5463 * rendering/RenderSVGGradientStop.cpp: 5464 * rendering/RenderSVGGradientStop.h: 5465 * rendering/RenderSVGHiddenContainer.cpp: 5466 * rendering/RenderSVGHiddenContainer.h: 5467 * rendering/RenderSVGImage.cpp: 5468 * rendering/RenderSVGImage.h: 5469 * rendering/RenderSVGInline.cpp: 5470 * rendering/RenderSVGInline.h: 5471 * rendering/RenderSVGInlineText.cpp: 5472 * rendering/RenderSVGInlineText.h: 5473 * rendering/RenderSVGTSpan.cpp: 5474 * rendering/RenderSVGTSpan.h: 5475 * rendering/RenderSVGText.cpp: 5476 * rendering/RenderSVGText.h: 5477 * rendering/RenderSlider.cpp: 5478 * rendering/RenderSlider.h: 5479 * rendering/RenderStyle.cpp: 5480 * rendering/RenderStyle.h: 5481 * rendering/RenderTable.cpp: 5482 * rendering/RenderTable.h: 5483 * rendering/RenderTableCell.cpp: 5484 * rendering/RenderTableCell.h: 5485 * rendering/RenderTableCol.cpp: 5486 * rendering/RenderTableCol.h: 5487 * rendering/RenderTableRow.cpp: 5488 * rendering/RenderTableRow.h: 5489 * rendering/RenderTableSection.cpp: 5490 * rendering/RenderTableSection.h: 5491 * rendering/RenderText.cpp: 5492 * rendering/RenderText.h: 5493 * rendering/RenderTextControl.cpp: 5494 * rendering/RenderTextControl.h: 5495 * rendering/RenderTextFragment.cpp: 5496 * rendering/RenderTextFragment.h: 5497 * rendering/RenderTheme.cpp: 5498 * rendering/RenderTheme.h: 5499 * rendering/RenderThemeMac.h: 5500 * rendering/RenderThemeMac.mm: 5501 * rendering/RenderThemeSafari.cpp: 5502 * rendering/RenderThemeSafari.h: 5503 * rendering/RenderThemeWin.cpp: 5504 * rendering/RenderThemeWin.h: 5505 * rendering/RenderView.cpp: 5506 * rendering/RenderView.h: 5507 * rendering/RenderWidget.cpp: 5508 * rendering/RenderWidget.h: 5509 * rendering/RootInlineBox.cpp: 5510 * rendering/RootInlineBox.h: 5511 * rendering/SVGInlineFlowBox.cpp: 5512 * rendering/SVGInlineFlowBox.h: 5513 * rendering/SVGInlineTextBox.cpp: 5514 * rendering/SVGInlineTextBox.h: 5515 * rendering/SVGRootInlineBox.cpp: 5516 * rendering/SVGRootInlineBox.h: 5517 * rendering/TableLayout.h: 5518 * rendering/bidi.cpp: 5519 * rendering/bidi.h: 5520 * rendering/break_lines.cpp: 5521 * rendering/break_lines.h: 5522 * xml/DOMParser.cpp: 5523 * xml/DOMParser.h: 5524 * xml/DOMParser.idl: 5525 * xml/XMLHttpRequest.cpp: 5526 * xml/XMLHttpRequest.h: 5527 * xml/XMLSerializer.cpp: 5528 * xml/XMLSerializer.h: 5529 * xml/XMLSerializer.idl: 5530 * xml/XPathEvaluator.idl: 5531 * xml/XPathExpression.idl: 5532 * xml/XPathNSResolver.idl: 5533 * xml/XPathResult.idl: 5534 * xml/XSLImportRule.cpp: 5535 * xml/XSLImportRule.h: 5536 * xml/XSLStyleSheet.cpp: 5537 * xml/XSLStyleSheet.h: 5538 * xml/XSLTProcessor.cpp: 5539 * xml/XSLTProcessor.h: 5540 5541 2007-09-25 Darin Adler <darin (a] apple.com> 5542 5543 Reviewed by Harrison. 5544 5545 - fix <rdar://problem/5503225> CrashTracer: [USER] 2 crashes in Dashcode 5546 at com.apple.WebCore: WebCore::Frame::document const + 0 5547 5548 * page/FrameView.cpp: (WebCore::FrameView::updateControlTints): 5549 Added null check. 5550 5551 2007-09-25 Beth Dakin <bdakin (a] apple.com> 5552 5553 Reviewed by Darin. 5554 5555 Fixes http://bugs.webkit.org/show_bug.cgi?id=15282 r25726 caused 5556 plugins/mouse-events.html to fail 5557 5558 * page/FrameView.cpp: 5559 (WebCore::FrameView::layout): We need to call 5560 updateWidgetPosition() after updating each widget. 5561 5562 2007-09-25 Anders Carlsson <andersca (a] apple.com> 5563 5564 Build fix. 5565 5566 * page/Chrome.cpp: 5567 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 5568 5569 2007-09-25 Anders Carlsson <andersca (a] apple.com> 5570 5571 Reviewed by Geoff. 5572 5573 <rdar://problem/5283916> 5574 JavaScript timers may be firing while JavaScript alerts are displayed. 5575 5576 Pause JavaScript timeouts while calling UI delegate methods that might show dialogs. 5577 5578 * page/Chrome.cpp: 5579 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 5580 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 5581 5582 2007-09-26 Holger Hans Peter Freyther <zecke (a] selfish.org> 5583 5584 Reviewed by Anders. 5585 5586 Implement PopupMenu using GtkMenu. 5587 5588 * platform/PopupMenu.h: 5589 * platform/gtk/PopupMenuGtk.cpp: 5590 (WebCore::PopupMenu::PopupMenu): 5591 (WebCore::PopupMenu::~PopupMenu): 5592 (WebCore::PopupMenu::show): 5593 (WebCore::PopupMenu::hide): 5594 (WebCore::PopupMenu::updateFromElement): 5595 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 5596 (WebCore::PopupMenu::menuItemActivated): 5597 (WebCore::PopupMenu::menuUnmapped): 5598 (WebCore::PopupMenu::menuPositionFunction): 5599 (WebCore::PopupMenu::menuRemoveItem): 5600 5601 2007-09-23 Holger Hans Peter Freyther <zecke (a] selfish.org> 5602 5603 Rubber stamped by Mark. 5604 5605 Obey the Coding-Style and move the asterisk to the 5606 left to be part of the type. 5607 5608 * platform/gtk/RenderThemeGtk.h: 5609 5610 2007-09-25 Beth Dakin <bdakin (a] apple.com> 5611 5612 Reviewed by Darin. 5613 5614 Fix for <rdar://problem/5466459> CrashTracer: [USER] 1 crash in 5615 NetNewsWire at com.apple.WebCore: WebCore::bidiNext + 485 (15241) 5616 5617 Mitz discovered that this crash appeared because r25128 made it 5618 possible for RenderPartObject::updateWidget() to be called during 5619 layout. updateWidget() can, through a series of calls, cause an 5620 attach/detach to happen, which is very bad in the middle of a 5621 layout and is what led to this crash. This patch fixes that by 5622 having the FrameView keep track of a queue of RenderPartObjects 5623 that need to call updateWidget(), and it goes through the queue 5624 calling updateWidget() as soon as layout is done. 5625 5626 * page/FrameView.cpp: We only want to call updateWidget() if we are 5627 not in a nested layout. Unfortunately, the existing variables on 5628 FrameViewPrivate do not have exactly the information that we need, 5629 so I added nestedLayoutCount. 5630 (WebCore::FrameViewPrivate::reset): Reset nestedLayoutCount. 5631 (WebCore::FrameView::layout): Increment nestedLayoutCount once we 5632 have gotten through all of the early returns. Call updateWidget() 5633 after layout is nestedLayoutCount is 1 and there are widgets to 5634 update. Decrement nestedLayoutCount at the end. 5635 (WebCore::FrameView::addWidgetToUpdate): 5636 (WebCore::FrameView::removeWidgetToUpdate): 5637 * page/FrameView.h: 5638 * rendering/RenderPartObject.cpp: 5639 (WebCore::RenderPartObject::~RenderPartObject): Remove this from 5640 the FrameView's update set. 5641 (WebCore::RenderPartObject::layout): Instead of calling 5642 updateWidget() immediately, add this to the update widget set on 5643 FrameView. 5644 * rendering/RenderPartObject.h: 5645 5646 2007-09-25 David Kilzer <ddkilzer (a] webkit.org> 5647 5648 Reviewed by Mark Rowe. 5649 5650 - fix http://bugs.webkit.org/show_bug.cgi?id=15275 5651 SVG dependency on WebCore/dom/XMLTokenizer.cpp 5652 5653 * dom/XMLTokenizer.cpp: Moved #include "SVGStyleElement.h" into #if ENABLE(SVG). 5654 5655 2007-09-25 Justin Garcia <justin.garcia (a] apple.com> 5656 5657 Reviewed by Darin. 5658 5659 <rdar://problem/5483567> 5660 REGRESSION (Tiger only, workaround in AppKit on Leopard): Pasting words copied from TextEdit in Mail adds extra newline 5661 5662 * editing/ReplaceSelectionCommand.cpp: 5663 (WebCore::ReplaceSelectionCommand::removeUnrenderedNodes): Added. 5664 (WebCore::ReplaceSelectionCommand::doApply): Call removeUnrenderedNodes 5665 to prevent unrendered spaces from interfering with paragraph merging. 5666 * editing/ReplaceSelectionCommand.h: 5667 5668 2007-09-24 Steve Falkenburg <sfalken (a] apple.com> 5669 5670 Reviewed by Darin. 5671 5672 - fix <rdar://problem/5502513> 5673 5674 * platform/win/FontCacheWin.cpp: 5675 (WebCore::FontCache::getFontLinkInterface): 5676 Roll back this file; the old code leaked a global COM object, but that's 5677 no big deal and the new code caused a crash on quit. 5678 5679 2007-09-24 Anders Carlsson <andersca (a] apple.com> 5680 5681 Reviewed by Adam. 5682 5683 <rdar://problem/5494608> 5684 Seed: Safari will follow links in Flash movies without clicking. 5685 5686 Make sure to handle mouseover and mouseout so the plug-in can track when the mouse is over it. 5687 5688 * plugins/win/PluginViewWin.cpp: 5689 (WebCore::PluginViewWin::handleMouseEvent): 5690 5691 2007-09-24 Mike Fenton <mike (a] staikos.net> 5692 5693 Reviewed by George Staikos. 5694 5695 Switch to using a QImage instead of a QPixmap to make transparency work. 5696 5697 * html/CanvasRenderingContext2D.cpp: 5698 (WebCore::CanvasRenderingContext2D::drawImage): 5699 * html/HTMLCanvasElement.cpp: 5700 (WebCore::HTMLCanvasElement::paint): 5701 (WebCore::HTMLCanvasElement::createDrawingContext): 5702 (WebCore::HTMLCanvasElement::createPlatformImage): 5703 * html/HTMLCanvasElement.h: 5704 5705 2007-09-21 Kevin McCullough <kmccullough (a] apple.com> 5706 5707 Reviewed by Sam. 5708 5709 - Updated project files to not use Edit and Continue for Debug Information since it doesn't work and breaks some functionality. 5710 5711 * WebCore.vcproj/WebCore.vcproj: 5712 5713 2007-09-24 Brady Eidson <beidson (a] apple.com> 5714 5715 Reviewed by John Sullivan 5716 5717 * loader/icon/IconDatabase.cpp: 5718 (WebCore::IconDatabase::iconForPageURL): Assert the page url is non-null 5719 5720 2007-09-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 5721 5722 Rubber stamped by Adam. 5723 5724 Renamed files from *Gdk to *Gtk (see #14732) using the 5725 work of Juan A. Suarez Romero as a base. 5726 5727 GDK -> GTK 5728 5729 * Projects/gdk/webcore-gdk.bkl: 5730 * WebCore.pro: 5731 * WebCoreSources.bkl: 5732 * loader/gdk: Removed. 5733 * loader/gdk/DocumentLoaderGdk.cpp: Removed. 5734 * loader/gtk: Added. 5735 * loader/gtk/DocumentLoaderGdk.cpp: Removed. 5736 * loader/gtk/DocumentLoaderGtk.cpp: Added. 5737 * page/FrameView.cpp: 5738 * page/FrameView.h: 5739 * page/gdk: Removed. 5740 * page/gdk/DragControllerGdk.cpp: Removed. 5741 * page/gdk/EventHandlerGdk.cpp: Removed. 5742 * page/gdk/FrameGdk.cpp: Removed. 5743 * page/gtk: Added. 5744 * page/gtk/DragControllerGdk.cpp: Removed. 5745 * page/gtk/DragControllerGtk.cpp: Added. 5746 * page/gtk/EventHandlerGdk.cpp: Removed. 5747 * page/gtk/EventHandlerGtk.cpp: Added. 5748 (WebCore::EventHandler::createDraggingClipboard): 5749 * page/gtk/FrameGdk.cpp: Removed. 5750 * page/gtk/FrameGtk.cpp: Added. 5751 * platform/ContextMenuItem.h: 5752 * platform/Cursor.h: 5753 * platform/DragData.h: 5754 * platform/DragImage.h: 5755 * platform/FontData.h: 5756 * platform/NotImplemented.h: 5757 * platform/PlatformKeyboardEvent.h: 5758 * platform/PlatformMenuDescription.h: 5759 * platform/PlatformMouseEvent.h: 5760 * platform/PlatformWheelEvent.h: 5761 * platform/ScrollView.h: 5762 * platform/Widget.h: 5763 * platform/gdk: Removed. 5764 * platform/gdk/ClipboardGdk.cpp: Removed. 5765 * platform/gdk/ClipboardGdk.h: Removed. 5766 * platform/gdk/ContextMenuGdk.cpp: Removed. 5767 * platform/gdk/ContextMenuItemGdk.cpp: Removed. 5768 * platform/gdk/CookieJarGdk.cpp: Removed. 5769 * platform/gdk/CursorGdk.cpp: Removed. 5770 * platform/gdk/DragDataGdk.cpp: Removed. 5771 * platform/gdk/DragImageGdk.cpp: Removed. 5772 * platform/gdk/FileChooserGdk.cpp: Removed. 5773 * platform/gdk/FileSystemGdk.cpp: Removed. 5774 * platform/gdk/FontCacheGdk.cpp: Removed. 5775 * platform/gdk/FontDataGdk.cpp: Removed. 5776 * platform/gdk/FontGdk.cpp: Removed. 5777 * platform/gdk/FontPlatformData.h: Removed. 5778 * platform/gdk/FontPlatformDataGdk.cpp: Removed. 5779 * platform/gdk/GlyphPageTreeNodeGdk.cpp: Removed. 5780 * platform/gdk/KeyEventGdk.cpp: Removed. 5781 * platform/gdk/KeyboardCodes.h: Removed. 5782 * platform/gdk/LocalizedStringsGdk.cpp: Removed. 5783 * platform/gdk/LoggingGdk.cpp: Removed. 5784 * platform/gdk/MIMETypeRegistryGdk.cpp: Removed. 5785 * platform/gdk/MouseEventGdk.cpp: Removed. 5786 * platform/gdk/PasteboardGdk.cpp: Removed. 5787 * platform/gdk/PlatformScreenGdk.cpp: Removed. 5788 * platform/gdk/PlatformScrollBar.h: Removed. 5789 * platform/gdk/PlatformScrollBarGdk.cpp: Removed. 5790 * platform/gdk/PopupMenuGdk.cpp: Removed. 5791 * platform/gdk/RenderThemeGdk.cpp: Removed. 5792 * platform/gdk/RenderThemeGdk.h: Removed. 5793 * platform/gdk/ScrollViewGdk.cpp: Removed. 5794 * platform/gdk/SearchPopupMenuGdk.cpp: Removed. 5795 * platform/gdk/SharedTimerLinux.cpp: Removed. 5796 * platform/gdk/SoundGdk.cpp: Removed. 5797 * platform/gdk/SystemTimeLinux.cpp: Removed. 5798 * platform/gdk/TemporaryLinkStubs.cpp: Removed. 5799 * platform/gdk/WheelEventGdk.cpp: Removed. 5800 * platform/gdk/WidgetGdk.cpp: Removed. 5801 * platform/graphics/GraphicsContext.h: 5802 * platform/graphics/cairo/GraphicsContextCairo.cpp: 5803 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 5804 (WebCore::GraphicsContext::setPlatformFont): 5805 * platform/graphics/gdk: Removed. 5806 * platform/graphics/gdk/IconGdk.cpp: Removed. 5807 * platform/graphics/gdk/ImageGdk.cpp: Removed. 5808 * platform/graphics/gtk: Added. 5809 * platform/graphics/gtk/IconGdk.cpp: Removed. 5810 * platform/graphics/gtk/IconGtk.cpp: Added. 5811 * platform/graphics/gtk/ImageGdk.cpp: Removed. 5812 * platform/graphics/gtk/ImageGtk.cpp: Added. 5813 * platform/gtk: Added. 5814 * platform/gtk/ClipboardGdk.cpp: Removed. 5815 * platform/gtk/ClipboardGdk.h: Removed. 5816 * platform/gtk/ClipboardGtk.cpp: Added. 5817 (WebCore::ClipboardGtk::ClipboardGtk): 5818 (WebCore::ClipboardGtk::~ClipboardGtk): 5819 (WebCore::ClipboardGtk::clearData): 5820 (WebCore::ClipboardGtk::clearAllData): 5821 (WebCore::ClipboardGtk::getData): 5822 (WebCore::ClipboardGtk::setData): 5823 (WebCore::ClipboardGtk::types): 5824 (WebCore::ClipboardGtk::dragLocation): 5825 (WebCore::ClipboardGtk::dragImage): 5826 (WebCore::ClipboardGtk::setDragImage): 5827 (WebCore::ClipboardGtk::dragImageElement): 5828 (WebCore::ClipboardGtk::setDragImageElement): 5829 (WebCore::ClipboardGtk::createDragImage): 5830 (WebCore::ClipboardGtk::declareAndWriteDragImage): 5831 (WebCore::ClipboardGtk::writeURL): 5832 (WebCore::ClipboardGtk::writeRange): 5833 (WebCore::ClipboardGtk::hasData): 5834 * platform/gtk/ClipboardGtk.h: Added. 5835 * platform/gtk/ContextMenuGdk.cpp: Removed. 5836 * platform/gtk/ContextMenuGtk.cpp: Added. 5837 * platform/gtk/ContextMenuItemGdk.cpp: Removed. 5838 * platform/gtk/ContextMenuItemGtk.cpp: Added. 5839 * platform/gtk/CookieJarGdk.cpp: Removed. 5840 * platform/gtk/CookieJarGtk.cpp: Added. 5841 * platform/gtk/CursorGdk.cpp: Removed. 5842 * platform/gtk/CursorGtk.cpp: Added. 5843 * platform/gtk/DragDataGdk.cpp: Removed. 5844 * platform/gtk/DragDataGtk.cpp: Added. 5845 * platform/gtk/DragImageGdk.cpp: Removed. 5846 * platform/gtk/DragImageGtk.cpp: Added. 5847 * platform/gtk/FileChooserGdk.cpp: Removed. 5848 * platform/gtk/FileChooserGtk.cpp: Added. 5849 * platform/gtk/FileSystemGdk.cpp: Removed. 5850 * platform/gtk/FileSystemGtk.cpp: Added. 5851 * platform/gtk/FontCacheGdk.cpp: Removed. 5852 * platform/gtk/FontCacheGtk.cpp: Added. 5853 * platform/gtk/FontDataGdk.cpp: Removed. 5854 * platform/gtk/FontDataGtk.cpp: Added. 5855 * platform/gtk/FontGdk.cpp: Removed. 5856 * platform/gtk/FontGtk.cpp: Added. 5857 * platform/gtk/FontPlatformDataGdk.cpp: Removed. 5858 * platform/gtk/FontPlatformDataGtk.cpp: Added. 5859 * platform/gtk/GlyphPageTreeNodeGdk.cpp: Removed. 5860 * platform/gtk/GlyphPageTreeNodeGtk.cpp: Added. 5861 * platform/gtk/KeyEventGdk.cpp: Removed. 5862 * platform/gtk/KeyEventGtk.cpp: Added. 5863 * platform/gtk/LocalizedStringsGdk.cpp: Removed. 5864 * platform/gtk/LocalizedStringsGtk.cpp: Added. 5865 * platform/gtk/LoggingGdk.cpp: Removed. 5866 * platform/gtk/LoggingGtk.cpp: Added. 5867 * platform/gtk/MIMETypeRegistryGdk.cpp: Removed. 5868 * platform/gtk/MIMETypeRegistryGtk.cpp: Added. 5869 * platform/gtk/MouseEventGdk.cpp: Removed. 5870 * platform/gtk/MouseEventGtk.cpp: Added. 5871 * platform/gtk/PasteboardGdk.cpp: Removed. 5872 * platform/gtk/PasteboardGtk.cpp: Added. 5873 * platform/gtk/PlatformScreenGdk.cpp: Removed. 5874 * platform/gtk/PlatformScreenGtk.cpp: Added. 5875 * platform/gtk/PlatformScrollBarGdk.cpp: Removed. 5876 * platform/gtk/PlatformScrollBarGtk.cpp: Added. 5877 * platform/gtk/PopupMenuGdk.cpp: Removed. 5878 * platform/gtk/PopupMenuGtk.cpp: Added. 5879 * platform/gtk/RenderThemeGdk.cpp: Removed. 5880 * platform/gtk/RenderThemeGdk.h: Removed. 5881 * platform/gtk/RenderThemeGtk.cpp: Added. 5882 (WebCore::theme): 5883 (WebCore::RenderThemeGtk::RenderThemeGtk): 5884 (WebCore::RenderThemeGtk::close): 5885 (WebCore::RenderThemeGtk::addIntrinsicMargins): 5886 (WebCore::RenderThemeGtk::supportsFocus): 5887 (WebCore::RenderThemeGtk::determineState): 5888 (WebCore::RenderThemeGtk::determineShadow): 5889 (WebCore::RenderThemeGtk::getThemeData): 5890 (WebCore::RenderThemeGtk::setCheckboxSize): 5891 (WebCore::RenderThemeGtk::paintCheckbox): 5892 (WebCore::RenderThemeGtk::setRadioSize): 5893 (WebCore::RenderThemeGtk::paintRadio): 5894 (WebCore::RenderThemeGtk::paintButton): 5895 (WebCore::RenderThemeGtk::adjustTextFieldStyle): 5896 (WebCore::RenderThemeGtk::paintTextField): 5897 (WebCore::RenderThemeGtk::paintTextArea): 5898 (WebCore::RenderThemeGtk::adjustButtonStyle): 5899 (WebCore::RenderThemeGtk::systemFont): 5900 (WebCore::RenderThemeGtk::gtkButton): 5901 (WebCore::RenderThemeGtk::gtkCheckbox): 5902 (WebCore::RenderThemeGtk::gtkRadioButton): 5903 (WebCore::RenderThemeGtk::gtkWindowContainer): 5904 * platform/gtk/RenderThemeGtk.h: Added. 5905 * platform/gtk/ScrollViewGdk.cpp: Removed. 5906 * platform/gtk/ScrollViewGtk.cpp: Added. 5907 * platform/gtk/SearchPopupMenuGdk.cpp: Removed. 5908 * platform/gtk/SearchPopupMenuGtk.cpp: Added. 5909 * platform/gtk/SoundGdk.cpp: Removed. 5910 * platform/gtk/SoundGtk.cpp: Added. 5911 * platform/gtk/WheelEventGdk.cpp: Removed. 5912 * platform/gtk/WheelEventGtk.cpp: Added. 5913 * platform/gtk/WidgetGdk.cpp: Removed. 5914 * platform/gtk/WidgetGtk.cpp: Added. 5915 * platform/network/ResourceHandle.h: 5916 5917 2007-09-23 Rob Buis <buis (a] kde.org> 5918 5919 Reviewed by Hyatt. 5920 5921 http://bugs.webkit.org/show_bug.cgi?id=15025 5922 Background repeat css property is not inherited from parent if unspecified 5923 5924 Don't let invalid url specification in background shorthand make 5925 the entire shorthand invalid. 5926 5927 * css/CSSParser.cpp: 5928 (WebCore::CSSParser::parseBackgroundImage): 5929 (WebCore::CSSParser::parseBackgroundProperty): 5930 * css/CSSParser.h: 5931 5932 2007-09-22 Adam Roben <aroben (a] apple.com> 5933 5934 Fix Bug 15251: REGRESSION: <input type=range> doesn't respond to form.reset() or setting input.value 5935 5936 http://bugs.webkit.org/show_bug.cgi?id=15251 5937 <rdar://5498169> 5938 5939 Reviewed by Maciej. 5940 5941 Test: fast/forms/range-reset.html 5942 5943 * html/HTMLInputElement.cpp: 5944 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): <input 5945 type=range> should be storing its value separately from the value 5946 attribute, as do all of our variable-input input types. 5947 5948 2007-09-21 Mark Rowe <mrowe (a] apple.com> 5949 5950 Build fix for non-Mac platforms after r25697. 5951 5952 Rename Frame::cleanupPlatformScriptObjects to Frame::clearPlatformScriptObjects. 5953 5954 * bridge/win/FrameWin.cpp: 5955 * page/gdk/FrameGdk.cpp: 5956 * page/qt/FrameQt.cpp: 5957 * platform/wx/TemporaryLinkStubs.cpp: 5958 5959 2007-09-21 Adele Peterson <adele (a] apple.com> 5960 5961 Reviewed by Sam. 5962 5963 Fix for <rdar://problem/5497357> REGRESSION: Safari doesn't show the month days on AirFrance reservation page 5964 5965 Test: fast/dom/HTMLSelectElement/options-collection-set-string-length.html 5966 5967 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::setLength): 5968 Convert the value to a number. We already have code here to check if the value is not a number. 5969 This matches other browsers, which allow a string value to be used to set the length. 5970 5971 2007-09-21 Timothy Hatcher <timothy (a] apple.com> 5972 5973 Reviewed by Darin. 5974 5975 <rdar://problem/5491013> REGRESSION: -[WebView windowScriptObject] returns a dummy object or nil if a page hasn't loaded 5976 5977 Calling -[WebView windowScriptObject] before the page loads would give you nil. This behavior didn't match Tiger. 5978 The API behavior in Tiger let you get the window script object once and keep ahold of it as long as you needed it. 5979 The window object would remain valid even after page loads. This change restores the Tiger behavior. 5980 5981 <rdar://problem/5495790> NULL dereference crash beneath Bindings::RootObject::interpreter when saving Dashcode document 5982 5983 The changes to WebScriptObject's _isSafeScript call also fixed the crash in Dashcode. 5984 5985 * bindings/objc/WebScriptObject.mm: 5986 (-[WebScriptObject _setOriginRootObject:andRootObject:]): New method used to update the the root objects, 5987 so the WebScriptObject can still be used after a page load. 5988 (-[WebScriptObject _isSafeScript]): Call [self _rootObject] instead of accessing the data member directly. 5989 DOMNode has an override for the _rootObject method, and it can return 0 when _private->_rootObject 5990 is non-zero. We would return YES here when it wasn't safe and later crash with my modified layout tests. 5991 Checking _rootObject first prevents other calls sites from needing to check for a valid root object, 5992 this fixed the Dashcode crash. 5993 (-[WebScriptObject _imp]): Ditto. 5994 5995 * bindings/objc/WebScriptObjectPrivate.h: Add _setOriginRootObject:andRootObject:. 5996 5997 * loader/FrameLoader.cpp: 5998 (WebCore::FrameLoader::clear): Call the renamed clearScriptObjects function. 5999 (WebCore::FrameLoader::dispatchWindowObjectAvailable): Some gratuitous code cleanup. 6000 6001 * page/Frame.cpp: 6002 (WebCore::Frame::clearScriptObjects): Renamed cleanupScriptObject to clearScriptObjects. 6003 Call clearPlatformScriptObjects last so m_bindingRootObject is already NULL. 6004 (WebCore::Frame::windowScriptNPObject): Hold a JSLock before accessing the window. This 6005 change is unrelated to the bug, but should be fixed. 6006 6007 * page/mac/FrameMac.mm: 6008 (WebCore::Frame::windowScriptObject): Return a script object even if the interpreter is NULL. 6009 This resotres the Tiger behavior of always being able to access the window object. 6010 (WebCore::Frame::clearPlatformScriptObjects): Keep the window script object around, and update 6011 the root objects for the window script object. 6012 6013 * page/Frame.h: Rename cleanupScriptObject to clearScriptObjects. 6014 * page/FramePrivate.h: Use a RetainPtr for m_windowScriptObject. 6015 6016 2007-09-21 Mike Fenton <mike (a] staikos.net> 6017 6018 Reviewed by George Staikos. 6019 6020 Fix styled pen support by not clobbering QPen properties. 6021 6022 * html/CanvasStyle.cpp: 6023 (WebCore::CanvasStyle::applyStrokeColor): 6024 (WebCore::CanvasStyle::applyFillColor): 6025 6026 2007-09-21 Oliver Hunt <oliver (a] apple.com> 6027 6028 Reviewed by Tristan and Darin 6029 6030 http://bugs.webkit.org/show_bug.cgi?id=15239 6031 <rdar://problem/5491955> REGRESSION (r25547): With Hanin IME, one cannot input characters into forms (15239) 6032 6033 This problem was caused by the setComposition method failing to clear 6034 the composition markers in the presence of an empty string. This would 6035 result in the caret being locked within the 0 length bounds of the "composition" 6036 and so preventing basic keyboard interaction. 6037 6038 * editing/Editor.cpp: 6039 (WebCore::Editor::setComposition): 6040 6041 2007-09-21 Adele Peterson <adele (a] apple.com> 6042 6043 Reviewed by Tristan. 6044 6045 Fix for <rdar://problem/5497346> "Check spelling when I click Send" crashes on stationery messages every time 6046 6047 No test. I wasn't able to find a way to get this to occur with Safari or DumpRenderTree. 6048 6049 * editing/Editor.cpp: (WebCore::Editor::advanceToNextMisspelling): Updated comment. 6050 * editing/htmlediting.cpp: 6051 (WebCore::firstEditablePositionAfterPositionInRoot): Only return the root position if its editable. 6052 (WebCore::maxDeepOffset): Added nil check & assert. 6053 6054 2007-09-21 Anders Carlsson <andersca (a] apple.com> 6055 6056 Reviewed by Steve. 6057 6058 <rdar://problem/5404339> 6059 Site redirects continuosly, starving UI thread, causing app to hang. 6060 6061 Use GetQueueStatus to see if there are input messages in the queue that aren't being processed. 6062 If so, use a low-priority timer instead of PostMessage. 6063 6064 * platform/win/SharedTimerWin.cpp: 6065 (WebCore::setSharedTimerFireTime): 6066 6067 2007-09-22 Darin Adler <darin (a] apple.com> 6068 6069 Reviewed by Anders. 6070 6071 - add QueryInterface capabilities to COMPtr 6072 6073 * platform/win/COMPtr.h: 6074 (COMPtr::COMPtr): Added constructor that takes a Query tag and 6075 does an appropriate QueryInterface. 6076 (COMPtr::query): Added function to do a queryInterface. 6077 (COMPtr::copyQueryInterfaceRef): Added private helper used by 6078 both of the above. Note that when the query fails you get a 0, 6079 which is the same thing you get if a 0 pointer is passed in. 6080 6081 * platform/win/FontCacheWin.cpp: 6082 (WebCore::FontCache::getFontLinkInterface): Convert to using 6083 the new query as a test case. Also eliminate the unnecessary 6084 second global variable and use COMPtr objects rather than just 6085 leaking references. 6086 6087 * platform/win/WCDataObject.h: Removed unneeded include and 6088 using statements. 6089 6090 2007-09-21 Anders Carlsson <andersca (a] apple.com> 6091 6092 Reviewed by Adam. 6093 6094 <rdar://problem/5494790> 6095 clicking any link in the Flash regions at bananarepublic.com results in bad page 6096 6097 Don't replace the frame contents, the Mac version doesn't do this. 6098 6099 * plugins/win/PluginViewWin.cpp: 6100 (WebCore::PluginViewWin::performRequest): 6101 6102 2007-09-21 Anders Carlsson <andersca (a] apple.com> 6103 6104 Reviewed by Darin. 6105 6106 <rdar://problem/5496700> 6107 Repro crash loading http://www.tivo.com/whatistivo/tivohd/index.html 6108 6109 Don't continue if the plug-in cancelled the stream. 6110 6111 * loader/win/NetscapePlugInStreamLoaderWin.cpp: 6112 (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): 6113 6114 2007-09-21 Kevin Decker <kdecker (a] apple.com> 6115 6116 * platform/mac/SoftLinking.h: Build fix; added necessary #imports. 6117 6118 2007-09-21 Kevin Decker <kdecker (a] apple.com> 6119 6120 Reviewed by Darin Adler. 6121 6122 * WebCore.xcodeproj/project.pbxproj: Added SoftLinking.h to the project. 6123 * platform/mac/SoftLinking.h: Contains a new macro; useful in helping to lazily load frameworks. 6124 6125 2007-09-20 Ada Chan <adachan (a] apple.com> 6126 6127 <rdar://problem/5477240> Regression: Footer is too high in print preview 6128 Make computePageRectsForFrame() return the height of the page adjusted for margins. 6129 6130 Reviewed by Steve. 6131 6132 * bridge/win/FrameWin.cpp: 6133 (WebCore::computePageRectsForFrame): 6134 * bridge/win/FrameWin.h: 6135 6136 2007-09-19 Kevin McCullough <kmccullough (a] apple.com> 6137 6138 Reviewed by Hyatt. 6139 6140 - <rdar://problem/5101991> Avril Lavigne music player comes up in a window with scrollbars 6141 - Implementing missing scrollbar functionality to allow turning off scrollbars correctly. 6142 6143 * platform/ScrollView.h: 6144 * platform/win/ScrollViewWin.cpp: 6145 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): 6146 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling): 6147 (WebCore::ScrollView::updateScrollbars): 6148 (WebCore::ScrollView::setAllowsScrolling): 6149 (WebCore::ScrollView::allowsScrolling): 6150 6151 2007-09-20 Brady Eidson <beidson (a] apple.com> 6152 6153 Reviewed by Dave Hyatt 6154 6155 <rdar://problem/5245981> - No favicon shows up for cnet.com 6156 6157 CNet's favicon has two images in it - a 32x32 white square, and a 16x16 image that is their actual icon 6158 Till now on Windows we've always gone straight for the first image in an icon for the favicon, now we 6159 actually do proper size matching 6160 6161 * platform/graphics/BitmapImage.h: 6162 6163 * platform/graphics/Image.h: 6164 (WebCore::Image::getHBITMAPOfSize): 6165 (WebCore::Image::drawFrameMatchingSourceSize): Search through the frames of the image for the correct size 6166 6167 * platform/graphics/win/ImageWin.cpp: 6168 (WebCore::BitmapImage::getHBITMAP): 6169 (WebCore::BitmapImage::getHBITMAPOfSize): 6170 (WebCore::BitmapImage::drawFrameMatchingSourceSize): 6171 6172 2007-09-20 Steve Falkenburg <sfalken (a] apple.com> 6173 6174 Reviewed by Brady. 6175 6176 Call ascii() instead of utf8() from debug logging code to avoid threading 6177 issues associated w/ converting to UTF8. 6178 6179 * loader/icon/IconDatabase.cpp: 6180 (WebCore::makeAllDirectories): 6181 (WebCore::IconDatabase::retainIconForPageURL): 6182 (WebCore::IconDatabase::releaseIconForPageURL): 6183 (WebCore::IconDatabase::setIconDataForIconURL): 6184 (WebCore::IconDatabase::setIconURLForPageURL): 6185 (WebCore::IconDatabase::loadDecisionForIconURL): 6186 (WebCore::IconDatabase::getOrCreatePageURLRecord): 6187 (WebCore::IconDatabase::iconDatabaseSyncThread): 6188 (WebCore::IconDatabase::performOpenInitialization): 6189 (WebCore::IconDatabase::checkIntegrity): 6190 (WebCore::IconDatabase::performURLImport): 6191 (WebCore::IconDatabase::readFromDatabase): 6192 (WebCore::IconDatabase::writeToDatabase): 6193 (WebCore::readySQLStatement): 6194 (WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase): 6195 (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase): 6196 (WebCore::IconDatabase::removePageURLFromSQLDatabase): 6197 (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase): 6198 (WebCore::IconDatabase::addIconURLToSQLDatabase): 6199 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase): 6200 (WebCore::IconDatabase::removeIconFromSQLDatabase): 6201 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): 6202 6203 2007-09-20 Mike Fenton <mike (a] staikos.net> 6204 6205 Reviewed by George Staikos. 6206 6207 Implement gradients and more of canvas for Qt. Style changes and some 6208 of the stroking fixes by George. 6209 6210 * html/CanvasGradient.cpp: 6211 (WebCore::CanvasGradient::CanvasGradient): 6212 (WebCore::CanvasGradient::~CanvasGradient): 6213 (WebCore::CanvasGradient::addColorStop): 6214 (WebCore::CanvasGradient::platformShading): 6215 * html/CanvasGradient.h: 6216 * html/CanvasRenderingContext2D.cpp: 6217 (WebCore::CanvasRenderingContext2D::fill): 6218 (WebCore::CanvasRenderingContext2D::stroke): 6219 (WebCore::CanvasRenderingContext2D::fillRect): 6220 (WebCore::CanvasRenderingContext2D::applyFillPattern): 6221 6222 2007-09-20 Rob Buis <buis (a] kde.org> 6223 6224 Reviewed by Mitz. 6225 6226 http://bugs.webkit.org/show_bug.cgi?id=15235 6227 Options can not be removed from a Select element with OptGroup's using JavaScript 6228 <rdar://problem/5494123> 6229 6230 Remove HTMLOptionElement children against the proper parent node. 6231 6232 * html/HTMLSelectElement.cpp: 6233 (WebCore::HTMLSelectElement::remove): 6234 6235 2007-09-19 John Sullivan <sullivan (a] apple.com> 6236 6237 Reviewed by Darin Adler. 6238 6239 - WebCore part of speculative fix for <rdar://problem/5490627>, about crashes constructing a 6240 String using the values filled in by checkSpellingOfString() 6241 6242 * editing/Editor.cpp: 6243 (WebCore::findFirstMisspellingInRange): 6244 initialize out parameters the way we do elsewhere; add many assertions for improper results 6245 from checkSpellingOfString(); don't create a String at all until we've checked all the ways 6246 that checkSpellingOfString() results could indicate invalid string, even the unexpected ones; 6247 as an optimization, don't construct a String at all when looping through to mark all instances. 6248 6249 2007-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 6250 6251 Reviewed by Adam. 6252 6253 There is no need to have FTPDirectoryDocument stubs. We can 6254 compile FTPDirectoryDocument.cpp and FTPDirectoryTokenizer.cpp 6255 instead. 6256 6257 * WebCore.pro: 6258 * platform/gdk/TemporaryLinkStubs.cpp: 6259 * platform/qt/TemporaryLinkStubs.cpp: 6260 6261 2007-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 6262 6263 Reviewed by Adam. 6264 6265 Remove includes that are not needed. 6266 6267 * platform/gdk/TemporaryLinkStubs.cpp: 6268 6269 2007-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 6270 6271 Reviewed by Adam. 6272 6273 Move the Pasteboard stubs to PasteboardGdk.cpp. 6274 6275 * WebCore.pro: 6276 * platform/gdk/PasteboardGdk.cpp: Added. 6277 (WebCore::Pasteboard::generalPasteboard): 6278 (WebCore::Pasteboard::writeSelection): 6279 (WebCore::Pasteboard::writeURL): 6280 (WebCore::Pasteboard::writeImage): 6281 (WebCore::Pasteboard::clear): 6282 (WebCore::Pasteboard::canSmartReplace): 6283 (WebCore::Pasteboard::documentFragment): 6284 (WebCore::Pasteboard::plainText): 6285 (WebCore::Pasteboard::Pasteboard): 6286 * platform/gdk/TemporaryLinkStubs.cpp: 6287 6288 2007-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 6289 6290 Reviewed by Adam. 6291 6292 Move the Icon stubs to IconGdk.cpp 6293 6294 * WebCore.pro: 6295 * platform/gdk/TemporaryLinkStubs.cpp: 6296 * platform/graphics/gdk/IconGdk.cpp: Added. 6297 (WebCore::Icon::Icon): 6298 (WebCore::Icon::~Icon): 6299 (WebCore::Icon::newIconForFile): 6300 6301 2007-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 6302 6303 Reviewed by Adam. 6304 6305 Move the Font stubs to FontGdk.cpp 6306 6307 * platform/gdk/FontGdk.cpp: 6308 (WebCore::Font::drawComplexText): 6309 (WebCore::Font::floatWidthForComplexText): 6310 (WebCore::Font::offsetForPositionForComplexText): 6311 (WebCore::Font::selectionRectForComplexText): 6312 * platform/gdk/TemporaryLinkStubs.cpp: 6313 6314 2007-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 6315 6316 Reviewed by Adam. 6317 6318 Move the SearchPopupMenu stubs to SearchPopupMenuGdk.cpp 6319 6320 * WebCore.pro: 6321 * platform/gdk/SearchPopupMenuGdk.cpp: Added. 6322 (WebCore::SearchPopupMenu::SearchPopupMenu): 6323 (WebCore::SearchPopupMenu::saveRecentSearches): 6324 (WebCore::SearchPopupMenu::loadRecentSearches): 6325 (WebCore::SearchPopupMenu::enabled): 6326 * platform/gdk/TemporaryLinkStubs.cpp: 6327 6328 2007-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 6329 6330 Reviewed by Adam. 6331 6332 Move the ContextMenu and ContextMenuItem stubs to 6333 ContextMenuGdk.cpp and ContextMenuItemGdk.cpp. 6334 6335 * WebCore.pro: 6336 * platform/gdk/ContextMenuGdk.cpp: Added. 6337 (WebCore::ContextMenu::ContextMenu): 6338 (WebCore::ContextMenu::~ContextMenu): 6339 (WebCore::ContextMenu::appendItem): 6340 (WebCore::ContextMenu::setPlatformDescription): 6341 (WebCore::ContextMenu::platformDescription): 6342 (WebCore::ContextMenu::releasePlatformDescription): 6343 * platform/gdk/ContextMenuItemGdk.cpp: Added. 6344 (WebCore::ContextMenuItem::ContextMenuItem): 6345 (WebCore::ContextMenuItem::~ContextMenuItem): 6346 (WebCore::ContextMenuItem::releasePlatformDescription): 6347 (WebCore::ContextMenuItem::type): 6348 (WebCore::ContextMenuItem::setType): 6349 (WebCore::ContextMenuItem::action): 6350 (WebCore::ContextMenuItem::setAction): 6351 (WebCore::ContextMenuItem::title): 6352 (WebCore::ContextMenuItem::setTitle): 6353 (WebCore::ContextMenuItem::platformSubMenu): 6354 (WebCore::ContextMenuItem::setSubMenu): 6355 (WebCore::ContextMenuItem::setChecked): 6356 * platform/gdk/TemporaryLinkStubs.cpp: 6357 6358 2007-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 6359 6360 Reviewed by Adam. 6361 6362 Implement the WebCore::fileSize function using g_stat. 6363 6364 * platform/gdk/FileSystemGdk.cpp: 6365 (WebCore::fileSize): 6366 * platform/gdk/TemporaryLinkStubs.cpp: 6367 6368 2007-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 6369 6370 Reviewed by Adam. 6371 6372 Move the ResourceHandle stubs from TemporaryLinkStubs 6373 to the ResourceHandleCurl.cpp file. This affects the 6374 Gtk+ and wx port as they share the curl implementation. 6375 6376 6377 * platform/gdk/TemporaryLinkStubs.cpp: 6378 * platform/network/curl/ResourceHandleCurl.cpp: 6379 (WebCore::ResourceHandle::willLoadFromCache): 6380 (WebCore::ResourceHandle::loadsBlocked): 6381 * platform/wx/TemporaryLinkStubs.cpp: 6382 6383 2007-09-17 Holger Hans Peter Freyther <zecke (a] selfish.org> 6384 6385 Reviewed by Mark. 6386 6387 Take http://bugs.webkit.org/show_bug.cgi?id=15221 into account 6388 and change the variable names from nameSystem to systemName and 6389 change the name of the function to stringByAdoptingFileSystemRepresentation. 6390 6391 * platform/gdk/FileChooserGdk.cpp: 6392 (WebCore::stringByAdoptingFileSystemRepresentation): 6393 (WebCore::FileChooser::basenameForWidth): 6394 6395 2007-09-19 Sam Weinig <sam (a] webkit.org> 6396 6397 Reviewed by Geoff Garen. 6398 6399 Fix <rdar://problem/5492141> Assertion in isdigit() on windows Safari 6400 6401 Test: fast/css/hexColor-isDigit-assert.html 6402 6403 * platform/DeprecatedString.cpp: 6404 (WebCore::isCharacterAllowedInBase): Check that the character is ascii 6405 to avoid an assertions on Windows. 6406 6407 2007-09-19 Anders Carlsson <andersca (a] apple.com> 6408 6409 Reviewed by Geoff. 6410 6411 <rdar://problem/5489879> 6412 Combination of real player with high connection quality in selecting player makes Safari quit. 6413 6414 Prevent the Real Player plug-in from calling the window proc recursively. 6415 6416 * plugins/win/PluginViewWin.cpp: 6417 (WebCore::PluginViewWin::wndProc): 6418 (WebCore::PluginViewWin::setNPWindowRect): 6419 (WebCore::PluginViewWin::determineQuirks): 6420 (WebCore::PluginViewWin::PluginViewWin): 6421 * plugins/win/PluginViewWin.h: 6422 (WebCore::): 6423 6424 2007-09-18 Adele Peterson <adele (a] apple.com> 6425 6426 Reviewed by Maciej. 6427 6428 Fix for <rdar://problem/5472062> -webkit-user-select: none makes selection difficult 6429 and for <rdar://problem/5472056> REGRESSION: Cannot type into edit fields on a form (sccsheriff.org) 6430 6431 Tests: 6432 6433 This fix has a few steps: 6434 1) Removes the ignore value for the -webkit-user-select property. We now decide when to prevent selection from starting by calling canStartSelection on the node. 6435 2) Implements canStartSelection which returns false for all elements that used to have -webkit-user-select:ignore set, true for content editable nodes, 6436 and walks up the tree to ask the parent before allowing selection to be started on any other nodes. 6437 3) We used to disallow selection from starting within -webkit-user-select:none blocks, but now we only use canStartSelection for that. This will allow easy selections 6438 in cases like iChat where there's a mix of selectable and non-selectable content. 6439 4) Makes -webkit-user-select inherited. After removing the "ignore" value, -webkit-user-select would behave like it was inherited anyways since we already allowed the text value to override the none value. 6440 6441 6442 * css/html4.css: Removed all usage of -webkit-user-select: ignore. This is now handled internally with canStartSelection(). 6443 Now -webkit-user-select won't be unintentionally overridden by nodes that don't want to allow selection to be started, but do want to honor the -webkit-user-select to 6444 determine whether or not selection is allowed at all. 6445 6446 * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): 6447 Don't try to determine whether selection is allowed inside the root node here. VisiblePosition and Selection creation will keep Selection endpoints out of -webkit-user-select:none regions. 6448 6449 * dom/Node.h: 6450 * dom/Node.cpp: (WebCore::Node::canStartSelection): Added. Always allows selection to be started in a content editable node. If there's a parent, ask the parent if starting a selection is allowed. 6451 If there's no parent, default to allowing selection. 6452 * html/HTMLAnchorElement.h: 6453 * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::canStartSelection): Added. If its not a link, then calls the base class. Disallows selection for non-editable links. 6454 Allows selection for editable links. 6455 This logic used to be done in CSSStyleSelector by changing the user-select property. 6456 * html/HTMLButtonElement.h: (WebCore::HTMLButtonElement::canStartSelection): Added. Disallows selection from starting in buttons. 6457 * html/HTMLImageElement.h: (WebCore::HTMLImageElement::canStartSelection): Added. Disallows selection from starting in images. 6458 * html/HTMLInputElement.h: 6459 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::canStartSelection): Added. Disallows selection from anything that's not a text field. Text fields call up to the base class. 6460 When they're editable, text controls will always be selectable because of the case for content editable content. Otherwise, they'll respect their parent element's decision about starting a selection. 6461 * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::canStartSelection): Added. Disallows selection from starting in popup buttons. 6462 6463 * page/EventHandler.cpp: 6464 (WebCore::EventHandler::selectClosestWordFromMouseEvent): Use canMouseDownStartSelect instead of the ambiguously named shouldSelect(). 6465 (WebCore::EventHandler::handleMousePressEventTripleClick): ditto. 6466 (WebCore::EventHandler::handleMousePressEventSingleClick): ditto. 6467 (WebCore::EventHandler::updateSelectionForMouseDrag): Use canMouseDragExtendSelect. 6468 (WebCore::EventHandler::selectCursor): Paint an ibeam in any region that allows you to click to create a selection. 6469 (WebCore::EventHandler::canMouseDownStartSelect): Now fires the selectStart event, and calls canStartSelection instead of checking the user-select property. 6470 (WebCore::EventHandler::canMouseDragExtendSelect): This is identical to canMouseDownStartSelect because of 12823, even though it seems strange that we would fire the selectStart event here. 6471 * page/EventHandler.h: 6472 * page/FocusController.cpp: (WebCore::clearSelectionIfNeeded): Calls canStartSelection instead of checking the user-select property to decide when to prevent selection creation. 6473 * rendering/RenderObject.cpp: (WebCore::RenderObject::draggableNode): ditto. 6474 * rendering/RenderObject.h: Removed helper methods that are no longer needed. 6475 6476 * rendering/RenderStyle.h: Made userSelect inherited. After removing the "ignore" value, -webkit-user-select would behave like it was inherited 6477 anyways since we already allowed the text value to override the none value. 6478 Removed the SELECT_AUTO and SELECT_IGNORE values since they're no longer used. 6479 (WebCore::): 6480 (WebCore::RenderStyle::userSelect): 6481 (WebCore::RenderStyle::setUserSelect): 6482 (WebCore::RenderStyle::initialUserSelect): 6483 * rendering/RenderStyle.cpp: 6484 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 6485 (WebCore::StyleRareNonInheritedData::operator==): 6486 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 6487 (WebCore::StyleRareInheritedData::operator==): 6488 (WebCore::RenderStyle::diff): 6489 6490 * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Remove case for SELECT_AUTO and SELECT_IGNORE 6491 * css/CSSStyleSelector.cpp: 6492 (WebCore::CSSStyleSelector::adjustRenderStyle): Remove adjustment for links. This is now handled in HTMLAnchorElement::canStartSelection. 6493 (WebCore::CSSStyleSelector::applyProperty): Map CSS_VAL_AUTO to SELECT_TEXT. Remove CSS_VAL_IGNORE. 6494 6495 2007-09-18 Timothy Hatcher <timothy (a] apple.com> 6496 6497 Reviewed by Darin. 6498 6499 <rdar://problem/5478250> REGRESSION: After pasting text copied from Mail subject and typing return, the cursor disappears because of negative left margin 6500 6501 When pasting text from the Mail subject line, the RTF pasteboard contains text that has a first line negative indent along with a 6502 paragraph indent that has a counteracting positive indent. This results in the first line being flush left justified, and the remaining 6503 wrapped lines being indented. When this is converted to a DOM fragment, AppKit makes a block element with a margin-left and a negative 6504 text-indent that matches the RTF. So far this is all correct behavior. 6505 6506 When this content is pasted on the line of an existing paragraph that has content, ReplaceSelectionCommand will decided to merge the paragraphs. 6507 This will convert the block element to a style span that has all inherited style properties. These inherited properties will still contain block 6508 properties that have no affect on inline elements. These block properties will hang around on the style span and will get cloned to new block 6509 elements if the user hit return on that line. The new block elements would then have the text-indent but not the margin-left, so the text would be 6510 hidden off the left edge of the page. 6511 6512 In the end, we should never hang on to block-only properties in our style spans. This cuts out meaningless properties and prevents properties 6513 from magically affecting blocks later if the style is cloned for a new block element during a future editing operation. 6514 6515 * editing/ReplaceSelectionCommand.cpp: 6516 (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Remove any inherited block properties that are now in the span's style. 6517 * editing/markup.cpp: 6518 (WebCore::createMarkup): Ditto. 6519 6520 2007-09-18 Dave Hyatt <hyatt (a] apple.com> 6521 6522 Land a UnicodeRange helper class (ported from Mozilla) that we are going to use to prepare for making 6523 language-sensitive fallback choices for fonts. 6524 6525 Reviewed by olliej 6526 6527 * WebCore.vcproj/WebCore.vcproj: 6528 * platform/UnicodeRange.cpp: Added. 6529 (WebCore::): 6530 (WebCore::findCharUnicodeRange): 6531 (WebCore::langGroupFromUnicodeRange): 6532 * platform/UnicodeRange.h: Added. 6533 6534 2007-09-18 Dave Hyatt <hyatt (a] apple.com> 6535 6536 Fix a bug in my previous patch. Make sure to select the old font back into the HDC and to also release the HDC. 6537 6538 Reviewed by aroben 6539 6540 * platform/win/FontCacheWin.cpp: 6541 (WebCore::FontCache::getFontDataForCharacters): 6542 6543 2007-09-18 Sam Weinig <sam (a] webkit.org> 6544 6545 Reviewed by Darin. 6546 6547 Patch for <rdar://problem/5488478> Safari crashes when passing null to Range.insertNode() 6548 6549 Test: fast/dom/Range-insertNode-crash.html 6550 6551 * dom/Range.cpp: 6552 (WebCore::Range::insertNode): Null check the passed in node to insert. 6553 6554 2007-09-18 Mike Fenton <mike (a] staikos.net> 6555 6556 Reviewed by George Staikos. 6557 6558 Retain the pen properties when changing one aspect of the pen. 6559 6560 * html/CanvasStyle.cpp: 6561 (WebCore::CanvasStyle::applyStrokeColor): 6562 6563 2007-09-18 Mike Fenton <mike (a] staikos.net> 6564 6565 Reviewed by George Staikos. 6566 6567 Make <canvas> work in more cases by restarting the painter after we 6568 finish painting, and restoring the pen and opacity. 6569 6570 * html/HTMLCanvasElement.cpp: 6571 (WebCore::HTMLCanvasElement::paint): 6572 6573 2007-09-18 Mitz Pettel <mitz (a] webkit.org> 6574 6575 Reviewed by Darin. 6576 6577 - fix http://bugs.webkit.org/show_bug.cgi?id=15169 6578 Freeze on Google maps using the "Dig a hole" tool 6579 <rdar://problem/5477414> 6580 6581 Test: fast/dom/CSSStyleDeclaration-empty-string-property.html 6582 6583 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 6584 (WebCore::cssPropertyName): Added an early return if the property name 6585 is the empty string, thus avoiding a loop that is not prepared for that 6586 case. 6587 6588 2007-09-19 Darin Adler <darin (a] apple.com> 6589 6590 Reviewed by Adam. 6591 6592 - fix <rdar://problem/5415734> <select> draws incorrectly if size of menu options 6593 is changed after it pops up once 6594 6595 * platform/win/PopupMenuWin.cpp: 6596 (WebCore::PopupMenu::PopupMenu): Removed unnecessary initialization of IntRect. 6597 (WebCore::PopupMenu::show): Check that the clientRect is empty instead of checking 6598 the entire windowRect -- this fixes a bug where we pop up a tiny 2-pixel high black 6599 box when you click on an empty menu. 6600 (WebCore::PopupMenu::visibleItems): Base the number of items on the client rect 6601 instead of the window rect. Rounding down means this would have worked anyway, but 6602 it's more correct to do it this way. 6603 (WebCore::PopupMenu::paint): Deallocate the bitmap so it gets reallocated if it 6604 has the wrong width or height (or if GetObject returns false, which should not 6605 happen in practice). 6606 6607 2007-09-18 David Harrison <harrison (a] apple.com> 6608 6609 Reviewed by Darin. 6610 6611 <rdar://problem/5486974> REGRESSION(r25373): 1/4 second to doubleclick word in GMail when using Kotoeri IM, also slow in other IMs (15163) 6612 6613 Updated tests: 6614 * fast/dom/Window/window-xy-properties-expected.txt: 6615 * fast/dom/plugin-attributes-enumeration-expected.txt: 6616 * fast/events/onerror-bubbling-expected.txt: 6617 * fast/events/related-target-expected.txt: 6618 * fast/forms/select-namedItem-expected.txt: 6619 * fast/table/incomplete-table-in-fragment-2-expected.txt: 6620 * fast/table/incomplete-table-in-fragment-hang-expected.txt: 6621 * fast/table/large-rowspan-crash-expected.txt: 6622 * plugins/embed-attributes-setting-expected.txt: 6623 6624 * editing/TextIterator.cpp: 6625 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): 6626 Avoid VisiblePosition check if the current node is a descendant 6627 of the start container and the start offset was 0. In that case 6628 we already had enough context to correctly decide whether to emit 6629 a newline after a preceding block. We chose not to emit 6630 (m_haveEmitted is false), so don't second guess that. 6631 6632 (WebCore::TextIterator::exitNode): 6633 Changed some comments. 6634 6635 2007-09-17 Geoffrey Garen <ggaren (a] apple.com> 6636 6637 Reviewed by Darin Adler. 6638 6639 Speculative fix for <rdar://problem/5479443> REGRESSION: Hang due to 6640 infinite JS recursion on close @ engadget.com (onunload-based ad) 6641 6642 If page is NULL, shouldInterruptScript now returns true, so you can't 6643 get stuck in a state in which a script executes forever without putting 6644 up a UI to ask if it should stop. 6645 6646 * bindings/js/kjs_binding.cpp: 6647 (KJS::ScriptInterpreter::shouldInterruptScript): 6648 6649 2007-09-17 Dave Hyatt <hyatt (a] apple.com> 6650 6651 Fix for bug 14743, missing glyphs on many international sites because of MLang's tiny cache. 6652 6653 Bypass Mlang's cache entirely. Get the mapped font from MLang, obtain the font name, and then feed 6654 the name back into our own system so that it gets created and cached again without MLang being involved. 6655 Then free up the font obtained from MLang immediately so that its cache just remains empty. 6656 6657 Reviewed by aroben 6658 6659 * platform/FontData.h: 6660 (WebCore::FontData::isSystemFont): 6661 * platform/win/FontCacheWin.cpp: 6662 (WebCore::FontCache::getFontDataForCharacters): 6663 * platform/win/FontDataWin.cpp: 6664 (WebCore::FontData::platformInit): 6665 (WebCore::FontData::platformDestroy): 6666 * platform/win/UniscribeController.cpp: 6667 (WebCore::UniscribeController::shapeAndPlaceItem): 6668 6669 2007-09-17 Adam Roben <aroben (a] apple.com> 6670 6671 Fix <rdar://5423441> Should get focus ring color from SafariTheme 6672 6673 Reviewed by Hyatt. 6674 6675 No regression test possible. 6676 6677 * WebCore.vcproj/WebCore.vcproj: Added ColorSafari.cpp. 6678 * platform/graphics/win/ColorSafari.cpp: Added. 6679 (WebCore::makeRGBAFromCGColor): Added. 6680 (WebCore::focusRingColor): Added. Gets the focus ring color from 6681 SafariTheme if SafariTheme has support for it. 6682 (WebCore::setFocusRingColorChangeFunction): Added. 6683 * platform/win/TemporaryLinkStubs.cpp: Removed focus ring color 6684 functions. 6685 6686 2007-09-17 Anders Carlsson <andersca (a] apple.com> 6687 6688 Fix Windows build. 6689 6690 * WebCore.vcproj/WebCore.vcproj: 6691 * loader/NetscapePlugInStreamLoader.h: 6692 6693 2007-09-17 Anders Carlsson <andersca (a] apple.com> 6694 6695 Fix Mac build. 6696 6697 * loader/NetscapePlugInStreamLoader.cpp: 6698 * loader/NetscapePlugInStreamLoader.h: 6699 * loader/win/NetscapePlugInStreamLoaderWin.cpp: Copied from loader/NetscapePlugInStreamLoader.cpp. 6700 6701 2007-09-17 Anders Carlsson <andersca (a] apple.com> 6702 6703 Reviewed by Adam. 6704 6705 <rdar://problem/5483346> 6706 crash at vw.com WebCore::PluginViewWin::disconnectStream. 6707 6708 The following events would lead to this crash: 6709 6710 1. a plug-in stream finishes loading and calls NPP_DestroyStream. 6711 2. the DestroyStream handler calls NPN_Evaluate, submitting a form through JavaScript. 6712 3. A new page is going to be loaded and DocumentLoader::stopLoading is called. 6713 4. DocumentLoader::stopLoading will stop all loader, including the one that is done loading! 6714 6715 The fix is to port NetscapePluginStreamLoader over from the Mac code and use it instead. This fixes the crash 6716 because it disassociates the stream loader with the document loader _before_ calling NPP_DestroyStream, whereas 6717 SubresourceLoader does this _after_ calling NPP_DestroyStream. 6718 6719 * loader/NetscapePlugInStreamLoader.cpp: 6720 (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): 6721 (WebCore::NetscapePlugInStreamLoader::~NetscapePlugInStreamLoader): 6722 (WebCore::NetscapePlugInStreamLoader::create): 6723 (WebCore::NetscapePlugInStreamLoader::isDone): 6724 (WebCore::NetscapePlugInStreamLoader::releaseResources): 6725 (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): 6726 (WebCore::NetscapePlugInStreamLoader::didReceiveData): 6727 (WebCore::NetscapePlugInStreamLoader::didFinishLoading): 6728 (WebCore::NetscapePlugInStreamLoader::didFail): 6729 (WebCore::NetscapePlugInStreamLoader::didCancel): 6730 * loader/NetscapePlugInStreamLoader.h: 6731 (WebCore::NetscapePlugInStreamLoaderClient::didFinishLoading): 6732 * plugins/win/PluginStreamWin.cpp: 6733 (WebCore::PluginStreamWin::start): 6734 (WebCore::PluginStreamWin::didReceiveResponse): 6735 (WebCore::PluginStreamWin::didReceiveData): 6736 (WebCore::PluginStreamWin::didFail): 6737 (WebCore::PluginStreamWin::didFinishLoading): 6738 * plugins/win/PluginStreamWin.h: 6739 * plugins/win/PluginViewWin.cpp: 6740 (WebCore::PluginViewWin::load): 6741 6742 2007-09-17 Anders Carlsson <andersca (a] apple.com> 6743 6744 Reviewed by Adam. 6745 6746 <rdar://problem/5483839> 6747 Crash loading http://www.microsoft.com if Silverlight 1.0 is installed. 6748 6749 Work around a problem in our NPRuntime implementation by never unloading the silverlight plug-in dll. 6750 6751 * plugins/win/PluginViewWin.cpp: 6752 (WebCore::PluginViewWin::~PluginViewWin): 6753 (WebCore::PluginViewWin::determineQuirks): 6754 * plugins/win/PluginViewWin.h: 6755 (WebCore::): 6756 6757 2007-09-17 Brady Eidson <beidson (a] apple.com> 6758 6759 Reviewed by John Sullivan 6760 6761 Fix for http://bugs.webkit.org/show_bug.cgi?id=15178 6762 and 6763 <rdar://problem/5474001> 6764 6765 The stress test proves that this was an overzealous ASSERT. It is very possible to mark an icon 6766 for addition to the on-disk database and then mark it for removal before it is ever written out. 6767 This is not an error and was already handled gracefully 6768 6769 * loader/icon/IconDatabase.cpp: 6770 (WebCore::IconDatabase::removeIconFromSQLDatabase): Don't ASSERT of log if the icon wasn't on disk 6771 6772 2007-09-17 Brady Eidson <beidson (a] apple.com> 6773 6774 Reviewed by Oliver 6775 6776 <rdar://problem/5487048> - ASSERT in stress test in IconDatabase 6777 6778 If a PageURLRecord went away, it never clears its URL from the IconRecord it retained. 6779 6780 * loader/icon/PageURLRecord.cpp: 6781 (WebCore::PageURLRecord::~PageURLRecord): Set the icon record to 0, clearing the page url 6782 * loader/icon/PageURLRecord.h: Add the destructor 6783 6784 2007-09-17 Antti Koivisto <antti (a] apple.com> 6785 6786 Reviewed by Darin. 6787 6788 Fix <rdar://problem/5480050> 6789 Leopard9A551 with Dashcode 112: Dashcode crash when dragging image into canvas. 6790 6791 If @import stylesheet was modified through CSS DOM style selector would not get updated. This 6792 could lead to crashes. 6793 6794 Test: fast/css/import-style-update.html 6795 6796 * css/CSSStyleSheet.cpp: 6797 (WebCore::CSSStyleSheet::styleSheetChanged): 6798 6799 2007-09-17 Anders Carlsson <andersca (a] apple.com> 6800 6801 Reviewed by Adam. 6802 6803 <rdar://problem/5421997> 6804 http://bugs.webkit.org/show_bug.cgi?id=14247 6805 Display problem with Flash - image does not stop changing 6806 6807 Port the manual load code over from the Mac version. 6808 6809 * plugins/win/PluginDatabaseWin.cpp: 6810 (WebCore::PluginDatabaseWin::createPluginView): 6811 * plugins/win/PluginDatabaseWin.h: 6812 Add load manually parameter. 6813 6814 * plugins/win/PluginStreamWin.cpp: 6815 (WebCore::PluginStreamWin::stop): 6816 If we're loading manually, cancel the main resource load. 6817 6818 (WebCore::PluginStreamWin::destroyStream): 6819 Don't disconnect the stream if we're loading manually. 6820 6821 * plugins/win/PluginViewWin.cpp: 6822 (WebCore::PluginViewWin::setFrameGeometry): 6823 Always call updateWindow() 6824 6825 (WebCore::PluginViewWin::PluginViewWin): 6826 Initialize loadManually. 6827 6828 (WebCore::PluginViewWin::init): 6829 Don't set the width and height of the window here since it will make the plug-in HWND show briefly 6830 before it's been positioned. 6831 6832 (WebCore::PluginViewWin::didReceiveResponse): 6833 Create the manual stream. 6834 6835 (WebCore::PluginViewWin::didReceiveData): 6836 (WebCore::PluginViewWin::didFinishLoading): 6837 (WebCore::PluginViewWin::didFail): 6838 Call through to the manual stream. 6839 6840 * plugins/win/PluginViewWin.h: 6841 6842 2007-09-16 Sam Weinig <sam (a] webkit.org> 6843 6844 Reviewed by Maciej. 6845 6846 Fix for http://bugs.webkit.org/show_bug.cgi?id=14693 6847 document.width/height doesn't force layout 6848 6849 Test: fast/dom/document-width-height-force-layout.html 6850 6851 * html/HTMLDocument.cpp: 6852 (WebCore::HTMLDocument::width): Force layout. 6853 (WebCore::HTMLDocument::height): ditto. 6854 * html/HTMLDocument.h: 6855 6856 2007-09-15 Holger Hans Peter Freyther <zecke (a] selfish.org> 6857 6858 Reviewed by Mark. 6859 6860 Convert the filenames from WebCore::String to the filesystem encoding 6861 and vice versa using g_filename_{from,to}_utf8 functions. Also add the needed NULL 6862 checks for the return values where glib and gtk+ can return NULL. 6863 6864 * platform/gdk/FileChooserGdk.cpp: 6865 (WebCore::convertToStringByAdoptingTheFilesystemRepresentation): 6866 (WebCore::FileChooser::openFileChooser): 6867 (WebCore::FileChooser::basenameForWidth): 6868 6869 2007-09-15 Holger Hans Peter Freyther <zecke (a] selfish.org> 6870 6871 Reviewed by Mark. 6872 6873 Use the new WebCore::String::fromUTF8 function to create 6874 the labels. 6875 6876 * platform/gdk/LocalizedStringsGdk.cpp: 6877 (WebCore::submitButtonDefaultLabel): 6878 (WebCore::inputElementAltText): 6879 (WebCore::resetButtonDefaultLabel): 6880 (WebCore::searchableIndexIntroduction): 6881 (WebCore::fileButtonChooseFileLabel): 6882 (WebCore::fileButtonNoFileSelectedLabel): 6883 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 6884 (WebCore::contextMenuItemTagDownloadLinkToDisk): 6885 (WebCore::contextMenuItemTagCopyLinkToClipboard): 6886 (WebCore::contextMenuItemTagOpenImageInNewWindow): 6887 (WebCore::contextMenuItemTagDownloadImageToDisk): 6888 (WebCore::contextMenuItemTagCopyImageToClipboard): 6889 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 6890 (WebCore::contextMenuItemTagCopy): 6891 (WebCore::contextMenuItemTagGoBack): 6892 (WebCore::contextMenuItemTagGoForward): 6893 (WebCore::contextMenuItemTagStop): 6894 (WebCore::contextMenuItemTagReload): 6895 (WebCore::contextMenuItemTagCut): 6896 (WebCore::contextMenuItemTagPaste): 6897 (WebCore::contextMenuItemTagNoGuessesFound): 6898 (WebCore::contextMenuItemTagIgnoreSpelling): 6899 (WebCore::contextMenuItemTagLearnSpelling): 6900 (WebCore::contextMenuItemTagSearchWeb): 6901 (WebCore::contextMenuItemTagLookUpInDictionary): 6902 (WebCore::contextMenuItemTagOpenLink): 6903 (WebCore::contextMenuItemTagIgnoreGrammar): 6904 (WebCore::contextMenuItemTagSpellingMenu): 6905 (WebCore::contextMenuItemTagShowSpellingPanel): 6906 (WebCore::contextMenuItemTagCheckSpelling): 6907 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 6908 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 6909 (WebCore::contextMenuItemTagFontMenu): 6910 (WebCore::contextMenuItemTagBold): 6911 (WebCore::contextMenuItemTagItalic): 6912 (WebCore::contextMenuItemTagUnderline): 6913 (WebCore::contextMenuItemTagOutline): 6914 (WebCore::contextMenuItemTagWritingDirectionMenu): 6915 (WebCore::contextMenuItemTagDefaultDirection): 6916 (WebCore::contextMenuItemTagLeftToRight): 6917 (WebCore::contextMenuItemTagRightToLeft): 6918 (WebCore::contextMenuItemTagInspectElement): 6919 (WebCore::searchMenuNoRecentSearchesText): 6920 (WebCore::searchMenuRecentSearchesText): 6921 (WebCore::searchMenuClearRecentSearchesText): 6922 6923 2007-09-15 Holger Hans Peter Freyther <zecke (a] selfish.org> 6924 6925 Reviewed by Mark. 6926 6927 Add WebCore::String::fromUTF8 to convert from UTF-8 6928 to a WebCore::String. This is meant to be used by 6929 the Gtk+ port and the signature and implementation 6930 is similiar to the one of DeprecatedString. 6931 6932 * platform/PlatformString.h: 6933 * platform/String.cpp: 6934 (WebCore::String::fromUTF8): 6935 6936 2007-09-13 Holger Hans Peter Freyther <zecke (a] selfish.org> 6937 6938 Reviewed by Anders. 6939 6940 Implement the fileExists and deleteFile functions 6941 using glib. 6942 6943 * WebCore.pro: 6944 * platform/gdk/FileSystemGdk.cpp: Added. 6945 (WebCore::fileExists): 6946 * platform/gdk/TemporaryLinkStubs.cpp: 6947 6948 2007-09-16 David Harrison <harrison (a] apple.com> 6949 6950 Reviewed by Darin. 6951 6952 <rdar://problem/5472125> REGRESSION (9A535-9A548): No VO cursor shown when navigating in a mail message body 6953 6954 The problem was that the visible units code was mishandling non-editable content, generating null 6955 VisiblePositions instead of the actual boundary VisiblePositions. 6956 6957 Updated tests: 6958 * fast/dom/Window/window-xy-properties-expected.txt: 6959 * fast/dom/plugin-attributes-enumeration-expected.txt: 6960 * fast/events/onerror-bubbling-expected.txt: 6961 * fast/events/related-target-expected.txt: 6962 * fast/forms/select-namedItem-expected.txt: 6963 * fast/table/incomplete-table-in-fragment-2-expected.txt: 6964 * fast/table/incomplete-table-in-fragment-hang-expected.txt: 6965 * fast/table/large-rowspan-crash-expected.txt: 6966 * plugins/embed-attributes-setting-expected.txt: 6967 6968 Source Changes: 6969 * editing/VisiblePosition.cpp: 6970 (WebCore::VisiblePosition::next): 6971 (WebCore::VisiblePosition::previous): 6972 (WebCore::VisiblePosition::honorEditableBoundaryAtOrBefore): 6973 (WebCore::VisiblePosition::honorEditableBoundaryAtOrAfter): 6974 Rename firstEditablePositionAtOrAfter to honorEditableBoundaryAtOrAfter. 6975 Rename firstEditablePositionAtOrBefore to honorEditableBoundaryAtOrBefore. 6976 Changed these two functions to handle non-editable positions. 6977 6978 * editing/VisiblePosition.h: 6979 * editing/visible_units.cpp: 6980 (WebCore::previousWordPosition): 6981 (WebCore::nextWordPosition): 6982 (WebCore::positionAvoidingFirstPositionInTable): 6983 (WebCore::startPositionForLine): 6984 (WebCore::startOfLine): 6985 (WebCore::endOfLine): 6986 (WebCore::previousSentencePosition): 6987 (WebCore::nextSentencePosition): 6988 Rename firstEditablePositionAtOrAfter to honorEditableBoundaryAtOrAfter. 6989 Rename firstEditablePositionAtOrBefore to honorEditableBoundaryAtOrBefore. 6990 Also, startOfLine() now calls positionAvoidingFirstPositionInTable() in the empty block early return case. 6991 positionAvoidingFirstPositionInTable() was the logic startOfLine() used in the normal case. Now in a reusable function. 6992 6993 2007-09-14 Oliver Hunt <oliver (a] apple.com> 6994 6995 Reviewed by Adam. 6996 6997 Mac doesn't have any kind of not implemented macro, so we'll actually implement 6998 fileSize. 6999 7000 * platform/mac/FileSystemMac.mm: 7001 (WebCore::fileSize): 7002 7003 2007-09-14 Timothy Hatcher <timothy (a] apple.com> 7004 7005 Initialize m_dialogArguments to 0. Fixes the newly crashing layout tests. 7006 7007 * bindings/js/kjs_window.cpp: 7008 (KJS::WindowPrivate::WindowPrivate): 7009 7010 2007-09-14 Oliver Hunt <oliver (a] apple.com> 7011 7012 Reviewed by Brady, John H. 7013 7014 <rdar://problem/5483632> File system operation wrappers are unimplemented on windows 7015 7016 Implement Windows versions of fileExists and deleteFile. 7017 Also corrects fileSize to use a 64-bit version of stat. 7018 7019 * platform/win/FileSystemWin.cpp: 7020 (WebCore::fileSize): 7021 Renamed argument to be more consistent with others. 7022 And converted to _stat32i64 to allow 64-bit filesizes 7023 (WebCore::fileExists): 7024 (WebCore::deleteFile): 7025 * platform/win/TemporaryLinkStubs.cpp: 7026 7027 2007-09-14 Oliver Hunt <oliver (a] apple.com> 7028 7029 Reviewed by Sam and Geoff. 7030 7031 <rdar://problem/5333272> Cannot upload files when path contains 7032 non-ascii/multibyte characters 7033 7034 We can't use _stat to determine file size on Windows as it may not 7035 correctly handle multibyte characters, so we have to use _wstat. 7036 7037 In deference to the fact that we may one day use the FormDataStreamCFNet.cpp 7038 on Mac i've wrapped the call to _wstat with a generic fileSize 7039 method in FileSystem.h 7040 7041 * WebCore.vcproj/WebCore.vcproj: 7042 * platform/FileSystem.h: 7043 * platform/network/cf/FormDataStreamCFNet.cpp: 7044 * platform/win/FileSystemWin.cpp: Added. 7045 (WebCore::setHTTPBody): 7046 * platform/gdk/TemporaryLinkStubs.cpp: 7047 * platform/mac/FileSystemMac.mm: 7048 (WebCore::fileSize): 7049 * platform/qt/TemporaryLinkStubs.cpp: 7050 7051 2007-09-14 Timothy Hatcher <timothy (a] apple.com> 7052 7053 Reviewed by Sam. 7054 7055 <rdar://problem/5472970> REGRESSION (r24276): TinyMCE popups show an empty window with no content 7056 7057 Accessing the document of a window before the load finished would cause the window 7058 object to hold onto the initial empty document, and never switch over to the real document 7059 once the load finished. This regression was caused by r24276 which added a check to prevent 7060 clearing the window object when the load finished. The absence of this clear allowed the 7061 dialogArguments set with showModalDialog to persist on the window after the load. However, 7062 not clearing the window would keep other properties (and the empty document object) around. 7063 7064 So the fix is to store away the dialog arguments that were passed to showModalDialog and 7065 put them back on the window object in the dialogArguments property each time 7066 the window is cleared. 7067 7068 * bindings/js/kjs_window.cpp: 7069 (KJS::createWindow): No longer put dialogArguments on the window here. 7070 (KJS::showModalDialog): Put dialogArguments on the window and call 7071 setDialogArgumentsAndReturnValueSlot to remember the arguments. 7072 (KJS::Window::clear): Put m_dialogArguments back on the window as dialogArguments. 7073 (KJS::WindowFunc::callAsFunction): Call the new setDialogArgumentsAndReturnValue. 7074 (KJS::Window::setDialogArgumentsAndReturnValue): Store the arguments in m_dialogArguments. 7075 * bindings/js/kjs_window.h: Rename setReturnValueSlot to setDialogArgumentsAndReturnValueSlot. 7076 * manual-tests/modal-dialog-arguments.html: Confirmed that this test still passes. 7077 7078 Reverted r24276 which was all the changes in FrameLoader.cpp and FrameLoader.h. 7079 7080 * loader/FrameLoader.cpp: 7081 (WebCore::FrameLoader::FrameLoader): Remove m_shouldClearWindowProperties. 7082 (WebCore::FrameLoader::createWindow): Remove the call to setShouldClearWindowProperties. 7083 (WebCore::FrameLoader::clear): No longer check m_shouldClearWindowProperties, clear the 7084 window whenever clearWindowProperties is set. 7085 (WebCore::FrameLoader::begin): Remove m_shouldClearWindowProperties. 7086 (WebCore::FrameLoader::open): Ditto. 7087 * loader/FrameLoader.h: Remove m_shouldClearWindowProperties. 7088 7089 2007-09-14 Brady Eidson <beidson (a] apple.com> 7090 7091 How about a build fix that works on *all* platforms? 7092 7093 * platform/Threading.h: 7094 (WebCore::initializeThreading): 7095 7096 2007-09-14 Brady Eidson <beidson (a] apple.com> 7097 7098 Roll out my previous build fix and just make the stupid thing inline 7099 (I knew there was something easier but oh boy, no coffee yet... weinig?) 7100 7101 2007-09-14 Brady Eidson <beidson (a] apple.com> 7102 7103 Rubberstamped by Mark Rowe 7104 7105 Add the logging channel I just created to the initialize list on Mac 7106 7107 * platform/mac/LoggingMac.mm: 7108 (WebCore::InitializeLoggingChannelsIfNecessary): 7109 7110 2007-09-14 Brady Eidson <beidson (a] apple.com> 7111 7112 Build fix 7113 7114 That method can't go in the header, apparently 7115 7116 * platform/Threading.h: 7117 * platform/gdk/TemporaryLinkStubs.cpp: 7118 (WebCore::initializeThreading): 7119 * platform/mac/Threading.mm: 7120 (WebCore::initializeThreading): 7121 * platform/qt/TemporaryLinkStubs.cpp: 7122 (WebCore::initializeThreading): 7123 7124 2007-09-14 Brady Eidson <beidson (a] apple.com> 7125 7126 Reviewed by Darin 7127 7128 -Add callOnMainThread() implementation to Windows 7129 7130 * WebCore.vcproj/WebCore.vcproj: 7131 7132 * loader/icon/IconDatabase.cpp: 7133 (WebCore::IconDatabase::open): Call initializeThreading() from the main thread before kicking off the secondary thread 7134 7135 * platform/Logging.cpp: Added Threading logging channel 7136 (WebCore::): 7137 * platform/Logging.h: Ditto 7138 7139 * platform/Threading.h: 7140 (WebCore::initializeThreading): Added - only needs Windows impl for now 7141 * platform/win/ThreadingWin.cpp: Added. 7142 (WebCore::callFunctionsOnMainThread): Calls each function currently in the main-thread queue 7143 (WebCore::ThreadingWindowWndProc): 7144 (WebCore::initializeThreading): Creates a message-only window to use for callOnMainThread() 7145 (WebCore::callOnMainThread): Queues the function to be called and posts a message to the threading 7146 window such that the function-call-queue can be addressed 7147 7148 * platform/win/TemporaryLinkStubs.cpp: 7149 (WebCore::signedPublicKeyAndChallengeString): 7150 7151 2007-09-14 Anders Carlsson <andersca (a] apple.com> 7152 7153 Reviewed by Adam. 7154 7155 <rdar://problem/5316743> 7156 Safari does not handle filename parameter of content-disposition 7157 7158 Use CFURLResponseCopySuggestedFilename instead of our own hand-rolled implementation. 7159 7160 While we do return the correct filename in all cases I've tried, using CFNetwork is better because 7161 it might handle corner cases that we don't. 7162 7163 * platform/network/cf/ResourceResponseCFNet.cpp: 7164 (WebCore::ResourceResponse::doUpdateResourceResponse): 7165 7166 2007-09-14 Geoffrey Garen <ggaren (a] apple.com> 7167 7168 Reviewed by Adam Roben. 7169 7170 Fixed http://bugs.webkit.org/show_bug.cgi?id=15209 7171 Sometimes removing an iframe from the DOM does not remove its frame 7172 from the page 7173 7174 * loader/FrameLoader.cpp: 7175 (WebCore::FrameLoader::requestFrame): Use the contentFrame pointer 7176 directly instead of searching for a frame by the frame element's name, 7177 because the frame element's name may have changed. (Another reason to do 7178 this is that it's just plain more straight-forward and efficient.) 7179 7180 2007-09-14 Darin Adler <darin (a] apple.com> 7181 7182 Reviewed by Mitz and Kevin Decker. 7183 7184 - fix http://bugs.webkit.org/show_bug.cgi?id=15197 7185 <rdar://problem/5478271> REGRESSION: Some Yahoo text entry fields 7186 render as lines rather than text entry boxes 7187 7188 Test: fast/forms/textarea-rows-cols.html 7189 7190 * html/HTMLTextAreaElement.cpp: 7191 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Use constants for the default number 7192 of rows and columns. 7193 (WebCore::HTMLTextAreaElement::parseMappedAttribute): If rows/cols attribute has a value 7194 that's missing, non-numeric, or zero, then use the default value. Also check for the 7195 case where the effective value of the attribute isn't changing. 7196 7197 2007-09-14 Sven Herzberg <sven (a] imendio.com> 7198 7199 Reviewed by George. 7200 7201 Don't maintain obsolete code, fixes: 7202 http://bugs.webkit.org/show_bug.cgi?id=15215 7203 7204 * platform/gdk/FontPlatformData.cpp: remove static 7205 FontPlatformData::list() (isn't used at any place) 7206 7207 2007-09-14 Sven Herzberg <sven (a] imendio.com> 7208 7209 Reviewed by Adam Roben. 7210 7211 Don't use fontconfig types if necessary, fixes: 7212 http://bugs.webkit.org/show_bug.cgi?id=15203 7213 7214 * platform/gdk/FontPlatformData.cpp: don't use an FcBool to store the 7215 initialized state, use a plain c++ bool instead 7216 7217 2007-09-13 Brady Eidson <beidson (a] apple.com> 7218 7219 Reviewed by Maciej 7220 7221 <rdar://problem/5480437> - No site icon at launch and related error messages 7222 7223 The error message was actually indicative of a larger bug that might've resulted in icons getting 7224 improperly pruned because they were never added to the set of retained page URLs. 7225 7226 To solve the no-icon-at-launch problem, we send the "didReceiveIcon:" delegate call for every page 7227 load that has an icon, whether the icon comes in from network, from disk, or was already in ram 7228 7229 * loader/FrameLoader.cpp: 7230 (WebCore::FrameLoader::startIconLoader): Always send the didReceiveIcon delegate call when an icon's 7231 image data is known 7232 7233 * loader/icon/IconDatabase.cpp: 7234 (WebCore::IconDatabase::retainIconForPageURL): Much more accurately track the set of retained pages by 7235 adding them when their retain count moves from 0 to 1 7236 7237 * loader/icon/PageURLRecord.h: 7238 (WebCore::PageURLRecord::retain): Correctly distinguish the "retain count just went from 0 to 1" case 7239 in the return value 7240 7241 2007-09-13 Brady Eidson <beidson (a] apple.com> 7242 7243 Rubberstamped by Geoff and Maciej 7244 7245 Fix MSVC build warning due to out of range data in a char array 7246 7247 * loader/icon/IconDatabase.cpp: 7248 (WebCore::IconDatabase::defaultIcon): The buffer is now unsigned data 7249 7250 * platform/SharedBuffer.cpp: 7251 (WebCore::SharedBuffer::SharedBuffer): Add the "unsigned char*" c'tor 7252 * platform/SharedBuffer.h: 7253 7254 2007-09-13 Darin Adler <darin (a] apple.com> 7255 7256 Reviewed by Oliver. 7257 7258 - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text 7259 <input> elements with maxlength limit 7260 7261 * editing/Editor.h: Moved MarkedTextUnderline here and renamed it CompositionUnderline. 7262 Moved the rest of the marked text API here and used the term that will be more familiar 7263 to those on platforms other than Macintosh, "composition". This helps prevent confusion 7264 with the other kinds of mark -- the emacs "mark" and spelling/grammar marks. Also 7265 cleaned up the conditionals a bit for the Macintosh-specific parts of this header. 7266 7267 * editing/Editor.cpp: 7268 (WebCore::Editor::Editor): Updated for name change. 7269 (WebCore::Editor::clear): Added. To be called by FrameLoader::clear(). 7270 (WebCore::Editor::insertTextWithoutSendingTextEvent): Removed code to make inserted 7271 text replace the marked text range -- we now deal with this explicitly by not 7272 calling this function to replace marked text. Also removed unneeded code that was 7273 specific to the use of this to replace the marked text. 7274 (WebCore::Editor::selectComposition): Renamed from selectMarkedText. Updated since 7275 the composition range is not stored as a Range. 7276 (WebCore::Editor::confirmComposition): Added. To be called when changing a composition 7277 into actual text. Unlike the old code path, deletes the composition first, then inserts 7278 the text, triggering the normal insertion code path and events. This is helpful because 7279 it means the inserted text will be truncated by the <input> element, for example. 7280 (WebCore::Editor::confirmCompositionWithoutDisturbingSelection): Added. 7281 (WebCore::Editor::setComposition): Added. To be called when changing the composition. 7282 Takes parameters for the underlines and selection. Unlike the old code path, this passes 7283 a flag down that indicates the inserted text is part of a composition. This is helpful 7284 because we don't send the event that will cause the <input> element to do truncation. 7285 It's also a better API for future improvements to our input method handling. 7286 (WebCore::Editor::revealSelectionAfterEditingOperation): Updated for name change. 7287 (WebCore::Editor::setIgnoreCompositionSelectionChange): Ditto. 7288 (WebCore::Editor::compositionRange): Added. Needed now that the composition is not 7289 stored as a Range. 7290 (WebCore::Editor::getCompositionSelection): Added. 7291 7292 * editing/TypingCommand.h: 7293 * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): 7294 Added an insertedTextIsComposition parameter, and don't send the BeforeTextInsertedEvent 7295 if it's true. 7296 7297 * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Replaced the Macintosh-specific 7298 call to setMarkedTextRange with a call to the new Editor::clear(). 7299 7300 * page/Frame.h: 7301 * page/Frame.cpp: 7302 * page/FramePrivate.h: 7303 * page/mac/FrameMac.mm: 7304 Removed the marked text code. It was streamlined and moved to Editor, except for the 7305 Mac-specific code, which was moved into WebKit. 7306 7307 * page/mac/WebCoreFrameBridge.h: 7308 * page/mac/WebCoreFrameBridge.mm: Removed some now-unneeded marked text code. 7309 (-[WebCoreFrameBridge markedTextNSRange]): Updated for name/API change. 7310 7311 * rendering/InlineTextBox.h: 7312 * rendering/InlineTextBox.cpp: 7313 (WebCore::InlineTextBox::paint): Updated marked text code for name changes, and also 7314 streamlined the code a bit for the case where there is no composition. 7315 (WebCore::InlineTextBox::paintCompositionBackground): Name change. 7316 (WebCore::InlineTextBox::paintCompositionUnderline): Ditto. 7317 7318 * rendering/RenderTextControl.h: 7319 * rendering/RenderTextControl.cpp: 7320 (WebCore::RenderTextControl::finishText): Added. Helper function shared by the 7321 (WebCore::RenderTextControl::text): 7322 (WebCore::getNextSoftBreak): 7323 (WebCore::RenderTextControl::textWithHardLineBreaks): 7324 7325 * platform/CharacterNames.h: Added newlineCharacter. 7326 7327 * dom/Range.h: Remove the now-unneeded version of toString that converts <br> 7328 elements into newlines. 7329 * dom/Range.cpp: 7330 (WebCore::Range::toString): Changed this to use a Vector<UChar> instead of 7331 a String so it will not have pathological reallocation performance, and removed 7332 the <br> feature. 7333 (WebCore::Range::pastEndNode): Made this return 0 when there is no start node. 7334 This bit of extra robustness guarantees you can't do a null dereference if the 7335 start node is 0 and the end node is not. Not sure this case really exists. 7336 7337 * page/ContextMenuController.cpp: (ContextMenuController::contextMenuItemSelected): 7338 Removed a semi-bogus use of Range::toString(true). The right function to use here 7339 is plainText(). 7340 7341 * bridge/EditorClient.h: Removed obsolete markedTextAbandoned function. 7342 7343 * WebCore.exp: Updated for above changes. 7344 7345 2007-09-13 Anders Carlsson <andersca (a] apple.com> 7346 7347 Reviewed by Adam and Geoff. 7348 7349 <rdar://problem/5304000> 7350 Windows Safari doesn't always call NPP_SetWindow() for NPAPI plugins. 7351 7352 This does two things: 7353 7354 1. Makes sure that the plug-in get the correct initial size. 7355 7356 2. Always updates the size of the HWND, even if the widget size didn't change. This is because 7357 the widget size can be different before the HWND has been created. 7358 7359 * plugins/win/PluginDatabaseWin.cpp: 7360 (WebCore::PluginDatabaseWin::createPluginView): 7361 * plugins/win/PluginDatabaseWin.h: 7362 * plugins/win/PluginViewWin.cpp: 7363 (WebCore::PluginViewWin::setFrameGeometry): 7364 (WebCore::PluginViewWin::PluginViewWin): 7365 * plugins/win/PluginViewWin.h: 7366 7367 2007-09-13 Kevin McCullough <kmccullough (a] apple.com> 7368 7369 Reviewed by Geof, Sam, Adam, Hyatt, Darin. 7370 7371 - <rdar://problem/5480234> JS setTimeout function requires a second argument 7372 - Removed check for number of arguments in setTimeout to behave like other browsers. 7373 - Added layoutTest setTimeout-no-arguments.html 7374 7375 * bindings/js/kjs_window.cpp: 7376 (KJS::WindowFunc::callAsFunction): 7377 7378 2007-09-13 Dave Hyatt <hyatt (a] apple.com> 7379 7380 Some minor Windows font improvements before I make the larger changes. 7381 7382 Reviewed by aroben, weinig 7383 7384 * platform/win/FontCacheWin.cpp: 7385 (WebCore::FontCache::getFontDataForCharacters): 7386 Don't use the currently selected font in the HDC when passing priority code pages to MLANG. Make 7387 sure to use ACP code pages instead so that there won't be any confusion regarding traditional vs. 7388 simplified chinese, etc. 7389 7390 * platform/win/FontDataWin.cpp: 7391 (WebCore::FontData::containsCharacters): 7392 Rewrite containsCharacters so that it isn't glyph-dependent (since CG doesn't shape, this call is 7393 rejecting fonts that it shouldn't). Re-implement this method in terms of MLang and use code page 7394 testing. 7395 7396 * platform/win/UniscribeController.cpp: 7397 (WebCore::UniscribeController::itemizeShapeAndPlace): 7398 Add some comments to explain the additional item in the items array. 7399 7400 (WebCore::UniscribeController::shape): 7401 Fix up the missing glyph check when doing uniscribe shaping. Only wgDefault matters as far as doing 7402 font fallback. 7403 7404 2007-09-13 kuchhal <kuchhal (a] yahoo.com> 7405 7406 Reviewed, tweaked and landed by Anders. 7407 7408 <rdar://problem/5461153> 7409 http://bugs.webkit.org/show_bug.cgi?id=15143 7410 Crash seen on Windows 7411 7412 Null check frame before calling Frame::settings. 7413 7414 * loader/PluginDocument.cpp: 7415 (WebCore::PluginTokenizer::writeRawData): 7416 7417 2007-09-12 Holger Hans Peter Freyther <zecke (a] selfish.org> 7418 7419 Reviewed by Mark. 7420 7421 Implement the FileChooser for the WebKit/Gtk+ port by using 7422 the GtkFileChooserDialog and g_path_get_basename to get the 7423 basename for the current filename. 7424 7425 7426 * WebCore.pro: 7427 * platform/gdk/FileChooserGdk.cpp: Added. 7428 (WebCore::FileChooser::FileChooser): 7429 (WebCore::FileChooser::~FileChooser): 7430 (WebCore::FileChooser::openFileChooser): 7431 (WebCore::FileChooser::basenameForWidth): 7432 * platform/gdk/TemporaryLinkStubs.cpp: 7433 7434 2007-09-12 Holger Hans Peter Freyther <zecke (a] selfish.org> 7435 7436 Reviewed by Mark. 7437 7438 Move the "string" functions from the TemporaryLinkStubs.cpp 7439 to LocalizedStringsGdk.cpp and implement them using the text 7440 from the win port and glib-i18n (gettext). 7441 7442 * platform/gdk/LocalizedStringsGdk.cpp: Added. 7443 (WebCore::submitButtonDefaultLabel): 7444 (WebCore::inputElementAltText): 7445 (WebCore::resetButtonDefaultLabel): 7446 (WebCore::searchableIndexIntroduction): 7447 (WebCore::fileButtonChooseFileLabel): 7448 (WebCore::fileButtonNoFileSelectedLabel): 7449 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 7450 (WebCore::contextMenuItemTagDownloadLinkToDisk): 7451 (WebCore::contextMenuItemTagCopyLinkToClipboard): 7452 (WebCore::contextMenuItemTagOpenImageInNewWindow): 7453 (WebCore::contextMenuItemTagDownloadImageToDisk): 7454 (WebCore::contextMenuItemTagCopyImageToClipboard): 7455 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 7456 (WebCore::contextMenuItemTagCopy): 7457 (WebCore::contextMenuItemTagGoBack): 7458 (WebCore::contextMenuItemTagGoForward): 7459 (WebCore::contextMenuItemTagStop): 7460 (WebCore::contextMenuItemTagReload): 7461 (WebCore::contextMenuItemTagCut): 7462 (WebCore::contextMenuItemTagPaste): 7463 (WebCore::contextMenuItemTagNoGuessesFound): 7464 (WebCore::contextMenuItemTagIgnoreSpelling): 7465 (WebCore::contextMenuItemTagLearnSpelling): 7466 (WebCore::contextMenuItemTagSearchWeb): 7467 (WebCore::contextMenuItemTagLookUpInDictionary): 7468 (WebCore::contextMenuItemTagOpenLink): 7469 (WebCore::contextMenuItemTagIgnoreGrammar): 7470 (WebCore::contextMenuItemTagSpellingMenu): 7471 (WebCore::contextMenuItemTagShowSpellingPanel): 7472 (WebCore::contextMenuItemTagCheckSpelling): 7473 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 7474 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 7475 (WebCore::contextMenuItemTagFontMenu): 7476 (WebCore::contextMenuItemTagBold): 7477 (WebCore::contextMenuItemTagItalic): 7478 (WebCore::contextMenuItemTagUnderline): 7479 (WebCore::contextMenuItemTagOutline): 7480 (WebCore::contextMenuItemTagWritingDirectionMenu): 7481 (WebCore::contextMenuItemTagDefaultDirection): 7482 (WebCore::contextMenuItemTagLeftToRight): 7483 (WebCore::contextMenuItemTagRightToLeft): 7484 (WebCore::contextMenuItemTagInspectElement): 7485 (WebCore::searchMenuNoRecentSearchesText): 7486 (WebCore::searchMenuRecentSearchesText): 7487 (WebCore::searchMenuClearRecentSearchesText): 7488 (WebCore::unknownFileSizeText): 7489 * platform/gdk/TemporaryLinkStubs.cpp: 7490 7491 2007-09-10 Holger Hans Peter Freyther <zecke (a] selfish.org> 7492 7493 Reviewed by Mark. 7494 7495 EventHandlerGdk::createDraggingClipboard must succeed otherwise an 7496 ASSERT is hit. Add Clipboard stubs for the Gdk/Gtk+ port and 7497 instantiate ClipboardGdk from the EventHandlerGdk to make the ASSERT 7498 go away. In contrast to the Windows and Mac port this clipboard is not 7499 inheriting CachedResourceClient. This was proposed by Oliver. 7500 7501 * WebCore.pro: 7502 * page/gdk/EventHandlerGdk.cpp: 7503 * platform/gdk/ClipboardGdk.cpp: Added. 7504 (WebCore::ClipboardGdk::ClipboardGdk): 7505 (WebCore::ClipboardGdk::~ClipboardGdk): 7506 (WebCore::ClipboardGdk::clearData): 7507 (WebCore::ClipboardGdk::clearAllData): 7508 (WebCore::ClipboardGdk::getData): 7509 (WebCore::ClipboardGdk::setData): 7510 (WebCore::ClipboardGdk::types): 7511 (WebCore::ClipboardGdk::dragLocation): 7512 (WebCore::ClipboardGdk::dragImage): 7513 (WebCore::ClipboardGdk::setDragImage): 7514 (WebCore::ClipboardGdk::dragImageElement): 7515 (WebCore::ClipboardGdk::setDragImageElement): 7516 (WebCore::ClipboardGdk::createDragImage): 7517 (WebCore::ClipboardGdk::declareAndWriteDragImage): 7518 (WebCore::ClipboardGdk::writeURL): 7519 (WebCore::ClipboardGdk::writeRange): 7520 (WebCore::ClipboardGdk::hasData): 7521 * platform/gdk/ClipboardGdk.h: Added. 7522 7523 2007-09-12 Oliver Hunt <oliver (a] apple.com> 7524 7525 Reviewed by Adam. 7526 7527 Corrections missed in previous revision 7528 7529 * platform/Cursor.h: 7530 * platform/win/CursorWin.cpp: 7531 (WebCore::loadCursorByName): 7532 7533 2007-09-12 Oliver Hunt <oliver (a] apple.com> 7534 7535 Reviewed by Adam. 7536 7537 Fixing 7538 <rdar://problem/5018591> Windows doesn't have a standard vertical text cursor 7539 <rdar://problem/5224996> Add zoom in and zoom out cursors 7540 7541 Added SharedCursor for CursorWin so we can correctly track lifetime of custom/image 7542 based cursors, such as the vertical text and zooming cursors. 7543 7544 * platform/Cursor.h: 7545 (WebCore::SharedCursor::SharedCursor): 7546 (WebCore::SharedCursor::~SharedCursor): 7547 (WebCore::SharedCursor::nativeCursor): 7548 * platform/win/CursorWin.cpp: 7549 (WebCore::Cursor::Cursor): 7550 (WebCore::loadCursorByName): 7551 (WebCore::loadSharedCursor): 7552 (WebCore::pointerCursor): 7553 (WebCore::crossCursor): 7554 (WebCore::handCursor): 7555 (WebCore::iBeamCursor): 7556 (WebCore::waitCursor): 7557 (WebCore::helpCursor): 7558 (WebCore::eastResizeCursor): 7559 (WebCore::northResizeCursor): 7560 (WebCore::northEastResizeCursor): 7561 (WebCore::northWestResizeCursor): 7562 (WebCore::southResizeCursor): 7563 (WebCore::southEastResizeCursor): 7564 (WebCore::southWestResizeCursor): 7565 (WebCore::westResizeCursor): 7566 (WebCore::northSouthResizeCursor): 7567 (WebCore::eastWestResizeCursor): 7568 (WebCore::northEastSouthWestResizeCursor): 7569 (WebCore::northWestSouthEastResizeCursor): 7570 (WebCore::columnResizeCursor): 7571 (WebCore::rowResizeCursor): 7572 (WebCore::moveCursor): 7573 (WebCore::verticalTextCursor): 7574 (WebCore::progressCursor): 7575 (WebCore::notAllowedCursor): 7576 (WebCore::zoomInCursor): 7577 (WebCore::zoomOutCursor): 7578 * platform/win/WidgetWin.cpp: 7579 (WebCore::Widget::setCursor): 7580 7581 2007-09-12 Brady Eidson <beidson (a] apple.com> 7582 7583 Reviewed by Geoff Garen 7584 7585 <rdar://problem/5478577> - Further improve cold launch time with Icon Database changes 7586 7587 * loader/icon/IconDatabase.cpp: 7588 (WebCore::IconDatabase::open): Store the directory and full path for later usage and access in the API, respectively 7589 Move the makeAllDirectories() call to the background thread. 7590 (WebCore::IconDatabase::IconDatabase): Don't set up the timer here... 7591 (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Create the timer on demand 7592 (WebCore::IconDatabase::iconDatabaseSyncThread): makeAllDirectories() here where it's not as expensive 7593 (WebCore::IconDatabase::cleanupSyncThread): Cleanup the directory as well as full path 7594 7595 * loader/icon/IconDatabase.h: m_syncTimer becomes an OwnPtr, and we add the database directory 7596 as a member to set it on the main thread and act with it on the background thread 7597 7598 2007-09-12 Justin Garcia <justin.garcia (a] apple.com> 7599 7600 Reviewed by Tristan. 7601 7602 <rdar://problem/5469868> 7603 GoogleDocs: A hang occurs when applying list styling to a selection in a <table> 7604 7605 When list insertion moves selected paragraphs into list items, it relies on 7606 the selection preservation code inside moveParagraphs to iterate over the 7607 selected paragraphs. If a selection is ever restored incorrectly (before 7608 the original, or inside the original) list insertion will go into an infinite loop. 7609 7610 In this hang, a table was selected and the selection preservation code incorrectly 7611 restored a selection, placing it inside the table. 7612 7613 The bug was that a TextIterator, when being used for selection preservation, must 7614 emit a character between every VisiblePosition in the Range used to create the 7615 iterator. 7616 7617 * editing/TextIterator.cpp: 7618 (WebCore::TextIterator::TextIterator): Renamed the boolean that we use for 7619 selection preservation. It used to be m_emitForReplacedElements because 7620 we believed that replaced elements were the only case where TextIterators 7621 should have emitted differently when used for selection preservation. 7622 (WebCore::TextIterator::handleReplacedElement): Ditto. 7623 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Represent the 7624 position before block tables, but only if we are emitting for selection 7625 preservation. 7626 (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode): We should emit 7627 a space before and after block tables if we are emitting for selection 7628 preservation (because we have VisiblePositions before and after them). 7629 (WebCore::TextIterator::handleNonTextNode): Use a renamed variable. 7630 * editing/TextIterator.h: Made shouldEmitSpaceBeforeAndAfterNode a member 7631 function, because whether or not we emit spaces before and after a block 7632 table depends we're emitting for selection preservation. 7633 7634 2007-09-12 Beth Dakin <bdakin (a] apple.com> 7635 7636 Reviewed by Hyatt. 7637 7638 Fix for <rdar://problem/5464998> REGRESSION (9A543): Using Sort 7639 options takes you back to search screen on zappos.com 7640 7641 The current mechanism for preserving form elements across removes 7642 did not work in the case where the input was moved by the parser to 7643 be out of scope of the form. This fixes that problem by having the 7644 parser keep track of the preserve boolean rather than the current 7645 form element. 7646 7647 * dom/Tokenizer.h: 7648 (WebCore::Tokenizer::isHTMLTokenizer): New function. 7649 * html/HTMLFormElement.cpp: 7650 (WebCore::HTMLFormElement::HTMLFormElement): Get rid of 7651 m_preserveAcrossRemove. 7652 * html/HTMLFormElement.h: 7653 (WebCore::HTMLFormElement::isMalformed): Get rid of 7654 m_preserveAcrossRemove. 7655 * html/HTMLGenericFormElement.cpp: 7656 (WebCore::HTMLGenericFormElement::removedFromTree): Ask the parser 7657 if it is currently handling residual style rather than asking the 7658 form if it wants to preserveAcrossRemove. 7659 * html/HTMLParser.cpp: 7660 (WebCore::HTMLParser::HTMLParser): New boolean to initialize. 7661 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Set 7662 m_handlingResidualStyleAcrossBlocks to true at the beginning and 7663 false at the end. 7664 * html/HTMLParser.h: 7665 (WebCore::HTMLParser::isHandlingResidualStyleAcrossBlocks): 7666 * html/HTMLTokenizer.h: 7667 (WebCore::HTMLTokenizer::isHTMLTokenizer): 7668 (WebCore::HTMLTokenizer::htmlParser): 7669 7670 2007-09-12 George Staikos <staikos (a] kde.org> 7671 7672 Fix compilation in some configurations for patch I reviewed and missed 7673 this option on. 7674 7675 * platform/qt/CursorQt.cpp: 7676 (WebCore::Cursor::Cursor): 7677 7678 2007-09-12 Brady Eidson <beidson (a] apple.com> 7679 7680 Reviewed by Tim Hatcher and Kevin Decker 7681 7682 <rdar://problem/5367045> - Launch time regression due to accessing resource from a different bundle 7683 7684 When the default icon was moved from WebKit to WebCore, we had to access an entirely new bundle on launch which 7685 measurably increased time during launch accessing the disk. 7686 7687 Instead of moving it back to the WebKit bundle, lets make launch time even faster by compiling in the icon. 7688 7689 * Resources/urlIcon.tiff: Removed. 7690 7691 * WebCore.xcodeproj/project.pbxproj: Removed urlIcon.tiff 7692 7693 * loader/icon/IconDatabase.cpp: 7694 (WebCore::IconDatabase::defaultIcon): Compile in the icon data here. 7695 7696 2007-09-12 Adam Roben <aroben (a] apple.com> 7697 7698 Always specify that slider thumbs are small when painting with SafariTheme 7699 7700 This is the only size we support. 7701 7702 Reviewed by Sam. 7703 7704 * rendering/RenderThemeSafari.cpp: 7705 (WebCore::RenderThemeSafari::paintSliderThumb): 7706 7707 2007-09-12 Brady Eidson <beidson (a] apple.com> 7708 7709 Reviewed by Darin 7710 7711 <rdar://problem/5474753> - ASSERT in IconDatabase ReadySQLStatement 7712 7713 * loader/icon/IconDatabase.cpp: 7714 (WebCore::readySQLStatement): This is a LOG_ERROR situation, not really an ASSERT situation 7715 7716 2007-09-12 Adam Roben <aroben (a] apple.com> 7717 7718 Don't ask SafariTheme to draw focus rings around text controls 7719 7720 We do this ourselves. 7721 7722 Reviewed by Oliver. 7723 7724 * rendering/RenderThemeSafari.cpp: 7725 7726 2007-09-11 Brady Eidson <beidson (a] apple.com> 7727 7728 Reviewed by Darin 7729 7730 <rdar://problem/5475639> and http://bugs.webkit.org/show_bug.cgi?id=15185 - 7731 Prevent two WebKits from fighting over the database schema in the future in case it ever changes again 7732 7733 By telling the "older schema" WebKit to simply close itself and not bother to do any icon related stuff 7734 if the database schema is newer, we prevent the possibility of an older webkit run side-by-side with a newer 7735 WebKit causing icon database issues. 7736 7737 * loader/icon/IconDatabase.cpp: 7738 (WebCore::IconDatabase::defaultDatabaseFilename): Rev the icon database filename to be "WebpageIcons.db" The name is 7739 more appropriate for what is actually stored in the file, and since we're already not converting v5 to v6 icons, 7740 making this leap now makes sense and gives us a good "future-proof" baseline 7741 (WebCore::isValidDatabase): Change the validity check to be "less then" instead of "not equal to" - the 7742 "greater than" case is now handled in performOpenInitialization() 7743 (WebCore::IconDatabase::performOpenInitialization): If the schema version is greater than the current, then 7744 close the database as to not conflict with the newer version. Also noted that the integrity check failure 7745 should actually close the sql database, not the icondatabase 7746 (WebCore::IconDatabase::syncThreadMainLoop): If termination has already been requested, skip straight to cleanup 7747 (WebCore::IconDatabase::cleanupSyncThread): More correctly set the "sync thread running" flag to false here, 7748 as the thread can now decide to exit on its own 7749 7750 2007-09-12 Mike Fenton <mike (a] staikos.net> 7751 7752 Reviewed by George Staikos. 7753 7754 Patch from Mike Fenton to allow custom cursors. 7755 7756 * platform/qt/CursorQt.cpp: 7757 7758 2007-09-11 Kevin Decker <kdecker (a] apple.com> 7759 7760 Reviewed by Oliver Hunt. 7761 7762 Fixed: <rdar://problem/5472402> crash due to infinite recursion in expandUseElementsInShadowTree on SVG from wikipedia 7763 7764 * ksvg2/svg/SVGUseElement.cpp: Added SVG_EXPERIMENTAL #ifdef for expandUseElementsInShadowTree(). 7765 (WebCore::SVGUseElement::buildPendingResource): Ditto. 7766 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): Tweaked an ASSERT to not fire on non-experimental builds. 7767 * ksvg2/svg/SVGUseElement.h: Added SVG_EXPERIMENTAL #ifdef for expandUseElementsInShadowTree(). 7768 7769 2007-09-11 Brady Eidson <beidson (a] apple.com> 7770 7771 Reviewed by Maciej 7772 7773 Fix for <rdar://problem/5473046> - Crash when resetting all icons 7774 7775 Originally I'd written the "reset all icons" to be synchronous on the main thread, but it 7776 was decided that it should be async since it involved I/O. Turns out it needs to be... both! 7777 Synchronous removal of all in-memory records of icons, and then continue and clean up the 7778 on-disk database on the background thread. 7779 7780 Also, it turns out that resetting all the page url retain counts should *not* be part of 7781 "reset all icons" because it breaks various contracts the API makes about maintaining retain counts. 7782 7783 The problem that occured here was removing all the icons, then all the history items that were 7784 removed as part of "Reset Safari..." would try to release their icon, but their icon doesn't exist 7785 anymore. 7786 7787 We get around this by simply leaving the in-memory page url records and retain counts alone - they 7788 are still wiped from disk. 7789 7790 * loader/icon/IconDatabase.cpp: 7791 (WebCore::IconDatabase::removeAllIcons): Clear in-memory records of all icons then tell the thread to 7792 wipe the on-disk tables 7793 (WebCore::IconDatabase::removeAllIconsOnThread): Only do the disk cleanup - in-memory maintenance is 7794 handled on the main thread 7795 (WebCore::IconDatabase::cleanupSyncThread): Now that it's possible for new "icons to be written to disk" 7796 to appear while on-disk deleting is occuring, let the cleanup procedure perform 1 final write *after* 7797 it does the remove all icons 7798 * loader/icon/IconDatabase.h: Removed unused lock and condition 7799 7800 * loader/icon/PageURLRecord.cpp: 7801 (WebCore::PageURLRecord::setIconRecord): Allow setting a NULL icon record, so a PageURLRecord can be 7802 cleared as part of removeAllIcons() 7803 7804 2007-09-11 Tristan O'Tierney <tristan (a] apple.com> 7805 7806 Reviewed by David Harrison. 7807 7808 <rdar://problem/5467203> CrashTracer: [USER] 1 crash in Mail at <unknown binary>: WebCore::Range::startContainer const 7809 7810 * editing/SelectionController.cpp: 7811 (WebCore::SelectionController::addRange): 7812 (WebCore::SelectionController::setSelectedRange): 7813 Added a check to make sure the passed in Range* value is not null 7814 before performing operations on it. 7815 7816 2007-09-11 Justin Garcia <justin.garcia (a] apple.com> 7817 7818 Reviewed by Maciej. 7819 7820 <rdar://problem/5458246> 7821 GoogleDocs: A hang occurs when applying list styling to selection that contains a <HR> 7822 7823 List insertion moves selected paragraphs into list items, and relies on the selection 7824 preservation code inside moveParagraphs to iterate over the selected paragraphs. 7825 When list insertion would try to listify a paragraph that came after a list item 7826 containing an <hr>, the selection preservation code would set an incorrect ending 7827 selection because of a TextIterator bug, and we would try to listify the same 7828 paragraph over and over. 7829 7830 * editing/CompositeEditCommand.cpp: 7831 (WebCore::CompositeEditCommand::moveParagraphs): Pass range compliant equivalents to 7832 the Range constructor here. The position [hr, 0] is not a valid DOM Range endpoint 7833 for example. 7834 * editing/TextIterator.cpp: 7835 (WebCore::shouldEmitSpaceForNode): Added. 7836 (WebCore::TextIterator::handleNonTextNode): Emit a space to represent a horizontal rule, 7837 since it has VisiblePositions before and after it, but only for TextIterators used for 7838 selection preservation, so innerText will be unaffected. 7839 7840 2007-09-11 Ada Chan <adachan (a] apple.com> 7841 7842 <rdar://problem/5472130> Support NTLM authentication via CFNetwork. 7843 7844 Reviewed by Darin. 7845 7846 * platform/network/ProtectionSpace.h: 7847 (WebCore::): 7848 * platform/network/cf/AuthenticationCF.cpp: 7849 (WebCore::createCF): 7850 (WebCore::core): 7851 7852 2007-09-11 Darin Adler <darin (a] apple.com> 7853 7854 Rubber-stamped by Dave Harrison. 7855 7856 - fixed pasteboard types here to match WebKit and use constants instead of 7857 WebKitSystemInterface 7858 7859 * platform/mac/PasteboardMac.mm: Use constants for all pasteboard type strings. 7860 7861 * platform/mac/WebCoreSystemInterface.h: Removed wkCreateURLPasteboardFlavorTypeName 7862 and wkCreateURLNPasteboardFlavorTypeName. 7863 7864 2007-09-11 Sven Herzberg <sven (a] imendio.com> 7865 7866 Reviewed by Mark. 7867 7868 Remove unnecessary fields in FontPlatformData 7869 http://bugs.webkit.org/show_bug.cgi?id=15177 7870 7871 * platform/gdk/FontDataGdk.cpp: removed the destroy code of the fields 7872 that have been removed 7873 * platform/gdk/FontPlatformData.h: removed m_fontFace, m_fontMatrix 7874 and m_options; hask on m_scaledFont 7875 * platform/gdk/FontPlatformDataGdk.cpp: simplified setFont() by using 7876 m_scaledFont only; turned the former struct members into local 7877 variables 7878 7879 2007-09-11 George Staikos <staikos (a] kde.org> 7880 7881 Reviewed by Anders. 7882 7883 Work around gcc bug with some old gcc versions. 7884 7885 * platform/qt/WidgetQt.cpp: 7886 (WebCore::Widget::convertToContainingWindow): 7887 (WebCore::Widget::convertFromContainingWindow): 7888 7889 2007-09-10 Mitz Pettel <mitz (a] webkit.org> 7890 7891 Reviewed by Maciej Stachowiak. 7892 7893 - fix http://bugs.webkit.org/show_bug.cgi?id=15157 7894 Image defined in background-position: top center gets unexpectedly truncated 7895 <rdar://problem/5469095> 7896 7897 Test: fast/repaint/body-background-image.html 7898 7899 * rendering/RenderBox.cpp: 7900 (WebCore::RenderBox::imageChanged): Refined the logic for when the root takes 7901 over painting the background, to match paintBoxDecorations(). In particular, 7902 if the root has defined a background, the body should paint its own background. 7903 7904 2007-09-10 David Harrison <harrison (a] apple.com> 7905 7906 Reviewed by Kevin and Tristan. 7907 7908 Tests added: 7909 * editing/pasteboard/paste-into-anchor-text.html: Added. 7910 * editing/pasteboard/paste-table-cells.html: Added. 7911 7912 Source changes: 7913 * editing/CompositeEditCommand.cpp: 7914 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 7915 Nil check enclosingAnchor. 7916 7917 * editing/ReplaceSelectionCommand.cpp: 7918 (WebCore::ReplaceSelectionCommand::removeNodeAndPruneAncestors): 7919 New. Keeps m_firstNodeInserted and m_lastLeafInserted updated. 7920 7921 (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance): 7922 Added a comment. 7923 7924 (WebCore::ReplaceSelectionCommand::removeRedundantStyles): 7925 Let ReplaceSelectionCommand::removeNodeAndPruneAncestors() update the nodes. 7926 7927 (WebCore::ReplaceSelectionCommand::doApply): 7928 Pass originalVisPosBeforeEndBR to shouldRemoveEndBR() 7929 7930 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): 7931 Don't remove the br if nothing was inserted. 7932 7933 * editing/ReplaceSelectionCommand.h: 7934 Add VisiblePosition parameter to shouldRemoveEndBR() 7935 7936 * editing/markup.cpp: 7937 (WebCore::createMarkup): 7938 Wrap orphan tr element with a table element, just like we were doing 7939 for tobody elements. 7940 7941 2007-09-10 David Kilzer <ddkilzer (a] apple.com> 7942 7943 Rubberstamped by Kevin Decker. 7944 7945 No test required since there is no change in functionality. 7946 7947 * history/BackForwardList.cpp: 7948 (WebCore::BackForwardList::BackForwardList): Fix misspelling of DefaultCapacitiy to DefaultCapacity. 7949 7950 2007-09-10 Mitz Pettel <mitz (a] webkit.org> 7951 7952 Reviewed by Adele Peterson. 7953 7954 - fix http://bugs.webkit.org/show_bug.cgi?id=15156 7955 REGRESSION (r24594-r24668): The bottom of styled <select> button text is clipped out 7956 <rdar://problem/5464301> 7957 7958 Test: fast/forms/menulist-clip.html 7959 7960 * rendering/RenderMenuList.cpp: 7961 (WebCore::RenderMenuList::controlClipRect): Use correct coordinates for 7962 the inner block's content rect. 7963 7964 2007-09-10 Brady Eidson <beidson (a] apple.com> 7965 7966 Reviewed by Darin, Sam, Oliver, Geoff, probably others - what a fun one to review! 7967 7968 <rdar://problem/5471641> - URLs get the wrong icon 7969 7970 Turns out sqlite3_reset() doesn't clear bindings, so previously bound icons were being 7971 written out for pages without icons. Easy fix! 7972 7973 * loader/icon/IconDatabase.cpp: 7974 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): For null icons, manually 7975 bind NULL - otherwise, the previously bound icon will be written out to disk 7976 7977 * loader/icon/SQLStatement.cpp: 7978 (WebCore::SQLStatement::bindNull): Access to sqlite3_bind_null 7979 * loader/icon/SQLStatement.h: 7980 7981 2007-09-10 Anders Carlsson <andersca (a] apple.com> 7982 7983 Reviewed by Oliver and Darin. 7984 7985 <rdar://problem/5468613> 7986 Using shockwave pages first time after plugin install crashed safari in PluginPing. 7987 7988 Only restore the window proc if the plugin didn't override it. 7989 7990 * plugins/win/PluginViewWin.cpp: 7991 (WebCore::PluginViewWin::stop): 7992 7993 2007-09-10 Justin Garcia <justin.garcia (a] apple.com> 7994 7995 Reviewed by Darin. 7996 7997 <rdar://problem/5467405> 7998 Revert back behavior of -webkit-user-select to fix widget selection problems 7999 8000 Rolled out r25086 and r25057. I will be re-opening: 8001 <rdar://problem/5333725> -webkit-user-select: none makes selection difficult 8002 Which we will either to defer or fix by introducing a new value of -webkit-user-select. 8003 <rdar://problem/5370059> REGRESSION: Cannot type into edit fields on a form (sccsheriff.org) 8004 Which we will either defer or fix with Adele's patch that doesn't involve making 8005 -webkit-user-select inherited. 8006 8007 * css/CSSComputedStyleDeclaration.cpp: 8008 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 8009 * css/CSSStyleSelector.cpp: 8010 (WebCore::CSSStyleSelector::adjustRenderStyle): 8011 (WebCore::CSSStyleSelector::applyProperty): 8012 * editing/SelectionController.cpp: 8013 (WebCore::SelectionController::selectAll): 8014 * page/EventHandler.cpp: 8015 (WebCore::EventHandler::selectClosestWordFromMouseEvent): 8016 (WebCore::EventHandler::handleMousePressEventTripleClick): 8017 (WebCore::EventHandler::handleMousePressEventSingleClick): 8018 (WebCore::EventHandler::updateSelectionForMouseDrag): 8019 (WebCore::EventHandler::selectCursor): 8020 (WebCore::EventHandler::canMouseDownStartSelect): 8021 * page/EventHandler.h: 8022 * rendering/RenderObject.cpp: 8023 (WebCore::selectStartNode): 8024 (WebCore::RenderObject::canSelect): 8025 (WebCore::RenderObject::shouldSelect): 8026 (WebCore::RenderObject::draggableNode): 8027 * rendering/RenderObject.h: 8028 * rendering/RenderStyle.cpp: 8029 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 8030 (WebCore::StyleRareNonInheritedData::operator==): 8031 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 8032 (WebCore::StyleRareInheritedData::operator==): 8033 (WebCore::RenderStyle::diff): 8034 * rendering/RenderStyle.h: 8035 (WebCore::): 8036 (WebCore::RenderStyle::userSelect): 8037 (WebCore::RenderStyle::setUserSelect): 8038 (WebCore::RenderStyle::initialUserSelect): 8039 8040 2007-09-10 Antti Koivisto <antti (a] apple.com> 8041 8042 Reviewed by Kevin. 8043 8044 Fix <rdar://problem/5444866> 8045 REGRESSION: missing text in Acrobat "Getting Started" screen due to change in load ordering of large resources 8046 8047 Make external scripts loaded using file: wait until all style sheet loads have completed before executing. 8048 Fixes a class of problems where there is a dependency between script and stylesheet and results would effectively 8049 get randomized based on which order the resources arrived. In Tiger file loads were effectively serialized by 8050 lower level components, which is why this regressed. 8051 8052 Test: http/tests/local/stylesheet-and-script-load-order.html 8053 8054 * dom/Document.cpp: 8055 (WebCore::Document::removePendingSheet): 8056 * dom/Tokenizer.h: 8057 (WebCore::Tokenizer::executeScriptsWaitingForStylesheets): 8058 * html/HTMLTokenizer.cpp: 8059 (WebCore::HTMLTokenizer::HTMLTokenizer): 8060 (WebCore::HTMLTokenizer::begin): 8061 (WebCore::HTMLTokenizer::executeScriptsWaitingForStylesheets): 8062 (WebCore::HTMLTokenizer::notifyFinished): 8063 * html/HTMLTokenizer.h: 8064 8065 2007-09-08 David Smith <catfish.man (a] gmail.com> 8066 8067 Reviewed by Maciej Stachowiak. 8068 8069 http://bugs.webkit.org/show_bug.cgi?id=15148 8070 Bug 15148: Poor performance on crazy DOM raytracer 8071 8072 Switch data structures to avoid quadratic behavior. 8073 8074 * rendering/RenderBlock.cpp: 8075 (WebCore::RenderBlock::layoutPositionedObjects): Update for ListHashSet 8076 (WebCore::RenderBlock::markPositionedObjectsForLayout): Update for ListHashSet 8077 (WebCore::RenderBlock::insertPositionedObject): Use ListHashSet to avoid expensive uniqueing 8078 (WebCore::RenderBlock::removePositionedObject): Update for ListHashSet 8079 (WebCore::RenderBlock::removePositionedObjects): Update for ListHashSet 8080 (WebCore::RenderBlock::lowestPosition): Update for ListHashSet 8081 (WebCore::RenderBlock::rightmostPosition): Update for ListHashSet 8082 (WebCore::RenderBlock::leftmostPosition): Update for ListHashSet 8083 (WebCore::RenderBlock::rightBottom): Update for ListHashSet 8084 * rendering/RenderBlock.h: Change m_positionedObjects from DeprecatedPtrList to ListHashSet 8085 8086 2007-09-09 Brady Eidson <beidson (a] apple.com> 8087 8088 Rubberstamped by Darin 8089 8090 pthread_main_np() is a Darwin thing, not a Mac thing 8091 8092 * loader/icon/IconDatabase.cpp: 8093 (WebCore::IconDatabase::IconDatabase): 8094 8095 2007-09-09 Holger Hans Peter Freyther <zecke (a] selfish.org> 8096 8097 Build fix for Gtk+ by adding WebCore::callOnMainThread to the TemporaryLinkStubs. 8098 8099 * platform/gdk/TemporaryLinkStubs.cpp: 8100 (WebCore::callOnMainThread): 8101 8102 2007-09-08 George Staikos <staikos (a] kde.org> 8103 8104 Reviewed by Olliej. 8105 8106 Separate out and implement FileSystem functions, and stub out the 8107 icondatabase function for future implementation. 8108 8109 * WebCore.pro: 8110 * platform/qt/FileSystemQt.cpp: Added. 8111 (WebCore::fileExists): 8112 (WebCore::deleteFile): 8113 * platform/qt/TemporaryLinkStubs.cpp: 8114 * platform/qt/ThreadingQt.cpp: Added. 8115 (WebCore::callOnMainThread): 8116 8117 2007-09-08 Mark Rowe <mrowe (a] apple.com> 8118 8119 Build fix for when ENABLE(ICONDATABASE) is not set. 8120 8121 * loader/icon/IconDatabaseNone.cpp: 8122 (WebCore::IconDatabase::~IconDatabase): 8123 8124 2007-09-08 Mark Rowe <mrowe (a] apple.com> 8125 8126 More fixes for the Qt and Gtk builds. 8127 8128 * WebCore.pro: Update for file changes. 8129 * loader/icon/IconDatabase.cpp: Include errno.h for EDEADLK. 8130 * loader/icon/PageURLRecord.h: 8131 8132 2007-09-08 Justin Garcia <justin.garcia (a] apple.com> 8133 8134 Backing my change back in without the changes to VisiblePosition::next 8135 and previous that weren't necessary to fix the bug and were causing some 8136 layout test failures. Most of the failures appeared to be fixes but I 8137 want more time to investigate and have to move to on to another task. 8138 8139 * editing/Selection.cpp: 8140 (WebCore::Selection::validate): 8141 * editing/visible_units.cpp: 8142 (WebCore::endOfWord): 8143 8144 2007-09-08 Brady Eidson <beidson (a] apple.com> 8145 8146 Reviewed by Mark Rowe 8147 8148 Fix the _NSAutoreleaseNoPool() errors on launch - We were using NSFileManager on the secondary 8149 thread with no NSAutoreleasePool in place 8150 8151 * loader/icon/IconDatabase.cpp: 8152 (WebCore::IconDatabase::iconDatabaseSyncThread): 8153 8154 2007-09-08 Sam Weinig <sam (a] webkit.org> 8155 8156 Add fix to the correct file. 8157 8158 * loader/icon/SQLDatabase.h: 8159 * loader/icon/SQLStatement.h: 8160 8161 2007-09-08 Sam Weinig <sam (a] webkit.org> 8162 8163 Fix Windows build. 8164 8165 * loader/icon/SQLStatement.h: Disable boolean conversion warning. 8166 8167 2007-09-08 Brady Eidson <beidson (a] apple.com> 8168 8169 Build fix for non-Mac platforms that use Icon Database 8170 8171 * loader/icon/IconDatabase.cpp: 8172 (WebCore::IconDatabase::IconDatabase): Apparently only Mac has the beauty that is pthread_main_np() 8173 8174 2007-09-08 Mark Rowe <mrowe (a] apple.com> 8175 8176 Build fix. 8177 8178 * WebCore.xcodeproj/project.pbxproj: Headers used up in WebKit need to be be "private" rather than "project". 8179 8180 2007-09-08 Brady Eidson <beidson (a] apple.com> 8181 8182 Reviewed by Darin 8183 8184 <rdar://problem/5434431> - Asynchronous Icon Database 8185 8186 The IconDatabase API was originally designed to be fully asynchronous - if an icon wasn't read in from disk 8187 when you asked for it, you would be notified when it was. 8188 8189 Safari 2 did writes on a background thread, but reads blocked the main thread. 8190 8191 The current WebCore implementation using SQLite attempted to get rid of the background thread by defering expensive 8192 writes via timers, but falls short in moderate to extreme usage cases 8193 8194 Time to make the IconDatabase live up to it's fully asynchronous destiny. 8195 8196 This should - 8197 - Make the browser instantly usable while converting Safari 2 icons in the background occurs 8198 - Remedy any UI slowness/blocking when on slow network home directories 8199 - Remedy random UI slowness, pauses, and stutters do to random I/O occurring at the exact wrong time or under heavy 8200 disk usage from swapping or other apps on the system 8201 - Allow certain long-running procedures to be interruptible (Safari 2 import, reading icons in from disk when trying to quit, etc) 8202 8203 This will have a noticeable effect on current Safari 2 and Safari 3 beta browsers, including icons not appearing in bookmarks, history, 8204 or the location field the first time they're asked for, as current released Safari's don't properly listen for these async notifations. 8205 The second time such a menu or view is brought up, the icon should be there. 8206 8207 Additionally this includes a SQLite schema change which will be a lot more efficient but will result in the loss of current SQLite icons. 8208 Converting from Safari 2 style icons will still work. 8209 8210 WebCore, welcome to multi-threadedness 8211 8212 * WebCore.exp: 8213 * WebCore.xcodeproj/project.pbxproj: 8214 * WebCore.vcproj/WebCore.vcproj: 8215 8216 * loader/DocumentLoader.cpp: 8217 (WebCore::DocumentLoader::iconLoadDecisionAvailable): Called when an Icon becomes available that was requested by this 8218 DocumentLoader (to support the webView:didReceiveIcon: delegate call in WebKit) 8219 * loader/DocumentLoader.h: 8220 8221 * loader/FrameLoader.cpp: 8222 (WebCore::FrameLoader::iconLoadDecisionAvailable): Called from the DocumentLoaders who get notified - if the FrameLoader 8223 ends up not caring because the WebView has transitioned to a new page, nothing occurs. Otherwise, the FrameLoader possibly 8224 starts it Icon Loader and possibly sends the webView:didReceiveIcon: delegate call 8225 (WebCore::FrameLoader::startIconLoader): Instead of "Yes, load the icon now" or "No, don't load it" there is a third possibility - 8226 "You might be asked to load your icon later." Add supporting logic for receiving this state, and being called a second time 8227 when the load decision is finally available. 8228 * loader/FrameLoader.h: 8229 8230 * loader/FrameLoaderClient.h: Added "registerForIconNotification" which is a way to tell WebViews "The icon you are interested in might 8231 become available via the generic WebIconDatabaseDidAddIconNotification instead of a targeted delegate call" 8232 A WebView can then receive the generic notification and pass on it's own targeted delegate call. 8233 8234 * loader/icon/IconDataCache.cpp: Removed. 8235 * loader/icon/IconDataCache.h: Removed. 8236 8237 * loader/icon/IconDatabase.cpp: 8238 (WebCore::urlForLogging): Cut a URL down in length for sane logging and debugging 8239 (WebCore::defaultClient): Return the default, empty IconDatabaseClient incase the API doesn't set one. 8240 8241 Following block of methods are for the Main thread's usage - 8242 (WebCore::IconDatabase::setClient): 8243 (WebCore::makeAllDirectories): Small optimization that checks to see if the entire path exists already, and doesn't try to loop 8244 through each patch component if the full path is already present 8245 (WebCore::IconDatabase::open): Makes all directories to the target path and kicks off the background thread - nothing more. 8246 (WebCore::IconDatabase::close): Signals the thread to quit and waits for it to do so 8247 (WebCore::IconDatabase::removeAllIcons): Purge the icon database 8248 (WebCore::IconDatabase::iconForPageURL): 8249 (WebCore::IconDatabase::readIconForPageURLFromDisk): 8250 (WebCore::IconDatabase::iconURLForPageURL): 8251 (WebCore::IconDatabase::defaultIcon): 8252 (WebCore::IconDatabase::retainIconForPageURL): 8253 (WebCore::IconDatabase::releaseIconForPageURL): 8254 (WebCore::IconDatabase::setIconDataForIconURL): 8255 (WebCore::IconDatabase::setIconURLForPageURL): 8256 (WebCore::IconDatabase::loadDecisionForIconURL): Determine if an icon loader should load now. If the decision is "maybe later", then 8257 mark the DocumentLoader to be notified later when the final decision is available. 8258 (WebCore::IconDatabase::iconDataKnownForIconURL): Determine if the actual image data has been read from disk (or set from the loader) for 8259 icon URL in question 8260 (WebCore::IconDatabase::setEnabled): 8261 (WebCore::IconDatabase::isEnabled): 8262 (WebCore::IconDatabase::setPrivateBrowsingEnabled): 8263 (WebCore::IconDatabase::isPrivateBrowsingEnabled): 8264 (WebCore::IconDatabase::delayDatabaseCleanup): Restore this method from a year ago, as asynchronous pruning of icons can now occur on a 8265 background thread. 8266 (WebCore::IconDatabase::allowDatabaseCleanup): 8267 (WebCore::IconDatabase::checkIntegrityBeforeOpening): 8268 (WebCore::IconDatabase::pageURLMappingCount): 8269 (WebCore::IconDatabase::retainedPageURLCount): 8270 (WebCore::IconDatabase::iconRecordCount): 8271 (WebCore::IconDatabase::iconRecordCountWithData): 8272 (WebCore::IconDatabase::IconDatabase): 8273 (WebCore::IconDatabase::~IconDatabase): 8274 (WebCore::IconDatabase::notifyPendingLoadDecisions): Tell all the registered DocumentLoaders "Hey, we've read in all URL mappings from disk, 8275 so check to see if you are interested in any of them" 8276 (WebCore::IconDatabase::notifyPendingLoadDecisionsInternal): 8277 (WebCore::IconDatabase::wakeSyncThread): Wake the sync thread, if it is idle 8278 (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Even though we're on a background thread, we still defer writing out to disk during 8279 periods of high activity 8280 (WebCore::IconDatabase::syncTimerFired): Call wakeSyncThread() 8281 8282 Following block of methods may be used by either thread - 8283 (WebCore::IconDatabase::isOpen): 8284 (WebCore::IconDatabase::databasePath): 8285 (WebCore::IconDatabase::defaultDatabaseFilename): 8286 (WebCore::IconDatabase::getOrCreateIconRecord): 8287 (WebCore::IconDatabase::getOrCreatePageURLRecord): 8288 8289 Following block of methods are used by the secondary thread only - 8290 (WebCore::IconDatabase::importIconURLForPageURL): For the Safari 2 import procedure - write a URL mapping directly out to disk 8291 (WebCore::IconDatabase::importIconDataForIconURL): For the Safari 2 import procedure - write an Icon directly out to disk 8292 (WebCore::IconDatabase::shouldStopThreadActivity): To check and see if the thread should stop what it is doing now to do something 8293 more important (such as quit, or delete all icons) 8294 (WebCore::IconDatabase::iconDatabaseSyncThreadStart): 8295 (WebCore::IconDatabase::iconDatabaseSyncThread): Entry point for the background thread 8296 (WebCore::databaseVersionNumber): 8297 (WebCore::isValidDatabase): 8298 (WebCore::createDatabaseTables): 8299 (WebCore::IconDatabase::performOpenInitialization): Open and validate the SQLite database, making sure it's schema jives with what 8300 is expected 8301 (WebCore::IconDatabase::checkIntegrity): 8302 (WebCore::IconDatabase::performURLImport): Import all the Page URL -> Icon URL mappings from the database. Done "1st thing" on startup, 8303 this is necessary to be able to give the loader decisions about whether or not it should load icons from the network 8304 (WebCore::IconDatabase::syncThreadMainLoop): Main loop - sleeps until woken up, then does a read cycle and a write cycle until both cycles 8305 do no work - then it goes back to sleep. 8306 (WebCore::IconDatabase::readFromDatabase): Reads icons from the database that clients are waiting on 8307 (WebCore::IconDatabase::writeToDatabase): Writes any changes page -> icon url mappings to disk, as well as any new image data that has 8308 been received from the loader 8309 (WebCore::IconDatabase::pruneUnretainedIcons): Done only once, and only after the first write to the database, this procedure removes all 8310 icons and page URLs from disk that haven't been retained by any client. Note that the prune can be delayed by utilizing delayDatabaseCleanup() 8311 (WebCore::IconDatabase::checkForDanglingPageURLs): Usually part of the prune procedure, prunes any pages who point to icons that no longer exist 8312 in the database 8313 (WebCore::IconDatabase::removeAllIconsOnThread): Completely purge both the on-disk and in memory records of all icons 8314 (WebCore::IconDatabase::deleteAllPreparedStatements): Part of removeAllIcons and the thread cleanup procedure 8315 (WebCore::IconDatabase::cleanupSyncThread): Write out any last remaining writes to disk, close the database, and then end the thread 8316 (WebCore::IconDatabase::imported): Checks the DB to see if the Safari 2 import has occured 8317 (WebCore::IconDatabase::setImported): Sets the "Safari 2 imported" flag 8318 (WebCore::readySQLStatement): 8319 (WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase): This and the following "SQLDatabase" suffixed methods are pretty self explanatory 8320 (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase): 8321 (WebCore::IconDatabase::removePageURLFromSQLDatabase): 8322 (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase): 8323 (WebCore::IconDatabase::addIconURLToSQLDatabase): 8324 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase): 8325 (WebCore::IconDatabase::removeIconFromSQLDatabase): 8326 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): 8327 * loader/icon/IconDatabase.h: 8328 8329 * loader/icon/IconDatabaseClient.h: Added. 8330 (WebCore::IconDatabaseClient::~IconDatabaseClient): 8331 (WebCore::IconDatabaseClient::performImport): Perform the Safari 2 import, implemented by WebKit 8332 (WebCore::IconDatabaseClient::dispatchDidRemoveAllIcons): Send the API notification 8333 (WebCore::IconDatabaseClient::dispatchDidAddIconForPageURL): Ditto 8334 8335 * loader/icon/IconDatabaseNone.cpp: Best attempt to keep non icon-DB platforms building 8336 (WebCore::IconDatabase::defaultDatabaseFilename): 8337 (WebCore::IconDatabase::readIconForPageURLFromDisk): 8338 (WebCore::IconDatabase::loadDecisionForIconURL): 8339 (WebCore::IconDatabase::iconDataKnownForIconURL): 8340 (WebCore::IconDatabase::setIconURLForPageURL): 8341 (WebCore::IconDatabase::isEnabled): 8342 (WebCore::IconDatabase::delayDatabaseCleanup): 8343 (WebCore::IconDatabase::allowDatabaseCleanup): 8344 (WebCore::IconDatabase::setClient): 8345 8346 * loader/icon/IconRecord.cpp: Added. 8347 (WebCore::IconRecord::IconRecord): IconRecord used to be "IconDataCache" - it is merely a container for the url, timestamp, and image for a site icon. 8348 It is Shared, and therefore ref counted - PageURLRecords are the owning containers. This is a tricky way to track how many page urls are retaining 8349 an IconRecord and therefore tracking when we should try to get rid of one. 8350 (WebCore::IconRecord::~IconRecord): 8351 (WebCore::IconRecord::image): 8352 (WebCore::IconRecord::setImageData): 8353 (WebCore::IconRecord::loadImageFromResource): 8354 (WebCore::IconRecord::imageDataStatus): Return whether the image data hasn't been read yet, exists in memory, or is absent (site with no icon) 8355 (WebCore::IconRecord::snapshot): Returns a snapshot of the icon's data - url, timestamp, and image data - to be written to disk 8356 * loader/icon/IconRecord.h: Added. 8357 (WebCore::IconSnapshot::IconSnapshot): 8358 (WebCore::IconRecord::getTimestamp): 8359 (WebCore::IconRecord::setTimestamp): 8360 (WebCore::IconRecord::iconURL): 8361 (WebCore::IconRecord::retainingPageURLs): 8362 8363 * loader/icon/PageURLRecord.cpp: Added. 8364 (WebCore::PageURLRecord::PageURLRecord): PageURLRecord is fundamentally a pairing of a Page URL to an Icon. It has manual ref counting for the sake 8365 of "retainIconForPageURL" and "releaseIconForPageURL", and can provide a quick snapshot of it's Page URL -> Icon URL mapping for writing to 8366 the database 8367 (WebCore::PageURLRecord::setIconRecord): 8368 (WebCore::PageURLRecord::snapshot): 8369 * loader/icon/PageURLRecord.h: Added. 8370 (WebCore::PageURLSnapshot::PageURLSnapshot): 8371 (WebCore::PageURLRecord::url): 8372 (WebCore::PageURLRecord::PageURLRecord::iconRecord): 8373 (WebCore::PageURLRecord::retain): 8374 (WebCore::PageURLRecord::release): 8375 (WebCore::PageURLRecord::retainCount): 8376 8377 * platform/SharedBuffer.cpp: 8378 (WebCore::SharedBuffer::copy): Added a deep copy method for the purposes of handing icon data across the thread boundary into the icon database 8379 * platform/SharedBuffer.h: 8380 8381 * platform/graphics/svg/SVGImageEmptyClients.h: 8382 (WebCore::SVGEmptyFrameLoaderClient::registerForIconNotification): 8383 8384 * platform/win/TemporaryLinkStubs.cpp: 8385 (WebCore::callOnMainThread): Only other IconDatabase utilizing platform - keep their build going 8386 8387 2007-09-07 David Kilzer <ddkilzer (a] apple.com> 8388 8389 Reviewed by Timothy Hatcher. 8390 8391 Housekeeping. No test required. 8392 8393 * bindings/objc/WebScriptObjectInternal.h: Removed unused file. 8394 * bindings/objc/WebScriptObjectPrivate.h: Updated copyright statement. 8395 8396 2007-09-07 Justin Garcia <justin.garcia (a] apple.com> 8397 8398 Rolling out my changes from r25421 while I investigate the layout test failures 8399 they caused. 8400 8401 * editing/Selection.cpp: 8402 (WebCore::Selection::validate): 8403 * editing/VisiblePosition.cpp: 8404 (WebCore::VisiblePosition::next): 8405 (WebCore::VisiblePosition::previous): 8406 (WebCore::VisiblePosition::lastEditablePositionAtOrBefore): 8407 (WebCore::VisiblePosition::firstEditablePositionAtOrAfter): 8408 * editing/VisiblePosition.h: 8409 * editing/visible_units.cpp: 8410 (WebCore::endOfWord): 8411 (WebCore::previousWordPosition): 8412 (WebCore::nextWordPosition): 8413 (WebCore::startOfLine): 8414 (WebCore::endOfLine): 8415 (WebCore::previousSentencePosition): 8416 (WebCore::nextSentencePosition): 8417 8418 2007-09-05 Geoffrey Garen <ggaren (a] apple.com> 8419 8420 Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher. 8421 8422 Fixed <rdar://problem/5326009> Make non-browser WebKit clients have no 8423 memory cache, or a very tiny one 8424 8425 Added a client callback to notify WebKit when the first navigation has 8426 taken place. "Navigation" here means a transition from one page to 8427 another that ends up in the back/forward list. 8428 8429 WebKit Mac uses this notification to grow its cache model under certain 8430 circumstances. 8431 8432 * loader/FrameLoader.cpp: 8433 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): 8434 * loader/FrameLoaderClient.h: 8435 8436 * platform/graphics/svg/SVGImageEmptyClients.h: 8437 (WebCore::SVGEmptyFrameLoaderClient::didPerformFirstNavigation): Ah, 8438 SVGEmptyFrameLoaderClient, my old friend. 8439 8440 2007-09-07 Adele Peterson <adele (a] apple.com> 8441 8442 Reviewed by Dave Harrison. 8443 8444 Fix for <rdar://problem/5428427> Wrong characters are re-converted after doing reconversion with Kotoeri 8445 8446 Revert change for<rdar://problem/5279521> and add nil checks for the result of TextIterator::rangeFromLocationAndLength 8447 TextIterator::exitNode shouldn't require the m_lastTextNode to be true, but we can't change that without making the logic in _web_attributedStringFromRange match. 8448 We'll get that for free when we switch to use TextIterator in _web_attributedStringFromRange. 8449 8450 * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyBlockStyle): Added nil checks. 8451 * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion): ditto. 8452 * editing/TextIterator.cpp: (WebCore::TextIterator::exitNode): Re-added check for m_lastTextNode before emitting newline. 8453 8454 2007-09-07 Ada Chan <adachan (a] apple.com> 8455 8456 <rdar://problem/5395928> Need to be able to handle context menu item selection by index 8457 8458 Reviewed by Beth. 8459 8460 * platform/ContextMenu.h: Added method to retrieve context menu item by index 8461 * platform/win/ContextMenuWin.cpp: 8462 (WebCore::ContextMenu::ContextMenu): call setPlatformDescription() since that will handle 8463 adding the MNS_NOTIFYBYPOS style to the context menu. 8464 (WebCore::contextMenuItemByIdOrPosition): helper method so we don't have to duplicate code 8465 between itemWithAction() and itemAtIndex(). 8466 (WebCore::ContextMenu::itemWithAction): 8467 (WebCore::ContextMenu::itemAtIndex): 8468 (WebCore::ContextMenu::setPlatformDescription): add MNS_NOTIFYBYPOS style to the context menu 8469 so we will get notified by menu position through WM_MENUCOMMAND when the item is selected. 8470 8471 2007-09-07 Justin Garcia <justin.garcia (a] apple.com> 8472 8473 Reviewed by Darin. 8474 8475 <rdar://problem/5057506> Double-clicking after ToDo content doesn't select the paragraph break 8476 8477 * editing/Selection.cpp: 8478 (WebCore::Selection::validate): 8479 Moved the code that moves across a paragraph boundary 8480 when expanding selections by word granularity from 8481 endOfWord to here. 8482 In the word and paragraph granularity cases, if the 8483 end of the selection is at the end of the last paragraph 8484 in the last cell of a block table, expand it so that 8485 it ends at the start of the paragraph after the table, 8486 instead of just after the table, so that ToDo content 8487 gets the same double/tripled click behavior that normal 8488 paragraphs get (added two testcases). 8489 When expanding the selection to include paragraph 8490 breaks, pass VisiblePosition::next true so that it 8491 doesn't change editability. 8492 * editing/VisiblePosition.cpp: 8493 (WebCore::VisiblePosition::next): Renamed the bool because it's now also 8494 used to keep non-editable positions non-editable. 8495 (WebCore::VisiblePosition::previous): Ditto. 8496 (WebCore::VisiblePosition::lastPositionWithSameEditabilityAtOrBefore): 8497 Renamed this function and made it also work with non-editable positions. 8498 (WebCore::VisiblePosition::firstPositionWithSameEditabilityAtOrAfter): 8499 Ditto. 8500 * editing/VisiblePosition.h: 8501 * editing/visible_units.cpp: 8502 (WebCore::endOfWord): Called the renamed function. 8503 (WebCore::previousWordPosition): Ditto. 8504 (WebCore::nextWordPosition): Ditto. 8505 (WebCore::startOfLine): Ditto. 8506 (WebCore::endOfLine): Ditto. 8507 (WebCore::previousSentencePosition): Ditto. 8508 (WebCore::nextSentencePosition): Ditto. 8509 8510 2007-09-07 Brady Eidson <beidson (a] apple.com> 8511 8512 Reviewed by Sam 8513 8514 <rdar://problem/5089241> - ASSERT and other funky effects in IconLoader with large 404 pages 8515 8516 There were two problems: 8517 1 - I originally didn't expect SubresourceLoader to keep pulling in data after it received a 404 response, 8518 but if the server sends back a complex 404 page, the loader did just that. That could result in the 8519 IconLoader "finishing" twice 8520 2 - In this case, the long messy 404 page would be committed to the database as image data. This would 8521 result in wasted space on disk, wasted space in RAM, and wasting processor time trying to parse 50k+ 8522 of HTML as image data 8523 8524 Fix is two parts - 1, monitor the "m_loadIsInProgress" flag and 2, make ::finishLoading() take an actual 8525 SharedBuffer argument that is what should be committed to the database so the ResourceHandle is unnecessary 8526 8527 * loader/icon/IconLoader.cpp: 8528 (WebCore::IconLoader::didReceiveResponse): If the response is not valid, commit null data 8529 (WebCore::IconLoader::didFail): If we've already finished loading once (the 404 response), don't 8530 finish again! 8531 (WebCore::IconLoader::didFinishLoading): Ditto 8532 (WebCore::IconLoader::finishLoading): Take a SharedBuffer argumnt as the actual data to commit 8533 * loader/icon/IconLoader.h: Add a SharedBuffer arg to ::finishLoading() 8534 8535 2007-09-07 Brady Eidson <beidson (a] apple.com> 8536 8537 Reviewed by Darin 8538 8539 Inline the in-header definitions for non-Mac platforms 8540 8541 * platform/AutodrainedPool.h: 8542 (WebCore::AutodrainedPool::AutodrainedPool): 8543 (WebCore::AutodrainedPool::~AutodrainedPool): 8544 (WebCore::AutodrainedPool::cycle): 8545 8546 2007-09-07 Brady Eidson <beidson (a] apple.com> 8547 8548 Reviewed by Darin 8549 8550 Add some AutoreleasePool and Threading utilities in preparation for the multi-threaded 8551 fix for <rdar://problem/5434431> 8552 8553 AutodrainedPool wraps an NSAutoreleasePool and tracks a "cycle" count. This allows clients 8554 in WebCore to simply call ::cycle() and after a preset number of iterations the pool will drain 8555 and recreate the underlying NSAutoreleasePool 8556 8557 Threading utilities include C++ wrappers for pthread mutexes and conditions, as well as a generic 8558 "callOnMainThread()" function for any non-main thread to use. 8559 8560 * platform/AutodrainedPool.h: Added. 8561 (WebCore::AutodrainedPool::AutodrainedPool): Empty implementations for all non-mac platforms 8562 (WebCore::AutodrainedPool::~AutodrainedPool): ditto 8563 (WebCore::AutodrainedPool::cycle): ditto 8564 * platform/mac/AutodrainedPool.mm: Added. 8565 (WebCore::AutodrainedPool::AutodrainedPool): 8566 (WebCore::AutodrainedPool::~AutodrainedPool): 8567 (WebCore::AutodrainedPool::cycle): Keep track of number of cycles, and drain/recreate the pool if the 8568 cycle limit is hit 8569 8570 * platform/Threading.h: Added. 8571 (WebCore::Mutex::Mutex): C++ wrapper for pthread_mutex 8572 (WebCore::Mutex::~Mutex): 8573 (WebCore::Mutex::lock): 8574 (WebCore::Mutex::tryLock): 8575 (WebCore::Mutex::unlock): 8576 (WebCore::MutexLocker::MutexLocker): Handles automatically locking/unlocking a Mutex (for early returns 8577 from a function, for example) 8578 (WebCore::MutexLocker::~MutexLocker): 8579 (WebCore::ThreadCondition::ThreadCondition): C++ wrapper for pthread_condition 8580 (WebCore::ThreadCondition::~ThreadCondition): 8581 (WebCore::ThreadCondition::wait): 8582 (WebCore::ThreadCondition::signal): 8583 (WebCore::ThreadCondition::broadcast): 8584 * platform/mac/Threading.mm: Added. 8585 (-[WebCoreFunctionWrapper initWithFunction:]): Obj-C implementation of "callOnMainThread" 8586 (-[WebCoreFunctionWrapper _call]): 8587 (WebCore::callOnMainThread): 8588 8589 2007-09-07 George Staikos <staikos (a] kde.org> 8590 8591 Fix typo. 8592 8593 * loader/ProgressTracker.h: 8594 (WebCore::ProgressTracker::totalPageAndResourceBytesToLoad): 8595 8596 2007-09-07 Qing Zhao <qing (a] staikos.net> 8597 8598 Reviewed by Anders and George. 8599 8600 Add accessors for these two variables. 8601 8602 * loader/ProgressTracker.h: 8603 (WebCore::ProgressTracker::totalPageAndResourseBytesToLoad): 8604 (WebCore::ProgressTracker::totalBytesReceived): 8605 8606 2007-09-06 Tristan O'Tierney <tristan (a] apple.com> 8607 8608 Reviewed by Maciej Stachowiak. 8609 8610 <rdar://problem/5333496> Back button stopped working on sfgate.com (14957) 8611 8612 This fix is specifically targted to address sfgate.com and reuters.com with minimal 8613 impact to other areas of the frameloader. It does not cause any regression tests to fail. 8614 I've added two layout tests: One to detect this particular bug, and one to address 8615 a secondary issue: if an iframe navigation occurs during onload by a timeout an 8616 additional history item is added, similarly to firefox. We tried to match firefox 8617 more than IE with this fix but did gain a little bit of IE compatability. 8618 8619 Tests: http/tests/navigation/onload-navigation-iframe-timeout.html 8620 http/tests/navigation/onload-navigation-iframe.html 8621 8622 * dom/Document.h: 8623 (WebCore::Document::processingLoadEvent): 8624 Return the m_processingLoadEvent boolean so FrameLoader knows 8625 that the document is in the middle of calling <body onload> 8626 8627 * html/HTMLFrameOwnerElement.cpp: 8628 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): 8629 * html/HTMLFrameOwnerElement.h: 8630 (WebCore::HTMLFrameOwnerElement::createdByParser): 8631 (WebCore::HTMLFrameOwnerElement::setCreatedByParser): 8632 Added support for a new member variable of frame elements: m_createdByParser. 8633 This lets us specifically target the fix to only iframes created via JS 8634 and not in-document. 8635 8636 * loader/FrameLoader.cpp: 8637 (WebCore::FrameLoader::FrameLoader): 8638 Initialize m_navigationDuringLoad to false 8639 8640 (WebCore::FrameLoader::provisionalLoadStarted): 8641 Determine if the load we're about to start is occuring during 8642 an onload. 8643 8644 (WebCore::FrameLoader::updateHistoryForStandardLoad): 8645 If the current frameloader is for a child frame, and the navigation is occuring 8646 during an onload update the current history item rather than adding a new one. 8647 8648 * loader/FrameLoader.h: 8649 Added a new member variable, m_navigationDuringLoad to track 8650 the navigation status during the on load, rather than trying to determine 8651 the status after (which is nearly impossible due to a new runloop spin). 8652 8653 2007-09-06 David Kilzer <ddkilzer (a] apple.com> 8654 8655 Reviewed by Darin. 8656 8657 The implementation of BackForwardList::clearPageCache() was removed in r21793. 8658 It's now safe to remove it from the header. 8659 8660 * history/BackForwardList.h: Removed clearPageCache(). 8661 8662 2007-09-06 Anders Carlsson <andersca (a] apple.com> 8663 8664 Reviewed by Ada. 8665 8666 <rdar://problem/5457844> 8667 Crash when using mouse wheel with plug-ins disabled. 8668 8669 Null check the widget. 8670 8671 * page/EventHandler.cpp: 8672 (WebCore::EventHandler::handleWheelEvent): 8673 8674 2007-09-06 Anders Carlsson <andersca (a] apple.com> 8675 8676 Reviewed by Mitz. 8677 8678 Small tweak. 8679 8680 * plugins/win/PluginStreamWin.cpp: 8681 (WebCore::PluginStreamWin::startStream): 8682 8683 2007-09-06 Anders Carlsson <andersca (a] apple.com> 8684 8685 Reviewed by Adam and Steve. 8686 8687 <rdar://problem/5459321> 8688 ADOBE: Safari 3 on Windows is passing bogus values in stream->headers in NPP_NewStream, causing Flash Player to crash. 8689 8690 Serialize the headers into a stream and pass it to NPP_NewStream in stream->headers. 8691 8692 * plugins/win/PluginStreamWin.cpp: 8693 (WebCore::PluginStreamWin::startStream): 8694 * plugins/win/PluginStreamWin.h: 8695 8696 2007-09-06 Darin Adler <darin (a] apple.com> 8697 8698 Reviewed by Hyatt. 8699 8700 - fix http://bugs.webkit.org/show_bug.cgi?id=15153 8701 REGRESSION: Assertion failure in FrameView::scheduleRelayout() (m_frame->view() == this) 8702 8703 Back out the willRemove() part of the previous patch. 8704 It was incorrect and not needed to fix the bug anyway. 8705 8706 * dom/Document.cpp: (WebCore::Document::detach): Remove willRemove(). 8707 8708 * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Put the willRemove() call 8709 back here where it was originally before the previous fix. 8710 8711 * history/CachedPage.cpp: (WebCore::CachedPage::clear): 8712 * page/Frame.cpp: 8713 (WebCore::Frame::setView): 8714 (WebCore::Frame::setDocument): 8715 Added FIXMEs about the fact that we call detach() on the document but not willRemove(). 8716 8717 2007-09-05 Timothy Hatcher <timothy (a] apple.com> 8718 8719 Reviewed by Darin. 8720 8721 Changed the blocked exception log message to match AppKit's blocked exception message. 8722 8723 * platform/mac/BlockExceptions.mm: 8724 (ReportBlockedObjCException): 8725 8726 2007-09-06 Darin Adler <darin (a] apple.com> 8727 8728 Reviewed by Hyatt. 8729 8730 - <rdar://problem/5457865> REGRESSION (9A527): Safari crashes when opening a page 8731 that immediately redirects to a PDF 8732 8733 I don't know how to make an automated test that trips over this. 8734 8735 The immediate cause of this regression was making a back/forward list entry in 8736 this case. Earlier, the quick redirect would not results in a separate entry. 8737 That's possibly a bug too, but it's better to fix the crash first. 8738 8739 The page cache was putting the document into a strange state: Still attached but 8740 with the renderer set to 0. There was no good reason to do this, so got rid of it. 8741 Moved the responsibility to the caller of not calling detach() when moving into 8742 the page cache. This is more of a frame loader thing than a document thing. 8743 8744 * dom/Document.cpp: (WebCore::Document::detach): Added assertions that this is 8745 only called on a document that's attached and not in the page cache. Also moved 8746 the call to willRemove in here, so that callers can't make the mistake of not 8747 calling that function. Removed the incorrectly-positioned code that made this 8748 function do less if it was called on a document in the page cache. 8749 8750 * history/CachedPage.cpp: (WebCore::CachedPage::clear): Removed the code to handle 8751 a document with a renderer of 0. There was no need to put the document into this 8752 state. Any document in the page cache will always be "attached". 8753 8754 * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Added a check to prevent 8755 from calling an unnecessary cancelParsing() on a document that's in the page cache 8756 and guard the call to detach() with a check of attached(), like all other calls to 8757 detach() on DOM objects. 8758 8759 * page/Frame.cpp: 8760 (WebCore::Frame::setView): Added a missing check of attached(), like all other 8761 calls to detach() on DOM objects. Also added code to not call detach() on the 8762 document when it's in the page cache. 8763 (WebCore::Frame::setDocument): This call site already had the attached() check, 8764 but was missing the page cache check. 8765 8766 2007-09-05 David Harrison <harrison (a] apple.com> 8767 8768 Reviewed by Darin. 8769 8770 Follow up on my fix for <rdar://problem/5306171>. 8771 My first patch (r25373) broke svg/custom/stroke-width-click.svg. 8772 8773 * editing/TextIterator.cpp: 8774 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): 8775 Add currPos.isNotNull() check because positions in non-html content (like svg) 8776 do not have visible positions, and we don't want to emit for them either. 8777 8778 2007-09-06 Mitz Pettel <mitz (a] webkit.org> 8779 8780 Reviewed by Adam Roben. 8781 8782 - fix http://bugs.webkit.org/show_bug.cgi?id=14685 8783 <rdar://problem/5349755> text-align affects <select> button but not its drop-down menu 8784 8785 * platform/PlatformString.h: 8786 (WebCore::String::defaultWritingDirection): 8787 * platform/StringImpl.cpp: 8788 (WebCore::StringImpl::defaultWritingDirection): Moved textDirectionForParagraph() 8789 from RenderMenuList.cpp here. 8790 * platform/StringImpl.h: 8791 * platform/win/PopupMenuWin.cpp: 8792 (WebCore::PopupMenu::itemWritingDirectionIsNatural): Changed to return 'true'. 8793 (WebCore::PopupMenu::paint): Changed to use natural directionality for menu 8794 items. 8795 * rendering/RenderMenuList.cpp: 8796 (WebCore::RenderMenuList::adjustInnerStyle): Use defaultWritingDirection. 8797 8798 2007-09-06 Maciej Stachowiak <mjs (a] apple.com> 8799 8800 Reviewed by Oliver Hunt. 8801 8802 - fixed <rdar://problem/5455457> REGRESSION (9A527-9A535): Colloquy crash on launch in WebCoreScriptDebugger initWithDelegate (with announce.js plug-in installed) 8803 8804 * page/mac/FrameMac.mm: 8805 (WebCore::Frame::windowScriptObject): Ensure that -[WebView 8806 windowScriptObject] and -[WebFrame windowObject] return null until 8807 the windowScriptObjectAvailable: delegate method is sent. 8808 8809 2007-09-05 David Harrison <harrison (a] apple.com> 8810 8811 Reviewed by Kevin Decker. 8812 8813 <rdar://problem/5306171> Mail: The first return after an attachment in multipart/mixed message is lost 8814 8815 Test added: editing/selection/toString-1.html 8816 8817 Source changes: 8818 * editing/TextIterator.cpp: 8819 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): 8820 - Remove outdated and erroneous check for m_lastTextNode. 8821 - Fix VisiblePosition check to look for line diff. Simple position diff gives the 8822 wrong answer when the start is table/0 and the current is the first position 8823 inside the content of the table. 8824 8825 2007-09-04 Brett Wilson <brettw (a] chromium.org> 8826 8827 Reviewed by Maciej Stachowiak. 8828 8829 http://bugs.webkit.org/show_bug.cgi?id=15072 8830 Bug 15072: Fix ImageDecoder.cpp to not copy incoming data 8831 8832 Change ImageDecoder::setData to take a SharedBuffer*. 8833 8834 * platform/graphics/cairo/ImageSourceCairo.cpp: 8835 (WebCore::ImageSource::setData): 8836 * platform/image-decoders/ImageDecoder.h: 8837 (WebCore::RGBA32Buffer::bytes): 8838 (WebCore::RGBA32Buffer::height): 8839 (WebCore::ImageDecoder::setData): 8840 * platform/image-decoders/gif/GIFImageDecoder.cpp: 8841 (WebCore::GIFImageDecoder::setData): 8842 (WebCore::GIFImageDecoder::frameCount): 8843 (WebCore::GIFImageDecoder::decode): 8844 (WebCore::GIFImageDecoder::decodingHalted): 8845 (WebCore::GIFImageDecoder::initFrameBuffer): 8846 * platform/image-decoders/gif/GIFImageDecoder.h: 8847 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 8848 (WebCore::JPEGImageDecoder::setData): 8849 (WebCore::JPEGImageDecoder::decode): 8850 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 8851 * platform/image-decoders/png/PNGImageDecoder.cpp: 8852 (WebCore::PNGImageDecoder::setData): 8853 (WebCore::PNGImageDecoder::decode): 8854 (WebCore::PNGImageDecoder::headerAvailable): 8855 (WebCore::PNGImageDecoder::rowAvailable): 8856 * platform/image-decoders/png/PNGImageDecoder.h: 8857 8858 2007-09-04 David Hyatt <hyatt (a] apple.com> 8859 8860 Fix for <rdar://problem/5271213>, resizing iChat window is slower than in 8861 Tiger. This patch implements a fast scaling mode that can be used by 8862 WebViews, e.g., during window resizing. 8863 8864 Reviewed by John Sullivan 8865 8866 * WebCore.exp: 8867 * WebCore.xcodeproj/project.pbxproj: 8868 * page/Frame.cpp: 8869 (WebCore::FramePrivate::FramePrivate): 8870 * page/Page.cpp: 8871 (WebCore::Page::Page): 8872 (WebCore::Page::inLowQualityImageInterpolationMode): 8873 (WebCore::Page::setInLowQualityImageInterpolationMode): 8874 * page/Page.h: 8875 * platform/graphics/GraphicsContext.cpp: 8876 (WebCore::GraphicsContext::drawImage): 8877 * platform/graphics/GraphicsContext.h: 8878 (WebCore::GraphicsContext::setUseLowQualityImageInterpolation): 8879 (WebCore::GraphicsContext::useLowQualityImageInterpolation): 8880 * platform/graphics/cg/GraphicsContextCG.cpp: 8881 (WebCore::GraphicsContext::setUseLowQualityImageInterpolation): 8882 (WebCore::GraphicsContext::useLowQualityImageInterpolation): 8883 * rendering/RenderImage.cpp: 8884 (WebCore::RenderImage::paint): 8885 8886 2007-09-04 Brady Eidson <beidson (a] apple.com> 8887 8888 Reviewed by Adam 8889 8890 Some SQLite tweaks for debugging 8891 -In debug builds, track the thread that opened the database and enforce that any statements 8892 that operate on the SQLDatabase do so from the thread that opened it 8893 -Track whether or not a transaction is in progress for the SQLDatabase to find cases where 8894 someone opens a new transaction while there is still one outstanding (a SQLite logic error) 8895 8896 * loader/icon/SQLDatabase.cpp: 8897 (WebCore::SQLDatabase::SQLDatabase): 8898 (WebCore::SQLDatabase::open): Track the opening thread. Also, return false if the DB failed to 8899 open instead of trying to run a PRAGMA on it! 8900 (WebCore::SQLDatabase::close): Reset the opening thread 8901 * loader/icon/SQLDatabase.h: 8902 (WebCore::SQLDatabase::transactionInProgress): 8903 (WebCore::SQLDatabase::sqlite3Handle): For access to the raw sqlite3* handle to do a thread 8904 safety check 8905 8906 * loader/icon/SQLStatement.cpp: 8907 (WebCore::SQLStatement::prepare): Use the new sqlite3Handle accessor 8908 (WebCore::SQLStatement::step): Ditto 8909 8910 * loader/icon/SQLTransaction.cpp: 8911 (WebCore::SQLTransaction::SQLTransaction): Removed the c'tor form that could automatically 8912 begin the transaction - never used and shouldn't be in practice! 8913 (WebCore::SQLTransaction::begin): Maintain the transaction-in-progress flag on the DB 8914 (WebCore::SQLTransaction::commit): Ditto 8915 (WebCore::SQLTransaction::rollback): Ditto 8916 * loader/icon/SQLTransaction.h: 8917 8918 2007-09-04 David Harrison <harrison (a] apple.com> 8919 8920 Reviewed by Maciej and John. 8921 8922 <rdar://problem/5452675> CrashTracer: [USER] 10 crashes in Mail at com.apple.WebCore: WebCore::Node::nodeIndex const + 6 8923 8924 * editing/InsertParagraphSeparatorCommand.cpp: 8925 (WebCore::InsertParagraphSeparatorCommand::doApply): 8926 Adjust pos to pos.downstream() after the refNode is calculated, but before the insertion. Doing it earlier 8927 undid the logic of positionAvoidingSpecialElementBoundary(). The downstream is still needed just to set the 8928 ending selection. 8929 8930 2007-09-04 Antti Koivisto <antti (a] apple.com> 8931 8932 Reviewed by Maciej. 8933 8934 Fix <rdar://problem/5452112> 8935 REGRESSION: Initially focused textfield on www.mac.com login page has no insertion point, and doesn't accept typed characters 8936 8937 Use updateLayoutIgnorePendingStylesheets() instead of updateLayout(). We need to have rendering to set input focus. 8938 8939 Test: fast/forms/focus-style-pending.html 8940 8941 * dom/Element.cpp: 8942 (WebCore::Element::focus): 8943 8944 2007-09-04 Girish Ramakrishnan <girish (a] trolltech.com> 8945 8946 Reviewed by Simon. 8947 8948 Fixed Qt build on Windows 8949 8950 * html/HTMLFormElement.cpp: 8951 (WebCore::pathGetFilename): 8952 8953 2007-09-03 David Harrison <harrison (a] apple.com> 8954 8955 Reviewed by Kevin Decker. 8956 8957 <rdar://problem/5456785> REGRESSION (r15963-r15970): Heading text not placed in VoiceOver Item Chooser (15132) 8958 8959 * bridge/mac/WebCoreAXObject.mm: 8960 (-[WebCoreAXObject title]): 8961 For headings, return the text under the element instead of nil. 8962 8963 2007-08-20 Oleg Sukhodolsky <son.two (a] gmail.com> 8964 8965 Reviewed by Mark. 8966 8967 WebKitQt/WebCoreSupport should not be added to INCLUDEPATH for gdk-port 8968 8969 * WebCore.pro: 8970 8971 2007-09-03 Mark Rowe <mrowe (a] apple.com> 8972 8973 Reviewed by Tim Hatcher. 8974 8975 <rdar://problem/5452164> Production build with in symbols directory has no debug info 8976 8977 Enable debug symbol generation on all build configurations. Production builds are stripped 8978 of symbols by Xcode during deployment post-processing. 8979 8980 * Configurations/Base.xcconfig: 8981 * WebCore.xcodeproj/project.pbxproj: 8982 8983 2007-09-02 Brady Eidson <beidson (a] apple.com> 8984 8985 Reviewed by John Sullivan and Mark Rowe 8986 8987 Groundwork for support for monitoring IconDatabase in-memory statistics 8988 8989 * WebCore.exp: 8990 * loader/icon/IconDatabase.cpp: 8991 (WebCore::IconDatabase::pageURLMappingCount): Stub for now 8992 (WebCore::IconDatabase::retainedPageURLCount): Ditto 8993 (WebCore::IconDatabase::iconRecordCount): Ditto 8994 (WebCore::IconDatabase::iconRecordCountWithData): Ditto 8995 * loader/icon/IconDatabase.h: 8996 8997 2007-09-02 Mark Rowe <mrowe (a] apple.com> 8998 8999 Reviewed by Antti. 9000 9001 <rdar://problem/5454704> WebKit seems to get too-narrow widths for "Monotype Corsiva", so lays out incorrectly 9002 9003 * platform/mac/FontDataMac.mm: 9004 (WebCore::FontData::determinePitch): Work around NSFont incorrectly reporting Monotype Corsiva as fixed pitch. 9005 9006 2007-09-01 Darin Adler <darin (a] apple.com> 9007 9008 - rolled out fix for bug 12988 because it broke getElementById in a layout test 9009 I'm working on a new fix. 9010 9011 * dom/Document.cpp: Rolled out. 9012 9013 2007-09-01 Oliver Hunt <oliver (a] apple.com> 9014 9015 Reviewed by Sam. 9016 9017 <rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions 9018 9019 Adding a new EditorClient method so it is possible to inform WebKit of focus changes. 9020 Also added new virtual method Node::shouldUseInputMethod to allow us to trivially check 9021 whether an input method should be used when processing input for the currently focused 9022 Node. 9023 9024 * bridge/EditorClient.h: 9025 * dom/Node.cpp: 9026 (WebCore::Node::shouldUseInputMethod): 9027 * dom/Node.h: 9028 * html/HTMLInputElement.cpp: 9029 (WebCore::HTMLInputElement::shouldUseInputMethod): 9030 * html/HTMLInputElement.h: 9031 * html/HTMLTextAreaElement.cpp: 9032 (WebCore::HTMLTextAreaElement::shouldUseInputMethod): 9033 * html/HTMLTextAreaElement.h: 9034 * page/FocusController.cpp: 9035 (WebCore::FocusController::setFocusedNode): 9036 * platform/graphics/svg/SVGImageEmptyClients.h: 9037 (WebCore::SVGEmptyEditorClient::setInputMethodState): 9038 9039 2007-09-01 Rob Buis <buis (a] kde.org> 9040 9041 Reviewed by Darin. 9042 9043 http://bugs.webkit.org/show_bug.cgi?id=12988 9044 First element (in document order) is not returned when other duplicate ID-ed elements were created first 9045 9046 Reset the element id cache when id's are added or removed and there 9047 are duplicates for that id. 9048 9049 Tests: fast/dom/duplicate-ids-document-order.html 9050 9051 * dom/Document.cpp: 9052 (WebCore::Document::getElementById): 9053 (WebCore::Document::addElementById): 9054 (WebCore::Document::removeElementById): 9055 9056 2007-09-01 Rob Buis <buis (a] kde.org> 9057 9058 Reviewed by Darin. 9059 9060 http://bugs.webkit.org/show_bug.cgi?id=15083 9061 Some symbols in WebKit do not need to be exported 9062 9063 Do not export these symbols. 9064 9065 * dom/QualifiedName.cpp: 9066 (WebCore::hashComponents): 9067 * dom/XMLTokenizer.cpp: 9068 (WebCore::toString): 9069 (WebCore::getTokenizer): 9070 * history/HistoryItem.cpp: 9071 (WebCore::defaultNotifyHistoryItemChanged): 9072 * platform/Arena.cpp: 9073 (WebCore::CeilingLog2): 9074 * platform/graphics/Color.cpp: 9075 (WebCore::calcHue): 9076 * platform/graphics/Path.cpp: 9077 (WebCore::pathLengthApplierFunction): 9078 * platform/graphics/cg/PathCG.cpp: 9079 (WebCore::CGPathToCFStringApplierFunction): 9080 (WebCore::CFStringFromCGPath): 9081 * rendering/RenderText.cpp: 9082 (WebCore::isSpaceAccordingToStyle): 9083 9084 2007-08-31 Alice Liu <alice.liu (a] apple.com> 9085 9086 Reviewed by Tim Hatcher. 9087 9088 Fixed <rdar://problem/5420682> Mail crashes at WebCore::InsertLineBreakCommand::doApply() after dropping a selected image over container's close box 9089 9090 * editing/DeleteButtonController.cpp: 9091 (WebCore::DeleteButtonController::show): 9092 Factored out the code in ::show() that created and styled the elements of the Deletion UI 9093 9094 (WebCore::DeleteButtonController::createDeletionUI): 9095 Neglecting to move the append of the deletionUI elements into the same clause that handles the creation 9096 of them ended up creating multiple elements at were repeatedly appended to the target, resulting in a 9097 bloated table deletion UI which was slow to show and hide. 9098 9099 * editing/DeleteButtonController.h: 9100 (WebCore::DeleteButtonController::enabled): 9101 Restore this function to how it used to be pre-r25305, sans asserts 9102 9103 * editing/EditCommand.cpp: 9104 Add disable/enable sandwich when undoing/redoing commands too 9105 (WebCore::EditCommand::unapply): 9106 (WebCore::EditCommand::reapply): 9107 9108 2007-08-31 Antti Koivisto <antti (a] apple.com> 9109 9110 Reviewed by Anders. 9111 9112 Fix <rdar://problem/5452943> 9113 REGRESSION (r25283): Reproducible crash in HTMLObjectElement::getInstance under guard malloc 9114 9115 Calling updateLayoutIgnorePendingStylesheets() may do arbitrary things to render tree so 9116 no RenderObjects can be cached over it. 9117 9118 * html/HTMLEmbedElement.cpp: 9119 (WebCore::findWidgetRenderer): 9120 (WebCore::HTMLEmbedElement::getInstance): 9121 * html/HTMLObjectElement.cpp: 9122 (WebCore::HTMLObjectElement::getInstance): 9123 9124 2007-08-31 Anders Carlsson <andersca (a] apple.com> 9125 9126 Reviewed by Mitz. 9127 9128 <rdar://problem/5443936> 9129 Crash after QT movie completes playback at apple.com/imac 9130 9131 If the plug-in or one of its children have focus, set it to NULL to prevent the web view window from getting the focus, 9132 which can cause a layout to happen while in HTMLObjectElement::detach. (This is what we do on the Mac). 9133 9134 * plugins/win/PluginViewWin.cpp: 9135 (WebCore::PluginViewWin::setParent): 9136 9137 2007-08-30 Adele Peterson <adele (a] apple.com> 9138 9139 Reviewed by Justin. 9140 9141 Fix for <rdar://problem/5450600> REGRESSION: can't paste in textfield if its in a body that has user-select:none set (affects widgets) 9142 9143 Test: editing/pasteboard/paste-plaintext-user-select-none.html 9144 9145 * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::insertFragmentForTestRendering): 9146 Copy the user-select style from the current selection node and apply it so it is considered during the test rendering. 9147 This is important since we recently changed user-select to be inherited. When we consider valid VisiblePositions for the test rendering, 9148 we need to have the correct user-select value that will actually be used for the real insertion. 9149 9150 2007-08-31 Anders Carlsson <andersca (a] apple.com> 9151 9152 Reviewed by Oliver. 9153 9154 <rdar://problem/5423939> 9155 http://bugs.webkit.org/show_bug.cgi?id=15013 9156 ASSERTION FAILED !m_inDestructor in WebCore::Shared<WebCore::PluginStreamWin>::ref() on Windows 9157 9158 Protect the stream in case it's destroyed by the plug-in. 9159 9160 * plugins/win/PluginStreamWin.cpp: 9161 (WebCore::PluginStreamWin::didReceiveData): 9162 9163 a2007-08-31 Darin Adler <darin (a] apple.com> 9164 9165 Reviewed by Anders. 9166 9167 - http://bugs.webkit.org/show_bug.cgi?id=15122 9168 9169 * editing/htmlediting.cpp: (WebCore::avoidIntersectionWithNode): 9170 Change assertion so that it only fires when actually modifying the selection. 9171 This isn't nearly as helpful, because the old assertion could catch potential 9172 problems in more cases, but it's not obvious how to do better. 9173 9174 2007-08-30 Oliver Hunt <oliver (a] apple.com> 9175 9176 Reviewed by Adam. 9177 9178 <rdar://problem/5430772> REGRESSION(303-310A5) list items do not show with mouse over on istweb.apple.com/quack.apple.com 9179 9180 VC++ treats bitfields as signed members, so Node::m_styleChange would be 9181 sign extended if it was assigned the value FullStyleChange. This caused 9182 style recalculation to stop propagating. 9183 9184 We work around this VC++ oddity by storing the enum as an unsigned, and 9185 casting back to StyleChangeType in the getter. 9186 9187 Test: fast/css/hover-affects-child.html 9188 9189 * dom/Node.h: 9190 (WebCore::Node::styleChangeType): 9191 9192 2007-08-29 Justin Garcia <justin.garcia (a] apple.com> 9193 9194 Reviewed by Darin. 9195 9196 <rdar://problem/5368833> 9197 REGRESSION: Pasting a triple-clicked line of quoted text at the top of a message adds an extra, quoted line 9198 9199 * editing/CompositeEditCommand.cpp: 9200 (WebCore::CompositeEditCommand::insertParagraphSeparator): Added an option for 9201 using a plain div to hold the new paragraph, instead of a clone of the previous 9202 block. 9203 * editing/CompositeEditCommand.h: 9204 * editing/InsertParagraphSeparatorCommand.cpp: Ditto. 9205 (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): Ditto. 9206 (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto. 9207 * editing/InsertParagraphSeparatorCommand.h: 9208 * editing/ReplaceSelectionCommand.cpp: 9209 (WebCore::ReplaceSelectionCommand::doApply): Use a default block element when creating 9210 new paragraphs, so that empty paragraphs don't contain the block style of the previous 9211 one. 9212 Don't expand collapsed brs at the end of inserted content, this was the root of the bug. 9213 We'd copy <blockquote>hello<br></blockquote><br class="Apple-interchange-newline"> 9214 and get an extra paragraph. The removed code used to make sure that if the copied 9215 selection ends with a paragraph break that is represented in the copied markup by a 9216 regular br (not an interchange newline br), that that paragraph break appears in the 9217 pasted content, but shouldMergeEnd, which was introduced after this code was written, 9218 now takes care of that. 9219 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Inserted content should always 9220 displace placeholder brs, even if that inserted content ends with a br. 9221 * editing/markup.cpp: 9222 (WebCore::needInterchangeNewlineAfter): This code failed to add an interchange newline 9223 if the user copied <div>hello</div><br>, only don't add an interchange newline when 9224 copying ^hello<br>^<br>, because then the copied paragraph break will already be 9225 represented in the copied markup by a br. 9226 (WebCore::createMarkup): 9227 9228 2007-08-30 David Harrison <harrison (a] apple.com> 9229 9230 Reviewed by Darin. 9231 9232 <rdar://problem/5423900> Seed: safari crashes on submit feedback page in -[WebCoreAXObject isAttachment] 9233 9234 * bridge/mac/WebCoreAXObject.mm: 9235 (-[WebCoreAXObject isAttachment]): 9236 Add nil check since element could be detached. 9237 9238 2007-08-30 Mitz Pettel <mitz (a] webkit.org> 9239 9240 Reviewed by Dave Hyatt. 9241 9242 - fix http://bugs.webkit.org/show_bug.cgi?id=13282 9243 <rdar://problem/5126392> REGRESSION (NativePopUp): Rightmost character cut off in pop-up menu 9244 9245 * rendering/RenderMenuList.cpp: 9246 (WebCore::RenderMenuList::updateOptionsWidth): When measuring option text, use 9247 the same WebCore run rounding behavior that is used to draw it in the popup button. 9248 9249 2007-08-30 Riku Voipio <riku.voipio (a] iki.fi> 9250 9251 Reviewed by Dave Kilzer. 9252 9253 Better ARM defines. 9254 9255 * platform/DeprecatedString.h: Update comments to reflect the 9256 change and update test to fit changes to Platform.h. 9257 9258 2007-08-30 Darin Adler <darin (a] apple.com> 9259 9260 Reviewed by Tim Hatcher. 9261 9262 - fix http://bugs.webkig.org/show_bug.cgi?id=14981 9263 DEBUG builds of WebKit hang videwing Yahoo! Mail messages 9264 with ~5 MB text attachment 9265 9266 * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::checkConsistency): 9267 * rendering/RenderFlow.cpp: (WebCore::RenderFlow::checkConsistency): 9268 * rendering/RenderText.cpp: (WebCore::RenderText::checkConsistency): 9269 Put the actual consistency check inside an ifdef. If you need it you can 9270 turn it on. There's still some function call overhead in builds that don't 9271 have NDEBUG defined, but that's worth it so we can turn this on and off 9272 without recompiling the world. 9273 9274 - small code style improvement to recently changed function 9275 9276 * editing/TextIterator.cpp: (WebCore::plainTextToMallocAllocatedBuffer): 9277 Use a typedef and make_pair to make the code dealing with the pair simpler to read. 9278 9279 2007-08-30 Simon Hausmann <hausmann (a] kde.org> 9280 9281 Reviewed by Zack. 9282 9283 Fix Qt/Gdk build. gcc on Linux at least doesn't like initializing 9284 variables between jumps with goto ("jump to label foo crosses 9285 initialization of bar"). 9286 9287 * editing/TextIterator.cpp: 9288 (WebCore::plainTextToMallocAllocatedBuffer): 9289 9290 2007-08-30 Darin Adler <darin (a] apple.com> 9291 9292 Reviewed by Antti. 9293 9294 - fix <rdar://problem/5423270> CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: 9295 WebCore::plainTextToMallocAllocatedBuffer + 762 9296 9297 * editing/TextIterator.cpp: (WebCore::plainTextToMallocAllocatedBuffer): 9298 Check for a malloc failure and exit the function if it failed. 9299 9300 2007-08-29 Anders Carlsson <andersca (a] apple.com> 9301 9302 Reviewed by Oliver. 9303 9304 <rdar://problem/5404329> 9305 Plugin content starves WM_TIMER events on UI thread (affects idle behavior of app) on http://www.vincent-vella.com/, http://www.sagmeister.com/ 9306 9307 Add a tiny delay to invalidation timer to prevent it from starving other timers. 9308 9309 * plugins/win/PluginViewWin.cpp: 9310 (WebCore::PluginViewWin::invalidateRect): 9311 9312 2007-08-29 Darin Adler <darin (a] apple.com> 9313 9314 Reviewed by Adele. 9315 9316 * editing/htmlediting.cpp: (WebCore::avoidIntersectionWithNode): 9317 Fix an assert that was firing for me all the time when doing editing operations. 9318 9319 2007-08-29 Anders Carlsson <andersca (a] apple.com> 9320 9321 Reviewed by Adam. 9322 9323 <rdar://problem/5386098> 9324 Repro hang with some Flash plugin content (http://dougmccune.com/blog/2007/07/25/coming-to-flexcamp-at-adobe/) 9325 9326 In some cases, Flash ends up starving the main loop by sending a lot of WM_USER + 1 messages. Throttle these 9327 messages so they won't end up hanging the web browser. 9328 9329 * plugins/win/PluginViewWin.cpp: 9330 (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): 9331 (WebCore::PluginMessageThrottlerWin::~PluginMessageThrottlerWin): 9332 (WebCore::PluginMessageThrottlerWin::appendMessage): 9333 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): 9334 (WebCore::PluginMessageThrottlerWin::allocateMessage): 9335 (WebCore::PluginMessageThrottlerWin::isInlineMessage): 9336 (WebCore::PluginMessageThrottlerWin::freeMessage): 9337 (WebCore::PluginViewWndProc): 9338 (WebCore::PluginViewWin::wndProc): 9339 (WebCore::PluginViewWin::determineQuirks): 9340 * plugins/win/PluginViewWin.h: 9341 (WebCore::): 9342 (WebCore::PluginViewWin::pluginWndProc): 9343 9344 2007-08-29 Beth Dakin <bdakin (a] apple.com> 9345 9346 Reviewed by Hyatt. 9347 9348 Fix for <rdar://problem/5436800> REGRESSION: PLT is 1.5% slower due 9349 to r24593 and r25098 9350 9351 In r25098, we only called setCreatedByParser for XML! This patch 9352 calls it for HTML too, and takes care of the performance 9353 regression. 9354 9355 * html/HTMLElementFactory.cpp: 9356 (WebCore::styleConstructor): 9357 9358 2007-08-29 Antti Koivisto <antti (a] apple.com> 9359 9360 Reviewed by Mitz. 9361 9362 Fix <rdar://problem/5425951> 9363 REGRESSION: change to updateLayoutIgnorePendingStylesheets causes SAP Portal page to render wrong 9364 9365 If new nodes have been added or style recalc has been done with style sheets still pending, some nodes 9366 may not have had their real style calculated yet. Normally this state gets cleaned when style sheets arrive 9367 but in updateLayoutIgnorePendingStylesheets() we need to do full style recalc to get up-to-date style immediatly. 9368 9369 Added a document flag to track if there are any nodes that did not have their real style calculated due to 9370 pending stylesheets. 9371 9372 Test: fast/dynamic/style-access-late-stylesheet-load.html 9373 9374 * css/CSSStyleSelector.cpp: 9375 (WebCore::CSSStyleSelector::styleForElement): 9376 * dom/Document.cpp: 9377 (WebCore::Document::Document): 9378 (WebCore::Document::recalcStyle): 9379 (WebCore::Document::updateLayoutIgnorePendingStylesheets): 9380 * dom/Document.h: 9381 (WebCore::Document::setHasNodesWithPlaceholderStyle): 9382 9383 2007-08-29 Alice Liu <alice.liu (a] apple.com> 9384 9385 Reviewed by Maciej. 9386 9387 We disable the DeleteButton UI before applying any editing commands. 9388 This patch simply moves those disable/enable calls to a more correct place, closer to the actual application of the editing command. 9389 9390 * editing/EditCommand.cpp: 9391 (WebCore::EditCommand::apply): 9392 (WebCore::applyCommand): 9393 9394 2007-08-28 Alice Liu <alice.liu (a] apple.com> 9395 9396 fixed <rdar://problem/5420682> Mail crashes at WebCore::InsertLineBreakCommand::doApply() 9397 after dropping a selected image over container's close box 9398 9399 Reviewed by Darin and Maciej. 9400 9401 * editing/DeleteButtonController.cpp: 9402 (WebCore::DeleteButtonController::show): 9403 (WebCore::DeleteButtonController::hide): 9404 * editing/DeleteButtonController.h: 9405 (WebCore::DeleteButtonController::enabled): 9406 General changes made to DeleteButtonController: when hiding, it's not necessary to clear out 9407 the m_containerElement and m_target, especially since to fix this bug we need to keep 9408 their values around. It's sufficient to just detach the container from target. 9409 9410 * editing/EditCommand.cpp: 9411 (WebCore::EditCommand::EditCommand): 9412 Move the selection out of the deletion UI since we don't want to expose the deletion UI to any editing. 9413 9414 * editing/Editor.cpp: 9415 (WebCore::Editor::rangeForPoint): 9416 Move the range out of the deletion UI since we don't want to expose the deletion UI to any editing. 9417 9418 * editing/htmlediting.cpp: 9419 * editing/htmlediting.h: 9420 (WebCore::avoidIntersectionWithNode): 9421 Moved function that operates on Range from markup.cpp to here 9422 Added new implementation for function that operates on Selection 9423 9424 * editing/markup.cpp: 9425 (WebCore::createMarkup): 9426 Moved function out of this file to htmlediting.cpp, and renamed to avoidIntersectionWithNode 9427 9428 2007-08-29 David Hyatt <hyatt (a] apple.com> 9429 9430 Fix for 5441281, remove our dependency on cursor rects and drag margins 9431 in AppKit for a large performance boost on the PLT and iBench. 9432 9433 Reviewed by darin 9434 9435 * platform/mac/WidgetMac.mm: 9436 (WebCore::safeRemoveFromSuperview): 9437 (WebCore::Widget::addToSuperview): 9438 Suppress the resetting of drag margins when views are added and removed. 9439 9440 (WebCore::Widget::setCursor): 9441 Just use NSCursor's set method to immediately set the cursor. We no longer 9442 rely on NSScrollView/NSClipView setDocumentCursor, since that is implemented 9443 using cursor rects. 9444 9445 2007-08-29 Rick <rick (a] writhe.org.uk> 9446 9447 Reviewed by Tim Hatcher. 9448 9449 Fix http://bugs.webkit.org/show_bug.cgi?id=14853 9450 Bug 14853: Incorrect implementation of ArrayImpl's equality operator 9451 9452 * platform/ArrayImpl.cpp: 9453 (WebCore::ArrayImpl::operator==): 9454 Fixed typo so that correct variable is used in equality comparison. 9455 9456 2007-08-29 Peter Kasting <pkasting (a] google.com> 9457 9458 Reviewed by Maciej. 9459 9460 - fix http://bugs.webkit.org/show_bug.cgi?id=15096 9461 Move the GIF frame duration minimum check into the various 9462 ImageSource*.cpp backends and use the same values as 9463 ImageSourceCG.cpp. 9464 9465 * platform/graphics/cairo/ImageSourceCairo.cpp: 9466 (WebCore::ImageSource::frameDurationAtIndex): 9467 * platform/graphics/qt/ImageSourceQt.cpp: 9468 (WebCore::ImageSource::frameDurationAtIndex): 9469 * platform/image-decoders/gif/GIFImageReader.cpp: 9470 (GIFImageReader::read): 9471 9472 2007-08-29 Peter Kasting <pkasting (a] google.com> 9473 9474 Reviewed by Maciej. 9475 9476 - fix http://bugs.webkit.org/show_bug.cgi?id=15097 9477 Make PNGImageDecoder.cpp size its frame buffer vector in its 9478 constructor, so it never throws decoded image data away no matter 9479 what order its functions are called in. 9480 9481 * platform/image-decoders/png/PNGImageDecoder.cpp: 9482 (WebCore::PNGImageDecoder::PNGImageDecoder): 9483 (WebCore::PNGImageDecoder::frameBufferAtIndex): 9484 (WebCore::PNGImageDecoder::decode): 9485 (WebCore::PNGImageDecoder::rowAvailable): 9486 (WebCore::PNGImageDecoder::pngComplete): 9487 9488 2007-08-29 Peter Kasting <pkasting (a] google.com> 9489 9490 Reviewed by Maciej. 9491 9492 - fix http://bugs.webkit.org/show_bug.cgi?id=15104 9493 Don't double-compensate for sizeof(unsigned) when making a buffer 9494 overflow check in the GIF decoder. Now interlaced GIFs don't 9495 sometimes get nothing/garbage in some of the bottom rows. 9496 9497 * platform/image-decoders/gif/GIFImageDecoder.cpp: 9498 (WebCore::GIFImageDecoder::haveDecodedRow): 9499 9500 2007-08-28 Sam Weinig <sam (a] webkit.org> 9501 9502 Reviewed by Darin. 9503 9504 Update fix landed in r25249 to account for XMLHttpRequest, which can also be EventTargets. 9505 9506 Tests: http/tests/security/listener/xss-XMLHttpRequest-addEventListener.html 9507 http/tests/security/listener/xss-XMLHttpRequest-shortcut.html 9508 9509 * bindings/js/JSXMLHttpRequest.cpp: 9510 (KJS::JSXMLHttpRequest::putValueProperty): Use the Window object associated with document's frame, not the active Window. 9511 (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): ditto 9512 * xml/XMLHttpRequest.h: 9513 (WebCore::XMLHttpRequest::document): Expose Document member so bindings can access the correct frame. 9514 9515 2007-08-28 Anders Carlsson <andersca (a] apple.com> 9516 9517 Reviewed by Darin. 9518 9519 <rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent 9520 9521 Restore the previous behavior, creating plug-ins on attach, for WebKit plug-ins. Netscape plug-ins 9522 are still created during the first layout. 9523 9524 * html/HTMLEmbedElement.cpp: 9525 (WebCore::HTMLEmbedElement::getInstance): 9526 Only call layout if the renderer doesn't have a widget. 9527 9528 * html/HTMLObjectElement.cpp: 9529 (WebCore::HTMLObjectElement::getInstance): 9530 Likewise. 9531 9532 * loader/FrameLoader.cpp: 9533 (WebCore::FrameLoader::shouldUsePlugin): 9534 Update for enum change. 9535 9536 * loader/FrameLoaderTypes.h: 9537 Add ObjectContentNetscapePlugin and ObjectContentOtherPlugin. 9538 9539 * page/mac/WebCoreFrameBridge.h: 9540 Get rid of the enum here, we can use the one in FrameLoaderTypes.h 9541 9542 * rendering/RenderPartObject.cpp: 9543 (WebCore::RenderPartObject::updateWidget): 9544 Only create the plug-in if it's not a Netscape plug-in. 9545 9546 (WebCore::RenderPartObject::layout): 9547 Fix indentation. 9548 9549 2007-08-28 David Harrison <harrison (a] apple.com> 9550 9551 Reviewed by Darin. 9552 9553 <rdar://problem/5415006> Command Left in a To Do causes caret to disappear 9554 9555 The selection was ending up inside non-editable content at the To Do Options 9556 arrow image, rather then at the editable position just to the left of that image. 9557 The problem was that startPositionForLine looked only at line boxes, and there 9558 is no linebox for the editable position at the far left of a To Do, which is 9559 a table. Addressed by having startPositionForLine use table offset 0 instead 9560 of the first VisiblePosition inside the table. 9561 9562 Found and fixed the similar case with option-left (move by word position). 9563 9564 Test cases: 9565 * editing/selection/mixed-editability-8.html: Added. 9566 * editing/selection/mixed-editability-9.html: Added. 9567 9568 Source changes: 9569 * editing/SelectionController.cpp: 9570 (WebCore::SelectionController::modifyMovingLeftBackward): 9571 9572 * editing/VisiblePosition.cpp: 9573 (WebCore::VisiblePosition::next): 9574 (WebCore::VisiblePosition::previous): 9575 (WebCore::VisiblePosition::stayInEditableContentLeft): 9576 (WebCore::VisiblePosition::stayInEditableContentRight): 9577 Factored stayInEditableContentLeft() and stayInEditableContentRight() 9578 out of previous() and next(). 9579 9580 * editing/VisiblePosition.h: 9581 Declare stayInEditableContentLeft() and stayInEditableContentRight(). 9582 9583 * editing/visible_units.cpp: 9584 (WebCore::previousWordPosition): 9585 (WebCore::nextWordPosition): 9586 (WebCore::startOfLine): 9587 (WebCore::endOfLine): 9588 (WebCore::previousSentencePosition): 9589 (WebCore::nextSentencePosition): 9590 Call stayInEditableContentLeft() or stayInEditableContentRight(), as 9591 appropriate, so prevent crossing from editable content into 9592 uneditable content. 9593 9594 (WebCore::startPositionForLine): 9595 Use table offset 0 instead of the first VisiblePosition in the table. 9596 9597 2007-08-28 Mark Rowe <mrowe (a] apple.com> 9598 9599 Reviewed by Darin Adler. 9600 9601 <rdar://problem/5443453> Decreasing history expiration time from 1 year to 1 week can lead to long hang while icon database syncs 9602 9603 Perform the sync inside a SQLite transaction. This drops the time taken for the sync from over 90s to under half a second in the 9604 extreme case of over 90,000 URLs being pruned. 9605 9606 * loader/icon/IconDatabase.cpp: 9607 (WebCore::IconDatabase::syncDatabase): 9608 9609 2007-08-28 Mark Rowe <mrowe (a] apple.com> 9610 9611 Reviewed by Darin Adler. 9612 9613 <rdar://problem/5437983> Loading history containing 100,000 entries adds 20s to Safari's startup 9614 9615 Add a new constructor for HistoryItem that initializes the alternate title. This prevents WebHistoryItem 9616 in WebKit from having explicitly set the display title, which triggers a history item changed notification 9617 to be posted, for each history item loaded. 9618 9619 * WebCore.exp: 9620 * history/HistoryItem.cpp: 9621 (WebCore::HistoryItem::HistoryItem): 9622 * history/HistoryItem.h: 9623 9624 2007-08-28 Anders Carlsson <andersca (a] apple.com> 9625 9626 Reviewed by Darin. 9627 9628 <rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues 9629 9630 Add a shouldContentSniff flag to ResourceLoader and ResourceHandle and have XMLHttpRequest 9631 pass in false when creating its subresource loader. 9632 9633 * WebCore.exp: 9634 * loader/MainResourceLoader.cpp: 9635 (WebCore::MainResourceLoader::MainResourceLoader): 9636 (WebCore::MainResourceLoader::loadNow): 9637 * loader/ResourceLoader.cpp: 9638 (WebCore::ResourceLoader::ResourceLoader): 9639 (WebCore::ResourceLoader::load): 9640 * loader/ResourceLoader.h: 9641 * loader/SubresourceLoader.cpp: 9642 (WebCore::SubresourceLoader::SubresourceLoader): 9643 (WebCore::SubresourceLoader::create): 9644 * loader/SubresourceLoader.h: 9645 * loader/mac/NetscapePlugInStreamLoaderMac.mm: 9646 (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): 9647 * platform/mac/WebCoreSystemInterface.h: 9648 * platform/mac/WebCoreSystemInterface.mm: 9649 * platform/network/ResourceHandle.cpp: 9650 (WebCore::ResourceHandle::ResourceHandle): 9651 (WebCore::ResourceHandle::create): 9652 * platform/network/ResourceHandle.h: 9653 * platform/network/ResourceHandleInternal.h: 9654 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 9655 * platform/network/mac/ResourceHandleMac.mm: 9656 (WebCore::ResourceHandle::start): 9657 * xml/XMLHttpRequest.cpp: 9658 (WebCore::XMLHttpRequest::send): 9659 9660 2007-08-27 Steve Falkenburg <sfalken (a] apple.com> 9661 9662 Added getter for committedFirstRealDocumentLoad. 9663 9664 Reviewed by Maciej. 9665 9666 * loader/FrameLoader.h: Added committedFirstRealDocumentLoad. 9667 (WebCore::FrameLoader::committedFirstRealDocumentLoad): Added. 9668 9669 2007-08-27 Antti Koivisto <antti (a] apple.com> 9670 9671 Reviewed by Maciej. 9672 9673 Fix <rdar://problem/5433144> 9674 REGRESSION: Unable to click "Select" link at Expedia for car rentals 9675 9676 javascript: URLs need special handling when serializing. Escaping them like 9677 normal attribute values can do bad things. Try hard to not escape anything, 9678 escape quote characters only if really necessary. Try to match Firefox. 9679 9680 Test: fast/innerHTML/javascript-url.html 9681 9682 * editing/markup.cpp: 9683 (WebCore::urlAttributeToQuotedString): 9684 (WebCore::startMarkup): 9685 9686 2007-08-27 David Hyatt <hyatt (a] apple.com> 9687 9688 Fix for 5441224, micro-optimizations to improve the PLT by 1%. 9689 9690 Reviewed by Darin 9691 9692 * css/CSSStyleSelector.cpp: 9693 (WebCore::CSSStyleSelector::canShareStyleWithElement): 9694 * platform/mac/FontMac.mm: 9695 (WebCore::Font::drawGlyphs): 9696 * rendering/RenderInline.cpp: 9697 (WebCore::RenderInline::requiresLayer): 9698 * rendering/RenderObject.cpp: 9699 (WebCore::RenderObject::isBody): 9700 * rendering/RenderObject.h: 9701 (WebCore::RenderObject::renderArena): 9702 (WebCore::RenderObject::isRoot): 9703 9704 2007-08-27 Mitz Pettel <mitz (a] webkit.org> 9705 9706 Reviewed by Darin. 9707 9708 - fix http://bugs.webkit.org/show_bug.cgi?id=15091 9709 Crash in RenderBlock::skipWhitespace during layout <rdar://problem/5439631> 9710 9711 Test: fast/replaced/applet-disabled-positioned.html 9712 9713 * html/HTMLAppletElement.cpp: 9714 (WebCore::HTMLAppletElement::createRenderer): Changed to call 9715 RenderObject::createObject(), which accounts for style. 9716 9717 2007-08-26 Antti Koivisto <antti (a] apple.com> 9718 9719 Reviewed by Darin. 9720 9721 Fix for <rdar://problem/5433726> 9722 Mail crash at WebCore::Frame::styleForSelectionStart() when deleting a selection in a HTML message (http://www.yahoo.com/) 9723 9724 Test: editing/style/temporary-span-crash.html 9725 9726 * page/Frame.cpp: 9727 (WebCore::Frame::styleForSelectionStart): 9728 Temporary span created here might not have renderer if document has style sheet that makes it display:none. 9729 Set display:inline explicitly in spans style attribute. This temporary span does not need to get its display 9730 value from actual document style sheets. Null check the renderer too to be sure. 9731 9732 9733 2007-08-24 Sam Weinig <sam (a] webkit.org> 9734 9735 Reviewed by Adele. 9736 9737 Fix for <rdar://problem/5426142> 9738 9739 Use the EventTarget's frame when creating the EventListener. 9740 9741 Tests: http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener.html 9742 http/tests/security/listener/xss-JSTargetNode-onclick-shortcut.html 9743 http/tests/security/listener/xss-window-onclick-addEventListener.html 9744 http/tests/security/listener/xss-window-onclick-shortcut.html 9745 9746 * bindings/js/JSEventTargetNode.cpp: 9747 (WebCore::JSEventTargetNode::setListener): 9748 (WebCore::JSEventTargetNodePrototypeFunction::callAsFunction): 9749 * bindings/js/kjs_window.cpp: 9750 (KJS::WindowFunc::callAsFunction): 9751 9752 2007-08-25 Mitz Pettel <mitz (a] webkit.org> 9753 9754 Reviewed by Sam Weinig. 9755 9756 - fix http://bugs.webkit.org/show_bug.cgi?id=15077 9757 REGRESSION: Cannot drag selected text out of a background window 9758 9759 * manual-tests/drag-out-of-background-window.html: Added. 9760 * page/EventHandler.cpp: 9761 (WebCore::EventHandler::eventMayStartDrag): Added missing coordinate 9762 conversion. 9763 9764 2007-08-25 Rob Buis <buis (a] kde.org> 9765 9766 Reviewed by Darin. 9767 9768 http://bugs.webkit.org/show_bug.cgi?id=14848 9769 DOM table rules are not updated when changed 9770 9771 On a dynamic rules attr change, mark the table cells and 9772 their ancestors (up to and including the table tag) as 9773 changed. 9774 9775 Tests: fast/table/rules-attr-dynchange1.html 9776 fast/table/rules-attr-dynchange2.html 9777 9778 * html/HTMLTableElement.cpp: 9779 (WebCore::isTableCellAncestor): 9780 (WebCore::setTableCellsChanged): 9781 (WebCore::HTMLTableElement::parseMappedAttribute): 9782 9783 2007-08-25 Adele Peterson <adele (a] apple.com> 9784 9785 Reviewed by Mitz. 9786 9787 Fix for http://bugs.webkit.org/show_bug.cgi?id=15073 9788 <rdar://problem/5426557> REGRESSION: Can no longer drag text from textareas 9789 9790 Test: fast/forms/drag-out-of-textarea.html 9791 9792 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControlInnerBlock::nodeAtPoint): 9793 Only restricts hit testing if the placeholder text is visible. 9794 * rendering/RenderTextControl.h: (WebCore::RenderTextControl::placeholderIsVisible): Added. 9795 9796 2007-08-25 Peter Kasting <pkasting (a] google.com> 9797 9798 Reviewed by Sam Weinig. 9799 9800 Part 2 of http://bugs.webkit.org/show_bug.cgi?id=14967. 9801 Eliminate all remaining implicit conversions of wtf::Vector<T> to T*. Where code was 9802 previously checking that the Vector's data pointer was non-NULL, check !Vector::isEmpty() 9803 instead. 9804 9805 * bindings/js/kjs_navigator.cpp: 9806 (KJS::PluginBase::cachePluginDataIfNecessary): 9807 * loader/mac/LoaderNSURLExtras.m: 9808 (suggestedFilenameWithMIMEType): 9809 * page/FrameView.cpp: 9810 (WebCore::FrameView::~FrameView): 9811 (WebCore::FrameView::pauseScheduledEvents): 9812 (WebCore::FrameView::resumeScheduledEvents): 9813 (WebCore::FrameView::dispatchScheduledEvents): 9814 * platform/mac/PlugInInfoStoreMac.mm: 9815 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex): 9816 9817 2007-08-25 Mitz Pettel <mitz (a] webkit.org> 9818 9819 Rubber-stamped by Adam Roben 9820 9821 - remove unused file 9822 9823 * platform/win/MouseEventWin.cpp: Removed. 9824 9825 2007-08-25 Jasper Bryant-Greene <m (a] ni.ac.nz> 9826 9827 Reviewed by Oliver Hunt. 9828 9829 Set paintingDisabled to true in Cairo's GraphicsContext constructor 9830 when passed a null PlatformGraphicsContext. 9831 9832 * platform/graphics/cairo/GraphicsContextCairo.cpp: 9833 (WebCore::GraphicsContext::GraphicsContext): 9834 9835 2007-08-25 Mitz Pettel <mitz (a] webkit.org> 9836 9837 Reviewed by Dave Hyatt. 9838 9839 - fix http://bugs.webkit.org/show_bug.cgi?id=15056 9840 REGRESSION (r21472): Digg Podcasts Episodes Render "Digg" counter incorrectly 9841 9842 Covered by fast/parser/residual-style-close-across-n-blocks.html 9843 9844 * html/HTMLParser.cpp: 9845 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): If the 9846 residual style was closed before anything else in the block (so it does 9847 not apply to anything inside the block) avoid creating an empty element for 9848 it inside the block. 9849 9850 2007-08-25 Mitz Pettel <mitz (a] webkit.org> 9851 9852 Reviewed by Dave Hyatt. 9853 9854 - fix http://bugs.webkit.org/show_bug.cgi?id=14972 9855 Moving cursor down in contentEditable section fails if styled line-height:1em 9856 9857 Test: editing/selection/move-by-line-003.html 9858 9859 * rendering/RenderText.cpp: 9860 (WebCore::RenderText::positionForCoordinates): Changed hit testing so that each 9861 line is tested for hits between its overflow top and the next line's overflow top. 9862 This matches RenderBlock::positionForCoordinates. 9863 9864 2007-08-25 Mitz Pettel <mitz (a] webkit.org> 9865 9866 Reviewed by Justin. 9867 9868 - fix http://bugs.webkit.org/show_bug.cgi?id=14792 9869 <rdar://problem/5367763> REGRESSION: Copy inserts carriage return in middle of selection 9870 9871 Test: editing/pasteboard/newlines-around-floating-or-positioned.html 9872 9873 * editing/TextIterator.cpp: 9874 (WebCore::shouldEmitNewlinesBeforeAndAfterNode): Do not emit newlines around 9875 floating or positioned blocks. This behavior seems to match WinIE's. 9876 9877 2007-08-23 Justin Garcia <justin.garcia (a] apple.com> 9878 9879 Reviewed by Darin. 9880 9881 <rdar://problem/5432254> GoogleDocs: A hang occurs when applying list style to selected table 9882 9883 * editing/DeleteSelectionCommand.cpp: 9884 (WebCore::DeleteSelectionCommand::handleGeneralDelete): If the position 9885 that marked the start of the range to delete has been removed from the 9886 document, and it was inside the node that holds the position that marks 9887 the end of the range to delete, don't remove any children of that node, 9888 because we don't know how many to remove. For example, if the end is 9889 [a, 5] and the start was in some descendant of a and was removed, don't 9890 remove any of the children of a. We will now refuse to remove some content 9891 incorrectly, but that's less dangerous than removing content incorrectly. 9892 Long term we need to update these positions as we remove content from the 9893 document, but that seems like a more risky change. Added a testcase. 9894 * editing/InsertListCommand.cpp: 9895 (WebCore::InsertListCommand::modifyRange): If the end of the selection to 9896 modify is just after a table, and if the start of the selection is inside 9897 that table, the last paragraph that we'll want modify is the last one inside 9898 the table, not the paragraph that contains the table itself. Adjust 9899 startOfLastParagraph here to avoid infinite recursion. 9900 9901 2007-08-24 Anders Carlsson <andersca (a] apple.com> 9902 9903 Reviewed by Geoff. 9904 9905 <rdar://problem/5430165> 9906 REGRESSION: Dynamically loaded images fail to load 9907 9908 * html/HTMLImageLoader.cpp: 9909 (WebCore::HTMLImageLoader::HTMLImageLoader): 9910 Initialize the m_elementIsProtected member. 9911 9912 (WebCore::HTMLImageLoader::~HTMLImageLoader): 9913 Assert that the element is not protected. 9914 9915 (WebCore::HTMLImageLoader::setLoadingImage): 9916 If the image is not null, protect the element. Otherwise, unprotect it. 9917 9918 (WebCore::HTMLImageLoader::dispatchLoadEvent): 9919 Unprotect the element here. 9920 9921 (WebCore::HTMLImageLoader::protectElement): 9922 (WebCore::HTMLImageLoader::unprotectElement): 9923 New methods which protect and unprotect the element. 9924 9925 * html/HTMLImageLoader.h: 9926 9927 2007-08-24 Kevin McCullough <kmccullough (a] apple.com> 9928 9929 - Updated ChangeLog 9930 9931 2007-08-24 Beth Dakin <bdakin (a] apple.com> 9932 9933 Reviewed by Hyatt and Adele. 9934 9935 Fix for <rdar://problem/5417203> Google Gmail 1.0 widget - unread 9936 count is missing 9937 9938 * rendering/FixedTableLayout.cpp: 9939 (WebCore::FixedTableLayout::calcWidthArray): Calc pref widths for 9940 our cells, if needed. 9941 9942 2007-08-24 Kevin McCullough <kmccullough (a] apple.com> 9943 9944 Reviewed by Darin. 9945 9946 <rdar://problem/5437038> 1 credential object leaked for each call to credentialWithUser:password:persistence 9947 - Use initWithUser instead of credentialWithUser because credentialWithUser leaks. 9948 9949 * platform/network/mac/AuthenticationMac.mm: 9950 (WebCore::mac): 9951 * platform/network/mac/ResourceHandleMac.mm: 9952 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): 9953 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): 9954 9955 2007-08-24 Jon Honeycutt <jhoneycutt (a] apple.com> 9956 9957 Reviewed by Darin. 9958 9959 <rdar://problem/5433236> Print preview of empty txt file crashes Safari 9960 Fix: Adjust computePageRectsForFrame to always return at least one 9961 page rect, even if document height is zero. 9962 9963 * WebCore.vcproj/WebCore.vcproj: 9964 * bridge/win/FrameWin.h: Added Vector& parameter to 9965 computePagesRectsForFrame; changed its return type to void. 9966 * bridge/win/FrameWin.cpp: 9967 (WebCore::computePageRectsForFrame): Reordered the loop that inserts 9968 rects into the vector. 9969 9970 2007-08-24 Antti Koivisto <antti (a] apple.com> 9971 9972 Reviewed by Oliver 9973 9974 Fix <rdar://problem/5393758> 9975 Crash in WebCore::FontData::platformInit 9976 9977 Null check glyph page. 9978 9979 If font has somehow failed to initialize it is possible to have null glyph page. Based on 9980 crash dumps this seems to occasionally happen when running Mail under guard malloc. 9981 9982 No test case, I don't know how to get to this state. 9983 9984 * platform/FontData.cpp: 9985 (WebCore::FontData::FontData): 9986 * platform/mac/FontDataMac.mm: 9987 (WebCore::FontData::platformInit): 9988 9989 2007-08-24 George Wright <george.wright (a] collabora.co.uk> 9990 9991 Reviewed by Oliver. 9992 9993 http://bugs.webkit.org/show_bug.cgi?id=15071 9994 [cairo] SVG skews are incorrect 9995 9996 Fix Cairo implementation of AffineTransform::shear so that shearing is 9997 done in the correct direction. 9998 9999 * platform/graphics/cairo/AffineTransformCairo.cpp: 10000 (WebCore::AffineTransform::shear): 10001 10002 2007-08-23 Anders Carlsson <andersca (a] apple.com> 10003 10004 Reviewed by Steve. 10005 10006 If necessary, re-set the window proc after each call to NPP_SetWindow. This is to ensure that 10007 our window proc is always run even if a plug-in subclasses the window and replaces the window proc. 10008 10009 Also, make sure that the default window proc is of type ASCII so we can eliminate the 10010 * plugins/win/PluginViewWin.cpp: 10011 (WebCore::registerPluginView): 10012 (WebCore::PluginViewWndProc): 10013 (WebCore::PluginViewWin::setNPWindowRect): 10014 (WebCore::PluginViewWin::stop): 10015 (WebCore::PluginViewWin::determineQuirks): 10016 (WebCore::PluginViewWin::PluginViewWin): 10017 (WebCore::PluginViewWin::init): 10018 * plugins/win/PluginViewWin.h: 10019 (WebCore::): 10020 (WebCore::PluginViewWin::pluginWndProc): 10021 10022 2007-08-23 Justin Garcia <justin.garcia (a] apple.com> 10023 10024 Reviewed by Adele. 10025 10026 <rdar://problem/5156801> REGRESSION: Crash at DeleteSelectionCommand::doApply() when deleting table content 10027 10028 * editing/DeleteSelectionCommand.cpp: 10029 (WebCore::DeleteSelectionCommand::handleGeneralDelete): Use a RefPtr 10030 for node. If the node to be removed contains the selection, and if 10031 the next node to be removed (nextNode) is inside the deletion UI, 10032 removing node will remove nextNode from the document. nextNode is 10033 a RefPtr, but node isn't and when nextNode falls out of scope the node 10034 that node points to will be destroyed and we'll end up using a stale pointer. 10035 Long term we should probably just disable the deletion UI before editing 10036 operations because the undo of the removal of node in the situation 10037 described above relies on the presence of the deletion UI, but it isn't 10038 present because its added and removed in a non-undoable way. 10039 10040 2007-08-23 Mitz Pettel <mitz (a] webkit.org> 10041 10042 Reviewed by Darin. 10043 10044 - fix http://bugs.webkit.org/show_bug.cgi?id=14899 10045 !d->m_view->needsLayout() in Frame::paint() (Causes assert) 10046 10047 WebKit copies the width and height attributes of an <embed> to its 10048 nearest <object> ancestor. This used to be done in updateWidget(), but 10049 that could lead to the document being dirty right after layout and 10050 before painting. The patch moves the copying of the attributes to when 10051 the <embed> is inserted into the document or its attributes change. 10052 10053 * html/HTMLEmbedElement.cpp: 10054 (WebCore::HTMLEmbedElement::insertedIntoDocument): 10055 (WebCore::HTMLEmbedElement::attributeChanged): 10056 * html/HTMLEmbedElement.h: 10057 * manual-tests/bugzilla-14899.html: Added. 10058 * rendering/RenderPartObject.cpp: 10059 (WebCore::RenderPartObject::updateWidget): 10060 10061 2007-08-22 Anders Carlsson <andersca (a] apple.com> 10062 10063 Reviewed by Darin and Oliver. 10064 10065 <rdar://problem/5422410> 10066 http://bugs.webkit.org/show_bug.cgi?id=15019 10067 REGRESSION (r25124-r25140): New posts and hot topics won't show at mobile01.com 10068 10069 Remove the call to checkCallImplicitClose(). Calling it in loadPlugin is bad for two reasons: 10070 10071 1. It could cause onload to be dispatched even when the page has subresources that are still 10072 loading, such as images. 10073 10074 2. Now that loadPlugin is called during layout, it could cause onload to be dispatched during 10075 layout, which can execute javascript and do pretty much anything while the render tree is in an 10076 inconsistent state. 10077 10078 * loader/FrameLoader.cpp: 10079 (WebCore::FrameLoader::loadPlugin): 10080 10081 2007-08-22 Anders Carlsson <andersca (a] apple.com> 10082 10083 Reviewed by Adam. 10084 10085 <rdar://problem/5430584> 10086 http://bugs.webkit.org/show_bug.cgi?id=15053 10087 WebKit does not check Windows Registry HKEY_CURRENT_USER for NPAPI plugin locations 10088 10089 * plugins/win/PluginDatabaseWin.cpp: 10090 (WebCore::addPluginsFromRegistry): 10091 (WebCore::PluginDatabaseWin::getPluginsInPaths): 10092 10093 2007-08-22 Justin Garcia <justin.garcia (a] apple.com> 10094 10095 Reviewed by Adam. 10096 10097 <rdar://problem/5418891> CrashTracer: [USER] 1 crash in Mail at -[WebViewEditor webView:shouldInsertText:replacingDOMRange:givenAction:] 10098 10099 * editing/BreakBlockquoteCommand.cpp: 10100 (WebCore::BreakBlockquoteCommand::doApply): We're reusing the topBlockquote 10101 variable. Null it out first. If there is no new topBlockquote and we don't null 10102 it out first, we'll assume that there was a new one and crash. 10103 10104 2007-08-22 Kevin McCullough <kmccullough (a] apple.com> 10105 10106 Reviewed by Adele. 10107 10108 - rdar:5423067 Reapplyingthe change but only when the text area is in focus. 10109 10110 * html/HTMLTextAreaElement.cpp: 10111 (WebCore::HTMLTextAreaElement::setValue): 10112 10113 2007-08-21 David Hyatt <hyatt (a] apple.com> 10114 10115 Fix for <rdar://problem/5249757> Painting of JPGs in WebKit is too slow. 10116 10117 Use a new Leopard API for fast tiling of images. We only use this API 10118 when the whole image is being tiled and when the current CGImageRef to tile 10119 has a size that matches the size of the whole image. 10120 10121 We can optimize border-image in the future by adding a cache of the 9 10122 sub-images. 10123 10124 Reviewed by darin 10125 10126 * platform/graphics/cg/ImageCG.cpp: 10127 (WebCore::Image::drawPattern): 10128 10129 2007-08-22 Kevin McCullough <kmccullough (a] apple.com> 10130 10131 - Rolling back since I need to update some layouttests this change breaks. 10132 10133 * html/HTMLTextAreaElement.cpp: 10134 (WebCore::HTMLTextAreaElement::setValue): 10135 10136 2007-08-21 Kevin McCullough <kmccullough (a] apple.com> 10137 10138 Reviewed by Geof, Adam, Hyatt, Maciej and Oliver. 10139 10140 - In order to match the behavior of the other major browsers, selection is moved to the end of the text value when a change occurs to the contents of a text area instead of remembering the location of the selection. 10141 - <rdar://problem/5423067> gmail is super annoying when trying to add a new name to the TO, CC or BCC fields 10142 10143 * html/HTMLTextAreaElement.cpp: 10144 (WebCore::HTMLTextAreaElement::setValue): 10145 10146 2007-08-21 Adam Roben <aroben (a] apple.com> 10147 10148 Build fix for Mac 10149 10150 Keep FrameView::layoutIfNeededRecursive Windows- and Gtk-only for now 10151 (sadly). This will have to wait until we merge ScrollView and FrameView. 10152 10153 Reviewed by NOBODY. 10154 10155 * page/FrameView.cpp: 10156 * page/FrameView.h: 10157 10158 2007-08-21 Adam Roben <aroben (a] apple.com> 10159 10160 Fix an ASSERT when using Find in Page 10161 10162 Reviewed by Darin. 10163 10164 No test possible. 10165 10166 * bridge/win/FrameWin.cpp: 10167 (WebCore::imageFromSelection): Make sure to update layout before 10168 painting so we don't hit an ASSERT in painting code (Frame::selectionImage 10169 in FrameMac.mm does this as well). 10170 10171 2007-08-21 Adam Roben <aroben (a] apple.com> 10172 10173 Made FrameView::layoutIfNeededRecursive available to all platforms 10174 10175 Currently it's only used on Gtk+ and Windows. 10176 10177 Reviewed by Darin. 10178 10179 * page/FrameView.cpp: Removed #ifdef. 10180 * page/FrameView.h: Ditto. 10181 10182 2007-08-21 Adele Peterson <adele (a] apple.com> 10183 10184 Build fix for release build. 10185 10186 * rendering/AutoTableLayout.cpp: 10187 (WebCore::AutoTableLayout::calcEffectiveWidth): 10188 (WebCore::AutoTableLayout::layout): 10189 10190 2007-08-21 Mitz Pettel <mitz (a] webkit.org> 10191 10192 Reviewed by Darin. 10193 10194 - fix http://bugs.webkit.org/show_bug.cgi?id=15010 10195 <rdar://problem/5423956> REGRESSION (r25000-r25065): Table rendering broken by a recent nightly 10196 10197 Test: fast/table/max-width-integer-overflow.html 10198 10199 Avoid integer overflows when dealing with maximum widths by 10200 1) using floating point arithmetic when summing or multiplying column max widths 10201 2) capping max widths at INT_MAX / 2 10202 10203 * rendering/AutoTableLayout.cpp: 10204 (WebCore::AutoTableLayout::calcPrefWidths): 10205 (WebCore::AutoTableLayout::calcEffectiveWidth): 10206 (WebCore::AutoTableLayout::layout): 10207 10208 2007-08-20 John Sullivan <sullivan (a] apple.com> 10209 10210 Reviewed by Adam Roben 10211 10212 WebCore part of fix for: 10213 <rdar://problem/5417777> WebKit focus ring color no longer matches system focus rings 10214 10215 Adele wrote the first version of this patch. No test cases added because I made sure the 10216 layout tests are unaffected. Two additional bug fixes were made in passing, but neither 10217 of them had any effect on any known real-world case, and both were too difficult to write 10218 test cases for to be worthwhile. 10219 10220 * WebCore.exp: 10221 added symbols for these new functions so WebKit can call them 10222 10223 * WebCore.xcodeproj/project.pbxproj: 10224 updated for new file 10225 10226 * platform/graphics/mac/ColorMac.h: Added. 10227 New file to hold the increasing amount of Mac-specific color stuff. 10228 10229 * platform/graphics/Color.h: 10230 removed #if PLATFORM(MAC) code, which is now in ColorMac.h 10231 10232 * platform/graphics/mac/ColorMac.mm: 10233 (WebCore::makeRGBAFromNSColor): 10234 new static function to convert an NSColor object to an RGBA32 struct 10235 (WebCore::colorFromNSColor): 10236 new public function to convert an NSColor object to a WebCore-style Color object 10237 (WebCore::focusRingColor): 10238 Uses (cached) systemFocusRingColor instead of hardwired values, unless usesTestModeFocusRingColor is true, 10239 in which case it uses the old hardwired color 10240 (WebCore::usesTestModeFocusRingColor): 10241 returns value of global var 10242 (WebCore::setUsesTestModeFocusRingColor): 10243 sets value of global var 10244 (+[WebCoreControlTintObserver controlTintDidChange]): 10245 Uses [NSColor keyboardFocusIndicatorColor] to set systemFocusRingColor; don't compile if COLORMATCH_EVERYTHING 10246 is set since we don't know what it would take to satisfy this state. 10247 10248 * bindings/objc/DOMRGBColor.mm: 10249 now includes ColorMac.h to account for moved declarations 10250 * bridge/mac/WebCoreAXObject.mm: 10251 ditto 10252 10253 * page/mac/FrameMac.mm: 10254 (WebCore::convertAttributesToUnderlines): 10255 now uses new colorFromNSColor. The old code was swapping G & B, but it didn't matter in practice because 10256 this function is only used to convert the color of an input manager's marked text underline, which is always black 10257 10258 * page/mac/WebCoreFrameBridge.mm: 10259 (-[WebCoreFrameBridge setBaseBackgroundColor:]): 10260 now uses new colorFromNSColor. The old code was swapping G & B, but it didn't matter in practice because 10261 this function is only called with a grayscale color perhaps containing an alpha value 10262 10263 * rendering/RenderView.cpp: 10264 (WebCore::RenderView::paintBoxDecorations): 10265 just updated a comment 10266 10267 2007-08-20 Mitz Pettel <mitz (a] webkit.org> 10268 10269 Reviewed by Dave Hyatt. 10270 10271 - fix http://bugs.webkit.org/show_bug.cgi?id=15023 10272 REGRESSION (r21113-r21143): JavaScript tooltip rendering bug 10273 10274 Test: fast/repaint/layer-visibility.html 10275 10276 * rendering/RenderLayer.cpp: 10277 (WebCore::RenderLayer::setHasVisibleContent): Cache the layer's 10278 rects when it changes to visible. 10279 10280 2007-08-20 Kevin Decker <kdecker (a] apple.com> 10281 10282 Reviewed by Anders. 10283 10284 Fixed: <rdar://problem/5325262> REGRESSION (Tiger-Leopard): PictureTalk plug-in doesn't work 10285 10286 The problem was that this particular plug-in handles "text/ptf", but WebCore wasn't giving the plug-in a chance to load 10287 any type with "text/" 10288 10289 * dom/DOMImplementation.cpp: 10290 (WebCore::DOMImplementation::createDocument): Allow plug-ins to once again use "text/" MIME types, but only if the MIME 10291 type is not "text/plain". Disallowing plug-ins to use text/plain prevents plug-ins from hijacking a fundamental type 10292 that the browser is expected to handle, and also serves as an optimization to prevent loading the plug-in database in 10293 the common case. 10294 10295 2007-08-20 Adam Roben <aroben (a] apple.com> 10296 10297 Remove workarounds for <rdar://problem/5386894> now that it's been fixed 10298 10299 Reviewed by Darin. 10300 10301 Tests: fast/loader/local-svg-parsed-as-svg.svg 10302 fast/loader/local-xhtml-parsed-as-xhtml.xhtml 10303 10304 * platform/network/cf/ResourceResponseCFNet.cpp: 10305 (WebCore::ResourceResponse::doUpdateResourceResponse): Removed hackish 10306 workaround. 10307 10308 2007-08-20 Anders Carlsson <andersca (a] apple.com> 10309 10310 Reviewed by Adam. 10311 10312 <rdar://problem/5412988> 10313 Crash when visiting http://www.rockonflash.com/blog/?p=58 10314 10315 * plugins/win/PluginViewWin.cpp: 10316 (WebCore::PluginViewWin::updateWindow): 10317 Just return if the plugin view hasn't been inserted in the hierarchy yet. 10318 10319 2007-08-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 10320 10321 Reviewed by Zack. 10322 10323 Do not define svg as ImageMIMEType if we can use ksvg2. 10324 10325 * platform/MIMETypeRegistry.cpp: 10326 (WebCore::initialiseSupportedImageMIMETypes): 10327 10328 2007-08-19 Adam Roben <aroben (a] apple.com> 10329 10330 Gtk+ build fix. 10331 10332 * platform/gdk/TemporaryLinkStubs.cpp: Removed const. 10333 10334 2007-08-19 Adam Roben <aroben (a] apple.com> 10335 10336 Fix <rdar://5395835> REGRESSION (r24527): Context menu for edit fields is missing "Font & Writing Direction" 10337 10338 The problem was that ContextMenuItem::setSubMenu was just copying the 10339 HMENU from the ContextMenu passed in on Windows, but that HMENU was 10340 later getting destroyed when the ContextMenu went out of scope. 10341 10342 I added a new ContextMenu::releasePlatformDescription method that is 10343 used in setSubMenu instead. I think an ultimately better design would 10344 be for setSubMenu to take ownership of the ContextMenu that's passed in 10345 (as should insertItem and appendItem), but I decided to be conservative 10346 and just make the changes needed to fix the bug. 10347 10348 Reviewed by Darin. 10349 10350 No test possible. 10351 10352 * platform/ContextMenu.h: Added releasePlatformDescription. 10353 * platform/gdk/TemporaryLinkStubs.cpp: Added stub implementation. 10354 * platform/mac/ContextMenuMac.mm: 10355 (WebCore::ContextMenu::releasePlatformDescription): Implemented, though 10356 it's never called on this platform. 10357 * platform/qt/ContextMenuQt.cpp: 10358 (WebCore::ContextMenu::releasePlatformDescription): Ditto. 10359 * platform/win/ContextMenuItemWin.cpp: 10360 (WebCore::ContextMenuItem::setSubMenu): Call releasePlatformDescription 10361 since we need to take ownership of the HMENU. 10362 * platform/win/ContextMenuWin.cpp: 10363 (WebCore::ContextMenu::releasePlatformDescription): Implemented. 10364 10365 2007-08-18 Maciej Stachowiak <mjs (a] apple.com> 10366 10367 Reviewed by Darin. 10368 10369 - fixed <rdar://problem/5198272> REGRESSION: PLT 1.5% slower due to r21367 (change to start frames with empty documents) 10370 10371 There were three main cuases of extra time due to creating the initial empty document: 10372 10373 1) Creating an extra WebHTMLView and swapping it for a new one for each frame created. 10374 2) Parsing the minimal markup for the initial document's contents. 10375 3) Clearing the Window object an extra time and dispatching the corresponding delegate method. 10376 10377 The WebCore part of the fixes addresses 2 and 3. 10378 10379 * loader/FrameLoader.cpp: 10380 (WebCore::FrameLoader::init): Don't parse "<html><body>" for the initial 10381 empty document; it turns out not to be needed. 10382 (WebCore::FrameLoader::dispatchWindowObjectAvailable): Don't 10383 dispatch the delegate if we haven't created a ScriptInterpreter yet. 10384 * bindings/js/kjs_proxy.cpp: 10385 (WebCore::KJSProxy::initScriptIfNeeded): Dispatch the window object 10386 delegate when we first create the interpreter, since that is now done 10387 lazily. 10388 * loader/FrameLoader.h: 10389 (WebCore::FrameLoader::committingFirstRealLoad): Helper for WebKit 10390 to know when to reuse a WebHTMLView. 10391 10392 2007-08-19 Mitz Pettel <mitz (a] webkit.org> 10393 10394 Reviewed by Adam Roben. 10395 10396 - fix http://bugs.webkit.org/show_bug.cgi?id=15008 10397 ASSERTION FAILED: !firstLineBox() == !lastLineBox() setting content on image 10398 10399 Test: fast/images/text-content-crash-2.html 10400 10401 * html/HTMLImageLoader.cpp: 10402 (WebCore::HTMLImageLoader::setImage): Added a check that the renderer is an 10403 image. 10404 (WebCore::HTMLImageLoader::updateFromElement): Ditto. 10405 (WebCore::HTMLImageLoader::notifyFinished): Ditto. 10406 10407 2007-08-17 Maciej Stachowiak <mjs (a] apple.com> 10408 10409 Reviewed by Darin. 10410 10411 - WebCore part of fix to scrollbar suppression hack for Leopard 10412 10413 * loader/FrameLoader.cpp: 10414 (WebCore::FrameLoader::transitionToCommitted): Suppress scrollbars earlier, so it happens 10415 before any potential view swap. 10416 10417 2007-08-17 Antti Koivisto <antti (a] apple.com> 10418 10419 Reviewed by Hyatt. 10420 10421 Fix <rdar://problem/5403773> 10422 CrashTracer: [USER] 88 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 846 10423 10424 * rendering/RenderBlock.cpp: 10425 (WebCore::RenderBlock::removePositionedObjects): 10426 10427 Fix crash in http://www.infobae.com/interior/home.html 10428 Positioned objects removed from m_positionedObjects would in some cases not get added back to any 10429 positioned objects list. Adding objects happens in block layout but since layout was not invalidated 10430 correctly in removePositionedObjects() it would not get invoked. As a result some positioned objects 10431 would stay in layout dirty state leading to crashes and other bad things. 10432 10433 * rendering/RenderTableSection.cpp: 10434 (WebCore::RenderTableSection::paint): 10435 10436 Add needLayout() guard to eliminate this class of crashes from release builds. 10437 Assert commented out for now since one existing layout test can't handle it. 10438 10439 2007-08-17 Kevin Decker <kdecker (a] apple.com> 10440 10441 Code change by Darin, landed and reviewed by me. 10442 10443 Fixed: <rdar://problem/5252836> Adobe Help Viewer: Japanese characters in the Help Tree structure are shown as garbage 10444 Added fast/encoding/namespace-tolerance.html test. 10445 10446 * loader/TextResourceDecoder.cpp: 10447 (WebCore::TextResourceDecoder::checkForHeadCharset): Slightly loosen the charset decoder heuristic by tweaking it 10448 to ignore namespaces. This restores compatibility to documents which (1) use namespace prefixes on HTML elements 10449 (2) specify a non-latin charset and (3) contain non-latin characters. 10450 10451 Added fast/encoding/namespace-tolerance.html test. 10452 10453 2007-08-17 Anders Carlsson <andersca (a] apple.com> 10454 10455 Reviewed by Dave Hyatt. 10456 10457 <rdar://problem/5379040> 10458 REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes 10459 10460 Instantiate plug-ins during the first layout instead of doing so when creating the renderer. 10461 This ensures that the plug-in widget will have a correct initial size. 10462 10463 * html/HTMLEmbedElement.cpp: 10464 (WebCore::HTMLEmbedElement::getInstance): 10465 Force a layout if the plug-in doesn't have an instance. 10466 10467 (WebCore::HTMLEmbedElement::attach): 10468 Pass true to updateWidget, causing it to only create a widget if it won't be a plug-in. 10469 10470 * html/HTMLIFrameElement.cpp: 10471 (WebCore::HTMLIFrameElement::attach): 10472 Pass false to updateWidget, this will only create subframes anyway. 10473 10474 * html/HTMLObjectElement.cpp: 10475 (WebCore::HTMLObjectElement::getInstance): 10476 Force a layout if the plug-in doesn't have an instance. 10477 10478 (WebCore::HTMLObjectElement::attach): 10479 Pass true to updateWidget, causing it to only create a widget if it won't be a plug-in. 10480 10481 * loader/FrameLoader.cpp: 10482 (WebCore::FrameLoader::loadPlugin): 10483 Get the size from the renderer and pass it to the client. 10484 10485 * loader/FrameLoaderClient.h: 10486 * page/mac/WebCoreFrameBridge.h: 10487 * platform/graphics/svg/SVGImageEmptyClients.h: 10488 (WebCore::SVGEmptyFrameLoaderClient::createPlugin): 10489 Update declarations. 10490 10491 * rendering/RenderPart.cpp: 10492 (WebCore::RenderPart::setWidget): 10493 No need to mark the renderer as dirty here. 10494 10495 * rendering/RenderPartObject.h: 10496 * rendering/RenderPartObject.cpp: 10497 (WebCore::RenderPartObject::updateWidget): 10498 Add a parameter, onlyCreateNonPlugins. If this is true the widget 10499 will only be created if it's not a plug-in. 10500 10501 (WebCore::RenderPartObject::layout): 10502 Call updateWidget here if m_widget is 0, causing the plug-in to be instantiated. 10503 10504 2007-08-17 Oliver Hunt <oliver (a] apple.com> 10505 10506 Reviewed by Maciej. 10507 10508 http://bugs.webkit.org/show_bug.cgi?id=14189 10509 <rdar://problem/5319511> REPRODUCIBLE CRASH: Canvas createPattern(canvas, ...) crashes on Windows (14189) 10510 10511 Ensure that we actually retain the CG pattern correctly. 10512 10513 Credit to Henry Mason <hmason (a] mac.com> for finding the cause of this. 10514 10515 * html/CanvasPattern.cpp: 10516 (WebCore::CanvasPattern::~CanvasPattern): 10517 (WebCore::CanvasPattern::createPattern): 10518 * html/CanvasPattern.h: 10519 (WebCore::CanvasPattern::platformImage): 10520 10521 2007-08-16 Geoffrey Garen <ggaren (a] apple.com> 10522 10523 Build fix. (Maybe?) 10524 10525 * loader/Cache.cpp: 10526 (WebCore::Cache::pruneLiveResources): 10527 (WebCore::Cache::pruneDeadResources): 10528 10529 2007-08-16 Justin Garcia <justin.garcia (a] apple.com> 10530 10531 Reviewed by Harrison. 10532 10533 <rdar://problem/5378473> 10534 REGRESSION: Undoing a deletion that is part of an open typing command fails to reinsert the caret 10535 10536 We recently made Undo of a series of deletes select all of the 10537 characters that were deleted, not just the most recently deleted 10538 character. But the code that did this set a new starting selection 10539 after every delete, even those that were part of an open typing 10540 command that started with character insertions or forward deletes, 10541 operations that when undone, remove the starting selection being 10542 set from the document. 10543 10544 After this change we only set a new starting selection if the open typing 10545 command was opened by a backward delete. The new behavior matches TextEdit. 10546 We don't do something similar or forward deletes because TextEdit opens 10547 and closes a new typing command on forward delete (added a FIXME about this). 10548 10549 * editing/TypingCommand.cpp: 10550 (WebCore::TypingCommand::TypingCommand): Initialize 10551 m_openedByBackwardDelete. 10552 (WebCore::TypingCommand::forwardDeleteKeyPressed): Added a FIXME about 10553 how in TextEdit, forward deletes open and close a new typing command. 10554 (WebCore::TypingCommand::doApply): Set m_openedByBackwardDelete 10555 appropriately. 10556 (WebCore::TypingCommand::deleteKeyPressed): Only set the starting 10557 selection if this delete is the first one in an open typing command 10558 or one in a series of deletes that opened the typing command. 10559 * editing/TypingCommand.h: Added m_openedByBackwardDelete. 10560 10561 2007-08-13 Geoffrey Garen <ggaren (a] apple.com> 10562 10563 Reviewed by Dave Hyatt. 10564 10565 Tweaked the cache eviction model to better balance between live and 10566 dead resources. 10567 10568 For the sake of avoiding evictions during the PLT, the old model 10569 required the sum of dead and live resources to grow to twice the cache 10570 capacity before evicting, and would then evict dead or live down to 0 10571 if necessary. This was a too-high high water mark, which would nullify 10572 much of the value of eviction, and a too-low low water mark, which 10573 would nullify much of the value of the LRU-SP strategy. 10574 10575 This patch changes the model in 3 ways. 10576 10577 1. The new model for dead resources is a flexible window with a fixed 10578 minimum and maximum. The dead resource window is big when live resource 10579 pressure is small, and vice versa. This has the immediate advantage of 10580 cutting the high water mark by up to 50%. It also enables the following 10581 tunable optimizations in future patches: 10582 a. A dead resource limit of 0 for clients who want that. (Just set 10583 the fixed maximum to 0.) 10584 b. A much higher low water mark. (Just set the fixed minimum to, 10585 say, 25% of the cache's capacity.) 10586 c. A much lower high water mark for users who browse simple pages 10587 in one tab. (Just set the fixed maximum to, say, 50% of the cache's 10588 capacity.) 10589 10590 I plan to make the changes that actually take advantage of these 10591 tunable optimizations in another check-in. 10592 10593 The new model won't hurt the PLT because it will notice the PLT's low 10594 live resource size, and up the dead resource capacity in response. For 10595 the same reason, the new model should establish a good balance in 10596 real-world use. 10597 10598 2. Live resource eviction is now based on size(), not encodedSize(). 10599 So, a page with lots of large, encoded images will start evicting 10600 resources, if necessary, even before all the images paint. This allows 10601 you to more accurately stipulate an exact high water mark. 10602 10603 3. When pruning, prune to a small percentage below capacity, to avoid 10604 just having to prune again immediately. 10605 10606 Layout tests pass. PLT shows no regression. 10607 10608 * history/PageCache.cpp: 10609 (WebCore::PageCache::releaseAutoreleasedPagesNow): Updated for rename. 10610 10611 * loader/Cache.cpp: Implemented the algorithm explained above. 10612 * loader/Cache.h: Removed explicit tracking of decoded data size, since 10613 it was unused. 10614 10615 * loader/CachedResource.cpp: ditto on tracking of decoded data size 10616 10617 2007-08-16 Darin Adler <darin (a] apple.com> 10618 10619 Reviewed by Tim Hatcher. 10620 10621 - fix <rdar://problem/5415029> In Mail, a crash occurs at WebCore::Node::isDescendantOf() 10622 when attempting to delete a selection in a table 10623 10624 The bug was caused by createMarkup trying to operate on a range that 10625 has an endpoint in the delete button DOM, because it removes that DOM 10626 during its operation! Still working on a regression test -- it's hard 10627 to make the kind of bad selection that's needed with the DOM, so I might 10628 have to use the eventSender. 10629 10630 * editing/DeleteButtonController.h: Made some of the identifiers private. 10631 We can make them public if we need to use them. Added a getter function 10632 for the container element so we can figure out if a given node is inside 10633 the DOM added for the delete button. 10634 10635 * editing/markup.cpp: 10636 (WebCore::moveEndpointsBeforeNode): Added. General purpose helper function 10637 that moves endpoints of a range to before a given node -- we do this before 10638 removing the delete button, so the endpoint is where the delete button was, 10639 rather than having an endpoint that's not in the document. 10640 (WebCore::createMarkup): Always return empty string, not null string. 10641 Get the document by calling ownerDocument on the range rather than getting 10642 the document of the commonAncestorContainer. That's because we need to 10643 get at the delete button before calling commonAncestorContainer. Call 10644 moveEndpointsBeforeNode to move the range endpoints out of the delete 10645 button interface before calling disable() which will remove it from the 10646 DOM if it's in there. Added an early return for the case where commonAncestor 10647 is non-0. If this happens, we would crash later because pastEndNode would 10648 not be in the tree. This change alone would prevent the crash, but we'd get 10649 bad markup, so we need the moveEndpointsBeforeNode fix. Added null checks 10650 for the frame to the range version as in the single-node version so this 10651 won't crash immediately on documents that are not in a frame. For the 10652 single-node version, added a check if a ndoe of 0 and a node inside the 10653 delete button user interface, and return the empty string for those cases. 10654 10655 2007-08-16 Justin Garcia <justin.garcia (a] apple.com> 10656 10657 Reviewed by Maciej. 10658 10659 <rdar://problem/5378847> After creating and removing a ToDo, the caret disappears as soon as I start to type 10660 10661 * editing/InsertTextCommand.cpp: 10662 (WebCore::InsertTextCommand::input): A whitespace text node inserted by Mail 10663 when a ToDo is removed is completely removed by deleteInsignificantWhitespace, 10664 and since it contains the text insertion position, insertion fails. 10665 Save the position before the node where text insertion will occur, 10666 and if that node is removed, use the saved position for insertion. 10667 10668 2007-08-16 Darin Adler <darin (a] apple.com> 10669 10670 Reviewed by Adele. 10671 10672 - fix <rdar://problem/5413488> REGRESSION: every DOM element is about 40 10673 bytes bigger because it has a Timer 10674 10675 Moved the timer to the document from the element. 10676 10677 * dom/Document.h: Made frame() inline. Added updateFocusApperanceSoon(), 10678 cancelFocusAppearanceUpdate(), m_updateFocusAppearanceTimer, 10679 clearXMLVersion(), and updateFocusAppearanceTimerFired(). Also made 10680 everything that was previously protected be private instead. 10681 * dom/Document.cpp: 10682 (WebCore::Document::Document): Initialize m_updateFocusAppearanceTimer. 10683 (WebCore::Document::updateFocusAppearanceSoon): Added. Starts timer. 10684 (WebCore::Document::cancelFocusAppearanceUpdate): Added. Stops timer. 10685 (WebCore::Document::updateFocusAppearanceTimerFired): Added. If the 10686 focused node is a focusable element, then calls 10687 updateFocusAppearance(false) on it. 10688 10689 * dom/Element.h: Removed default value of the boolean parameter to 10690 updateFocusAppareance. Removed needsFocusAppearanceUpdate(), 10691 setNeedsFocusAppearanceUpdate(), updateFocusAppearanceTimerFired(), 10692 stopUpdateFocusAppearanceTimer(), m_updateFocusAppearanceTimer, and 10693 m_needsFocusAppearanceUpdate. Added 10694 updateFocusAppearanceSoonAfterAttach() and cancelFocusAppearanceUpdate(). 10695 * dom/Element.cpp: 10696 (WebCore::ElementRareData::ElementRareData): Added initializer for 10697 m_needsFocusAppearanceUpdateSoonAfterAttach. 10698 (WebCore::Element::Element): Removed initializers for 10699 m_updateFocusAppearanceTimer and m_needsFocusAppearanceUpdate. 10700 (WebCore::Element::attach): Updated code that starts the focus 10701 appearance timer to instead call updateFocusAppearanceSoon() on the 10702 document. 10703 (WebCore::Element::detach): Replaced call to 10704 stopUpdateFocusAppearanceTimer with call to cancelFocusAppearanceUpdate. 10705 (WebCore::Element::focus): Added check for node that's already focused, 10706 to match the logic that's in the derived classes. This makes it safe for 10707 us to remove the override in the derived classes. Also replaced the code 10708 that called setNeedsFocusAppearanceUpdate(true) with code to set the 10709 rare data flag m_needsFocusAppearanceUpdateSoonAfterAttach and added a 10710 call to cancelFocusAppearanceUpdate() in the case where there's no focus 10711 appearance update. 10712 (WebCore::Element::blur): Replaced call to 10713 stopUpdateFocusAppearanceTimer with call to cancelFocusAppearanceUpdate. 10714 (WebCore::Element::cancelFocusAppearanceUpdate): Added. Sets 10715 m_needsFocusAppearanceUpdateSoonAfterAttach to false, and then calls 10716 cancelFocusAppearanceUpdate() on the document, but only if the element 10717 is the focused node of the document. 10718 10719 * html/HTMLDocument.cpp: 10720 (WebCore::HTMLDocument::HTMLDocument): Replaced code that sets 10721 m_xmlVersion directly with a call to a new inline clearXMLVersion() 10722 function. 10723 (WebCore::HTMLDocument::setCookie): Replaced use of m_policyBaseURL with 10724 policyBaseURL(). 10725 (WebCore::HTMLDocument::createTokenizer): Replaced uses of m_frame with 10726 frame(). 10727 (WebCore::HTMLDocument::determineParseMode): Replaced code that sets 10728 pMode and hMode directly with calls to setParseMode and setHTMLMode. 10729 Replaced use of m_styleSelector with styleSelector(). 10730 10731 * html/HTMLInputElement.h: Removed now-unneed override of focus(). 10732 Removed default value of the boolean parameter to updateFocusAppareance. 10733 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::updateFocusAppearance): 10734 Pass the restorePreviousSelection boolean through -- while it's ignored, 10735 it no longer has a default value. 10736 10737 * html/HTMLTextAreaElement.h: Removed now-unneed override of focus(). 10738 Removed default value of the boolean parameter to updateFocusAppareance. 10739 * html/HTMLTextAreaElement.cpp: Ditto. 10740 10741 * WebCore.exp: Removed the Document::frame() symbol, since it's now inline. 10742 10743 2007-08-15 Antti Koivisto <antti (a] apple.com> 10744 10745 Reviewed by Maciej. 10746 10747 Fix <rdar://problem/5388936> 10748 Crash while setting display:none for a table cell with selection 10749 10750 Super class destroy() could (through some selection code in removeChild()) trigger section recalc 10751 in middle of RenderTableCell::destroy(), cleaning section dirty bit. This would later crash in 10752 layout since cell grid would still have refence to the dead cell. 10753 10754 Ensure table sections are dirty when leaving destroy method. 10755 10756 I can't figure out tests for row and section changes but they look like 10757 they could crash in similar way as cell. 10758 10759 * rendering/RenderTableCell.cpp: 10760 (WebCore::RenderTableCell::destroy): 10761 * rendering/RenderTableRow.cpp: 10762 (WebCore::RenderTableRow::destroy): 10763 * rendering/RenderTableSection.cpp: 10764 (WebCore::RenderTableSection::destroy): 10765 10766 2007-08-15 Maciej Stachowiak <mjs (a] apple.com> 10767 10768 Reviewed by Geoff. 10769 10770 <rdar://problem/5389696> leak of 32-byte NSData object (and more?) in WebIconDatabase code path with each refresh of http://www.apple.com 10771 10772 * platform/graphics/BitmapImage.h: Use RetainPtr for m_nsImage and m_tiffRep 10773 * platform/graphics/mac/ImageMac.mm: 10774 (WebCore::BitmapImage::initPlatformData): No need to do anything now 10775 (WebCore::BitmapImage::invalidatePlatformData): Simplify 10776 (WebCore::BitmapImage::getTIFFRepresentation): Use RetainPtr to avoid leaks 10777 (WebCore::BitmapImage::getNSImage): Use RetainPtr to avoid leaks 10778 10779 2007-08-15 Darin Adler <darin (a] apple.com> 10780 10781 Reviewed by Anders. 10782 10783 - fix <rdar://problem/5094895> REGRESSION (r19094): JavaScript timers don't 10784 work inside showModalDialog; caret also doesn't blink 10785 10786 * platform/Timer.h: Added fireTimersInNestedEventLoop. 10787 * platform/Timer.cpp: 10788 (WebCore::TimerBase::fireTimers): Added code to exit if the timersReadyToFire 10789 is cleared. This indicates that someone fired the timers in the nested event 10790 loop, so we should not fire any more timers ourselves. 10791 (WebCore::TimerBase::fireTimersInNestedEventLoop): Added. Sets timersReadyToFire 10792 to 0 so we won't return early and do nothing if the shared timer first. Then 10793 calls updateSharedTimer() so the shared timer will get scheduled as needed based 10794 on any pending timers. 10795 10796 * page/Chrome.cpp: (WebCore::Chrome::runModal): Call 10797 fireTimersInNestedEventLoop before calling runModal on the client. 10798 10799 * manual-tests/modal-dialog.html: Added a test that uses a timeout. 10800 * manual-tests/show-modal-dialog-test.html: Fixed a typo. 10801 10802 2007-08-15 Justin Garcia <justin.garcia (a] apple.com> 10803 10804 Reviewed by Darin. 10805 10806 http://bugs.webkit.org/show_bug.cgi?id=14971 10807 REGRESSION: cannot select reporter's e-mail in bugzilla 10808 10809 * page/EventHandler.cpp: 10810 (WebCore::EventHandler::canMouseDragExtendSelect): Allow drag-selecting inside 10811 a -webkit-user-select:ignore region. 10812 10813 2007-08-15 Beth Dakin <bdakin (a] apple.com> 10814 10815 Reviewed by Hyatt. 10816 10817 Rolling back in. I made a silly mistake in XMLTokenizer that caused 10818 this patch to crash SVG tests. It's fixed now! 10819 10820 Refactor of change for <rdar://problem/5404899> REGRESSION: Mail 10821 crash in WebCore::FontFallbackList::fontDataAt() after dragging 10822 image into text multiple times 10823 10824 The original fix that I made last night prevents the pending style 10825 sheet count from being incremented until the element is in the 10826 document. This fix prevents the style sheet from loading at all 10827 until it is in the document. 10828 10829 Here is the fix. 10830 * dom/StyleElement.cpp: 10831 (WebCore::StyleElement::insertedIntoDocument): Call process. 10832 (WebCore::StyleElement::removedFromDocument): This can be reverted 10833 to its original state before my patch last night. 10834 (WebCore::StyleElement::process): childrenChanged is now called 10835 process. Return early if your not in the document. 10836 (WebCore::StyleElement::createSheet): Revert change from last 10837 night. The inDocument check is now in caller childrenChanged. 10838 * dom/StyleElement.h: insertedIntoDocument() must now accept an 10839 element in addition to a document. 10840 10841 This is an optimization to prevent calling updateStyleSelector() 10842 too frequently. 10843 * dom/XMLTokenizer.cpp: 10844 (WebCore::XMLTokenizer::startElementNs): 10845 * html/HTMLStyleElement.cpp: 10846 (WebCore::HTMLStyleElement::HTMLStyleElement): 10847 (WebCore::HTMLStyleElement::finishedParsing): 10848 (WebCore::HTMLStyleElement::insertedIntoDocument): 10849 (WebCore::HTMLStyleElement::childrenChanged): 10850 (WebCore::HTMLStyleElement::sheetLoaded): 10851 * html/HTMLStyleElement.h: 10852 * ksvg2/svg/SVGStyleElement.cpp: 10853 (WebCore::SVGStyleElement::SVGStyleElement): 10854 (WebCore::SVGStyleElement::finishedParsing): 10855 (WebCore::SVGStyleElement::insertedIntoDocument): 10856 (WebCore::SVGStyleElement::childrenChanged): 10857 (WebCore::SVGStyleElement::sheetLoaded): 10858 * ksvg2/svg/SVGStyleElement.h: 10859 (WebCore::SVGStyleElement::setCreatedByParser): 10860 10861 This is a name change. Document::stylesheetLoaded() 10862 is now Document::removePendingSheet() 10863 * dom/Document.cpp: 10864 (WebCore::Document::removePendingSheet): 10865 * dom/Document.h: 10866 * dom/ProcessingInstruction.cpp: 10867 (WebCore::ProcessingInstruction::sheetLoaded): 10868 * html/HTMLLinkElement.cpp: 10869 (WebCore::HTMLLinkElement::~HTMLLinkElement): 10870 (WebCore::HTMLLinkElement::setDisabledState): 10871 (WebCore::HTMLLinkElement::process): 10872 (WebCore::HTMLLinkElement::sheetLoaded): 10873 * page/Frame.cpp: 10874 (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): 10875 (WebCore::UserStyleSheetLoader::setCSSStyleSheet): 10876 10877 This is another name change. closeRenderer() is now 10878 finishedParsing() 10879 * dom/Node.h: 10880 (WebCore::Node::finishedParsing): 10881 * dom/XMLTokenizer.cpp: 10882 (WebCore::XMLTokenizer::endElementNs): 10883 (WebCore::): 10884 * html/HTMLAppletElement.cpp: 10885 (WebCore::HTMLAppletElement::finishedParsing): 10886 * html/HTMLAppletElement.h: 10887 * html/HTMLGenericFormElement.cpp: 10888 (WebCore::HTMLFormControlElementWithState::finishedParsing): 10889 * html/HTMLGenericFormElement.h: 10890 * html/HTMLObjectElement.cpp: 10891 (WebCore::HTMLObjectElement::finishedParsing): 10892 * html/HTMLObjectElement.h: 10893 * html/HTMLParser.cpp: 10894 (WebCore::HTMLParser::insertNode): 10895 (WebCore::HTMLParser::popOneBlockCommon): 10896 * html/HTMLScriptElement.cpp: 10897 (WebCore::HTMLScriptElement::finishedParsing): 10898 * html/HTMLScriptElement.h: 10899 (WebCore::HTMLStyleElement::setCreatedByParser): 10900 * ksvg2/svg/SVGAnimationElement.cpp: 10901 (WebCore::SVGAnimationElement::finishedParsing): 10902 * ksvg2/svg/SVGAnimationElement.h: 10903 * ksvg2/svg/SVGElement.cpp: 10904 (WebCore::SVGElement::finishedParsing): 10905 * ksvg2/svg/SVGElement.h: 10906 10907 2007-08-15 David Harrison <harrison (a] apple.com> 10908 10909 Reviewed by Antti Koivisto. 10910 10911 <rdar://problem/5411803> Bumpercar crashes when loading a partial URL (FrameLoader::receivedMainResourceError()) 10912 10913 * loader/MainResourceLoader.cpp: 10914 (WebCore::MainResourceLoader::receivedError): 10915 Nil check for the FrameLoader. 10916 10917 2007-08-14 Steve Falkenburg <sfalken (a] apple.com> 10918 10919 <rdar://problem/5411482> Windows user agent language always returns "en" 10920 10921 Implement defaultLanguage(). 10922 10923 Reviewed by Oliver. 10924 10925 * WebCore.vcproj/WebCore.vcproj: Added Language.cpp. 10926 * platform/win/Language.cpp: Added. 10927 (WebCore::localeInfo): Added. 10928 (WebCore::defaultLanguage): Added. 10929 * platform/win/TemporaryLinkStubs.cpp: Remove defaultLanguage stub. 10930 10931 2007-08-14 Sam Weinig <sam (a] webkit.org> 10932 10933 Reviewed by Geoff and Oliver. 10934 10935 Fix for <rdar://problem/5267870> 10936 Mangleme: Reproducible assertion failure in -[WebCoreFrameBridge installInFrame:] 10937 10938 - Change embed/plugin code path to detach the frame on willRemove instead of detach. 10939 This matches what frame and iframe do. 10940 10941 Test: http/tests/misc/embedCrasher.html 10942 10943 * html/HTMLPlugInElement.cpp: 10944 (WebCore::HTMLPlugInElement::willRemove): 10945 * html/HTMLPlugInElement.h: 10946 10947 2007-08-14 Adele Peterson <adele (a] apple.com> 10948 10949 Reviewed by Maciej. 10950 10951 Fix for <rdar://problem/5370059> REGRESSION: Cannot type into edit fields on a form (sccsheriff.org) 10952 10953 This change makes -webkit-user-select an inherited css property. For "user-select: none" we were already 10954 acting like it was an inheritable property, where we let user-select:text on the children override its parent's user-select:none. 10955 By making user-select really inherited (instead of inherited for some values), we eliminate the need for crawling up the tree to see 10956 if an ancestor has user-select ignore set. 10957 10958 * page/EventHandler.cpp: (WebCore::EventHandler::canMouseDownStartSelect): 10959 Now that user-select is inherited, you don't need to walk up the render tree looking for ancestors with user-select:ignore set. 10960 10961 * css/CSSStyleSelector.cpp: Eliminate SELECT_AUTO. 10962 (WebCore::CSSStyleSelector::adjustRenderStyle): 10963 (WebCore::CSSStyleSelector::applyProperty): 10964 * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 10965 10966 * rendering/RenderStyle.h: 10967 (WebCore::): Eliminate SELECT_AUTO. Make userSelect inherited. 10968 (WebCore::RenderStyle::userSelect): 10969 (WebCore::RenderStyle::setUserSelect): 10970 (WebCore::RenderStyle::initialUserSelect): 10971 * rendering/RenderStyle.cpp: 10972 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 10973 (WebCore::StyleRareNonInheritedData::operator==): 10974 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 10975 (WebCore::StyleRareInheritedData::operator==): 10976 (WebCore::RenderStyle::diff): 10977 10978 2007-08-15 Peter Kasting <pkasting (a] google.com> 10979 10980 Reviewed by Darin. 10981 10982 http://bugs.webkit.org/show_bug.cgi?id=14967 part 1 - Eliminate most implicit 10983 conversions of wtf::Vector<T> to T* by explicitly calling .data() 10984 10985 * html/HTMLSelectElement.cpp: 10986 (WebCore::HTMLSelectElement::saveState): 10987 * platform/KURL.cpp: 10988 (WebCore::KURL::KURL): 10989 (WebCore::KURL::init): 10990 (WebCore::KURL::decode_string): 10991 (WebCore::KURL::parse): 10992 (WebCore::KURL::encode_string): 10993 * platform/cf/KURLCFNet.cpp: 10994 (WebCore::KURL::KURL): 10995 * platform/mac/KURLMac.mm: 10996 (WebCore::KURL::KURL): 10997 * rendering/RenderFrameSet.cpp: 10998 (WebCore::RenderFrameSet::layOutAxis): 10999 11000 2007-08-14 Ricci Adams <iccir (a] apple.com> 11001 11002 Reviewed by Darin, Hyatt. 11003 11004 - fix <rdar://problem/5407795> -apple-line-clamp should never display less than one line 11005 11006 * rendering/RenderFlexibleBox.cpp:(WebCore::RenderFlexibleBox::layoutVerticalBox): Use 11007 max to make sure it never computes a minimum of less than one line. 11008 11009 2007-08-14 Brady Eidson <beidson (a] apple.com> 11010 11011 Reviewed by Darin, John, Maciej, Oliver, and Tim 11012 11013 <rdar://problem/5394708> - Crash on launch with corrupt icon database 11014 11015 The main part of the fix is to not disable SQLite's default level of protection - to leave the sync options at their normal, 11016 mostly safe levels. 11017 11018 But in case lightning strikes at the exact right moment and someone ends up with a corrupt database, add some support code to 11019 detect that condition and recover from it. 11020 11021 This is mainly accomplished by exposing the "PRAGMA integrity_check;" facilities of sqlite through IconDatabase SPI as well as 11022 running that integrity check if a journal file is detected at launch (a strong indication that the last quit was not clean). 11023 There's also a method exposed to allow clients to tell the icon database "I suspect something bad happened, please check integrity" 11024 11025 * loader/icon/IconDatabase.cpp: 11026 (WebCore::IconDatabase::checkIntegrityBeforeOpening): Allow clients to suggest an integrity check 11027 (WebCore::IconDatabase::open): Add a check to see if the journal file for the database exists. If it does, run the integrity 11028 check. Also run the check if a client has suggested it to be necessary. 11029 If the integrity-check fails, we sadly have to destroy the database and recreate from scratch. 11030 Also - quite importantly - do not adjust the default sync preferences for the SQLDatabase. They were an optimization that 11031 might have been valid at one time but no longer affects any benchmarks we care about. 11032 (WebCore::IconDatabase::checkIntegrity): Perform the SQLite integrity_check pragma 11033 * loader/icon/IconDatabase.h: 11034 11035 * loader/icon/IconDatabaseNone.cpp: 11036 (WebCore::IconDatabase::checkIntegrity): Keep IconDatabaseNone users building 11037 (WebCore::IconDatabase::checkIntegrityBeforeOpening): Ditto 11038 11039 * loader/icon/SQLDatabase.cpp: 11040 (WebCore::SQLDatabase::open): Make a copy of the path string so we don't accidentally mutate anyone else's string on ::close() 11041 11042 * platform/FileSystem.h: Added. Begin a long-needed platform file system abstraction 11043 * platform/mac/FileSystemMac.mm: Added. 11044 (WebCore::fileExists): Check if a file exists 11045 (WebCore::deleteFile): Delete a file 11046 11047 * platform/gdk/TemporaryLinkStubs.cpp: 11048 (WebCore::fileExists): 11049 (WebCore::deleteFile): 11050 * platform/qt/TemporaryLinkStubs.cpp: 11051 (WebCore::fileExists): 11052 (WebCore::deleteFile): 11053 * platform/win/TemporaryLinkStubs.cpp: 11054 (WebCore::fileExists): 11055 (WebCore::deleteFile): 11056 11057 * WebCore.exp: 11058 * WebCore.xcodeproj/project.pbxproj: 11059 11060 2007-08-14 Jon Honeycutt <jhoneycutt (a] apple.com> 11061 11062 Reviewed by Steve. 11063 11064 Build fix for Windows. 11065 11066 * html/HTMLFormElement.cpp: 11067 11068 2007-08-14 George Staikos <staikos (a] kde.org> 11069 11070 Only connect the menu signal once. 11071 11072 * platform/qt/ContextMenuQt.cpp: 11073 (WebCore::ContextMenu::ContextMenu): 11074 (WebCore::ContextMenu::insertItem): 11075 11076 2007-08-14 Justin Garcia <justin.garcia (a] apple.com> 11077 11078 Reviewed by Tim. 11079 11080 <rdar://problem/5408255> REGRESSION: In Mail, clicking the containing element's UI closebox doesn't delete element 11081 11082 * editing/DeleteButtonController.cpp: 11083 (WebCore::DeleteButtonController::show): Use -webkit-user-select:ignore for 11084 the deletion UI. 11085 11086 2007-08-14 Antti Koivisto <antti (a] apple.com> 11087 11088 Reviewed by Darin. 11089 11090 Fix <rdar://problem/5143183> 11091 Air Mail postmark shows up wrong in Firefox due to use of CSS background-position-x/y 11092 11093 Safari was using non-standard background-position-x/y properties when serializing style, both normal 11094 and computed. As a result Safari generated CSS would not render correctly in Firefox. 11095 11096 Use standard background-position property instead. 11097 11098 * css/CSSComputedStyleDeclaration.cpp: 11099 (WebCore::): 11100 * css/CSSMutableStyleDeclaration.cpp: 11101 (WebCore::CSSMutableStyleDeclaration::cssText): 11102 11103 2007-08-14 Sam Weinig <sam (a] webkit.org> 11104 11105 Reviewed by Brady and Dr. Harrison. 11106 11107 Fix typo. 'whitespace' property is spelled 'white-space'. 11108 11109 * page/inspector/inspector.css: 11110 11111 2007-08-13 Beth Dakin <bdakin (a] apple.com> 11112 11113 Reviewed by Maciej. 11114 11115 Fix for <rdar://problem/5404899> REGRESSION: Mail crash in 11116 WebCore::FontFallbackList::fontDataAt() after dragging image into 11117 text multiple times 11118 11119 We were crashing because style information was not up-to-date. This 11120 patch fixes the problem in two ways: 11121 11122 Style information was not up to date at the time of the crash 11123 because the document thought there was still a pending style sheet. 11124 The pending style sheet counter was incremented when a call to 11125 cloneNode from Mail cloned a style node with an imported style 11126 sheet. Because Mail disables the cache, the style sheet did not 11127 load immediately for the cloned node, and we do not check again to 11128 see if it has loaded in time to decrement the pending style sheet 11129 counter before the crash point. The fix here is only to increment 11130 the pending style sheet counter for elements that are already in 11131 the document. 11132 * dom/StyleElement.cpp: 11133 (WebCore::StyleElement::insertedIntoDocument): If we have a CSS 11134 style sheet that is currently loading, increment the pending style 11135 sheet counter. This should keep the counter accurate in the case 11136 where a style node is cloned and then immediately inserted into the 11137 document. 11138 (WebCore::StyleElement::removedFromDocument): If we have a CSS 11139 style sheet that is currently loading, decrement the pending style 11140 sheet count. This is required to keep the correct balance, given 11141 the change above. 11142 (WebCore::StyleElement::createSheet): Only addPendingSheet() and 11143 checkLoaded() if we are in the document. 11144 11145 Here is Darin's original fix. It seems worth keeping this fix too. 11146 Font style information should not cause a crash if there are still 11147 pending style sheets. This is good belt-and-suspenders in case 11148 there is another way to run into this bug with a wacky timing 11149 issue. 11150 * css/CSSStyleSelector.cpp: 11151 (WebCore::CSSStyleSelector::styleForElement): Update the font. 11152 11153 2007-08-13 Alexey Proskuryakov <ap (a] webkit.org> 11154 11155 Reviewed by Darin. 11156 11157 http://bugs.webkit.org/show_bug.cgi?id=14635 11158 rdar://problem/5340188 11159 Uploading file with non-ASCII character in path fails 11160 11161 File upload cannot be tested in DumpRenderTree. 11162 11163 * html/HTMLFormElement.cpp: 11164 (WebCore::pathGetFilename): A cross-platform helper that extracts a file name from a path. 11165 (WebCore::HTMLFormElement::formData): Use the above helper instead of code that doesn't 11166 work on Windows. 11167 11168 2007-08-13 Alexey Proskuryakov <ap (a] webkit.org> 11169 11170 Reviewed by Darin. 11171 11172 http://bugs.webkit.org/show_bug.cgi?id=14951 11173 REGRESSION: page interpreted as UTF-8 because of stray <?xml> after <head> 11174 11175 Test: fast/encoding/misplaced-xml-declaration.html 11176 11177 * loader/TextResourceDecoder.cpp: 11178 (WebCore::TextResourceDecoder::checkForHeadCharset): Only honor XML declaration 11179 at the very beginning of the file. 11180 11181 2007-08-13 Oliver Hunt <oliver (a] apple.com> 11182 11183 rs=sam 11184 11185 Correct accidentally modified code. 11186 11187 * platform/mac/FontDataMac.mm: 11188 (WebCore::FontData::platformInit): 11189 11190 2007-08-13 Adele Peterson <adele (a] apple.com> 11191 11192 Reviewed by Brady. 11193 11194 Fix for http://bugs.webkit.org/show_bug.cgi?id=14746 11195 <rdar://problem/5401041> REGRESSION: Form state not saved for forms that submit via HTTPS even if they do not contain a password field 11196 11197 * loader/FrameLoader.cpp: (WebCore::FrameLoader::saveDocumentState): Restore our old behavior that will save form state for secure forms. 11198 This will also match Firefox behavior. 11199 11200 * dom/Document.cpp: Removed secureFormAdded(), secureFormRemoved(), hasSecureForm() which are no longer used. 11201 * dom/Document.h: 11202 * html/HTMLFormElement.cpp: 11203 (WebCore::HTMLFormElement::attach): 11204 (WebCore::HTMLFormElement::parseMappedAttribute): 11205 11206 2007-08-13 Oliver Hunt <oliver (a] apple.com> 11207 11208 Reviewed by Maciej. 11209 11210 <rdar://problem/5386183> REGRESSION (9A504-9A508): Underline of inline hole is too thin 11211 on Japanese DotMac page 11212 11213 Hack the line metrics for the Hiragino font families so that they always allow space for 11214 the marked text underline. 11215 11216 * platform/mac/FontDataMac.mm: 11217 (WebCore::FontData::platformInit): 11218 11219 2007-08-13 David Hyatt <hyatt (a] apple.com> 11220 11221 Reviewed by aroben 11222 11223 <rdar://problem/5400446> messed up content on calendar.yahoo.com and my.yahoo.com 11224 11225 Fix some more bad assumptions about <html> being the first child of the document now that we 11226 properly support HTML5's model (where a comment node preceding <html> will in fact be its sibling). 11227 11228 * html/HTMLParser.cpp: 11229 (WebCore::HTMLParser::handleError): 11230 (WebCore::HTMLParser::createHead): 11231 11232 2007-08-13 Justin Garcia <justin.garcia (a] apple.com> 11233 11234 Reviewed by Darin. 11235 11236 <rdar://problem/5333725> -webkit-user-select: none makes selection difficult 11237 11238 Let users create selections if they mouse down in a -webkit-user-select:none 11239 region, just (continue to) disallow selection endpoints in those regions, and 11240 don't paint those regions as selected if they are fully enclosed by a selection. 11241 For example, in xxyyyxx where x is -webkit-user-select:none, a user can mouse down 11242 between the first two xs and drag across yyy to the second two xs to create a 11243 selection xx^yyy^xx. 11244 11245 * editing/SelectionController.cpp: 11246 (WebCore::SelectionController::selectAll): Allow selectAll inside a root 11247 that has -webkit-user-select:none, because it may contain content that 11248 is selectable (VisiblePosition and Selection creation will keep Selection 11249 endpoints out of -webkit-user-select:none regions). 11250 * page/EventHandler.cpp: 11251 (WebCore::EventHandler::selectClosestWordFromMouseEvent): Use canMouseDownStartSelect 11252 instead of the ambiguously named shouldSelect(). 11253 (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto. 11254 (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto. 11255 (WebCore::EventHandler::updateSelectionForMouseDrag): Use canMouseDragExtendSelect. 11256 (WebCore::EventHandler::selectCursor): Paint an ibeam in -webkit-user-select:none regions, 11257 because you can click in those regions to create a selection. 11258 (WebCore::EventHandler::canMouseDownStartSelect): Now fires the selectStart event, and 11259 returns true in -webkit-user-select: none regions. 11260 (WebCore::EventHandler::canMouseDragExtendSelect): This is identical to 11261 canMouseDownStartSelect because of 12823, even though it seems strange that we would fire 11262 the selectStart event here. 11263 * page/EventHandler.h: 11264 * rendering/RenderObject.cpp: 11265 (WebCore::RenderObject::draggableNode): Only -webkit-user-select:ignore regions will 11266 prevent selection creation. 11267 * rendering/RenderObject.h: 11268 11269 2007-08-13 Anders Carlsson <andersca (a] apple.com> 11270 11271 Reviewed by Maciej. 11272 11273 <rdar://problem/5360748> 11274 REGRESSION (r21002-r21003): Flash widget sniffer doesn't work (affects iWeb) 11275 11276 Don't check whether the document is being parsed or not, because the node list 11277 could be accessed after the document has finished parsing. 11278 11279 * dom/Node.cpp: 11280 (WebCore::Node::registerNodeList): 11281 11282 2007-08-13 Lars Knoll <lars (a] trolltech.com> 11283 11284 Reviewed by Simon. 11285 11286 no need to update regions that are not visible on the webpage. 11287 11288 * platform/qt/ScrollViewQt.cpp: 11289 (WebCore::ScrollView::updateContents): 11290 11291 2007-08-12 Maciej Stachowiak <mjs (a] apple.com> 11292 11293 Reviewed by Darin and Sam. 11294 11295 <rdar://problem/5395213> cross-domain access to individual components of location object should be denied. 11296 11297 * bindings/js/kjs_window.cpp: 11298 (KJS::Location::put): Add the appropriate cross-domain access checks. 11299 11300 2007-08-12 Darin Adler <darin (a] apple.com> 11301 11302 Reviewed by John Sullivan. 11303 11304 - fix <rdar://problem/5403724> REGRESSION: text inputs are not scrolled to make inline input visible (14912) 11305 11306 * editing/Editor.h: Made setIgnoreMarkedTextSelectionChange no longer inline. 11307 It now has a side effect of revealing the selection when you set it to false. 11308 Added private revealSelectionAfterEditingOperation helper. 11309 * editing/Editor.cpp: 11310 (WebCore::Editor::deleteRange): Calls revealSelectionAfterEditingOperation instead 11311 of calling m_frame->revealSelection directly. 11312 (WebCore::Editor::replaceSelectionWithFragment): Ditto. 11313 (WebCore::Editor::insertOrderedList): Ditto. 11314 (WebCore::Editor::insertUnorderedList): Ditto. 11315 (WebCore::Editor::increaseSelectionListLevel): Ditto. 11316 (WebCore::Editor::increaseSelectionListLevelOrdered): Ditto. 11317 (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto. 11318 (WebCore::Editor::decreaseSelectionListLevel): Ditto. 11319 (WebCore::Editor::insertLineBreak): Ditto. 11320 (WebCore::Editor::insertParagraphSeparator): Ditto. 11321 (WebCore::Editor::replaceMarkedText): Ditto. 11322 (WebCore::Editor::revealSelectionAfterEditingOperation): Added. Calls revealSelection, 11323 unless we are in the ignoreMarkedTextSelectionChange state. If we are in that state, 11324 we're in the middle of a composite editing operation and we shouldn't try to scroll 11325 to reveal the selection until the operation is done. 11326 (WebCore::Editor::setIgnoreMarkedTextSelectionChange): Made no longer inline. If 11327 changing the state from true to false, then calls revealSelectionAfterEditingOperation. 11328 11329 * WebCore.exp: Add new entry point for no-longer-inline setter function. 11330 11331 2007-08-12 Geoffrey Garen <ggaren (a] apple.com> 11332 11333 Reviewed by Maciej Stachowiak, Dave Hyatt. 11334 11335 Changed the dead resource LRU-SP algorithm to measure an object's 11336 total size, not just its encoded size. This will allow us to make 11337 better decisions about what data to evict when the cache is small. For 11338 example, the PLT can now run with a 16MB cache without fully evicting 11339 any resources. 11340 11341 (Previously, we had assumed that decoded size would be an OK estimate 11342 of encoded size, but that is not true of GIF, whose decoded size can be 11343 orders of magnitude greater than its encoded size.) 11344 11345 Subtly, destroying a resource's decoded data now increases its recency 11346 by moving it to the head of a smaller LRU list. This is slightly odd, 11347 but, since all resources get the same treatment, it shouldn't hurt 11348 the eviction algorithm. 11349 11350 * history/PageCache.cpp: 11351 (WebCore::PageCache::releaseAutoreleasedPagesNow): Make sure that a 11352 dead resource eviction doesn't happen until we've released all of our 11353 dead pages. Otherwise, the cache will make terrible decisions about 11354 what to evict because all of our dead resources will seem live. 11355 11356 * loader/Cache.cpp: 11357 (WebCore::Cache::Cache): 11358 (WebCore::Cache::pruneLiveResources): 11359 (WebCore::Cache::pruneDeadResources): Removed call to 11360 removeFromLiveDecodedResourcesList because this happens automatically 11361 now as a part of the process of changing the resource's decoded size. 11362 (WebCore::Cache::lruListFor): *** The key change. *** Compute the 11363 appropriate LRU list based on total size, not encoded size. 11364 (WebCore::Cache::dumpLRULists): Added debug logging function to help 11365 visualize the cache. 11366 11367 * loader/Cache.h: 11368 (WebCore::Cache::setDeadResourcePruneEnabled): 11369 (WebCore::Cache::deadResourcePruneEnabled): 11370 11371 * loader/CachedImage.cpp: Moved decoded size tracking code from here 11372 up into the base class. Currently, only CachedImage has a use for that 11373 functionality, but other subclasses might need it in the future, and 11374 the base class is already responsible for similar code related to 11375 encoded size tracking. 11376 (WebCore::CachedImage::decodedSizeChanged): 11377 * loader/CachedImage.h: 11378 11379 * loader/CachedResource.cpp: 11380 (WebCore::CachedResource::CachedResource): 11381 (WebCore::CachedResource::setDecodedSize): Move us in the LRU-SP list 11382 just like setEncodedSize does, since decoded size counts now, too. 11383 (WebCore::CachedResource::setEncodedSize): Changed slightly to match 11384 the style of setDecodedSize. 11385 11386 * loader/CachedResource.h: 11387 (WebCore::CachedResource::decodedSize): 11388 11389 2007-08-11 Mitz Pettel <mitz (a] webkit.org> 11390 11391 Reviewed by Darin. 11392 11393 - fix http://bugs.webkit.org/show_bug.cgi?id=13670 11394 <rdar://problem/5399619> Table misrender when one of the TDs has width=100% 11395 11396 Tests: fast/table/100-percent-cell-width.html 11397 fast/table/percent-widths-stretch.html 11398 11399 * rendering/AutoTableLayout.cpp: 11400 (WebCore::AutoTableLayout::calcPrefWidths): Changed the value used instead of 11401 0% to avoid division by zero from 1% to less than 0.01%. Removed code that 11402 added 0.5px to non-percent widths when calculating the scaling factor. The 11403 latter change is covered by the percent-widths-stretch test, where the new 11404 results match both WinIE 7 and Firefox 3. 11405 11406 2007-08-11 Darin Adler <darin (a] apple.com> 11407 11408 Reviewed by Antti. 11409 11410 - fix <rdar://problem/5266535> REGRESSION: <img> inside <map> no longer allowed in strict mode 11411 (breaks chemicalelements.com) 11412 11413 Test: fast/parser/strict-img-in-map.html 11414 11415 * html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::checkDTD): Removed FIXME saying this 11416 code is strange, since this code matches the HTML 4 specification almost exactly. Made 11417 <img> elements allowed even in strict mode and added small comments to clarify what comes 11418 from the DTD and what is non-standard. 11419 11420 2007-08-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 11421 11422 Reviewed by Anders. 11423 11424 Implement passing events to a subframe. The code is copied from 11425 the windows port and passSubframeEventToSubframe was removed as it 11426 is not called and it is not avilable in the windows port as well. 11427 11428 * page/gdk/EventHandlerGdk.cpp: 11429 (WebCore::EventHandler::passMousePressEventToSubframe): 11430 (WebCore::EventHandler::passMouseMoveEventToSubframe): 11431 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 11432 11433 2007-08-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 11434 11435 Reviewed by Lars. 11436 11437 GdkEventKey::string is not supposed to be used. The length 11438 of this string is zero for non ascii characters. Use the 11439 gdk_unicode_to_keyval to convert the keyval to a UChar and construct 11440 a String. This change makes it possible to input non ascii 11441 characters. 11442 11443 * platform/gdk/KeyEventGdk.cpp: 11444 (WebCore::keyIdentifierForGdkKeyCode): 11445 (WebCore::singleCharacterString): 11446 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 11447 11448 2007-08-11 Andrew Wellington <proton (a] wiretapped.net> 11449 11450 Reviewed by Mark Rowe. 11451 11452 Fix http://bugs.webkit.org/show_bug.cgi?id=14645 11453 getPropertyValue should be case insensitive 11454 11455 When we get the propertyID for a given string we convert to lowercase. 11456 11457 This also applies to setProperty, removeProperty and others. 11458 11459 * css/CSSStyleDeclaration.cpp: 11460 (WebCore::propertyID): 11461 11462 2007-08-11 Mark Rowe <mrowe (a] apple.com> 11463 11464 Build fix. Change "#ifdef PLATFORM(GDK)" to "#if PLATFORM(GDK)". 11465 11466 * page/FrameView.cpp: 11467 * page/FrameView.h: 11468 11469 2007-08-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 11470 11471 Reviewed by Adam. 11472 11473 Copy the WebFrame::layoutIfNeededRecursive method of the windows port 11474 to FrameView to be used by the Gtk+ port. Simplify the implementation due 11475 moving it to the FrameView class. 11476 11477 Implement the ScrollView::children() method for the Gtk+ port and make it 11478 available to the FrameView as children() is used within the layoutIfNeededRecursive method. 11479 11480 * page/FrameView.cpp: 11481 (WebCore::FrameView::layoutIfNeededRecursive): 11482 * page/FrameView.h: 11483 * platform/ScrollView.h: 11484 * platform/gdk/ScrollViewGdk.cpp: 11485 11486 2007-08-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 11487 11488 Reviewed by Adam. 11489 11490 To fix text selection make the PlatformMouseEvent set the pressed 11491 button even when moving the mouse. 11492 11493 Add building of the WebKit::DragClient stubs as they are needed to 11494 make text selection work. 11495 11496 * WebCore.pro: 11497 * platform/gdk/MouseEventGdk.cpp: 11498 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 11499 11500 2007-08-10 Anders Carlsson <andersca (a] apple.com> 11501 11502 Reviewed by Darin and Maciej. 11503 11504 <rdar://problem/5360748> 11505 REGRESSION(r21002-r21003) Flash widget sniffer doesn't work 11506 11507 Add a per-document NodeList counter. When parsing, only call notifyNodeListsChildrenChanged 11508 if the document has node lists. Also, make sure to reset the cache when the node list count has 11509 been 0 and a new node list is registered to avoid any stale cache information. 11510 11511 * dom/ContainerNode.cpp: 11512 (WebCore::ContainerNode::addChild): 11513 * dom/Document.cpp: 11514 (WebCore::Document::Document): 11515 * dom/Document.h: 11516 (WebCore::Document::addNodeList): 11517 (WebCore::Document::removeNodeList): 11518 (WebCore::Document::hasNodeLists): 11519 * dom/Node.cpp: 11520 (WebCore::Node::registerNodeList): 11521 (WebCore::Node::unregisterNodeList): 11522 11523 2007-08-10 Timothy Hatcher <timothy (a] apple.com> 11524 11525 Reviewed by Adam. 11526 11527 <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit 11528 11529 Disable NPObject use in 64-bit on Mac OS X. 11530 11531 * Configurations/WebCore.xcconfig: Add a framework search path to the sub-framworks of Carbon. 11532 * WebCore.xcodeproj/project.pbxproj: Filter out the Frame::windowScriptNPObject() symbol in 64-bit. 11533 * bindings/objc/DOM.mm: 11534 (-[DOMElement _NPObject]): Return null in 64-bit. 11535 * config.h: Set WTF_USE_NPOBJECT to 0 in 64-bit Mac OS X. 11536 * page/Frame.cpp: 11537 (WebCore::Frame::cleanupScriptObjects): Add more #if USE(NPOBJECT) blocks where needed. 11538 * page/Frame.h: Ditto. 11539 * page/mac/FrameMac.mm: 11540 (WebCore::Frame::createScriptInstanceForWidget): Ditto. 11541 * page/mac/WebCoreFrameBridge.h: Ditto. 11542 * page/mac/WebCoreFrameBridge.mm: Ditto. 11543 11544 2007-08-10 Mitz Pettel <mitz (a] webkit.org> 11545 11546 Reviewed by Justin. 11547 11548 - fix <rdar://problem/5397344> http://bugs.webkit.org/show_bug.cgi?id=14911 11549 REGRESSION: Clicking in pasted text doesn't position the insertion point correctly 11550 11551 Test: editing/selection/inline-closest-leaf-child.html 11552 11553 * rendering/RootInlineBox.cpp: 11554 (WebCore::RootInlineBox::closestLeafChildForXPos): Return the last leaf if 11555 it's the closest match, or if no other leaf matches (for example if all 11556 leaves are list markers or non-editable where editable is required). 11557 11558 2007-08-10 Anders Carlsson <andersca (a] apple.com> 11559 11560 Reviewed by Geoff. 11561 11562 <rdar://problem/5390568> 11563 REGRESSION: -[WebFrame loadHTMLString:baseURL:] leaks the data source. 11564 11565 Revert the fix for <rdar://problem/5133420> which caused us to not cancel 11566 substitute data loads. It's better to remove the assertion in the WebKit layer. 11567 11568 * loader/ResourceLoader.cpp: 11569 (WebCore::ResourceLoader::didCancel): 11570 11571 2007-08-10 Sam Weinig <sam (a] webkit.org> 11572 11573 Rubber-stamped by Adam Roben. 11574 11575 Fix Windows, Qt and Gtk build. 11576 11577 * WebCore.pro: 11578 * WebCore.vcproj/WebCore.vcproj: 11579 11580 2007-08-09 Sam Weinig <sam (a] webkit.org> 11581 11582 Reviewed by Maciej. 11583 11584 Fix for <rdar://problem/5395618> 11585 11586 Use checkNodeSecurity when setting the 'src' or 'location' attribute of an 11587 iframe or frame element. 11588 11589 * WebCore.xcodeproj/project.pbxproj: 11590 * bindings/js/JSAttrCustom.cpp: Added. 11591 (WebCore::JSAttr::setValue): Call checkNodeSecurity for attributes with a current iframe or frame 11592 ownerElement when setting src to a javascript: URL. 11593 * bindings/js/JSElementCustom.cpp: Added. 11594 (WebCore::allowSettingSrcToJavascriptURL): 11595 (WebCore::JSElement::setAttribute): Call checkNodeSecurity when element is a frame or iframe and 11596 setting he src attribute to a javascript: URL. 11597 (WebCore::JSElement::setAttributeNode): Ditto. 11598 (WebCore::JSElement::setAttributeNS): Ditto. 11599 (WebCore::JSElement::setAttributeNodeNS): Ditto. 11600 * bindings/js/JSHTMLFrameElementCustom.cpp: Added. 11601 (WebCore::allowSettingJavascriptURL): 11602 (WebCore::JSHTMLFrameElement::setSrc): Call checkNodeSecurity when setting to a javascript: URL. 11603 (WebCore::JSHTMLFrameElement::setLocation): Ditto. 11604 * bindings/js/JSHTMLIFrameElementCustom.cpp: Added. 11605 (WebCore::JSHTMLIFrameElement::setSrc): Call checkNodeSecurity when setting to a javascript: URL. 11606 * bindings/scripts/CodeGeneratorJS.pm: Add support for [CustomGetter] and [CustomSetter] 11607 * dom/Attr.idl: 11608 * dom/Element.idl: 11609 * html/HTMLFrameElement.idl: 11610 * html/HTMLIFrameElement.idl: 11611 11612 2007-08-10 Holger Hans Peter Freyther <zecke (a] selfish.org> 11613 11614 Reviewed by Anders. 11615 11616 Make the containingWindow a GtkContainer and make use of the 11617 GtkWidget::window instead of the GtkLayout::bin_window. 11618 11619 * platform/Widget.h: 11620 * platform/gdk/PlatformScreenGdk.cpp: 11621 (WebCore::screenDepth): 11622 * platform/gdk/ScrollViewGdk.cpp: 11623 (WebCore::ScrollView::updateContents): 11624 (WebCore::ScrollView::update): 11625 * platform/gdk/WidgetGdk.cpp: 11626 (WebCore::Widget::setContainingWindow): 11627 (WebCore::Widget::setCursor): 11628 11629 2007-08-10 Simon Hausmann <hausmann (a] kde.org> 11630 11631 Reviewed by Lars. 11632 11633 Revert r24699 as it broke timers. The precision of QTime::toTime_t() is just seconds, which is not good enough. Revert back 11634 to the old implementation and use the simple implementation of currentTime() from win/ for the Qt/Windows build (fingers crossed :) 11635 11636 * WebCore.pro: 11637 * platform/qt/SystemTimeQt.cpp: 11638 (WebCore::currentTime): 11639 11640 2007-08-10 Simon Hausmann <hausmann (a] kde.org> 11641 11642 Reviewed by Lars. 11643 11644 Recognize .htm as valid extension for text/html. 11645 11646 * platform/qt/MIMETypeRegistryQt.cpp: 11647 (WebCore::): 11648 11649 2007-08-10 Lars Knoll <lars (a] trolltech.com> 11650 11651 Reviewed by Simon. 11652 11653 remove an assertion that leads to crashes. The whole design of WidgetQt and ScrollViewQt needs to be reevaluated soon anyways. 11654 11655 * platform/qt/ScrollViewQt.cpp: 11656 11657 2007-08-10 Mark Rowe <mrowe (a] apple.com> 11658 11659 Fix the Mac build. 11660 11661 * ForwardingHeaders/bindings/runtime_object.h: Added. 11662 11663 2007-08-10 Simon Hausmann <hausmann (a] kde.org> 11664 11665 Reviewed by Lars. 11666 11667 Make sure -fno-strict-aliasing is also added for mkspecs like linux-g++-64. 11668 11669 * WebCore.pro: 11670 11671 2007-08-10 Simon Hausmann <hausmann (a] kde.org> 11672 11673 Reviewed by Lars. 11674 11675 Enable JavaScript bindings for HTML Object/Applet elements in the Qt port. 11676 11677 * WebCore.pro: 11678 * bindings/js/kjs_dom.cpp: 11679 * html/HTMLAppletElement.h: 11680 * html/HTMLEmbedElement.h: 11681 * page/qt/FrameQt.cpp: 11682 (WebCore::Frame::createScriptInstanceForWidget): 11683 11684 2007-08-10 Mitz Pettel <mitz (a] webkit.org> 11685 11686 Reviewed by Dave Hyatt. 11687 11688 - fix http://bugs.webkit.org/show_bug.cgi?id=14798 11689 Incorrect bidi reordering of neutrals and digits after RTL embed 11690 and other bugs in the bidi algorithm. 11691 11692 Test: fast/text/international/bidi-neutral-run.html 11693 11694 Fixed several bugs in resolving the embedding level of runs of neutral 11695 characters. Changed the logic to rely on the eor direction only for 11696 the number types, and otherwise consider the last strong type. 11697 11698 * platform/BidiContext.h: 11699 (WebCore::BidiContext::BidiContext): Added an ASSERT. 11700 * platform/BidiResolver.h: 11701 (WebCore::::embed): 11702 (WebCore::::createBidiRunsForLine): 11703 * platform/graphics/GraphicsContext.cpp: 11704 (WebCore::TextRunIterator::atEnd): Changed to return true instead of 11705 crashing when called on the empty iterator. 11706 11707 2007-08-09 Mark Rowe <mrowe (a] apple.com> 11708 11709 Reviewed by Antti. 11710 11711 <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before + 11712 11713 * Configurations/Version.xcconfig: 11714 * WebCore.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between 11715 Version.xcconfig and Info.plist explicit to Xcode. 11716 11717 2007-08-09 Mitz Pettel <mitz (a] webkit.org> 11718 11719 Reviewed by Justin Garcia. 11720 11721 - fix http://bugs.webkit.org/show_bug.cgi?id=14347 11722 REGRESSION (r21291): Initiating a drag near the edge of a selection deselects it 11723 11724 Test: editing/selection/contains-boundaries.html 11725 11726 * editing/SelectionController.cpp: 11727 (WebCore::SelectionController::contains): Changed to return true for the 11728 selection boundaries too. 11729 11730 2007-08-09 Mitz Pettel <mitz (a] webkit.org> 11731 11732 Reviewed by Dave Hyatt. 11733 11734 - fix http://bugs.webkit.org/show_bug.cgi?id=14742 11735 Document::recalcStyle(Force) called for every updateStyleIgnorePendingStylesheets while waiting for stylesheets 11736 <rdar://problem/5376306> 11737 11738 updateStyleSelector() is normally called when something changes that factors 11739 into the style selector. However, updateLayoutIgnorePendingStylesheets() calls it for 11740 a different reason, namely to account for all the preceding changes that were ignored 11741 because of the early return in updateStyleSelector(). After that, the early return 11742 can no longer occur, so changes are accounted for as they happen, and 11743 updateLayoutIgnorePendingStylesheets() does not need to call updateStyleSelector() 11744 again. 11745 11746 * dom/Document.cpp: 11747 (WebCore::Document::updateLayoutIgnorePendingStylesheets): Call updateStyleSelector() 11748 only before the first layout. 11749 11750 2007-08-09 Mitz Pettel <mitz (a] webkit.org> 11751 11752 Reviewed by Adam Roben. 11753 11754 - fix http://bugs.webkit.org/show_bug.cgi?id=14362 11755 Opening a select list always highlights first element in list 11756 11757 * platform/win/PopupMenuWin.cpp: 11758 (WebCore::PopupWndProc): Track the mouse only inside the popup. 11759 11760 2007-08-09 Mitz Pettel <mitz (a] webkit.org> 11761 11762 Reviewed by Dave Hyatt. 11763 11764 - fix http://bugs.webkit.org/show_bug.cgi?id=14875 11765 Textarea with nowrap - left/right nav, Up/down nav both hide text 11766 11767 Test: fast/layers/scroll-rect-to-visible.html 11768 11769 * rendering/RenderLayer.cpp: 11770 (WebCore::RenderLayer::scrollRectToVisible): Account for borders and scroll bars. 11771 11772 2007-08-09 Geoffrey Garen <ggaren (a] apple.com> 11773 11774 Reviewed by Dave Hyatt. 11775 11776 Refactored live decoded resource eviction to be more modular / 11777 encapsulated. 11778 11779 This fixes one known place where we forgot to hook into the live 11780 decoded eviction mechanism -- canvas. There might be other, unknown 11781 places. In a canvas test page, which I broke off from the Safari 11782 pageout test, I saw an RPRVT reduction of ~10MB. 11783 11784 A few renames: 11785 - "m_lastLiveAccessTime" => "m_lastDecodedAccessTime" because the data 11786 point we're recording is access to the resource in decoded form. 11787 11788 - "liveResourceAccessed" => "didAccessDecodedData" for the same reason. 11789 11790 - "pruneAllResources" => "pruneDeadResources" because this function 11791 does not prune live resources. 11792 11793 And the fix: 11794 Instead of updating cache metadata at the call site whenver drawing an 11795 image, just have an image notify its observer whenever it draws. The 11796 observer, which is a CachedResource, can then update the metadata. 11797 11798 * loader/Cache.cpp: Renames 11799 * loader/Cache.h: Removed stale declarations, updated comments 11800 * loader/CachedImage.cpp: 11801 (WebCore::CachedImage::didDraw): Implemented didDraw to update cache 11802 metadata whenever our image draws. 11803 * loader/CachedImage.h: Grouped parts of the ImageObserver interface. 11804 * loader/CachedResource.cpp: 11805 (WebCore::CachedResource::CachedResource): 11806 (WebCore::CachedResource::deref): 11807 (WebCore::CachedResource::didAccessDecodedData): Made this function 11808 slightly more modular by allowing the caller to provide a time stamp. 11809 In theory, not all CachedResources will necessarily want to use the 11810 current paint time stamp. 11811 * platform/graphics/cg/ImageCG.cpp: 11812 (WebCore::BitmapImage::draw): Notify our observer that we drew. 11813 (WebCore::Image::drawPattern): ditto 11814 * platform/graphics/cg/PDFDocumentImage.cpp: 11815 (WebCore::PDFDocumentImage::draw): ditto 11816 * platform/graphics/svg/SVGImage.cpp: 11817 (WebCore::SVGImage::draw): ditto 11818 11819 Removed old code at image drawing call sites: 11820 11821 * rendering/RenderBox.cpp: 11822 (WebCore::RenderBox::paintBackgroundExtended): 11823 * rendering/RenderImage.cpp: 11824 (WebCore::RenderImage::paint): 11825 * rendering/RenderListMarker.cpp: 11826 (WebCore::RenderListMarker::paint): 11827 * rendering/RenderObject.cpp: 11828 (WebCore::RenderObject::paintBorderImage): 11829 11830 2007-08-10 Holger Hans Peter Freyther <zecke (a] selfish.org> 11831 11832 Reviewed by Adam. 11833 11834 Move the various *ClientGdk.{h,cpp} away from the WebCore directory as 11835 of http://bugs.webkit.org/show_bug.cgi?id=14727. 11836 11837 * WebCore.pro: 11838 * platform/gdk/TemporaryLinkStubs.cpp: 11839 11840 2007-08-09 Anders Carlsson <andersca (a] apple.com> 11841 11842 Reviewed by Maciej. 11843 11844 <rdar://problem/5400029> iframes with an image src rarely load image 11845 11846 Don't try to shrink standalone images in subframes. The resize event is not 11847 sent for subframes which screws up the shrink-to-fit logic. 11848 11849 * loader/ImageDocument.cpp: 11850 (WebCore::ImageDocument::createDocumentStructure): 11851 (WebCore::ImageDocument::imageChanged): 11852 (WebCore::ImageDocument::shouldShrinkToFit): 11853 * loader/ImageDocument.h: 11854 11855 2007-08-10 Holger Hans Peter Freyther <zecke (a] selfish.org> 11856 11857 Reviewed by Adam. 11858 11859 Implement FrameLoaderClientGdk::createFrame mostly by copying 11860 the windows implementation. A method similiar to WebFrame::loadURLIntoChild 11861 was not introduced instead we have a simplified version similiar to the 11862 one of the Qt port. 11863 11864 Remove building of WebKit/gtk/webkitgtkframedata.{cpp,h}. 11865 11866 * WebCore.pro: 11867 * loader/gdk/FrameLoaderClientGdk.cpp: 11868 (WebCore::FrameLoaderClientGdk::createFrame): 11869 11870 2007-08-10 Holger Hans Peter Freyther <zecke (a] selfish.org> 11871 11872 Reviewed by Adam. 11873 11874 Use the ScrollView/Widget design of the Windows port to only use one 11875 native window for the whole page. This will make it possible to implement 11876 FrameLoaderClientGdk::createFrame. 11877 11878 In contrast to the windows port the ScrollBars are GtkWidgets. To paint them 11879 at the right position we need to position them correctly. To not scroll the 11880 ScrollBar's belonging to the ScrollView a ScrollViewScrollbar is introduced with 11881 a different geometryChanged method. 11882 11883 To allow the Gtk+ way of scrolling the ScrollView allows to get GtkAdjustments 11884 set. In this case no ScrollViewScrollbar will be created. 11885 11886 11887 * platform/ScrollView.h: 11888 * platform/Widget.h: 11889 * platform/gdk/PlatformScreenGdk.cpp: 11890 (WebCore::screenDepth): 11891 * platform/gdk/PlatformScrollBar.h: 11892 * platform/gdk/PlatformScrollBarGdk.cpp: 11893 (PlatformScrollbar::PlatformScrollbar): 11894 (PlatformScrollbar::~PlatformScrollbar): 11895 (PlatformScrollbar::setRect): 11896 (PlatformScrollbar::geometryChanged): 11897 * platform/gdk/ScrollViewGdk.cpp: 11898 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 11899 (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate): 11900 (WebCore::ScrollViewScrollbar::ScrollViewScrollbar): 11901 (WebCore::ScrollViewScrollbar::geometryChanged): 11902 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 11903 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 11904 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 11905 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): 11906 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 11907 (WebCore::ScrollView::ScrollViewPrivate::windowClipRect): 11908 (WebCore::ScrollView::setGtkAdjustments): 11909 (WebCore::ScrollView::updateContents): 11910 (WebCore::ScrollView::update): 11911 (WebCore::ScrollView::visibleWidth): 11912 (WebCore::ScrollView::resizeContents): 11913 (WebCore::ScrollView::contentsX): 11914 (WebCore::ScrollView::scrollOffset): 11915 (WebCore::ScrollView::maximumScroll): 11916 (WebCore::ScrollView::scrollBy): 11917 (WebCore::ScrollView::suppressScrollbars): 11918 (WebCore::ScrollView::setHScrollbarMode): 11919 (WebCore::ScrollView::setVScrollbarMode): 11920 (WebCore::ScrollView::setScrollbarsMode): 11921 (WebCore::ScrollView::setFrameGeometry): 11922 (WebCore::ScrollView::addChild): 11923 (WebCore::ScrollView::removeChild): 11924 (WebCore::ScrollView::scrollRectIntoViewRecursively): 11925 (WebCore::ScrollView::wheelEvent): 11926 (WebCore::ScrollView::updateScrollbars): 11927 (WebCore::ScrollView::windowToContents): 11928 (WebCore::ScrollView::contentsToWindow): 11929 (WebCore::ScrollView::scrollbarUnderMouse): 11930 (WebCore::ScrollView::convertChildToSelf): 11931 (WebCore::ScrollView::convertSelfToChild): 11932 (WebCore::ScrollView::paint): 11933 (WebCore::ScrollView::geometryChanged): 11934 (WebCore::ScrollView::scroll): 11935 (WebCore::ScrollView::addToDirtyRegion): 11936 (WebCore::ScrollView::scrollBackingStore): 11937 (WebCore::ScrollView::updateBackingStore): 11938 * platform/gdk/WidgetGdk.cpp: 11939 (WebCore::WidgetPrivate::gdkDrawable): 11940 (WebCore::Widget::Widget): 11941 (WebCore::Widget::setContainingWindow): 11942 (WebCore::Widget::containingWindow): 11943 (WebCore::Widget::frameGeometry): 11944 (WebCore::Widget::setFrameGeometry): 11945 (WebCore::Widget::setParent): 11946 (WebCore::Widget::parent): 11947 (WebCore::Widget::setCursor): 11948 (WebCore::Widget::show): 11949 (WebCore::Widget::hide): 11950 (WebCore::Widget::removeFromParent): 11951 (WebCore::Widget::paint): 11952 (WebCore::Widget::invalidate): 11953 (WebCore::Widget::invalidateRect): 11954 (WebCore::Widget::convertToContainingWindow): 11955 (WebCore::Widget::convertFromContainingWindow): 11956 (WebCore::Widget::convertChildToSelf): 11957 (WebCore::Widget::convertSelfToChild): 11958 (WebCore::Widget::suppressInvalidation): 11959 (WebCore::Widget::setSuppressInvalidation): 11960 11961 2007-08-09 Adele Peterson <adele (a] apple.com> 11962 11963 Fix by Brady, reviewed by me. 11964 11965 Fix for <rdar://problem/5380697> connection:willSendRequest:redirectResponse: is called on every NSURLConnection 11966 11967 * platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 11968 Work around a behavior change in CFNetwork where willSendRequest gets called more often by returning early. 11969 11970 2007-08-09 Darin Adler <darin (a] apple.com> 11971 11972 Reviewed by Antti. 11973 11974 - fix <rdar://problem/4889753> REGRESSION: Selection doesn't continue with drag selecting 11975 when autoscrolling vertically (in Notes as well as Safari) 11976 11977 The bug doesn't happen inside DumpRenderTree, so I was unable to make an automated 11978 regression test. 11979 11980 * manual-tests/autoscroll-when-outside-window.html: Added. 11981 11982 * rendering/RenderLayer.cpp: (WebCore::RenderLayer::autoscroll): Removed unneeded null 11983 check for the layer's renderer and the document, neither of which can be null. Call 11984 the new updateSelectionForMouseDrag instead of doing selection updating here. 11985 11986 * page/EventHandler.h: 11987 * page/EventHandler.cpp: 11988 (WebCore::EventHandler::handleMouseDraggedEvent): Refactored most of the logic 11989 about updating the selection into updateSelectionForMouseDrag. 11990 (WebCore::EventHandler::updateSelectionForMouseDrag): Added. The public version of 11991 this function takes no parameters, and is for use from auto-scrolling code. The 11992 private version of this function takes node and point parameters and contains the 11993 shared code, including everything from updateSelectionForMouseDragOverPosition. 11994 Aside from the code motion, variable name changes, and sharing more code, this 11995 differs from the old code in RenderLayer::autoscroll in the following ways: 11996 11997 1) The old code did hit testing only in the layer that was auto-scrolling, 11998 and the new code instead starts the hit testing at the root layer, which is 11999 better because it's the same thing we do for mouse moved events. Further, 12000 the code to do this by calling convertToLayerCoords had a bug because the 12001 x and y variables were uninitialized. 12002 2) The old code passed false for active to HitTestRequest, which was wrong. 12003 The new code passes true. This flag needs to be true for hit testing done 12004 while the mouse is down and false for hit testing done while the mouse is up. 12005 3) The old code did not have the SVG-specific logic to match the mouse moved case. 12006 4) The old code wouldn't do any selection updating if the return value from hitTest 12007 was false, which is incorrect. The new code ignores the return value as it should. 12008 12009 2007-08-08 Beth Dakin <bdakin (a] apple.com> 12010 12011 Reviewed by Geoff Garen. 12012 12013 Fx for <rdar://problem/5286443>, http://bugs.webkit.org/ 12014 show_bug.cgi?id=14268 REGRESSION: Radio buttons don't stay selected 12015 due to unclosed <label> tags 12016 12017 This patch maintains the behavior that allows <label> tags to nest. 12018 This matches WinIE, and appears to match the spec, since the spec 12019 does not explicitly say that they cannot nest. It fixes the bug 12020 instead by calling setDefaultHandled() in two places it should have 12021 been called anyway. This keeps the appropriate button checked as 12022 the event bubbles. 12023 12024 * html/HTMLInputElement.cpp: 12025 (WebCore::HTMLInputElement::postDispatchEventHandler): 12026 * html/HTMLLabelElement.cpp: 12027 (WebCore::HTMLLabelElement::defaultEventHandler): 12028 12029 2007-08-08 Justin Garcia <justin.garcia (a] apple.com> 12030 12031 Reviewed by Oliver. 12032 12033 <rdar://problem/5387578> Crash at ReplaceSelectionCommand::doApply() when pasting just after table cell content 12034 12035 ReplaceSelectionCommand::doApply() inserts a line break before insertion 12036 to prevent block nesting. InsertLineBreakCommand::doApply was accidently 12037 destroying a text node when it removed insignificant whitespace and then 12038 setting a nil endingSelection(). 12039 12040 * editing/InsertLineBreakCommand.cpp: 12041 (WebCore::InsertLineBreakCommand::doApply): If insignificant whitespace 12042 removal removes textNode from the document, insert a text node containing 12043 the non-breaking space we were attempting to insert and then insert it 12044 at the position that the removed textNode occupied. 12045 12046 2007-08-08 Geoffrey Garen <ggaren (a] apple.com> 12047 12048 Reviewed by Maciej Stachowiak. 12049 12050 Added a thrash check to live decoded resource eviction. 12051 12052 Here's the strategy: Stamp every image with its paint time. Don't evict 12053 a live decoded resource until another resource paints with a reasonably 12054 (1 second) larger time stamp. 12055 12056 If no other resource paints, or another resource paints, but very soon 12057 after the resource in question, the resource in question is very likely 12058 to paint again soon. In fact, it's probably still on screen. So we 12059 leave it alone. (Previously, we evicted it on a timer, but that would 12060 evict a resource that was still on screen, hurting speed without 12061 helping memory use.) 12062 12063 In theory, this algorithm allows a single large resource or closely 12064 related set of resources to linger in the live decoded cache even 12065 though the cache is over its limit. However, that can only happen as 12066 long as no other resource ever paints again, which guarantees an 12067 absolute cap on cache memory usage from then on. Also, the resources 12068 will only linger as long as they remain live. Upon going dead, they 12069 will flush. Also, these circumstances are so rare that they are almost 12070 impossible to encounter in the wild. So don't sweat it. 12071 12072 Stop evicting if the next resource painted too recently: 12073 12074 * loader/Cache.cpp: 12075 (WebCore::Cache::pruneLiveResources): 12076 * loader/CachedResource.cpp: 12077 (WebCore::CachedResource::CachedResource): 12078 (WebCore::CachedResource::liveResourceAccessed): 12079 * loader/CachedResource.h: 12080 12081 Track the paint time stamp in Frame. We do this to give a consistent 12082 stamp to all resources painted in a single paint operation (in case the 12083 operation takes a significant amount of time), and to avoid excessive 12084 calls to system time functions, which hurt the PLT: 12085 12086 * page/Frame.cpp: 12087 (WebCore::Frame::paint): 12088 * page/Frame.h: 12089 (WebCore::Frame::currentPaintTimeStamp): 12090 12091 2007-08-08 Sam Weinig <sam (a] webkit.org> 12092 12093 Reviewed by Adam Roben. 12094 12095 Update project file to reflect the moving of character-sets.txt 12096 and make-charset-table.pl to platform/mac a while ago. 12097 12098 * WebCore.xcodeproj/project.pbxproj: 12099 12100 2007-08-08 Justin Garcia <justin.garcia (a] apple.com> 12101 12102 Reviewed by Harrison. 12103 12104 <rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click 12105 12106 * dom/Position.cpp: 12107 (WebCore::Position::trailingWhitespacePosition): Use VisiblePosition::characterAfter 12108 to look for a trailing space. The old code would incorrectly return a position before 12109 a non-editable space if it had a collapsed space before it. 12110 12111 2007-08-08 Sam Weinig <sam (a] webkit.org> 12112 12113 Reviewed by Brady. 12114 12115 Make protocol and host compares case-insensitive. 12116 12117 * bindings/js/kjs_window.cpp: 12118 (KJS::Window::isSafeScript): 12119 * dom/Document.cpp: 12120 (WebCore::Document::initSecurityPolicyURL): 12121 * platform/DeprecatedString.cpp: 12122 (WebCore::equalIgnoringCase): 12123 * platform/DeprecatedString.h: 12124 (WebCore::equalIgnoringCase): 12125 12126 2007-08-08 Justin Garcia <justin.garcia (a] apple.com> 12127 12128 Reviewed by Harrison. 12129 12130 <rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click 12131 12132 * dom/Position.cpp: 12133 (WebCore::Position::leadingWhitespacePosition): Added checks to prevent expansion across editable an boundary. 12134 (WebCore::Position::trailingWhitespacePosition): Ditto. 12135 12136 2007-08-08 Adele Peterson <adele (a] apple.com> 12137 12138 Reviewed by John. 12139 12140 Fix for <rdar://problem/5393798> 100% reproducible crash in WebCore::Scrollbar::setValue 12141 12142 * page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): 12143 If the hit testing originally determined the event was in a scrollbar, 12144 refetch the MouseEventWithHitTestResults in case the scrollbar widget was destroyed when the mouse event was handled. 12145 12146 2007-08-08 Sam Weinig <sam (a] webkit.org> 12147 12148 Reviewed by Geoff Garen. 12149 12150 Fix for <rdar://problem/5354635> 12151 12152 Match Firefox's model for data: URLs by not allowing them script access 12153 to any frames other then itself. 12154 12155 * bindings/js/kjs_window.cpp: 12156 (KJS::Window::isSafeScript): 12157 * dom/Document.cpp: 12158 (WebCore::Document::initSecurityPolicyURL): 12159 12160 2007-08-08 Darin Adler <darin (a] apple.com> 12161 12162 Reviewed by Kevin Decker. 12163 12164 - fix for <rdar://problem/5390708> CrashTracer: [USER] 27 crashes in Safari at 12165 com.apple.WebCore: WTF::HashMap<etc>::set + 68, beneath pruneUnretainedIconsAtStartup 12166 12167 * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): 12168 Eliminate an unnecessary HashMap from the implementation; we can just use the 12169 m_pageURLToRetainCount map directly. This simplifies the code and allows us to handle 12170 the empty string, which otherwise poses a problem for HashMap. 12171 12172 2007-08-08 Antti Koivisto <antti (a] apple.com> 12173 12174 Reviewed by Darin. 12175 12176 Fix for <rdar://problem/5391576> 12177 Malformed table innerHTML causes Safari to crash in HTMLParser::handleError (14894) 12178 12179 Add null checks to protect against 12180 12181 e.innerHTML = "<tr>text</tr>"; 12182 12183 type cases. Normal assumptions about document tree structure don't hold when parsing 12184 fragments. Results don't match Firefox in all cases. It seems to have some sort of 12185 anything-goes fragment parsing mode. 12186 12187 * html/HTMLParser.cpp: 12188 (WebCore::HTMLParser::handleError): 12189 12190 2007-08-07 Kevin McCullough <kmccullough (a] apple.com> 12191 12192 Reviewed by Maciej and Hyatt. 12193 12194 - <rdar://problem/4976879> REGRESSION: Safari doesn't work with Zimbra enhanced login. 12195 - Reverting a previous change, and modifying how documents are created so that we better match other browsers behavior with respect to namespaceURIs. 12196 12197 * WebCore.xcodeproj/project.pbxproj: 12198 * dom/DOMImplementation.cpp: 12199 (WebCore::DOMImplementation::createDocument): 12200 * dom/Document.cpp: 12201 (WebCore::Document::Document): 12202 (WebCore::Document::createElement): 12203 * dom/Document.h: 12204 * html/HTMLDocument.cpp: 12205 (WebCore::HTMLDocument::createElement): 12206 * html/HTMLDocument.h: 12207 12208 2007-08-08 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 12209 12210 Reviewed and landed by Brady 12211 12212 Fixes <http://bugs.webkit.org/show_bug.cgi?id=13422> 12213 12214 Bug 13422: REGRESSION: Page reload loses page position 12215 12216 * loader/FrameLoader.cpp: 12217 (WebCore::FrameLoader::updateHistoryForReload): 12218 12219 2007-08-08 Holger Hans Peter Freyther <zecke (a] selfish.org> 12220 12221 Reviewed by Niko. 12222 12223 Be paranoid and disconnect from the signal before going away. 12224 12225 * platform/gdk/PlatformScrollBarGdk.cpp: 12226 (PlatformScrollbar::~PlatformScrollbar): 12227 12228 2007-08-08 Holger Hans Peter Freyther <zecke (a] selfish.org> 12229 12230 Reviewed by Niko. 12231 12232 Use GraphicsContext::translatePoint in RenderThemeGdk to paint at the 12233 right position. 12234 This is needed as the Gtk+ theming code does not know about the translation 12235 of the GraphicsContext. 12236 12237 * platform/gdk/RenderThemeGdk.cpp: 12238 (WebCore::RenderThemeGdk::paintCheckbox): 12239 (WebCore::RenderThemeGdk::paintRadio): 12240 (WebCore::RenderThemeGdk::paintButton): 12241 12242 2007-08-08 Holger Hans Peter Freyther <zecke (a] selfish.org> 12243 12244 Reviewed by Niko. 12245 12246 Implement Widget::paint for the Gtk port. This is needed to paint 12247 Widgets in z-order. The original GdkEventExpose is stored within the 12248 GraphicsContext and then used to draw the children. This is similiar 12249 to gtk_container_propagate_expose but we try to honor the GraphicsConntext 12250 translation. 12251 12252 * platform/gdk/WidgetGdk.cpp: 12253 (WebCore::Widget::paint): 12254 * platform/graphics/GraphicsContext.h: 12255 * platform/graphics/cairo/GraphicsContextCairo.cpp: 12256 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 12257 (WebCore::GraphicsContext::setGdkExposeEvent): 12258 (WebCore::GraphicsContext::gdkExposeEvent): 12259 (WebCore::GraphicsContext::gdkDrawable): 12260 (WebCore::GraphicsContext::translatePoint): 12261 12262 2007-08-08 Holger Hans Peter Freyther <zecke (a] selfish.org> 12263 12264 Reviewed by Oliver Hunt. 12265 12266 Implement PlatformScrollbar by calling ScrollBar::setValue from 12267 gtkValueChange connected to the value-changed signal of the 12268 GtkAdjustment. 12269 Update 'value' of the GtkAdjustment in updateThumbPosition and 12270 set upper, page-increment, step-increment and page_size in 12271 updateThumbProportion. 12272 12273 This is from bug http://bugs.webkit.org/show_bug.cgi?id=14795. 12274 12275 * platform/gdk/PlatformScrollBar.h: 12276 * platform/gdk/PlatformScrollBarGdk.cpp: 12277 (PlatformScrollbar::PlatformScrollbar): 12278 (PlatformScrollbar::updateThumbPosition): 12279 (PlatformScrollbar::updateThumbProportion): 12280 (PlatformScrollbar::gtkValueChanged): 12281 12282 2007-08-07 Geoffrey Garen <ggaren (a] apple.com> 12283 12284 Reviewed by Maciej Stachowiak. Based on earlier review from Dave Hyatt. 12285 12286 First chunk of work for <rdar://problem/5326009> Make non-browser 12287 WebKit clients have no memory cache, or a very tiny one 12288 12289 Layout tests pass. 12290 12291 Removed decodedSizeWillChange mechanism because my last patch to 12292 change the live resources list to a strict LRU model made that code 12293 vestigial. 12294 12295 Renamed "liveResourcesList" and related stuff => 12296 "liveDecodedResourcesList" because only live resources with decoded 12297 data are kept in the list. 12298 12299 * loader/CachedImage.cpp: 12300 (WebCore::CachedImage::decodedSizeChanged): Only add ourselves to the 12301 list if we're live, our decoded size has grown, and we're not in the 12302 list already. (Otherwise, either we're not live, we're not decoded, 12303 or we're already in the list.) 12304 12305 * loader/CachedResource.cpp: 12306 (WebCore::CachedResource::liveResourceAccessed): Only re-insert 12307 ourselves into the list if we're already there. (In theory, this should 12308 be always, but it's a little more clear to check.) 12309 12310 2007-08-08 Holger Hans Peter Freyther <zecke (a] selfish.org> 12311 12312 Reviewed by Adam. 12313 12314 Kill class FrameGdk and move the stubs to page/gdk/FrameGdk.cpp and the 12315 remainings into WebKitGtkFrame. 12316 The DRT functionality of class FrameGdk is currently lost. 12317 12318 * WebCore.pro: 12319 * loader/gdk/FrameLoaderClientGdk.cpp: 12320 * loader/gdk/FrameLoaderClientGdk.h: 12321 * page/gdk/FrameGdk.cpp: Renamed from WebCore/platform/gdk/FrameGdk.cpp. 12322 (WebCore::Frame::issueTransposeCommand): 12323 (WebCore::Frame::cleanupPlatformScriptObjects): 12324 (WebCore::Frame::dragImageForSelection): 12325 (WebCore::Frame::dashboardRegionsChanged): 12326 * platform/gdk/FrameGdk.h: Removed. 12327 * platform/gdk/TemporaryLinkStubs.cpp: Removed Frame stub, added the loadResourceIntoArray stub 12328 * platform/gdk/WidgetGdk.cpp: 12329 12330 2007-08-08 Holger Hans Peter Freyther <zecke (a] selfish.org> 12331 12332 Reviewed by Adam. 12333 12334 Remove the event handling code and move it to WebKit/gtk/Api/webkitgtkpage.cpp 12335 12336 * platform/gdk/FrameGdk.cpp: 12337 * platform/gdk/FrameGdk.h: 12338 12339 2007-08-07 Holger Hans Peter Freyther <zecke (a] selfish.org> 12340 12341 Reviewed by Niko. 12342 12343 Switch from the generic union GdkEvent to the specific struct GdkEvent*. This is needed 12344 to make WebKitGtkPage handle the events by reimplementing the default handlers in the near 12345 future. 12346 12347 * platform/PlatformKeyboardEvent.h: 12348 * platform/PlatformMouseEvent.h: 12349 * platform/PlatformWheelEvent.h: 12350 * platform/gdk/FrameGdk.cpp: 12351 (WebCore::FrameGdk::handleGdkEvent): 12352 * platform/gdk/KeyEventGdk.cpp: 12353 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 12354 * platform/gdk/MouseEventGdk.cpp: 12355 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 12356 * platform/gdk/WheelEventGdk.cpp: 12357 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 12358 12359 2007-08-07 George Staikos <staikos (a] kde.org> 12360 12361 Some QStyles don't handle negative maximum well (crash) 12362 12363 * platform/qt/PlatformScrollBarQt.cpp: 12364 (WebCore::PlatformScrollbar::paint): 12365 12366 2007-08-07 Antti Koivisto <antti (a] apple.com> 12367 12368 Reviewed by Hyatt. 12369 12370 Fix <rdar://problem/5102553> 12371 Mail spins trying to display or edit a specific long plain text message in WebCore::TimerBase::... 12372 12373 Calling removeLeftoverAnonymousBoxes() from RenderBlock::addChildToFlow() made adding children 12374 O(n^2) in simple cases (repeated <div><div></div></div> for example). 12375 12376 I couldn't find any limited fix so here is a more complete one. It removes iterating/recursing 12377 removeLeftoverAnonymousBoxes() method altogether. Instead of hunting around wildly, just get 12378 rid of anonymous boxes with block children when they occur. 12379 12380 * rendering/RenderBlock.cpp: 12381 (WebCore::RenderBlock::addChildToFlow): 12382 * rendering/RenderButton.h: 12383 (WebCore::RenderButton::removeLeftoverAnonymousBlock): 12384 * rendering/RenderContainer.cpp: 12385 (WebCore::RenderContainer::removeLeftoverAnonymousBlock): 12386 * rendering/RenderContainer.h: 12387 * rendering/RenderObject.cpp: 12388 (WebCore::RenderObject::handleDynamicFloatPositionChange): 12389 (WebCore::RenderObject::removeLeftoverAnonymousBlock): 12390 * rendering/RenderObject.h: 12391 * rendering/RenderTextControl.h: 12392 (WebCore::RenderTextControl::removeLeftoverAnonymousBlock): 12393 12394 2007-08-06 Sam Weinig <sam (a] webkit.org> 12395 12396 Reviewed by Maciej. 12397 12398 Fix for <rdar://problem/5354689> 12399 12400 - Use document variable to determine permissions instead 12401 of traversing the frame tree. 12402 12403 * bindings/js/kjs_window.cpp: 12404 (KJS::Window::isSafeScript): 12405 * dom/Document.cpp: 12406 (WebCore::Document::Document): 12407 (WebCore::Document::initSecurityPolicyURL): 12408 * dom/Document.h: 12409 (WebCore::Document::securityPolicyURL): 12410 * loader/FrameLoader.cpp: 12411 (WebCore::FrameLoader::setOpener): We must re-initialize the 12412 safeScript URL when setting the opener because the opener was 12413 not known at Document construction. 12414 12415 2007-08-06 David Hyatt <hyatt (a] apple.com> 12416 12417 Make sure to clear out the parent of the ellipsis box so that it doesn't 12418 trigger the consistency check for line boxes. 12419 12420 Reviewed by darin 12421 12422 * ChangeLog: 12423 * rendering/RootInlineBox.cpp: 12424 (WebCore::RootInlineBox::detachEllipsisBox): 12425 12426 2007-08-06 David Hyatt <hyatt (a] apple.com> 12427 12428 Back out fix for <rdar://problem/5366582> and replace it with the correct 12429 fix. Make sure to delete the line box tree before splitting an inline flow 12430 into a continuation. The added layout test for the original checkin covers 12431 the problem. 12432 12433 Reviewed by beth 12434 12435 * rendering/RenderBlock.cpp: 12436 (WebCore::RenderBlock::makeChildrenNonInline): 12437 Back out fix. 12438 12439 * rendering/RenderFlow.cpp: 12440 (WebCore::RenderFlow::destroy): 12441 Back out fix. 12442 12443 * rendering/RenderInline.cpp: 12444 (WebCore::RenderInline::splitFlow): 12445 Here's the new fix. 12446 12447 2007-08-06 Geoffrey Garen <ggaren (a] apple.com> 12448 12449 Reviewed by Darin Adler. 12450 12451 Touching a file to force a re-build. 12452 12453 2007-08-06 Darin Adler <darin (a] apple.com> 12454 12455 - fix release build 12456 12457 * rendering/RenderText.h: (WebCore::RenderText::checkConsistency): 12458 Add missing const. 12459 12460 2007-08-06 Darin Adler <darin (a] apple.com> 12461 12462 Reviewed by Maciej. 12463 12464 - fix <rdar://problem/5366582> crash on it.eurosport.yahoo.com page 12465 12466 Test: fast/dynamic/inline-to-block-crash.html 12467 12468 I added some consistency checks for the line box tree, which helped me figure out 12469 what was going on with this bug pretty quickly. 12470 12471 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::makeChildrenNonInline): 12472 This is the actual fix. If the block needs layout, then don't try to delete the line 12473 box tree because it's going to be rebuilt as part of layout. More importantly, the 12474 child list in the tree is no good, so we will crash if we try to delete here. 12475 12476 * rendering/RenderFlow.cpp: (WebCore::RenderFlow::destroy): 12477 Here's a second fix. We have the same issue in the code that handles anonymous 12478 blocks -- if it's already running as part of layout, we can't walk through the 12479 already partly destroyed line box tree. This crashed in one of the layout tests. 12480 12481 * rendering/InlineBox.h: Made more fields private, since I wanted to do a bit more 12482 work in setters. Made setNextOnLine() and setPrevOnLine() assert that the box has a 12483 parent. Made parent() assert that the parent is good. Also removed the unused 12484 isChildOfParent() function. 12485 * rendering/InlineBox.cpp: (WebCore::InlineBox::~InlineBox): At destruction time, if 12486 we are still attached to a parent, tag that parent as having a "bad" child list. 12487 12488 * rendering/InlineFlowBox.h: Added m_reasonForBadChildList, checkConsistency(), 12489 setHasBadChildList(), and hasBadChildList(). Also changed firstChild() and lastChild() so 12490 they call checkConsistency() and made all the fields private instead of protected. 12491 * rendering/InlineFlowBox.cpp: 12492 (WebCore::InlineFlowBox::addToLine): Added consistency checks before and after adding a 12493 box to the line. Also checked that next and prev start out as 0. Changed manipulation of 12494 next and prev to use accessor functions. 12495 (WebCore::InlineFlowBox::removeChild): Added consistency checks before and after removing 12496 the box from the line. 12497 (WebCore::InlineFlowBox::deleteLine): Use firstChild() instead of getting at m_firstChild 12498 directly so we get a consistency check. Also set the parent to 0 before destroying so that 12499 the assertion in ~InlineBox will work properly. 12500 (WebCore::InlineFlowBox::extractLine): Ditto. 12501 (WebCore::InlineFlowBox::attachLine): Ditto. 12502 (WebCore::InlineFlowBox::adjustPosition): Ditto. 12503 (WebCore::InlineFlowBox::checkConsistency): Added. Checks consistency of the child list by 12504 looking at the parent, next, and prev pointers. Also asserts that we are not yet in the 12505 "bad" child list state, which happens if one of our children is destroyed without removing 12506 it from our list; that's normal, but once it happens we can't look at our child list again. 12507 12508 * rendering/InlineTextBox.h: 12509 * rendering/InlineTextBox.cpp: Remove unnneeded destroy/new/delete functions -- these are 12510 inherited from the InlineBox base class and don't need to be defined again. 12511 12512 * rendering/RenderFlow.h: 12513 * rendering/RenderFlow.cpp: 12514 (WebCore::RenderFlow::~RenderFlow): Assert that there are no children to confirm that we 12515 didn't leak something. 12516 (WebCore::RenderFlow::extractLineBox): Added consistency checks before and after removing 12517 a run of boxes from the list. 12518 (WebCore::RenderFlow::attachLineBox): Added consistency checks before and after adding 12519 a box to the list. 12520 (WebCore::RenderFlow::removeLineBox): Added consistency checks before and after removing 12521 a box from the list. 12522 (WebCore::RenderFlow::createInlineBox): Added consistency checks before and after adding 12523 a box to the list. 12524 (WebCore::RenderFlow::checkConsistency): Added. 12525 12526 * rendering/RenderText.h: 12527 * rendering/RenderText.cpp: 12528 (WebCore::RenderText::~RenderText): Assert that there are no children to confirm that we 12529 didn't leak something. 12530 (WebCore::RenderText::extractTextBox): Added consistency checks before and after removing 12531 a run of boxes from the list. 12532 (WebCore::RenderText::attachTextBox): Added consistency checks before and after adding 12533 a box to the list. 12534 (WebCore::RenderText::removeTextBox): Added consistency checks before and after removing 12535 a box from the list. 12536 (WebCore::RenderText::deleteTextBoxes): Added code to call setHasBadChildList since this 12537 destroys line boxes without informing the parent. 12538 (WebCore::RenderText::checkConsistency): Added. 12539 12540 2007-08-06 Adele Peterson <adele (a] apple.com> 12541 12542 Reviewed by Darin. 12543 12544 Fix for <rdar://problem/5382483> REGRESSION: <select> element's text is clipped when a CSS line-height is specified 12545 12546 Don't honor line-height for styled popup buttons. We already don't honor line-height for unstyled popups 12547 and since IE and FF don't honor it at all for popups, we shouldn't either. 12548 12549 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustMenuListButtonStyle): 12550 * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::adjustMenuListButtonStyle): 12551 12552 2007-08-06 Antti <antti (a] apple.com> 12553 12554 Reviewed by Darin. 12555 12556 Fix <rdar://problem/5378214> 12557 Mail crashes at RenderLayer::paintLayer() when dragging a selection over To Do text 12558 12559 ObjC interface does not guarantee that Document::updateRendering() gets called after 12560 modification are made to document. This can lead to situation where paint() 12561 is invoked with document still dirty which can then crash in number of interesting ways. 12562 12563 - add hasChangedChild() as needsLayout() condition. layout() will then call recalcStyle() 12564 catching most cases and making sure document is not dirty when entering painting. 12565 - protect recalcStyle() and layout() from being executed during painting. There are some 12566 cases needsLayout() protection does not cover. 12567 12568 No layout test, these states are very hard or impossible to reach using Javascript interface 12569 (which generally guarantees that updateRendering() is done right after execution). 12570 12571 * dom/Document.cpp: 12572 (WebCore::Document::recalcStyle): 12573 * page/Frame.cpp: 12574 (WebCore::Frame::paint): 12575 (WebCore::Frame::setPaintRestriction): 12576 (WebCore::Frame::isPainting): 12577 (WebCore::FramePrivate::FramePrivate): 12578 * page/Frame.h: 12579 * page/FramePrivate.h: 12580 * page/FrameView.cpp: 12581 (WebCore::FrameView::layout): 12582 (WebCore::FrameView::needsLayout): 12583 12584 2007-08-05 Maciej Stachowiak <mjs (a] apple.com> 12585 12586 Reviewed by Darin Adler. 12587 12588 <rdar://problem/5369110> CrashTracer: [USER] reproducible crash opening particular mail messages 12589 12590 * platform/network/mac/ResourceHandleMac.mm: 12591 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Make sure to retain 12592 self for the body of this method. Otherwise, the willSendRequest could trigger events which will 12593 cancel the connection, and we access ivars after this point. 12594 (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): retain and release 12595 in the right order. 12596 12597 2007-08-04 Adam Roben <aroben (a] apple.com> 12598 12599 Another workaround for <rdar://problem/5386894> 12600 12601 Reviewed by Sam. 12602 12603 This fixed ~150 failing tests. 12604 12605 * platform/network/cf/ResourceResponseCFNet.cpp: 12606 (WebCore::ResourceResponse::doUpdateResourceResponse): Hardcode the 12607 MIME type for .svg files as well. 12608 12609 2007-08-04 Adam Roben <aroben (a] apple.com> 12610 12611 Workaround for <rdar://problem/5386894> CFURLResponseGetMIMEType returns "text/html" for local .xhtml and .xml files 12612 12613 Reviewed by Sam. 12614 12615 This fixes ~350 failing tests. 12616 12617 * platform/network/cf/ResourceResponseCFNet.cpp: 12618 (WebCore::ResourceResponse::doUpdateResourceResponse): Use a workaround 12619 identical to the one in ResourceResponseMac.mm, but include .xml files 12620 as well. 12621 12622 2007-08-04 David Kilzer <ddkilzer (a] webkit.org> 12623 12624 Reviewed by Oliver. 12625 12626 - fix for http://bugs.webkit.org/show_bug.cgi?id=14882 12627 <rdar://problem/5386550> REGRESSION (r24866): text/plain documents are always downloaded 12628 12629 The supportedNonImageMimeTypes list is used to determine which MIME types may be viewed 12630 within the web browser (e.g., plug-ins add their own MIME types to the list during 12631 initialization), so we must add "text/plain" and "text/" back to the list. Since 12632 this change would then break DOMImplementation::isTextMIMEType(), that method was reverted 12633 to its original form and MIMETypeRegistry::shouldTreatAsText() was removed. 12634 12635 * dom/DOMImplementation.cpp: 12636 (WebCore::DOMImplementation::isTextMIMEType): Revert to previous version. 12637 * platform/MIMETypeRegistry.cpp: 12638 (WebCore::initialiseSupportedNonImageMimeTypes): Added back "text/plain" and "text/" to the list. 12639 (WebCore::MIMETypeRegistry::shouldTreatAsText): Removed. 12640 * platform/MIMETypeRegistry.h: 12641 12642 2007-08-03 Brady Eidson <beidson (a] apple.com> 12643 12644 Reviewed by Oliver 12645 12646 Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989> 12647 12648 Two issues - 12649 1 - The WebCore MIMEType registry was designed assuming the list of types would never change 12650 That is false, as WebKit has API and SPI calls which directly mutate the MIMETypeRegistry 12651 2 - DOMImplementation didn't consult the registry for any MIMEType that started with "text/", 12652 instead maintaining it's own hard coded rules 12653 12654 * dom/DOMImplementation.cpp: 12655 (WebCore::DOMImplementation::isTextMIMEType): For now, call through to the MIMETypeRegistry 12656 until we decided a different fate for this function 12657 12658 * platform/MIMETypeRegistry.cpp: 12659 (WebCore::initialiseSupportedNonImageMimeTypes): "SupportedNonImageMIMETypes" is really a misnomer for 12660 "MIMETypes we should show as HTML" but that line has slowly been blurred since Tiger. In an attempt 12661 to start to unblur it, remove "text/" and "text/plain" 12662 (WebCore::MIMETypeRegistry::shouldTreatAsText): The decision is very close to the old DOMImplementation 12663 method, except we don't automatically hand off "text/" types as true if they are in the set of supported 12664 MIMETypes 12665 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): Non-const (can be changed!) 12666 (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Non-const (can be changed!) 12667 (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): Non-const (can be changed!) 12668 * platform/MIMETypeRegistry.h: 12669 12670 2007-08-03 Adele Peterson <adele (a] apple.com> 12671 12672 Reviewed by Adam. 12673 12674 Fix for <rdar://problem/5345862> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::Frame::isContentEditable const + 10 12675 12676 Couldn't reproduce the problem, but a nil check for the frame should fix this. 12677 12678 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): 12679 12680 2007-08-03 Anders Carlsson <andersca (a] apple.com> 12681 12682 Reviewed by Oliver. 12683 12684 <rdar://problem/5383286> 12685 XMLHTTPRequest does not return 401 when user cancels authentication dialog (affects .Mac) 12686 12687 * loader/ResourceLoader.h: 12688 Make receivedCancellation virtual. 12689 12690 * loader/SubresourceLoader.cpp: 12691 (WebCore::SubresourceLoader::receivedCancellation): 12692 Call SubresourceLoaderClient::receivedCancellation. 12693 12694 * xml/XMLHttpRequest.cpp: 12695 (WebCore::XMLHttpRequest::receivedCancellation): 12696 Save the failure response. 12697 12698 2007-08-03 Anders Carlsson <andersca (a] apple.com> 12699 12700 Reviewed by Geoff. 12701 12702 <rdar://problem/5374393> 12703 Image change on disk not noticed by WebView; -[WebCache setDisabled:] used to cause a reload every time 12704 12705 This is essentially a better fix for the crash in <rdar://problem/5362783>. 12706 12707 * loader/DocLoader.cpp: 12708 (WebCore::DocLoader::requestResource): 12709 If the resource already exists in the m_docResources map, remove it and disassociate it from the doc loader. 12710 12711 2007-08-03 Oliver Hunt <oliver (a] apple.com> 12712 12713 Reviewed by Geoff. 12714 12715 <rdar://problem/5375190> Mail crashed in WebCore::CachedImage::imageSize() const when viewing a particular message 12716 12717 Fix the uncached load path to confirm that the type of resource being 12718 returned actually matches the type that was requested. 12719 12720 Also make sure we never create a resource in the Cache for invalid urls. 12721 12722 * loader/Cache.cpp: 12723 (WebCore::Cache::requestResource): 12724 * loader/DocLoader.cpp: 12725 (WebCore::DocLoader::requestResource): 12726 12727 2007-08-03 Mitz Pettel <mitz (a] webkit.org> 12728 12729 Reviewed by Adele. 12730 12731 - fix http://bugs.webkit.org/show_bug.cgi?id=14879 12732 REGRESSION: First item in select (pop-up menu) is displayed even if another item was selected via JavaScript 12733 12734 Test: fast/forms/menulist-deselect-update.html 12735 12736 * html/HTMLOptionElement.cpp: 12737 (WebCore::HTMLOptionElement::setSelected): Reordered to allow setSelectedIndex() to call setChanged(). 12738 12739 2007-08-03 Anders Carlsson <andersca (a] apple.com> 12740 12741 Reviewed by Darin. 12742 12743 <rdar://problem/5286444> 12744 http://bugs.webkit.org/show_bug.cgi?id=14269 12745 REGRESSION: Gmail links stop working after computer sleep 12746 12747 Add a PowerNotifier object that takes care of resetting and firing the shared timer when coming 12748 back from sleep. 12749 12750 * platform/mac/SharedTimerMac.cpp: 12751 (-[PowerNotifier init]): 12752 (-[PowerNotifier didWake:]): 12753 (WebCore::setSharedTimerFireTime): 12754 12755 2007-08-04 Mark Rowe <mrowe (a] apple.com> 12756 12757 Windows build fix. 12758 12759 * rendering/RenderTextControl.cpp: Don't use the same name for two arguments. 12760 12761 2007-08-03 Mitz Pettel <mitz (a] webkit.org> 12762 12763 Reviewed by Darin. 12764 12765 - fix http://bugs.webkit.org/show_bug.cgi?id=14653 12766 REGRESSION (r23994): No caret is drawn after clicking a search field's placeholder text 12767 <rdar://problem/5383841> 12768 12769 Test: fast/forms/search-click-in-placeholder.html 12770 12771 Defined a subclass of RenderBlock that never hit-tests children for use in 12772 text controls. This avoids returning placeholder text as the hit node. 12773 Since text controls cannot contain inline elements, there is no harm in 12774 doing that unconditionally, and not just in the case that the field is 12775 showing placeholder text. 12776 12777 * rendering/RenderTextControl.cpp: 12778 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): 12779 (WebCore::RenderTextControlInnerBlock::~RenderTextControlInnerBlock): 12780 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): 12781 (WebCore::RenderTextControl::createSubtreeIfNeeded): 12782 12783 2007-08-02 Oliver Hunt <oliver (a] apple.com> 12784 12785 Reviewed by Geoff 12786 12787 Fix for <rdar://problem/5369332> Xcode crashes while selecting a hyperlink within a AppleScript dictionary (WebCore::Font::drawGlyphBuffer) 12788 12789 There were many places where we were not correctly retaining/releasing the 12790 NSFont object stored in the C++ PlatformFontData object, this resulted in 12791 the GC incorrectly collecting the NSFont. 12792 12793 This patch fixes the problem by prevent direct modification of the PlatformFontData 12794 font pointer, allowing us to enforce correct CFRetain/Release behaviour. 12795 12796 * platform/FontData.h: 12797 (WebCore::FontData::getNSFont): 12798 * platform/mac/FontCacheMac.mm: 12799 (WebCore::FontCache::getFontDataForCharacters): 12800 (WebCore::FontCache::createFontPlatformData): 12801 * platform/mac/FontDataMac.mm: 12802 (WebCore::initFontData): 12803 (WebCore::FontData::platformInit): 12804 (WebCore::FontData::platformDestroy): 12805 (WebCore::FontData::smallCapsFontData): 12806 (WebCore::FontData::containsCharacters): 12807 (WebCore::FontData::determinePitch): 12808 (WebCore::FontData::platformWidthForGlyph): 12809 (WebCore::FontData::checkShapesArabic): 12810 * platform/mac/FontMac.mm: 12811 (WebCore::initializeATSUStyle): 12812 (WebCore::overrideLayoutOperation): 12813 (WebCore::Font::drawGlyphs): 12814 * platform/mac/FontPlatformData.h: 12815 (WebCore::FontPlatformData::FontPlatformData): 12816 (WebCore::FontPlatformData::~FontPlatformData): 12817 (WebCore::FontPlatformData::hash): 12818 (WebCore::FontPlatformData::operator==): 12819 (WebCore::FontPlatformData::font): 12820 (WebCore::FontPlatformData::setFont): 12821 12822 2007-08-03 Antti Koivisto <antti (a] apple.com> 12823 12824 Oops, this change wasn't supposed to be commited. 12825 12826 * page/mac/WebCoreFrameBridge.mm: 12827 (-[WebCoreFrameBridge setBaseBackgroundColor:]): 12828 12829 2007-08-02 Antti Koivisto <antti (a] apple.com> 12830 12831 Reviewed by Darin. 12832 12833 <rdar://problem/5355951> 12834 plainText() fragments TCMalloc heap badly on large pages 12835 12836 also likely fixes some cases of 12837 <rdar://problem/5335382> 12838 CrashTracer: [REGRESSION] 73 crashes in Safari at com.apple.WebCore: WebCore::DeprecatedStringData::increaseUnicodeSize + 52 12839 12840 If you load http://dscoder.com/test.txt with WebKit build with TCMalloc and system malloc you see that 12841 Safari RPRVT with TCMalloc is 118.8MB 12842 Safari RPRVT with system malloc is 69.7MB 12843 12844 Difference is almost entirely caused by heap fragmentation from a full document plainText() call (for indexing purposes). 12845 12846 The patch helps in two ways: 12847 - construct plainText string in pieces to avoid O(n^2) reallocs 12848 - allocate buffers using system malloc so they can be returned back to OS and don't fragment and grow TCMalloc heap 12849 12850 This shrinks http://dscoder.com/test.txt RPRVT to 79.0MB and makes full document plainText() take 50ms instead of 500ms. 12851 The benefits are not limited to extreme cases, web pages above ~200kB can show substantial improvement in RPRVT. 12852 12853 * editing/TextIterator.cpp: 12854 (WebCore::plainTextToMallocAllocatedBuffer): 12855 (WebCore::plainText): 12856 * editing/TextIterator.h: 12857 * page/mac/WebCoreFrameBridge.mm: 12858 (-[WebCoreFrameBridge selectedString]): 12859 (-[WebCoreFrameBridge stringForRange:]): 12860 12861 2007-08-02 David Hyatt <hyatt (a] apple.com> 12862 12863 Fix for 5374437, allow comment nodes to be the child of a document. 12864 Refine the check to always make a root element to check documentElement() 12865 rather than firstChild(), since a comment node could be present as the 12866 firstChild() now. 12867 12868 Reviewed by Tim Hatcher 12869 12870 * html/HTMLDocument.cpp: 12871 (WebCore::HTMLDocument::childAllowed): 12872 * html/HTMLParser.cpp: 12873 (WebCore::HTMLParser::finished): 12874 12875 2007-08-02 Antti Koivisto <antti (a] apple.com> 12876 12877 Reviewed by Darin. 12878 12879 <rdar://problem/5228138> 12880 REGRESSION(Leopard): test failures: tests that test Georgian numbering 12881 12882 Fix to Georgian number tables to get CSS2.1 test results right. Font has relevant characters now 12883 which revealed that results were actually wrong. 12884 12885 * rendering/RenderListMarker.cpp: 12886 (WebCore::toGeorgian): 12887 12888 2007-08-02 Ada Chan <adachan (a] apple.com> 12889 12890 Reviewed by Steve. 12891 12892 <rdar://problem/5079175> Added parameters headerHeight and footerHeight to 12893 computePageRectsForFrame() so we can account for the header and footer when 12894 calculating page heights for this frame. 12895 12896 * bridge/win/FrameWin.cpp: 12897 (WebCore::computePageRectsForFrame): 12898 * bridge/win/FrameWin.h: 12899 12900 2007-08-02 Alice Liu <alice.liu (a] apple.com> 12901 12902 Reviewed by Kevin McCullough. 12903 12904 fixed <rdar://problem/5310312> REGRESSION: javascript is mis-escaped at http://labs.zarate.org/passwd causing bookmarklet to break 12905 12906 * WebCore.exp: 12907 expose some calls for WebKit to call. 12908 * manual-tests/JavaScript-bookmarklets.html: Added. 12909 12910 2007-08-01 Adam Treat <treat (a] kde.org> 12911 12912 Reviewed by George Staikos. 12913 12914 Add an interface to manage global history for clients 12915 12916 * WebCore.pro: 12917 * platform/qt/TemporaryLinkStubs.cpp: 12918 12919 2007-08-01 Adam Treat <treat (a] kde.org> 12920 12921 Reviewed by George Staikos. 12922 12923 Do not call update or paint from inside a paint event. 12924 12925 * platform/qt/ScrollViewQt.cpp: 12926 (WebCore::ScrollView::updateContents): 12927 * platform/qt/WidgetQt.cpp: 12928 (WebCore::Widget::invalidateRect): 12929 12930 2007-08-01 Timothy Hatcher <timothy (a] apple.com> 12931 12932 Reviewed by Justin. 12933 12934 <rdar://problem/5376156> Mail crash in DeleteButtonController::hide() when dropping selected image on DIV's border 12935 12936 Add the container element back so the selection can not touch the deletion UI nodes. The container 12937 has style to prevent user selection, user drag and user modification. 12938 12939 * editing/DeleteButtonController.cpp: 12940 (WebCore::DeleteButtonController::show): Make the container node, and append the button and outline elements. 12941 (WebCore::DeleteButtonController::hide): Remove the container elements and null out the other nodes. 12942 * editing/DeleteButtonController.h: 12943 12944 2007-08-01 Steve Falkenburg <sfalken (a] apple.com> 12945 12946 Build mod: Fix sln to match configs in vcproj. 12947 12948 Reviewed by Adam. 12949 12950 * WebCore.vcproj/WebCore.make: 12951 12952 2007-07-31 David Harrison <harrison (a] apple.com> 12953 12954 Reviewed by Justin. 12955 12956 <rdar://problem/5362659> CrashTracer: [USER] 11 crashes in Mail at WebCore::InsertLineBreakCommand::doApply() 12957 12958 The problem was that deleting with the X control leaves the selection inside the fragment that was deleted. 12959 12960 * editing/DeleteButtonController.cpp: 12961 (WebCore::DeleteButtonController::deleteTarget): 12962 Because the deletion UI only appears when the selection is entirely 12963 within the target, we unconditionally update the selection to be 12964 a caret where the target had been. 12965 12966 2007-07-31 Adele Peterson <adele (a] apple.com> 12967 12968 Reviewed by Hyatt. 12969 12970 Fix for <rdar://problem/5339395> REGRESSION:http://sudokucraving.com does not render grid correctly 12971 12972 * rendering/RenderTextControl.h: (WebCore::RenderTextControl::hasControlClip): Clip for search fields. 12973 * rendering/RenderTextControl.cpp: 12974 (WebCore::RenderTextControl::controlClipRect): Added a control clip so the search field's cancel button and magnifier glass 12975 never draw outside the control's bounds. 12976 (WebCore::RenderTextControl::calcPrefWidths): Only include the inner box's padding when calculating the min/max width without using calcContentBoxWidth. 12977 Our old behavior was causing that inner padding to get counted twice. Also, no need to add in the border 12978 for an inner box that can't be controlled from outside this class. 12979 * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::calcPrefWidths): ditto. 12980 12981 2007-07-31 Anders Carlsson <andersca (a] apple.com> 12982 12983 Reviewed by Geoff. 12984 12985 Speculative fix for <rdar://problem/5359695> 12986 REGRESSION (Tiger Beta): Multiple crashes in WebCore::Widget::getView() const + 6 12987 12988 * page/EventHandler.cpp: 12989 (WebCore::EventHandler::updateDragAndDrop): 12990 Null check the frame view. 12991 12992 2007-07-31 Timothy Hatcher <timothy (a] apple.com> 12993 12994 Reviewed by Oliver and Beth. 12995 12996 <rdar://problem/5211271> ADOBE Leopard 9A410: At the first Launching InDesign after deactivate, EULA page gets blanked. 12997 12998 Rename needsAcrobatFrameReloadingQuirk to needsAdobeFrameReloadingQuirk, since this now applies to more Adobe applications. 12999 13000 * WebCore.exp: 13001 * page/Settings.cpp: 13002 (WebCore::Settings::Settings): 13003 (WebCore::Settings::setNeedsAdobeFrameReloadingQuirk): 13004 * page/Settings.h: 13005 (WebCore::Settings::needsAcrobatFrameReloadingQuirk): 13006 13007 2007-07-31 Matt Perry <mpComplete (a] gmail.com> 13008 13009 Reviewed by Brady and Darin, tweaked by Brady, landed by Brady 13010 13011 Fix for http://bugs.webkit.org/show_bug.cgi?id=14757 and <rdar://problem/5364692> 13012 HTMLTokenizer::processingData implementation is incorrect 13013 13014 * html/HTMLTokenizer.cpp: 13015 (WebCore::HTMLTokenizer::processingData): Made it also return true if the HTMLTokenizer was inside the write() call. 13016 * loader/FrameLoader.cpp: 13017 (WebCore::FrameLoader::FrameLoader): 13018 (WebCore::FrameLoader::checkLoadCompleteTimerFired): 13019 (WebCore::FrameLoader::scheduleCheckLoadComplete): 13020 (WebCore::FrameLoader::stopForUserCancel): Changed a call to checkLoadComplete to be asynchronous, since 13021 stopForUserCancel can be called while parsing. 13022 * loader/FrameLoader.h: 13023 13024 2007-07-31 Anders Carlsson <andersca (a] apple.com> 13025 13026 Reviewed by Geoff. 13027 13028 <rdar://problem/5371582> 13029 REGRESSION: PLT .5% slower due to r24451 (copying HTMLCollection objects) 13030 13031 Make the hash maps store CollectionInfo pointers to reduce amount of copying when 13032 inserting/rehashing etc. 13033 13034 * dom/Document.cpp: 13035 (WebCore::Document::~Document): 13036 (WebCore::Document::nameCollectionInfo): 13037 * dom/Document.h: 13038 13039 2007-07-31 Sam Weinig <sam (a] webkit.org> 13040 13041 Reviewed by Mitz. 13042 13043 Fix for http://bugs.webkit.org/show_bug.cgi?id=14825 13044 Non-integer hsl() colours are ignored 13045 13046 * css/CSSParser.cpp: 13047 (WebCore::CSSParser::parseHSLParameters): Parse hue as a Number, 13048 not an Integer. 13049 13050 2007-07-30 Justin Garcia <justin.garcia (a] apple.com> 13051 13052 Reviewed by Darin. 13053 13054 <rdar://problem/5369009> Crash due to infinite recursion in moveParagraphs on delete 13055 13056 After the delete, we moved content into the previous block, and a style 13057 rule turned a style span in the moved content into a block, throwing 13058 moveParagraphs into infinite recursion, as it continually tried and failed 13059 to get the style span into the same paragraph as the content just before it. 13060 13061 Added a method to ReplaceSelectionCommand to keep inserted style spans 13062 from turning into blocks because of style rules. Will add code to prevent 13063 other kinds of content from changing appearance because of style rules, 13064 post-Leopard (5371536). Also added a bool to ReplaceSelectionCommand's 13065 constructor to guard against infinite recursion. 13066 13067 * editing/CompositeEditCommand.cpp: 13068 (WebCore::CompositeEditCommand::moveParagraphs): 13069 * editing/JSEditor.cpp: 13070 * editing/ReplaceSelectionCommand.cpp: 13071 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): 13072 (WebCore::ReplaceSelectionCommand::negateStyleRulesThatEffectAppearance): 13073 (WebCore::ReplaceSelectionCommand::doApply): 13074 * editing/ReplaceSelectionCommand.h: 13075 13076 2007-07-30 Anders Carlsson <andersca (a] apple.com> 13077 13078 Reviewed by Brady. 13079 13080 <rdar://problem/5371515> 13081 BitmapImage::getTIFFRepresentation() bug results in favicons not working at many sites 13082 13083 Don't bail out if a single frame is invalid. 13084 13085 * platform/graphics/mac/ImageMac.mm: 13086 (WebCore::BitmapImage::getTIFFRepresentation): 13087 13088 2007-07-30 Adele Peterson <adele (a] apple.com> 13089 13090 Reviewed by Darin. 13091 13092 Fix for <rdar://problem/5274937> Safari 3 breaks Missing Sync's WebKit code by crashing 13093 13094 * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy): Nil check for the FrameLoader. 13095 13096 2007-07-30 Anders Carlsson <andersca (a] apple.com> 13097 13098 Reviewed by Darin. 13099 13100 <rdar://problem/5370710> 13101 REGRESSION: After switching from Bookmark view, the Find Banner won't appear while displaying a PDF file 13102 13103 Add a hasHTMLView to FrameLoaderClient. This is only useful for clients who can show different views for different 13104 MIME types and URL schemes. 13105 13106 * loader/FrameLoader.cpp: 13107 (WebCore::FrameLoader::transitionToCommitted): 13108 Call delegate methods here if the current view is not a HTML view. 13109 13110 * loader/FrameLoaderClient.h: 13111 (WebCore::FrameLoaderClient::hasHTMLView): 13112 13113 2007-07-30 Sam Weinig <sam (a] webkit.org> 13114 13115 Reviewed by Maciej. 13116 13117 Fix for <rdar://problem/5363896> 13118 REGRESSION: Setting document.domain does not override port-based cross-frame security checks -- breaks SAP NetWeaver 13119 13120 Updates the results for: 13121 http/tests/security/cross-frame-access-port-explicit-domain.html 13122 http/tests/security/cross-frame-access-protocol-explicit-domain.html 13123 13124 * bindings/js/kjs_window.cpp: 13125 (KJS::createWindow): Use the new setDomainInternal method. 13126 (KJS::Window::isSafeScript): Don't set check the port or protocol 13127 if both documents have explicitly set document.domain in the DOM 13128 and the those domains are equal. 13129 * dom/Document.cpp: 13130 (WebCore::Document::Document): 13131 (WebCore::Document::setDomain): Remove force parameter and change 13132 all calls that relied on it use the new setDomainInternal method 13133 which does the same thing. 13134 (WebCore::Document::setDomainInternal): 13135 * dom/Document.h: Add new m_domainWasSetInDOM variable and accessor. 13136 (WebCore::Document::domainWasSetInDOM): 13137 * loader/FrameLoader.cpp: 13138 (WebCore::FrameLoader::checkCallImplicitClose): Use the new setDomainInternal method. 13139 13140 2007-07-30 Justin Garcia <justin.garcia (a] apple.com> 13141 13142 Reviewed by Tristan. 13143 13144 <rdar://problem/5098931> Attachments are lost when they are moved into a ToDo after a delete 13145 13146 Added an editor client method for asking whether or not it is 13147 OK to merge content after a delete. 13148 13149 * bridge/EditorClient.h: 13150 * editing/DeleteSelectionCommand.cpp: 13151 (WebCore::DeleteSelectionCommand::mergeParagraphs): Ask if the 13152 merge is allowed. 13153 * platform/gdk/EditorClientGdk.cpp: 13154 (WebCore::EditorClientGdk::shouldMoveRangeAfterDelete): Added a method stub. 13155 * platform/gdk/EditorClientGdk.h: 13156 * platform/graphics/svg/SVGImageEmptyClients.h: 13157 (WebCore::SVGEmptyEditorClient::shouldMoveRangeAfterDelete): Ditto. 13158 13159 2007-07-30 Alexey Proskuryakov <ap (a] webkit.org> 13160 13161 Reviewed by Anders. 13162 13163 <rdar://problem/5352526> 13164 http://bugs.webkit.org/show_bug.cgi?id=14704 13165 REGRESSION: sync XMLHttpRequest.send() raises an exception for failed authentication 13166 13167 Test: http/tests/xmlhttprequest/failed-auth.html 13168 13169 * platform/network/mac/ResourceHandleMac.mm: 13170 (WebCore::ResourceHandle::loadResourceSynchronously): Make the fake response better match the real one 13171 in case of failed authentication. Unfortunately, NSURLConnection doesn't give us the real response. 13172 13173 * xml/XMLHttpRequest.cpp: 13174 (WebCore::XMLHttpRequest::send): If the response has an HTTP code in it, then the error wasn't 13175 a network one, and an exception shouldn't be raised. 13176 13177 2007-07-30 Anders Carlsson <andersca (a] apple.com> 13178 13179 Reviewed by Darin. 13180 13181 <rdar://problem/4942372> REGRESSION: Anchor links in Mail don't work anymore 13182 13183 Make it possible for KURL to handle addig fragments to non-hierarchical URLs 13184 such as mailto: and cid:. 13185 13186 * platform/KURL.cpp: 13187 (WebCore::KURL::init): 13188 If the base URL is not hierarchical but the relative URL is a fragment, then 13189 allow parsing it. 13190 13191 (WebCore::KURL::parse): 13192 If the URL is not hierarchical, set the fragment start and end positions correctly. 13193 13194 2007-07-30 Simon Hausmann <hausmann (a] kde.org> 13195 13196 Reviewed by Lars. 13197 13198 On Windows make sure the dll also ends up in $$OUTPUT_DIR/bin, so that QtLauncher can find it. 13199 13200 * WebCore.pro: 13201 13202 2007-07-30 Simon Hausmann <hausmann (a] kde.org> 13203 13204 Reviewed by Lars. 13205 13206 Removed the __BUILDING_QT ifdef in JSStringRef.h and changed UChar for the Qt build to use wchar_t on Windows. 13207 13208 * platform/TextEncoding.cpp: 13209 (WebCore::TextEncoding::encode): 13210 13211 2007-07-30 Simon Hausmann <hausmann (a] kde.org> 13212 13213 Reviewed by Lars. 13214 13215 Don't link against libxml/libxslt unless we really need it. 13216 13217 * WebCore.pro: 13218 13219 2007-07-29 Tristan O'Tierney <tristan (a] apple.com> 13220 13221 Reviewed by Oliver Hunt. 13222 13223 <rdar://problem/5369282> REGRESSION: DOMHTMLInput throwing exception due to missing _isEdited method 13224 13225 * bindings/objc/DOMHTML.mm: 13226 (-[DOMHTMLInputElement _isEdited]): 13227 (-[DOMHTMLTextAreaElement _isEdited]): 13228 * bindings/objc/DOMPrivate.h: 13229 Renamed _isUserEdited to _isEdited. 13230 13231 2007-07-29 Adam Treat <treat (a] kde.org> 13232 13233 Reviewed by George Staikos. 13234 13235 Correctly set the update rect for the scrollbars when they are invalidated. 13236 Do not paint entire page for each scroll delta. Cache the dirty regions 13237 when webkit calls ScrollView::updateContents as webkit expects the paint 13238 routine to use the dirty regions bounding rect. 13239 13240 These changes greatly reduce the cpu load as we are no longer painting the 13241 entire page for each 1px scroll :P 13242 13243 * platform/qt/ScrollViewQt.cpp: 13244 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 13245 (WebCore::ScrollView::updateContents): 13246 (WebCore::ScrollView::paint): 13247 * platform/qt/WidgetQt.cpp: 13248 (WebCore::Widget::invalidateRect): 13249 13250 2007-07-29 Adele Peterson <adele (a] apple.com> 13251 13252 Reviewed by John. 13253 13254 WebCore part of fix for <rdar://problem/5102522> REGRESSION: Can't tab to webview that doesn't have editable content (affects Safari, preview pane in Mail) 13255 13256 * WebCore.exp: 13257 * page/FocusController.cpp: 13258 (WebCore::FocusController::setInitialFocus): Added. 13259 (WebCore::FocusController::advanceFocus): Don't give the focus back to the chrome if this is the initial focus. 13260 * page/FocusController.h: 13261 13262 2007-07-29 Adam Treat <treat (a] kde.org> 13263 13264 Reviewed by Alexey Proskuryakov. 13265 13266 WebCore::Widget::setParent should be virtual. 13267 It is reimplemented in ScrollViewQt for instance. 13268 13269 * platform/Widget.h: 13270 13271 2007-07-29 Alp Toker <alp.toker (a] collabora.co.uk> 13272 13273 Reviewed by bdash. 13274 13275 http://bugs.webkit.org/show_bug.cgi?id=14711 (revisited) 13276 RenderThemeGdk's buttons are state-agnostic (pressed, hovered) 13277 13278 Generalize shadow state into a function. 13279 use a GtkHBox to work around a theme bug (thanks to Nigel Tao). 13280 13281 * platform/gdk/RenderThemeGdk.cpp: 13282 (WebCore::RenderThemeGdk::determineShadow): 13283 (WebCore::RenderThemeGdk::paintCheckbox): 13284 (WebCore::RenderThemeGdk::paintRadio): 13285 (WebCore::RenderThemeGdk::paintButton): 13286 (WebCore::RenderThemeGdk::gtkWindowContainer): 13287 * platform/gdk/RenderThemeGdk.h: 13288 13289 2007-07-27 Adele Peterson <adele (a] apple.com> 13290 13291 Reviewed by Darin. 13292 13293 Temporary fix for Windows to prevent crashing on all frame pages. Darin 13294 is working on a more permanent fix. 13295 13296 * loader/FrameLoader.cpp: 13297 13298 2007-07-27 Adam Treat <treat (a] kde.org> 13299 13300 Reviewed by David Hyatt. 13301 13302 Fix crash when using QtWebKit canvas support. 13303 13304 * ChangeLog: 13305 * html/HTMLCanvasElement.cpp: 13306 (WebCore::HTMLCanvasElement::reset): 13307 13308 2007-07-27 Darin Adler <darin (a] apple.com> 13309 13310 * rendering/RenderLayer.cpp: Rolled out accidentally-checked-in code. 13311 13312 2007-07-27 Darin Adler <darin (a] apple.com> 13313 13314 Reviewed by John Sullivan. 13315 13316 - fix <rdar://problem/5261393> In Mail the plain text alternatives to messages with attachments show weird little OBJ thingies 13317 13318 The "weird little thingies" are U+FFFC characters. It's good to render them as zero-width, the way we do 13319 with control characters -- helps Mail and doesn't hurt web browsing. 13320 13321 Test: fast/text/zero-width-characters.html 13322 13323 * platform/CharacterNames.h: Add names for leftToRightMark, rightToLeftMark, and objectReplacementCharacter. 13324 * platform/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage): Give objectReplacementCharacter 13325 zero width in the same way we do it for the various other characters. 13326 13327 2007-07-27 Lars Knoll <lars (a] trolltech.com> 13328 13329 Reviewed by Zack 13330 13331 Enable XSLT support for the gtk port. 13332 13333 * WebCore.pro: 13334 13335 2007-07-27 Zack Rusin <zack (a] kde.org> 13336 13337 Reviewed by Zack and Lars. 13338 13339 Premature end after finishing parsing is a fatal error. 13340 13341 * dom/XMLTokenizer.cpp: 13342 (WebCore::XMLTokenizer::end): 13343 13344 2007-07-27 Lars Knoll <lars (a] trolltech.com> 13345 13346 Reviewed by Zack and Lars. 13347 13348 Simplify conversions that go from a QStringRef to a WebCore::String to not use a temporary QString. 13349 13350 * dom/XMLTokenizer.cpp: 13351 (WebCore::): 13352 13353 2007-07-27 Zack Rusin <zack (a] kde.org> 13354 13355 Reviewed by Zack and Lars. 13356 13357 Fix entity handling in the main document content (attributes still broken) 13358 13359 * dom/XMLTokenizer.cpp: 13360 (WebCore::): 13361 13362 2007-07-27 Lars Knoll <lars (a] trolltech.com> 13363 13364 Reviewed by Zack and Lars. 13365 13366 Correctly convert a null QString into a null WebCore::String. Add a String(const QStringRef&) constructor so that we can avoid converting QStringRef via QString to WebCore::String. 13367 13368 * dom/XMLTokenizer.cpp: 13369 (WebCore::): 13370 * platform/PlatformString.h: 13371 * platform/qt/StringQt.cpp: 13372 (WebCore::String::String): 13373 13374 2007-07-27 Zack Rusin <zack (a] kde.org> 13375 13376 Reviewed by Zack and Lars. 13377 13378 Parse version and encoding of the xml document. 13379 13380 * dom/XMLTokenizer.cpp: 13381 (WebCore::XMLTokenizer::write): 13382 13383 2007-07-27 Zack Rusin <zack (a] kde.org> 13384 13385 Reviewed by Zack and Lars. 13386 13387 Correctly or semi-correctly parse the public and system id. 13388 13389 Patch from Lars. 13390 13391 * dom/XMLTokenizer.cpp: 13392 (WebCore::): 13393 13394 2007-07-27 Zack Rusin <zack (a] kde.org> 13395 13396 Reviewed by Zack and Lars. 13397 13398 Fix uri parsing for attributes. 13399 13400 * dom/XMLTokenizer.cpp: 13401 (WebCore::): 13402 13403 2007-07-27 Zack Rusin <zack (a] kde.org> 13404 13405 Reviewed by Zack and Lars. 13406 13407 Fixing qualified name parsing - from Lars. 13408 13409 * dom/XMLTokenizer.cpp: 13410 (WebCore::XMLTokenizer::insertErrorMessageBlock): 13411 (WebCore::): 13412 13413 2007-07-27 Zack Rusin <zack (a] kde.org> 13414 13415 Reviewed by Zack and Lars. 13416 13417 Parse dtd's 13418 13419 * dom/XMLTokenizer.cpp: 13420 (WebCore::XMLTokenizer::resumeParsing): 13421 (WebCore::): 13422 * dom/XMLTokenizer.h: 13423 13424 2007-07-27 Zack Rusin <zack (a] kde.org> 13425 13426 Reviewed by Zack and Lars. 13427 13428 Implement error handling. 13429 13430 Add our copyrights 13431 13432 * dom/XMLTokenizer.cpp: 13433 (WebCore::XMLTokenizer::handleError): 13434 (WebCore::XMLTokenizer::end): 13435 (WebCore::): 13436 * dom/XMLTokenizer.h: 13437 13438 2007-07-27 Zack Rusin <zack (a] kde.org> 13439 13440 Reviewed by Zack and Lars. 13441 13442 Making the stylesheets work (plus everything else basically) 13443 13444 * dom/XMLTokenizer.cpp: 13445 (WebCore::XMLTokenizer::write): 13446 (WebCore::XMLTokenizer::insertErrorMessageBlock): 13447 (WebCore::): 13448 * dom/XMLTokenizer.h: 13449 13450 2007-07-27 Zack Rusin <zack (a] kde.org> 13451 13452 Reviewed by Zack and Lars. 13453 13454 Remove the libxml dependency when not compiling with XSLT. 13455 13456 Just ifdefing, displaying xml doesn't work. 13457 13458 * WebCore.pro: 13459 * dom/XMLTokenizer.cpp: 13460 (WebCore::XMLTokenizer::XMLTokenizer): 13461 (WebCore::XMLTokenizer::write): 13462 (WebCore::XMLTokenizer::startElementNs): 13463 (WebCore::XMLTokenizer::enterText): 13464 (WebCore::XMLTokenizer::exitText): 13465 (WebCore::XMLTokenizer::initializeParserContext): 13466 (WebCore::XMLTokenizer::end): 13467 (WebCore::XMLTokenizer::lineNumber): 13468 (WebCore::XMLTokenizer::columnNumber): 13469 (WebCore::XMLTokenizer::stopParsing): 13470 (WebCore::XMLTokenizer::resumeParsing): 13471 (WebCore::): 13472 * dom/XMLTokenizer.h: 13473 13474 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13475 13476 Reviewed by Zack. 13477 13478 Work around bug in the moc when used as preprocessor for generating the bindings. -DFOO=1 is needed instead of -DFOO 13479 to make the <hash>if FOO conditional match. 13480 13481 * WebCore.pro: 13482 13483 2007-07-27 Patrick Hanna <phanna (a] email.unc.edu> 13484 13485 Reviewed by Darin Adler. 13486 13487 Change PluginBase::refresh to be static and update PluginsFunc::callAsFunction accordingly. Now we no longer 13488 allocate an instance of a JSObject subclass on the stack which could lead to a crash during garbage collection. 13489 13490 * bindings/js/kjs_navigator.cpp: 13491 (KJS::PluginsFunc::callAsFunction): 13492 13493 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13494 13495 Done with and reviewed by Lars and Zack. 13496 13497 Fix snprintf hack for the Qt/Windows build with mingw-gcc. MingW has snprintf, so we don't need this helper function. 13498 13499 * page/FrameTree.cpp: 13500 * platform/DeprecatedString.cpp: 13501 (WebCore::DeprecatedString::format): 13502 * platform/String.cpp: 13503 (WebCore::String::format): 13504 13505 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13506 13507 Done with and reviewed by Lars and Zack. 13508 13509 Make the DocTypeStrings.cpp generation work with MingW. Cleaned it up to be a regular extra compiler at the same time. 13510 13511 * WebCore.pro: 13512 13513 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13514 13515 Done with and reviewed by Lars and Zack. 13516 13517 MingW build fixes: Do the "OBJECTS_TRAILING_SLASH" trick not only for win32-msvc but for all win32 mkspecs. Added LIB/INCLUDE hack from Qt to make us pick up 3rdparty libraries such as libxml from these environment variables. 13518 13519 * WebCore.pro: 13520 13521 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13522 13523 Done with and reviewed by Lars and Zack. 13524 13525 Use $(MOVE) instead of mv to eliminated the shell dependency and replaced the long shell line to call bison and modify the css grammar file with a few lines of portable perl code. 13526 13527 * WebCore.pro: 13528 * css/makegrammar.pl: Added. 13529 13530 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13531 13532 Done with and reviewed by Lars and Zack. 13533 13534 On make install on Windows copy the dll into the bin dir. 13535 13536 * WebCore.pro: 13537 13538 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13539 13540 Done with and reviewed by Lars and Zack. 13541 13542 Link in libxml and libxslt on Windows. 13543 13544 * WebCore.pro: 13545 13546 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13547 13548 Done with and reviewed by Lars and Zack. 13549 13550 Temporarily disable the ICO support for the Qt build on Windows. 13551 13552 * WebCore.pro: 13553 * platform/graphics/qt/ImageDecoderQt.cpp: 13554 13555 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13556 13557 Done with and reviewed by Lars and Zack. 13558 13559 Fix evaluation with ActiveState Perl 5.6. Somehow it tried to treat nameEntries as array. 13560 13561 * bindings/scripts/CodeGeneratorJS.pm: 13562 13563 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13564 13565 Done with and reviewed by Lars and Zack. 13566 13567 Fix compilation with MSVC in the Qt build (missing header files). 13568 13569 * loader/icon/IconDatabaseNone.cpp: 13570 * platform/graphics/svg/SVGImage.cpp: 13571 13572 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13573 13574 Done with and reviewed by Lars and Zack. 13575 13576 Disable the favicon database on Windows for now, to eliminate the sqlite dependency. 13577 13578 * WebCore.pro: 13579 13580 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13581 13582 Done with and reviewed by Lars and Zack. 13583 13584 Added custom preprocessor support to make_names.pl and use the moc for it in the Qt build. 13585 13586 * WebCore.pro: 13587 * ksvg2/scripts/make_names.pl: 13588 13589 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13590 13591 Done with and reviewed by Lars and Zack. 13592 13593 Disable the batch mode for nmake to work around the clash of Node.c and Node.cpp both mapping to Node.obj 13594 13595 * WebCore.pro: 13596 13597 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13598 13599 Done with and reviewed by Lars and Zack. 13600 13601 Fix compilation under Windows (removed sys/time.h dependency, use Qt instead). 13602 13603 * platform/qt/SystemTimeQt.cpp: 13604 13605 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13606 13607 Done with and reviewed by Lars and Zack. 13608 13609 Fix compilation on Windows. 13610 13611 * platform/graphics/qt/PathQt.cpp: 13612 13613 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13614 13615 Done with and reviewed by Lars and Zack. 13616 13617 Fix generation of ColorData.c on Windows. 13618 13619 * WebCore.pro: 13620 13621 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13622 13623 Done with and reviewed by Lars and Zack. 13624 13625 Fix compilation under Qt/Windows. 13626 13627 * loader/icon/IconDatabase.cpp: 13628 (WebCore::IconDatabase::open): 13629 13630 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13631 13632 Done with and reviewed by Lars and Zack. 13633 13634 Changed extendedAttributes to be a variable instead of a hash directly. Required to work with ActiveState perl. 13635 13636 * bindings/scripts/IDLStructure.pm: 13637 13638 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13639 13640 Done with and reviewed by Lars and Zack. 13641 13642 Fix header guard generation for CSSGrammar.h under Windows 13643 13644 * WebCore.pro: 13645 13646 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13647 13648 Done with and reviewed by Lars and Zack. 13649 13650 Fix build with moc as preprocessor. Don't rely the preprocessor preserving whitespace at the beginning of lines. 13651 13652 * bindings/scripts/IDLParser.pm: 13653 13654 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13655 13656 Done with and reviewed by Lars and Zack. 13657 13658 Make make-css-file-arrays.pl work on Windows by not calling /usr/bin/gcc as preprocessor for the Qt build. 13659 13660 * WebCore.pro: 13661 * css/make-css-file-arrays.pl: 13662 13663 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13664 13665 Done with and reviewed by Lars and Zack. 13666 13667 More gperf commandline fixes for Windows. 13668 13669 * WebCore.pro: 13670 13671 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13672 13673 Done with and reviewed by Lars and Zack. 13674 13675 More quoting fixes for perl under Windows. 13676 13677 * WebCore.pro: 13678 13679 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13680 13681 Done with and reviewed by Lars and Zack. 13682 13683 Fix command quoting under Windows 13684 13685 * WebCore.pro: 13686 13687 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13688 13689 Done with and reviewed by Lars and Zack. 13690 13691 Fix cssmakeprops and cssmakevalue scripts to work on Windows without cygwin perl. Avoid inplace substitutions and direct invocation of /bin/sh. Also call gperf with arguments that GnuWin32's gperf understands. 13692 13693 * ksvg2/scripts/cssmakeprops: 13694 * ksvg2/scripts/cssmakevalues: 13695 13696 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13697 13698 Done with and reviewed by Lars and Zack. 13699 13700 Beautiful hacks to make more of the extra compiler magic work under Windows outside of cygwin. 13701 13702 * WebCore.pro: 13703 13704 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13705 13706 Done with and reviewed by Lars and Zack. 13707 13708 Correctly propagate the custom preprocessor option through the idl parser and the codegenerator. 13709 13710 * bindings/scripts/CodeGenerator.pm: 13711 * bindings/scripts/generate-bindings.pl: 13712 13713 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13714 13715 Done with and reviewed by Lars and Zack. 13716 13717 When constructing the absolute path when searching for IDL files in the list of search paths don't prepend a slash if $SOURCEROOT as environment variable is not set. In the Qt build we pass absolute search paths already and we don't set SOURCEROOT. Under Unix that gives a double slash for the directory which works fine, under Windows we get /c:\webkit\foo which of course does not work. 13718 13719 * bindings/scripts/CodeGenerator.pm: 13720 13721 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13722 13723 Done with and reviewed by Lars and Zack. 13724 13725 Relax the regular expression that tries to find constant declarations in the IDL source to not require leading whitespace. This makes it work with preprocessors that happen to eliminate leading whitespace. 13726 13727 * bindings/scripts/IDLParser.pm: 13728 13729 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13730 13731 Done with and reviewed by Lars and Zack. 13732 13733 Try to use the moc as preprocessor for the IDL bindings generator 13734 13735 * WebCore.pro: 13736 13737 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13738 13739 Done with and reviewed by Lars and Zack. 13740 13741 Make it possible to specify the preprocessor the bindings generator uses instead of hardcoding /usr/bin/gcc (which is of course no option on Windows). Also try to use a more portable and Windows friendly way of opening the reading pipe to the preprocessor. 13742 13743 * bindings/scripts/IDLParser.pm: 13744 * bindings/scripts/generate-bindings.pl: 13745 13746 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13747 13748 Done with and reviewed by Lars and Zack. 13749 13750 Don't use stdout redirection for make_names.pl as it doesn't work under Windows perl (outside cygwin). 13751 13752 * ksvg2/scripts/make_names.pl: 13753 13754 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13755 13756 Done with and reviewed by Lars and Zack. 13757 13758 Fix DocTypeStrings.cpp generation to work on Windows with cmd.exe 13759 13760 * WebCore.pro: 13761 13762 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13763 13764 Reviewed by Lars. 13765 13766 Work around aliasing bugs in WebCore by compiling with -fno-strict-aliasing for gcc builds for now. 13767 13768 * WebCore.pro: 13769 13770 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13771 13772 Reviewed by Lars. 13773 13774 Use -Wreturn-type only when compiling with g++ 13775 13776 * WebCore.pro: 13777 13778 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13779 13780 Reviewed by Zack. 13781 13782 Don't use pkg-config on Windows for the Qt build 13783 13784 * WebCore.pro: 13785 13786 2007-07-27 Simon Hausmann <hausmann (a] kde.org> 13787 13788 Reviewed by Zack. 13789 13790 Fix compilation with MSVC. 13791 13792 * platform/graphics/qt/ImageDecoderQt.cpp: 13793 13794 2007-07-26 Tristan O'Tierney <tristan (a] apple.com> 13795 13796 Reviewed by Anders Carlsson. 13797 13798 <rdar://problem/5350019> REGRESSION: Pages on milliyet.com are added to Back list when visited, causing Back button to just reload 13799 13800 * loader/FrameLoader.cpp: 13801 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 13802 If the policy action is FrameLoadTypeRedirectLockHistory, don't add the frame load url to the history. 13803 13804 2007-07-26 Anders Carlsson <andersca (a] apple.com> 13805 13806 Reviewed by Geoff. 13807 13808 Add a FIXME about caching pages with plug-ins that have outstanding NPObjects. 13809 13810 * loader/FrameLoader.cpp: 13811 (WebCore::FrameLoader::canCachePage): 13812 13813 2007-07-26 David Hyatt <hyatt (a] apple.com> 13814 13815 FIx for <rdar://problem/5289721> CrashTracer: [REGRESSION] 2658 crashes in Safari at com.apple.WebCore: WebCore::RenderInline::height const + 16 13816 13817 Adding a null check for now and an assert. We don't know how/why this 13818 bug happens, but hopefully the assert will help people to reproduce. 13819 13820 Reviewed by kevin 13821 13822 * rendering/RenderInline.cpp: 13823 (WebCore::RenderInline::height): 13824 13825 2007-07-26 Anders Carlsson <andersca (a] apple.com> 13826 13827 Reviewed by Oliver. 13828 13829 <rdar://problem/5362783> 13830 In Mail, a crash occurs at WTF::fastMalloc() when attempting to create a new HTML message from http://nytimes.com/ 13831 13832 If the cache is disabled and there is already a resource with the given URL, return it instead of creating a new one. 13833 13834 * loader/DocLoader.cpp: 13835 (WebCore::DocLoader::requestResource): 13836 13837 2007-07-26 Adele Peterson <adele (a] apple.com> 13838 13839 Reviewed by Geoff. 13840 13841 Build fix. 13842 13843 * platform/network/cf/ResourceRequest.h: 13844 13845 2007-07-26 Anders Carlsson <andersca (a] apple.com> 13846 13847 Reviewed by John Sullivan. 13848 13849 <rdar://problem/5349389> 13850 Some frame load delegate methods not called when loading a page from the BF cache 13851 13852 These calls were moved to FrameLoader::begin, which is never called for pages loaded 13853 from the BF cache. This happened in revision 24490. 13854 13855 * loader/FrameLoader.cpp: 13856 (WebCore::FrameLoader::transitionToCommitted): 13857 Call delegate methods if the load is from the BF cache. 13858 13859 2007-07-26 Kevin McCullough <kmccullough (a] apple.com> 13860 13861 Reviewed by Darin, Geoff and Sam. 13862 13863 - <rdar://problem/5150461> Resizing the window larger than the screen causes no resize. 13864 - We now better match the behavior of other browsers. 13865 13866 * bindings/js/kjs_window.cpp: 13867 (KJS::constrainToVisible): 13868 (KJS::WindowFunc::callAsFunction): 13869 13870 2007-07-26 Tristan O'Tierney <tristan (a] apple.com> 13871 13872 Reviewed by Adele Peterson. 13873 13874 <rdar://problem/5359921> WebCore should maintain a dirty flag for confirmation on unsaved changes 13875 13876 * bindings/objc/DOMHTML.mm: 13877 (-[DOMHTMLInputElement _isUserEdited]): 13878 (-[DOMHTMLTextAreaElement _isUserEdited]): 13879 Renamed _isEdited to _isUserEdited since the functionality is now different 13880 13881 * bindings/objc/DOMPrivate.h: 13882 Renamed _isEdited to _isUserEdited. 13883 13884 * rendering/RenderTextControl.cpp: 13885 (WebCore::RenderTextControl::RenderTextControl): 13886 Defaulted m_userEdited to false 13887 13888 (WebCore::RenderTextControl::updateFromElement): 13889 Set m_userEdited to false, since the change wasn't triggered first by an edit 13890 13891 (WebCore::RenderTextControl::subtreeHasChanged): 13892 Set m_userEdited to true, since it has been touched by the user 13893 13894 * rendering/RenderTextControl.h: 13895 (WebCore::RenderTextControl::isUserEdited): 13896 (WebCore::RenderTextControl::setUserEdited): 13897 Added two new methods to set/return the userEdited boolean value. 13898 13899 2007-07-26 Geoffrey Garen <ggaren (a] apple.com> 13900 13901 Reviewed by Beth Dakin. 13902 13903 Fixed NULL-dereference crash seen on buildbot. 13904 13905 No bug filed because this is a part of <rdar://problem/5241167>. 13906 13907 * history/PageCache.h: 13908 (WebCore::PageCache::get): NULL-check HistoryItems passed to get() 13909 and remove(), to match the old semantics of HashMap. For clarity, 13910 ASSERT that add() is not called with NULL arguments. 13911 13912 2007-07-26 Anders Carlsson <andersca (a] apple.com> 13913 13914 Reviewed by Oliver Hunt. 13915 13916 <rdar://problem/5361106> Crash in user style sheet when loading webpage 13917 13918 Null check m_frame. 13919 13920 * dom/Document.cpp: 13921 (WebCore::Document::stylesheetLoaded): 13922 13923 2007-07-26 Geoffrey Garen <ggaren (a] apple.com> 13924 13925 Used `svn merge -r24646:24645' to revert project changes I accidentally 13926 checked in. 13927 13928 * WebCore.xcodeproj/project.pbxproj: 13929 13930 2007-07-26 Geoffrey Garen <ggaren (a] apple.com> 13931 13932 Reviewed by Darin Adler. 13933 13934 Fixed <rdar://problem/5241167> REGRESSION: PLT 1% slower due to r21793 13935 (global page cache cap) 13936 13937 I just measured a .1%-.2% regression in PLT average, but a .4% win in 13938 PLT fastest run, so I think this regression is licked. 13939 13940 Surprisingly, the combination of wtf data structures I originally used 13941 for PageCache turned out to be too slow, so I reworked PageCache to use 13942 a hand-crafted linked list for LRU tracking (instead of ListHashSet), 13943 to store its CachedPages in the HistoryItems to which they corresponded 13944 (instead of using a HashMap), and to ref/deref HistoryItems manually 13945 (instead of using RefPtr, which would ref once for every reference in 13946 the linked list). 13947 13948 * history/HistoryItem.h: Added data members for PageCache data. Made 13949 PageCache a friend so it could access them. Ideally (from an 13950 encapsulation perspective), we would store this data an independent 13951 structure, but that's just too slow. 13952 13953 * history/PageCache.cpp: Added a hand-crafted linked list for LRU 13954 tracking. 13955 (WebCore::PageCache::PageCache): 13956 (WebCore::PageCache::add): Adopt the HistoryItem's ref when it's added. 13957 (WebCore::PageCache::remove): deref() the Historyitem when it's 13958 removed. 13959 (WebCore::PageCache::prune): 13960 (WebCore::PageCache::addToLRUList): 13961 (WebCore::PageCache::removeFromLRUList): 13962 13963 * history/PageCache.h: 13964 (WebCore::PageCache::get): Inlined just in case. 13965 13966 2007-07-26 Adam Treat <treat (a] kde.org> 13967 13968 Reviewed by George Staikos. 13969 13970 Launch the context menu in the right place. 13971 13972 * platform/qt/ContextMenuQt.cpp: 13973 (WebCore::ContextMenu::setPlatformDescription): 13974 13975 2007-07-25 Maciej Stachowiak <mjs (a] apple.com> 13976 13977 Reviewed by Mark. 13978 13979 - follow-up to previous change to avoid assertion failures in debug 13980 13981 * xml/XMLHttpRequest.cpp: 13982 (WebCore::XMLHttpRequest::getResponseText): hold JSLock when needed 13983 (WebCore::XMLHttpRequest::open): ditto 13984 (WebCore::XMLHttpRequest::didFinishLoading): ditto 13985 (WebCore::XMLHttpRequest::didReceiveData): ditto 13986 * xml/XMLHttpRequest.h: 13987 13988 2007-07-25 Anders Carlsson <andersca (a] apple.com> 13989 13990 Reviewed by Darin. 13991 13992 <rdar://problem/5327912> 13993 iDisk: Web iDisk & main iDisk appear blank 13994 13995 Prepend any remaining text that scripts might have written. 13996 13997 * html/HTMLTokenizer.cpp: 13998 (WebCore::HTMLTokenizer::scriptExecution): 13999 14000 2007-07-25 Kevin McCullough <kmccullough (a] apple.com> 14001 14002 Reviewed by Tim, Darin, Oliver. 14003 14004 - <rdar://problem/5329440> REGRESSION: Clicking links with the feed:// protocol in Safari 3 does nothing 14005 - Check for file:// urls when clicking links, not block all schemes that are treated as local. 14006 14007 * loader/FrameLoader.cpp: 14008 (WebCore::FrameLoader::load): 14009 14010 2007-07-25 Maciej Stachowiak <mjs (a] apple.com> 14011 14012 Reviewed by Darin. 14013 14014 - fixed <rdar://problem/5300291> Optimize GC to reclaim big, temporary objects (like XMLHttpRequest.responseXML) quickly 14015 14016 With this plus related JavaScriptCore changes, a number of XMLHttpRequest situations that 14017 result in huge data sets are addressed, including a single huge responseXML on an XMR done 14018 repeatedly, or accessing responseText repeatedly during loading of a single large XHR. 14019 14020 In addition to the GC changes in JavaScriptCore, I changed responseText to be stored as a 14021 KJS::UString instead of a WebCore::String so that the JavaScript responseText value can 14022 share the buffer (indeed multiple intermediate responseTexts can share its buffer). 14023 14024 14025 First of all, here's some manual test cases that will each blow out the process VM without this fix, 14026 but will settle into decent steady state with. 14027 14028 * manual-tests/memory: Added. 14029 * manual-tests/memory/MessageUidsAlreadyDownloaded2: Added. 14030 * manual-tests/memory/string-growth.html: Added. 14031 * manual-tests/memory/xhr-multiple-requests-responseText.html: Added. 14032 * manual-tests/memory/xhr-multiple-requests-responseXML.html: Added. 14033 * manual-tests/memory/xhr-multiple-requests.html: Added. 14034 * manual-tests/memory/xhr-repeated-string-access.xml: Added. 14035 14036 And here's the actual code changes: 14037 14038 * WebCore.xcodeproj/project.pbxproj: 14039 * bindings/js/JSDocumentCustom.cpp: 14040 (WebCore::toJS): Record extra cost if the document is frameless (counting the nodes 14041 doesn't make a measurable performance difference here in any case I could find) 14042 * bindings/js/JSXMLHttpRequest.cpp: 14043 (KJS::JSXMLHttpRequest::getValueProperty): Adjust for the fact that ressponseText 14044 is now stored as a UString. 14045 * bindings/js/kjs_binding.cpp: 14046 (KJS::jsOwnedStringOrNull): New helper. 14047 * bindings/js/kjs_binding.h: 14048 * xml/XMLHttpRequest.cpp: 14049 (WebCore::XMLHttpRequest::getResponseText): It's a UString! 14050 (WebCore::XMLHttpRequest::getResponseXML): handle the fact that m_responseText 14051 is a UString. 14052 (WebCore::XMLHttpRequest::XMLHttpRequest): ditto. 14053 (WebCore::XMLHttpRequest::abort): call dropProtection 14054 (WebCore::XMLHttpRequest::didFinishLoading): call dropProtection 14055 (WebCore::XMLHttpRequest::dropProtection): after removing our GC protection, 14056 report extra cost of this XHR's responseText buffer. 14057 * xml/XMLHttpRequest.h: 14058 14059 2007-07-25 Timothy Hatcher <timothy (a] apple.com> 14060 14061 Reviewed by Brady. 14062 14063 <rdar://problem/4796657> table deletion outline does not always follow the table size as editing occurs inside 14064 14065 Change the outline element to position itself automaticlly using the top, left, bottom and right CSS properties. 14066 This made the container element redundant, so it has been removed. Now the outline element and the delete button 14067 both get appended to the target element and positioned based on that container element. This removes the need 14068 to update the width and height when the target contents changed. 14069 14070 * editing/DeleteButtonController.cpp: 14071 (WebCore::DeleteButtonController::show): Change the style properties and remove the container element. 14072 (WebCore::DeleteButtonController::hide): Remove the button and outline from the target element. 14073 * editing/DeleteButtonController.h: Removed updateOutlineStyle, respondToChangedContents and m_containerElement. 14074 * editing/Editor.cpp: 14075 (WebCore::Editor::respondToChangedContents): Remove the call to DeleteButtonController respondToChangedContents. 14076 14077 2007-07-25 Anders Carlsson <andersca (a] apple.com> 14078 14079 Reviewed by Darin. 14080 14081 <rdar://problem/5344471> 14082 CrashTracer: [USER] 1 crash in Mail at WebCore::PluginTokenizer::writeRawData(char const*, int) 14083 14084 Make sure to layout so we'll have a renderer. Also null-check the renderer for extra safety. 14085 14086 * loader/PluginDocument.cpp: 14087 (WebCore::PluginTokenizer::writeRawData): 14088 14089 2007-07-25 Brett Wilson <brettw (a] chromium.org> 14090 14091 Reviewed by Maciej, Darin. 14092 14093 - http://bugs.webkit.org/show_bug.cgi?id=14030 14094 14095 Add ResourceHandle::setClient to resolve some messiness with handle 14096 releasing. Clear the client when ResourceLoader is going to release 14097 the handle to prevent crashes in the case where somebody still holds a 14098 reference (this doesn't seem to currently happen in practice). Add 14099 NULL-checking for ResourceHandle implementations using the client. 14100 14101 * loader/ResourceLoader.cpp: 14102 (WebCore::ResourceLoader::releaseResources): 14103 * platform/network/ResourceHandle.cpp: 14104 (WebCore::ResourceHandle::fireBlockedFailure): 14105 (WebCore::ResourceHandle::setClient): 14106 * platform/network/ResourceHandle.h: 14107 * platform/network/cf/ResourceHandleCFNet.cpp: 14108 (WebCore::willSendRequest): 14109 (WebCore::didReceiveResponse): 14110 (WebCore::didReceiveData): 14111 (WebCore::didFinishLoading): 14112 (WebCore::didFail): 14113 (WebCore::willCacheResponse): 14114 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 14115 (WebCore::ResourceHandle::receivedCancellation): 14116 * platform/network/mac/ResourceHandleMac.mm: 14117 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 14118 (WebCore::ResourceHandle::didCancelAuthenticationChallenge): 14119 (WebCore::ResourceHandle::receivedCancellation): 14120 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 14121 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 14122 (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): 14123 (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]): 14124 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): 14125 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): 14126 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): 14127 14128 2007-07-25 Maxime Britto <mbritto (a] pleyo.com> 14129 14130 Reviewed by Darin. 14131 14132 - fix http://bugs.webkit.org/show_bug.cgi?id=11756 14133 REGRESSION: link targeting a frame in another window does not work 14134 <rdar://problem/5286420> 14135 14136 Test: http/tests/navigation/target-frame-from-window.html 14137 14138 Fix a typo error to really compare the present domain to the domain of the parent of the targeted frame. 14139 14140 * loader/FrameLoader.cpp: (WebCore::FrameLoader::canTarget): 14141 14142 2007-07-25 Mitz Pettel <mitz (a] webkit.org> 14143 14144 Reviewed by Darin. 14145 14146 - fix http://bugs.webkit.org/show_bug.cgi?id=14758 14147 REGRESSION: Repeated text after line break on facebook.com 14148 14149 Test: fast/text/reset-emptyRun.html 14150 14151 * platform/BidiResolver.h: 14152 (WebCore::::deleteRuns): Re-add a line that was removed for no reason at all 14153 during refactoring in r24485. 14154 * rendering/bidi.cpp: 14155 (WebCore::BidiState::deleteRuns): Ditto. 14156 14157 2007-07-24 Oliver Hunt <oliver (a] apple.com> 14158 14159 Reviewed by Adam and Justin. 14160 14161 <rdar://problem/5141779> WebView editableDOMRangeForPoint: & moveDragCaretToPoint: returns last position in DOMText range 14162 14163 Remove bridge implementation for editableDOMRangeForPoint: and moveDragCaretToPoint:. 14164 Now use cross-platform code Editor::rangeForPoint and DragController::placeDragCaret instead. 14165 This required lifting local code from DragController.cpp into the shared methods 14166 Frame::visiblePositionForPoint and Frame::documentAtPoint. 14167 14168 * WebCore.exp: 14169 * editing/Editor.cpp: 14170 (WebCore::Editor::rangeForPoint): 14171 * editing/Editor.h: 14172 * page/DragController.cpp: 14173 (WebCore::DragController::dragEnded): 14174 (WebCore::DragController::performDrag): 14175 (WebCore::DragController::dragEnteredOrUpdated): 14176 (WebCore::DragController::tryDocumentDrag): 14177 (WebCore::DragController::operationForLoad): 14178 (WebCore::setSelectionToDragCaret): 14179 (WebCore::DragController::concludeDrag): 14180 (WebCore::DragController::placeDragCaret): 14181 * page/DragController.h: 14182 * page/Frame.cpp: 14183 (WebCore::Frame::visiblePositionForPoint): 14184 (WebCore::Frame::documentAtPoint): 14185 * page/Frame.h: 14186 * page/mac/WebCoreFrameBridge.h: 14187 * page/mac/WebCoreFrameBridge.mm: 14188 14189 2007-07-24 Sam Weinig <sam (a] webkit.org> 14190 14191 Rubber-stamped by Adam Roben. 14192 14193 Remove unused .strip files. 14194 14195 * WebCore.xcodeproj/project.pbxproj: 14196 14197 2007-07-24 Adele Peterson <adele (a] apple.com> 14198 14199 Reviewed by Hyatt. 14200 14201 Fix for <rdar://problem/5308492> Computed width for elements with box-sizing: border-box is not equal to the width set in the CSS 14202 14203 Test: fast/css/getComputedStyle-border-box.html 14204 14205 * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 14206 For the width and height properties, when you get the value from the renderer, use the renderer's box sizing value to determine the size. 14207 14208 2007-07-24 Anders Carlsson <andersca (a] apple.com> 14209 14210 Reviewed by Kevin Decker. 14211 14212 <rdar://problem/5355781> 14213 REGRESSION: reproducible crash in CoreFoundation!CFRunLoopFinished on Flash pages 14214 14215 Null check the loader. 14216 14217 * plugins/win/PluginStreamWin.cpp: 14218 (WebCore::PluginStreamWin::start): 14219 14220 2007-07-24 Adele Peterson <adele (a] apple.com> 14221 14222 Reviewed by Hyatt and Adam. 14223 14224 Fix for <rdar://problem/5130590> REGRESSION: style="width:1px" on <select> element no longer hides the element 14225 14226 Removed hack that forced large padding on popup buttons. Now we put that padding in the inner block, so that 14227 the specified width will be honored. 14228 14229 * rendering/RenderMenuList.cpp: 14230 (WebCore::RenderMenuList::adjustInnerStyle): Set the padding on the inner block based on the metrics provided by the theme. 14231 (WebCore::RenderMenuList::controlClipRect): Clip to the intersection of the inner content box and the outer content box. 14232 This will leave room for the arrows which sit in the inner box padding, and if the inner box ever spills out of the outer box, 14233 that will get clipped too. 14234 (WebCore::RenderMenuList::calcPrefWidths): Add in the inner box's padding and border to the pref widths. 14235 14236 * rendering/RenderThemeMac.mm: 14237 (WebCore::RenderThemeMac::paintMenuList): Only inflate the rect for the shadow if the rect is big enough to fit the whole control. 14238 Also, on Leopard, the NSCell will draw outside of a small rect, so add a clip for that case. 14239 (WebCore::RenderThemeMac::paintMenuListButton): Restrict font scale to make sure the arrows will actually fit in the bounds vertically. 14240 Don't draw the arrows if they won't fit horizontally. Reset padding. Since WinIE doesn't honor padding for popups, its not critical to 14241 support padding at this time. 14242 (WebCore::RenderThemeMac::adjustMenuListStyle): Don't set the padding here. Instead, we're going to set the padding on the inner block of the select. 14243 (WebCore::RenderThemeMac::adjustMenuListButtonStyle): ditto. 14244 (WebCore::RenderThemeMac::popupInternalPaddingLeft): Added. Provides internal padding values for RenderMenuList. 14245 (WebCore::RenderThemeMac::popupInternalPaddingRight): ditto. 14246 (WebCore::RenderThemeMac::popupInternalPaddingTop): ditto. 14247 (WebCore::RenderThemeMac::popupInternalPaddingBottom): ditto. 14248 * rendering/RenderThemeMac.h: 14249 14250 * rendering/RenderThemeSafari.cpp: The same changes that were made to RenderThemeMac were made here, with variations for the arrow differences. 14251 This code should be refactored and shared, but now did not seem like the right time to do that refactoring. 14252 (WebCore::RenderThemeSafari::paintMenuList): 14253 (WebCore::RenderThemeSafari::paintMenuListButton): 14254 (WebCore::RenderThemeSafari::adjustMenuListStyle): 14255 (WebCore::RenderThemeSafari::popupInternalPaddingLeft): 14256 (WebCore::RenderThemeSafari::popupInternalPaddingRight): 14257 (WebCore::RenderThemeSafari::popupInternalPaddingTop): 14258 (WebCore::RenderThemeSafari::popupInternalPaddingBottom): 14259 (WebCore::RenderThemeSafari::adjustMenuListButtonStyle): 14260 * rendering/RenderThemeSafari.h: 14261 14262 * rendering/RenderTheme.h: Added to provide internal padding values for RenderMenuList. 14263 (WebCore::RenderTheme::popupInternalPaddingLeft): 14264 (WebCore::RenderTheme::popupInternalPaddingRight): 14265 (WebCore::RenderTheme::popupInternalPaddingTop): 14266 (WebCore::RenderTheme::popupInternalPaddingBottom): 14267 14268 2007-07-24 Lars Knoll <lars (a] trolltech.com> 14269 14270 Reviewed by Adam Roben & David Kilzer. 14271 14272 replace the makeprop and makevalues shell scripts by equivalent perl versions. This is required to remove the last shell dependency when building QtWebKit on Windows. 14273 14274 * DerivedSources.make: 14275 * WebCore.pro: 14276 * WebCore.xcodeproj/project.pbxproj: 14277 * css/makeprop: Added. 14278 * css/makeprop.pl: Removed. 14279 * css/makevalues: Added. 14280 * css/makevalues.pl: Removed. 14281 14282 2007-07-24 Beth Dakin <bdakin (a] apple.com> 14283 14284 Reviewed by Darin. 14285 14286 Fix for http://bugs.webkit.org/show_bug.cgi?id=14714 REGRESSION: 14287 ASSERTION FAILED: i < size() in Vector.h:401 on negative -webkit- 14288 column-width 14289 - and - 14290 http://bugs.webkit.org/show_bug.cgi?id=14718 REGRESSION: ASSERTION 14291 FAILED: i < size() in Vector.h:401 on zero -webkit-column-count 14292 14293 * rendering/RenderBlock.cpp: 14294 (WebCore::RenderBlock::calcColumnWidth): Make 1 the minimum value 14295 for column-width and column-count. Since the spec does not address 14296 what to do with negative values for these properties, we are 14297 patching the rendering code instead of the parser. 14298 14299 2007-07-24 Anders Carlsson <andersca (a] apple.com> 14300 14301 Reviewed by Steve. 14302 14303 <rdar://problem/5355403> 14304 REGRESSION: 303A2 does not display pdf files with AdobeReader 8.1 14305 14306 Close the file before handing off the file name to the plug-in. 14307 14308 * plugins/win/PluginStreamWin.cpp: 14309 (WebCore::PluginStreamWin::destroyStream): 14310 14311 2007-07-24 Alp Toker <alp.toker (a] collabora.co.uk> 14312 14313 Reviewed by Adam. 14314 14315 http://bugs.webkit.org/show_bug.cgi?id=14711 14316 RenderThemeGdk's buttons are state-agnostic (pressed, hovered) 14317 14318 Remove unnecessary label from widget instances. 14319 Render check and radio widgets correctly. 14320 Determine the widget state and render it appropriately. 14321 14322 * platform/gdk/RenderThemeGdk.cpp: 14323 (WebCore::RenderThemeGdk::determineState): 14324 (WebCore::RenderThemeGdk::paintCheckbox): 14325 (WebCore::RenderThemeGdk::paintRadio): 14326 (WebCore::RenderThemeGdk::paintButton): 14327 (WebCore::RenderThemeGdk::gtkButton): 14328 (WebCore::RenderThemeGdk::gtkCheckbox): 14329 (WebCore::RenderThemeGdk::gtkRadioButton): 14330 * platform/gdk/RenderThemeGdk.h: 14331 14332 2007-07-24 Mark Rowe <mrowe (a] apple.com> 14333 14334 Reviewed by Antti. 14335 14336 <rdar://problem/5356666> NSMenuItem's seen leaking on buildbot 14337 14338 * platform/mac/ContextMenuItemMac.mm: 14339 (WebCore::ContextMenuItem::releasePlatformDescription): Transfer ownership from the RetainPtr's CF-based retain 14340 count to the Foundation retain count so that callers of releasePlatformDescription can use -[NSObject release] 14341 to dispose of it in a manner that won't leak under Obj-C GC. 14342 * platform/mac/ContextMenuMac.mm: 14343 (WebCore::ContextMenu::appendItem): Release platformItem as we were transferred its ownership by releasePlatformDescription. 14344 (WebCore::ContextMenu::insertItem): ditto. 14345 14346 2007-07-24 Mitz Pettel <mitz (a] webkit.org> 14347 14348 Reviewed by Darin. 14349 14350 - fix http://bugs.webkit.org/show_bug.cgi?id=14684 14351 Hebrew text in Safari chrome is reversed (LTR instead of RTL) 14352 14353 Test: fast/text/drawBidiText.html 14354 14355 * WebCore.pro: 14356 * WebCore.vcproj/WebCore.vcproj: 14357 * WebCore.xcodeproj/project.pbxproj: 14358 * WebCoreSources.bkl: 14359 * manual-tests/chrome-bidi-text.html: Added. 14360 * manual-tests/resources/chrome-bidi-text-window.html: Added. 14361 * platform/BidiReorderCharacters.cpp: Removed. 14362 * platform/BidiReorderCharacters.h: Removed. 14363 * platform/BidiResolver.h: 14364 (WebCore::BidiCharacterRun::start): Added accessor method. 14365 (WebCore::BidiCharacterRun::stop): Ditto. 14366 (WebCore::BidiCharacterRun::level): Ditto. 14367 (WebCore::BidiCharacterRun::next): Ditto. 14368 (WebCore::::appendRun): Added default implementation. 14369 * platform/TextStyle.h: 14370 (WebCore::TextStyle::setDirectionalOverride): Added accessor method. 14371 * platform/graphics/GraphicsContext.cpp: 14372 (WebCore::TextRunIterator::TextRunIterator): Added. A BidiResolver- 14373 compliant iterator over the characters in a TextRun. 14374 (WebCore::TextRunIterator::offset): 14375 (WebCore::TextRunIterator::increment): 14376 (WebCore::TextRunIterator::atEnd): 14377 (WebCore::TextRunIterator::current): 14378 (WebCore::TextRunIterator::direction): 14379 (WebCore::TextRunIterator::operator==): 14380 (WebCore::TextRunIterator::operator!=): 14381 (WebCore::GraphicsContext::drawBidiText): Added. Applies the Unicode 14382 Bidi Algorithm to the text and draws the resulting unidirectional runs 14383 in the right order and with the right directionality. 14384 * platform/graphics/GraphicsContext.h: 14385 * platform/win/PopupMenuWin.cpp: 14386 (WebCore::PopupMenu::paint): Replaced the use of a character buffer 14387 and BidiReorderCharacters with calling to drawBidiText(). Removed special 14388 handling of '-webkit-rtl-ordering:visual' because that CSS property is an 14389 implementation detail of WebCore's visual Hebrew support, and the UA stylesheet 14390 sets it to 'logical' for this form control. Authors can specify the ordering 14391 using the 'direction' and 'unicode-bidi' properties. 14392 * platform/win/WebCoreTextRenderer.cpp: 14393 (WebCore::isOneLeftToRightRun): Added. Checks if the text consists of 14394 a single left-to-right run, in which case it requires no bidi processing. 14395 (WebCore::doDrawTextAtPoint): Changed to call drawBidiText if the text 14396 is not entirely left-to-right. 14397 * rendering/RenderFileUploadControl.cpp: 14398 (WebCore::RenderFileUploadControl::paintObject): Replaced the use of a 14399 character buffer in BidiReorderCharacters with calling to drawBidiText(). 14400 Removed special handling of '-webkit-rtl-ordering:visual' for the same reason 14401 stated above. 14402 * rendering/RenderListBox.cpp: 14403 (WebCore::RenderListBox::paintItemForeground): Ditto. Also changed the 14404 run-rounding modes used when drawing to match those used when measuring. 14405 14406 2007-07-23 Oliver Hunt <oliver (a] apple.com> 14407 14408 Reviewed by Steve. 14409 14410 Windows build fix, remove superfluous ! 14411 14412 * page/EventHandler.cpp: 14413 (WebCore::EventHandler::keyEvent): 14414 14415 2007-07-23 Adam Roben <aroben (a] apple.com> 14416 14417 Add an assignment operator for BString that takes a BSTR 14418 14419 Reviewed by Geoff and Oliver. 14420 14421 * platform/win/BString.cpp: 14422 (WebCore::BString::operator=): 14423 * platform/win/BString.h: 14424 14425 2007-07-23 Justin Garcia <justin.garcia (a] apple.com> 14426 14427 Reviewed by Geoff. 14428 14429 <rdar://problem/5354455> Word selection when right-clicking can be confusing (14728) 14430 14431 * page/EventHandler.cpp: 14432 (WebCore::EventHandler::sendContextMenuEvent): In non-editable content, 14433 only do word selection over text. In editable content, we will continue 14434 to select images, line breaks and other elements on right-clicks, to match 14435 TextEdit. For now, in editable content, we'll live with the cases where 14436 positionForPoint creates selections that aren't underneath the mouse. These 14437 aren't regressions because we've always done word selection on right clicks 14438 in editable content. 14439 14440 2007-07-23 Anders Carlsson <andersca (a] apple.com> 14441 14442 Reviewed by Oliver. 14443 14444 <rdar://problem/5335354> 14445 REGRESSION(r21359-r21368): Can't edit inside RTEF editable region 14446 14447 If Document::open is called and there's a pending load that has not yet started, 14448 that load should be cancelled. 14449 14450 * dom/Document.cpp: 14451 (WebCore::Document::open): 14452 14453 2007-07-23 Timothy Hatcher <timothy (a] apple.com> 14454 14455 Reviewed by Hyatt. 14456 14457 <rdar://problem/5242145> REGRESSION: Clicking on symbol in documentation often doesn't scroll to symbol 14458 14459 A renderer for the anchor wasn't always available at the time parsing finished. So we need 14460 to bail out of gotoAnchor if stylesheets are pending and remember to call gotoAnchor later 14461 once all of the pending stylesheets load. 14462 14463 * dom/Document.cpp: 14464 (WebCore::Document::Document): Initialize m_gotoAnchorNeededAfterStylesheetsLoad to false. 14465 (WebCore::Document::stylesheetLoaded): If we have no more pending stylesheets, call gotoAnchor if needed. 14466 * dom/Document.h: 14467 (WebCore::Document::gotoAnchorNeededAfterStylesheetsLoad): New method. 14468 (WebCore::Document::setGotoAnchorNeededAfterStylesheetsLoad): Ditto. 14469 * loader/FrameLoader.cpp: 14470 (WebCore::FrameLoader::gotoAnchor): Bail early if the document still has pending stylesheets. 14471 * loader/FrameLoader.h: Make gotoAnchor() public. 14472 14473 2007-07-23 John Sullivan <sullivan (a] apple.com> 14474 14475 Reviewed by Darin 14476 14477 - fixed <rdar://problem/5327887> Printing Mail note (or Safari page) with misspelled word prints red underline 14478 14479 * rendering/InlineTextBox.cpp: 14480 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 14481 When printing, bail out without doing any work. Also moved a couple of lines down below another early 14482 bailout since they were pointless above it. 14483 14484 2007-07-23 Oliver Hunt <oliver (a] apple.com> 14485 14486 Reviewed by Darin. 14487 14488 <rdar://problem/5353577> WebKit key event behaviour needs to better match other browsers keyevent behaviour 14489 <rdar://problem/5352152> REGRESSION (24399-24479): Pressing Enter in a search field at apple.com no longer starts a search with Korean IM 14490 <rdar://problem/5352649> WebKit should send keyDown event on autorepeat keyDowns 14491 http://bugs.webkit.org/show_bug.cgi?id=14690 14492 14493 Perform Input Method call first so that our behaviour is determined by whether or not 14494 the input method has actually handle the event, rather than by making guesses based 14495 on the existences of marked text. This fixes issues with IMs that have side effects 14496 even on events they do not handle. 14497 14498 Refactored the code in order to improve clarity given the hoisting required by performing 14499 the IM call earlier. 14500 14501 * page/EventHandler.cpp: 14502 (WebCore::EventHandler::keyEvent): 14503 14504 2007-07-23 Anders Carlsson <andersca (a] apple.com> 14505 14506 Reviewed by Darin. 14507 14508 <rdar://problem/5045711> 14509 http://bugs.webkit.org/show_bug.cgi?id=12938 14510 Google calendar settings page crashes 14511 14512 Move handling of checked radio buttons to a new class, HTMLFormElement::CheckedRadioButtons. 14513 Each <form> element has an instance of this class. For radio buttons without a containing 14514 form, the document has an instance of HTMLFormElement::CheckedRadioButtons where the 14515 state of those radio buttons will be stored. 14516 be stored. 14517 14518 This also fixes another bug where removing a checked radio button that does not have a 14519 containing form would not remove the radio button from the checked radio buttons map, 14520 which could lead to a crash due to a dangling pointer. 14521 14522 * dom/Document.cpp: 14523 (WebCore::Document::~Document): 14524 * dom/Document.h: 14525 (WebCore::Document::checkedRadioButtons): 14526 * html/HTMLFormElement.cpp: 14527 (WebCore::HTMLFormElement::registerFormElement): 14528 (WebCore::HTMLFormElement::removeFormElement): 14529 (WebCore::HTMLFormElement::CheckedRadioButtons::didCheckButton): 14530 (WebCore::HTMLFormElement::CheckedRadioButtons::checkedButtonForGroup): 14531 (WebCore::HTMLFormElement::CheckedRadioButtons::removeButtonIfChecked): 14532 * html/HTMLFormElement.h: 14533 (WebCore::HTMLFormElement::checkedRadioButtons): 14534 * html/HTMLGenericFormElement.cpp: 14535 (WebCore::HTMLGenericFormElement::insertedIntoTree): 14536 * html/HTMLInputElement.cpp: 14537 (WebCore::HTMLInputElement::~HTMLInputElement): 14538 (WebCore::checkedRadioButtons): 14539 (WebCore::HTMLInputElement::isKeyboardFocusable): 14540 (WebCore::HTMLInputElement::setInputType): 14541 (WebCore::HTMLInputElement::parseMappedAttribute): 14542 (WebCore::HTMLInputElement::setChecked): 14543 (WebCore::HTMLInputElement::preDispatchEventHandler): 14544 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): 14545 * manual-tests/remove-form-node-with-radio-buttons-crash.html: Added. 14546 14547 2007-07-23 David Hyatt <hyatt (a] apple.com> 14548 14549 Fix for 5350587, hang in iExploder text 8101. The code that painted outlines for continuations was buggy 14550 in that it assumed the chain was always inline-block-inline, but this is only true for the innermost chained 14551 continuation. To make this more robust, we always just use the inline's containing block's containing block, 14552 which should be guaranteed to enclose all renderers in the continuation chain. In addition, there is now a 14553 null check (to guarantee no more hangs) and an assert (to check if we hit this situation again where the block 14554 used to paint does not properly enclose the continuation chain). 14555 14556 Reviewed by beth 14557 14558 fast/inline/outline-continuation.html 14559 14560 * rendering/RenderBlock.cpp: 14561 (WebCore::RenderBlock::paintContinuationOutlines): 14562 * rendering/InlineFlowBox.cpp: 14563 (WebCore::RenderInline::paint): 14564 14565 2007-07-22 Holger Hans Peter Freyther <zecke (a] selfish.org> 14566 14567 Reviewed by Adam. 14568 14569 WARNING: NO TEST CASES ADDED OR CHANGED 14570 14571 Add the WebKit/Gtk API to the buildsystem, ask qmake to create a 14572 pkg-config file and install headers and libraries. 14573 14574 Start to emit signals from FrameLoaderClientGdk, hide the kit Frame 14575 inside the the FrameLoaderClientGdk. 14576 14577 Move ChromeClientGdk to WebKit/gtk/WebCoreSupport 14578 14579 * WebCore.pro: 14580 * loader/gdk/FrameLoaderClientGdk.cpp: 14581 * loader/gdk/FrameLoaderClientGdk.h: 14582 * platform/gdk/ChromeClientGdk.h: Removed. 14583 * platform/gdk/FrameGdk.cpp: Remove code not belonging here 14584 * platform/gdk/FrameGdk.h: 14585 * platform/gdk/ScrollViewGdk.cpp: The gdkDrawable won't exist at that time and it is fine 14586 * platform/gdk/TemporaryLinkStubs.cpp: Removed ChromeClientGdk stubs 14587 14588 2007-07-22 Maciej Stachowiak <mjs (a] apple.com> 14589 14590 Reviewed by Adam. 14591 14592 <rdar://problem/5353174> REGRESSION: 1% JavaScript performance regression fro Window refactoring (14717) 14593 http://bugs.webkit.org/show_bug.cgi?id=14717 14594 14595 * bindings/js/kjs_window.cpp: 14596 * bindings/js/kjs_window.h: 14597 (KJS::Window::impl): inlined 14598 * page/DOMWindow.cpp: 14599 * page/DOMWindow.h: 14600 (WebCore::DOMWindow::frame): inlined 14601 14602 2007-07-22 Darin Adler <darin (a] apple.com> 14603 14604 * platform/ContextMenu.cpp: Added missing include. 14605 14606 2007-07-22 Sam Weinig <sam (a] webkit.org> 14607 14608 Reviewed by Darin. 14609 14610 Fix for http://bugs.webkit.org/show_bug.cgi?id=14682 14611 REGRESSION(24285-24399): alerts do not appear at W3C RTL test page 14612 14613 Test: fast/dom/Window/window-function-name-getter-precedence.html 14614 14615 * bindings/js/JSDOMWindowCustom.cpp: 14616 (WebCore::JSDOMWindow::customGetOwnPropertySlot): Make sure to return functions 14617 before the custom name getter. 14618 14619 2007-07-22 Darin Adler <darin (a] apple.com> 14620 14621 Reviewed by Adam. 14622 14623 - fix <rdar://problem/5353263> ContextMenuItem and ContextMenu objects leaking (seen on buildbot) 14624 14625 * platform/ContextMenu.cpp: 14626 (WebCore::separatorItem): Return an auto_ptr instead of a raw pointer, since this function 14627 creates an object that's the caller's responsibility to delete. 14628 (WebCore::createAndAppendFontSubMenu): Create the context menu on the stack, not the heap, 14629 since setSubMenu does not take ownership, and hence the objects were leaking. 14630 (WebCore::createAndAppendSpellingAndGrammarSubMenu): Ditto. 14631 (WebCore::createAndAppendSpellingSubMenu): Ditto. 14632 (WebCore::createAndAppendSpeechSubMenu): Ditto. 14633 (WebCore::createAndAppendWritingDirectionSubMenu): Ditto. 14634 14635 2007-07-22 Darin Adler <darin (a] apple.com> 14636 14637 Reviewed by Kevin Decker. 14638 14639 - fix <rdar://problem/5126394> REGRESSION: Crash after clicking back button in test application (13250) 14640 http://bugs.webkit.org/show_bug.cgi?id=13250 14641 14642 * bindings/objc/WebScriptObject.mm: 14643 (_didExecute): Removed unnecessary check for isValid() since the _rootObject method already 14644 takes care of that check. 14645 (-[WebScriptObject _imp]): Made this return 0 if there is not a valid rootObject. 14646 (-[WebScriptObject _isSafeScript]): Made this always return false if there is not a valid 14647 rootObject, eliminating the need to check _rootObject for nil if the code is checking _isSafeScript. 14648 (-[WebScriptObject callWebScriptMethod:withArguments:]): Removed check of _rootObject, since it's 14649 immediately followed by a check of _isSafeScript. Removed awkward conversion of name from NSString * 14650 to KJS::Identifier and did it using WebCore::String instead -- makes it clear that there's no 14651 arbitrary JavaScript execution after _isSafeScript and before _imp, so we don't need to null-check 14652 the _imp pointer. Added a second check of _isSafeScript after calling get to get the function 14653 object, since arbitrary changes could occur in there, including navigation to a new frame. 14654 This also takes care of null checking the second call to _imp. 14655 (-[WebScriptObject evaluateWebScript:]): Removed check of _rootObject, since it's 14656 immediately followed by a check of _isSafeScript. Removed awkward conversion of script from NSString * 14657 to KJS::Identifier and did it using WebCore::String instead -- makes it clear that there's no 14658 arbitrary JavaScript execution after _isSafeScript and before _imp, so we don't need to null-check 14659 the _imp pointer. 14660 (-[WebScriptObject setValue:forKey:]): Removed check of _rootObject, since it's 14661 immediately followed by a check of _isSafeScript. Removed awkward conversion of key from NSString * 14662 to KJS::Identifier and did it using WebCore::String instead -- makes it clear that there's no 14663 arbitrary JavaScript execution after _isSafeScript and before _imp, so we don't need to null-check 14664 the _imp pointer. 14665 (-[WebScriptObject valueForKey:]): Ditto. 14666 (-[WebScriptObject removeWebScriptKey:]): Ditto. 14667 (-[WebScriptObject stringRepresentation]): Removed check of _rootObject, since it's 14668 immediately followed by a check of _isSafeScript. Removed unnecessary local variable 14669 and const_cast from the call to the _imp method. 14670 (-[WebScriptObject webScriptValueAtIndex:]): Removed check of _rootObject, since it's 14671 immediately followed by a check of _isSafeScript. 14672 (-[WebScriptObject setWebScriptValueAtIndex:value:]): Ditto. 14673 (-[WebScriptObject JSObject]): Ditto. 14674 14675 2007-07-22 Darin Adler <darin (a] apple.com> 14676 14677 Reviewed by Anders Carlsson and John Sullivan. 14678 14679 - speculative fix for <rdar://problem/5337500> CrashTracer: [USER] 4 crashes in Mail 14680 at WebCore::HTMLImageElement::isURLAttribute(WebCore::Attribute*) const 14681 14682 * editing/markup.cpp: Added AttributeChange class. 14683 (WebCore::completeURLs): Changed function so that all the URL completion is done in 14684 a separate pass after finding all the URL attributes. This is safer, since actually 14685 applying an attribute change could have any arbitrary effect on the document; it's 14686 tricky to iterate a document while it's being modified and we don't have the checks 14687 here that would be needed to make that work in pathological cases. 14688 14689 2007-07-18 Darin Adler <darin (a] apple.com> 14690 14691 Reviewed by Adam. 14692 14693 - fix <rdar://problem/5350604> REGRESSION: Crash in inspector controller code after 14694 clicking back button in test application (14337) 14695 14696 * page/InspectorController.cpp: (WebCore::InspectorController::addScriptResource): 14697 Replace an assertion that was firing with some code that at least doesn't immediately crash. 14698 14699 2007-07-22 Darin Adler <darin (a] apple.com> 14700 14701 Reviewed by Anders. 14702 14703 - improve the fix for <rdar://problem/5298816> Crash redirecting message, 14704 in -[SharedBufferData initWithSharedBuffer:]; fixes a crash seen on the buildbot 14705 14706 * loader/DocLoader.cpp: (WebCore::DocLoader::~DocLoader): Call setDocLoader(0) on all 14707 the resources so they don't try to use a stale DocLoader pointer later. 14708 14709 2007-07-21 Mitz Pettel <mitz (a] webkit.org> 14710 14711 Reviewed by Sam Weinig. 14712 14713 - fixed typos and markup in the following manual tests 14714 14715 * manual-tests/accidental-strict-mode.html: 14716 * manual-tests/caretScrolling.html: 14717 * manual-tests/close-on-closedWindow.html: 14718 14719 2007-07-21 Sam Weinig <sam (a] webkit.org> 14720 14721 Reviewed by Mitz. 14722 14723 Patch for <rdar://problem/5352013> 14724 The computed style for background-position is wrong for the initial value 14725 14726 - Set the initial value for background-position-x and background-position-y (and 14727 therefore background-position) to 0% instead of 0px. 14728 14729 * rendering/RenderStyle.cpp: 14730 (WebCore::BackgroundLayer::BackgroundLayer): 14731 * rendering/RenderStyle.h: 14732 (WebCore::RenderStyle::initialBackgroundXPosition): 14733 (WebCore::RenderStyle::initialBackgroundYPosition): 14734 14735 2007-07-20 Brady Eidson <beidson (a] apple.com> 14736 14737 Reviewed by Adele and Andersca 14738 14739 <rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash) 14740 14741 * WebCore.exp: Export the BackForwardList c'tor so WebKit can create one explicitly 14742 14743 2007-07-20 Sam Weinig <sam (a] webkit.org> 14744 14745 Reviewed by Beth Dakin. 14746 14747 Fix for <rdar://problem/5351901> 14748 Computed value of border-position should return a CSSValueList, not a CSSPrimitiveValue 14749 14750 - Return a space separated CSSValueList for background-position 14751 instead of a CSSPrimitiveValue (string type). 14752 - Remove the "else if (renderer)" case as it never returns a different 14753 value than just calling length.value(). 14754 - Make background-position-x and background-position-y behave like 14755 background-position. Fix case of initial value return 'auto' instead 14756 of 0. 14757 14758 Test: fast/css/getComputedStyle-background-position.html 14759 14760 * css/CSSComputedStyleDeclaration.cpp: 14761 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 14762 14763 2007-07-20 Geoffrey Garen <ggaren (a] apple.com> 14764 14765 Build fix for non-Mac platforms. 14766 14767 * bindings/js/GCController.cpp: 14768 14769 2007-07-20 Anders Carlsson <andersca (a] apple.com> 14770 14771 Reviewed by Darin. 14772 14773 If the style sheet requested is a user style sheet, don't store it in the DocLoader's resource map; 14774 user style sheets can outlive their doc loaders. 14775 14776 * loader/DocLoader.cpp: 14777 (WebCore::DocLoader::requestCSSStyleSheet): 14778 14779 2007-07-20 Justin Garcia <justin.garcia (a] apple.com> 14780 14781 Reviewed by Darin. 14782 14783 <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it 14784 14785 * bridge/EditorClient.h: Removed a client method for enabling/disabling 14786 word selection on right clicks. 14787 * editing/Editor.cpp: Ditto. 14788 * editing/Editor.h: 14789 * page/EventHandler.cpp: 14790 (WebCore::EventHandler::sendContextMenuEvent): Select the 14791 word underneath the mouse regardless of whether its editable. 14792 14793 2007-07-20 Ada Chan <adachan (a] apple.com> 14794 14795 Reviewed by Darin and Adam. 14796 14797 <rdar://problem/5338385> Fixed infinite loop in ScrollView::scrollRectIntoViewRecursively(). 14798 Also removed an unused local variable. 14799 14800 * platform/win/ScrollViewWin.cpp: 14801 (WebCore::ScrollView::scrollRectIntoViewRecursively): 14802 14803 2007-07-21 Antti <antti (a] apple.com> 14804 14805 Reviewed by Darin. 14806 14807 Fix <rdar://problem/5305788> 14808 REGRESSION: Safari sometimes loads IE-specific stylesheet on www.apaema.org 14809 14810 Pick the preferred style sheet set based on document order even if the sheet is still loading. Previously 14811 the set was chosen based on which stylesheet happened to arrive first. Just fix the problem at hand 14812 and resist urge to start refactoring this function. 14813 14814 * dom/Document.cpp: 14815 (WebCore::Document::recalcStyleSelector): 14816 14817 2007-07-20 Sam Weinig <sam (a] webkit.org> 14818 14819 Reviewed by Darin. 14820 14821 Fix for <rdar://problem/5351252> 14822 Computed value for -webkit-background-size and border-spacing 14823 should be space separated CSSValueLists. 14824 14825 * css/CSSComputedStyleDeclaration.cpp: 14826 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 14827 14828 2007-07-20 Geoffrey Garen <ggaren (a] apple.com> 14829 14830 Suggested by Darin Adler. 14831 14832 Slight tweak to my last commit: changed gcController() to return a 14833 reference instead of a pointer. 14834 14835 2007-07-20 Geoffrey Garen <ggaren (a] apple.com> 14836 14837 Reviewed by Darin Adler. 14838 14839 Fixed http://bugs.webkit.org/show_bug.cgi?id=12900 Page tear-down 14840 forces garbage collection once per frame 14841 14842 Also fixed <rdar://problem/5286989> GC on window close does not always 14843 bring the JS object count down to 0 14844 14845 Implemented a 0-delay GC timer in WebCore. Instead of forcing GC 14846 immediately, code that thinks it has created a lot of garbage starts 14847 the timer. This has two advantages: 14848 14849 1) Multiple GCs can coalesce. In my pathological test case, this 14850 improves performance by an order of magnitude. 14851 14852 2) Conservative marking is less likely to keep alive important dead 14853 objects, like the window object, because the stack is small and free of 14854 JS processing when the timer fires. 14855 14856 Added GCController.h/.cpp, sometimes blindly: 14857 * WebCore.pro: 14858 * WebCore.vcproj/WebCore.vcproj: 14859 * WebCore.xcodeproj/project.pbxproj: 14860 * WebCoreSources.bkl: 14861 14862 Added singleton that implements GC on a 0-delay timer: 14863 * bindings/js/GCController.h: Added. 14864 * bindings/js/GCController.cpp: Added. 14865 14866 Changed Collector::collect() calls below to call to the singleton: 14867 * bindings/js/kjs_proxy.cpp: 14868 (WebCore::KJSProxy::~KJSProxy): 14869 * bindings/js/kjs_window.cpp: 14870 (KJS::Window::clear): 14871 * history/CachedPage.cpp: 14872 (WebCore::CachedPage::clear): 14873 14874 * page/Frame.cpp: 14875 (WebCore::Frame::~Frame): Removed previous slightly hackish attempt to 14876 avoid conservative marking of the window object. 14877 14878 2007-07-20 Anders Carlsson <andersca (a] apple.com> 14879 14880 Reviewed by Darin. 14881 14882 <rdar://problem/5298816> Crash redirecting message, in -[SharedBufferData initWithSharedBuffer:] 14883 14884 Have cached resources keep track of what DocLoader they belong to. This is so that they can remove themselves 14885 from the DocLoader's resource map when they're destroyed when the cache is disabled. 14886 14887 * html/HTMLImageLoader.cpp: 14888 (WebCore::HTMLImageLoader::updateFromElement): 14889 * loader/Cache.cpp: 14890 (WebCore::Cache::requestResource): 14891 * loader/CachedResource.cpp: 14892 (WebCore::CachedResource::CachedResource): 14893 (WebCore::CachedResource::~CachedResource): 14894 * loader/CachedResource.h: 14895 (WebCore::CachedResource::setDocLoader): 14896 14897 2007-07-20 Brady Eidson <beidson (a] apple.com> 14898 14899 Reviewed by Darin 14900 14901 <rdar://problem/5153021> and http://bugs.webkit.org/show_bug.cgi?id=13364 14902 14903 The issue here was that if a document in a subframe was loaded from a URL, but then a script did 14904 document.open or document.write during parsing, we would overwrite the document's url and baseurl 14905 with the parent frame's url. WRONG! 14906 14907 * dom/Document.cpp: 14908 (WebCore::Document::open): Only set the url and baseURL in document.open if they are still empty or about:blank 14909 14910 2007-07-20 Maciej Stachowiak <mjs (a] apple.com> 14911 14912 Reviewed by Oliver. 14913 14914 <rdar://problem/5326303> REGRESSION: blur event fires upon navigating away from a page with focused element 14915 14916 14917 14918 The proximate cause was the recent change to keep focus on the 14919 WebHTMLView when switching views. But the reason this happend was 14920 that didCommitLoadForFrame got called at a time when the new view 14921 was in place, but the old document was still there. This was a 14922 longstanding problem with the delegate, and fixing it cleans it 14923 up. 14924 14925 * loader/FrameLoader.cpp: 14926 (WebCore::FrameLoader::begin): Don't send dispatchWindowObjectAvailable if 14927 caller asked not to (this is to allow order of delegates to be the same). 14928 (WebCore::FrameLoader::transitionToCommitted): Don't emit didCommitLoadForFrame here. 14929 (WebCore::FrameLoader::receivedFirstData): Instead do it here, after calling begin(), 14930 so the new document is set up. 14931 * loader/FrameLoader.h: Add new optional parameter to begin(). 14932 14933 2007-07-20 Sam Weinig <sam (a] webkit.org> 14934 14935 Reviewed by Beth Dakin. 14936 14937 Update for fix for http://bugs.webkit.org/show_bug.cgi?id=14646 14938 <rdar://problem/5340449> 14939 14940 - Return a CSSValueList instead of CSSValue (with a Pair type) for 14941 computed values of border radii. 14942 - Add ability to CSSValueList to print out a space separated list 14943 instead of a comma. 14944 - Add border radii to list of computed styles that we create and can 14945 iterate over. 14946 14947 * css/CSSComputedStyleDeclaration.cpp: 14948 (WebCore::): 14949 (WebCore::getBorderRadiusCornerValue): 14950 * css/CSSValueList.cpp: 14951 (WebCore::CSSValueList::CSSValueList): 14952 (WebCore::CSSValueList::cssText): 14953 * css/CSSValueList.h: 14954 14955 2007-07-20 Mitz Pettel <mitz (a] webkit.org> 14956 14957 Reviewed by Darin. 14958 14959 - http://bugs.webkit.org/show_bug.cgi?id=14626 14960 Make bidiReorderCharacters independent of RenderBlock 14961 14962 No layout test possible because there is no change in functionality. 14963 14964 This patch generalizes RenderBlock's implementation of the Unicode Bidi Algorithm 14965 in the form of the BidiResolver class template. An instance of a BidiResolver class 14966 can generate a sequence of runs with corresponding level and override attributes, 14967 given a range specified by start and end iterators. The iterators can optionally 14968 call back to the BidiResolver instance to push or pop explicit embedding levels. 14969 14970 The patch replaces BidiState with a specialization of BidiResolver that uses 14971 BidiIterators and generates BidiRuns. It also eliminates some of the file statics 14972 in bidi.cpp, instead relying on BidiResolver data members. 14973 14974 The patch makes the BidiContext part of BidiStatus, thus making BidiStatus the 14975 entire state that needs to be saved and restored in order to restart the bidi 14976 algorithm at a given point. Previously, you had to keep and pass around two 14977 separate structures, namely the BidiContext and the BidiStatus. 14978 14979 bidiReorderCharacters is implemented without relying on render objects, using 14980 a BidiResolver specialization that uses simple character buffer iterators and 14981 simple run structures. 14982 14983 * WebCore.pro: 14984 * WebCore.vcproj/WebCore.vcproj: 14985 * WebCore.xcodeproj/project.pbxproj: 14986 * WebCoreSources.bkl: 14987 * platform/BidiContext.cpp: Added. 14988 (WebCore::operator==): 14989 * platform/BidiContext.h: Added. 14990 (WebCore::BidiContext::BidiContext): 14991 (WebCore::BidiContext::ref): 14992 (WebCore::BidiContext::deref): 14993 (WebCore::BidiContext::parent): 14994 (WebCore::BidiContext::level): 14995 (WebCore::BidiContext::dir): 14996 (WebCore::BidiContext::override): 14997 * platform/BidiReorderCharacters.cpp: Added. 14998 (WebCore::CharacterBufferIterator::CharacterBufferIterator): 14999 (WebCore::CharacterBufferIterator::offset): 15000 (WebCore::CharacterBufferIterator::increment): 15001 (WebCore::CharacterBufferIterator::atEnd): 15002 (WebCore::CharacterBufferIterator::current): 15003 (WebCore::CharacterBufferIterator::direction): 15004 (WebCore::CharacterBufferIterator::operator==): 15005 (WebCore::CharacterBufferIterator::operator!=): 15006 (WebCore::::appendRun): 15007 (WebCore::bidiReorderCharacters): 15008 * platform/BidiReorderCharacters.h: Added. 15009 * platform/BidiResolver.h: Added. 15010 (WebCore::BidiStatus::BidiStatus): 15011 (WebCore::operator==): 15012 (WebCore::operator!=): 15013 (WebCore::BidiCharacterRun::BidiCharacterRun): 15014 (WebCore::BidiCharacterRun::reversed): 15015 (WebCore::BidiCharacterRun::dirOverride): 15016 (WebCore::BidiCharacterRun::next): 15017 (WebCore::BidiResolver::): 15018 (WebCore::BidiResolver::context): 15019 (WebCore::BidiResolver::setContext): 15020 (WebCore::BidiResolver::setLastDir): 15021 (WebCore::BidiResolver::setLastStrongDir): 15022 (WebCore::BidiResolver::setEorDir): 15023 (WebCore::BidiResolver::dir): 15024 (WebCore::BidiResolver::setDir): 15025 (WebCore::BidiResolver::status): 15026 (WebCore::BidiResolver::setStatus): 15027 (WebCore::BidiResolver::adjustEmbedding): 15028 (WebCore::BidiResolver::setAdjustEmbedding): 15029 (WebCore::BidiResolver::firstRun): 15030 (WebCore::BidiResolver::lastRun): 15031 (WebCore::BidiResolver::runCount): 15032 (WebCore::::embed): 15033 (WebCore::::deleteRuns): 15034 (WebCore::::reverseRuns): 15035 (WebCore::::createBidiRunsForLine): 15036 * platform/win/PopupMenuWin.cpp: 15037 (WebCore::PopupMenu::paint): 15038 * rendering/RenderBlock.h: 15039 * rendering/RenderFileUploadControl.cpp: 15040 (WebCore::RenderFileUploadControl::paintObject): 15041 * rendering/RenderListBox.cpp: 15042 (WebCore::RenderListBox::paintItemForeground): 15043 * rendering/RootInlineBox.cpp: 15044 (WebCore::RootInlineBox::childRemoved): 15045 (WebCore::RootInlineBox::lineBreakBidiStatus): 15046 (WebCore::RootInlineBox::setLineBreakInfo): 15047 * rendering/RootInlineBox.h: 15048 (WebCore::RootInlineBox::RootInlineBox): 15049 * rendering/bidi.cpp: 15050 (WebCore::BidiIterator::BidiIterator): 15051 (WebCore::BidiState::deleteRuns): 15052 (WebCore::operator==): 15053 (WebCore::operator!=): 15054 (WebCore::bidiNext): 15055 (WebCore::bidiFirst): 15056 (WebCore::BidiState::addRun): 15057 (WebCore::appendRunsForObject): 15058 (WebCore::BidiState::appendRun): 15059 (WebCore::RenderBlock::constructLine): 15060 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 15061 (WebCore::RenderBlock::computeVerticalPositionsForLine): 15062 (WebCore::RenderBlock::bidiReorderLine): 15063 (WebCore::buildCompactRuns): 15064 (WebCore::RenderBlock::layoutInlineChildren): 15065 (WebCore::RenderBlock::determineStartPosition): 15066 (WebCore::RenderBlock::determineEndPosition): 15067 (WebCore::RenderBlock::matchedEndLine): 15068 (WebCore::RenderBlock::skipWhitespace): 15069 * rendering/bidi.h: 15070 (WebCore::BidiRun::BidiRun): 15071 (WebCore::BidiRun::next): 15072 15073 2007-07-20 Darin Adler <darin (a] apple.com> 15074 15075 Reviewed by John Sullivan. 15076 15077 - fix for <rdar://problem/5331723> <rdar://problem/5331723> Safari gives error 15078 103 for URLs that Adobe Lightroom's Preview feature produces, with ":1" in the hostname 15079 15080 Test: fast/loader/file-URL-with-port-number.html 15081 15082 * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::portAllowed): 15083 Don't do any port blocking for file URLs. 15084 15085 2007-07-20 Mitz Pettel <mitz (a] webkit.org> 15086 15087 Reviewed by Darin. 15088 15089 - fix http://bugs.webkit.org/show_bug.cgi?id=14689 15090 REGRESSION (3.0.2-TOT): <select> menu items have incorrect background color 15091 15092 * manual-tests/item-background.html: Added. 15093 * platform/PopupMenuClient.h: 15094 * platform/graphics/Color.cpp: 15095 (WebCore::blendComponent): Renamed the static method blend() to this. 15096 (WebCore::Color::blend): Added. Compositing (in "normal" or "source over" 15097 blend mode) B.blend(C) over A is equivalent to compositing C over the 15098 result of compositing B over A. 15099 (WebCore::Color::blendWithWhite): Changed for the above rename. 15100 * platform/graphics/Color.h: 15101 * platform/win/PopupMenuWin.cpp: 15102 (WebCore::PopupMenu::paint): Changed to use itemBackgroundColor(). 15103 * rendering/RenderMenuList.cpp: 15104 (WebCore::RenderMenuList::itemBackgroundColor): Added. Returns the color 15105 that would result from overlaying the item's background color over the 15106 menu's background color over solid white. Note that clientStyle() cannot 15107 be used for the menu's background color, since background color is not 15108 inherited by the inner block (the regression resulted from changing 15109 clientStyle() to return the inner block's style), and that the color 15110 returned from this method is guaranteed to be opaque. 15111 * rendering/RenderMenuList.h: 15112 * rendering/RenderTextControl.cpp: 15113 (WebCore::RenderTextControl::itemBackgroundColor): Added. 15114 * rendering/RenderTextControl.h: 15115 15116 2007-07-20 Rob Buis <buis (a] kde.org> 15117 15118 Reviewed by Darin. 15119 15120 http://bugs.webkit.org/show_bug.cgi?id=14642 15121 REGRESSION(r24064-24096): Reflection type effect in canvas tag broke 15122 15123 Do not stop the fill/stroke operation when encountering an empty path. 15124 15125 * html/CanvasRenderingContext2D.cpp: 15126 (WebCore::CanvasRenderingContext2D::fill): 15127 (WebCore::CanvasRenderingContext2D::stroke): 15128 15129 2007-07-20 Lars Knoll <lars (a] trolltech.com> 15130 15131 Reviewed by Simon. 15132 15133 Remove some files that are not used anymore. 15134 15135 * platform/qt/FontCacheQt.cpp: Removed. 15136 * platform/qt/FontDataQt.cpp: Removed. 15137 * platform/qt/FontPlatformData.h: Removed. 15138 * platform/qt/FontPlatformDataQt.cpp: Removed. 15139 * platform/qt/GlyphPageTreeNodeQt.cpp: Removed. 15140 15141 2007-07-20 Lars Knoll <lars (a] trolltech.com> 15142 15143 Reviewed by Simon. 15144 15145 use the correct font for spaces. 15146 15147 * platform/qt/FontQt.cpp: 15148 (WebCore::generateComponents): 15149 15150 2007-07-20 Lars Knoll <lars (a] trolltech.com> 15151 15152 Reviewed by Simon. 15153 15154 spaces where not correctly taken into account for both offsetForPosition and selectionRectForText. Because of that selections sort of worked in LTR text, but completely failed in RTL. 15155 15156 * platform/qt/FontQt.cpp: 15157 (WebCore::TextRunComponent::isSpace): 15158 (WebCore::TextRunComponent::TextRunComponent): 15159 (WebCore::generateComponents): 15160 (WebCore::Font::drawText): 15161 (WebCore::Font::offsetForPosition): 15162 (WebCore::Font::selectionRectForText): 15163 15164 2007-07-20 Lars Knoll <lars (a] trolltech.com> 15165 15166 Reviewed by Simon. 15167 15168 fix up some smaller issues in selection handling. It's still not perfect and selections in mixed rtl/ltr text are still broken, but it's getting there. 15169 15170 * platform/qt/FontQt.cpp: 15171 (WebCore::Font::offsetForPosition): 15172 (WebCore::cursorToX): 15173 (WebCore::Font::selectionRectForText): 15174 15175 2007-07-20 Lars Knoll <lars (a] trolltech.com> 15176 15177 Reviewed by Simon. 15178 15179 make offsetForPosition and selectionRectForText work correctly with small caps. 15180 15181 * platform/qt/FontQt.cpp: 15182 (WebCore::Font::offsetForPosition): 15183 (WebCore::cursorToX): 15184 (WebCore::Font::selectionRectForText): 15185 15186 2007-07-20 Lars Knoll <lars (a] trolltech.com> 15187 15188 Reviewed by Simon. 15189 15190 clip the drawn text correctly when needed. 15191 15192 * platform/qt/FontQt.cpp: 15193 (WebCore::Font::drawText): 15194 15195 2007-07-20 Lars Knoll <lars (a] trolltech.com> 15196 15197 Reviewed by Simon. 15198 15199 Fix offsetForPosition and selectionRectForText methods. 15200 15201 * platform/qt/FontQt.cpp: 15202 (WebCore::Font::offsetForPosition): 15203 (WebCore::cursorToX): 15204 (WebCore::Font::selectionRectForText): 15205 15206 2007-07-20 Lars Knoll <lars (a] trolltech.com> 15207 15208 Reviewed by Simon. 15209 15210 fix BiDi text rendering. 15211 15212 * platform/qt/FontQt.cpp: 15213 (WebCore::TextRunComponent::TextRunComponent): 15214 (WebCore::generateComponents): 15215 (WebCore::Font::drawText): 15216 15217 2007-07-20 Mark Rowe <mrowe (a] apple.com> 15218 15219 Reviewed by Maciej. 15220 15221 Move FTPDirectoryTokenizer::m_templateDocumentData to be a function-scoped static 15222 to avoid creating a global initializer. This fixes the build for x86_64. 15223 15224 * loader/FTPDirectoryDocument.cpp: 15225 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate): 15226 15227 2007-07-19 Geoffrey Garen <ggaren (a] apple.com> 15228 15229 Reviewed by Maciej Stachowiak. 15230 15231 Fixed <rdar://problem/5347849> Cache eviction of live decoded data is 15232 thrash-y 15233 15234 The solution here is to evict live decoded data based on a strict LRU 15235 model. This should work well as a "scrolling window." 15236 15237 With this patch, I see a substantial reduction in CPU while scrolling 15238 through a page with large images on a low memory system. Layout tests 15239 pass. 15240 15241 * loader/Cache.h: Changed from a size-based vector of LRU lists to a 15242 single LRU list in order to implement strict LRU. 15243 15244 * loader/CachedResource.h: Removed tracking of access count, since that 15245 was the old cache eviction model. 15246 15247 2007-07-19 Oliver Hunt <oliver (a] apple.com> 15248 15249 Reviewed by Maciej. 15250 15251 <rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC) 15252 <rdar://problem/5346167> DOM key events triggered during IME composition differ in webkit/mac vs all windows browsers 15253 15254 We now basically match the behaviour of IE/Windows. This means that during composition keydown and autorepeat 15255 keys generate keydown events with a keyCode of 229, which correlates to the windows VK_PROCESSKEY message. 15256 keyup events are generated with the keyCode of the actual key that was pressed. 15257 15258 The only difference is on the first keydown of a composition, in which IE will use keyCode == 229, and we will 15259 send an event with the keyCode for the actual key that was pressed. 15260 15261 * page/EventHandler.cpp: 15262 (WebCore::EventHandler::keyEvent): 15263 * platform/PlatformKeyboardEvent.h: 15264 (WebCore::PlatformKeyboardEvent::setWindowsKeyCode): 15265 15266 2007-07-19 Brady Eidson <beidson (a] apple.com> 15267 15268 Reviewed by Sam 15269 15270 <rdar://problem/5134929> REGRESSION: Colon detected as delimiting an empty port is stripped 15271 15272 The fix for this was in KURL::parse() which had a slightly changed rule that would strip the colon if there 15273 was no port. 15274 15275 An additional canonicalization fix was made in window.location.host to match the expected behavior of leaving 15276 the colon in place - before this fix, if the colon was there but no port was there, we'd see the port as 0. 15277 15278 * bindings/js/kjs_window.cpp: 15279 (KJS::Location::put): Call setHostAndPort instead of setHost and setPort seperately 15280 15281 * manual-tests/location-host-canonicalization.html: Added. 15282 15283 * platform/KURL.cpp: 15284 (WebCore::KURL::setHostAndPort): Set the host and port as one string component then reparse the URL 15285 (WebCore::KURL::parse): Change one line to consider the empty colon as part of the host name 15286 * platform/KURL.h: 15287 15288 2007-07-19 Anders Carlsson <andersca (a] apple.com> 15289 15290 Reviewed by Adam. 15291 15292 <rdar://problem/5288617> 15293 Crash playing a very large QuickTime movie in Safari 15294 15295 <rdar://problem/5271174> 15296 http://bugs.webkit.org/show_bug.cgi?id=14148 15297 LEAK: Serious memory consumption and leak when loading QT movies. 15298 15299 Don't keep plugin stream data in memory since some plugin resources (like QT movies) 15300 can be really big. If a plug-in wants data in a file, create a file and write data to it 15301 as it's coming from the wire, instead of using a big buffer. 15302 15303 * loader/ResourceLoader.cpp: 15304 (WebCore::ResourceLoader::ResourceLoader): 15305 (WebCore::ResourceLoader::addData): 15306 (WebCore::ResourceLoader::willStopBufferingData): 15307 * loader/ResourceLoader.h: 15308 (WebCore::ResourceLoader::setShouldBufferData): 15309 * plugins/win/PluginStreamWin.cpp: 15310 (WebCore::PluginStreamWin::PluginStreamWin): 15311 (WebCore::PluginStreamWin::start): 15312 (WebCore::PluginStreamWin::startStream): 15313 (WebCore::PluginStreamWin::destroyStream): 15314 (WebCore::PluginStreamWin::didReceiveData): 15315 (WebCore::PluginStreamWin::didFinishLoading): 15316 * plugins/win/PluginStreamWin.h: 15317 15318 2007-07-19 Geoffrey Garen <ggaren (a] apple.com> 15319 15320 Reviewed by Darin Adler. 15321 15322 Fixed <rdar://problem/5348384> Restore old return value behavior of 15323 stringByEvaluatingJavaScriptFromString 15324 15325 Return an empty string unless you have a string, boolean, or number 15326 result. 15327 15328 * WebCore.xcodeproj/project.pbxproj: 15329 * page/mac/WebCoreFrameBridge.mm: 15330 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): 15331 15332 2007-07-19 Darin Adler <darin (a] apple.com> 15333 15334 Reviewed by Alexey. 15335 15336 - fix http://bugs.webkit.org/show_bug.cgi?id=14666 15337 remove unused xxx-encodings.txt for all platforms other than Mac 15338 15339 * platform/gdk/gdk-encodings.txt: Removed. 15340 * platform/win/win-encodings.txt: Removed. 15341 * platform/wx/wx-encodings.txt: Removed. 15342 15343 * platform/character-sets.txt: Moved into mac subdirectory since it's only used for Mac; at some 15344 point I hope to remove it completely. 15345 * platform/make-charset-table.pl: Ditto. 15346 * platform/mac/character-sets.txt: Copied from platform/character-sets.txt. 15347 * platform/mac/make-charset-table.pl: Copied from platform/make-charset-table.pl. 15348 15349 * DerivedSources.make: Moved CharsetData.cpp into the MACOS section. 15350 Changed the build rule to use Mac-specific paths for everything and got rid of 15351 make variables. 15352 15353 * WebCore.vcproj/build-generated-files.sh: Removed code to set ENCODINGS_FILE and ENCODINGS_PREFIX. 15354 * WebCore.xcodeproj/project.pbxproj: Ditto. 15355 * make-generated-sources.sh: Ditto. 15356 15357 * Projects/gdk/webcore-gdk.bkl: Removed code to pass gdk-encodings.txt to make-generated-sources.sh. 15358 * Projects/wx/webcore-wx.bkl: Ditto, but for wx-encodings.txt. 15359 15360 2007-07-19 Antti <antti (a] apple.com> 15361 15362 Reviewed by Darin. 15363 15364 Fix <rdar://problem/5257371> 15365 Dashcode Client crash when clicking on placemarks in Maps widget in WebCore::DeprecatedPtrListImpl::addIterator 15366 15367 FlexibleBoxes should never have inline children. Don't move children out from last remaining anonymous block. 15368 15369 * rendering/RenderBlock.cpp: 15370 (WebCore::RenderBlock::removeChild): real fix 15371 * rendering/RenderFlexibleBox.cpp: 15372 (WebCore::RenderFlexibleBox::layoutVerticalBox): just to be sure, this is checked elsewhere too 15373 15374 2007-07-19 Anders Carlsson <andersca (a] apple.com> 15375 15376 Reviewed by Darin. 15377 15378 <rdar://problem/5322268> 15379 Safari Crash at http://www.exlibrisgroup.com/sfx_openurl.htm 15380 15381 Add a real copy constructor and assignment operator for CollectionInfo 15382 so that the vectors in the cache maps will be copied correctly. 15383 15384 * html/HTMLCollection.cpp: 15385 (WebCore::HTMLCollection::CollectionInfo::CollectionInfo): 15386 (WebCore::HTMLCollection::CollectionInfo::swap): 15387 * html/HTMLCollection.h: 15388 (WebCore::HTMLCollection::CollectionInfo::operator=): 15389 (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): 15390 15391 2007-07-19 David Hyatt <hyatt (a] apple.com> 15392 15393 Fix for 5237574, Colloquy main view does not size correctly. Make 15394 sure to reset the baseilne when calculating a row's height/baseline, so 15395 that old values don't stick around. 15396 15397 Reviewed by Tim Hatcher 15398 15399 * rendering/RenderTableSection.cpp: 15400 (WebCore::RenderTableSection::calcRowHeight): 15401 15402 2007-07-19 Antti <antti (a] apple.com> 15403 15404 Reviewed by John. 15405 15406 Fix <rdar://problem/5346697> 15407 REGRESSION(r23773): Visibile children on invisible layer are not painted (fast/layers/layer-visibility.html fails) 15408 15409 Test m_hasVisibleContent instead of renderer()->style()->visibility(). 15410 This takes children into account too. 15411 15412 Regression spotted by Mitz. 15413 15414 * rendering/RenderLayer.cpp: 15415 (WebCore::RenderLayer::paintLayer): 15416 15417 2007-07-18 Oliver Hunt <oliver (a] apple.com> 15418 15419 Rubber stamped by maciej 15420 15421 Rollout patch from r24437. 15422 15423 * page/EventHandler.cpp: 15424 (WebCore::EventHandler::keyEvent): 15425 15426 2007-07-18 Oliver Hunt <oliver (a] apple.com> 15427 15428 Reviewed by Kevin M. 15429 15430 Fix for <rdar://problem/5346167> DOM key events triggered during 15431 IME composition differ in webkit/mac vs all windows browsers 15432 15433 We no longer send DOM key events during IME composition. This behaviour 15434 matches the behaviour of WebKit/Win. 15435 15436 * page/EventHandler.cpp: 15437 (WebCore::EventHandler::keyEvent): 15438 15439 2007-07-18 Sam Weinig <sam (a] webkit.org> 15440 15441 Reviewed by Oliver. 15442 15443 Fix for http://bugs.webkit.org/show_bug.cgi?id=14646 15444 WebKit border radius properties are unavailable via JavaScript 15445 15446 Test: fast/dom/getComputedStyle-borderRadius.html 15447 15448 * css/CSSComputedStyleDeclaration.cpp: 15449 (WebCore::getBorderRadiusCornerValue): Helper function that returns a single value if 15450 width and the height of the corner radius are equal, and otherwise a pair. 15451 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 15452 15453 2007-07-18 Anders Carlsson <andersca (a] apple.com> 15454 15455 Reviewed by Darin. 15456 15457 <rdar://problem/5262136> Double form repost alert going forward on britishairways.com 15458 15459 When checking if the request has changed and a new policy callback needs to be sent, 15460 ignore the request headers. NSURLConnection in Leopard will always call willSendRequest, 15461 with a request that was different from the one passed to -[NSURLConnection connectionWithRequest:] 15462 (a few Accept headers are added). 15463 15464 * loader/FrameLoader.cpp: 15465 (WebCore::FrameLoader::checkNavigationPolicy): 15466 * platform/network/ResourceRequestBase.cpp: 15467 (WebCore::equalIgnoringHeaderFields): 15468 (WebCore::operator==): 15469 * platform/network/ResourceRequestBase.h: 15470 15471 2007-07-18 Anders Carlsson <andersca (a] apple.com> 15472 15473 Reviewed by Darin. 15474 15475 <rdar://problem/5340098> 15476 http://bugs.webkit.org/show_bug.cgi?id=13366 15477 REGRESSION (r10935): AOL beta music player doesn't play 15478 15479 The AOL beta music player has a typo, causing it to create an <embed"> element inside of 15480 an <object> element 15481 Because of this, it will not be treated as an embed tag, so its name will not be added 15482 to the document's named item map. Furthermore, since the <object> contains a child that 15483 is not a <param>, the object's name won't be added either. 15484 15485 The (somewhat ugly) fix is to add <object> to the named map only if it has <param> or 15486 unknown elements as children. 15487 15488 * html/HTMLObjectElement.cpp: 15489 (WebCore::HTMLObjectElement::updateDocNamedItem): 15490 15491 2007-07-18 Timothy Hatcher <timothy (a] apple.com> 15492 15493 Reviewed by Adam. 15494 15495 <rdar://problem/5343767> Should have a way to disable the Web Inspector 15496 15497 This change facilitates the ability to turn the Web Inspector on and off. 15498 15499 Makes the InspectorClient be required to create a new Page. This also means that 15500 InspectorController will never be NULL. Adds a new function on Page to test 15501 if the inspector is enabled. 15502 15503 * WebCore.exp: New symbol for the Page constructor. 15504 * WebCore.pro: Add InspectorClientGdk.cpp. 15505 * WebCoreSources.bkl: ditto. 15506 * html/HTMLDocument.cpp: 15507 (WebCore::HTMLDocument::createTokenizer): 15508 * loader/FrameLoader.cpp: 15509 (WebCore::FrameLoader::detachFromParent): Don't null check the InspectorCOntroller. 15510 (WebCore::FrameLoader::dispatchDidCommitLoad): Ditto. 15511 (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest): Ditto. 15512 (WebCore::FrameLoader::dispatchWillSendRequest): Ditto. 15513 (WebCore::FrameLoader::dispatchDidReceiveResponse): Ditto. 15514 (WebCore::FrameLoader::dispatchDidReceiveContentLength): Ditto. 15515 (WebCore::FrameLoader::dispatchDidFinishLoading): Ditto. 15516 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Ditto. 15517 * page/ContextMenuController.cpp: 15518 (WebCore::ContextMenuController::handleContextMenuEvent): Ask the InspectorController if it is enabled. 15519 (WebCore::ContextMenuController::contextMenuItemSelected): Ditto. 15520 * page/InspectorController.cpp: 15521 (WebCore::InspectorController::enabled): Ask the Page's settings if developer extras are enabled. 15522 (WebCore::InspectorController::inspect): Check if the InspectorController is enabled. 15523 (WebCore::InspectorController::focusNode): Ditto. 15524 (WebCore::InspectorController::highlight): Ditto. 15525 (WebCore::InspectorController::hideHighlight): Ditto. 15526 (WebCore::InspectorController::addMessageToConsole): Ditto. 15527 (WebCore::InspectorController::attachWindow): Ditto. 15528 (WebCore::InspectorController::detachWindow): Ditto. 15529 (WebCore::InspectorController::windowScriptObjectAvailable): Ditto. 15530 (WebCore::InspectorController::didCommitLoad): Ditto. 15531 (WebCore::InspectorController::frameDetachedFromParent): Ditto. 15532 (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto. 15533 (WebCore::InspectorController::identifierForInitialRequest): Ditto. 15534 (WebCore::InspectorController::willSendRequest): Ditto. 15535 (WebCore::InspectorController::didReceiveResponse): Ditto. 15536 (WebCore::InspectorController::didReceiveContentLength): Ditto. 15537 (WebCore::InspectorController::didFinishLoading): Ditto. 15538 (WebCore::InspectorController::didFailLoading): Ditto. 15539 * page/InspectorController.h: 15540 * page/Page.cpp: 15541 (WebCore::Page::Page): Require an InspectorClient. 15542 (WebCore::Page::~Page): Always call pageDestroyed on the InspectorController. 15543 (WebCore::Page::inspectorEnabled): Check the WebCore settings if the developer extras are enabled. 15544 * page/Page.h: 15545 * page/gdk/InspectorClientGdk.cpp: Added. 15546 (WebCore::InspectorClientGdk::inspectorDestroyed): Empty stub calling notImplemented. 15547 (WebCore::InspectorClientGdk::createPage): Ditto. 15548 (WebCore::InspectorClientGdk::showWindow): Ditto. 15549 (WebCore::InspectorClientGdk::closeWindow): Ditto. 15550 (WebCore::InspectorClientGdk::attachWindow): Ditto. 15551 (WebCore::InspectorClientGdk::detachWindow): Ditto. 15552 (WebCore::InspectorClientGdk::highlight): Ditto. 15553 (WebCore::InspectorClientGdk::hideHighlight): Ditto. 15554 (WebCore::InspectorClientGdk::inspectedURLChanged): Ditto. 15555 * page/gdk/InspectorClientGdk.h: Added. 15556 * platform/graphics/svg/SVGImage.cpp: 15557 (WebCore::SVGImage::dataChanged): Pass in a dummy InspectorClient. 15558 * platform/graphics/svg/SVGImageEmptyClients.h: 15559 (WebCore::SVGEmptyInspectorClient::~SVGEmptyInspectorClient): Empty dummy implementation. 15560 (WebCore::SVGEmptyInspectorClient::inspectorDestroyed): Ditto. 15561 (WebCore::SVGEmptyInspectorClient::createPage): Ditto. 15562 (WebCore::SVGEmptyInspectorClient::showWindow): Ditto. 15563 (WebCore::SVGEmptyInspectorClient::closeWindow): Ditto. 15564 (WebCore::SVGEmptyInspectorClient::attachWindow): Ditto. 15565 (WebCore::SVGEmptyInspectorClient::detachWindow): Ditto. 15566 (WebCore::SVGEmptyInspectorClient::highlight): Ditto. 15567 (WebCore::SVGEmptyInspectorClient::hideHighlight): Ditto. 15568 (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto. 15569 15570 2007-07-18 Anders Carlsson <andersca (a] apple.com> 15571 15572 Make some headers private instead of project. 15573 15574 * WebCore.xcodeproj/project.pbxproj: 15575 15576 2007-07-18 John Sullivan <sullivan (a] apple.com> 15577 15578 Reviewed by Maciej and Kevin Decker 15579 15580 - fixed <rdar://problem/5315926> REGRESSION: ~.4% PLT regression from r23949 (canonicalization change) 15581 15582 * loader/mac/LoaderNSURLExtras.m: 15583 (canonicalURL): 15584 Rolled out the fix for 5249730 that caused this regression. 5249730 is addressed a different way now. 15585 15586 2007-07-18 Sam Weinig <sam (a] webkit.org> 15587 15588 Build fix. 15589 15590 * WebCore.xcodeproj/project.pbxproj: 15591 * loader/gdk/FrameLoaderClientGdk.cpp: 15592 (WebCore::FrameLoaderClientGdk::objectContentType): 15593 * platform/graphics/win/ImageWin.cpp: 15594 * platform/network/cf/ResourceResponseCFNet.cpp: 15595 * platform/win/ClipboardWin.cpp: 15596 (WebCore::createGlobalImageFileDescriptor): 15597 15598 2007-07-18 Sam Weinig <sam (a] webkit.org> 15599 15600 Rubber-stamped by Adam Roben. 15601 15602 Rename MimeTypeRegistry to MIMETypeRegistry and xmlhttprequest to XMLHttpRequest 15603 15604 * WebCore.exp: 15605 * WebCore.pro: 15606 * WebCore.vcproj/WebCore.vcproj: 15607 * bindings/js/JSXMLHttpRequest.cpp: 15608 * bindings/js/kjs_binding.cpp: 15609 * bindings/js/kjs_dom.cpp: 15610 * dom/Document.cpp: 15611 * html/HTMLFormElement.cpp: 15612 (WebCore::HTMLFormElement::formData): 15613 * html/HTMLObjectElement.cpp: 15614 (WebCore::HTMLObjectElement::containsJavaApplet): 15615 * loader/FrameLoader.cpp: 15616 (WebCore::FrameLoader::requestObject): 15617 * loader/mac/LoaderNSURLExtras.m: 15618 (suggestedFilenameWithMIMEType): 15619 * platform/MIMETypeRegistry.cpp: Copied from platform/MimeTypeRegistry.cpp. 15620 (WebCore::initialiseSupportedImageMIMETypes): 15621 (WebCore::initialiseMIMETypeRegistry): 15622 (WebCore::MIMETypeRegistry::getMIMETypeForPath): 15623 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): 15624 (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): 15625 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): 15626 (WebCore::MIMETypeRegistry::isJavaAppletMIMEType): 15627 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): 15628 (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): 15629 (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): 15630 * platform/MIMETypeRegistry.h: Copied from platform/MimeTypeRegistry.h. 15631 * platform/MimeTypeRegistry.cpp: Removed. 15632 * platform/MimeTypeRegistry.h: Removed. 15633 * platform/gdk/MIMETypeRegistryGdk.cpp: Copied from platform/gdk/MimeTypeRegistryGdk.cpp. 15634 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 15635 * platform/gdk/MimeTypeRegistryGdk.cpp: Removed. 15636 * platform/graphics/BitmapImage.cpp: 15637 * platform/graphics/Image.cpp: 15638 (WebCore::Image::supportsType): 15639 * platform/mac/DragDataMac.mm: 15640 * platform/mac/MIMETypeRegistryMac.mm: Copied from platform/mac/MimeTypeRegistryMac.mm. 15641 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 15642 (WebCore::MIMETypeRegistry::getExtensionsForMIMEType): 15643 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): 15644 * platform/mac/MimeTypeRegistryMac.mm: Removed. 15645 * platform/mac/PasteboardMac.mm: 15646 (WebCore::Pasteboard::writeImage): 15647 * platform/qt/MIMETypeRegistryQt.cpp: Copied from platform/qt/MimeTypeRegistryQt.cpp. 15648 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 15649 * platform/qt/MimeTypeRegistryQt.cpp: Removed. 15650 * platform/win/MIMETypeRegistryWin.cpp: Copied from platform/win/MimeTypeRegistryWin.cpp. 15651 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): 15652 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 15653 * platform/win/MimeTypeRegistryWin.cpp: Removed. 15654 * rendering/RenderPartObject.cpp: 15655 (WebCore::RenderPartObject::updateWidget): 15656 * xml/xmlhttprequest.cpp: Removed. 15657 * xml/xmlhttprequest.h: Removed. 15658 * xml/XMLHttpRequest.cpp: Copied from xml/xmlhttprequest.cpp. 15659 * xml/XMLHttpRequest.h: Copied from xml/xmlhttprequest.h. 15660 15661 2007-07-18 Sam Weinig <sam (a] webkit.org> 15662 15663 Rubber-stamped by Adam Roben. 15664 15665 Rename csshelper.h, csshelper.cpp, cssparser.h, cssparser.cpp, 15666 cssstyleselector.h, and cssstyleselector.cpp to be CamelCase. 15667 15668 * WebCore.pro: 15669 * WebCore.vcproj/WebCore.vcproj: 15670 * bindings/objc/DOM.mm: 15671 * bindings/objc/DOMHTML.mm: 15672 * css/CSSGrammar.y: 15673 * css/CSSMediaRule.cpp: 15674 * css/CSSMutableStyleDeclaration.cpp: 15675 * css/CSSPrimitiveValue.cpp: 15676 * css/CSSStyleSheet.cpp: 15677 * css/MediaList.cpp: 15678 * css/MediaQueryExp.cpp: 15679 * css/csshelper.cpp: Removed. 15680 * css/csshelper.h: Removed. 15681 * css/CSSHelper.cpp: Copied from css/csshelper.cpp. 15682 * css/CSSHelper.h: Copied from css/csshelper.h. 15683 * css/cssparser.cpp: Removed. 15684 * css/cssparser.h: Removed. 15685 * css/CSSParser.cpp: Copied from css/cssparser.cpp. 15686 * css/CSSParser.h: Copied from css/cssparser.h. 15687 * css/cssstyleselector.cpp: Removed. 15688 * css/cssstyleselector.h: Removed. 15689 * css/CSSStyleSelector.cpp: Copied from css/cssstyleselector.cpp. 15690 * css/CSSStyleSelector.h: Copied from css/cssstyleselector.h. 15691 * dom/Document.cpp: 15692 * dom/Element.cpp: 15693 * dom/StyledElement.cpp: 15694 * editing/ApplyStyleCommand.cpp: 15695 * editing/markup.cpp: 15696 * html/CanvasGradient.cpp: 15697 * html/CanvasRenderingContext2D.cpp: 15698 * html/CanvasStyle.cpp: 15699 * html/HTMLAnchorElement.cpp: 15700 * html/HTMLBaseElement.cpp: 15701 * html/HTMLBodyElement.cpp: 15702 * html/HTMLDocument.cpp: 15703 * html/HTMLEmbedElement.cpp: 15704 * html/HTMLFormElement.cpp: 15705 * html/HTMLFrameElementBase.cpp: 15706 * html/HTMLImageElement.cpp: 15707 * html/HTMLImageLoader.cpp: 15708 * html/HTMLLinkElement.cpp: 15709 * html/HTMLObjectElement.cpp: 15710 * html/HTMLOptGroupElement.cpp: 15711 * html/HTMLOptionElement.cpp: 15712 * html/HTMLSelectElement.cpp: 15713 * html/HTMLTableElement.cpp: 15714 * html/HTMLTablePartElement.cpp: 15715 * html/HTMLTokenizer.cpp: 15716 * ksvg2/css/SVGCSSParser.cpp: 15717 * ksvg2/css/SVGCSSStyleSelector.cpp: 15718 * ksvg2/svg/SVGAElement.cpp: 15719 * ksvg2/svg/SVGClipPathElement.cpp: 15720 * ksvg2/svg/SVGGradientElement.cpp: 15721 * ksvg2/svg/SVGLength.cpp: 15722 * ksvg2/svg/SVGMaskElement.cpp: 15723 * ksvg2/svg/SVGStyledElement.cpp: 15724 * ksvg2/svg/SVGUseElement.cpp: 15725 * page/DOMWindow.cpp: 15726 * page/mac/FrameMac.mm: 15727 * page/mac/WebCoreFrameBridge.mm: 15728 * rendering/HitTestResult.cpp: 15729 * rendering/RenderObject.cpp: 15730 * rendering/RenderStyle.cpp: 15731 * rendering/RenderThemeMac.mm: 15732 15733 2007-07-18 Brady Eidson <beidson (a] apple.com> 15734 15735 Rubberstamped by Adam 15736 15737 * platform/win/SharedBufferWin.cpp: 15738 (WebCore::SharedBuffer::createWithContentsOfFile): Correct license on this newly checked in file from yesterday 15739 15740 2007-07-18 Maciej Stachowiak <mjs (a] apple.com> 15741 15742 Reviewed by Oliver. 15743 15744 - fixed <rdar://problem/5340603> REGRESSION: javascript being written to the screen in Safari 15745 15746 Test Case: fast/tokenizer/badscript.html 15747 15748 * html/HTMLTokenizer.cpp: 15749 (WebCore::HTMLTokenizer::parseTag): Don't apply our self-closing 15750 <script> quirk in cases where the / appears in a mangled attribtue 15751 value. 15752 15753 2007-07-17 Peter Kasting <pkasting (a] google.com> 15754 15755 Reviewed by Hyatt. 15756 15757 http://bugs.webkit.org/show_bug.cgi?id=13618 15758 Don't set link targets to "_blank" on middle-click; rely on the policy 15759 delegate to do the right thing. 15760 15761 * html/HTMLAnchorElement.cpp: 15762 (WebCore::HTMLAnchorElement::defaultEventHandler): 15763 15764 2007-07-17 Oliver Hunt <oliver (a] apple.com> 15765 15766 Reviewed by Maciej. 15767 15768 Fix for <rdar://problem/4799967> Safari and other WebKit 15769 apps sometimes crash in WebCore::FontData::platformInit 15770 15771 Always retain/release our font handle, instead of only retaining 15772 in the presence of GC. 15773 15774 * platform/mac/FontPlatformData.h: 15775 (WebCore::FontPlatformData::FontPlatformData): 15776 (WebCore::FontPlatformData::~FontPlatformData): 15777 15778 2007-07-17 Sam Weinig <sam (a] webkit.org> 15779 15780 Reviewed by Geoff Garen. 15781 15782 Fix for <rdar://problem/5333957> 15783 http://bugs.webkit.org/show_bug.cgi?id=14610 15784 15785 Original patch by Feng Qian. 15786 15787 - Clear the selection object when disconnecting a frame. 15788 15789 Test: http/tests/security/cross-frame-access-selection.html 15790 15791 * loader/FrameLoader.cpp: 15792 (WebCore::FrameLoader::clear): 15793 * page/DOMWindow.cpp: 15794 (WebCore::DOMWindow::disconnectFrame): 15795 (WebCore::DOMWindow::clear): 15796 * page/DOMWindow.h: 15797 * page/Frame.cpp: 15798 (WebCore::Frame::clearScriptProxy): 15799 (WebCore::Frame::clearDOMWindow): 15800 * page/Frame.h: 15801 15802 2007-07-17 Oliver Hunt <oliver (a] apple.com> 15803 15804 Reviewed by Sam. 15805 15806 Fix for <rdar://problem/5154518> REGRESSION: Hitting return does 15807 nothing in ruby terminal at http://tryruby.hobix.com/ 15808 15809 Calling event.preventDefault() during a keydown event should not 15810 prevent the keypress event from firing. 15811 15812 * WebCore.xcodeproj/project.pbxproj: 15813 * page/EventHandler.cpp: 15814 (WebCore::EventHandler::keyEvent): 15815 (WebCore::EventHandler::defaultKeyboardEventHandler): 15816 15817 2007-07-17 Anders Carlsson <andersca (a] apple.com> 15818 15819 Reviewed by Geoff. 15820 15821 <rdar://problem/4993463> 15822 http://bugs.webkit.org/show_bug.cgi?id=12732 15823 REGRESSION: Comments fields on ircimages not showing up in nightly 15824 15825 Postpone setting the frame name to just right before we request the frame. Otherwise, 15826 two calls to FrameTree::uniqueChildName will return the same frame name and in that case only 15827 one Frame object will actually be created and multiple iframe elements will refer to it. 15828 15829 * html/HTMLFrameElementBase.cpp: 15830 (WebCore::HTMLFrameElementBase::openURL): 15831 (WebCore::HTMLFrameElementBase::setNameAndOpenURL): 15832 (WebCore::HTMLFrameElementBase::setNameAndOpenURLCallback): 15833 (WebCore::HTMLFrameElementBase::insertedIntoDocument): 15834 (WebCore::HTMLFrameElementBase::attach): 15835 * html/HTMLFrameElementBase.h: 15836 15837 2007-07-17 Brady Eidson <beidson (a] apple.com> 15838 15839 Reviewed by Steve 15840 15841 Required for <rdar://problem/4516185> - FTP Directory Listings 15842 15843 * WebCore.vcproj/WebCore.vcproj: Added SharedBufferWin 15844 15845 * platform/SharedBuffer.cpp: Windows doesn't get the default empty resource anymore 15846 * platform/win/SharedBufferWin.cpp: Added. 15847 (WebCore::SharedBuffer::createWithContentsOfFile): 15848 15849 2007-07-17 Brady Eidson <beidson (a] apple.com> 15850 15851 Reviewed by Tim Hatcher 15852 15853 Tweak the class names we give to the icon table cell to make it easier to style 15854 15855 * loader/FTPDirectoryDocument.cpp: 15856 (WebCore::FTPDirectoryTokenizer::appendEntry): The the table cell a "IconCell" class name and 15857 either a "FileType" or "DirectoryType" class name depending on the type 15858 15859 2007-07-17 Holger Hans Peter Freyther <zecke (a] selfish.org> 15860 15861 Reviewed by NOBODY. 15862 15863 Build fix after r24366 add an additional ResourceRequest parameter to 15864 the download method. 15865 15866 * loader/gdk/FrameLoaderClientGdk.cpp: 15867 (WebCore::FrameLoaderClientGdk::download): 15868 * loader/gdk/FrameLoaderClientGdk.h: 15869 15870 2007-07-17 Adam Roben <aroben (a] apple.com> 15871 15872 Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item 15873 http://bugs.webkit.org/show_bug.cgi?id=14324 15874 15875 Reviewed by Tim. 15876 15877 No regression test possible. 15878 15879 * page/ContextMenuController.cpp: 15880 (WebCore::ContextMenuController::handleContextMenuEvent): Add the 15881 Inspect Element item to the menu before passing it to the 15882 ContextMenuClient so that the UI delegate has a chance to 15883 modify/remove the item. 15884 15885 2007-07-17 Adam Roben <aroben (a] apple.com> 15886 15887 Remove ContextMenuClient::shouldIncludeInspectElementItem 15888 15889 Reviewed by Tim. 15890 15891 No regression test possible. 15892 15893 * page/ContextMenuClient.h: 15894 * page/ContextMenuController.cpp: 15895 (WebCore::ContextMenuController::handleContextMenuEvent): Use Settings 15896 to determine whether to include the Inspect Element item. 15897 * page/gdk/ContextMenuClientGdk.cpp: 15898 * page/gdk/ContextMenuClientGdk.h: 15899 * platform/graphics/svg/SVGImageEmptyClients.h: 15900 15901 2007-07-17 Adam Roben <aroben (a] apple.com> 15902 15903 Initialize ContextMenuController::m_page 15904 15905 Somehow this variable had never been initialized before. 15906 15907 Reviewed by Tim. 15908 15909 * page/ContextMenuController.cpp: 15910 (WebCore::ContextMenuController::ContextMenuController): 15911 * page/ContextMenuController.h: 15912 * page/Page.cpp: 15913 (WebCore::Page::Page): 15914 15915 2007-07-17 Adam Roben <aroben (a] apple.com> 15916 15917 Add Settings::developerExtrasEnabled 15918 15919 Reviewed by Tim. 15920 15921 * WebCore.exp: 15922 * page/Settings.cpp: 15923 * page/Settings.h: 15924 15925 2007-07-17 Justin Garcia <justin.garcia (a] apple.com> 15926 15927 Reviewed by Antti. 15928 15929 <rdar://problem/5206311> 15930 Whitespace can't be removed when editing text pasted into from web page 15931 15932 The whitespace comes from table rows that aren't being removed after they are 15933 emptied out during a deletion. 15934 15935 * editing/DeleteSelectionCommand.cpp: 15936 (WebCore::isTableCell): 15937 (WebCore::isTableRow): 15938 (WebCore::isTableCellEmpty): 15939 (WebCore::isTableRowEmpty): 15940 (WebCore::DeleteSelectionCommand::initializePositionData): Remember the table 15941 rows that contained the start and end of the selection. 15942 (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows): 15943 Remove table rows that come before the end of the selection 15944 that was removed (except for the row that contained the start of the selection 15945 and any before that). 15946 Remove table rows that are come after the start of the selection 15947 that was removed (except for the row that contained the end of the selection 15948 and any after that). 15949 (WebCore::DeleteSelectionCommand::doApply): Call the new function. 15950 * editing/DeleteSelectionCommand.h: 15951 15952 2007-07-17 Geoffrey Garen <ggaren (a] apple.com> 15953 15954 Reviewed by Kevin Decker. 15955 15956 Removed ASSERT that was breaking the pageout test. It's trivial to 15957 reproduce this ASSERT when navigating between pages that change their 15958 names, but nothing bad seems to happen. 15959 15960 * page/Page.cpp: 15961 (WebCore::Page::goToItem): 15962 15963 2007-07-17 Geoffrey Garen <ggaren (a] apple.com> 15964 15965 Build fix. 15966 15967 * plugins/win/PluginViewWin.cpp: Pass false for lockHistory like we 15968 do elsewhere. 15969 15970 2007-07-17 Holger Hans Peter Freyther <zecke (a] selfish.org> 15971 15972 Reviewed by Maciej. 15973 15974 Implement the callback responsible for handling HTTP headers. This 15975 callback gets called for every header. 15976 We will add these headers to our ResourceResponse and on the 'end-of-header' 15977 indicator we will update the ResourceResponse and dispatch it. 15978 15979 This patch adds various set methods to ResourceResponse. This improves 15980 the readability of the headerCallback and avoids storing a CURL handle inside 15981 the ResourceResponse which would be needed to implement ResourceResponse::doUpdateResourceResponse 15982 15983 Add a destructor for ResourceHandleManager which would free the resources and remove 15984 a unused variable. 15985 15986 * platform/network/ResourceHandleInternal.h: 15987 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 15988 * platform/network/ResourceResponse.cpp: 15989 (WebCore::ResourceResponse::setUrl): 15990 (WebCore::ResourceResponse::setMimeType): 15991 (WebCore::ResourceResponse::setExpectedContentLength): 15992 (WebCore::ResourceResponse::setTextEncodingName): 15993 (WebCore::ResourceResponse::setSuggestedFilename): 15994 * platform/network/ResourceResponse.h: 15995 * platform/network/curl/ResourceHandleCurl.cpp: 15996 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 15997 * platform/network/curl/ResourceHandleManager.cpp: 15998 (WebCore::ResourceHandleManager::~ResourceHandleManager): 15999 (WebCore::ResourceHandleManager::sharedInstance): 16000 (WebCore::headerCallback): 16001 * platform/network/curl/ResourceHandleManager.h: 16002 16003 2007-07-17 Sam Weinig <sam (a] webkit.org> 16004 16005 Reviewed by Adam Roben. 16006 16007 Convert JS undefined to the empty string when calling alert, confirm, and prompt. 16008 16009 Test: fast/dom/Window/alert-undefined.html 16010 16011 * page/DOMWindow.idl: 16012 16013 2007-07-17 Geoffrey Garen <ggaren (a] apple.com> 16014 16015 Reviewed by Kevin McCulough. 16016 16017 Fixed failing layout test. 16018 16019 Renamed "FrameLoadTypeInternal" to "FrameLoadTypeRedirectWithLockedHistory". 16020 This is almost certainly not a correct name for the original intent 16021 of this load type, but it's a correct name for its current behavior. 16022 16023 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): 16024 When history is supposed to be locked, and no current history item 16025 exists, only add a new history item if you're the top-level frame. 16026 16027 This rule, combined with the rule that setting iframe.src should not 16028 create a history item, is pretty hackish. On the other hand, it 16029 matches WinIE and doesn't cause any test regressions. So I'm OK with 16030 it as a short-term solution until the solution described in 16031 <rdar://problem/5339292> can be implemented. 16032 16033 2007-07-17 Tristan O'Tierney <tristan (a] apple.com> 16034 16035 Reviewed by Maciej Stachowiak. 16036 16037 <rdar://problem/5294691> Source of file is misrepresented if downloaded by typing in URL in Safari address bar 16038 16039 * loader/FrameLoaderClient.h: 16040 * loader/MainResourceLoader.cpp: 16041 (WebCore::MainResourceLoader::continueAfterContentPolicy): 16042 Added an extra request parameter, initialRequest, to the download() method 16043 by passing up the resource handle's request. 16044 16045 * platform/graphics/svg/SVGImageEmptyClients.h: 16046 (WebCore::SVGEmptyFrameLoaderClient::download): 16047 Added an extra parameter to the empty SVG download method. 16048 16049 2007-07-17 Antti <antti (a] apple.com> 16050 16051 Reviewed by home-bradee. 16052 16053 <rdar://problem/5336372> 16054 Icon database uses too much memory 16055 16056 XRaying Safari startup memory consumption revealed that icon database is eating quite 16057 a bit of RAM if Icon.db is large (which it probably is if it has been in use for a while, 16058 mine used for getting figures below was 2.6MB). 16059 16060 Note that the wins are less impressive with smaller Icon.db. 16061 16062 This patch addresses three separate issues 16063 16064 - SQLite fails to free the memory used by temporary tables. Icon database uses a temporary table 16065 on startup for pruning unused page urls. This wastes around 1MB. Addressed by rewriting 16066 pruning so it does not need a temporary table. The new method is also quite a bit faster speeding 16067 up Safari launch time by around 100ms 16068 - SQLite has it's own memory cache limited by default to 3MB. Icon database does not really need that much. 16069 Dropped the cache size to 300kB saving ~1MB on startup. 16070 Smaller cache slows down startup by ~30ms (more than compensated by faster pruning above) 16071 - Don't populate m_pageURLToIconURLMap with all urls from database on startup, instead let it get populated 16072 when urls are accessed (user opens history menu for example). This shouldn't have any real performance impact 16073 as the accesses are icon loads that need to hit the database anyway. This saves ~700kB. 16074 16075 All in all with this Icon.db these changes reduce allocated memory by around 2.7MB on startup. Release build 16076 Safari RPRVT (empty start page) goes from 12.4MB to 10.4MB (TCMalloc pooling probably explaining why the win 16077 looks bit smaller here). 16078 16079 * loader/icon/IconDatabase.cpp: 16080 (WebCore::IconDatabase::IconDatabase): 16081 (WebCore::IconDatabase::open): 16082 (WebCore::IconDatabase::deleteAllPreparedStatements): 16083 (WebCore::IconDatabase::retainIconForPageURL): 16084 (WebCore::IconDatabase::releaseIconForPageURL): 16085 (WebCore::IconDatabase::establishIconIDForIconURL): 16086 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): 16087 * loader/icon/IconDatabase.h: 16088 16089 2007-07-17 Darin Adler <darin (a] apple.com> 16090 16091 Reviewed by Mitz. 16092 16093 - fix http://bugs.webkit.org/show_bug.cgi?id=14569 16094 Repro crash due to saved state not being cleared when select and textarea elements 16095 are adopted by another document 16096 16097 Test: fast/forms/saved-state-adoptNode-crash.html 16098 16099 * dom/Document.h: 16100 (WebCore::Document::registerFormElementWithState): Updated parameter type to be 16101 HTMLFormControlElementWithState. 16102 (WebCore::Document::unregisterFormElementWithState): Ditto. 16103 Also removed isFormElementRegistered function and changed the type of the 16104 m_formElementsWithState ListHashSet. 16105 * dom/Document.cpp: (WebCore::Document::formElementsState): Updated to use new type, 16106 for set contents and to use new saveState() function and only save state for elements 16107 that return true. 16108 16109 * html/HTMLGenericFormElement.h: Added HTMLFormControlElementWithState class, 16110 derived from HTMLGenericFormElement, and moved down all the behavior related to 16111 saving form control element state. Also removed the unnecessary default parameter 16112 to the HTMLGenericFormElement constructor. 16113 * html/HTMLGenericFormElement.cpp: 16114 (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState): Added. 16115 Calls registerFormElementWithState. 16116 (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState): Added. 16117 Calls unregisterFormElementWithState. 16118 (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument): Added. 16119 Calls unregisterFormElementWithState. 16120 (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument): Added. 16121 Calls registerFormElementWithState. 16122 (WebCore::HTMLFormControlElementWithState::closeRenderer): Moved to this class from 16123 the base class. 16124 16125 * html/HTMLInputElement.h: Updated the base class name and overrode saveState instead 16126 of stateValue. 16127 * html/HTMLInputElement.cpp: Updated the base class name. 16128 (WebCore::HTMLInputElement::init): Removed the call to registerFormElementWithState. 16129 (WebCore::HTMLInputElement::~HTMLInputElement): Removed the call to 16130 unregisterFormElementWithState. Also changed the code to only call the 16131 unregisterForDidRestoreFromCacheCallback function for type PASSWORD (consistency 16132 and efficiency). 16133 (WebCore::HTMLInputElement::setInputType): Removed calls to registerFormElementWithState 16134 and unregisterFormElementWithState; we now let the element stay registered and simply 16135 don't save or restore state for password fields. 16136 (WebCore::HTMLInputElement::saveState): Updated function name and signature to replace 16137 the old stateValue function. Returns false for password fields. 16138 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Removed the call to 16139 unregisterFormElementWithState. 16140 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): Removed the call to 16141 registerFormElementWithState. 16142 16143 * html/HTMLSelectElement.h: Updated the base class name and overrode saveState instead 16144 of stateValue. 16145 * html/HTMLSelectElement.cpp: Updated the base class name. 16146 (WebCore::HTMLSelectElement::HTMLSelectElement): Removed the call to 16147 registerFormElementWithState. 16148 (WebCore::HTMLSelectElement::~HTMLSelectElement): Removed the call to 16149 unregisterFormElementWithState. 16150 (WebCore::HTMLSelectElement::saveState): Updated function name and signature to 16151 replace the old stateValue function. 16152 (WebCore::HTMLSelectElement::setLength): Updated to use document() instead of 16153 ownerDocument(); the latter is just a slower virtual-function way of doing the 16154 same thing in all cases except for Document and XPathNamespace. 16155 16156 * html/HTMLTextAreaElement.h: Update the base class name, overrode saveState instead 16157 of stateValue, and removed the now-unnecessary explicit destructor. 16158 * html/HTMLTextAreaElement.cpp: Updated the base class name. 16159 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Removed the call to 16160 registerFormElementWithState. 16161 (WebCore::HTMLTextAreaElement::saveState): Updated function name and signature to replace 16162 the old stateValue function. 16163 16164 2007-07-17 Sam Weinig <sam (a] webkit.org> 16165 16166 Reviewed by Darin. 16167 16168 - Make HTMLFrameOwnerElement::contentWindow() return a DOMWindow instead of a Frame 16169 - Remove the unnecessary hack in HTMLFrameElement.idl and HTMLIFrameElement.idl that 16170 converted from Frame to Window now that it is not necessary. 16171 - Remove now unused [NullCheck] extended attribute from CodeGeneratorJS.pm. 16172 16173 * bindings/scripts/CodeGeneratorJS.pm: 16174 * html/HTMLDocument.idl: 16175 * html/HTMLFrameElement.idl: 16176 * html/HTMLFrameOwnerElement.cpp: 16177 (WebCore::HTMLFrameOwnerElement::contentWindow): 16178 * html/HTMLFrameOwnerElement.h: 16179 * html/HTMLIFrameElement.idl: 16180 16181 2007-07-16 Sam Weinig <sam (a] webkit.org> 16182 16183 Reviewed by Adam Roben. 16184 16185 Move self, opener, parent, top, window, and frames from kjs_window 16186 to DOMWindow and auto-generate the bindings for them. 16187 16188 * bindings/js/kjs_window.cpp: 16189 (KJS::Window::getValueProperty): 16190 * bindings/js/kjs_window.h: 16191 (KJS::Window::): 16192 * page/DOMWindow.cpp: 16193 (WebCore::DOMWindow::self): 16194 (WebCore::DOMWindow::opener): 16195 (WebCore::DOMWindow::parent): 16196 (WebCore::DOMWindow::top): 16197 * page/DOMWindow.h: 16198 (WebCore::DOMWindow::window): 16199 (WebCore::DOMWindow::frames): 16200 * page/DOMWindow.idl: 16201 16202 2007-07-16 Geoffrey Garen <ggaren (a] apple.com> 16203 16204 Reviewed by Sam Weinig. 16205 16206 Fixed <rdar://problem/5334483> REGRESSION: JavaScript-induced 16207 window.open loads not added to back/forward list 16208 16209 I did an audit of our history rules in loading and tried to establish 16210 some sane uniformity. 16211 16212 The uniform rule is: 16213 - HTTP redirects and HTTP redirects simulated by <meta http-equiv> 16214 add a history item if and only if the redirect takes > 1 second. 16215 - Other navigations, including JavaScript navigations, always 16216 add a history item, except for location.replace navigations. 16217 16218 In the future, we'll want to refine the second case to be more like the 16219 first. I've filed <rdar://problem/5339292> about that. 16220 16221 * bindings/js/JSHTMLDocumentCustom.cpp: 16222 (WebCore::JSHTMLDocument::setLocation): Don't pass 'true' for 16223 userGesture unconditionally. userGesture is used to determine popup 16224 blocking, not history item creation. 16225 16226 * bindings/js/kjs_window.cpp: Pass 'false' for lockHistory in all loads 16227 except location.replace, which intends to lock history. 16228 16229 * loader/FrameLoader.cpp: Distinguish between lockHistory and 16230 userGesture. The former determines whether a new history item gets 16231 created. The latter determines whether JavaScript can open popup 16232 windows. Start passing these variables in functions that used to 16233 swallow or conflate them. 16234 16235 (WebCore::FrameLoader::requestFrame): Pass 'true' for lockHistory here 16236 because that's usually correct when setting the 'src' attribute of a 16237 child frame, and we want to avoid regressing <rdar://problem/4921797>. 16238 16239 (WebCore::FrameLoader::load): Use the lockHistory variable to determine 16240 whether to start a history-creating load. Using userGesture for this 16241 purpose is wrong, as explained above. 16242 16243 * loader/FrameLoader.h: Renamed one variant of scheduleRedirection to 16244 scheduleHTTPRedirection because the behavior there of measuring elapsed 16245 time is specific to the HTTP redirection case. 16246 16247 * page/ContextMenuController.cpp: 16248 (WebCore::ContextMenuController::contextMenuItemSelected): lockHistory 16249 can always be false here because this navigation is never the result of 16250 a redirection. 16251 16252 2007-07-16 Sam Weinig <sam (a] webkit.org> 16253 16254 Reviewed by Adam and Maciej. 16255 16256 Move the frameElement attribute from kjs_window to DOMWindow and 16257 auto-generate the bindings for it. 16258 16259 * bindings/js/kjs_window.cpp: 16260 (KJS::Window::getValueProperty): 16261 * bindings/js/kjs_window.h: 16262 (KJS::Window::): 16263 * bindings/scripts/CodeGeneratorJS.pm: 16264 * page/DOMWindow.cpp: 16265 (WebCore::DOMWindow::frameElement): 16266 (WebCore::DOMWindow::devicePixelRatio): 16267 * page/DOMWindow.h: 16268 * page/DOMWindow.idl: 16269 16270 2007-07-16 Sam Weinig <sam (a] webkit.org> 16271 16272 Reviewed by Adam. 16273 16274 Move more functions from kjs_window to DOMWindow and auto-generate 16275 the bindings for them. 16276 16277 * bindings/js/kjs_window.cpp: 16278 (KJS::WindowFunc::callAsFunction): 16279 * bindings/js/kjs_window.h: 16280 (KJS::Window::): 16281 * page/DOMWindow.cpp: 16282 (WebCore::DOMWindow::print): 16283 (WebCore::DOMWindow::stop): 16284 (WebCore::DOMWindow::alert): 16285 (WebCore::DOMWindow::confirm): 16286 (WebCore::DOMWindow::prompt): 16287 (WebCore::DOMWindow::find): 16288 * page/DOMWindow.h: 16289 * page/DOMWindow.idl: 16290 16291 2007-07-17 Mark Rowe <mrowe (a] apple.com> 16292 16293 Gdk build fix. 16294 16295 * platform/gdk/ChromeClientGdk.h: 16296 16297 2007-07-16 Brady Eidson <beidson (a] apple.com> 16298 16299 Reviewed by Adam 16300 16301 Begin the arduous task of localizing FTP directory listings while removing a global initializer! 16302 16303 * loader/FTPDirectoryDocument.cpp: 16304 (WebCore::processFilesizeString): 16305 16306 * page/mac/WebCoreViewFactory.h: 16307 16308 * platform/LocalizedStrings.h: 16309 16310 * platform/gdk/TemporaryLinkStubs.cpp: 16311 (WebCore::unknownFileSizeText): 16312 16313 * platform/mac/LocalizedStringsMac.mm: 16314 (WebCore::unknownFileSizeText): 16315 16316 * platform/qt/Localizations.cpp: 16317 (WebCore::unknownFileSizeText): 16318 16319 2007-07-16 Sam Weinig <sam (a] webkit.org> 16320 16321 Reviewed by Oliver. 16322 16323 Remove more redundant isSafeScript checks. 16324 16325 * bindings/js/kjs_window.cpp: 16326 (KJS::Window::getOwnPropertySlot): 16327 16328 2007-07-16 Sam Weinig <sam (a] webkit.org> 16329 16330 Reviewed by Oliver. 16331 16332 Turn off -Wshorten-64-to-32 warning for 64-bit builds. 16333 16334 * Configurations/Base.xcconfig: 16335 16336 2007-07-16 Anders Carlsson <andersca (a] apple.com> 16337 16338 Reviewed by Oliver. 16339 16340 <rdar://problem/5336276> 16341 ASSERT(cs->accessCount() > 0) when instantiating widget templates in DashCode 16342 16343 If the cache is disabled, accessCount will always be 0. Account for this in the assert. 16344 16345 * html/HTMLTokenizer.cpp: 16346 (WebCore::HTMLTokenizer::reset): 16347 (WebCore::HTMLTokenizer::notifyFinished): 16348 16349 2007-07-16 Brady Eidson <beidson (a] apple.com> 16350 16351 Reviewed by Darin. 16352 16353 Append FTP row entries to the first TBODY instead of the TABLE element itself, 16354 as many TABLE elements end up with an implicit TBODY and that's where most people would 16355 expect it to be added. 16356 16357 * html/HTMLTableElement.h: 16358 (WebCore::HTMLTableElement::firstTBody): Added this accessor 16359 16360 * loader/FTPDirectoryDocument.cpp: 16361 (WebCore::FTPDirectoryTokenizer::appendEntry): Add to the first tbody if it exists 16362 16363 2007-07-16 Justin Garcia <justin.garcia (a] apple.com> 16364 16365 Reviewed by Adele. 16366 16367 <rdar://problem/5240265> 16368 REGRESSION: Clicking a <button> clears the selection in contenteditable areas 16369 16370 * page/FocusController.cpp: 16371 (WebCore::clearSelectionIfNeeded): Don't clear the selection if 16372 the mouse press that caused the focus shift occurred in 16373 a -webkit-user-select: ignore region. 16374 16375 2007-07-16 David Hyatt <hyatt (a] apple.com> 16376 16377 Fix for 5335829, avoid creating a pathological # of FontData objects 16378 on Windows. The MLang service actually caches and reuses HFONTs, which 16379 means it is safe to use our FontPlatformData -> FontData cache. 16380 16381 Reviewed by olliej 16382 16383 * platform/win/FontCacheWin.cpp: 16384 (WebCore::FontCache::getFontDataForCharacters): 16385 16386 2007-07-16 Adam Roben <aroben (a] apple.com> 16387 16388 Added a manual test to test calling window.print on a subframe. 16389 16390 Reviewed by Darin. 16391 16392 * manual-tests/resources/print-subframe.html: Added. 16393 * manual-tests/window-print-subframe.html: Added. 16394 16395 2007-07-16 Adam Roben <aroben (a] apple.com> 16396 16397 Replace Frame::print with Chrome::print 16398 16399 This also adds a Frame* parameter to Chrome::print and 16400 ChromeClient::print so that it knows which Frame to print. 16401 16402 Reviewed by Darin. 16403 16404 All tests pass. 16405 16406 * bindings/js/kjs_window.cpp: 16407 (KJS::WindowFunc::callAsFunction): Call Chrome::print. 16408 * editing/JSEditor.cpp: Ditto. 16409 16410 * bridge/win/FrameWin.cpp: Removed Frame::print. 16411 * page/Frame.h: Ditto. 16412 * page/mac/FrameMac.mm: Ditto. 16413 * page/qt/FrameQt.cpp: Ditto. 16414 * platform/gdk/FrameGdk.cpp: Ditto. 16415 * page/mac/WebCoreFrameBridge.h: Removed -print. 16416 16417 * page/Chrome.cpp: Added Frame* parameter to Chrome::print and pass it 16418 up to the ChromeClient. 16419 * page/Chrome.h: Ditto. 16420 * page/ChromeClient.h: Ditto. 16421 * platform/gdk/TemporaryLinkStubs.cpp: Ditto. 16422 * platform/graphics/svg/SVGImageEmptyClients.h: Ditto. 16423 16424 2007-07-16 Adele Peterson <adele (a] apple.com> 16425 16426 Reviewed by Brady. 16427 16428 Fix for <rdar://problem/5321490> REGRESSION: visibility:hidden property doesn't hide parts of file input element and listbox 16429 http://bugs.webkit.org/show_bug.cgi?id=14565 16430 16431 Tests: 16432 fast/forms/hidden-input-file.html 16433 fast/forms/hidden-listbox.html 16434 16435 * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): 16436 Only paint if the control is supposed to be visible. 16437 * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintObject): 16438 ditto. We already had checks to prevent drawing the text that considered the option's style too, but if visibility: hidden 16439 was just set on the listbox then a lot of extra work was being done, and the scrollbar was drawing too. This change fixes that. 16440 16441 2007-07-16 David Hyatt <hyatt (a] apple.com> 16442 16443 Fix for Radar 5338081, text-shadow should be reset on form controls so that 16444 it doesn't inherit in when set e.g., on the <body>. 16445 16446 Reviewed by beth 16447 16448 * css/html4.css: 16449 16450 2007-07-16 Holger Hans Peter Freyther <zecke (a] selfish.org> 16451 16452 Reviewed by Niko. 16453 16454 FrameView, PlatformScrollbar and changes to the way we draw 16455 16456 Fix the lifetime of PlatformScrollbar, use a default width and 16457 height and fix drawing of the PlatformScrollbar and other widgets 16458 the following way: FrameGdk handles the expose events of the Frame 16459 and will make the frame redraw and now it will draw the childrent of 16460 the FrameView as well. This approach has the issue of honoring the 16461 z-order of elements inside the RenderTree. Honoring the z-order will 16462 be a bit more work 16463 16464 Widget can now handle Widget::setGtkWidget call where the GtkWidget 16465 has not yet a GdkWindow allocated. We will lazily set the GdkDrawable. 16466 16467 In preparation of honoring the z-order of the RenderTree for RenderWidgets 16468 it is started to store native objects inside the GraphicsContext. Doing this 16469 nicely eliminates the need of RenderThemeGdk to do any drawing to a temporary 16470 GdkPixmap. This should fix themes with rounded buttons. 16471 16472 ScrollView implement add- and removeChild to get a working PlatformScrollbar 16473 16474 16475 * platform/Widget.h: 16476 * platform/gdk/FrameGdk.cpp: 16477 (frame_gdk_expose_child): Will send the expose to all children 16478 (WebCore::FrameGdk::handleGdkEvent): Painting changes, move to mouseMoved 16479 * platform/gdk/PlatformScreenGdk.cpp: 16480 (WebCore::screenDepth): gdkDrawable 16481 * platform/gdk/PlatformScrollBarGdk.cpp: 16482 (PlatformScrollbar::PlatformScrollbar): Fix ownership 16483 (PlatformScrollbar::~PlatformScrollbar): Fix ownership 16484 (PlatformScrollbar::paint): Widget::paint will do the right thing soon 16485 * platform/gdk/RenderThemeGdk.cpp: No need for using a GdkPixmap, draw directly 16486 (WebCore::RenderThemeGdk::paintCheckbox): No need for using a GdkPixmap, draw directly 16487 (WebCore::RenderThemeGdk::paintRadio): No need for using a GdkPixmap, draw directly 16488 (WebCore::RenderThemeGdk::paintButton): No need for using a GdkPixmap, draw directly 16489 * platform/gdk/RenderThemeGdk.h: remove the copyContext call 16490 * platform/gdk/ScrollViewGdk.cpp: gdkDrawable 16491 (WebCore::ScrollView::updateView): gdkDrawable 16492 (WebCore::ScrollView::update): clear the area to fix repainting issues 16493 (WebCore::ScrollView::setGtkWidget): gdkDrawable 16494 (WebCore::ScrollView::addChild): implement 16495 (WebCore::ScrollView::removeChild): implement 16496 * platform/gdk/TemporaryLinkStubs.cpp: Not needed header removed 16497 * platform/gdk/WidgetGdk.cpp: 16498 (WebCore::Widget::gdkDrawable): Renamed from drawable 16499 (WebCore::Widget::setGtkWidget): use gdkDrawable 16500 (WebCore::Widget::setCursor): gdkDrawable 16501 (WebCore::Widget::show): gdkDrawable 16502 (WebCore::Widget::hide): gdkDrawable 16503 * platform/graphics/GraphicsContext.h: Allow to set the GdkDrawable, e.g. used inside a expose event 16504 * platform/graphics/cairo/GraphicsContextCairo.cpp: 16505 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 16506 (WebCore::GraphicsContext::setGdkDrawable): 16507 (WebCore::GraphicsContext::gdkDrawable): 16508 16509 2007-07-16 Holger Hans Peter Freyther <zecke (a] selfish.org> 16510 16511 Reviewed by Maciej. 16512 16513 Lazily update the scrollbars (e.g. on loading a page) to 16514 generate less expose events, which will lead to laying out less often 16515 and will fix http://bugs.webkit.org/show_bug.cgi?id=14020. 16516 16517 * platform/gdk/ScrollViewGdk.cpp: 16518 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 16519 (WebCore::ScrollView::update): 16520 (WebCore::ScrollView::resizeContents): 16521 (WebCore::ScrollView::updateScrollbars): 16522 16523 2007-07-16 Rob Buis <buis (a] kde.org> 16524 16525 Reviewed by Maciej. 16526 16527 http://bugs.webkit.org/show_bug.cgi?id=14462 16528 non empty <style> element doesn't work 16529 16530 Return an empty sheet for empty <style> elements 16531 instead of a null sheet. Clean up StyleElement a bit. 16532 16533 * dom/StyleElement.cpp: 16534 (WebCore::StyleElement::StyleElement): 16535 (WebCore::StyleElement::sheet): 16536 (WebCore::StyleElement::childrenChanged): 16537 (WebCore::StyleElement::createSheet): 16538 * dom/StyleElement.h: 16539 (WebCore::StyleElement::setLoading): 16540 * html/HTMLStyleElement.cpp: 16541 (WebCore::HTMLStyleElement::HTMLStyleElement): 16542 (WebCore::HTMLStyleElement::sheet): 16543 * html/HTMLStyleElement.h: 16544 (WebCore::HTMLStyleElement::setLoading): 16545 * ksvg2/svg/SVGStyleElement.cpp: 16546 (WebCore::SVGStyleElement::sheet): 16547 (WebCore::SVGStyleElement::sheetLoaded): 16548 * ksvg2/svg/SVGStyleElement.h: 16549 16550 2007-07-15 Oliver Hunt <oliver (a] apple.com> 16551 16552 Reviewed by Adam. 16553 16554 Fix for fix for <rdar://problem/5336602> REGRESSION: tab characters 16555 cannot be entered into text fields 16556 http://bugs.webkit.org/show_bug.cgi?id=14032 16557 16558 Need to use UChar not char. 16559 16560 * html/HTMLInputElement.cpp: 16561 (WebCore::HTMLInputElement::constrainValue): 16562 16563 2007-07-15 Sam Weinig <sam (a] webkit.org> 16564 16565 Reviewed by Geoff Garen. 16566 16567 Remove redundant calls to isSafeScript() 16568 16569 * bindings/js/JSDOMWindowCustom.cpp: 16570 (WebCore::JSDOMWindow::customPut): 16571 * bindings/js/kjs_window.cpp: 16572 (KJS::Window::put): 16573 16574 2007-07-15 Geoffrey Garen <ggaren (a] apple.com> 16575 16576 Reviewed by Maciej Stachowiak. 16577 16578 Removed incorrect error log, seen while running layout tests. 16579 16580 Perhaps at some point FrameLoadTypeInteral had a specific meaning 16581 that prevented it from being used in non-child frame, non-redirect 16582 situations. However, that meaning has been lost and nobody remembers 16583 how to get it back. 16584 16585 We currently use FrameLoadTypeInternal for any load that is not 16586 initiated by a user gesture, so it's trivial to produce this error 16587 log, even though nothing has gone wrong. 16588 16589 * loader/FrameLoader.cpp: 16590 (WebCore::FrameLoader::updateHistoryForInternalLoad): 16591 16592 2007-07-15 Oliver Hunt <oliver (a] apple.com> 16593 16594 Reviewed by Maciej 16595 16596 Fix for <rdar://problem/5336602> REGRESSION: tab characters cannot be entered into text fields 16597 http://bugs.webkit.org/show_bug.cgi?id=14032 16598 16599 constrainValue attempted to block control characters from being inserted 16600 by a simple less than ' ' check, which prevent tab characters from being 16601 inserted. This patch adds an additional check to allow the tab character 16602 again 16603 16604 * html/HTMLInputElement.cpp: 16605 (WebCore::HTMLInputElement::constrainValue): 16606 16607 2007-07-14 Brady Eidson <beidson (a] apple.com> 16608 16609 Third shot at blind Qt/GDK build fix 16610 16611 * platform/gdk/TemporaryLinkStubs.cpp: 16612 (FTPDirectoryDocument::createTokenizer): 16613 * platform/qt/TemporaryLinkStubs.cpp: 16614 (FTPDirectoryDocument::createTokenizer): 16615 16616 2007-07-14 Brady Eidson <beidson (a] apple.com> 16617 16618 Reviewed by Sam 16619 16620 Windows build fix 16621 16622 * WebCore.vcproj/WebCore.vcproj: 16623 16624 2007-07-14 Sam Weinig <sam (a] webkit.org> 16625 16626 Fix Tiger build. 16627 16628 * config.h: 16629 16630 2007-07-14 Brady Eidson <beidson (a] apple.com> 16631 16632 Blind attempt at (hopefully) fixing the Qt and GDK builds 16633 16634 * platform/gdk/TemporaryLinkStubs.cpp: 16635 (FTPDirectoryDocument::FTPDirectoryDocument): 16636 * platform/qt/TemporaryLinkStubs.cpp: 16637 (FTPDirectoryDocument::FTPDirectoryDocument): 16638 16639 2007-07-14 Brady Eidson <beidson (a] apple.com> 16640 16641 Reviewed by Sam Weinig 16642 16643 Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser 16644 16645 Development has taken place on both Leopard and Windows (windows enabling patch will follow shortly) 16646 Support will only exist on platforms whose network layers (ie, ResourceHandle) support piping the raw 16647 FTP Directory data into the engine. 16648 16649 This is known to include Leopard, Windows, and CURL based platforms - probably others 16650 Known incompatible platforms include Tiger. 16651 16652 The FTP listing page is built in HTML. An external HTML document can be provided as a template for the 16653 directory listing. This document is parsed, and expected to have a <table> with a certain class in it. 16654 As FTP directory listings come in, each entry is added to this table as a row. 16655 16656 If no HTML template is provided to work with, a very basic empty document is hard coded that contains only 16657 this special table. 16658 16659 Upgrades to the look and feel of the directory listings can take place largely in this HTML template which, 16660 admittedly, is conspicuously absent in this initial checkin 16661 16662 * WebCore.exp: New Settings symbols for WebKit 16663 * WebCore.xcodeproj/project.pbxproj: 16664 16665 * config.h: If BUILDING_ON_TIGER, disable FTP directory listing support 16666 16667 * dom/DOMImplementation.cpp: 16668 (WebCore::DOMImplementation::createDocument): Create an FTPDirectoryDocument if the mime type is 16669 "application/x-ftp-directory" 16670 16671 * loader/FTPDirectoryDocument.cpp: Added. 16672 (WebCore::FTPDirectoryTokenizer::isWaitingForScripts): 16673 (WebCore::FTPDirectoryTokenizer::checkBuffer): 16674 (WebCore::FTPDirectoryTokenizer::FTPDirectoryTokenizer): Building on HTML tokenizer, this facilitates 16675 parsing FTP Directory listings in the engine 16676 (WebCore::FTPDirectoryTokenizer::appendEntry): Add a table row for a directory listing to the document 16677 (WebCore::FTPDirectoryTokenizer::createTDForFilename): Create the TD for the filename with the anchor in it 16678 16679 (WebCore::processFilesizeString): Prettify the filesize 16680 (WebCore::wasLastDayOfMonth): 16681 (WebCore::processFileDateString): Prettify the date 16682 (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): 16683 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate): Loads the HTML template that FTP directory listings 16684 can build on top of 16685 (WebCore::FTPDirectoryTokenizer::createBasicDocument): Creates a most basic document (body and one table) to 16686 append the rows to in case the document template is not loaded and parsed 16687 (WebCore::FTPDirectoryTokenizer::write): Add the FTP listing to the buffer and parse entries out of it 16688 (WebCore::FTPDirectoryTokenizer::finish): 16689 16690 (WebCore::FTPDirectoryDocument::FTPDirectoryDocument): Special document-type for FTP directory listings 16691 (WebCore::FTPDirectoryDocument::createTokenizer): 16692 * loader/FTPDirectoryDocument.h: Added. 16693 (WebCore::FTPDirectoryDocument::isImageDocument): 16694 16695 * loader/FTPDirectoryParser.cpp: Added. 16696 (WebCore::parseOneFTPLine): Adapted from ParseFTPList.cpp from Firefox - parses most known 16697 FTP directory listing styles into discrete FTP directory entries 16698 * loader/FTPDirectoryParser.h: Added. 16699 (WebCore::ListState::ListState): Maintains FTP Parser state 16700 (WebCore::ListResult::ListResult): Represents one FTP directory listing 16701 (WebCore::ListResult::clear): 16702 16703 * loader/FrameLoader.cpp: 16704 (WebCore::FrameLoader::checkContentPolicy): If the Settings say to bypass the policy check for 16705 "application/x-ftp-directory", skip it. This will allow people to test this feature even if their 16706 browser/WebKit app would otherwise not allow it 16707 16708 * page/Settings.cpp: 16709 (WebCore::Settings::Settings): 16710 (WebCore::Settings::setFTPDirectoryTemplatePath): Set the path to the FTP listing document template 16711 (WebCore::Settings::setForceFTPDirectoryListings): Set to bypass the policy delegate check for mime type 16712 "application/x-ftp-directory" 16713 * page/Settings.h: 16714 (WebCore::Settings::ftpDirectoryTemplatePath): 16715 (WebCore::Settings::forceFTPDirectoryListings): 16716 16717 * platform/Logging.cpp: Add an "LogFTP" logging channel 16718 * platform/Logging.h: 16719 * platform/mac/LoggingMac.mm: 16720 (WebCore::InitializeLoggingChannelsIfNecessary): 16721 16722 * platform/MimeTypeRegistry.cpp: 16723 (WebCore::initialiseSupportedNonImageMimeTypes): Add "application/x-ftp-directory" 16724 16725 * platform/SharedBuffer.cpp: 16726 (WebCore::SharedBuffer::createWithContentsOfFile): Stub for now 16727 * platform/SharedBuffer.h: 16728 16729 * platform/mac/SharedBufferMac.mm: 16730 (WebCore::SharedBuffer::createWithContentsOfFile): Load contents of the file into an NSData, then 16731 wrap that NSData 16732 16733 2007-07-14 Alexey Proskuryakov <ap (a] webkit.org> 16734 16735 Reviewed by Darin. 16736 16737 http://bugs.webkit.org/show_bug.cgi?id=14618 16738 REGRESSION(13464): drivehq.com login form doesn't work 16739 16740 Test: http/tests/misc/post-submit-button.html 16741 16742 * html/HTMLInputElement.cpp: 16743 (WebCore::HTMLInputElement::appendFormData): Append a submit even if its value is empty. 16744 16745 2007-07-13 Oliver Hunt <oliver (a] apple.com> 16746 16747 Reviewed by Sam. 16748 16749 Fix for 16750 <rdar://problem/5335265> REGRESSION: WebCore::DragController crashes if WebDragSourceActionDHTML cleared 16751 http://bugs.webkit.org/show_bug.cgi?id=13652 16752 16753 Reorder logic for drag initiation: we can always preflight the clipboard, regardless as to whether 16754 we are performing any dhtml drag handling 16755 16756 * page/EventHandler.cpp: 16757 (WebCore::EventHandler::handleDrag): 16758 16759 2007-07-13 Matt Lilek <pewtermoose (a] gmail.com> 16760 16761 Reviewed by Tim Hatcher. 16762 16763 Bug 14401: Semi-regression: Can no longer copy anything from the inspector 16764 http://bugs.webkit.org/show_bug.cgi?id=14401 16765 16766 * page/inspector/inspector.css: 16767 16768 2007-07-13 Beth Dakin <bdakin (a] apple.com> 16769 16770 Reviewed by Hyatt. 16771 16772 Fix for <rdar://problem/5304742> A hang occurs when attempting to 16773 display web clip banner at http://www.signonsandiego.com/sports/ 16774 chargers/index.html 16775 16776 Here is the actual fix. 16777 * rendering/RenderInline.cpp: 16778 (WebCore::RenderInline::absoluteRects): Set topLevel to 16779 false when we recurse to get our children's absoluteRects. 16780 * rendering/RenderInline.h: New boolean parameter 16781 topLevel that defaults to true. 16782 * rendering/RenderObject.cpp: 16783 (WebCore::RenderObject::absoluteRects): 16784 * rendering/RenderObject.h: 16785 16786 And these are just other implementations/declarations of this 16787 (virtual) function that have to add the parameter. No behavior 16788 change here. 16789 * rendering/RenderPath.cpp: 16790 (WebCore::RenderPath::absoluteRects): 16791 * rendering/RenderPath.h: 16792 * rendering/RenderSVGContainer.cpp: 16793 (WebCore::RenderSVGContainer::absoluteRects): 16794 * rendering/RenderSVGContainer.h: 16795 * rendering/RenderSVGHiddenContainer.cpp: 16796 (WebCore::RenderSVGHiddenContainer::absoluteRects): 16797 * rendering/RenderSVGHiddenContainer.h: 16798 * rendering/RenderSVGImage.cpp: 16799 (WebCore::RenderSVGImage::absoluteRects): 16800 * rendering/RenderSVGImage.h: 16801 * rendering/RenderSVGInlineText.cpp: 16802 (WebCore::RenderSVGInlineText::absoluteRects): 16803 * rendering/RenderSVGInlineText.h: 16804 * rendering/RenderSVGTSpan.cpp: 16805 (WebCore::RenderSVGTSpan::absoluteRects): 16806 * rendering/RenderSVGTSpan.h: 16807 * rendering/RenderSVGText.cpp: 16808 (WebCore::RenderSVGText::absoluteRects): 16809 * rendering/RenderSVGText.h: 16810 * rendering/RenderText.cpp: 16811 (WebCore::RenderText::absoluteRects): 16812 * rendering/RenderText.h: 16813 * rendering/RenderView.cpp: 16814 (WebCore::RenderView::absoluteRects): 16815 * rendering/RenderView.h: 16816 16817 2007-07-13 Mitz Pettel <mitz (a] webkit.org> 16818 16819 Reviewed by Hyatt. 16820 16821 - fix http://bugs.webkit.org/show_bug.cgi?id=13438 <rdar://problem/5153030> 16822 Run rounding makes word-break:break-all/word not functional 16823 16824 Test: fast/text/word-break-run-rounding.html 16825 16826 * rendering/RenderText.cpp: 16827 (WebCore::RenderText::calcPrefWidths): Update the maximum width only on word 16828 boundaries to avoid rounding errors. 16829 * rendering/bidi.cpp: 16830 (WebCore::RenderBlock::findNextLineBreak): Integrated breakAll with the 16831 midWordBreak/wrapW mechanism. Also made the wrapW upper bound more accurate 16832 by resetting it when tmpW is committed. 16833 16834 2007-07-13 Sam Weinig <sam (a] webkit.org> 16835 16836 Reviewed by Geoff Garen. 16837 16838 Patch for <rdar://problem/5318394> 16839 http site can read/write content of https site in same domain 16840 16841 Add protocol and port checks in isSafeScript. 16842 16843 * bindings/js/kjs_window.cpp: 16844 (KJS::Window::isSafeScript): 16845 16846 2007-07-13 Anders Carlsson <andersca (a] apple.com> 16847 16848 Reviewed by Mitz Pettel. 16849 16850 <rdar://problem/5298870> 16851 REGRESSION: In Yahoo Mail modal dialog, OK and Cancel buttons do not work, and descriptive text is missing (14327) 16852 16853 http://bugs.webkit.org/show_bug.cgi?id=14327 16854 REGRESSION (r21367): dialogArguments not set in window generated by showModalDialog 16855 16856 When creating popup windows/dialogs, prevent the window properties from being cleared by the initial frame load. 16857 16858 * loader/FrameLoader.cpp: 16859 (WebCore::FrameLoader::FrameLoader): 16860 (WebCore::FrameLoader::createWindow): 16861 (WebCore::FrameLoader::clear): 16862 (WebCore::FrameLoader::begin): 16863 (WebCore::FrameLoader::open): 16864 * loader/FrameLoader.h: 16865 (WebCore::FrameLoader::setShouldClearWindowProperties): 16866 * manual-tests/modal-dialog-arguments.html: Added. 16867 16868 2007-07-13 Steve Falkenburg <sfalken (a] apple.com> 16869 16870 Update ResourceError related code to account for changes in CF interfaces. 16871 16872 Reviewed by Darin, Ada. 16873 16874 * platform/network/ResourceError.h: Change Mac conditionals to CF to share more code. 16875 * platform/network/cf/ResourceErrorCF.cpp: 16876 (WebCore::ResourceError::ResourceError): Modified based on CFErrorRef changes 16877 (WebCore::ResourceError::unpackPlatformError): Ported from ResourceErrorMac.mm. 16878 (WebCore::ResourceError::operator CFErrorRef): Ported from ResourceErrorMac.mm. 16879 (WebCore::ResourceError::operator CFStreamError): Modified based on CFErrorRef changes. 16880 16881 2007-07-13 Antti Koivisto <antti (a] apple.com> 16882 16883 Reviewed by Adele. 16884 16885 Fix <rdar://problem/5192256> 16886 click() in onchange handler causes another change event (causes hang at http://forums.whirlpool.net.au/) 16887 16888 Guard against generating a simulated event from within a simulated event in the same node. Try to 16889 match Firefox behavior. 16890 16891 * dom/EventTargetNode.cpp: 16892 (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): 16893 (WebCore::EventTargetNode::dispatchSimulatedClick): 16894 * dom/Node.cpp: 16895 (WebCore::Node::Node): 16896 * dom/Node.h: 16897 16898 2007-07-13 Antti Koivisto <antti (a] apple.com> 16899 16900 Reviewed by Darin. 16901 16902 Fix <rdar://problem/5333387> 16903 Combination of selection and click() on checkbox crashes 16904 16905 Ensure there is no pending style update before doing synchronous paint. Under certain 16906 circumstances this ends up doing style recalc in middle of paint() which may 16907 for example tear down the rendering tree being painted, with bad results. 16908 16909 * dom/ContainerNode.cpp: 16910 (WebCore::ContainerNode::setActive): 16911 16912 2007-07-13 Antti Koivisto <antti (a] apple.com> 16913 16914 Reviewed by Adele. 16915 16916 Fix <rdar://problem/5333365> 16917 Calling click() is very slow 16918 16919 There is a 100ms delay in ContainerNode::setActive() to do an activation effect. It is used for 16920 simulated mouse activations (using keyboard for example). However, it shouldn't be done when calling from javascript 16921 (through click() interface) since it hangs script execution. 16922 16923 * html/HTMLElement.cpp: 16924 (WebCore::HTMLElement::click): 16925 16926 2007-07-13 Mitz Pettel <mitz (a] webkit.org> 16927 16928 Reviewed by Dave Hyatt. 16929 16930 - fix http://bugs.webkit.org/show_bug.cgi?id=13873 16931 Incomplete repaint of replaced element's box shadow 16932 16933 Tests: fast/repaint/box-shadow-h.html 16934 fast/repaint/box-shadow-v.html 16935 16936 * rendering/RenderHTMLCanvas.cpp: 16937 (WebCore::RenderHTMLCanvas::layout): Added a call to adjustOverflowForBoxShadow(). 16938 * rendering/RenderImage.cpp: 16939 (WebCore::RenderImage::layout): Ditto. 16940 * rendering/RenderPartObject.cpp: 16941 (WebCore::RenderPartObject::layout): Ditto. 16942 * rendering/RenderReplaced.cpp: 16943 (WebCore::RenderReplaced::RenderReplaced): Initialize m_hasOverflow. 16944 (WebCore::RenderReplaced::~RenderReplaced): Added. Removes this object from the 16945 overflow rect map if it has overflow. 16946 (WebCore::RenderReplaced::shouldPaint): Account for overflow. 16947 (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Added. Creates or 16948 removes an entry for this object in the global overflow rect map. 16949 (WebCore::RenderReplaced::overflowHeight): Added. 16950 (WebCore::RenderReplaced::overflowWidth): Added. 16951 (WebCore::RenderReplaced::overflowLeft): Added. 16952 (WebCore::RenderReplaced::overflowTop): Added. 16953 (WebCore::RenderReplaced::overflowRect): Added. 16954 * rendering/RenderReplaced.h: 16955 16956 2007-07-13 Mitz Pettel <mitz (a] webkit.org> 16957 16958 Reviewed by Dave Hyatt. 16959 16960 - fix http://bugs.webkit.org/show_bug.cgi?id=14395 16961 When a <p> is inside <li> two <BR>s are rendered 16962 16963 Test: fast/lists/marker-before-empty-inline.html 16964 16965 * rendering/RenderBlock.h: 16966 * rendering/RenderListItem.cpp: 16967 (WebCore::getParentOfFirstLineBox): Changed to skip empty inline flows that 16968 do not actually generate any line boxes. Limited the nested lists quirk to 16969 the case where the list is a child of the list item, to match Firefox. 16970 * rendering/bidi.cpp: 16971 (WebCore::requiresLineBox): Added. Factored out of skipWhitespace. 16972 (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Added. Checkes 16973 whether the child or any of its siblings following it will generate a line 16974 box in the flow. 16975 (WebCore::RenderBlock::skipWhitespace): 16976 16977 2007-07-13 Holger Hans Peter Freyther <zecke (a] selfish.org> 16978 16979 Reviewed by Alexey. 16980 16981 Move HTTP methods to parse Content-Type from xmlhttprequest.cpp 16982 which is LGPL to HTTPParsers.cpp. As both files were written by the 16983 same author and the advice to move them came from him I think this move 16984 is what is meant to be done. 16985 16986 Move filenameFromHTTPContentDisposition to HTTPParsers as well. This parse 16987 function uses Vector<String>::split and doesn't honor quoting. This needs 16988 to be fixed in later versions. 16989 16990 http://bugs.webkit.org/show_bug.cgi?id=5954 and http://bugs.webkit.org/show_bug.cgi?id=14059 16991 benefit from this change. 16992 16993 * platform/network/HTTPParsers.cpp: 16994 (WebCore::filenameFromHTTPContentDisposition): 16995 (WebCore::extractMIMETypeFromMediaType): 16996 (WebCore::extractCharsetFromMediaType): 16997 * platform/network/HTTPParsers.h: 16998 * platform/network/cf/ResourceResponseCFNet.cpp: 16999 * xml/xmlhttprequest.cpp: 17000 (WebCore::XMLHttpRequest::responseMIMEType): 17001 (WebCore::XMLHttpRequest::didReceiveResponse): 17002 17003 2007-07-13 Mark Rowe <mrowe (a] apple.com> 17004 17005 Reviewed by Mitz. 17006 17007 Build fix. Stub out ChromeClientGdk::print and SVGEmptyChromeClient::print. 17008 17009 * platform/gdk/ChromeClientGdk.h: 17010 * platform/gdk/TemporaryLinkStubs.cpp: 17011 (ChromeClientGdk::print): 17012 * platform/graphics/svg/SVGImageEmptyClients.h: 17013 (WebCore::SVGEmptyChromeClient::print): 17014 17015 2007-07-12 Alice Liu <alice.liu (a] apple.com> 17016 17017 Reviewed by Maciej and Steve. 17018 17019 fixed <rdar://4982432> window.print() needs to be implemented 17020 17021 * bridge/win/FrameWin.cpp: 17022 (WebCore::Frame::print): 17023 * page/Chrome.cpp: 17024 (WebCore::Chrome::print): 17025 * page/Chrome.h: 17026 * page/ChromeClient.h: 17027 * platform/win/TemporaryLinkStubs.cpp: 17028 17029 2007-07-11 Justin Garcia <justin.garcia (a] apple.com> 17030 17031 Reviewed by Harrison. 17032 17033 <rdar://problem/5300379> Mail hung on option-delete 17034 17035 We were starting backward iteration at [container, 0] and 17036 emitting for container over and over. 17037 17038 * editing/TextIterator.cpp: 17039 (WebCore::SimplifiedBackwardsTextIterator::advance): Don't 17040 emit characters for a node if we're starting iteration at 17041 [container, 0]. Don't emit characters for exiting containers 17042 if we've already done so. 17043 17044 2007-07-12 Kevin Decker <kdecker (a] apple.com> 17045 17046 Reviewed by Mark Rowe. 17047 17048 <rdar://problem/5039463> find a good gray that works well for full frame plug-ins; consistent look for plugins 17049 17050 * loader/PluginDocument.cpp: 17051 (WebCore::PluginTokenizer::createDocumentStructure): Changed values to a darker gray, per request from the HI team. 17052 17053 2007-07-11 Sam Weinig <sam (a] webkit.org> 17054 17055 Reviewed by Maciej. 17056 17057 Patch for <rdar://problem/5329841> 17058 Calling window.closed on a closed window causes Safari to crash 17059 17060 - Replaces the Frame member variable in KJS::Window for more appropriate DOMWindow 17061 - Adds additional new null checks as necessary 17062 - Removes bogus toBoolean method 17063 - Removes unused scheduleClose method 17064 17065 Test: fast/dom/Window/window-closed-crash.html 17066 17067 * bindings/js/JSCustomXPathNSResolver.cpp: 17068 (WebCore::JSCustomXPathNSResolver::create): 17069 * bindings/js/JSDOMWindowCustom.cpp: 17070 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 17071 (WebCore::JSDOMWindow::customPut): 17072 * bindings/js/JSXMLHttpRequest.cpp: 17073 (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): 17074 * bindings/js/kjs_events.cpp: 17075 (WebCore::JSAbstractEventListener::handleEvent): 17076 (WebCore::JSLazyEventListener::parseCode): 17077 * bindings/js/kjs_window.cpp: 17078 (KJS::Window::Window): 17079 (KJS::Window::impl): 17080 (KJS::Window::interpreter): 17081 (KJS::Window::location): 17082 (KJS::Window::find): 17083 (KJS::allowPopUp): 17084 (KJS::createWindow): 17085 (KJS::canShowModalDialog): 17086 (KJS::canShowModalDialogNow): 17087 (KJS::showModalDialog): 17088 (KJS::Window::getValueProperty): 17089 (KJS::Window::childFrameGetter): 17090 (KJS::Window::indexGetter): 17091 (KJS::Window::namedItemGetter): 17092 (KJS::Window::getOwnPropertySlot): 17093 (KJS::Window::put): 17094 (KJS::Window::isSafeScript): 17095 (KJS::Window::setListener): 17096 (KJS::Window::getListener): 17097 (KJS::Window::clear): 17098 (KJS::WindowFunc::callAsFunction): 17099 (KJS::Window::updateLayout): 17100 (KJS::ScheduledAction::execute): 17101 (KJS::Window::disconnectFrame): 17102 (KJS::Location::put): 17103 (KJS::LocationFunc::callAsFunction): 17104 * bindings/js/kjs_window.h: 17105 * page/mac/WebCoreFrameBridge.mm: 17106 (updateRenderingForBindings): 17107 17108 2007-07-12 Mark Rowe <mrowe (a] apple.com> 17109 17110 Reviewed by Ada. 17111 17112 <rdar://problem/5329877> REGRESSION: Document::setTransformSource leaks an xmlDocPtr if called more than once per document 17113 17114 * dom/Document.cpp: 17115 (WebCore::Document::setTransformSource): Free any existing m_transformSource before overwriting it, rather than simply leaking it. 17116 * dom/Document.h: 17117 17118 2007-07-12 Holger Hans Peter Freyther <zecke (a] selfish.org> 17119 17120 Reviewed by Mark Rowe. 17121 17122 Fix compilation of the CURL backend after the removing of accessors from ResourceHandle in r24202 17123 17124 * platform/network/curl/ResourceHandleManager.cpp: 17125 (WebCore::ResourceHandleManager::setupPOST): 17126 (WebCore::ResourceHandleManager::startJob): 17127 17128 2007-07-12 Mark Rowe <mrowe (a] apple.com> 17129 17130 Reviewed by Darin. 17131 17132 <rdar://problem/5327189> Logic error in DeprecatedString::to{,U}Int{,64} can lead to reading past end of buffer 17133 17134 The fix for reading past the end of the buffer is to verify we are not at the end of the string before checking 17135 for a leading '+' character. Rather than fixing the logic error in four nearly-identical functions I chose to 17136 extract the common functionality into the toIntegralType helper function which the four functions call through to. 17137 17138 * platform/DeprecatedString.cpp: 17139 (WebCore::isCharacterAllowedInBase): 17140 (WebCore::toIntegralType): 17141 (WebCore::DeprecatedString::toInt): 17142 (WebCore::DeprecatedString::toInt64): 17143 (WebCore::DeprecatedString::toUInt): 17144 (WebCore::DeprecatedString::toUInt64): 17145 17146 2007-07-12 George Staikos <staikos (a] kde.org> 17147 17148 Reviewed by Alexey. 17149 17150 Remove unused variables and fix rendering of comoboxes. 17151 17152 * platform/graphics/qt/ImageQt.cpp: 17153 (WebCore::BitmapImage::draw): 17154 * platform/qt/RenderThemeQt.cpp: 17155 (WebCore::RenderThemeQt::paintMenuList): 17156 17157 2007-07-11 Oliver Hunt <oliver (a] apple.com> 17158 17159 Reviewed by Maciej 17160 17161 Fix for <rdar://problem/5329712> GMail crash when trying to compose new message 17162 17163 * platform/win/FontDataWin.cpp: 17164 (WebCore::FontData::containsCharacters): 17165 17166 2007-07-11 Alexey Proskuryakov <ap (a] webkit.org> 17167 17168 Reviewed by Darin. 17169 17170 http://bugs.webkit.org/show_bug.cgi?id=14584 17171 XMLHttpRequest treats null login/password incorrectly 17172 17173 Test: http/tests/xmlhttprequest/null-auth.php 17174 17175 * xml/xmlhttprequest.cpp: 17176 (WebCore::XMLHttpRequest::open): 17177 * xml/xmlhttprequest.h: 17178 Split the open() method into three to distinguish between missing and null credentials. 17179 17180 * bindings/js/JSXMLHttpRequest.cpp: 17181 (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): Call the appropriate open(). 17182 17183 2007-07-11 Oliver Hunt <oliver (a] apple.com> 17184 17185 Build fix for windows 17186 17187 * page/Frame.cpp: 17188 (WebCore::Frame::firstRectForRange): 17189 17190 2007-07-11 Oliver Hunt <oliver (a] apple.com> 17191 17192 Reviewed by Maciej. 17193 17194 Fix <rdar://problem/5329481> Character range rect code for IME support needs to be crossplatform 17195 17196 Move -[WebCoreFrameBridge firstRectForDOMRange:] to Frame::firstRectForRange 17197 17198 * page/Frame.cpp: 17199 (WebCore::Frame::firstRectForRange): 17200 * page/Frame.h: 17201 * page/mac/WebCoreFrameBridge.mm: 17202 (-[WebCoreFrameBridge firstRectForDOMRange:]): 17203 17204 2007-07-11 Steve Falkenburg <sfalken (a] apple.com> 17205 17206 Static analysis build fix. 17207 17208 Only specify /analyze (PREfast) if it is available. 17209 Prevents entire project from rebuilding each time. 17210 17211 Reviewed by Hyatt. 17212 17213 * WebCore.vcproj/WebCore.vcproj: 17214 17215 2007-07-11 George Staikos <staikos (a] kde.org> 17216 17217 Reviewed by Olliej. 17218 17219 Make comboboxes update when the current item is changed. 17220 17221 * platform/qt/PopupMenuQt.cpp: 17222 (WebCore::PopupMenu::updateFromElement): 17223 * platform/qt/QWebPopup.cpp: 17224 (WebCore::QWebPopup::activeChanged): 17225 17226 2007-07-11 George Staikos <staikos (a] kde.org> 17227 17228 Reviewed by Brady. 17229 17230 Add a destructor to cleanup the SQL handle. 17231 17232 * loader/icon/SQLDatabase.h: 17233 (WebCore::SQLDatabase::~SQLDatabase): 17234 17235 2007-07-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 17236 17237 Reviewed by Darin. 17238 17239 As of http://bugs.webkit.org/show_bug.cgi?id=14527 move the 17240 WebCore/ForwardingHeader/JavaScriptCore to JavaScriptCore 17241 17242 * ForwardingHeaders/JavaScriptCore: Removed. 17243 * ForwardingHeaders/JavaScriptCore/APICast.h: Removed. 17244 * ForwardingHeaders/JavaScriptCore/JSBase.h: Removed. 17245 * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Removed. 17246 * ForwardingHeaders/JavaScriptCore/JSLock.h: Removed. 17247 * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Removed. 17248 * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Removed. 17249 * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Removed. 17250 * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Removed. 17251 * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Removed. 17252 17253 2007-07-11 Anders Carlsson <andersca (a] apple.com> 17254 17255 Fix build. 17256 17257 * platform/network/cf/ResourceHandleCFNet.cpp: 17258 (WebCore::willSendRequest): 17259 (WebCore::didReceiveResponse): 17260 (WebCore::didReceiveData): 17261 (WebCore::didFinishLoading): 17262 (WebCore::didFail): 17263 (WebCore::didReceiveChallenge): 17264 17265 2007-07-11 George Staikos <staikos (a] kde.org> 17266 17267 Repair the build. 17268 17269 * platform/network/qt/ResourceHandleQt.cpp: 17270 (WebCore::ResourceHandle::start): 17271 17272 2007-07-11 Adele Peterson <adele (a] apple.com> 17273 17274 Reviewed by Darin. 17275 17276 Fix for <rdar://problem/5230188> REGRESSION: Active/inactive marked text is not distinguished in textfields and textareas 17277 17278 We were previously trying to leave room for 1px of space between the text and the underline. 17279 This change removes that requirement so that if we don't have room for the extra space, we still draw the thick underline 17280 touching the text. 17281 17282 * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextUnderline): 17283 17284 2007-07-11 Anders Carlsson <andersca (a] apple.com> 17285 17286 Reviewed by Darin and Geoff. 17287 17288 <rdar://problem/5313508> 17289 REGRESSION (Leopard): http/tests/xmlhttprequest/basic-auth.html hangs 17290 17291 Leopard Foundation now ignores credentials passed in as part of the URL so we need to pass them ourselves. 17292 17293 For the asynchronous case, we simply keep track of the URL and if it has a user name and password, we 17294 pass those if we're asked to authenticate. 17295 17296 For the synchronous case, implement a new connection delegate and run it in a separate mode so 17297 no other sources will fire. 17298 17299 * platform/network/mac/ResourceHandleMac.mm: 17300 (WebCore::ResourceHandle::loadResourceSynchronously): 17301 (-[WebCoreResourceHandleAsDelegate dealloc]): 17302 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 17303 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): 17304 (-[WebCoreSynchronousLoader _isDone]): 17305 (-[WebCoreSynchronousLoader dealloc]): 17306 (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): 17307 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): 17308 (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): 17309 (-[WebCoreSynchronousLoader connection:didReceiveData:]): 17310 (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): 17311 (-[WebCoreSynchronousLoader connection:didFailWithError:]): 17312 (-[WebCoreSynchronousLoader _data]): 17313 (-[WebCoreSynchronousLoader _response]): 17314 (-[WebCoreSynchronousLoader _error]): 17315 (+[WebCoreSynchronousLoader loadRequest:returningResponse:error:]): 17316 17317 2007-07-11 Darin Adler <darin (a] apple.com> 17318 17319 Reviewed by Sam Weinig. 17320 17321 - fix <rdar://problem/5315265> REGRESSION: Leopard launch time - 17322 there are about 190 stats of icudt36b files during launch 17323 17324 * platform/TextEncodingRegistry.cpp: (WebCore::atomicCanonicalTextEncodingName): 17325 Add a special case for the empty string so we don't load the extended text 17326 encodings just so we can return 0 for that case. 17327 17328 2007-07-11 Anders Carlsson <andersca (a] apple.com> 17329 17330 Reviewed by Darin. 17331 17332 Remove a bunch of unneeded accessors from ResourceHandle. 17333 17334 * loader/icon/IconLoader.cpp: 17335 (WebCore::IconLoader::didReceiveResponse): 17336 (WebCore::IconLoader::didFail): 17337 (WebCore::IconLoader::didFinishLoading): 17338 * platform/network/ResourceHandle.cpp: 17339 * platform/network/ResourceHandle.h: 17340 17341 2007-07-09 Justin Garcia <justin.garcia (a] apple.com> 17342 17343 Reviewed by Darin. 17344 17345 <rdar://problem/5234383> REGRESSION: Sentence breaker method returning entire document length 17346 17347 The functions for moving the caret to the next/previous sentence boundary 17348 were in many cases moving to the beginning/end of the document. The functions that 17349 should move the caret to an equivalent position in the next/previous sentence behaved 17350 like the aforementioned functions ought to. Put the code from the second two functions 17351 in the first and made sure that the second two are properly FIXMEd. They're rarely 17352 used (filed 5323691). 17353 17354 * editing/SelectionController.cpp: 17355 (WebCore::SelectionController::modify): Added an option for sentenceBoundary granularity, 17356 so that we can test the functions that were broken from JS. 17357 * editing/visible_units.cpp: 17358 (WebCore::startOfSentence): Removed the FIXME about 5234383. 17359 (WebCore::endSentenceBoundary): Make this function do what nextSentencePositionBoundary 17360 current does. 17361 (WebCore::endOfSentence): Removed the FIXME about 5234383. 17362 (WebCore::previousSentencePosition): Removed an incorrect FIXME. 17363 (WebCore::nextSentencePositionBoundary): Tweaked FIXME. This function is 17364 identical, not close to endSentenceBoundary. 17365 (WebCore::nextSentencePosition): Removed an incorrect FIXME. 17366 17367 2007-07-11 Rob Buis <buis (a] kde.org> 17368 17369 Reviewed by Darin. 17370 17371 http://bugs.webkit.org/show_bug.cgi?id=14453 17372 REGRESSION: www.nzherald.co.nz almost all the formating is gone 17373 17374 Be less strict for the hex color definition. 17375 17376 * css/CSSGrammar.y: 17377 * css/cssparser.cpp: 17378 (WebCore::CSSParser::lex): 17379 (WebCore::CSSParser::text): 17380 * css/tokenizer.flex: 17381 17382 2007-07-11 Rob Buis <buis (a] kde.org> 17383 17384 Reviewed by Oliver. 17385 17386 Forgot to commit this as part of commit r24146. Now we are sure 17387 createElement creates elements in the xhtml namespace only. 17388 17389 * ksvg2/svg/SVGDocument.cpp: 17390 * ksvg2/svg/SVGDocument.h: 17391 17392 2007-07-10 Sam Weinig <sam (a] webkit.org> 17393 17394 Reviewed by Oliver. 17395 17396 Move more attributes from the pure JS bindings in KJS::Window 17397 to the implementation in DOMWindow and autogenerate the new bindings 17398 17399 Test: fast/dom/Window/get-set-properties.html 17400 17401 * bindings/js/JSDOMWindowCustom.cpp: 17402 (WebCore::JSDOMWindow::customGetOwnPropertySlot): Change to use propHashTable in 17403 JSDOMWindow instead of KJS::Window 17404 * bindings/js/kjs_window.cpp: 17405 (KJS::Window::getValueProperty): 17406 (KJS::Window::put): 17407 * bindings/js/kjs_window.h: 17408 (KJS::Window::): 17409 * bindings/scripts/CodeGeneratorJS.pm: Cleanup getValueProperty and put generation 17410 to reduce code duplication. 17411 * page/DOMWindow.cpp: 17412 (WebCore::DOMWindow::closed): 17413 (WebCore::DOMWindow::length): 17414 (WebCore::DOMWindow::name): 17415 (WebCore::DOMWindow::setName): 17416 (WebCore::DOMWindow::status): 17417 (WebCore::DOMWindow::setStatus): 17418 (WebCore::DOMWindow::defaultStatus): 17419 (WebCore::DOMWindow::setDefaultStatus): 17420 * page/DOMWindow.h: 17421 (WebCore::DOMWindow::defaultstatus): 17422 (WebCore::DOMWindow::setDefaultstatus): 17423 * page/DOMWindow.idl: 17424 17425 2007-07-10 Sam Weinig <sam (a] webkit.org> 17426 17427 Reviewed by Geoff. 17428 17429 Fix for <rdar://problem/5326791> XSS vulnerability: ability to set window.defaultStatus, 17430 window.defaultstatus and window.status cross domains 17431 17432 Test: http/tests/security/cross-frame-access-put.html 17433 17434 * bindings/js/kjs_window.cpp: 17435 (KJS::Window::put): Adds isSafeScript check for defaultStatus, 17436 defaultstatus and status cases. 17437 17438 2007-07-10 Sam Weinig <sam (a] webkit.org> 17439 17440 Fix build for BuildBot. 17441 17442 * page/DOMWindow.cpp: 17443 (WebCore::DOMWindow::outerHeight): 17444 (WebCore::DOMWindow::outerWidth): 17445 (WebCore::DOMWindow::screenX): 17446 (WebCore::DOMWindow::screenY): 17447 17448 2007-07-10 Brady Eidson <beidson (a] apple.com> 17449 17450 Reviewed by Sam 17451 17452 <rdar://problem/5326653> - REGRESSION: [WebBackForwardList forwardListCount] might return incorrect result 17453 17454 No layout test because this is an API issue that can't be tested in DRT or the browser 17455 17456 * history/BackForwardList.cpp: 17457 (WebCore::BackForwardList::forwardListCount): If the index is NoCurrentItemIndex, return 0 17458 17459 2007-07-10 Sam Weinig <sam (a] webkit.org> 17460 17461 Reviewed by Darin. 17462 17463 Move more readonly attributes from pure JS bindings in KJS::Window 17464 to the implementation in DOMWindow and autogenerate the new bindings. 17465 17466 * bindings/js/kjs_window.cpp: 17467 (KJS::Window::getValueProperty): Sort the hashmap comment into categories 17468 to make further migration easier. 17469 * bindings/js/kjs_window.h: Sort the enum into categories to make further 17470 migration easier. 17471 (KJS::Window::): 17472 * page/DOMWindow.cpp: Add new methods. 17473 (WebCore::DOMWindow::focus): 17474 (WebCore::DOMWindow::blur): 17475 (WebCore::DOMWindow::offscreenBuffering): 17476 (WebCore::DOMWindow::outerHeight): 17477 (WebCore::DOMWindow::outerWidth): 17478 (WebCore::DOMWindow::innerHeight): 17479 (WebCore::DOMWindow::innerWidth): 17480 (WebCore::DOMWindow::screenX): 17481 (WebCore::DOMWindow::screenY): 17482 (WebCore::DOMWindow::scrollX): 17483 (WebCore::DOMWindow::scrollY): 17484 (WebCore::DOMWindow::getComputedStyle): 17485 (WebCore::DOMWindow::getMatchedCSSRules): Add null Document assertion. 17486 (WebCore::DOMWindow::devicePixelRatio): Add null Frame and Page checks. 17487 * page/DOMWindow.h: 17488 (WebCore::DOMWindow::screenLeft): 17489 (WebCore::DOMWindow::screenTop): 17490 (WebCore::DOMWindow::pageXOffset): 17491 (WebCore::DOMWindow::pageYOffset): 17492 * page/DOMWindow.idl: 17493 17494 2007-07-10 Oliver Hunt <oliver (a] apple.com> 17495 17496 Reviewed by Maciej. 17497 17498 Fix for <rdar://problem/5326417> Editor::unmarkText needs to be crossplatform 17499 17500 Missed this in earlier patch to make text marking platform independent. 17501 17502 * editing/Editor.cpp: 17503 (WebCore::Editor::unmarkText): 17504 Add platform independent impl 17505 * editing/mac/EditorMac.mm: 17506 Remove the old mac path. 17507 17508 2007-07-10 Geoffrey Garen <ggaren (a] apple.com> 17509 17510 Reviewed by Tim Hatcher. 17511 17512 Added a Page counter. This helped me while investigating 17513 <rdar://problem/5314463> 40MB of WebKit memory still allocated after 17514 closing large email in Mail 17515 17516 * WebCore.xcodeproj/project.pbxproj: 17517 * page/Page.cpp: 17518 (WebCore::): 17519 (WebCore::PageCounter::~PageCounter): 17520 (WebCore::Page::Page): 17521 (WebCore::Page::~Page): 17522 17523 2007-07-10 Timothy Hatcher <timothy (a] apple.com> 17524 17525 Reviewed by Geoff. 17526 17527 <rdar://problem/5326126> InspectorResource holds onto more data than it needs 17528 17529 Reduces the fixed size of InspectorResource from 630 bytes to 224 bytes. Now 17530 selectively pick out parts of the ResourceRequest and ResourceResponse objects 17531 for the info needed and store that directly in InspectorResource. 17532 17533 The ResourceRequest and ResourceResponse objects hold a reference to the original 17534 NSURL object, so almost double the data was being kept around. So the struct size 17535 reduction is just the tip of the ice burg on what this really saves. 17536 17537 In a test of 100,000 XMLHTTPRequests using a 85 byte long data URL, I see ~21 MB less 17538 RSIZE compared to Safari running without this change. 17539 17540 * page/InspectorController.cpp: 17541 (WebCore::InspectorResource::InspectorResource): 17542 (WebCore::InspectorResource::type): 17543 (WebCore::addSourceToFrame): 17544 (WebCore::scriptObjectForRequest): 17545 (WebCore::scriptObjectForResponse): 17546 (WebCore::InspectorController::addScriptResource): 17547 (WebCore::InspectorController::addAndUpdateScriptResource): 17548 (WebCore::updateResourceRequest): 17549 (WebCore::updateResourceResponse): 17550 (WebCore::InspectorController::updateScriptResourceRequest): 17551 (WebCore::InspectorController::updateScriptResourceResponse): 17552 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 17553 (WebCore::InspectorController::identifierForInitialRequest): 17554 (WebCore::InspectorController::willSendRequest): 17555 (WebCore::InspectorController::didReceiveResponse): 17556 (WebCore::InspectorController::didFailLoading): 17557 * page/InspectorController.h: 17558 17559 2007-07-10 Darin Adler <darin (a] apple.com> 17560 17561 Reviewed by Brady. 17562 17563 - fix crash introduced by my patch for 5318732, only seen in release builds 17564 17565 * page/Page.cpp: (WebCore::Page::~Page): Added a missing null check. 17566 17567 2007-07-10 Andrea Cavalli <amc82 (a] cam.ac.uk> 17568 17569 Reviewed by George Staikos. 17570 17571 Fixed render theme for text field. 17572 17573 * platform/qt/RenderThemeQt.cpp: 17574 (WebCore::RenderThemeQt::paintTextField): 17575 17576 2007-07-10 Qing Zhao <qing (a] staikos.net> 17577 17578 Reviewed by George Staikos. 17579 17580 Draw focus rings for nodes that are not rendered by QStyle. 17581 17582 * platform/graphics/qt/GraphicsContextQt.cpp: 17583 (WebCore::focusRingColor): 17584 (WebCore::GraphicsContext::drawFocusRing): 17585 * platform/qt/RenderThemeQt.cpp: 17586 (WebCore::RenderThemeQt::supportsFocusRing): 17587 (WebCore::RenderThemeQt::supportsFocus): 17588 17589 2007-07-10 Nikolas Zimmermann <zimmermann (a] kde.org> 17590 17591 Reviewed by Geoff. 17592 17593 Fix 'unsigned int' overflow in CodeGeneratorJS.pm. 17594 This fixes hashing of "SVG_FEBLEND_MODE_NORMAL". Its hashvalue exceeded 2^32, which 17595 is no problem in perl but in the cpp code. Emulate C/C++ behaviour by using "% 2^32" in 17596 the perl code. Testcase available in feature-branch soon (js-svg-constructors.svg). 17597 17598 * bindings/scripts/CodeGeneratorJS.pm: 17599 17600 2007-07-10 Geoffrey Garen <ggaren (a] apple.com> 17601 17602 Reviewed by Maciej Stachowiak. 17603 17604 Disabled Arena recycling in RenderArena. PLT shows no regression 17605 (possibly a small speedup), and this can reduce allocated memory in 17606 WebKit clients by about 120K (4K per Arena * 30 Arenas). 17607 17608 I happened upon this optimization while investigating 17609 <rdar://problem/5314463> WebKit hangs on to 40MB RAM after closing 17610 large email in Mail (appears to be render tree arena allocator), 17611 although I don't think it will come close to fixing that bug 17612 completely. 17613 17614 * rendering/RenderArena.cpp: 17615 (WebCore::RenderArena::~RenderArena): Use FinishArenaPool, which frees 17616 the ArenaPool's Arenas immediately. 17617 17618 2007-07-10 Mitz Pettel <mitz (a] webkit.org> 17619 17620 Reviewed by Hyatt. 17621 17622 - fix http://bugs.webkit.org/show_bug.cgi?id=14449 17623 REGRESSION (r14345-r14375): Absolutely positioned image does not scale to containing element's height 17624 17625 Test: fast/replaced/absolute-position-percentage-height.html 17626 17627 * rendering/RenderBox.cpp: 17628 (WebCore::RenderBox::calcReplacedHeightUsing): For positioned elements, evaluate 17629 the percentage with respect to the container's final height. 17630 17631 2007-07-10 Brady Eidson <beidson (a] apple.com> 17632 17633 Reviewed by Mark Rowe 17634 17635 Add 64-bit integer converters to our string classes for future work 17636 17637 * platform/DeprecatedString.cpp: 17638 (WebCore::DeprecatedString::toInt64): 17639 (WebCore::DeprecatedString::toUInt64): 17640 * platform/DeprecatedString.h: 17641 17642 * platform/PlatformString.h: 17643 * platform/String.cpp: 17644 (WebCore::String::toInt64): 17645 (WebCore::String::toUInt64): 17646 17647 * platform/StringImpl.cpp: 17648 (WebCore::StringImpl::toInt64): 17649 (WebCore::StringImpl::toUInt64): 17650 * platform/StringImpl.h: 17651 17652 2007-07-10 Darin Adler <darin (a] apple.com> 17653 17654 Reviewed by Anders. 17655 17656 - fix <rdar://problem/5318732> REGRESSION: In Mail, a crash occurs when attempting to send 17657 a HTML based message (nytimes.com, washingtonpost.com, latimes.com) 17658 17659 Did an audit of calls to get the inspector and most other uses of Page* and added null 17660 checks since Frame* can outlast its Page*. 17661 17662 * loader/FrameLoader.cpp: 17663 (WebCore::FrameLoader::createWindow): Added null check. 17664 (WebCore::FrameLoader::loadSubframe): Ditto. 17665 (WebCore::FrameLoader::load): Ditto. 17666 (WebCore::FrameLoader::transitionToCommitted): Ditto. 17667 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto. 17668 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Ditto. 17669 (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto. 17670 (WebCore::FrameLoader::loadResourceSynchronously): Ditto. 17671 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto. 17672 (WebCore::FrameLoader::requestFromDelegate): Ditto. 17673 (WebCore::FrameLoader::canGoBackOrForward): Ditto. 17674 (WebCore::FrameLoader::getHistoryLength): Ditto. 17675 (WebCore::FrameLoader::historyURL): Ditto. 17676 (WebCore::FrameLoader::cachePageForHistoryItem): Ditto. 17677 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Ditto. 17678 (WebCore::FrameLoader::goToItem): Ditto. 17679 (WebCore::FrameLoader::dispatchWindowObjectAvailable): Ditto. 17680 (WebCore::FrameLoader::dispatchDidCommitLoad): Ditto. 17681 (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest): Ditto. 17682 (WebCore::FrameLoader::dispatchWillSendRequest): Ditto. 17683 (WebCore::FrameLoader::dispatchDidReceiveResponse): Ditto. 17684 (WebCore::FrameLoader::dispatchDidReceiveContentLength): Ditto. 17685 (WebCore::FrameLoader::dispatchDidFinishLoading): Ditto. 17686 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Ditto. 17687 17688 * page/ContextMenuController.h: 17689 * page/ContextMenuController.cpp: 17690 (WebCore::ContextMenuController::ContextMenuController): Removed unneeded and 17691 unused Page* parameter. 17692 (WebCore::openNewWindow): Added null check. 17693 (WebCore::ContextMenuController::contextMenuItemSelected): Ditto. 17694 17695 * page/InspectorController.h: 17696 (WebCore::InspectorController::pageDestroyed): Added. Since this object is 17697 owned by the Page and has a back-pointer to it, it needs an explicit disconnect. 17698 There's already a higher-level one, but this is more reliable than that. 17699 * page/InspectorController.cpp: 17700 (WebCore::InspectorController::windowScriptObjectAvailable): Added null check. 17701 (WebCore::InspectorController::windowUnloading): Ditto. 17702 17703 * page/Page.cpp: 17704 (WebCore::Page::Page): Updated for change in parameters of ContextMenuController 17705 constructor. 17706 (WebCore::Page::~Page): Added call to InspectorController pageDestroyed(). 17707 17708 * page/Chrome.cpp: Updated includes. 17709 * page/DragController.cpp: Ditto. 17710 17711 2007-07-10 Adam Treat <adam (a] staikos.net> 17712 17713 Reviewed by George Staikos. 17714 17715 Bring scroll wheel out of Ludicrous Speed. 17716 17717 * platform/qt/WheelEventQt.cpp: 17718 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 17719 17720 2007-07-09 Geoffrey Garen <ggaren (a] apple.com> 17721 17722 Reviewed by Maciej Stachowiak. 17723 17724 Fixed http://bugs.webkit.org/show_bug.cgi?id=13241 | <rdar://problem/5126396> 17725 onload fires before content is finished loading (woot.com) 17726 17727 * dom/Document.cpp: 17728 (WebCore::Document::close): Try to go through the normal "Am I done loading?" 17729 machinery before dispatching the load event. As the comment indicates, 17730 we can't do this in all cases, so the fix isn't perfect. However, a perfect 17731 solution would require much riskier sweeping changes to the loader, which 17732 are best left for later, I think. 17733 17734 * xml/XSLTProcessor.cpp: 17735 (WebCore::XSLTProcessor::createDocumentFromSource): Removed a slightly 17736 worse solution to the same problem. 17737 17738 2007-07-10 Rob Buis <buis (a] kde.org> 17739 17740 Reviewed by Maciej. 17741 17742 http://bugs.webkit.org/show_bug.cgi?id=8007 17743 createElement() and XHTML (A dynamically created table not rendered as such) 17744 17745 Follow the HTML5 rules of making the name lowercase and then 17746 creating the element in the xhtml namespace. 17747 17748 * dom/Document.cpp: 17749 (WebCore::Document::createElement): 17750 * dom/Document.h: 17751 * html/HTMLDocument.cpp: 17752 * html/HTMLDocument.h: 17753 17754 2007-07-09 Qing Zhao <qing (a] staikos.net> 17755 17756 Reviewed by George Staikos. 17757 17758 Add qt context menu support. 17759 17760 * WebCore.pro: 17761 * platform/ContextMenu.h: 17762 * platform/ContextMenuItem.h: 17763 (WebCore::PlatformMenuItemDescriptionType::PlatformMenuItemDescriptionType): 17764 * platform/qt/ContextMenuItemQt.cpp: 17765 (WebCore::ContextMenuItem::ContextMenuItem): 17766 (WebCore::ContextMenuItem::~ContextMenuItem): 17767 (WebCore::ContextMenuItem::releasePlatformDescription): 17768 (WebCore::ContextMenuItem::type): 17769 (WebCore::ContextMenuItem::setType): 17770 (WebCore::ContextMenuItem::action): 17771 (WebCore::ContextMenuItem::setAction): 17772 (WebCore::ContextMenuItem::title): 17773 (WebCore::ContextMenuItem::setTitle): 17774 (WebCore::ContextMenuItem::platformSubMenu): 17775 (WebCore::ContextMenuItem::setSubMenu): 17776 (WebCore::ContextMenuItem::setChecked): 17777 (WebCore::ContextMenuItem::setEnabled): 17778 (WebCore::ContextMenuItem::enabled): 17779 * platform/qt/ContextMenuQt.cpp: 17780 (WebCore::ContextMenu::ContextMenu): 17781 (WebCore::ContextMenu::~ContextMenu): 17782 (WebCore::ContextMenu::appendItem): 17783 (WebCore::ContextMenu::itemCount): 17784 (WebCore::ContextMenu::insertItem): 17785 (WebCore::ContextMenu::setPlatformDescription): 17786 (WebCore::ContextMenu::platformDescription): 17787 17788 2007-07-09 Anders Carlsson <andersca (a] apple.com> 17789 17790 Build fix. 17791 17792 * plugins/win/PluginViewWin.cpp: 17793 (WebCore::PluginViewWin::performRequest): 17794 17795 2007-07-09 Anders Carlsson <andersca (a] apple.com> 17796 17797 Reviewed by Geoff. 17798 17799 Get rid of the node argument in our various script execution functions. 17800 17801 * bindings/js/kjs_proxy.cpp: 17802 (WebCore::KJSProxy::evaluate): 17803 * bindings/js/kjs_proxy.h: 17804 * bindings/js/kjs_window.cpp: 17805 (KJS::ScheduledAction::execute): 17806 * dom/XMLTokenizer.cpp: 17807 (WebCore::XMLTokenizer::endElementNs): 17808 (WebCore::XMLTokenizer::notifyFinished): 17809 * html/HTMLScriptElement.cpp: 17810 (WebCore::HTMLScriptElement::evaluateScript): 17811 * html/HTMLTokenizer.cpp: 17812 (WebCore::HTMLTokenizer::scriptExecution): 17813 * loader/FrameLoader.cpp: 17814 (WebCore::FrameLoader::changeLocation): 17815 (WebCore::FrameLoader::urlSelected): 17816 (WebCore::FrameLoader::submitForm): 17817 (WebCore::FrameLoader::replaceContentsWithScriptResult): 17818 (WebCore::FrameLoader::executeScript): 17819 * loader/FrameLoader.h: 17820 * page/mac/WebCoreFrameBridge.mm: 17821 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): 17822 (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): 17823 17824 2007-07-09 Justin Garcia <justin.garcia (a] apple.com> 17825 17826 Rolling the fix for 5290534 back in now that 5310404 has been fixed in Mail. 17827 17828 * editing/DeleteSelectionCommand.cpp: 17829 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 17830 17831 2007-07-09 Geoffrey Garen <ggaren (a] apple.com> 17832 17833 Reviewed by Anders Carlsson. 17834 17835 A little more FrameLoader cleanup while working on <rdar://problem/5126396>. 17836 17837 Rename: "checkEmitLoadEvent" => "checkCallImplicitClose" because the function 17838 doesn't emit the load event; it just calls implicitClose. 17839 17840 Rename: "m_wasLoadEventEmitted" => "m_didCallImplicitClose" because the variable 17841 tracks whether implicitClose was called. 17842 17843 * dom/Document.cpp: 17844 (WebCore::Document::implicitClose): Turned 12 lines of code into 6, adding ASSERT. 17845 * loader/FrameLoader.h: Removed bogus declaration of non-existent emitLoadEvent(). 17846 17847 2007-07-09 Justin Garcia <justin.garcia (a] apple.com> 17848 17849 Reviewed by John. 17850 17851 REGRESSION: Crash when deleting table content in Leopard Mail 17852 17853 * editing/DeleteSelectionCommand.cpp: 17854 (WebCore::DeleteSelectionCommand::handleGeneralDelete): Use a RefPtr 17855 for the next node to delete, in case it is destroyed when the 17856 current node is deleted. In the crash reported in the radar, we 17857 crash because the next node is the div that holds the delete button 17858 and it's destroyed when the node that contains the selection is removed. 17859 17860 2007-07-09 Adam Treat <adam (a] staikos.net> 17861 17862 Reviewed by George Staikos. 17863 17864 Convert QWebFrame from a QFrame to a pure QObject to eliminate all 17865 traces of widgets. 17866 17867 * page/qt/EventHandlerQt.cpp: 17868 (WebCore::EventHandler::passSubframeEventToSubframe): 17869 * platform/ScrollView.h: 17870 * platform/Widget.h: 17871 * platform/qt/PlatformScrollBarQt.cpp: 17872 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 17873 (WebCore::PlatformScrollbar::handleMousePressEvent): 17874 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): 17875 * platform/qt/PopupMenuQt.cpp: 17876 (WebCore::PopupMenu::show): 17877 * platform/qt/ScrollViewQt.cpp: 17878 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 17879 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 17880 (WebCore::ScrollView::ScrollViewPrivate::windowClipRect): 17881 (WebCore::ScrollView::updateContents): 17882 (WebCore::ScrollView::update): 17883 (WebCore::ScrollView::geometryChanged): 17884 (WebCore::ScrollView::windowToContents): 17885 (WebCore::ScrollView::contentsToWindow): 17886 (WebCore::ScrollView::convertChildToSelf): 17887 (WebCore::ScrollView::convertSelfToChild): 17888 (WebCore::ScrollView::scrollbarUnderMouse): 17889 (WebCore::ScrollView::addChild): 17890 (WebCore::ScrollView::paint): 17891 * platform/qt/WidgetQt.cpp: 17892 (WebCore::WidgetPrivate::WidgetPrivate): 17893 (WebCore::WidgetPrivate::~WidgetPrivate): 17894 (WebCore::WidgetPrivate::setGeometry): 17895 (WebCore::WidgetPrivate::geometry): 17896 (WebCore::Widget::frameGeometry): 17897 (WebCore::Widget::setFocus): 17898 (WebCore::Widget::setCursor): 17899 (WebCore::Widget::show): 17900 (WebCore::Widget::hide): 17901 (WebCore::Widget::qwebframe): 17902 (WebCore::Widget::setQWebFrame): 17903 (WebCore::Widget::qwidget): 17904 (WebCore::Widget::setQWidget): 17905 (WebCore::Widget::setFrameGeometry): 17906 (WebCore::Widget::isEnabled): 17907 (WebCore::Widget::setEnabled): 17908 (WebCore::Widget::setIsSelected): 17909 (WebCore::Widget::invalidate): 17910 (WebCore::Widget::invalidateRect): 17911 (WebCore::Widget::removeFromParent): 17912 (WebCore::Widget::geometryChanged): 17913 (WebCore::Widget::convertToContainingWindow): 17914 (WebCore::Widget::convertFromContainingWindow): 17915 (WebCore::Widget::convertChildToSelf): 17916 (WebCore::Widget::convertSelfToChild): 17917 (WebCore::Widget::containingWindow): 17918 17919 2007-07-09 Anders Carlsson <andersca (a] apple.com> 17920 17921 Reviewed by Oliver. 17922 17923 Add DocumentLoader::isLoadingMainResource. 17924 17925 * WebCore.exp: 17926 17927 2007-07-09 John Sullivan <sullivan (a] apple.com> 17928 17929 Reviewed by Darin 17930 17931 * WebCore.exp: 17932 * WebCore.xcodeproj/project.pbxproj: 17933 exported String::createCFString, needed for <rdar://problem/5320208> 17934 17935 2007-07-09 Mitz Pettel <mitz (a] webkit.org> 17936 17937 Reviewed by Maciej. 17938 17939 Test case for the bug below, which is http://bugs.webkit.org/show_bug.cgi?id=14207 17940 17941 * manual-tests/flash-unload-tab.html: Added. 17942 17943 2007-07-09 Maciej Stachowiak <mjs (a] apple.com> 17944 17945 Reviewed by Oliver. 17946 17947 <rdar://problem/5295734> Repro crash closing tab/window @ maps.google.com in 17948 WTF::HashSet<KJS::RuntimeObjectImp*, WTF::PtrHash<KJS::RuntimeObjectImp*>, 17949 WTF::HashTraits<KJS::RuntimeObjectImp*> >::add + 11 17950 17951 Automated test case is not possible. Did not bother with manual test this time. 17952 17953 * bindings/js/kjs_dom.cpp: 17954 (WebCore::getRuntimeObject): Check that runtime root isn't null, as well as instance; 17955 this should cover the case where the plugin is already shut down and onunload time. 17956 17957 2007-07-08 Maciej Stachowiak <mjs (a] apple.com> 17958 17959 Reviewed by Sam. 17960 17961 - fixed <rdar://problem/5220706> REGRESSION (TOT): repro crash in -[WebView(WebViewInternal) _addObject:forIdentifier:] [14425] 17962 http://bugs.webkit.org/show_bug.cgi?id=14425 17963 17964 * bindings/js/kjs_window.cpp: 17965 (KJS::createWindow): No longer take an immediate argument - always do immediate loads 17966 on a newly created Window. Also, do a load of "" to make sure that the right info makes 17967 it to the app. 17968 (KJS::showModalDialog): Updated for above. 17969 (KJS::WindowFunc::callAsFunction): Updated for above. 17970 * dom/Document.cpp: 17971 (WebCore::Document::shouldBeAllowedToLoadLocalResources): If our URL is about:blank, 17972 we're allowed if our opener is (since the opener must have written the contents). 17973 * loader/FrameLoader.cpp: 17974 (WebCore::FrameLoader::changeLocation): Add a variant which takes a KURL, which it 17975 expects to be pre-completed. This is to avoid completing "" to the opener URL. 17976 (WebCore::FrameLoader::urlSelected): Allow loading empty URLs. 17977 * loader/FrameLoader.h: 17978 17979 Test case is manual only, since it takes particular app behavior to reproduce: 17980 17981 * manual-tests/new-window-subresource-crash.html: Added. 17982 17983 2007-07-08 Mitz Pettel <mitz (a] webkit.org> 17984 17985 Reviewed by Maciej. 17986 17987 - fix leaks introduced in r24099 17988 17989 * dom/Element.cpp: 17990 (WebCore::Element::~Element): Do not delete the cached computed style here. 17991 (WebCore::Element::detach): Delete the computed style here instead. 17992 (WebCore::Element::computedStyle): Removed a redundant ref() which was 17993 causing the leak. Changed to return 0 if the element is not attached, 17994 because in that case there is currently no way to tell when to delete the computed 17995 style. 17996 17997 2007-07-08 Mitz Pettel <mitz (a] webkit.org> 17998 17999 Reviewed by Darin. 18000 18001 - fix http://bugs.webkit.org/show_bug.cgi?id=12384 18002 getComputedStyle with td.style.display='none' reports '' for all properties except display 18003 18004 Test: fast/css/computed-style-without-renderer.html 18005 18006 Implement rich computed style for elements that do not have a renderer. 18007 18008 * css/CSSComputedStyleDeclaration.cpp: 18009 (WebCore::getPositionOffsetValue): Changed to take a RenderStyle instead of 18010 a RenderObject. 18011 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to 18012 use the computed style returned by the node instead of going through the 18013 renderer. Changed properties that compute by measuring the renderer to 18014 fall back on returning the length from the RenderStyle if a renderer does 18015 not exist. 18016 (WebCore::CSSComputedStyleDeclaration::length): Changed to return the number 18017 of properties we can compute even if the element has no renderer. 18018 (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties): Changed 18019 to use the computed style returned by the node instead of going through the 18020 renderer. 18021 * dom/Element.cpp: 18022 (WebCore::ElementRareData::ElementRareData): Added a computed style member, 18023 used to cache computed style for elements that do not have a renderer. 18024 (WebCore::ElementRareData::resetComputedStyle): Added. 18025 (WebCore::Element::~Element): Delete the cached computed style. 18026 (WebCore::Element::recalcStyle): Added code to delete the cached computed 18027 style when necessary. 18028 (WebCore::Element::computedStyle): Added. Returns the style used in rendering 18029 the element, if available. Otherwise uses the style selector to compute style 18030 for the element. 18031 * dom/Element.h: 18032 * dom/Node.cpp: 18033 (WebCore::Node::computedStyle): Added. This method returns either the style 18034 used in rendering the node, or the style that would be used if the node 18035 had a renderer. 18036 * dom/Node.h: 18037 18038 2007-07-08 Mitz Pettel <mitz (a] webkit.org> 18039 18040 Reviewed by Darin. 18041 18042 - fix http://bugs.webkit.org/show_bug.cgi?id=14544 18043 Scroll wheel events are ignored when the cursor is over an iframe's border 18044 18045 * page/mac/EventHandlerMac.mm: 18046 (WebCore::EventHandler::passWheelEventToWidget): Changed to return false if 18047 the event coordinates are not inside the widget's NSView hierarchy. 18048 18049 2007-07-08 Rob Buis <buis (a] kde.org> 18050 18051 Reviewed by Mitz. 18052 18053 http://bugs.webkit.org/show_bug.cgi?id=10752 18054 The inspector should not respond to Make Text Smaller/Bigger commands 18055 18056 Use the -webkit-text-size-adjust property to ignore text sizing 18057 and do not take the zoom factor into account for line height when 18058 -webkit-text-size-adjust is set to none. 18059 18060 * css/cssstyleselector.cpp: 18061 (WebCore::CSSStyleSelector::applyProperty): 18062 * page/inspector/inspector.css: 18063 18064 2007-07-08 Darin Adler <darin (a] apple.com> 18065 18066 Reviewed by Maciej. 18067 18068 - fix <rdar://problem/5318994> Integer overflow in WebCore's Base64.cpp:base64Encode 18069 18070 * platform/Base64.cpp: 18071 (WebCore::base64Encode): Check against a maximum size. 18072 (WebCore::base64Decode): Ditto. 18073 18074 2007-07-08 Darin Adler <darin (a] apple.com> 18075 18076 Reviewed by Maciej. 18077 18078 - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check 18079 18080 * platform/ThreadCheck.h: Renamed _WebCoreThreadViolationCheck to reportThreadViolation 18081 since it's in the WebCore namespace and also we shouldn't use leading underscores since 18082 those are reserved for the compiler and standard library. Added a new function named 18083 setDefaultThreadViolationBehavior and an enum for the parameter. Removed the 18084 threadViolationIsException parameter from WebCoreReportThreadViolation since we use 18085 a global variable for it now. Got rid of the unnecessary use of do while (0) in the 18086 WebCoreThreadViolationCheck macro -- since it's only a single function call it's already 18087 a statement and doesn't need to be turned into one with the do while (0) trick. 18088 18089 * platform/mac/ThreadCheck.mm: 18090 (WebCore::readThreadViolationBehaviorFromUserDefaults): Moved the code to read from 18091 NSUserDefaults into this helper function. Changed it to use stringForKey instead of 18092 objectForKey so we don't get a "method not found" if someone puts something other than 18093 a string in there. Updated to use the new globals. 18094 (WebCore::setDefaultThreadViolationBehavior): Added. 18095 (WebCore::reportThreadViolation): Simplified, now that most of the work is in the 18096 readThreadViolationBehaviorFromUserDefaults function. 18097 (WebCoreReportThreadViolation): Changed to use a global variable instead of parameter 18098 to determine how to report a violation. Added LogOnFirstThreadViolation, which will 18099 log only once for each function that violates. 18100 18101 * WebCore.exp: Updated for above changes. 18102 18103 2007-07-08 Mitz Pettel <mitz (a] webkit.org> 18104 18105 Reviewed by Darin. 18106 18107 - fix http://bugs.webkit.org/show_bug.cgi?id=14221 18108 Repro crash (ASSERTION FAILED: oldText in RenderBlock::updateFirstLetter() during relayout of :before content with first-letter style) 18109 18110 Test: fast/css-generated-content/before-with-first-letter.html 18111 18112 * rendering/RenderContainer.cpp: 18113 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): If a child 18114 of the existing 'before' container is not text, do not assume that it is an 18115 image, since it can also be an inline wrapping a first-letter. In that case, 18116 do not update its style (so in particular, keep it a FIRST_LETTER type style) 18117 and leave it to updateFirstLetter() to take care of. 18118 18119 2007-07-07 Sam Weinig <sam (a] webkit.org> 18120 18121 Reviewed by Oliver Hunt. 18122 18123 Bailout early in Window::put() if attribute is readonly to avoid 18124 extra calls to isSafeScript(). 18125 18126 * bindings/js/kjs_window.cpp: 18127 (KJS::Window::put): 18128 18129 2007-07-07 Darin Adler <darin (a] apple.com> 18130 18131 Reviewed by Oliver Hunt. 18132 18133 - fix <rdar://problem/5292364> REGRESSION: ZX Spectrum 3.0 widget - graphic anomalies in widget window frame 18134 18135 Updated Dashboard quirk so it affects fill, stroke, and clip, rather than just stroke. 18136 18137 Test: fast/canvas/fill-stroke-clip-reset-path.html 18138 18139 * html/CanvasRenderingContext2D.h: Added clearPathForDashboardBackwardCompatibilityMode. 18140 * html/CanvasRenderingContext2D.cpp: 18141 (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode): Added. 18142 (WebCore::CanvasRenderingContext2D::fill): Call the new function. 18143 (WebCore::CanvasRenderingContext2D::stroke): Replaced in-line code with a call to the new function. 18144 (WebCore::CanvasRenderingContext2D::clip): Call the new function. 18145 18146 2007-07-07 Rob Buis <buis (a] kde.org> 18147 18148 Reviewed and tweaked by Darin. 18149 18150 http://bugs.webkit.org/show_bug.cgi?id=8994 18151 Canvas doesn't reset on resize 18152 18153 Also reset the rendering context when resetting the canvas. 18154 18155 * html/HTMLCanvasElement.cpp: 18156 (WebCore::HTMLCanvasElement::reset): 18157 (WebCore::HTMLCanvasElement::drawingContext): 18158 18159 2007-07-07 Alexey Proskuryakov <ap (a] webkit.org> 18160 18161 Reviewed by Maciej. 18162 18163 http://bugs.webkit.org/show_bug.cgi?id=14525 18164 Support exslt:node-set() 18165 18166 Test: fast/xsl/exslt-node-set.xml 18167 18168 * xml/XSLTExtensions.cpp: Added. 18169 (WebCore::exsltNodeSetFunction): A copy of exslt:node-set() implementation 18170 from libexslt 1.1.11 (shipped with Tiger). 18171 (WebCore::registerXSLTExtensions): This function registers any WebCore-provided 18172 extensions on a context. Currently, the only extension is exslt:node-set(). 18173 * xml/XSLTExtensions.h: Added. 18174 18175 * xml/XSLTProcessor.cpp: 18176 (WebCore::XSLTProcessor::transformToString): 18177 Register extensions when creating a context. 18178 18179 * WebCore.pro: 18180 * WebCore.vcproj/WebCore.vcproj: 18181 * WebCore.xcodeproj/project.pbxproj: 18182 * WebCoreSources.bkl: 18183 Add XSLTExtensions.{h,cpp} to projects. 18184 18185 2007-07-06 Maciej Stachowiak <mjs (a] apple.com> 18186 18187 Reviewed by Oliver. 18188 18189 - fixed <rdar://problem/5133420> ASSERT in WebDocumentLoaderMac::decreaseLoadCount() un-discarding Gmail message 18190 18191 test case: fast/loader/early-load-cancel.html 18192 18193 * loader/ResourceLoader.cpp: 18194 (WebCore::ResourceLoader::didCancel): Don't send cancel-related client callbacks 18195 if we never even sent willSendRequest because we were deferred. 18196 18197 2007-07-06 Oliver Hunt <oliver (a] apple.com> 18198 18199 Reviewed by Maciej. 18200 18201 Pulled a number of methods from WebKit and WebCoreFrameBridge into 18202 C++ objects. 18203 18204 * WebCore.exp: 18205 * WebCore.xcodeproj/project.pbxproj: 18206 * editing/Editor.cpp: 18207 (WebCore::Editor::replaceMarkedText): 18208 From -[WebCoreFrameBridge replaceMarkedTextWithText:] 18209 * editing/Editor.h: 18210 * page/Frame.cpp: 18211 (WebCore::Frame::setMarkedTextRange): 18212 Pulled platform independent logic from Mac specific implementation 18213 (WebCore::Frame::selectRangeInMarkedText): 18214 Converted from -[WebHTMLView _selectRangeInMarkedText:] 18215 * page/Frame.h: 18216 * page/mac/FrameMac.mm: 18217 (WebCore::Frame::setMarkedTextRange): 18218 Now only does Mac specific logic when manipulating initial 18219 NSAttributedString 18220 * page/mac/WebCoreFrameBridge.h: 18221 * page/mac/WebCoreFrameBridge.mm: 18222 Removed -[WebCoreFrameBridge replaceMarkedTextWithText:] 18223 18224 2007-07-06 Mitz Pettel <mitz (a] webkit.org> 18225 18226 Reviewed by Darin. 18227 18228 - fix http://bugs.webkit.org/show_bug.cgi?id=14545 18229 REGRESSION (r21854-r21869): Repro crash in RenderBlock::updateFirstLetter @ nola.com/rose/ 18230 18231 Test: fast/css/first-letter-capitalized.html 18232 18233 * rendering/RenderBlock.cpp: 18234 (WebCore::RenderBlock::updateFirstLetter): Moved the call to setFirstLetter 18235 further down so that the first letter is not destroyed if a text transform 18236 is applied to the remaining text fragment when it is add to the render tree. 18237 * rendering/RenderText.cpp: 18238 (WebCore::RenderText::previousCharacter): Factored out of setTextInternal. 18239 (WebCore::RenderText::setTextInternal): Changed to call previousCharacter(). 18240 * rendering/RenderText.h: 18241 * rendering/RenderTextFragment.cpp: 18242 (WebCore::RenderTextFragment::previousCharacter): Override to return the 18243 character in the original string before the start of the fragment. 18244 * rendering/RenderTextFragment.h: 18245 18246 2007-07-06 Mitz Pettel <mitz (a] webkit.org> 18247 18248 Reviewed by Beth. 18249 18250 - fix http://bugs.webkit.org/show_bug.cgi?id=14536 18251 Unnecessary layout done when mousing down in text field 18252 18253 No test possible because there is no change in functionality. 18254 18255 * rendering/RenderTextControl.cpp: 18256 (WebCore::RenderTextControl::setStyle): Reset the height and the width in 18257 the old style to avoid getting a layout hint as a result of having mutated 18258 the old style during layout. 18259 (WebCore::RenderTextControl::layout): Update children's layout if an inner 18260 block's dimensions should change. This need for layout was previously masked 18261 by the bug. 18262 18263 2007-07-06 Brady Eidson <beidson (a] apple.com> 18264 18265 Fix builds that use IconDatabaseNone.cpp - better, this time 18266 18267 * loader/icon/IconDatabaseNone.cpp: 18268 (WebCore::IconDatabase::isOpen): 18269 18270 2007-07-06 Brady Eidson <beidson (a] apple.com> 18271 18272 Fix builds that use IconDatabaseNone.cpp 18273 18274 * loader/icon/IconDatabaseNone.cpp: 18275 (WebCore::IconDatabase::databasePath): 18276 18277 2007-07-06 John Sullivan <sullivan (a] apple.com> 18278 18279 Reviewed by Brady 18280 18281 - WebCore part of fix for: 18282 <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files 18283 18284 * loader/icon/IconDatabase.h: 18285 * loader/icon/IconDatabase.cpp: 18286 (WebCore::IconDatabase::isOpen): 18287 made this method const (necessary to make IconDatabase::databasePath const) 18288 (WebCore::IconDatabase::databasePath): 18289 new method, returns SQLDatabase's path if open, otherwise empty string 18290 18291 * loader/icon/SQLDatabase.cpp: 18292 (WebCore::SQLDatabase::open): 18293 don't append a null character to the m_path ivar. The appended null character was making the path() 18294 method return a String with a trailing null, which is bad. However, there were no callers to the 18295 path() method until now. Instead of appending a null character to the ivar, use charactersWithNullTermination() 18296 instead of characters() when opening the database. 18297 18298 * loader/icon/SQLDatabase.h: 18299 (WebCore::SQLDatabase::isOpen): 18300 made this method const (necessary to make IconDatabase::databasePath const) 18301 (WebCore::SQLDatabase::path): 18302 made this method const (not required for these changes, but seemed worth doing at the same time) 18303 18304 * WebCore.exp: 18305 added symbol for IconDatabase::databasePath 18306 18307 2007-07-06 George Staikos <staikos (a] kde.org> 18308 18309 No real functional change - just move the localizations out and 18310 stick some placeholder text in. 18311 18312 * platform/qt/Localizations.cpp: Added. 18313 (WebCore::submitButtonDefaultLabel): 18314 (WebCore::inputElementAltText): 18315 (WebCore::resetButtonDefaultLabel): 18316 (WebCore::defaultLanguage): 18317 (WebCore::searchableIndexIntroduction): 18318 (WebCore::fileButtonChooseFileLabel): 18319 (WebCore::fileButtonNoFileSelectedLabel): 18320 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 18321 (WebCore::contextMenuItemTagDownloadLinkToDisk): 18322 (WebCore::contextMenuItemTagCopyLinkToClipboard): 18323 (WebCore::contextMenuItemTagOpenImageInNewWindow): 18324 (WebCore::contextMenuItemTagDownloadImageToDisk): 18325 (WebCore::contextMenuItemTagCopyImageToClipboard): 18326 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 18327 (WebCore::contextMenuItemTagCopy): 18328 (WebCore::contextMenuItemTagGoBack): 18329 (WebCore::contextMenuItemTagGoForward): 18330 (WebCore::contextMenuItemTagStop): 18331 (WebCore::contextMenuItemTagReload): 18332 (WebCore::contextMenuItemTagCut): 18333 (WebCore::contextMenuItemTagPaste): 18334 (WebCore::contextMenuItemTagNoGuessesFound): 18335 (WebCore::contextMenuItemTagIgnoreSpelling): 18336 (WebCore::contextMenuItemTagLearnSpelling): 18337 (WebCore::contextMenuItemTagSearchWeb): 18338 (WebCore::contextMenuItemTagLookUpInDictionary): 18339 (WebCore::contextMenuItemTagOpenLink): 18340 (WebCore::contextMenuItemTagIgnoreGrammar): 18341 (WebCore::contextMenuItemTagSpellingMenu): 18342 (WebCore::contextMenuItemTagShowSpellingPanel): 18343 (WebCore::contextMenuItemTagCheckSpelling): 18344 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 18345 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 18346 (WebCore::contextMenuItemTagFontMenu): 18347 (WebCore::contextMenuItemTagBold): 18348 (WebCore::contextMenuItemTagItalic): 18349 (WebCore::contextMenuItemTagUnderline): 18350 (WebCore::contextMenuItemTagOutline): 18351 (WebCore::contextMenuItemTagWritingDirectionMenu): 18352 (WebCore::contextMenuItemTagDefaultDirection): 18353 (WebCore::contextMenuItemTagLeftToRight): 18354 (WebCore::contextMenuItemTagRightToLeft): 18355 (WebCore::contextMenuItemTagInspectElement): 18356 (WebCore::searchMenuNoRecentSearchesText): 18357 (WebCore::searchMenuRecentSearchesText): 18358 (WebCore::searchMenuClearRecentSearchesText): 18359 (WebCore::AXWebAreaText): 18360 (WebCore::AXLinkText): 18361 (WebCore::AXListMarkerText): 18362 (WebCore::AXImageMapText): 18363 (WebCore::AXHeadingText): 18364 * platform/qt/TemporaryLinkStubs.cpp: 18365 18366 2007-07-06 Geoffrey Garen <ggaren (a] apple.com> 18367 18368 Reviewed by Anders Carlsson. 18369 18370 A little more FrameLoader cleanup while working on <rdar://problem/5126396>. 18371 18372 Moved url() and URL() methods next to each other to highlight their subtlety. 18373 18374 * loader/FrameLoader.cpp: 18375 (WebCore::FrameLoader::url): 18376 * loader/FrameLoader.h: 18377 18378 2007-07-06 Geoffrey Garen <ggaren (a] apple.com> 18379 18380 Reviewed by Anders Carlsson. 18381 18382 A little FrameLoader cleanup while working on <rdar://problem/5126396>. 18383 18384 Renamed endIfNotLoading() to endIfNotLoadingMainResource() because "loading" 18385 and "loadingMainResource" have distinct meanings and this function 18386 honors the latter. 18387 18388 (WebCore::FrameLoader::endIfNotLoadingMainResource): Protect after the 18389 early return to avoid ref count churn. 18390 * loader/FrameLoader.h: 18391 (WebCore::FrameLoader::isLoadingMainResource): Inlined this function. 18392 18393 2007-07-06 Adam Treat <adam (a] staikos.net> 18394 18395 Reviewed by George Staikos. 18396 18397 Convert QWebFrame to a QFrame from a scroll area. 18398 18399 * page/qt/EventHandlerQt.cpp: 18400 (WebCore::EventHandler::passSubframeEventToSubframe): 18401 (WebCore::EventHandler::passWheelEventToWidget): 18402 (WebCore::EventHandler::createDraggingClipboard): 18403 (WebCore::EventHandler::passMousePressEventToScrollbar): 18404 * platform/ScrollView.h: 18405 * platform/Widget.h: 18406 * platform/qt/PlatformScrollBar.h: 18407 * platform/qt/PlatformScrollBarQt.cpp: 18408 (WebCore::PlatformScrollbar::setRect): 18409 (WebCore::PlatformScrollbar::frameGeometry): 18410 (WebCore::PlatformScrollbar::setFrameGeometry): 18411 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 18412 (WebCore::PlatformScrollbar::handleMousePressEvent): 18413 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): 18414 * platform/qt/ScrollViewQt.cpp: 18415 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 18416 (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate): 18417 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 18418 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 18419 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 18420 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 18421 (WebCore::ScrollView::ScrollViewPrivate::windowClipRect): 18422 (WebCore::ScrollView::ScrollView): 18423 (WebCore::ScrollView::~ScrollView): 18424 (WebCore::ScrollView::setScrollArea): 18425 (WebCore::ScrollView::horizontalScrollBar): 18426 (WebCore::ScrollView::verticalScrollBar): 18427 (WebCore::ScrollView::updateContents): 18428 (WebCore::ScrollView::update): 18429 (WebCore::ScrollView::visibleWidth): 18430 (WebCore::ScrollView::visibleHeight): 18431 (WebCore::ScrollView::visibleContentRect): 18432 (WebCore::ScrollView::setContentsPos): 18433 (WebCore::ScrollView::resizeContents): 18434 (WebCore::ScrollView::setFrameGeometry): 18435 (WebCore::ScrollView::geometryChanged): 18436 (WebCore::ScrollView::contentsX): 18437 (WebCore::ScrollView::contentsY): 18438 (WebCore::ScrollView::contentsWidth): 18439 (WebCore::ScrollView::contentsHeight): 18440 (WebCore::ScrollView::windowToContents): 18441 (WebCore::ScrollView::contentsToWindow): 18442 (WebCore::ScrollView::scrollOffset): 18443 (WebCore::ScrollView::maximumScroll): 18444 (WebCore::ScrollView::scrollBy): 18445 (WebCore::ScrollView::scrollRectIntoViewRecursively): 18446 (WebCore::ScrollView::hScrollbarMode): 18447 (WebCore::ScrollView::vScrollbarMode): 18448 (WebCore::ScrollView::suppressScrollbars): 18449 (WebCore::ScrollView::setHScrollbarMode): 18450 (WebCore::ScrollView::setVScrollbarMode): 18451 (WebCore::ScrollView::setScrollbarsMode): 18452 (WebCore::ScrollView::setStaticBackground): 18453 (WebCore::ScrollView::inWindow): 18454 (WebCore::ScrollView::updateScrollbars): 18455 (WebCore::ScrollView::scrollbarUnderMouse): 18456 (WebCore::ScrollView::addChild): 18457 (WebCore::ScrollView::removeChild): 18458 (WebCore::ScrollView::paint): 18459 (WebCore::ScrollView::wheelEvent): 18460 (WebCore::ScrollView::scroll): 18461 (WebCore::ScrollView::windowResizerRect): 18462 (WebCore::ScrollView::resizerOverlapsContent): 18463 (WebCore::ScrollView::adjustOverlappingScrollbarCount): 18464 (WebCore::ScrollView::setParent): 18465 (WebCore::ScrollView::addToDirtyRegion): 18466 (WebCore::ScrollView::scrollBackingStore): 18467 (WebCore::ScrollView::updateBackingStore): 18468 * platform/qt/WidgetQt.cpp: 18469 (WebCore::WidgetPrivate::canvas): 18470 (WebCore::WidgetPrivate::setGeometry): 18471 (WebCore::WidgetPrivate::geometry): 18472 (WebCore::Widget::setQWidget): 18473 (WebCore::Widget::paint): 18474 (WebCore::Widget::originalGeometry): 18475 (WebCore::Widget::geometryChanged): 18476 18477 2007-07-06 Anders Carlsson <andersca (a] apple.com> 18478 18479 Reviewed by Mitz. 18480 18481 <rdar://problem/5280532> 18482 REGRESSION: Can't access nested embed by document.name if object is not immediate parent 18483 18484 Traverse up the tree looking for an object element. 18485 18486 * html/HTMLEmbedElement.cpp: 18487 (WebCore::HTMLEmbedElement::getInstance): 18488 18489 2007-07-06 George Staikos <staikos (a] kde.org> 18490 18491 Qt build fix: Don't clobber qmake variables that are already set. 18492 18493 * WebCore.pro: 18494 18495 2007-07-05 Maciej Stachowiak <mjs (a] apple.com> 18496 18497 Reviewed by Antti. 18498 18499 - <rdar://problem/5311093> JavaScriptCore fails to build with strict-aliasing warnings 18500 18501 * platform/StringHash.h: 18502 (WTF::): Adapt to newer way to do storage types. 18503 18504 2007-07-06 Bernhard Rosenkraenzer <bero (a] arklinux.org> 18505 18506 Reviewed by Sam. 18507 18508 Fix for http://bugs.webkit.org/show_bug.cgi?id=13985 18509 Bug 13985: WebCore/rendering/RenderTable.cpp fails to compile with gcc 4.2.x 18510 18511 * rendering/RenderTable.cpp: 18512 (WebKit::RenderTable::calcBorderLeft) 18513 (WebKit::RenderTable::calcBorderRight) 18514 18515 2007-07-06 Maxime Britto <mbritto (a] pleyo.com> 18516 18517 Reviewed by Maciej. 18518 18519 Fix http://bugs.webkit.org/show_bug.cgi?id=13038 18520 Bug 13038: ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame 18521 18522 Modify an ASSERT in goToItem related to going back/forward in history. We don't need to check the frameset if the target is _blank. 18523 The attached test case is a manual one since it relies on having pages opened in tabs in Safari. 18524 18525 * manual-tests/goBack-blank-tab-page.html: Added. 18526 * manual-tests/resources/before-go-back.html: Added. 18527 * manual-tests/resources/will-go-back.html: Added. 18528 * page/Page.cpp: 18529 (WebCore::Page::goToItem): 18530 18531 2007-07-06 Mitz Pettel <mitz (a] webkit.org> 18532 18533 Reviewed by Maciej. 18534 18535 - fix http://bugs.webkit.org/show_bug.cgi?id=14400 18536 Assertion failure (SHOULD NEVER BE REACHED) going back on YouTube 18537 18538 Test: fast/forms/button-state-restore.html 18539 18540 * dom/Document.h: 18541 (WebCore::Document::isFormElementRegistered): Added. 18542 * html/HTMLGenericFormElement.cpp: 18543 (WebCore::HTMLGenericFormElement::closeRenderer): Restore saved form 18544 element state only if the element is registered with the document to 18545 have its state saved. 18546 18547 2007-07-06 Mitz Pettel <mitz (a] webkit.org> 18548 18549 Reviewed by Maciej. 18550 18551 - fix http://bugs.webkit.org/show_bug.cgi?id=14487 18552 Incomplete repaint of background and border of boxes with -webkit-border-fit:lines 18553 18554 Test: fast/repaint/border-fit-lines.html 18555 18556 * rendering/RenderObject.cpp: 18557 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Do a full repaint if 18558 -webkit-border-fit:lines was specified. 18559 18560 2007-07-06 Tony Chang <idealisms (a] gmail.com> 18561 18562 Reviewed by Maciej. 18563 18564 http://bugs.webkit.org/show_bug.cgi?id=14516 18565 Bug 14516: crash loading multipart/x-mixed-replace data on windows safari 18566 18567 NULL check m_resourceData to prevent a crash in Safari on Windows. 18568 18569 * loader/ResourceLoader.cpp: 18570 (WebCore::ResourceLoader::clearResourceData): 18571 18572 2007-07-06 Jungshik Shin <jungshik.shin (a] gmail.com> 18573 18574 Reviewed by Alexey. 18575 18576 - Add UTF-32 encoding support 18577 http://bugs.webkit.org/show_bug.cgi?id=13415 18578 18579 Test: 18580 - fast/encoding/utf-32-big-endian-bom.html 18581 - fast/encoding/utf-32-big-endian-nobom.xml 18582 - fast/encoding/utf-32-little-endian-bom.html 18583 - fast/encoding/utf-32-little-endian-nobom.xml 18584 18585 * loader/TextResourceDecoder.cpp: 18586 (WebCore::TextResourceDecoder::checkForBOM): 18587 (WebCore::TextResourceDecoder::checkForHeadCharset): 18588 * platform/TextDecoder.cpp: 18589 (WebCore::TextDecoder::checkForBOM): 18590 * platform/TextDecoder.h: 18591 * platform/TextEncoding.cpp: 18592 (WebCore::UTF32BigEndianEncoding): 18593 (WebCore::UTF32LittleEndianEncoding): 18594 * platform/TextEncoding.h: 18595 18596 2007-07-06 Holger Hans Peter Freyther <zecke (a] selfish.org> 18597 18598 Reviewed by Maciej. 18599 18600 Start implementening RenderThemeGdk/Gtk using GtkStyle. The approach is 18601 to allocate one native control for each widget type. And use margins, spacing, 18602 style properties from the Widget. And for drawing use GtkStyle on the rect supplied. 18603 18604 This should allow nice integration and be relative resource friendly. Mozilla is using 18605 a similiar approach. They seem to share the GdkPixmap among several operations and this 18606 will be an obvious candidate for improvements. Create a normally big enough GdkPixmap and 18607 use that for drawing and then set clip regions for cairo to make sure to not go beyond the 18608 width and height. 18609 18610 The next steps will be to introduce states for the widgets, add more widgets, handle focus, 18611 and various other style attributes, honor the size and margin and use that to propagate this 18612 back to RenderStyle*. 18613 18614 * platform/gdk/RenderThemeGdk.cpp: 18615 (WebCore::RenderThemeGdk::RenderThemeGdk): 18616 (WebCore::RenderThemeGdk::setCheckboxSize): 18617 (WebCore::RenderThemeGdk::paintCheckbox): 18618 (WebCore::RenderThemeGdk::setRadioSize): 18619 (WebCore::RenderThemeGdk::paintRadio): 18620 (WebCore::RenderThemeGdk::paintButton): 18621 (WebCore::RenderThemeGdk::copyToContext): 18622 (WebCore::RenderThemeGdk::gtkButton): 18623 (WebCore::RenderThemeGdk::gtkCheckbox): 18624 (WebCore::RenderThemeGdk::gtkRadioButton): 18625 (WebCore::RenderThemeGdk::gtkWindowContainer): 18626 * platform/gdk/RenderThemeGdk.h: 18627 18628 2007-07-06 Rob Buis <buis (a] kde.org> 18629 18630 Reviewed by Adam. 18631 18632 http://bugs.webkit.org/show_bug.cgi?id=14442 18633 Adding a stop with value 1.0 to a gradient that has already been used has no effect 18634 18635 Implement start and end stop handling differently so they are not 18636 in the color stop array. 18637 18638 * html/CanvasGradient.cpp: 18639 (WebCore::compareStops): 18640 (WebCore::CanvasGradient::getColor): 18641 (WebCore::CanvasGradient::findStop): 18642 18643 2007-07-06 Adam Roben <aroben (a] apple.com> 18644 18645 Fix <rdar://problem/5301994> Garbled text still showing on some sites 18646 18647 Replace calls to GetGlyphIndices with wkGetGlyphs. 18648 18649 Reviewed by Alice. 18650 18651 * platform/win/GlyphPageTreeNodeWin.cpp: 18652 (WebCore::GlyphPage::fill): Use wkGetGlyphs. 18653 * platform/win/FontDataWin.cpp: 18654 (WebCore::FontData::containsCharacters): 18655 18656 2007-07-06 Matt Lilek <pewtermoose (a] gmail.com> 18657 18658 Not reviewed - Windows build fix. 18659 18660 * bridge/win/FrameWin.cpp: 18661 (WebCore::imageFromSelection): 18662 18663 2007-07-06 George Staikos <staikos (a] kde.org> 18664 18665 Reviewed by Maciej. 18666 18667 Switch USE(ICONDATABASE) to ENABLE(ICONDATABASE) and activate the 18668 flag via the .pro file 18669 18670 * WebCore.pro: 18671 * loader/icon/IconDatabase.h: 18672 18673 2007-07-05 John Sullivan <sullivan (a] apple.com> 18674 18675 Reviewed by Adam 18676 18677 - WebCore part of fix for <rdar://problem/5315033> 18678 18679 * rendering/RenderObject.h: 18680 replaced PaintRestrictionSelectionOnlyWhiteText with PaintRestrictionSelectionOnlyBlackText 18681 (WebCore::RenderObject::PaintInfo::PaintInfo): 18682 replaced forceWhiteText with forceBlackText 18683 18684 * rendering/RenderObject.cpp: 18685 (WebCore::RenderObject::addLineBoxRects): 18686 added a useSelectionHeight parameter, which defaults to false; this method is unimplemented 18687 at this level so this has no effect. 18688 18689 * rendering/RenderText.h: 18690 * rendering/RenderText.cpp: 18691 (WebCore::RenderText::addLineBoxRects): 18692 added a useSelectionHeight parameter, which defaults to false. If true, use the vertical position 18693 and height returned by selectionRect rather than replacing it with the more tight-fitting position 18694 and height of the line box. 18695 18696 * dom/Range.h: 18697 * dom/Range.cpp: 18698 (WebCore::Range::addLineBoxRects): 18699 added a useSelectionHeight parameter, which defaults to false. Passes this along to RenderObject. 18700 18701 * page/Frame.h: 18702 renamed parameter to selectionImage 18703 * page/Frame.cpp: 18704 (WebCore::Frame::selectionTextRects): 18705 pass true for addLineBoxRects new useSelectionHeight parameter, so the rects returned by this new 18706 method will match the height that the selection would be painted here 18707 (WebCore::Frame::paint): 18708 updated for white->black name changes 18709 18710 * page/mac/FrameMac.mm: 18711 (WebCore::Frame::selectionImage): 18712 updated for white->black name changes 18713 18714 * rendering/InlineFlowBox.cpp: 18715 (WebCore::InlineFlowBox::paintTextDecorations): 18716 updated for white->black name changes 18717 18718 * rendering/RenderLayer.cpp: 18719 (WebCore::RenderLayer::paintLayer): 18720 updated for white->black name changes 18721 18722 * rendering/InlineTextBox.cpp: 18723 (WebCore::InlineTextBox::paint): 18724 updated for white->black name changes, and actually use black instead of white. This was the goal 18725 of all the name changes. 18726 18727 2007-07-05 Anders Carlsson <andersca (a] apple.com> 18728 18729 Reviewed by Oliver. 18730 18731 Fix layout test failures. 18732 18733 * loader/FrameLoader.cpp: 18734 (WebCore::FrameLoader::commitProvisionalLoad): 18735 Don't make a representation if we're creating the initial document. 18736 18737 2007-07-05 Alp Toker <alp.toker (a] collabora.co.uk> 18738 18739 Fix Bug 14388: Input in text fields limited to 1024 characters 18740 http://bugs.webkit.org/show_bug.cgi?id=14388 18741 18742 Slightly modified by Adam Roben. 18743 18744 Reviewed by Adele. 18745 18746 Tests: fast/forms/input-implicit-length-limit.html 18747 fast/forms/input-maxlength.html 18748 18749 * html/HTMLInputElement.cpp: Bump limit to 524288. 18750 (WebCore::HTMLInputElement::init): 18751 (WebCore::HTMLInputElement::parseMappedAttribute): 18752 * html/HTMLInputElement.h: 18753 18754 2007-07-05 Anders Carlsson <andersca (a] apple.com> 18755 18756 Build fix. 18757 18758 * loader/FrameLoader.cpp: 18759 (WebCore::FrameLoader::init): 18760 18761 2007-07-05 Sam Weinig <sam (a] webkit.org> 18762 18763 Reviewed by Geoff. 18764 18765 Add focus, blur and close functions to DOMWindow implementation class 18766 and move bindings from Window to JSDOMWindow. 18767 18768 * bindings/js/JSDOMWindowCustom.cpp: 18769 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 18770 * bindings/js/kjs_window.cpp: 18771 (KJS::Window::getOwnPropertySlot): 18772 (KJS::WindowFunc::callAsFunction): 18773 * bindings/js/kjs_window.h: 18774 (KJS::Window::): 18775 * bindings/scripts/CodeGeneratorJS.pm: Move prototype function declaration from 18776 the implementation to the header. 18777 * page/DOMWindow.cpp: 18778 (WebCore::DOMWindow::focus): 18779 (WebCore::DOMWindow::blur): 18780 (WebCore::DOMWindow::close): 18781 * page/DOMWindow.h: 18782 * page/DOMWindow.idl: 18783 18784 2007-07-05 Justin Garcia <justin.garcia (a] apple.com> 18785 18786 Reviewed by Harrison. 18787 18788 <rdar://problem/5279521> REGRESSION: In Mail, a crash occurs at WebCore::Range::startPosition() when attempting to apply alignment to selected image/text in message body 18789 18790 * editing/TextIterator.cpp: 18791 (WebCore::TextIterator::exitNode): Previously emitted content shouldn't have 18792 to come from a text node in order to emit a '\n' as we exit block containers. 18793 18794 2007-07-05 Anders Carlsson <andersca (a] apple.com> 18795 18796 Reviewed by Geoff. 18797 18798 <rdar://problem/5315284> REGRESSION: Leopard Launch Time - plugins are being accessed at startup. 18799 18800 Set a response that has a MIME type of "text/html" on the document loader so WebKit won't refresh the 18801 plugin database looking for a plug-in that can handle the document's MIME type (which will be null anyway). 18802 18803 * loader/FrameLoader.cpp: 18804 (WebCore::FrameLoader::init): 18805 18806 2007-07-05 Anders Carlsson <andersca (a] apple.com> 18807 18808 Reviewed by Oliver. 18809 18810 <rdar://problem/5106788> 18811 WebKit loads user style sheets too late as seen in Mail (breaks DataDetectors; Mail flashes wrong font) 18812 18813 Let the document know when the user style sheet is loading so that it try not to display anything 18814 until the user style sheet has finished loading. 18815 18816 * page/Frame.cpp: 18817 (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): 18818 (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): 18819 (WebCore::UserStyleSheetLoader::setCSSStyleSheet): 18820 (WebCore::Frame::setUserStyleSheetLocation): 18821 18822 2007-07-05 Sam Weinig <sam (a] webkit.org> 18823 18824 Reviewed by Darin. 18825 18826 Move JSDOMWindow overriding getOwnPropertySlot logic from KJS::Window 18827 up into JSDOMWindow. No change in functionality so no testcase required. 18828 18829 * bindings/js/JSDOMWindowCustom.cpp: 18830 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 18831 * bindings/js/kjs_window.cpp: 18832 (KJS::Window::getOwnPropertySlot): 18833 * bindings/js/kjs_window.h: 18834 18835 2007-07-05 Mitz Pettel <mitz (a] webkit.org> 18836 18837 Reviewed and Landed by Sam. 18838 18839 - fix bug 14465 for window.showModalDialog 18840 18841 * bindings/js/kjs_window.cpp: 18842 (KJS::parseModalDialogFeatures): 18843 (KJS::showModalDialog): 18844 18845 2007-07-05 Sam Weinig <sam (a] webkit.org> 18846 18847 Reviewed by Mitz. 18848 18849 Patch for http://bugs.webkit.org/show_bug.cgi?id=14465 18850 window.open() uses the literal "undefined" as the URL 18851 18852 * bindings/js/kjs_window.cpp: 18853 (KJS::WindowFunc::callAsFunction): add checks for undefined and null values when setting the url. 18854 * manual-tests/open-url-undefined.html: Added. 18855 18856 2007-07-05 Holger Hans Peter Freyther <zecke (a] selfish.org> 18857 18858 Reviewed by Rob Buis. 18859 18860 Rework FontData and FontPlatformData for the Gdk work to make valgrind 18861 happy. 18862 18863 Move destroying of FontConfig and Cairo objects held in FontPlatformData 18864 to FontData::platformDestroy. The ownership of these objects is held by 18865 FontData. This is following the Mac and Qt port at least. 18866 18867 Currently it is possible that FontPlatformData will not create cairo resources 18868 in this case at least make sure the variables are initialized to 0. 18869 Initialize x,y of the cairo_glyph_t with zero to avoid extents.x_advance depending 18870 on subtracing with not defined values. 18871 18872 FontPlatformData::hash. Using FontDescription is a bad idea as we don't have a clue 18873 about how it is packed, if holes are present, etc. The FcPattern and the m_fontMatrix 18874 should be good enough to describe the Font. All other objects are created using these 18875 variables 18876 18877 Replace C-style casts with C++ casts, in this case reinterpret_cast. 18878 18879 * platform/gdk/FontDataGdk.cpp: 18880 (WebCore::FontData::platformInit): Don't assert 18881 (WebCore::FontData::platformDestroy): Take over ownership 18882 (WebCore::FontData::platformWidthForGlyph): initialize 18883 (WebCore::FontData::setFont): be paranoid and assert 18884 * platform/gdk/FontPlatformData.h: 18885 (WebCore::FontPlatformData::FontPlatformData): Initialize everything 18886 (WebCore::FontPlatformData::hash): make valgrind happy and don't use m_fontDescription 18887 * platform/gdk/FontPlatformDataGdk.cpp: 18888 (WebCore::FontPlatformData::FontPlatformData): 18889 (WebCore::FontPlatformData::~FontPlatformData): FontData::platformDestroy will do this 18890 (WebCore::FontPlatformData::list): Don't use C-style casts. 18891 (WebCore::FontPlatformData::setFont): m_fontFace, m_fontMatrix, m_options might not be initialized 18892 (WebCore::FontPlatformData::operator==): Don't use C-style casts. 18893 18894 2007-07-05 Alp Toker <alp.toker (a] collabora.co.uk> 18895 18896 Reviewed by Mark Rowe. 18897 18898 http://bugs.webkit.org/show_bug.cgi?id=14445 18899 GraphicsContextCairo code style cleanup 18900 18901 Follow the cr naming convention for cairo_t*. 18902 Remove trailing whitespace. 18903 Replace C casts with C++ casts. 18904 Avoid needless casts. 18905 18906 * platform/graphics/cairo/GraphicsContextCairo.cpp: 18907 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 18908 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): 18909 (WebCore::GraphicsContext::GraphicsContext): 18910 (WebCore::GraphicsContext::platformContext): 18911 (WebCore::GraphicsContext::savePlatformState): 18912 (WebCore::GraphicsContext::restorePlatformState): 18913 (WebCore::GraphicsContext::drawRect): 18914 (WebCore::adjustLineToPixelBoundaries): 18915 (WebCore::GraphicsContext::drawLine): 18916 (WebCore::GraphicsContext::drawEllipse): 18917 (WebCore::GraphicsContext::strokeArc): Save/restore the graphics state. 18918 (WebCore::GraphicsContext::drawConvexPolygon): 18919 (WebCore::GraphicsContext::fillRect): 18920 (WebCore::GraphicsContext::clip): 18921 (WebCore::GraphicsContext::drawFocusRing): 18922 (WebCore::GraphicsContext::roundToDevicePixels): 18923 (WebCore::GraphicsContext::translate): 18924 (WebCore::GraphicsContext::origin): 18925 (WebCore::GraphicsContext::setPlatformStrokeThickness): 18926 (WebCore::GraphicsContext::setPlatformStrokeStyle): 18927 (WebCore::GraphicsContext::setPlatformFont): 18928 (WebCore::GraphicsContext::concatCTM): 18929 (WebCore::GraphicsContext::addInnerRoundedRectClip): 18930 (WebCore::GraphicsContext::beginTransparencyLayer): 18931 (WebCore::GraphicsContext::endTransparencyLayer): 18932 (WebCore::GraphicsContext::clearRect): 18933 (WebCore::GraphicsContext::setLineCap): 18934 (WebCore::GraphicsContext::setLineJoin): 18935 (WebCore::GraphicsContext::setMiterLimit): 18936 (WebCore::GraphicsContext::setCompositeOperation): 18937 (WebCore::GraphicsContext::beginPath): 18938 (WebCore::GraphicsContext::addPath): 18939 (WebCore::GraphicsContext::rotate): 18940 (WebCore::GraphicsContext::scale): 18941 * platform/graphics/cairo/ImageBufferCairo.cpp: 18942 (WebCore::ImageBuffer::ImageBuffer): 18943 * platform/graphics/cairo/ImageCairo.cpp: Avoid the confusing ctxt/context naming scheme. 18944 (WebCore::BitmapImage::draw): 18945 (WebCore::Image::drawPattern): 18946 18947 2007-07-05 Alp Toker <alp.toker (a] collabora.co.uk> 18948 18949 Reviewed by Mark Rowe. 18950 18951 http://bugs.webkit.org/show_bug.cgi?id=14531 18952 Cairo SVGImage::nativeImageForCurrentFrame() has no return 18953 18954 Return the Cairo surface from the frame cache. 18955 18956 Also add a fall-through else macro with notImplemented() so that future 18957 ports do not make the same mistake. 18958 18959 * platform/graphics/svg/SVGImage.cpp: 18960 (WebCore::SVGImage::nativeImageForCurrentFrame): 18961 18962 2007-07-05 Alp Toker <alp.toker (a] collabora.co.uk> 18963 18964 Reviewed by Mark Rowe. 18965 18966 http://bugs.webkit.org/show_bug.cgi?id=14513 18967 Cairo animated GIF support is broken 18968 18969 Implement ImageSource::frameIsCompleteAtIndex() to enable animated GIFs. 18970 18971 * platform/graphics/cairo/ImageSourceCairo.cpp: 18972 (WebCore::ImageSource::frameIsCompleteAtIndex): 18973 18974 2007-07-04 Matt Perry <mpComplete (a] gmail.com> 18975 18976 Reviewed by Adam. 18977 18978 Fix for http://bugs.webkit.org/show_bug.cgi?id=13400 18979 Bug 13400: REGRESSION (r20809-20814): No back entry created for navigations created by assigning to document.location 18980 <rdar://problem/5153025> 18981 18982 Treat userGesture as always true for setLocation, forcing a back/forward 18983 entry to be created. 18984 18985 * bindings/js/JSHTMLDocumentCustom.cpp: 18986 (WebCore::JSHTMLDocument::setLocation): 18987 18988 2007-07-04 Adam Roben <aroben (a] apple.com> 18989 18990 Restore MouseEventWithHitTestResults::targetNode's old behavior 18991 18992 Reviewed by Mark. 18993 18994 Fixes fast/images/imagemap-case and fast/replace/image-map. 18995 18996 * page/MouseEventWithHitTestResults.cpp: 18997 (WebCore::MouseEventWithHitTestResults::targetNode): Use the inner 18998 node, not the inner non-shared node. 18999 19000 2007-07-04 Adam Roben <aroben (a] apple.com> 19001 19002 Mac, Qt, and Gdk build fixes. 19003 19004 * page/EventHandler.h: 19005 * page/gdk/EventHandlerGdk.cpp: 19006 * page/mac/EventHandlerMac.mm: 19007 (WebCore::EventHandler::passSubframeEventToSubframe): 19008 * page/qt/EventHandlerQt.cpp: 19009 19010 2007-07-04 Adam Roben <aroben (a] apple.com> 19011 19012 Fix the Qt/Gdk builds. 19013 19014 * page/gdk/EventHandlerGdk.cpp: 19015 * page/qt/EventHandlerQt.cpp: 19016 19017 2007-07-04 Adam Roben <aroben (a] apple.com> 19018 19019 Move tooltip logic down into WebCore so that it can be shared cross-platform 19020 19021 Reviewed by Sam. 19022 19023 * page/Chrome.cpp: 19024 (WebCore::Chrome::setToolTip): Added. 19025 * page/Chrome.h: 19026 * page/ChromeClient.h: 19027 * page/EventHandler.cpp: 19028 (WebCore::EventHandler::mouseMoved): Call Chrome::setToolTip. 19029 * platform/graphics/svg/SVGImageEmptyClients.h: 19030 19031 Added stubs for Gdk: 19032 19033 * platform/gdk/ChromeClientGdk.h: 19034 * platform/gdk/TemporaryLinkStubs.cpp: 19035 (ChromeClientGdk::setToolTip): 19036 19037 2007-07-04 Adam Roben <aroben (a] apple.com> 19038 19039 Add Settings::showsURLsInToolTips 19040 19041 Reviewed by Sam. 19042 19043 * WebCore.exp: 19044 * page/Settings.cpp: 19045 (WebCore::Settings::Settings): 19046 * page/Settings.h: 19047 19048 2007-07-04 Adam Roben <aroben (a] apple.com> 19049 19050 Move logic for calling mouseDidMoveOverElement into WebCore 19051 19052 Reviewed by Sam. 19053 19054 * page/EventHandler.cpp: 19055 (WebCore::EventHandler::mouseMoved): Added. Calls Chrome::mouseDidMoveOverElement. 19056 (WebCore::EventHandler::handleMouseMoveEvent): Now takes an optional 19057 HitTestResult* parameter which is used to communicate to the caller the 19058 node the mouse is over. 19059 * page/EventHandler.h: 19060 * page/mac/EventHandlerMac.mm: 19061 (WebCore::EventHandler::mouseMoved): Changed to call the overloaded 19062 mouseMoved(). 19063 (WebCore::EventHandler::passMouseMoveEventToSubframe): Pass hoveredNode 19064 through to the subframe so we can get the deepest node hovered, not 19065 just the node's parent frame. 19066 * page/win/EventHandlerWin.cpp: 19067 (WebCore::EventHandler::passMouseMoveEventToSubframe): Ditto. 19068 19069 2007-07-04 Adam Roben <aroben (a] apple.com> 19070 19071 Add Chrome::mouseDidMoveOverElement 19072 19073 This does the work of calling up to the ChromeClient (which will call 19074 the UI delegate). 19075 19076 Reviewed by Sam. 19077 19078 * page/Chrome.cpp: 19079 (WebCore::Chrome::mouseDidMoveOverElement): Added. 19080 * page/Chrome.h: 19081 * page/ChromeClient.h: 19082 * platform/graphics/svg/SVGImageEmptyClients.h: Updated for change to 19083 ChromeClient. 19084 * platform/gdk/ChromeClientGdk.h: 19085 * platform/gdk/TemporaryLinkStubs.cpp: 19086 (ChromeClientGdk::mouseDidMoveOverElement): 19087 19088 2007-07-04 Adam Roben <aroben (a] apple.com> 19089 19090 Changed PlatformMouseEvent to store the modifier flags of the event 19091 19092 Reviewed by Sam. 19093 19094 * platform/PlatformMouseEvent.h: 19095 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 19096 * platform/mac/PlatformMouseEventMac.mm: 19097 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 19098 * platform/win/PlatformMouseEventWin.cpp: 19099 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 19100 19101 2007-07-04 Adam Roben <aroben (a] apple.com> 19102 19103 Add HitTestResult::setToNonShadowAncestor 19104 19105 Reviewed by Sam. 19106 19107 * page/EventHandler.cpp: 19108 (WebCore::EventHandler::hitTestResultAtPoint): Moved logic into 19109 HitTestResult::setToNonShadowAncestor. 19110 * rendering/HitTestResult.cpp: 19111 (WebCore::HitTestResult::setToNonShadowAncestor): 19112 * rendering/HitTestResult.h: 19113 19114 2007-07-04 Adam Roben <aroben (a] apple.com> 19115 19116 Change MouseEventWithHitTestResults to hold onto a HitTestResult 19117 19118 Reviewed by Sam. 19119 19120 * dom/Document.cpp: 19121 (WebCore::Document::prepareMouseEvent): 19122 * page/MouseEventWithHitTestResults.cpp: 19123 (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults): 19124 (WebCore::MouseEventWithHitTestResults::targetNode): 19125 (WebCore::MouseEventWithHitTestResults::localPoint): 19126 (WebCore::MouseEventWithHitTestResults::scrollbar): 19127 * page/MouseEventWithHitTestResults.h: 19128 (WebCore::MouseEventWithHitTestResults::event): 19129 (WebCore::MouseEventWithHitTestResults::hitTestResult): 19130 19131 2007-07-04 Matt Lilek <pewtermoose (a] gmail.com> 19132 19133 Not reviewed, gdk build fix. 19134 19135 * platform/gdk/FrameGdk.cpp: 19136 19137 2007-07-05 Antti Koivisto <antti (a] apple.com> 19138 19139 Reviewed by John. 19140 19141 Fix Repro crash due to infinite recursion in HTMLParser::handleError @ youos.com 19142 <rdar://problem/5237811> 19143 19144 It is possible to add table parts (thead etc) without table ancestor to a document fragment. If a new table element 19145 was added to such a part, as in 19146 19147 div.innerHTML = '<tbody><table>'; 19148 19149 the parser error handling code would try to pop the previous table as normal. However since 19150 the table does not actually exist nothing would happen and parser would go to infinite recursion. 19151 19152 Solution here is to pop table parts one by one when handling the error inside a fragment instead of trying to pop 19153 the table straight away (as it might not exist). 19154 19155 * html/HTMLParser.cpp: 19156 (WebCore::HTMLParser::handleError): 19157 19158 2007-07-04 Qing Zhao <qing (a] staikos.net> 19159 19160 Reviewed by George Staikos. 19161 19162 Draw menulist (comboboxes) without text overlap on the button. 19163 19164 * platform/qt/RenderThemeQt.cpp: 19165 (WebCore::RenderThemeQt::setPopupPadding): 19166 19167 2007-07-04 George Staikos <staikos (a] kde.org> 19168 19169 Compile 19170 19171 * page/qt/FrameQt.cpp: 19172 * WebCore.pro: 19173 19174 2007-07-04 Sam Weinig <sam (a] webkit.org> 19175 19176 Reviewed by Mitz. 19177 19178 Patch for http://bugs.webkit.org/show_bug.cgi?id=14504 19179 REGRESSION (r23573): Amazon Book Excerpt can not be viewed in recent nightly 19180 19181 - Made it possible (again) to shadow window properties with local variable names. 19182 19183 Test: fast/dom/Window/window-property-shadowing.html 19184 19185 * bindings/js/JSDOMWindowCustom.cpp: 19186 (WebCore::JSDOMWindow::customPut): 19187 * bindings/js/kjs_window.cpp: 19188 (KJS::Window::put): 19189 * bindings/scripts/CodeGeneratorJS.pm: 19190 * page/DOMWindow.idl: 19191 19192 2007-07-03 Alice Liu <alice.liu (a] apple.com> 19193 19194 Reviewed by Adam. 19195 19196 Fixed <rdar://problem/5225119> support smart pasting on Windows 19197 19198 * WebCore.vcproj/WebCore.vcproj: 19199 * WebCore.xcodeproj/project.pbxproj: 19200 Added new files 19201 * editing/SmartReplace.cpp: Added. 19202 (WebCore::isCharacterSmartReplaceExempt): 19203 Added non-CF implementation placeholder 19204 * editing/SmartReplace.h: Added. 19205 * editing/SmartReplaceCF.cpp: Added. 19206 (WebCore::getSmartSet): 19207 (WebCore::isCharacterSmartReplaceExempt): 19208 Added new implementation 19209 19210 * bridge/win/FrameWin.cpp: 19211 * page/Frame.h: 19212 * page/mac/FrameMac.mm: 19213 Removed old declaration and implementation 19214 19215 * editing/ReplaceSelectionCommand.cpp: 19216 (WebCore::ReplaceSelectionCommand::doApply): 19217 Changed to call the new function instead of old 19218 19219 * page/mac/WebCoreFrameBridge.h: 19220 * page/mac/WebCoreFrameBridge.mm: 19221 Removed old declaration and implementation 19222 (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]): 19223 Changed to call the new function instead of old 19224 19225 * platform/win/PasteboardWin.cpp: 19226 (WebCore::Pasteboard::Pasteboard): 19227 Register new clipboard format 19228 (WebCore::Pasteboard::writeSelection): 19229 Set data for smartpaste format on clipboard 19230 (WebCore::Pasteboard::canSmartReplace): 19231 Added non-stub implementation 19232 19233 2007-07-04 Qing Zhao <qing (a] staikos.net> 19234 19235 Reviewed by George Staikos. 19236 19237 Similar to the PlatformScrollbar fixes, adjust the painter to make the 19238 styler draw all subcontrols, and in this case the focus rect, in the 19239 proper location 19240 19241 * platform/qt/RenderThemeQt.cpp: 19242 (WebCore::RenderThemeQt::paintMenuList): 19243 19244 2007-07-04 Mitz Pettel <mitz (a] webkit.org> 19245 19246 Reviewed by Maciej. 19247 19248 - fix http://bugs.webkit.org/show_bug.cgi?id=14495 19249 REGRESSION: Wrong cursor is displayed during drag and drop when text is selected 19250 <rdar://problem/5312384> 19251 19252 No test possible because DumpRenderTree cannot query the current cursor. 19253 19254 * page/EventHandler.cpp: 19255 (WebCore::EventHandler::selectCursor): Changed into a member function and 19256 added that if the last mouse down event could not have started a 19257 selection, then the cursor should not change to an I-beam unconditionally. 19258 (WebCore::EventHandler::handleMouseMoveEvent): 19259 * page/EventHandler.h: 19260 19261 2007-07-04 Holger Hans Peter Freyther <zecke (a] selfish.org> 19262 19263 Reviewed by Rob Buis. 19264 19265 A little progress in tracking dependencies. 19266 19267 * WebCore.pro: Add DEPENDPATH for the Gdk port. 19268 19269 2007-07-03 Darin Adler <darin (a] apple.com> 19270 19271 Reviewed by Tim Hatcher. 19272 19273 - fix <rdar://problem/5221297> Font family name in the cssText for a DOMCSSStyleDeclaration needs quotes 19274 19275 Test: editing/style/font-family-with-space.html 19276 19277 * css/FontFamilyValue.cpp: 19278 (WebCore::isValidCSSIdentifier): Added. Implements the same rule that the CSS lexer does. 19279 (WebCore::quoteStringIfNeeded): Changed to call isValidCSSIdentifier instead of just 19280 checking for a leading "#" character. 19281 * editing/markup.cpp: 19282 (WebCore::escapeTextForMarkup): Changed to take a String parameter for better efficiency. 19283 (WebCore::renderedText): Changed to return a String for better efficiency. 19284 (WebCore::addNamespace): Updated to pass String to escapeTextForMarkup. 19285 (WebCore::startMarkup): Updated to pass String to escapeTextForMarkup. Added missing call 19286 to escapeTextForMarkup in the special case for the style property. 19287 (WebCore::createMarkup): Changed from single quotes to double quotes and also added missing 19288 call to escapeTextForMarkup in two special cases for the style property. 19289 19290 2007-07-03 Sam Weinig <sam (a] webkit.org> 19291 19292 Reviewed by Darin. 19293 19294 Twelfth round of fixes for implicit 64-32 bit conversion errors. 19295 <rdar://problem/5292262> 19296 19297 - Add casts and accompanying FIXMEs to avoid remaining compiler errors. 19298 19299 * WebCore.xcodeproj/project.pbxproj: 19300 * loader/FrameLoader.cpp: 19301 (WebCore::FrameLoader::opened): 19302 (WebCore::FrameLoader::sendRemainingDelegateMessages): 19303 * loader/FrameLoader.h: 19304 * loader/ResourceLoader.cpp: 19305 (WebCore::ResourceLoader::didReceiveData): 19306 * platform/network/mac/ResourceHandleMac.mm: 19307 (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): 19308 (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]): 19309 * platform/network/mac/ResourceResponseMac.mm: 19310 (WebCore::ResourceResponse::nsURLResponse): 19311 19312 2007-07-03 Anders Carlsson <andersca (a] apple.com> 19313 19314 Reviewed by Adam. 19315 19316 <rdar://problem/5093862> 19317 Nothing shown in plugin area when trying to play content using the DivX plugin 19318 19319 Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin. 19320 19321 * plugins/win/PluginViewWin.cpp: 19322 (WebCore::PluginViewWin::determineQuirks): 19323 19324 2007-07-03 Sam Weinig <sam (a] webkit.org> 19325 19326 Reviewed by Brady Eidson. 19327 19328 Ninth round of fixes for implicit 64-32 bit conversion errors. 19329 <rdar://problem/5292262> 19330 19331 - Fix function signature to use unsigned long instead of unsigned long long. 19332 19333 * loader/ProgressTracker.cpp: 19334 (WebCore::ProgressTracker::completeProgress): 19335 * loader/ProgressTracker.h: 19336 19337 2007-07-03 Sam Weinig <sam (a] webkit.org> 19338 19339 Reviewed by Oliver. 19340 19341 Eighth round of fixes for implicit 64-32 bit conversion errors. 19342 <rdar://problem/5292262> 19343 19344 - Convert SVG implementation files to use floats instead of doubles 19345 to match the spec/IDLs. 19346 19347 * bindings/scripts/CodeGeneratorJS.pm: 19348 * ksvg2/svg/SVGAngle.cpp: 19349 * ksvg2/svg/SVGAnimatedTemplate.h: 19350 * ksvg2/svg/SVGAnimationElement.cpp: 19351 (WebCore::SVGAnimationElement::getEndTime): 19352 (WebCore::SVGAnimationElement::getStartTime): 19353 (WebCore::SVGAnimationElement::getCurrentTime): 19354 (WebCore::SVGAnimationElement::getSimpleDuration): 19355 * ksvg2/svg/SVGAnimationElement.h: 19356 * ksvg2/svg/SVGFitToViewBox.cpp: 19357 (WebCore::SVGFitToViewBox::parseViewBox): 19358 * ksvg2/svg/SVGLength.cpp: 19359 (WebCore::SVGLength::setValueAsString): 19360 * ksvg2/svg/SVGLinearGradientElement.cpp: 19361 (WebCore::SVGLinearGradientElement::buildGradient): 19362 * ksvg2/svg/SVGMatrix.idl: 19363 * ksvg2/svg/SVGNumber.idl: 19364 * ksvg2/svg/SVGParserUtilities.cpp: 19365 (WebCore::SVGPathParser::parseSVG): 19366 (WebCore::SVGPathParser::calculateArc): 19367 (WebCore::SVGPathParser::svgLineToHorizontal): 19368 (WebCore::SVGPathParser::svgLineToVertical): 19369 (WebCore::SVGPathParser::svgCurveToCubicSmooth): 19370 (WebCore::SVGPathParser::svgCurveToQuadratic): 19371 (WebCore::SVGPathParser::svgCurveToQuadraticSmooth): 19372 (WebCore::SVGPathParser::svgArcTo): 19373 * ksvg2/svg/SVGParserUtilities.h: 19374 * ksvg2/svg/SVGPathElement.cpp: 19375 (WebCore::SVGPathElement::SVGPathElement): 19376 (WebCore::SVGPathElement::getTotalLength): 19377 (WebCore::SVGPathElement::getPointAtLength): 19378 (WebCore::SVGPathElement::getPathSegAtLength): 19379 (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): 19380 (WebCore::SVGPathElement::createSVGPathSegMovetoRel): 19381 (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): 19382 (WebCore::SVGPathElement::createSVGPathSegLinetoRel): 19383 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): 19384 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): 19385 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): 19386 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): 19387 (WebCore::SVGPathElement::createSVGPathSegArcAbs): 19388 (WebCore::SVGPathElement::createSVGPathSegArcRel): 19389 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): 19390 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): 19391 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): 19392 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): 19393 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): 19394 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): 19395 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): 19396 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): 19397 (WebCore::SVGPathElement::svgMoveTo): 19398 (WebCore::SVGPathElement::svgLineTo): 19399 (WebCore::SVGPathElement::svgLineToHorizontal): 19400 (WebCore::SVGPathElement::svgLineToVertical): 19401 (WebCore::SVGPathElement::svgCurveToCubic): 19402 (WebCore::SVGPathElement::svgCurveToCubicSmooth): 19403 (WebCore::SVGPathElement::svgCurveToQuadratic): 19404 (WebCore::SVGPathElement::svgCurveToQuadraticSmooth): 19405 (WebCore::SVGPathElement::svgArcTo): 19406 (WebCore::SVGPathElement::parseMappedAttribute): 19407 * ksvg2/svg/SVGPathElement.h: 19408 * ksvg2/svg/SVGPathSegArc.cpp: 19409 (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs): 19410 (WebCore::SVGPathSegArcAbs::setX): 19411 (WebCore::SVGPathSegArcAbs::x): 19412 (WebCore::SVGPathSegArcAbs::setY): 19413 (WebCore::SVGPathSegArcAbs::y): 19414 (WebCore::SVGPathSegArcAbs::setR1): 19415 (WebCore::SVGPathSegArcAbs::r1): 19416 (WebCore::SVGPathSegArcAbs::setR2): 19417 (WebCore::SVGPathSegArcAbs::r2): 19418 (WebCore::SVGPathSegArcAbs::setAngle): 19419 (WebCore::SVGPathSegArcAbs::angle): 19420 (WebCore::SVGPathSegArcRel::SVGPathSegArcRel): 19421 (WebCore::SVGPathSegArcRel::setX): 19422 (WebCore::SVGPathSegArcRel::x): 19423 (WebCore::SVGPathSegArcRel::setY): 19424 (WebCore::SVGPathSegArcRel::y): 19425 (WebCore::SVGPathSegArcRel::setR1): 19426 (WebCore::SVGPathSegArcRel::r1): 19427 (WebCore::SVGPathSegArcRel::setR2): 19428 (WebCore::SVGPathSegArcRel::r2): 19429 (WebCore::SVGPathSegArcRel::setAngle): 19430 (WebCore::SVGPathSegArcRel::angle): 19431 * ksvg2/svg/SVGPathSegArc.h: 19432 * ksvg2/svg/SVGPathSegCurvetoCubic.cpp: 19433 (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs): 19434 (WebCore::SVGPathSegCurvetoCubicAbs::setX): 19435 (WebCore::SVGPathSegCurvetoCubicAbs::x): 19436 (WebCore::SVGPathSegCurvetoCubicAbs::setY): 19437 (WebCore::SVGPathSegCurvetoCubicAbs::y): 19438 (WebCore::SVGPathSegCurvetoCubicAbs::setX1): 19439 (WebCore::SVGPathSegCurvetoCubicAbs::x1): 19440 (WebCore::SVGPathSegCurvetoCubicAbs::setY1): 19441 (WebCore::SVGPathSegCurvetoCubicAbs::y1): 19442 (WebCore::SVGPathSegCurvetoCubicAbs::setX2): 19443 (WebCore::SVGPathSegCurvetoCubicAbs::x2): 19444 (WebCore::SVGPathSegCurvetoCubicAbs::setY2): 19445 (WebCore::SVGPathSegCurvetoCubicAbs::y2): 19446 (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel): 19447 (WebCore::SVGPathSegCurvetoCubicRel::setX): 19448 (WebCore::SVGPathSegCurvetoCubicRel::x): 19449 (WebCore::SVGPathSegCurvetoCubicRel::setY): 19450 (WebCore::SVGPathSegCurvetoCubicRel::y): 19451 (WebCore::SVGPathSegCurvetoCubicRel::setX1): 19452 (WebCore::SVGPathSegCurvetoCubicRel::x1): 19453 (WebCore::SVGPathSegCurvetoCubicRel::setY1): 19454 (WebCore::SVGPathSegCurvetoCubicRel::y1): 19455 (WebCore::SVGPathSegCurvetoCubicRel::setX2): 19456 (WebCore::SVGPathSegCurvetoCubicRel::x2): 19457 (WebCore::SVGPathSegCurvetoCubicRel::setY2): 19458 (WebCore::SVGPathSegCurvetoCubicRel::y2): 19459 * ksvg2/svg/SVGPathSegCurvetoCubic.h: 19460 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: 19461 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs): 19462 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX): 19463 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x): 19464 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY): 19465 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y): 19466 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2): 19467 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x2): 19468 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2): 19469 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y2): 19470 (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel): 19471 (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX): 19472 (WebCore::SVGPathSegCurvetoCubicSmoothRel::x): 19473 (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY): 19474 (WebCore::SVGPathSegCurvetoCubicSmoothRel::y): 19475 (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2): 19476 (WebCore::SVGPathSegCurvetoCubicSmoothRel::x2): 19477 (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2): 19478 (WebCore::SVGPathSegCurvetoCubicSmoothRel::y2): 19479 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: 19480 * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: 19481 (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs): 19482 (WebCore::SVGPathSegCurvetoQuadraticAbs::setX): 19483 (WebCore::SVGPathSegCurvetoQuadraticAbs::x): 19484 (WebCore::SVGPathSegCurvetoQuadraticAbs::setY): 19485 (WebCore::SVGPathSegCurvetoQuadraticAbs::y): 19486 (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1): 19487 (WebCore::SVGPathSegCurvetoQuadraticAbs::x1): 19488 (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1): 19489 (WebCore::SVGPathSegCurvetoQuadraticAbs::y1): 19490 (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel): 19491 (WebCore::SVGPathSegCurvetoQuadraticRel::setX): 19492 (WebCore::SVGPathSegCurvetoQuadraticRel::x): 19493 (WebCore::SVGPathSegCurvetoQuadraticRel::setY): 19494 (WebCore::SVGPathSegCurvetoQuadraticRel::y): 19495 (WebCore::SVGPathSegCurvetoQuadraticRel::setX1): 19496 (WebCore::SVGPathSegCurvetoQuadraticRel::x1): 19497 (WebCore::SVGPathSegCurvetoQuadraticRel::setY1): 19498 (WebCore::SVGPathSegCurvetoQuadraticRel::y1): 19499 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: 19500 (WebCore::SVGPathSegCurvetoQuadraticRel::toString): 19501 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: 19502 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs): 19503 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX): 19504 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::x): 19505 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY): 19506 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::y): 19507 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel): 19508 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX): 19509 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::x): 19510 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY): 19511 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::y): 19512 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: 19513 * ksvg2/svg/SVGPathSegLineto.cpp: 19514 (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs): 19515 (WebCore::SVGPathSegLinetoAbs::setX): 19516 (WebCore::SVGPathSegLinetoAbs::x): 19517 (WebCore::SVGPathSegLinetoAbs::setY): 19518 (WebCore::SVGPathSegLinetoAbs::y): 19519 (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel): 19520 (WebCore::SVGPathSegLinetoRel::setX): 19521 (WebCore::SVGPathSegLinetoRel::x): 19522 (WebCore::SVGPathSegLinetoRel::setY): 19523 (WebCore::SVGPathSegLinetoRel::y): 19524 * ksvg2/svg/SVGPathSegLineto.h: 19525 * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: 19526 (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs): 19527 (WebCore::SVGPathSegLinetoHorizontalAbs::setX): 19528 (WebCore::SVGPathSegLinetoHorizontalAbs::x): 19529 (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel): 19530 (WebCore::SVGPathSegLinetoHorizontalRel::setX): 19531 (WebCore::SVGPathSegLinetoHorizontalRel::x): 19532 * ksvg2/svg/SVGPathSegLinetoHorizontal.h: 19533 * ksvg2/svg/SVGPathSegLinetoVertical.cpp: 19534 (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs): 19535 (WebCore::SVGPathSegLinetoVerticalAbs::setY): 19536 (WebCore::SVGPathSegLinetoVerticalAbs::y): 19537 (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel): 19538 (WebCore::SVGPathSegLinetoVerticalRel::setY): 19539 (WebCore::SVGPathSegLinetoVerticalRel::y): 19540 * ksvg2/svg/SVGPathSegLinetoVertical.h: 19541 * ksvg2/svg/SVGPathSegList.cpp: 19542 (WebCore::SVGPathSegList::getPathSegAtLength): 19543 * ksvg2/svg/SVGPathSegList.h: 19544 * ksvg2/svg/SVGPathSegMoveto.cpp: 19545 (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs): 19546 (WebCore::SVGPathSegMovetoAbs::setX): 19547 (WebCore::SVGPathSegMovetoAbs::x): 19548 (WebCore::SVGPathSegMovetoAbs::setY): 19549 (WebCore::SVGPathSegMovetoAbs::y): 19550 (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel): 19551 (WebCore::SVGPathSegMovetoRel::setX): 19552 (WebCore::SVGPathSegMovetoRel::x): 19553 (WebCore::SVGPathSegMovetoRel::setY): 19554 (WebCore::SVGPathSegMovetoRel::y): 19555 * ksvg2/svg/SVGPathSegMoveto.h: 19556 * ksvg2/svg/SVGPolyElement.cpp: 19557 (WebCore::SVGPolyElement::svgPolyTo): 19558 * ksvg2/svg/SVGRadialGradientElement.cpp: 19559 (WebCore::SVGRadialGradientElement::buildGradient): 19560 * ksvg2/svg/SVGSVGElement.cpp: 19561 (WebCore::SVGSVGElement::viewport): 19562 (WebCore::SVGSVGElement::getCurrentTime): 19563 * ksvg2/svg/SVGStopElement.cpp: 19564 (WebCore::SVGStopElement::SVGStopElement): 19565 (WebCore::SVGStopElement::parseMappedAttribute): 19566 * ksvg2/svg/SVGStopElement.h: 19567 * ksvg2/svg/SVGTransform.cpp: 19568 (SVGTransform::translate): 19569 (SVGTransform::scale): 19570 * ksvg2/svg/SVGTransformDistance.cpp: 19571 (WebCore::SVGTransformDistance::addToSVGTransform): 19572 (WebCore::SVGTransformDistance::distance): 19573 * ksvg2/svg/SVGTransformable.cpp: 19574 (WebCore::SVGTransformable::parseTransformAttribute): 19575 19576 2007-07-03 Anders Carlsson <andersca (a] apple.com> 19577 19578 Reviewed by Darin. 19579 19580 <rdar://problem/5289718> 19581 http://bugs.webkit.org/show_bug.cgi?id=14437 19582 CrashTracer: [REGRESSION] 76 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 6 (14437) 19583 19584 Based on a patch from Maxime Britto. 19585 19586 * page/mac/WebCoreFrameBridge.mm: 19587 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): 19588 If the script caused the frame to go away, return nil. This can only happen if a plugin in a subframe destroys 19589 its frame. 19590 19591 (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): 19592 ASSERT that this is only called on the main frame. 19593 19594 2007-07-03 John Sullivan <sullivan (a] apple.com> 19595 19596 Written by Darin, reviewed by me 19597 19598 - fixed <rdar://problem/5249730> REGRESSION (Leopard, around 9A464): Safari opens the same local 19599 documents more than once due to canonicalization change 19600 19601 * loader/mac/LoaderNSURLExtras.m: 19602 (canonicalURL): 19603 pass URL through KURL so we get KURL's version of canonicalization as well as 19604 NSURLProtocol's version of canonicalization 19605 19606 2007-07-03 Sam Weinig <sam (a] webkit.org> 19607 19608 Reviewed by Darin. 19609 19610 Seventh round of fixes for implicit 64-32 bit conversion errors. 19611 <rdar://problem/5292262> 19612 19613 - Adds more narrowPrecision functions to FloatPoint, FloatSize and FloatRect. 19614 - Changes over more implicit conversions to use new functions. 19615 19616 * bindings/js/kjs_window.cpp: 19617 (KJS::WindowFunc::callAsFunction): 19618 * platform/graphics/FloatPoint.cpp: 19619 (WebCore::FloatPoint::matrixTransform): 19620 (WebCore::FloatPoint::narrowPrecision): 19621 * platform/graphics/FloatPoint.h: 19622 * platform/graphics/FloatRect.cpp: 19623 (WebCore::FloatRect::narrowPrecision): 19624 * platform/graphics/FloatRect.h: 19625 * platform/graphics/FloatSize.cpp: 19626 (WebCore::FloatSize::narrowPrecision): 19627 * platform/graphics/FloatSize.h: 19628 * platform/graphics/Path.cpp: 19629 (WebCore::Path::createRoundedRectangle): 19630 (WebCore::Path::createRectangle): 19631 (WebCore::Path::createEllipse): 19632 * platform/graphics/mac/ColorMac.mm: 19633 (WebCore::nsColor): 19634 * platform/graphics/mac/IconMac.mm: 19635 (WebCore::Icon::paint): 19636 * platform/graphics/svg/cg/CgSupport.cpp: 19637 (WebCore::applyStrokeStyleToContext): 19638 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 19639 (WebCore::CGShadingRefForRadialGradient): 19640 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache): 19641 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation): 19642 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: 19643 (WebCore::applyLuminanceToAlphaFilter): 19644 (WebCore::applyExpandAlphatoGrayscaleFilter): 19645 (WebCore::transformImageIntoGrayscaleMask): 19646 * platform/mac/WebCoreTextRenderer.mm: 19647 (WebCoreDrawTextAtPoint): 19648 * rendering/RenderPath.cpp: 19649 (WebCore::RenderPath::mapAbsolutePointToLocal): 19650 * rendering/RenderSVGContainer.cpp: 19651 (WebCore::RenderSVGContainer::calcViewport): 19652 * rendering/RenderSVGImage.cpp: 19653 (WebCore::RenderSVGImage::nodeAtPoint): 19654 * rendering/RenderSVGText.cpp: 19655 (WebCore::RenderSVGText::relativeBBox): 19656 19657 2007-07-03 Anders Carlsson <andersca (a] apple.com> 19658 19659 Reviewed by Adam. 19660 19661 <rdar://problem/5261523> 19662 Crash playing MP11 on cnbc.com 19663 19664 The WMP Netscape plugin still creates a window even when windowless mode is turned on. Work around this by 19665 always removing the "windowlessvideo" parameter before passing it to the plugin. 19666 According to http://msdn2.microsoft.com/en-us/library/bb249373.aspx, "The windowlessVideo property is not 19667 supported for Netscape Navigator. Setting a value for this property in Navigator may yield unexpected results." 19668 19669 * plugins/win/PluginViewWin.cpp: 19670 (WebCore::PluginViewWndProc): 19671 (WebCore::PluginViewWin::paint): 19672 (WebCore::PluginViewWin::invalidateRect): 19673 (WebCore::PluginViewWin::determineQuirks): 19674 (WebCore::PluginViewWin::setParameters): 19675 (WebCore::PluginViewWin::PluginViewWin): 19676 (WebCore::PluginViewWin::init): 19677 * plugins/win/PluginViewWin.h: 19678 (WebCore::): 19679 19680 2007-07-03 Qing Zhao <qing (a] staikos.net> 19681 19682 Reviewed by George Staikos. 19683 19684 Only draw sunken state for appropriate widgets. Not, for example, for 19685 lineedits. 19686 19687 * platform/qt/RenderThemeQt.cpp: 19688 (WebCore::RenderThemeQt::applyTheme): 19689 19690 2007-07-03 Antti Koivisto <antti (a] apple.com> 19691 19692 Reviewed by Maciej. 19693 19694 REGRESSION: misplaced selection ring remains after link is no longer focused. 19695 <rdar://problem/5205580> 19696 19697 Fix placement of selection ring when part of the ring is in a different layer. 19698 19699 * rendering/RenderFlow.cpp: 19700 (WebCore::RenderFlow::addFocusRingRects): Get coordinates right when moving to a different layer. 19701 * rendering/RenderObject.cpp: 19702 (WebCore::RenderObject::setStyle): 19703 Don't reset state variables when not necessary. When repaint() was called at the end of setSyle() it would 19704 get repaint rects wrong in some cases. 19705 19706 2007-07-03 Antti Koivisto <antti (a] apple.com> 19707 19708 Reviewed by Maciej. 19709 19710 Blind fix for CrashTracer: [USER] 25 crashes in Safari at com.apple.WebCore: WebCore::Frame::document const + 6 19711 <rdar://problem/5263939> 19712 19713 No one has managed to reproduce this but it looks like null check is needed here. There are plausible ways 19714 m_frame could be null for a live FrameView object. 19715 19716 * page/FrameView.cpp: 19717 (WebCore::FrameView::needsLayout): 19718 19719 2007-07-02 Oliver Hunt <oliver (a] apple.com> 19720 19721 Reviewed by Darin. 19722 19723 Fix for <rdar://problem/5098378> single-pixel image optimization needs to be rewritten to not depend on floating point bitmap 19724 Tested by fast/replaced/image-solid-color-with-alpha.html 19725 19726 Switch from float to byte based bitmap when pulling the color from 1x1 pixel images so 19727 that we can use the single pixel image optimisation in WebKit/win. 19728 19729 * platform/graphics/cg/ImageCG.cpp: 19730 (WebCore::BitmapImage::checkForSolidColor): 19731 19732 2007-07-02 Adam Roben <aroben (a] apple.com> 19733 19734 Fix Bug 14498: RenderContainer::positionForCoordinates contains an order of operations error 19735 http://bugs.webkit.org/show_bug.cgi?id=14498 19736 19737 There were two bugs: 19738 1) xPos/yPos were flipped 19739 2) + binds tighter than ?:, so the order of operations was incorrect 19740 19741 Reviewed by Darin. 19742 19743 Test: fast/inline-block/14498-positionForCoordinates.html 19744 19745 * rendering/RenderContainer.cpp: 19746 (WebCore::RenderContainer::positionForCoordinates): 19747 19748 2007-07-02 Darin Adler <darin (a] apple.com> 19749 19750 Reviewed by Kevin Decker and Tim Hatcher. 19751 19752 - fix <rdar://problem/5307906> some classes need finalize methods because 19753 of non-trivial work done in dealloc methods 19754 19755 * bindings/objc/DOMRGBColor.mm: 19756 (+[DOMRGBColor initialize]): Added. Tells finalizer to run on main thread, 19757 which is needed because we are sharing a CFDictionary here with no locking. 19758 19759 * bridge/mac/WebCoreAXObject.mm: 19760 (+[WebCoreAXObject initialize]): Added. Tells finalizer to run on main thread. 19761 (-[WebCoreAXObject finalize]): Added. Calls detach. 19762 19763 * WebCore.xcodeproj/project.pbxproj: Let Xcode do what it wants to do. 19764 19765 2007-07-02 Sam Weinig <sam (a] webkit.org> 19766 19767 Reviewed by Darin. 19768 19769 Sixth round of fixes for implicit 64-32 bit conversion errors. 19770 <rdar://problem/5292262> 19771 19772 Use new narrowPrecisionToFloat() and narrowPrecisionToCGFloat() where 19773 appropriate. 19774 19775 * html/CanvasRenderingContext2D.cpp: 19776 (WebCore::CanvasRenderingContext2D::setShadow): 19777 (WebCore::CanvasRenderingContext2D::applyShadow): 19778 * html/CanvasStyle.cpp: 19779 (WebCore::CanvasStyle::applyStrokeColor): 19780 (WebCore::CanvasStyle::applyFillColor): 19781 * ksvg2/svg/SVGAngle.cpp: 19782 * ksvg2/svg/SVGAnimationElement.cpp: 19783 (WebCore::SVGAnimationElement::parseKeyNumbers): 19784 (WebCore::parseKeySplines): 19785 (WebCore::SVGAnimationElement::handleTimerEvent): 19786 (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds): 19787 * ksvg2/svg/SVGPatternElement.cpp: 19788 (WebCore::SVGPatternElement::buildPattern): 19789 * ksvg2/svg/SVGRadialGradientElement.cpp: 19790 (WebCore::SVGRadialGradientElement::buildGradient): 19791 * platform/graphics/cg/AffineTransformCG.cpp: 19792 (WebCore::AffineTransform::AffineTransform): 19793 (WebCore::AffineTransform::setMatrix): 19794 (WebCore::AffineTransform::map): 19795 (WebCore::AffineTransform::setA): 19796 (WebCore::AffineTransform::setB): 19797 (WebCore::AffineTransform::setC): 19798 (WebCore::AffineTransform::setD): 19799 (WebCore::AffineTransform::setE): 19800 (WebCore::AffineTransform::setF): 19801 (WebCore::AffineTransform::scale): 19802 (WebCore::AffineTransform::rotate): 19803 (WebCore::AffineTransform::translate): 19804 (WebCore::AffineTransform::shear): 19805 19806 2007-07-02 John Sullivan <sullivan (a] apple.com> 19807 19808 * page/mac/WebCoreFrameBridge.mm: 19809 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): 19810 added a comment 19811 19812 2007-07-02 Sam Weinig <sam (a] webkit.org> 19813 19814 Rubberstamped by Darin. 19815 19816 Rename FloatConversionUtilities.h to FloatConversion.h. 19817 Fix Win32 build. 19818 19819 * WebCore.vcproj/WebCore.vcproj: 19820 * WebCore.xcodeproj/project.pbxproj: 19821 * platform/DeprecatedString.cpp: 19822 * platform/FloatConversion.h: Copied from platform/FloatConversionUtilities.h. 19823 * platform/FloatConversionUtilities.h: Removed. 19824 * platform/StringImpl.cpp: 19825 19826 2007-07-02 Sam Weinig <sam (a] webkit.org> 19827 19828 Reviewed by Darin. 19829 19830 Fifth round of fixes for implicit 64-32 bit conversion errors. 19831 <rdar://problem/5292262> 19832 19833 Add toFloat() method to string classes and use it where appropriate. 19834 19835 * WebCore.xcodeproj/project.pbxproj: 19836 * css/cssparser.cpp: 19837 (WebCore::CSSParser::lex): 19838 * ksvg2/svg/SVGAngle.cpp: 19839 (WebCore::SVGAngle::setValueAsString): 19840 * platform/AtomicString.h: 19841 (WebCore::AtomicString::toFloat): 19842 * platform/DeprecatedString.cpp: 19843 (WebCore::DeprecatedString::toFloat): 19844 * platform/DeprecatedString.h: 19845 * platform/FloatConversionUtilities.h: Added. 19846 (WebCore::narrowPrecisionToFloat): 19847 (WebCore::narrowPrecisionToCGFloat): 19848 * platform/PlatformString.h: 19849 * platform/String.cpp: 19850 (WebCore::String::toFloat): 19851 * platform/StringImpl.cpp: 19852 (WebCore::StringImpl::toFloat): 19853 * platform/StringImpl.h: 19854 19855 2007-07-02 Sam Weinig <sam (a] webkit.org> 19856 19857 Reviewed by Kevin McCullough. 19858 19859 Fourth round of fixes for implicit 64-32 bit conversion errors. 19860 <rdar://problem/5292262> 19861 19862 Use new piDouble and piFloat constants instead of M_PI. 19863 19864 * html/CanvasRenderingContext2D.cpp: 19865 (WebCore::CanvasRenderingContext2D::rotate): 19866 * ksvg2/svg/SVGParserUtilities.cpp: 19867 (WebCore::SVGPathParser::calculateArc): 19868 * platform/graphics/Path.cpp: 19869 (WebCore::pathLengthApplierFunction): 19870 (WebCore::Path::createEllipse): 19871 * platform/graphics/cg/GraphicsContextCG.cpp: 19872 (WebCore::GraphicsContext::drawEllipse): 19873 (WebCore::GraphicsContext::strokeArc): 19874 * platform/graphics/cg/PDFDocumentImage.cpp: 19875 (WebCore::PDFDocumentImage::setCurrentPage): 19876 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: 19877 * rendering/RenderPath.cpp: 19878 (WebCore::drawMarkerWithData): 19879 19880 2007-07-01 Adam Roben <aroben (a] apple.com> 19881 19882 Clarify/fix {Shadow,BorderImage}ParseContext's memory management 19883 19884 Prefast emitted warnings that drew my attention to 19885 {Shadow,BorderImage}ParseContext::failed(). It turned out that these 19886 methods were actually correct, but rather confusing. "failed" really 19887 meant "abort and clean up" rather than "did you fail?", which was 19888 unclear. However, once I figured that out, the "and clean up" part was 19889 still a bit confusing, because all failed() did was to set a flag that 19890 would later cause the ParseContext's members to be deleted in the 19891 destructor. To clear this up, I've gotten rid of the failed() method 19892 altogether. It always returned false, so I've replaced all calls to 19893 it with the value false. 19894 19895 I also noticed that the lifetime management of the ParseContexts' 19896 members was in all cases confusing, and in some cases wrong. The 19897 m_border{Top,Right,Bottom,Left} members of BorderImageParseContext 19898 were leaked whenever a border-image property was successfully parsed. 19899 I fixed that by holding these members in OwnPtrs. The 19900 CSSPrimitiveValue members of {Shadow,BorderImage}ParseContext, which 19901 inherit from Shared, were being explicitly deleted, which is not a 19902 safe way to manage the lifetime of objects that inherit from Shared. 19903 To fix this, I put those members inside RefPtrs. These two changes 19904 allowed me to remove the destructors entirely. 19905 19906 Reviewed by Darin. 19907 19908 All regression tests pass. 19909 19910 * css/cssparser.cpp: 19911 (WebCore::ShadowParseContext::commitValue): Use .release() to avoid 19912 ref-count churn. 19913 (WebCore::ShadowParseContext::commitLength): Use a RefPtr for the new 19914 value to avoid a leak. 19915 (WebCore::CSSParser::parseShadow): Use 'false' instead of 19916 'context.failed()', and use .release() to avoid ref-count churn. 19917 (WebCore::BorderImageParseContext::commitWidth): Updated to use 19918 OwnPtr. 19919 (WebCore::CSSParser::parseBorderImage): Use 'false' instead of 19920 'context.failed'. 19921 19922 2007-07-01 Anders Carlsson <andersca (a] apple.com> 19923 19924 Reviewed by John Sullivan. 19925 19926 <rdar://problem/5297146> 19927 Crash in Mail at WebCore::Frame::setUserStyleSheetLocation (reproducible w/ particular message) 19928 19929 * loader/Cache.cpp: 19930 (WebCore::Cache::requestResource): 19931 Only insert the resource in the LRU list if the cache is enabled. 19932 19933 (WebCore::Cache::insertInLRUList): 19934 (WebCore::Cache::resourceAccessed): 19935 Assert that the resource is in the cache. 19936 19937 2007-07-01 Darin Adler <darin (a] apple.com> 19938 19939 * css/tokenizer.flex: Rolled out the fix for 14453. 19940 The layout test wasn't passing. We'll try again. 19941 19942 2007-07-01 Adam Roben <aroben (a] apple.com> 19943 19944 Fix a crash in ~PluginViewWin() 19945 19946 This crash was introduced in r23827. 19947 19948 Reviewed by Anders. 19949 19950 Fixes dom/html/level2/html/HTMLAnchorElement01.html 19951 19952 * plugins/win/PluginViewWin.cpp: 19953 (WebCore::PluginViewWin::~PluginViewWin): Allow m_plugin to be null. 19954 19955 2007-07-01 Rob Buis <buis (a] kde.org> 19956 19957 Reviewed by Darin. 19958 19959 http://bugs.webkit.org/show_bug.cgi?id=14453 19960 REGRESSION: www.nzherald.co.nz almost all the formating is gone 19961 19962 * css/tokenizer.flex: Allow hex colors with 2, 4, or 5 hex digits. 19963 19964 2007-07-01 Sam Weinig <sam (a] webkit.org> 19965 19966 Reviewed by Oliver. 19967 19968 Third round of implicit 64-32 bit conversion errors fixes. 19969 <rdar://problem/5292262> 19970 19971 - Use new CSSPrimitiveValue::getDoubleValue() and CSSPrimitiveValue::getIntValue() 19972 methods instead of CSSPrimitiveValue::getFloatValue() where appropriate. 19973 19974 * css/CSSPrimitiveValue.cpp: 19975 (WebCore::CSSPrimitiveValue::computeLengthInt): 19976 (WebCore::CSSPrimitiveValue::computeLengthIntForLength): 19977 (WebCore::CSSPrimitiveValue::computeLengthShort): 19978 (WebCore::CSSPrimitiveValue::computeLengthFloat): 19979 (WebCore::CSSPrimitiveValue::computeLengthDouble): 19980 (WebCore::CSSPrimitiveValue::getDoubleValue): 19981 * css/CSSPrimitiveValue.h: 19982 (WebCore::CSSPrimitiveValue::getDoubleValue): 19983 (WebCore::CSSPrimitiveValue::getFloatValue): 19984 (WebCore::CSSPrimitiveValue::getIntValue): 19985 * css/Counter.h: 19986 (WebCore::Counter::listStyleNumber): 19987 * css/MediaQueryEvaluator.cpp: 19988 (WebCore::parseAspectRatio): 19989 * css/cssparser.cpp: 19990 (WebCore::BorderImageParseContext::commitBorderImage): 19991 * css/cssstyleselector.cpp: 19992 (WebCore::convertToLength): 19993 (WebCore::applyCounterList): 19994 (WebCore::CSSStyleSelector::applyProperty): 19995 (WebCore::CSSStyleSelector::mapBackgroundSize): 19996 (WebCore::CSSStyleSelector::mapBackgroundXPosition): 19997 (WebCore::CSSStyleSelector::mapBackgroundYPosition): 19998 * html/HTMLTableElement.cpp: 19999 (WebCore::HTMLTableElement::parseMappedAttribute): 20000 * ksvg2/css/SVGCSSStyleSelector.cpp: 20001 (WebCore::CSSStyleSelector::applySVGProperty): 20002 * ksvg2/misc/KCanvasRenderingStyle.cpp: 20003 (WebCore::KSVGPainterFactory::cssPrimitiveToLength): 20004 (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle): 20005 20006 2007-07-01 Pamela Greene <pamg.bugs (a] gmail.com> 20007 20008 Reviewed by Darin. 20009 20010 Fix for <http://bugs.webkit.org/show_bug.cgi?id=14320> 20011 Bug 14320: <canvas> gradient stops at identical offsets are applied in the wrong order 20012 <rdar://problem/5290084> 20013 20014 Use std::stable_sort() instead of qsort() to sort gradient stops. 20015 Adjust the comparison function accordingly. 20016 20017 * html/CanvasGradient.cpp: 20018 (WebCore::compareStops): 20019 (WebCore::CanvasGradient::findStop): 20020 20021 2007-07-01 Holger Hans Peter Freyther <zecke (a] selfish.org> 20022 20023 Reviewed by Darin. 20024 20025 m_usesPageCache was not initialized. As the b/f cache is only 20026 implemented in the Mac port and WebView.mm is taking care of calling 20027 Settings::setUsesPageCache I decided to make it false by default. 20028 20029 * page/Settings.cpp: 20030 (WebCore::Settings::Settings): m_usesPageCache was not initialized 20031 20032 2007-07-01 Holger Hans Peter Freyther <zecke (a] selfish.org> 20033 20034 Reviewed by Darin. 20035 20036 Inherited- and NonInheritedFlags is a bit field. But for comparsion 20037 the other part of the union _iflags/_niflags is used for comparions. 20038 This will compare 5 uninitialized bits of _iflags and 22 of _niflags. 20039 Make sure the unused bits have a specified value. 20040 20041 * ksvg2/css/SVGRenderStyle.h: 20042 (WebCore::SVGRenderStyle::setBitDefaults): Make sure the unused bits 20043 have a value as well. 20044 20045 2007-06-30 Adam Roben <aroben (a] apple.com> 20046 20047 Compile WebCore with /W4 on Windows 20048 20049 Some more warnings were disabled globally, including assignment within 20050 a conditional, unused variable, and various warnings related to 20051 inability to instantiate opaque structs. 20052 20053 In addition, the "unreachable code" warning was turned off for 20054 CSSGrammar.cpp and XPathGrammar.cpp. 20055 20056 Reviewed by Oliver. 20057 20058 * WebCore.vcproj/WebCore.vcproj: 20059 20060 2007-06-29 Adam Roben <aroben (a] apple.com> 20061 20062 Give CString an equality operator to fix a bug in HTMLFormElement::formData 20063 20064 The bug was spotted by MSVC /W4. The problem was that we were comparing 20065 a CString to a char* using ==, but CString had no equality operator. 20066 The result was that the CString was being cast to a const char* and a 20067 pointer comparison was being done, which would (essentially) always 20068 return false. 20069 20070 There are two parts to the fix: get rid of CString's const char* 20071 casting operator, and add an equality operator. Previous uses of the 20072 casting operator have been changed to use CString::data(). 20073 20074 Test: http/misc/isindex-formdata.html 20075 20076 Reviewed by Oliver. 20077 20078 * dom/XMLTokenizer.cpp: 20079 (WebCore::parseXMLDocumentFragment): 20080 * html/HTMLDocument.cpp: 20081 (WebCore::HTMLDocument::determineParseMode): 20082 * html/HTMLFormElement.cpp: 20083 (WebCore::HTMLFormElement::formData): 20084 * loader/TextResourceDecoder.cpp: 20085 (WebCore::TextResourceDecoder::checkForCSSCharset): 20086 * platform/CString.cpp: 20087 (WebCore::operator==): 20088 * platform/CString.h: 20089 * platform/KURL.cpp: 20090 (WebCore::encodeRelativeString): 20091 * platform/StringImpl.cpp: 20092 (WebCore::StringImpl::toDouble): 20093 * platform/network/cf/FormDataStreamCFNet.cpp: 20094 (WebCore::setHTTPBody): 20095 * platform/network/mac/FormDataStreamMac.mm: 20096 (WebCore::setHTTPBody): 20097 * platform/win/ClipboardUtilitiesWin.cpp: 20098 (WebCore::markupToCF_HTML): 20099 * plugins/win/PluginPackageWin.cpp: 20100 (WebCore::splitString): 20101 * plugins/win/PluginStreamWin.cpp: 20102 (WebCore::PluginStreamWin::startStream): 20103 (WebCore::PluginStreamWin::destroyStream): 20104 (WebCore::PluginStreamWin::sendJavaScriptStream): 20105 (WebCore::PluginStreamWin::didFinishLoading): 20106 * plugins/win/PluginViewWin.cpp: 20107 (WebCore::PluginViewWin::start): 20108 (WebCore::createUTF8String): 20109 (WebCore::PluginViewWin::userAgent): 20110 * xml/XSLStyleSheet.cpp: 20111 (WebCore::XSLStyleSheet::locateStylesheetSubResource): 20112 * xml/XSLTProcessor.cpp: 20113 (WebCore::xsltParamArrayFromParameterMap): 20114 20115 2007-06-29 Adam Roben <aroben (a] apple.com> 20116 20117 Initialize two variables that MSVC /W4 isn't smart enough to realize always get initialized 20118 20119 Reviewed by John. 20120 20121 * editing/Editor.cpp: 20122 (WebCore::Editor::advanceToNextMisspelling): 20123 * html/HTMLParser.cpp: 20124 20125 2007-06-29 Adam Roben <aroben (a] apple.com> 20126 20127 Fix some possibly unitialized variables found by MSVC /W4 20128 20129 Reviewed by John. 20130 20131 * rendering/bidi.cpp: 20132 (WebCore::RenderBlock::layoutInlineChildren): 20133 20134 2007-06-29 Adam Roben <aroben (a] apple.com> 20135 20136 Remove bogus cast found by MSVC /W4 20137 20138 Reviewed by John and Oliver. 20139 20140 * ksvg2/css/SVGCSSParser.cpp: 20141 (WebCore::CSSParser::parseSVGValue): 20142 20143 2007-06-29 Adam Roben <aroben (a] apple.com> 20144 20145 Remove unused local functions uncovered by MSVC /W4 20146 20147 Reviewed by John and Oliver. 20148 20149 * platform/win/SearchPopupMenuWin.cpp: 20150 * rendering/RenderText.cpp: 20151 20152 2007-06-29 Adam Roben <aroben (a] apple.com> 20153 20154 Don't take the address of temporary values to appease MSVC /W4 20155 20156 Reviewed by Oliver. 20157 20158 No regression test possible. 20159 20160 * platform/win/PopupMenuWin.cpp: 20161 (WebCore::PopupMenu::invalidateItem): 20162 (WebCore::PopupMenu::valueChanged): 20163 (WebCore::PopupWndProc): 20164 * platform/win/ScrollViewWin.cpp: 20165 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 20166 * platform/win/UniscribeController.cpp: 20167 (WebCore::UniscribeController::shapeAndPlaceItem): 20168 * platform/win/WidgetWin.cpp: 20169 (WebCore::Widget::invalidateRect): 20170 20171 2007-06-29 Adam Roben <aroben (a] apple.com> 20172 20173 Make an int -> UINT conversion explicit that MSVC /W4 complains about 20174 20175 Reviewed by John and Oliver. 20176 20177 No regression test possible. 20178 20179 * platform/win/SoundWin.cpp: 20180 20181 2007-06-29 Adam Roben <aroben (a] apple.com> 20182 20183 Remove unreachable code uncovered by MSVC /W4 20184 20185 Reviewed by Oliver. 20186 20187 No regression test possible. 20188 20189 * html/CanvasRenderingContext2D.cpp: 20190 (WebCore::CanvasRenderingContext2D::createPattern): 20191 * html/HTMLAnchorElement.cpp: 20192 (WebCore::HTMLAnchorElement::isLiveLink): 20193 * html/HTMLElement.cpp: 20194 (WebCore::HTMLElement::contentEditable): 20195 * platform/DeprecatedString.cpp: 20196 (WebCore::allocateHandle): 20197 (WebCore::freeHandle): 20198 * plugins/win/npapi.cpp: 20199 (pluginViewForInstance): 20200 * rendering/RenderImage.cpp: 20201 (WebCore::RenderImage::isWidthSpecified): 20202 (WebCore::RenderImage::isHeightSpecified): 20203 * rendering/RenderTheme.cpp: 20204 (WebCore::RenderTheme::isControlStyled): 20205 20206 2007-06-29 John Sullivan <sullivan (a] apple.com> 20207 20208 Reviewed by Oliver Hunt. 20209 20210 - WebCore support for accessing the set of rectangles that encompass the selected text 20211 20212 * page/Frame.h: 20213 * page/Frame.cpp: 20214 (WebCore::Frame::selectionTextRects): 20215 new function, fills in a passed Vector with the line box rects that represent the selected range 20216 20217 * rendering/RenderText.cpp: 20218 (WebCore::RenderText::addLineBoxRects): 20219 fixed off-by-one bug involving use of the confusing function InlineTextBox::end() 20220 20221 * WebCore.exp: 20222 exported symbol for this new function 20223 20224 2007-06-29 Justin Garcia <justin.garcia (a] apple.com> 20225 20226 Reviewed by Harrison. 20227 20228 <rdar://problem/5299513> REGRESSION: In Mail, a crash occurs when attempting to undo a newly created To Do 20229 20230 Rolled out a change made in r23787. 20231 20232 * editing/DeleteSelectionCommand.cpp: 20233 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 20234 20235 2007-06-29 Geoffrey Garen <ggaren (a] apple.com> 20236 20237 Reviewed by Darin Adler, Anders Carlsson. 20238 20239 Fixed <rdar://problem/5303567> REGRESSION: XMLHttpRequest.responseXML 20240 returns NULL if response MIME type is not XML -- breaks Wikipedia widget 20241 20242 The spec says that responseXML must return null for any HTTP response 20243 with a non-XML MIME type. Technically, that leaves non-HTTP responses 20244 free to do whatever they want. 20245 20246 * xml/xmlhttprequest.cpp: 20247 (WebCore::XMLHttpRequest::getResponseXML): Only return null for non-XML 20248 MIME types if the response was HTTP. 20249 20250 2007-06-29 Sam Weinig <sam (a] webkit.org> 20251 20252 Reviewed by Darin. 20253 20254 Second pass at fixing implicit 64-32 bit conversion errors. 20255 <rdar://problem/5292262> 20256 20257 - Use new JSValue::toFloat() method instead of toNumber() where 20258 appropriate. 20259 20260 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 20261 (WebCore::JSCanvasRenderingContext2D::setFillColor): 20262 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): 20263 (WebCore::JSCanvasRenderingContext2D::strokeRect): 20264 (WebCore::JSCanvasRenderingContext2D::drawImage): 20265 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): 20266 (WebCore::JSCanvasRenderingContext2D::setShadow): 20267 * bindings/js/JSHTMLSelectElementCustom.cpp: 20268 (WebCore::JSHTMLSelectElement::remove): 20269 * bindings/js/JSSVGMatrixCustom.cpp: 20270 (WebCore::JSSVGMatrix::rotateFromVector): 20271 * bindings/js/kjs_events.cpp: 20272 (KJS::JSClipboardPrototypeFunction::callAsFunction): 20273 * bindings/scripts/CodeGeneratorJS.pm: 20274 * ksvg2/svg/SVGScriptElement.cpp: 20275 (WebCore::SVGScriptElement::executeScript): 20276 20277 2007-06-29 Adele Peterson <adele (a] apple.com> 20278 20279 Rolling out fix for <rdar://problem/5301322> since it broke layout tests. 20280 20281 * html/HTMLInputElement.h: 20282 * html/HTMLTextAreaElement.h: 20283 20284 2007-06-29 Geoffrey Garen <ggaren (a] apple.com> 20285 20286 Reviewed by Oliver Hunt. 20287 20288 Fixed <rdar://problem/4962298> REGRESSION: Synchronous XHR for missing 20289 local file throws exception -- breaks Wikipedia widget 20290 20291 * WebCore.xcodeproj/project.pbxproj: 20292 * xml/xmlhttprequest.cpp: 20293 (WebCore::XMLHttpRequest::send): Don't throw exceptions for local files. 20294 20295 2007-06-29 Ada Chan <adachan (a] apple.com> 20296 20297 Reviewed by Adam. 20298 20299 Fixed a previous fix to a signed/unsigned mismatch. 20300 20301 * plugins/win/PluginPackageWin.cpp: 20302 (WebCore::splitString): 20303 20304 2007-06-29 Adele Peterson <adele (a] apple.com> 20305 20306 Reviewed by Ada and Kevin McCullough. 20307 20308 Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas 20309 20310 Implemented canSelectAll and selectAll for text fields and textareas, since they're special cases even when they're not editable. 20311 20312 Tests: 20313 fast/forms/input-readonly-select-all.html 20314 fast/forms/textarea-readonly-select-all.html 20315 20316 * html/HTMLInputElement.h: 20317 (WebCore::HTMLInputElement::canSelectAll): 20318 (WebCore::HTMLInputElement::selectAll): 20319 * html/HTMLTextAreaElement.h: 20320 (WebCore::HTMLTextAreaElement::canSelectAll): 20321 (WebCore::HTMLTextAreaElement::selectAll): 20322 20323 2007-06-29 Adam Roben <aroben (a] apple.com> 20324 20325 Build fix 20326 20327 This is what happens when you test your patch on two OSs and then 20328 commit from the wrong one. 20329 20330 * rendering/RenderTextControl.cpp: 20331 (WebCore::RenderTextControl::valueChanged): 20332 (WebCore::RenderTextControl::itemText): 20333 (WebCore::RenderTextControl::itemIsSeparator): 20334 20335 2007-06-29 Adam Roben <aroben (a] apple.com> 20336 20337 Start compiling WebCore with /W3 under MSVC 20338 20339 One warning was globally disabled: implicit conversion of int to bool. 20340 20341 Reviewed by Darin. 20342 20343 * WebCore.vcproj/WebCore.vcproj: 20344 20345 2007-06-29 Adam Roben <aroben (a] apple.com> 20346 20347 Turn DeprecatedStringData's copy constructor into a static method to appease MSVC /W3 20348 20349 DeprecatedStringData now has no public copy constructor. The single 20350 call to the old one has been replaced with a call to the new 20351 DeprecatedStringData::createAndAdopt static method. 20352 20353 Reviewed by Darin. 20354 20355 All regression tests pass. 20356 20357 * platform/DeprecatedString.cpp: 20358 (WebCore::DeprecatedStringData::createAndAdopt): 20359 (WebCore::DeprecatedStringData::adopt): 20360 (WebCore::DeprecatedString::detachIfInternal): 20361 * platform/DeprecatedString.h: 20362 20363 2007-06-29 Adam Roben <aroben (a] apple.com> 20364 20365 Fix more signed/unsigned mismatches uncovered by MSVC /W3 20366 20367 Reviewed by John. 20368 20369 No regression tests possible. 20370 20371 * platform/network/cf/ResourceResponseCFNet.cpp: 20372 (WebCore::filenameHasSaneExtension): 20373 * platform/win/FontDataWin.cpp: 20374 (WebCore::FontData::containsCharacters): 20375 * platform/win/PlatformScrollBarSafari.cpp: 20376 (WebCore::): 20377 * platform/win/UniscribeController.cpp: 20378 (WebCore::UniscribeController::advance): 20379 (WebCore::UniscribeController::shapeAndPlaceItem): 20380 * platform/win/WebCoreTextRenderer.cpp: 20381 (WebCore::doDrawTextAtPoint): 20382 * plugins/win/PluginDatabaseWin.cpp: 20383 (WebCore::parseVersionString): 20384 * plugins/win/PluginPackageWin.cpp: 20385 (WebCore::splitString): 20386 * plugins/win/PluginViewWin.cpp: 20387 (WebCore::freeStringArray): 20388 (WebCore::PluginViewWin::invalidateTimerFired): 20389 20390 2007-06-29 Adam Roben <aroben (a] apple.com> 20391 20392 Change PopupMenuClient::listSize to return an int to appease warnings from MSVC /W3 20393 20394 Reviewed by John. 20395 20396 No regression test possible. 20397 20398 * html/HTMLSelectElement.cpp: 20399 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): 20400 * platform/PopupMenuClient.h: 20401 * platform/win/PopupMenuWin.cpp: 20402 (WebCore::PopupMenu::calculatePositionAndSize): 20403 (WebCore::PopupMenu::focusFirst): 20404 (WebCore::PopupMenu::focusLast): 20405 (WebCore::PopupMenu::down): 20406 (WebCore::PopupMenu::up): 20407 (WebCore::PopupMenu::paint): 20408 * rendering/RenderMenuList.cpp: 20409 * rendering/RenderMenuList.h: 20410 * rendering/RenderTextControl.cpp: 20411 * rendering/RenderTextControl.h: 20412 20413 2007-06-29 Adam Roben <aroben (a] apple.com> 20414 20415 Fix two typos spotted by MSVC /W3 20416 20417 Both typos were a semicolon following the condition of an if. This 20418 would cause the intended body of the if to always execute. 20419 20420 Unfortunately neither of these fixes are testable. 20421 BackForwardList::goForward is only called from WebBackForwardList, and 20422 the createDragImageFromImage bug would only manifest itself when 20423 CreateCompatibleDC failed. 20424 20425 Reviewed by Mark. 20426 20427 * history/BackForwardList.cpp: 20428 (WebCore::BackForwardList::goForward): 20429 * platform/win/DragImageWin.cpp: 20430 (WebCore::createDragImageFromImage): 20431 20432 2007-06-29 Adam Treat <adam (a] staikos.net> 20433 20434 Reviewed by george Staikos. 20435 20436 Support horizontal and vertical scroll, and set the right units. 20437 20438 * platform/qt/WheelEventQt.cpp: 20439 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 20440 20441 2007-06-28 Adam Roben <aroben (a] apple.com> 20442 20443 Get WebCore compiling with /W2 on Windows 20444 20445 Reviewed by Steve. 20446 20447 No regression tests affected. 20448 20449 * WebCore.vcproj/WebCore.vcproj: Turn the warning level up to 2, and 20450 disable two warnings: implicit int <=> float conversion, and class vs. 20451 struct inconsistency. 20452 * dom/CharacterData.cpp: 20453 (WebCore::CharacterData::deleteData): Cast to int before negating. 20454 * loader/Cache.cpp: 20455 (WebCore::Cache::remove): Ditto. 20456 * platform/graphics/Path.cpp: 20457 (WebCore::pathLengthApplierFunction): Consistently use floats. 20458 * platform/graphics/cg/GraphicsContextCG.cpp: 20459 (WebCore::GraphicsContext::drawEllipse): Ditto. 20460 * platform/win/GraphicsContextWin.cpp: 20461 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): Ditto. 20462 20463 2007-06-28 Geoffrey Garen <ggaren (a] apple.com> 20464 20465 Reviewed by Maciej Stachowiak. 20466 20467 Fixed <rdar://problem/5299005> DOM timers fire without a local autorelease 20468 pool => pathologically high high water mark 20469 20470 I couldn't measure any performance problems with iBench HTML or PLT. 20471 20472 * WebCore.xcodeproj/project.pbxproj: Changed .cpp file to be ObjC++. 20473 * platform/mac/SharedTimerMac.cpp: 20474 (WebCore::timerFired): Added autorelease pool. 20475 20476 2007-06-28 Mitz Pettel <mitz (a] webkit.org> 20477 20478 Reviewed by Beth. 20479 20480 - fix http://bugs.webkit.org/show_bug.cgi?id=14118 20481 ASSERTION FAILED: !needsLayout() seen again 20482 20483 Test: fast/dynamic/recursive-layout.html 20484 20485 * page/FrameView.cpp: 20486 (WebCore::FrameView::layout): Removed the midLayout guards around 20487 the calls to invalidateSelection() and updateWidgetPositions(). Those 20488 calls may dirty the layout, but in that case they also update it, so 20489 they should be allowed to do it. Added an ASSERT to make sure that when 20490 they return, the root is not marked for layout. 20491 20492 2007-06-28 Sam Weinig <sam (a] webkit.org> 20493 20494 Rubberstamped by Adam Roben. 20495 20496 Roll out r23861. It caused the buildbot to fail on intel. 20497 20498 * page/Page.cpp: 20499 (WebCore::Page::goToItem): 20500 20501 2007-06-26 Maxime Britto <mbritto (a] pleyo.com> 20502 20503 Reviewed by Geoff. 20504 20505 Patch for http://bugs.webkit.org/show_bug.cgi?id=13038 20506 ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame 20507 20508 Modification of an ASSERT on goToItem related to go back/forward in 20509 history.Don't need to check the frameset if the target is _blank. 20510 20511 * page/Page.cpp: 20512 (WebCore::Page::goToItem): 20513 20514 2007-06-28 Anders Carlsson <andersca (a] apple.com> 20515 20516 Reviewed by Oliver. 20517 20518 <rdar://problem/5234139> 20519 <object> with PNG src rendered as image document. 20520 20521 Complete the URL before passing it to the frame loader client. 20522 20523 * html/HTMLObjectElement.cpp: 20524 (WebCore::HTMLObjectElement::isImageType): 20525 20526 2007-06-28 Rob Buis <buis (a] kde.org> 20527 20528 Reviewed by Maciej. 20529 20530 http://bugs.webkit.org/show_bug.cgi?id=14373 20531 CSS1: selectors (classes and IDs) cannot start with a dash or with a digit 20532 20533 Make sure the id selector validates against the CSS2.1 identfier 20534 definition, not the hexcolor/HASH definition. 20535 20536 * css/CSSGrammar.y: 20537 * css/cssparser.cpp: 20538 (WebCore::CSSParser::lex): 20539 (WebCore::CSSParser::text): 20540 * css/tokenizer.flex: 20541 20542 2007-06-28 Simon Hausmann <hausmann (a] kde.org> 20543 20544 Reviewed by Zack. 20545 20546 Implemented PasteboardQt::writeSelection to copy the selected text into the Clipboard as well as PasteboardQt::plainText to retrieve plain text from the clipboard for pasting for example into form fields. 20547 20548 * platform/qt/PasteboardQt.cpp: 20549 (WebCore::Pasteboard::writeSelection): 20550 20551 2007-06-28 Antti Koivisto <antti (a] apple.com> 20552 20553 Reviewed by Mitz. 20554 20555 Fix http://bugs.webkit.org/show_bug.cgi?id=14332 20556 Bug 14332: REGRESSION (r21145): <td> width ignored 20557 <rdar://problem/5290123> 20558 20559 Cells in table with non-zero cellpadding are not considered empty. 20560 20561 * rendering/AutoTableLayout.cpp: 20562 (WebCore::AutoTableLayout::recalcColumn): 20563 20564 2007-06-28 Adam Roben <aroben (a] apple.com> 20565 20566 Fix <rdar://problem/5300455> Prefast: typo in RenderBlock::paintObject 20567 20568 Reviewed by Hyatt. 20569 20570 No layout test possible, as this bug didn't have any effect since 20571 "bool & bool" has the same value as "bool && bool" 20572 20573 * rendering/RenderBlock.cpp: 20574 (WebCore::RenderBlock::paintObject): Changed & to &&. 20575 20576 2007-06-28 Adam Roben <aroben (a] apple.com> 20577 20578 Fix <rdar://problem/5300443> word-break and -webkit-user-modify allow any value 20579 20580 The bug was caused by two typos found by prefast. 20581 20582 Reviewed by Hyatt. 20583 20584 * css/cssparser.cpp: 20585 (WebCore::CSSParser::parseValue): Fixed typos. 20586 20587 2007-06-20 Matt Perry <mpComplete (a] gmail.com> 20588 20589 Reviewed by Adam. 20590 20591 - Fix http://bugs.webkit.org/show_bug.cgi?id=14251: 20592 onchange handler for select controls doesn't fire when changing via keyboard 20593 20594 * html/HTMLSelectElement.cpp: 20595 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Got rid of 20596 a call to saveLastSelection in the "Enter" key handler for select 20597 controls that was preventing onchange from firing. 20598 20599 2007-06-27 Sam Weinig <sam (a] webkit.org> 20600 20601 Fix Gdk, Qt, and Win32 builds. 20602 20603 * WebCore.pro: 20604 * WebCore.vcproj/WebCore.vcproj: 20605 20606 2007-06-27 Sam Weinig <sam (a] webkit.org> 20607 20608 Reviewed by Geoff. 20609 20610 Patch for http://bugs.webkit.org/show_bug.cgi?id=14319 20611 Move the Selection object out of the JS bindings 20612 20613 - Renames JS Object Selection to DOMSelection to avoid a name 20614 conflict. 20615 20616 * DerivedSources.make: 20617 * WebCore.xcodeproj/project.pbxproj: 20618 * bindings/js/kjs_window.cpp: 20619 (KJS::WindowPrivate::WindowPrivate): 20620 (KJS::Window::mark): 20621 (KJS::Window::clearHelperObjectProperties): 20622 (KJS::WindowFunc::callAsFunction): 20623 (KJS::Window::disconnectFrame): 20624 * bindings/js/kjs_window.h: 20625 (KJS::Window::): 20626 * page/DOMSelection.cpp: Added. 20627 (WebCore::DOMSelection::DOMSelection): 20628 (WebCore::DOMSelection::frame): 20629 (WebCore::DOMSelection::disconnectFrame): 20630 (WebCore::DOMSelection::anchorNode): 20631 (WebCore::DOMSelection::baseNode): 20632 (WebCore::DOMSelection::anchorOffset): 20633 (WebCore::DOMSelection::baseOffset): 20634 (WebCore::DOMSelection::focusNode): 20635 (WebCore::DOMSelection::extentNode): 20636 (WebCore::DOMSelection::focusOffset): 20637 (WebCore::DOMSelection::extentOffset): 20638 (WebCore::DOMSelection::isCollapsed): 20639 (WebCore::DOMSelection::type): 20640 (WebCore::DOMSelection::rangeCount): 20641 (WebCore::DOMSelection::collapse): 20642 (WebCore::DOMSelection::collapseToEnd): 20643 (WebCore::DOMSelection::collapseToStart): 20644 (WebCore::DOMSelection::empty): 20645 (WebCore::DOMSelection::setBaseAndExtent): 20646 (WebCore::DOMSelection::setPosition): 20647 (WebCore::DOMSelection::modify): 20648 (WebCore::DOMSelection::getRangeAt): 20649 (WebCore::DOMSelection::removeAllRanges): 20650 (WebCore::DOMSelection::addRange): 20651 (WebCore::DOMSelection::toString): 20652 * page/DOMSelection.h: Added. 20653 * page/DOMSelection.idl: Added. 20654 * page/DOMWindow.cpp: 20655 (WebCore::DOMWindow::disconnectFrame): 20656 (WebCore::DOMWindow::getSelection): 20657 * page/DOMWindow.h: 20658 * page/DOMWindow.idl: 20659 20660 2007-06-27 Sam Weinig <sam (a] webkit.org> 20661 20662 Reviewed by Maciej. 20663 20664 2nd patch for http://bugs.webkit.org/show_bug.cgi?id=14111 20665 Autogenerate Event JS binding 20666 20667 - Cleanup kjs_events 20668 20669 * bindings/js/kjs_events.cpp: 20670 (WebCore::JSAbstractEventListener::JSAbstractEventListener): 20671 (WebCore::JSAbstractEventListener::handleEvent): 20672 (WebCore::JSAbstractEventListener::isHTMLEventListener): 20673 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): 20674 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): 20675 (WebCore::JSUnprotectedEventListener::listenerObj): 20676 (WebCore::JSUnprotectedEventListener::windowObj): 20677 (WebCore::JSUnprotectedEventListener::clearWindowObj): 20678 (WebCore::JSUnprotectedEventListener::mark): 20679 (WebCore::JSEventListener::JSEventListener): 20680 (WebCore::JSEventListener::~JSEventListener): 20681 (WebCore::JSEventListener::listenerObj): 20682 (WebCore::JSEventListener::windowObj): 20683 (WebCore::JSEventListener::clearWindowObj): 20684 (WebCore::JSLazyEventListener::JSLazyEventListener): 20685 (WebCore::JSLazyEventListener::listenerObj): 20686 (WebCore::JSLazyEventListener::parseCode): 20687 (WebCore::getNodeEventListener): 20688 (WebCore::JSClipboard::JSClipboard): 20689 (WebCore::JSClipboard::getValueProperty): 20690 (WebCore::JSClipboard::putValueProperty): 20691 (WebCore::JSClipboardPrototypeFunction::callAsFunction): 20692 (WebCore::toJS): 20693 (WebCore::toClipboard): 20694 * bindings/js/kjs_events.h: 20695 (WebCore::JSClipboard::classInfo): 20696 (WebCore::JSClipboard::impl): 20697 * bindings/js/kjs_window.h: 20698 * ksvg2/events/JSSVGLazyEventListener.h: 20699 20700 2007-06-27 Sam Weinig <sam (a] webkit.org> 20701 20702 Reviewed by Adam Roben. 20703 20704 Patch for http://bugs.webkit.org/show_bug.cgi?id=12045 20705 Crash under gmalloc at WTF::RefPtr<WebCore::HTMLSliderThumbElement>::operator-> 20706 <rdar://problem/5286670> 20707 20708 Test: fast/forms/thumbslider-no-parent-slider.html 20709 Test: fast/forms/thumbslider-crash.html 20710 20711 * rendering/RenderObject.h: 20712 (WebCore::RenderObject::isSlider): 20713 * rendering/RenderSlider.h: 20714 (WebCore::RenderSlider::isSlider): 20715 * rendering/RenderTheme.cpp: 20716 (WebCore::RenderTheme::paint): Only paint thumbslider 20717 if the parent renderer is a RenderSlider. 20718 * rendering/RenderThemeMac.mm: 20719 (WebCore::RenderThemeMac::paintSliderThumb): 20720 * rendering/RenderThemeSafari.cpp: 20721 (WebCore::RenderThemeSafari::paintSliderThumb): 20722 20723 2007-06-27 George Staikos <staikos (a] kde.org> 20724 20725 Make Qt builds link when XSLT is turned off. 20726 20727 * WebCore.pro: 20728 20729 2007-06-27 Steve Falkenburg <sfalken (a] apple.com> 20730 20731 Turn on static code analysis (Windows only). 20732 20733 Affects only folks that have Visual Studio Team Suite installed, 20734 or who have replaced their compiler with the version shipping in the 20735 Vista SDK. 20736 20737 Reviewed by Oliver. 20738 20739 * WebCore.vcproj/WebCore.vcproj: 20740 20741 2007-06-27 George Staikos <staikos (a] kde.org> 20742 20743 Remove old commented out files that no-longer exist. 20744 20745 * WebCore.pro: 20746 20747 2007-06-27 Justin Garcia <justin.garcia (a] apple.com> 20748 20749 Reviewed by John. 20750 20751 <rdar://problem/5247341> REGRESSION: Pasting sometimes leaves out trailing newline 20752 20753 Pasting with a trailing interchange newline doesn't work when pasting 20754 into an empty line. Code that handles removing brs at the insertion 20755 position tries to also handle trailing interchange newlines by re-using 20756 those brs and fails. Removed that code and handle all interchange 20757 newlines with code later in doApply(). 20758 20759 * editing/ReplaceSelectionCommand.cpp: 20760 (WebCore::ReplaceSelectionCommand::doApply): Don't try to re-use the 20761 endBR when there's a trailing interchange newline. 20762 20763 2007-06-27 Anders Carlsson <andersca (a] apple.com> 20764 20765 Reviewed by Oliver. 20766 20767 <rdar://problem/5253950> 20768 When Shockwave plugin has been loaded, exiting crashes Safari 20769 20770 Add a "load count" for plugin packages. When the load count is zero, unload the plugin. 20771 20772 * plugins/win/PluginPackageWin.cpp: 20773 (WebCore::PluginPackageWin::PluginPackageWin): 20774 (WebCore::PluginPackageWin::load): 20775 (WebCore::PluginPackageWin::unload): 20776 (WebCore::PluginPackageWin::unloadWithoutShutdown): 20777 * plugins/win/PluginPackageWin.h: 20778 20779 * plugins/win/PluginViewWin.cpp: 20780 (WebCore::PluginViewWin::~PluginViewWin): 20781 Make sure to unload the plugin package and clear any references to plugin script objects. 20782 20783 2007-06-27 George Staikos <staikos (a] kde.org> 20784 20785 This was succeeding compile by luck. Setup dependencies properly. 20786 20787 * WebCore.pro: 20788 20789 2007-06-27 Justin Garcia <justin.garcia (a] apple.com> 20790 20791 Reviewed by John. 20792 20793 <rdar://problem/4580583> Breaking blockquoted list should not automatically renumber the second list 20794 20795 When a quoted numbered list is broken in half, it's cloned 20796 to make the second list. That second list needs its start attribute 20797 set so that the numbers of the list items in it will be preserved. 20798 20799 * editing/BreakBlockquoteCommand.cpp: 20800 (WebCore::BreakBlockquoteCommand::doApply): Set the start attribute 20801 of a cloned list to be the original number of the first list item in it. 20802 20803 2007-06-27 Alexey Proskuryakov <ap (a] webkit.org> 20804 20805 Reviewed by Geoff. 20806 20807 http://bugs.webkit.org/show_bug.cgi?id=14413 20808 GIF animation throttling is different from MSIE 20809 20810 * platform/graphics/cg/ImageSourceCG.cpp: 20811 (WebCore::ImageSource::frameDurationAtIndex): 20812 Change the cut-off value to 50ms to match MSIE. 20813 20814 2007-06-27 Sam Weinig <sam (a] webkit.org> 20815 20816 Reviewed by Darin. 20817 20818 First pass at fixing implicit 64-32 bit conversion errors. 20819 <rdar://problem/5292262> 20820 20821 - Add 'f' suffix where necessary. 20822 20823 * bridge/mac/WebCoreAXObject.mm: 20824 (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]): 20825 * css/csshelper.h: 20826 * css/cssstyleselector.cpp: 20827 (WebCore::): 20828 (WebCore::CSSStyleSelector::largerFontSize): 20829 (WebCore::CSSStyleSelector::smallerFontSize): 20830 * html/CanvasGradient.cpp: 20831 (WebCore::CanvasGradient::addColorStop): 20832 * html/CanvasPattern.cpp: 20833 (WebCore::CanvasPattern::createPattern): 20834 * ksvg2/css/SVGCSSStyleSelector.cpp: 20835 (WebCore::CSSStyleSelector::applySVGProperty): 20836 * ksvg2/css/SVGRenderStyle.h: 20837 * ksvg2/events/SVGZoomEvent.cpp: 20838 (WebCore::SVGZoomEvent::SVGZoomEvent): 20839 * ksvg2/svg/SVGLength.cpp: 20840 (WebCore::SVGLength::SVGLength): 20841 (WebCore::SVGLength::value): 20842 (WebCore::SVGLength::setValue): 20843 (WebCore::SVGLength::valueAsPercentage): 20844 (WebCore::SVGLength::PercentageOfViewport): 20845 * ksvg2/svg/SVGSVGElement.cpp: 20846 (WebCore::SVGSVGElement::pixelUnitToMillimeterX): 20847 (WebCore::SVGSVGElement::pixelUnitToMillimeterY): 20848 (WebCore::SVGSVGElement::getScreenCTM): 20849 * ksvg2/svg/SVGTextContentElement.cpp: 20850 (WebCore::SVGTextContentElement::getComputedTextLength): 20851 (WebCore::SVGTextContentElement::getSubStringLength): 20852 (WebCore::SVGTextContentElement::getRotationOfChar): 20853 * ksvg2/svg/SVGTransformDistance.cpp: 20854 (WebCore::SVGTransformDistance::SVGTransformDistance): 20855 (WebCore::SVGTransformDistance::distance): 20856 * page/InspectorController.cpp: 20857 (WebCore::InspectorResource::InspectorResource): 20858 * platform/graphics/FloatPoint3D.cpp: 20859 (WebCore::FloatPoint3D::normalize): 20860 * platform/graphics/Path.cpp: 20861 (WebCore::pathLengthApplierFunction): 20862 (WebCore::Path::createRoundedRectangle): 20863 * platform/graphics/cg/GraphicsContextCG.cpp: 20864 (WebCore::GraphicsContext::drawLine): 20865 (WebCore::GraphicsContext::strokeArc): 20866 * platform/graphics/cg/ImageCG.cpp: 20867 (WebCore::FrameData::clear): 20868 * platform/graphics/cg/ImageSourceCG.cpp: 20869 (WebCore::ImageSource::frameDurationAtIndex): 20870 * platform/graphics/cg/PDFDocumentImage.cpp: 20871 (WebCore::PDFDocumentImage::setCurrentPage): 20872 * platform/graphics/svg/SVGPaintServerPattern.cpp: 20873 (WebCore::SVGPaintServerPattern::externalRepresentation): 20874 * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: 20875 (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient): 20876 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 20877 (WebCore::cgGradientCallback): 20878 (WebCore::CGShadingRefForRadialGradient): 20879 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache): 20880 * platform/mac/FontDataMac.mm: 20881 (WebCore::webFallbackFontFamily): 20882 * platform/mac/PopupMenuMac.mm: 20883 (WebCore::PopupMenu::show): 20884 * rendering/InlineFlowBox.cpp: 20885 (WebCore::InlineFlowBox::placeBoxesHorizontally): 20886 * rendering/RenderSlider.cpp: 20887 (WebCore::RenderSlider::setValueForPosition): 20888 (WebCore::RenderSlider::setPositionFromValue): 20889 20890 2007-06-27 Alexey Proskuryakov <ap (a] webkit.org> 20891 20892 Reviewed by Geoff. 20893 20894 http://bugs.webkit.org/show_bug.cgi?id=14288 20895 XMLHttpRequest doesn't use a correct content type for file:// URLs 20896 20897 Test: fast/dom/xmlhttprequest-html-response-encoding.html 20898 20899 * xml/xmlhttprequest.cpp: 20900 (WebCore::XMLHttpRequest::responseMIMEType): Use MIME type provided by 20901 the network layer, since it provides it even for non-HTTP responses. 20902 20903 2007-06-26 Alp Toker <alp.toker (a] collabora.co.uk> 20904 20905 Reviewed by Sam Weinig. 20906 20907 http://bugs.webkit.org/show_bug.cgi?id=14061 20908 Implement more of FrameLoaderClientGdk 20909 20910 Make FrameLoaderClientGdk work properly when the MIME type is set. 20911 20912 * loader/gdk/FrameLoaderClientGdk.cpp: 20913 (WebCore::FrameLoaderClientGdk::objectContentType): 20914 (WebCore::FrameLoaderClientGdk::canShowMIMEType): 20915 20916 2007-06-26 Alp Toker <alp.toker (a] collabora.co.uk> 20917 20918 Reviewed by Maciej. 20919 20920 http://bugs.webkit.org/show_bug.cgi?id=14058 20921 Gdk font backend cleanup 20922 20923 * platform/FontData.h: Remove obsolete function. 20924 * platform/gdk/FontDataGdk.cpp: 20925 (WebCore::FontData::containsCharacters): Lock/unlock only once. 20926 (WebCore::FontData::platformWidthForGlyph): Remove needless cast. 20927 * platform/gdk/FontPlatformData.h: Remove obsolete function. 20928 * platform/gdk/FontPlatformDataGdk.cpp: 20929 (WebCore::FontPlatformData::FontPlatformData): Pass the actual size, 20930 not the pixel size. 20931 (WebCore::FontPlatformData::~FontPlatformData): Free m_fontMatrix. 20932 * platform/gdk/GlyphPageTreeNodeGdk.cpp: 20933 (WebCore::GlyphPage::fill): Lock/unlock only once. 20934 20935 2007-06-26 Mitz Pettel <mitz (a] webkit.org> 20936 20937 Reviewed by Hyatt. 20938 20939 - fix http://bugs.webkit.org/show_bug.cgi?id=14406 20940 <colgroup>'s borders are ignored when it has <col> children 20941 20942 Covered by existing tests. 20943 20944 * rendering/RenderTableCell.cpp: 20945 (WebCore::RenderTableCell::collapsedLeftBorder): 20946 (WebCore::RenderTableCell::collapsedRightBorder): 20947 (WebCore::RenderTableCell::collapsedTopBorder): 20948 (WebCore::RenderTableCell::collapsedBottomBorder): 20949 20950 2007-06-26 Mitz Pettel <mitz (a] webkit.org> 20951 20952 Reviewed by Oliver. 20953 20954 - fix http://bugs.webkit.org/show_bug.cgi?id=14329 20955 REGRESSION: TEXTAREA - cannot drag-and-drop text at en.wikipedia.org/ 20956 20957 Test: fast/repaint/text-selection-rect-in-overflow-2.html 20958 20959 * rendering/RenderObject.cpp: 20960 (WebCore::RenderObject::computeAbsoluteRepaintRect): Added code to account 20961 for overflow scroll and columns. 20962 * rendering/RenderText.cpp: 20963 (WebCore::RenderText::selectionRect): Adjust for columns only in the 20964 non-clipped case, since RenderObject::absolutePosition() does not. 20965 20966 2007-06-26 Mitz Pettel <mitz (a] webkit.org> 20967 20968 Reviewed by Sam. 20969 20970 - http://bugs.webkit.org/show_bug.cgi?id=14415 20971 Remove the unused method RenderObject::setTable() 20972 20973 * rendering/RenderObject.h: 20974 20975 2007-06-26 Darin Fisher <darin (a] chromium.org> 20976 20977 Reviewed by Maciej. 20978 20979 Implement http://bugs.webkit.org/show_bug.cgi?id=14225 20980 Bug 14225: Make it possible to define platform-specific ResourceRequest without #ifdefs 20981 20982 This change moves the bulk of ResourceRequest into a base class named 20983 ResourceRequestBase with all platform-specific bits pushed into 20984 ResourceRequest. This allows ports to easily add new members to a 20985 ResourceRequest without having to #ifdef the code that is shared 20986 between ports. 20987 20988 * WebCore.exp: 20989 * WebCore.pro: 20990 * WebCore.vcproj/WebCore.vcproj: 20991 * WebCore.xcodeproj/project.pbxproj: 20992 * platform/network/ResourceRequest.cpp: Removed. 20993 * platform/network/ResourceRequest.h: Removed. 20994 * platform/network/ResourceRequestBase.cpp: Added. 20995 (WebCore::ResourceRequestBase::asResourceRequest): 20996 (WebCore::ResourceRequestBase::isEmpty): 20997 (WebCore::ResourceRequestBase::isNull): 20998 (WebCore::ResourceRequestBase::url): 20999 (WebCore::ResourceRequestBase::setURL): 21000 (WebCore::ResourceRequestBase::cachePolicy): 21001 (WebCore::ResourceRequestBase::setCachePolicy): 21002 (WebCore::ResourceRequestBase::timeoutInterval): 21003 (WebCore::ResourceRequestBase::setTimeoutInterval): 21004 (WebCore::ResourceRequestBase::mainDocumentURL): 21005 (WebCore::ResourceRequestBase::setMainDocumentURL): 21006 (WebCore::ResourceRequestBase::httpMethod): 21007 (WebCore::ResourceRequestBase::setHTTPMethod): 21008 (WebCore::ResourceRequestBase::httpHeaderFields): 21009 (WebCore::ResourceRequestBase::httpHeaderField): 21010 (WebCore::ResourceRequestBase::setHTTPHeaderField): 21011 (WebCore::ResourceRequestBase::httpBody): 21012 (WebCore::ResourceRequestBase::setHTTPBody): 21013 (WebCore::ResourceRequestBase::allowHTTPCookies): 21014 (WebCore::ResourceRequestBase::setAllowHTTPCookies): 21015 (WebCore::ResourceRequestBase::addHTTPHeaderField): 21016 (WebCore::ResourceRequestBase::addHTTPHeaderFields): 21017 (WebCore::operator==): 21018 (WebCore::ResourceRequestBase::isConditional): 21019 (WebCore::ResourceRequestBase::updatePlatformRequest): 21020 (WebCore::ResourceRequestBase::updateResourceRequest): 21021 * platform/network/ResourceRequestBase.h: Added. 21022 (WebCore::): 21023 (WebCore::ResourceRequestBase::httpContentType): 21024 (WebCore::ResourceRequestBase::setHTTPContentType): 21025 (WebCore::ResourceRequestBase::httpReferrer): 21026 (WebCore::ResourceRequestBase::setHTTPReferrer): 21027 (WebCore::ResourceRequestBase::clearHTTPReferrer): 21028 (WebCore::ResourceRequestBase::httpUserAgent): 21029 (WebCore::ResourceRequestBase::setHTTPUserAgent): 21030 (WebCore::ResourceRequestBase::httpAccept): 21031 (WebCore::ResourceRequestBase::setHTTPAccept): 21032 (WebCore::ResourceRequestBase::ResourceRequestBase): 21033 (WebCore::operator!=): 21034 * platform/network/cf/ResourceRequest.h: Added. 21035 (WebCore::ResourceRequest::ResourceRequest): 21036 * platform/network/curl/ResourceRequest.h: Added. 21037 (WebCore::ResourceRequest::ResourceRequest): 21038 (WebCore::ResourceRequest::doUpdatePlatformRequest): 21039 (WebCore::ResourceRequest::doUpdateResourceRequest): 21040 * platform/network/mac/ResourceRequest.h: Added. 21041 (WebCore::ResourceRequest::ResourceRequest): 21042 * platform/network/qt/ResourceRequest.h: Added. 21043 (WebCore::ResourceRequest::ResourceRequest): 21044 (WebCore::ResourceRequest::doUpdatePlatformRequest): 21045 (WebCore::ResourceRequest::doUpdateResourceRequest): 21046 21047 2007-06-26 Adam Roben <aroben (a] apple.com> 21048 21049 Add ChangeLog entries from the Windows merge. 21050 21051 Reviewed by Maciej. 21052 21053 * ChangeLog: 21054 21055 2007-06-26 Sam Weinig <sam (a] webkit.org> 21056 21057 Reviewed by Maciej. 21058 21059 Make sure not to enumerate the toString() function. 21060 <rdar://problem/5297118> 21061 21062 * bindings/js/kjs_window.cpp: 21063 * bindings/scripts/CodeGeneratorJS.pm: Add support for [DontEnum]. 21064 * html/HTMLAnchorElement.idl: 21065 21066 2007-06-26 Alp Toker <alp.toker (a] collabora.co.uk> 21067 21068 Reviewed by Mitz, landed by Anders. 21069 21070 http://bugs.webkit.org/show_bug.cgi?id=14421 21071 Implement GraphicsContext::clearRect() 21072 21073 * platform/graphics/cairo/GraphicsContextCairo.cpp: 21074 (WebCore::GraphicsContext::clearRect): 21075 21076 2007-06-26 Alp Toker <alp.toker (a] collabora.co.uk> 21077 21078 Reviewed and landed by Anders. 21079 21080 http://bugs.webkit.org/show_bug.cgi?id=14416 21081 Content does not render fully in some cases 21082 21083 Fix mismatched calls to cairo_save/restore due to an early method return. 21084 21085 * platform/graphics/cairo/GraphicsContextCairo.cpp: 21086 (WebCore::GraphicsContext::drawLine): 21087 21088 2007-06-26 Tristan O'Tierney <tristan (a] apple.com> 21089 21090 Reviewed by John Sullivan. 21091 21092 Added two accessor functions for <rdar://problem/4119138> 21093 21094 * bindings/objc/DOMHTML.mm: 21095 (-[DOMHTMLInputElement _isEdited]): 21096 (-[DOMHTMLTextAreaElement _isEdited]): 21097 Added an accessor to the isEdited value of a DOM node's render object 21098 21099 * bindings/objc/DOMPrivate.h: 21100 Added header definitions for _isEdited 21101 21102 2007-06-26 Sam Weinig <sam (a] webkit.org> 21103 21104 Fix Win32 build. 21105 21106 * WebCore.vcproj/WebCore.vcproj: 21107 21108 2007-06-26 Sam Weinig <sam (a] webkit.org> 21109 21110 Fix Qt and Gdk builds. 21111 21112 * WebCore.pro: 21113 21114 2007-06-26 Sam Weinig <sam (a] webkit.org> 21115 21116 Reviewed by Geoff. 21117 21118 Patch for http://bugs.webkit.org/show_bug.cgi?id=14111 21119 Autogenerate Event JS binding 21120 21121 - Moves the dataTransfer method into MouseEvent where it should be. 21122 21123 * WebCore.xcodeproj/project.pbxproj: 21124 * bindings/js/JSEventCustom.cpp: Added. 21125 (WebCore::JSEvent::clipboardData): 21126 (WebCore::toJS): 21127 * bindings/js/JSEventTargetNode.cpp: 21128 * bindings/js/JSXMLHttpRequest.cpp: 21129 * bindings/js/kjs_events.cpp: 21130 * bindings/js/kjs_events.h: 21131 * bindings/objc/DOMUtility.mm: 21132 (KJS::createDOMWrapper): 21133 * bindings/scripts/CodeGeneratorJS.pm: 21134 * dom/Event.h: 21135 (WebCore::Event::returnValue): 21136 (WebCore::Event::setReturnValue): 21137 (WebCore::Event::clipboardData): 21138 * dom/Event.idl: 21139 * dom/MouseEvent.h: 21140 (WebCore::MouseEvent::dataTransfer): 21141 * dom/MouseEvent.idl: 21142 21143 2007-06-26 Timothy Hatcher <timothy (a] apple.com> 21144 21145 Reviewed by Mark Rowe. 21146 21147 Follow up fix for: Bug 14385: Web Inspector's computed style doesn't show implicitly set properties 21148 http://bugs.webkit.org/show_bug.cgi?id=14385 21149 21150 Correctly remember the "Show implicit properties" setting as you switch nodes. 21151 21152 * page/inspector/ResourcePanel.js: 21153 21154 2007-06-26 Justin Garcia <justin.garcia (a] apple.com> 21155 21156 Reviewed by John. 21157 21158 <rdar://problem/5290534> Crash at RenderTextControl::calcHeight() after deleting text in a search field 21159 21160 Editing removed a node that was part of a search field's internal 21161 structure that should not be removed. 21162 21163 * editing/DeleteSelectionCommand.cpp: 21164 (WebCore::DeleteSelectionCommand::handleGeneralDelete): If the 21165 selection to delete ends at [container, x], where x is the number 21166 of children in container, don't remove container. Special case 21167 code elsewhere in this function will remove it if necessary. 21168 21169 2007-06-25 Sam Weinig <sam (a] webkit.org> 21170 21171 Reviewed by Maciej. 21172 21173 Patch for http://bugs.webkit.org/show_bug.cgi?id=11315 21174 Mutating document.constructor.prototype mutates Object.prototype 21175 21176 Test: fast/js/constructor.html 21177 21178 * bindings/scripts/CodeGeneratorJS.pm: add constructor attribute to 21179 classes with constructors. It is an non-enumeratable, non-deletable, 21180 readonly attribute. 21181 21182 2007-06-26 George Staikos <staikos (a] kde.org> 21183 21184 Repair the OS X build. 21185 21186 * WebCore.exp: 21187 21188 2007-06-26 Adam Treat <adam (a] staikos.net> 21189 21190 Reviewed by Adam Roben. 21191 21192 Make the SQLite icon database optional. 21193 21194 * loader/icon/IconDatabase.cpp: 21195 (WebCore::IconDatabase::isOpen): 21196 (WebCore::IconDatabase::isPrivateBrowsingEnabled): 21197 (WebCore::IconDatabase::enabled): 21198 * loader/icon/IconDatabase.h: 21199 21200 2007-06-25 Sam Weinig <sam (a] webkit.org> 21201 21202 Reviewed by Adam Roben. 21203 21204 Patch for http://bugs.webkit.org/show_bug.cgi?id=14369 21205 HTML syntax highlighting colors and DOM tree colors should be the same 21206 21207 * css/view-source.css: 21208 * page/inspector/ResourcePanel.js: 21209 * page/inspector/inspector.css: 21210 * page/inspector/inspector.js: 21211 * page/inspector/utilities.js: 21212 21213 2007-06-25 Adam Roben <aroben (a] apple.com> 21214 21215 Fix Bug 14402: Main resource of http://www.apple.com/safari/ is called "www.apple.com" instead of "safari" 21216 http://bugs.webkit.org/show_bug.cgi?id=14402 21217 21218 The solution was to make KURL::lastPathComponent ignore trailing 21219 slashes, which is what -[NSURL lastPathComponent] does, too. 21220 21221 Reviewed by Oliver. 21222 21223 * platform/KURL.cpp: 21224 (WebCore::KURL::lastPathComponent): 21225 21226 2007-06-25 Sam Weinig <sam (a] webkit.org> 21227 21228 Reviewed by Adam Roben. 21229 21230 Patch for http://bugs.webkit.org/show_bug.cgi?id=14257 21231 Web Inspector lists favicon.ico as "other" instead of "image" 21232 21233 * page/InspectorController.cpp: 21234 (WebCore::InspectorResource::type): 21235 21236 2007-06-25 Adele Peterson <adele (a] apple.com> 21237 21238 Reviewed by Hyatt. 21239 21240 Fix for <rdar://problem/5286410> Scrollbar and resize corner for overflow area is not hidden with style "visibility: hidden;" 21241 http://bugs.webkit.org/show_bug.cgi?id=14297 21242 21243 Test: fast/overflow/hidden-scrollbar-resize.html 21244 21245 * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): 21246 Updated our shouldPaint check to consider visibility. 21247 21248 2007-06-25 Oliver Hunt <oliver (a] apple.com> 21249 21250 Reviewed by Darin. 21251 21252 <rdar://problem/5293444> REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info 21253 21254 Fixing logic error in DragController 21255 21256 * manual-tests/drop-text-acquires-style.html: Added. 21257 * page/DragController.cpp: 21258 (WebCore::documentFragmentFromDragData): 21259 21260 2007-06-25 Sam Weinig <sam (a] webkit.org> 21261 21262 Reviewed by Adam Roben. 21263 21264 Annotate prototypes by adding "Prototype" subtitle. 21265 21266 * page/inspector/ResourcePanel.js: 21267 21268 2007-06-25 George Staikos <staikos (a] kde.org> 21269 21270 Reviewed by Zack. 21271 21272 Start to add proxy and SSL support to WebKitQt. Proxying works. 21273 21274 * platform/network/ResourceHandleInternal.h: 21275 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 21276 * platform/network/qt/ResourceHandleQt.cpp: 21277 (WebCore::ResourceHandle::start): 21278 21279 2007-06-25 Alp Toker <alp.toker (a] collabora.co.uk> 21280 21281 Reviewed by Adam Roben. 21282 21283 http://bugs.webkit.org/show_bug.cgi?id=14386 21284 Gdk build fix 21285 21286 * WebCore.pro: Fix gtk/gdk typo. 21287 21288 2007-06-25 Timothy Hatcher <timothy (a] apple.com> 21289 21290 Reviewed by Anders. 21291 21292 Bug 14385: Web Inspector's computed style doesn't show implicitly set properties 21293 http://bugs.webkit.org/show_bug.cgi?id=14385 21294 21295 Add a toggle to show implict computed properties. 21296 21297 * page/inspector/ResourcePanel.js: 21298 * page/inspector/inspector.css: 21299 * page/inspector/inspector.js: 21300 21301 2007-06-25 Alp Toker <alp.toker (a] collabora.co.uk> 21302 21303 Reviewed by Mark. 21304 21305 http://bugs.webkit.org/show_bug.cgi?id=13975 21306 Use system-provided libjpeg and libpng 21307 21308 * WebCore.pro: Remove bundled libjpeg and libpng sources. 21309 * platform/image-decoders/jpeg: Remove sources. 21310 * platform/image-decoders/png: Remove sources. 21311 21312 2007-06-25 Mitz Pettel <mitz (a] webkit.org> 21313 21314 Reviewed by Darin. 21315 21316 - fix http://bugs.webkit.org/show_bug.cgi?id=14202 21317 Table caption renders too narrow sometimes 21318 21319 Test: fast/table/caption-relayout.html 21320 21321 * rendering/RenderTable.cpp: 21322 (WebCore::RenderTable::layout): Mark the caption for layout if the table 21323 width changed. 21324 21325 2007-06-25 Mitz Pettel <mitz (a] webkit.org> 21326 21327 Reviewed by Darin. 21328 21329 - fix http://bugs.webkit.org/show_bug.cgi?id=14245 21330 Underline painted under <br>, not repainted properly 21331 21332 Test: fast/inline/br-text-decoration.html 21333 21334 * platform/graphics/cg/GraphicsContextCG.cpp: 21335 (WebCore::GraphicsContext::drawLineForText): Added an early return if the line width 21336 is zero. Also changed the line stroke to a rect fill, so that lines with length shorter 21337 than their thickness paint correctly. 21338 21339 2007-06-25 Mitz Pettel <mitz (a] webkit.org> 21340 21341 Reviewed by Maciej. 21342 21343 - fix http://bugs.webkit.org/show_bug.cgi?id=14341 21344 rules="none" ignored in certain cases 21345 21346 Covered by existing tests. 21347 21348 * html/HTMLTableElement.cpp: 21349 (WebCore::HTMLTableElement::getSharedCellDecl): 21350 21351 2007-06-24 Sam Weinig <sam (a] webkit.org> 21352 21353 Reviewed by Mitz. 21354 21355 Patch for http://bugs.webkit.org/show_bug.cgi?id=14379 21356 Anchor elements show up as their href in the properties pane, not HTMLAnchorElement 21357 21358 * page/inspector/ResourcePanel.js: make sure not to call an overriden 21359 toString() by using Object.prototype.toString.call(). 21360 21361 2007-06-24 Adam Roben <aroben (a] apple.com> 21362 21363 Fix http://bugs.webkit.org/show_bug.cgi?id=14374 21364 Bug 14374: Computed Style section should be expanded by default 21365 21366 Reviewed by Sam. 21367 21368 No regression test possible. 21369 21370 * page/inspector/ResourcePanel.js: Expand all style sections. 21371 21372 2007-06-24 Adam Roben <aroben (a] apple.com> 21373 21374 Unify the style of enums in the Inspector JS 21375 21376 All our enums are now represented by an object with a property for 21377 each enum value. 21378 21379 Reviewed by Sam. 21380 21381 No regression test possible. 21382 21383 * page/inspector/ConsolePanel.js: 21384 * page/inspector/Resource.js: 21385 * page/inspector/ResourcePanel.js: 21386 * page/inspector/inspector.js: 21387 21388 2007-06-23 Sam Weinig <sam (a] webkit.org> 21389 21390 Reviewed by Mitz. 21391 21392 Patch for http://bugs.webkit.org/show_bug.cgi?id=14321 21393 getComputedStyle(...).zIndex returns string "normal" 21394 21395 Test: fast/css/getComputedStyle-zIndex-auto.html 21396 21397 * css/CSSComputedStyleDeclaration.cpp: 21398 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return 'auto' instead of 'normal'. 21399 21400 2007-06-24 Matt Lilek <pewtermoose (a] gmail.com> 21401 21402 Reviewed by Tim Hatcher. 21403 21404 Bug 14265: Cannot resize columns in webinspector 21405 http://bugs.webkit.org/show_bug.cgi?id=14265 21406 21407 * page/inspector/inspector.css: 21408 * page/inspector/inspector.html: 21409 * page/inspector/inspector.js: 21410 21411 2007-06-23 Adam Roben <aroben (a] apple.com> 21412 21413 Silence a build warning about not finding `num-cpus` 21414 21415 Reviewed by Mark Rowe. 21416 21417 * WebCore.vcproj/build-generated-files.sh: Look for num-cpus in its new 21418 location. 21419 21420 2007-06-22 Anders Carlsson <andersca (a] apple.com> 21421 21422 Reviewed by Darin. 21423 21424 * plugins/win/PluginStreamWin.cpp: 21425 (WebCore::PluginStreamWin::didFinishLoading): 21426 No need to fetch the size from resourceData. 21427 21428 2007-06-22 Anders Carlsson <andersca (a] apple.com> 21429 21430 Reviewed by Darin. 21431 21432 <rdar://problem/5288617> 21433 Crash playing a very large QuickTime movie inside Safari. 21434 21435 Get rid of m_completeDeliveryData and use the loader's resource data instead. This reduces the memory usage for 21436 plug-ins which loads large files and use a transfer mode of NP_ASFILE or NP_ASFILEONLY. 21437 21438 * plugins/win/PluginStreamWin.cpp: 21439 (WebCore::PluginStreamWin::PluginStreamWin): 21440 (WebCore::PluginStreamWin::~PluginStreamWin): 21441 (WebCore::PluginStreamWin::didReceiveData): 21442 (WebCore::PluginStreamWin::didFinishLoading): 21443 * plugins/win/PluginStreamWin.h: 21444 21445 2007-06-22 Beth Dakin <bdakin (a] apple.com> 21446 21447 Reviewed by Oliver and Darin. 21448 21449 Fix for <rdar://problem/5266999> Loading page from MangleMe fuzz 21450 tester crashes in RenderTableRow::addChild (giant ROWSPAN) 21451 21452 We already have code that tries to prevent allocating too-large 21453 rowspans. The rowspan in this test, however, was small enough that 21454 we thought it was okay in that code, even though clearly it was 21455 still too large. I did a bunch of testing in Firefox, and it seems 21456 that they set a hard limit on the maximum rowspan right in the DOM 21457 -- 8k. So that is what this patch implements. 21458 21459 * html/HTMLTableCellElement.cpp: 21460 (WebCore::HTMLTableCellElement::parseMappedAttribute): 21461 21462 2007-06-22 Justin Garcia <justin.garcia (a] apple.com> 21463 21464 Reviewed by Darin. 21465 21466 <rdar://problem/5272440> Adding To Do via Note received in e-mail adds newlines on delete 21467 21468 Deletion inserts a placeholder after it removes full paragraphs if 21469 one doesn't already exist. The code that looked for a pre-existing 21470 placeholder didn't work because of a bug in enclosingNodeOfType. 21471 21472 * editing/htmlediting.cpp: 21473 (WebCore::enclosingNodeOfType): We start looking at node->parentNode(), 21474 but don't go above an editing root. 21475 21476 2007-06-22 Anders Carlsson <andersca (a] apple.com> 21477 21478 Reviewed by Maciej and Geoff. 21479 21480 <rdar://problem/5244734> 21481 WebKit shouldn't send delegate resource load methods for the user stylesheet (doing so causes assertions in Safari) 21482 21483 Add a sendResourceLoadCallbacks argument to the ResourceLoader and only send resource load callbacks if it's true. Make it so that 21484 loading the user style sheet creates a resource loader with sendResourceLoadCallbacks set to false (done by adding a sendResourceLoadCallbacks 21485 argument to a bunch of classes). 21486 21487 * loader/Cache.cpp: 21488 (WebCore::createResource): 21489 (WebCore::Cache::requestResource): 21490 * loader/Cache.h: 21491 * loader/CachedCSSStyleSheet.cpp: 21492 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): 21493 * loader/CachedCSSStyleSheet.h: 21494 * loader/CachedResource.cpp: 21495 (WebCore::CachedResource::CachedResource): 21496 * loader/CachedResource.h: 21497 (WebCore::CachedResource::sendResourceLoadCallbacks): 21498 * loader/DocLoader.cpp: 21499 (WebCore::DocLoader::requestCSSStyleSheet): 21500 (WebCore::DocLoader::requestResource): 21501 (WebCore::DocLoader::checkCacheObjectStatus): 21502 * loader/DocLoader.h: 21503 * loader/MainResourceLoader.cpp: 21504 (WebCore::MainResourceLoader::MainResourceLoader): 21505 * loader/Request.cpp: 21506 (WebCore::Request::Request): 21507 * loader/Request.h: 21508 (WebCore::Request::sendResourceLoadCallbacks): 21509 * loader/ResourceLoader.cpp: 21510 (WebCore::ResourceLoader::ResourceLoader): 21511 (WebCore::ResourceLoader::willSendRequest): 21512 (WebCore::ResourceLoader::didReceiveResponse): 21513 (WebCore::ResourceLoader::didReceiveData): 21514 (WebCore::ResourceLoader::didFinishLoadingOnePart): 21515 (WebCore::ResourceLoader::didFail): 21516 (WebCore::ResourceLoader::didCancel): 21517 * loader/ResourceLoader.h: 21518 (WebCore::ResourceLoader::sendResourceLoadCallbacks): 21519 * loader/SubresourceLoader.cpp: 21520 (WebCore::SubresourceLoader::SubresourceLoader): 21521 (WebCore::SubresourceLoader::create): 21522 * loader/SubresourceLoader.h: 21523 * loader/loader.cpp: 21524 (WebCore::Loader::load): 21525 (WebCore::Loader::servePendingRequests): 21526 * loader/loader.h: 21527 * loader/mac/NetscapePlugInStreamLoaderMac.mm: 21528 (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): 21529 21530 2007-06-21 Richard Connamacher <rich (a] indieimage.com> 21531 21532 Reviewed by Tim Hatcher. 21533 21534 Bug 14305: Web Inspector marks local files with server-side compression tip 21535 http://bugs.webkit.org/show_bug.cgi?id=14305 21536 21537 * page/inspector/Resource.js: 21538 (WebInspector.Resource._shouldCompress): Prevent server-side compression tip 21539 from being given to local files 21540 21541 2007-06-21 Mark Rowe <mrowe (a] apple.com> 21542 21543 Reviewed by Darin. 21544 21545 Fix for <rdar://problem/5266928> REGRESSION: crash/assert failure beneath RenderFrameSet::layOutAxis when loading 21546 21547 * platform/StringImpl.cpp: 21548 (WebCore::StringImpl::toLengthArray): Simplify whitespace before checking for an empty string. This avoids returning 21549 a length of zero when the string is collapsed to empty by whitespace simplification. 21550 21551 2007-06-21 Dave Hyatt <hyatt (a] apple.com> 21552 21553 Fix for <rdar://problem/5286978>, large font sizes crash Windows. 21554 21555 Limit the maximum font size to 1,000,000 to avoid crashes and issues with platforms that 21556 start failing to do anything useful if the font size is too big. 21557 21558 Reviewed by olliej 21559 21560 * css/cssstyleselector.cpp: 21561 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): 21562 21563 2007-06-21 Andrew Wellington <proton (a] wiretapped.net> 21564 21565 Reviewed by Timothy. 21566 21567 Stop shift+scroll wheel performing a horizontal scroll in Web Inspector 21568 21569 * page/inspector/inspector.css: Set body margin to 0 21570 21571 2007-06-21 Adam Treat <adam (a] staikos.net> 21572 21573 Reviewed by George Staikos. 21574 21575 Implement the default resources on Qt. 21576 21577 * platform/graphics/BitmapImage.h: 21578 * platform/graphics/Image.h: 21579 * platform/graphics/qt/ImageQt.cpp: 21580 (WebCore::Image::loadPlatformResource): 21581 (WebCore::BitmapImage::BitmapImage): 21582 (WebCore::BitmapImage::initPlatformData): 21583 (WebCore::BitmapImage::invalidatePlatformData): 21584 (WebCore::BitmapImage::getPixmap): 21585 * platform/qt/TemporaryLinkStubs.cpp: 21586 21587 2007-06-21 Oliver Hunt <oliver (a] apple.com> 21588 21589 Reviewed by Darin. 21590 21591 Use RetainPtr for holding currentEvent. This removes explicit HardRetain/Release calls 21592 and makes reference handling simpler in advance of IME refactoring. 21593 21594 * WebCore.xcodeproj/project.pbxproj: 21595 * page/mac/EventHandlerMac.mm: 21596 (WebCore::currentEvent): 21597 (WebCore::EventHandler::currentNSEvent): 21598 (WebCore::EventHandler::wheelEvent): 21599 (WebCore::EventHandler::keyEvent): 21600 (WebCore::lastEventIsMouseUp): 21601 (WebCore::EventHandler::passMouseDownEventToWidget): 21602 (WebCore::EventHandler::eventLoopHandleMouseDragged): 21603 (WebCore::EventHandler::eventLoopHandleMouseUp): 21604 (WebCore::EventHandler::passSubframeEventToSubframe): 21605 (WebCore::EventHandler::passWheelEventToWidget): 21606 (WebCore::EventHandler::mouseDown): 21607 (WebCore::EventHandler::mouseDragged): 21608 (WebCore::EventHandler::mouseUp): 21609 (WebCore::EventHandler::mouseMoved): 21610 21611 2007-06-21 George Staikos <staikos (a] kde.org> 21612 21613 Reviewed by George & Marius. 21614 21615 Patch by me, revision by Marius, minor rev by me. Adds rendered 21616 and stylable scrollbars. 21617 21618 * page/qt/EventHandlerQt.cpp: 21619 (WebCore::EventHandler::passMousePressEventToScrollbar): 21620 * platform/Widget.h: 21621 * platform/qt/PlatformScrollBar.h: 21622 (WebCore::PlatformScrollbar::isWidget): 21623 * platform/qt/PlatformScrollBarQt.cpp: 21624 (WebCore::PlatformScrollbar::PlatformScrollbar): 21625 (WebCore::PlatformScrollbar::~PlatformScrollbar): 21626 (WebCore::PlatformScrollbar::updateThumbPosition): 21627 (WebCore::PlatformScrollbar::updateThumbProportion): 21628 (WebCore::PlatformScrollbar::width): 21629 (WebCore::PlatformScrollbar::height): 21630 (WebCore::PlatformScrollbar::setRect): 21631 (WebCore::PlatformScrollbar::isEnabled): 21632 (WebCore::PlatformScrollbar::setEnabled): 21633 (WebCore::PlatformScrollbar::paint): 21634 (WebCore::PlatformScrollbar::thumbPosition): 21635 (WebCore::PlatformScrollbar::thumbLength): 21636 (WebCore::PlatformScrollbar::trackLength): 21637 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 21638 (WebCore::PlatformScrollbar::handleMouseOutEvent): 21639 (WebCore::PlatformScrollbar::handleMousePressEvent): 21640 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): 21641 (WebCore::PlatformScrollbar::startTimerIfNeeded): 21642 (WebCore::PlatformScrollbar::stopTimerIfNeeded): 21643 (WebCore::PlatformScrollbar::autoscrollPressedPart): 21644 (WebCore::PlatformScrollbar::autoscrollTimerFired): 21645 (WebCore::PlatformScrollbar::pressedPartScrollDirection): 21646 (WebCore::PlatformScrollbar::pressedPartScrollGranularity): 21647 (WebCore::PlatformScrollbar::thumbUnderMouse): 21648 (WebCore::PlatformScrollbar::horizontalScrollbarHeight): 21649 (WebCore::PlatformScrollbar::verticalScrollbarWidth): 21650 (WebCore::PlatformScrollbar::windowClipRect): 21651 * platform/qt/ScrollViewQt.cpp: 21652 (WebCore::ScrollView::addChild): 21653 (WebCore::ScrollView::removeChild): 21654 * platform/qt/WidgetQt.cpp: 21655 (WebCore::WidgetPrivate::WidgetPrivate): 21656 (WebCore::Widget::setQWidget): 21657 (WebCore::Widget::invalidate): 21658 (WebCore::Widget::invalidateRect): 21659 (WebCore::Widget::setParent): 21660 (WebCore::Widget::parent): 21661 21662 2007-06-21 Geoffrey Garen <ggaren (a] apple.com> 21663 21664 Reviewed by Dave Hyatt. 21665 21666 Fixed <rdar://problem/4977124> | http://bugs.webkit.org/show_bug.cgi?id=12646 21667 REGRESSION: RapidWeaver's "Hello" HTML page doesn't display any DHTML 21668 effects when clicking on its links (12646) 21669 21670 I'm rolling our r7703 for these reasons: 21671 21672 1. It broke RapidWeaver. 21673 21674 2. WebKit is now orders of magnitude faster when handling deep nesting 21675 (5 seconds vs 3 minutes on my MBP in this particular case). 21676 21677 3. Firefox, IE, and HTML5 all allow nested heading tags. 21678 21679 4. Hyatt said so. 21680 21681 * html/HTMLParser.cpp: 21682 (WebCore::HTMLParser::parseToken): 21683 21684 2007-06-21 Sam Weinig <sam (a] webkit.org> 21685 21686 Reviewed by Tim Hatcher. 21687 21688 http://bugs.webkit.org/show_bug.cgi?id=14260 21689 ASSERTION FAILED: m_mainResource->loader == loader going back in history on any page 21690 21691 Remove assert for now as it is causing the back button to not 21692 work in debug builds. 21693 21694 * page/InspectorController.cpp: 21695 (WebCore::InspectorController::didCommitLoad): 21696 21697 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21698 21699 Remove some debug output. 21700 21701 * platform/qt/FontQt.cpp: 21702 (WebCore::generateComponents): 21703 (WebCore::Font::width): 21704 21705 2007-06-21 George Staikos <staikos (a] kde.org> 21706 21707 Repair Qt/Mac OS X build. 21708 21709 * WebCore.pro: 21710 21711 2007-06-21 Alexey Proskuryakov <ap (a] webkit.org> 21712 21713 Reviewed by Anders. 21714 21715 http://bugs.webkit.org/show_bug.cgi?id=13905 21716 REGRESSION: A Chinese dictionary widget has a problem with XMLHttpRequest response encoding 21717 21718 Tiger WebKit accidentally looked at HTML Http-Equiv META to determine the response encoding 21719 (regardless of the actual response MIME type). This was corrected a while ago to match other 21720 browsers and the draft XHR spec. 21721 21722 Now restoring this functionality for "text/html", with spec editor's blessing. 21723 21724 * xml/xmlhttprequest.cpp: 21725 (WebCore::XMLHttpRequest::responseMIMEType): 21726 (WebCore::XMLHttpRequest::responseIsXML): 21727 (WebCore::XMLHttpRequest::didReceiveData): 21728 * xml/xmlhttprequest.h: 21729 21730 2007-06-21 Andrew Wellington <proton (a] wiretapped.net> 21731 21732 Mac build fix. 21733 21734 * platform/Font.h: 21735 21736 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21737 21738 Reviewed by Simon. 21739 21740 another small fix for letter spacing 21741 21742 * platform/qt/FontQt.cpp: 21743 (WebCore::generateComponents): 21744 21745 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21746 21747 Reviewed by Simon. 21748 21749 fix word-spacing 21750 21751 * platform/qt/FontQt.cpp: 21752 (WebCore::generateComponents): 21753 (WebCore::Font::width): 21754 21755 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21756 21757 Reviewed by Simon. 21758 21759 fix letterspacing and small caps. 21760 21761 * platform/Font.h: 21762 * platform/graphics/qt/GraphicsContextQt.cpp: 21763 (WebCore::GraphicsContext::setPlatformFont): 21764 * platform/qt/FileChooserQt.cpp: 21765 * platform/qt/FontQt.cpp: 21766 (WebCore::TextRunComponent::TextRunComponent): 21767 (WebCore::Font::Font): 21768 (WebCore::Font::operator=): 21769 (WebCore::Font::update): 21770 (WebCore::generateComponents): 21771 (WebCore::Font::selectionRectForText): 21772 * platform/qt/RenderThemeQt.cpp: 21773 21774 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21775 21776 Reviewed by Simon. 21777 21778 store the metrics and space width in the Font object 21779 21780 * platform/Font.h: 21781 * platform/qt/FontQt.cpp: 21782 (WebCore::Font::Font): 21783 (WebCore::Font::drawText): 21784 (WebCore::Font::width): 21785 (WebCore::Font::isFixedPitch): 21786 (WebCore::Font::ascent): 21787 (WebCore::Font::descent): 21788 (WebCore::Font::lineSpacing): 21789 21790 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21791 21792 Reviewed by Simon. 21793 21794 simplify some codepaths 21795 21796 * platform/qt/FontQt.cpp: 21797 (WebCore::Font::drawText): 21798 (WebCore::Font::width): 21799 21800 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21801 21802 Reviewed by Simon. 21803 21804 fix copyright header 21805 21806 * platform/qt/FontQt.cpp: 21807 21808 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21809 21810 Reviewed by Simon. 21811 21812 correctly load fonts when a list of font families is given 21813 21814 * platform/qt/FontQt.cpp: 21815 (WebCore::Font::Font): 21816 21817 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21818 21819 Reviewed by Simon. 21820 21821 fix some more of the font support 21822 21823 * platform/qt/FontQt.cpp: 21824 (WebCore::Font::drawText): 21825 (WebCore::Font::width): 21826 21827 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21828 21829 Reviewed by Simon. 21830 21831 Compile fixes 21832 21833 * platform/Font.h: 21834 (WebCore::Font::isRoundingHackCharacter): 21835 * platform/qt/FontQt.cpp: 21836 (WebCore::Font::drawText): 21837 21838 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21839 21840 Reviewed by Simon. 21841 21842 Some more work on the implementation of FontQt. 21843 21844 * platform/qt/FontQt.cpp: 21845 (WebCore::Font::Font): 21846 (WebCore::Font::~Font): 21847 (WebCore::Font::operator=): 21848 21849 2007-06-21 Lars Knoll <lars (a] trolltech.com> 21850 21851 Reviewed by Simon. 21852 21853 Started work on the new font infrastructure for the Qt port. 21854 21855 * WebCore.pro: 21856 * editing/Editor.cpp: 21857 (WebCore::Editor::fontForSelection): 21858 * platform/Font.h: 21859 (WebCore::Font::treatAsSpace): 21860 (WebCore::Font::treatAsZeroWidthSpace): 21861 (WebCore::Font::isRoundingHackCharacter): 21862 * platform/qt/FontQt.cpp: 21863 (WebCore::Font::operator QFont): 21864 * platform/qt/TemporaryLinkStubs.cpp: 21865 21866 2007-06-21 Adam Roben <aroben (a] apple.com> 21867 21868 More Gdk build fixes. 21869 21870 * page/gdk/ContextMenuClientGdk.cpp: 21871 (WebCore::ContextMenuClientGdk::shouldIncludeInspectElementItem): 21872 * page/gdk/ContextMenuClientGdk.h: 21873 * platform/gdk/TemporaryLinkStubs.cpp: 21874 21875 2007-06-21 Adam Roben <aroben (a] apple.com> 21876 21877 Speculative Gdk build fix. 21878 21879 * page/InspectorController.h: Only include the JS headers we really 21880 need to avoid pulling in ones like JSStringRefCF.h. 21881 21882 2007-06-20 Adam Roben <aroben (a] apple.com> 21883 21884 Speculative Gdk build fix. 21885 21886 * WebCore.pro: Don't try to build WebKitQt/Plugins on Gdk. 21887 21888 2007-06-20 Adam Roben <aroben (a] apple.com> 21889 21890 Windows build fix. 21891 21892 * WebCore.vcproj/WebCore.vcproj: Include ForwardingHeaders after 21893 everything but $WebKitLibrariesDir so that we will pick up 21894 JavaScriptCore headers directly. 21895 21896 2007-06-15 George Staikos <staikos (a] kde.org> 21897 21898 Add missing symbol. 21899 21900 * platform/qt/TemporaryLinkStubs.cpp: 21901 (WebCore::contextMenuItemTagInspectElement): 21902 21903 2007-06-20 Steve Falkenburg <sfalken (a] apple.com> 21904 21905 Reviewed by Maciej, Anders. 21906 21907 <rdar://problem/5283789> Crash after dismissing JavaScript alert at end of test on http://lcamtuf.coredump.cx/ierace/ 21908 21909 Keep a reference to the Page (via the main frame) for the 21910 load deferred pages. 21911 21912 Reference is held via the frame since Page isn't refcounted. 21913 21914 * page/Chrome.cpp: 21915 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 21916 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 21917 21918 2007-06-15 Adam Treat <adam (a] staikos.net> 21919 21920 Reviewed by George Staikos. 21921 21922 Add ICO support to the Qt build. 21923 21924 * WebCore.pro: 21925 * platform/graphics/qt/ImageDecoderQt.cpp: 21926 (Q_IMPORT_PLUGIN): 21927 21928 2007-06-15 George Staikos <staikos (a] kde.org> 21929 21930 Fixing Qt build. 21931 21932 * ForwardingHeaders/JavaScriptCore/APICast.h: Added. 21933 * WebCore.pro: 21934 * page/InspectorController.h: 21935 21936 2007-06-20 Adam Roben <aroben (a] apple.com> 21937 21938 More speculative Qt/Gdk build fixes. 21939 21940 * WebCore.pro: Add new files. 21941 21942 2007-06-20 Adam Roben <aroben (a] apple.com> 21943 21944 Speculative Qt/Gdk build fix. 21945 21946 Added forwarding headers for JavaScriptCore. We may eventually move 21947 InspectorController off of the JSC API, but for now this is the 21948 quickest way to a working build. 21949 21950 * ForwardingHeaders/JavaScriptCore/JSBase.h: Added. 21951 * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Added. 21952 * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Added. 21953 * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Added. 21954 * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Added. 21955 * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Added. 21956 * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Added. 21957 21958 2007-06-20 Sam Weinig <sam (a] webkit.org> 21959 21960 Rubber stamped by Adam Roben. 21961 21962 Add licenses. 21963 21964 * page/inspector/ConsolePanel.js: 21965 * page/inspector/NetworkPanel.js: 21966 * page/inspector/Resource.js: 21967 * page/inspector/ResourceCategory.js: 21968 * page/inspector/ResourcePanel.js: 21969 21970 2007-06-20 Mark Rowe <mrowe (a] apple.com> 21971 21972 Reviewed by Adam. 21973 21974 * WebCore.exp: Export InspectorController::inspect so WebKit can see it. 21975 21976 2007-06-20 Geoffrey Garen <ggaren (a] apple.com> 21977 21978 Reviewed by Adele Peterson, Oliver Hunt, Anders Carlsson. 21979 21980 Fixed <rdar://problem/5222911> Leopard9A446 : VitalSource Bookshelf 4.5: 21981 Crashes when you click on sign in (stringByEvaluatingJavaScriptFromString 21982 returning nil instead of "") 21983 21984 I'm basically rolling out the change for <rdar://problem/4782422> because 21985 my testing shows that it was backwards. 21986 21987 * html/HTMLElement.cpp: 21988 (dumpInnerHTML): New debug-only function to work around gdb being 21989 perpetually suck-tastic. 21990 21991 * page/mac/WebCoreFrameBridge.mm: 21992 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): 21993 21994 Return "", not nil. This function never used to return nil, so let's not 21995 start now. I've filed <rdar://problem/5283271> to cover the documentation bug, 21996 21997 2007-06-20 Adam Roben <aroben (a] apple.com> 21998 21999 Addressed some of Geoff's comments. 22000 22001 * page/ContextMenuController.cpp: 22002 (WebCore::ContextMenuController::handleContextMenuEvent): Added a 22003 FIXME. 22004 * platform/ContextMenu.cpp: 22005 (WebCore::ContextMenu::addInspectElementItem): Null-check 22006 frame->page(). 22007 22008 2007-06-20 Adam Roben <aroben (a] apple.com> 22009 22010 Fix crash in fast/dom/dir-no-body.html 22011 22012 Reviewed by Mark. 22013 22014 * html/HTMLDocument.cpp: 22015 (WebCore::HTMLDocument::createTokenizer): Don't assume we have a 22016 Frame, since we won't if someone creates an HTMLDocument from JS. 22017 22018 2007-06-20 Adam Roben <aroben (a] apple.com> 22019 22020 Land the new Inspector. 22021 22022 Co-written with Tim Hatcher. 22023 22024 Reviewed by Anders, Adele, Hyatt, and Sam. 22025 22026 No regression tests possible. 22027 22028 Add a new InspectorController that is in charge of the Inspector. It 22029 has an InspectorClient that controls the Inspector's window and node 22030 highlight. 22031 22032 * page/InspectorClient.h: Added. 22033 (WebCore::InspectorClient::~InspectorClient): 22034 * page/InspectorController.cpp: Added. 22035 (WebCore::ConsoleMessage::ConsoleMessage): 22036 (WebCore::InspectorResource::): Represents a single resource that the 22037 Inspector knows about. 22038 (WebCore::InspectorResource::InspectorResource): 22039 (WebCore::InspectorResource::~InspectorResource): 22040 (WebCore::InspectorResource::type): 22041 (WebCore::InspectorResource::setScriptObject): 22042 (WebCore::addSourceToFrame): Callback available from JS. 22043 (WebCore::getResourceDocumentNode): Ditto. 22044 (WebCore::highlightDOMNode): Ditto. 22045 (WebCore::hideDOMNodeHighlight): Ditto. 22046 (WebCore::loaded): Ditto. 22047 (WebCore::unloading): Ditto. 22048 (WebCore::attach): Ditto. 22049 (WebCore::detach): Ditto. 22050 (WebCore::log): Ditto. 22051 (WebCore::search): Ditto. 22052 (WebCore::inspectedWindow): Ditto. 22053 (WebCore::InspectorController::InspectorController): 22054 (WebCore::InspectorController::~InspectorController): 22055 (WebCore::InspectorController::inspect): Called by 22056 ContextMenuController to inspect a node. 22057 (WebCore::InspectorController::focusNode): 22058 (WebCore::InspectorController::highlight): 22059 (WebCore::InspectorController::hideHighlight): 22060 (WebCore::InspectorController::windowVisible): 22061 (WebCore::InspectorController::setWindowVisible): 22062 (WebCore::InspectorController::addMessageToConsole): 22063 (WebCore::InspectorController::attachWindow): 22064 (WebCore::InspectorController::detachWindow): 22065 (WebCore::InspectorController::windowScriptObjectAvailable): 22066 (WebCore::InspectorController::scriptObjectReady): 22067 (WebCore::InspectorController::windowUnloading): 22068 (WebCore::addHeaders): Static helper function. 22069 (WebCore::objectForRequest): Ditto. 22070 (WebCore::objectForResponse): Ditto. 22071 (WebCore::InspectorController::addScriptResource): 22072 (WebCore::InspectorController::addAndUpdateScriptResource): 22073 (WebCore::InspectorController::removeScriptResource): 22074 (WebCore::InspectorController::updateScriptResource): 22075 (WebCore::InspectorController::populateScriptResources): 22076 (WebCore::InspectorController::addScriptConsoleMessage): 22077 (WebCore::callClearFunction): Static helper function. 22078 (WebCore::InspectorController::clearScriptResources): 22079 (WebCore::InspectorController::clearScriptConsoleMessages): 22080 (WebCore::InspectorController::clearNetworkTimeline): 22081 (WebCore::InspectorController::pruneResources): 22082 (WebCore::InspectorController::didCommitLoad): Callback from 22083 FrameLoader. 22084 (WebCore::InspectorController::frameDetachedFromParent): Ditto. 22085 (WebCore::InspectorController::addResource): Ditto. 22086 (WebCore::InspectorController::removeResource): Ditto. 22087 (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto. 22088 (WebCore::InspectorController::identifierForInitialRequest): Ditto. 22089 (WebCore::InspectorController::willSendRequest): Ditto. 22090 (WebCore::InspectorController::didReceiveResponse): Ditto. 22091 (WebCore::InspectorController::didReceiveContentLength): Ditto. 22092 (WebCore::InspectorController::didFinishLoading): Ditto. 22093 (WebCore::InspectorController::didFailLoading): Ditto. 22094 * page/InspectorController.h: Added. 22095 (WebCore::InspectorController::inspectedPage): 22096 (WebCore::InspectorController::scriptContext): 22097 (WebCore::InspectorController::setScriptContext): 22098 (WebCore::InspectorController::resources): 22099 (WebCore::InspectorController::removeAllResources): 22100 22101 Add the JavaScript that defines most of the behavior of the Inspector. 22102 22103 * page/inspector/ConsolePanel.js: Added. 22104 * page/inspector/NetworkPanel.js: Added. 22105 * page/inspector/Resource.js: Added. 22106 * page/inspector/ResourceCategory.js: Added. 22107 * page/inspector/ResourcePanel.js: Added. 22108 * page/inspector/inspector.js: Added. 22109 * page/inspector/treeoutline.js: Renamed from WebKit/WebInspector/webInspector/treeoutline.js. 22110 * page/inspector/utilities.js: Added. 22111 22112 Add the Inspector's CSS and HTML. 22113 22114 * page/inspector/inspector.css: Added. 22115 * page/inspector/inspector.html: Added. 22116 22117 Hang the InspectorController off of Page. We only create an 22118 InspectorController if an InspectorClient is given to the Page. 22119 22120 * page/Page.cpp: 22121 (WebCore::Page::Page): 22122 * page/Page.h: 22123 (WebCore::Page::inspectorController): 22124 22125 Use FrameLoader to notify the InspectorController of resource loads. 22126 22127 * loader/FrameLoader.cpp: 22128 (WebCore::FrameLoader::begin): 22129 (WebCore::FrameLoader::transitionToCommitted): 22130 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): 22131 (WebCore::FrameLoader::detachFromParent): 22132 (WebCore::FrameLoader::assignIdentifierToInitialRequest): 22133 (WebCore::FrameLoader::willSendRequest): 22134 (WebCore::FrameLoader::didReceiveResponse): 22135 (WebCore::FrameLoader::didReceiveData): 22136 (WebCore::FrameLoader::sendRemainingDelegateMessages): 22137 (WebCore::FrameLoader::requestFromDelegate): 22138 (WebCore::FrameLoader::didFinishLoad): 22139 (WebCore::FrameLoader::dispatchWindowObjectAvailable): 22140 (WebCore::FrameLoader::dispatchDidCommitLoad): 22141 (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest): 22142 (WebCore::FrameLoader::dispatchWillSendRequest): 22143 (WebCore::FrameLoader::dispatchDidReceiveResponse): 22144 (WebCore::FrameLoader::dispatchDidReceiveContentLength): 22145 (WebCore::FrameLoader::dispatchDidFinishLoading): 22146 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): 22147 * loader/FrameLoader.h: 22148 22149 Send console messages to the InspectorController. 22150 22151 * page/Chrome.cpp: 22152 (WebCore::Chrome::addMessageToConsole): Send all console messages to 22153 the InspectorController. 22154 * page/Chrome.h: Add a new MessageLevel and MessageSource that are 22155 used in the Inspector JS. 22156 22157 Report HTML errors when the Inspector window is open. 22158 We don't report errors when the window is closed because we don't want 22159 to slow down the HTMLTokenizer. 22160 22161 * html/HTMLDocument.cpp: 22162 (WebCore::HTMLDocument::createTokenizer): 22163 * html/HTMLParser.cpp: 22164 (WebCore::HTMLParser::HTMLParser): 22165 * html/HTMLParser.h: 22166 * html/HTMLTokenizer.cpp: 22167 (WebCore::HTMLTokenizer::HTMLTokenizer): 22168 * html/HTMLTokenizer.h: 22169 22170 Append the "Inspect Element" context menu item after passing the 22171 context menu to the ContextMenuClient. This work used to be done in 22172 WebKit. 22173 22174 * page/ContextMenuClient.h: 22175 * page/ContextMenuController.cpp: 22176 (WebCore::ContextMenuController::handleContextMenuEvent): Add the 22177 "Inspect Element" item. 22178 (WebCore::ContextMenuController::contextMenuItemSelected): Handle the 22179 "Inspect Element" item. 22180 * platform/ContextMenu.cpp: 22181 (WebCore::ContextMenu::addInspectElementItem): 22182 (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for "Inspect 22183 Element" item. 22184 * platform/ContextMenu.h: 22185 * platform/ContextMenuItem.h: 22186 (WebCore::): Add ContextMenuItemTagInspectElement. 22187 * platform/graphics/svg/SVGImageEmptyClients.h: 22188 * page/mac/WebCoreViewFactory.h: Add the "Inspect Element" localized 22189 string. 22190 * platform/LocalizedStrings.h: Ditto. 22191 * platform/mac/LocalizedStringsMac.mm: 22192 (WebCore::contextMenuItemTagInspectElement): Ditto. 22193 22194 Miscellaneous changes: 22195 22196 * css/view-source.css: Add message bubble styles. 22197 * loader/DocumentLoader.h: Add a frame getter. 22198 * platform/win/ScrollViewWin.cpp: 22199 (WebCore::ScrollView::updateScrollbars): Respect 22200 Frame::prohibitsScrolling. 22201 22202 Add new images needed for the Inspector. 22203 22204 * page/inspector/Images/attachedShadow.png: Added. 22205 * page/inspector/Images/bottomShadow.png: Added. 22206 * page/inspector/Images/breadcrumbBackground.png: Added. 22207 * page/inspector/Images/checker.png: Added. 22208 * page/inspector/Images/console.png: Added. 22209 * page/inspector/Images/darkShadow.png: Added. 22210 * page/inspector/Images/disclosureDownPressed.png: Added. 22211 * page/inspector/Images/disclosureRightDown.png: Added. 22212 * page/inspector/Images/disclosureRightPressed.png: Added. 22213 * page/inspector/Images/document.png: Added. 22214 * page/inspector/Images/domViewButton.png: Added. 22215 * page/inspector/Images/domViewButtonSelected.png: Added. 22216 * page/inspector/Images/downTriangle.png: Added. 22217 * page/inspector/Images/errorIcon.png: Added. 22218 * page/inspector/Images/errorMediumIcon.png: Added. 22219 * page/inspector/Images/folder.png: Added. 22220 * page/inspector/Images/goArrow.png: Added. 22221 * page/inspector/Images/gradient.png: Added. 22222 * page/inspector/Images/gradientHighlight.png: Added. 22223 * page/inspector/Images/gradientHighlightBottom.png: Added. 22224 * page/inspector/Images/hideStatusWidget.png: Added. 22225 * page/inspector/Images/hideStatusWidgetPressed.png: Added. 22226 * page/inspector/Images/network.png: Added. 22227 * page/inspector/Images/paneBottomGrow.png: Added. 22228 * page/inspector/Images/paneBottomGrowActive.png: Added. 22229 * page/inspector/Images/paneGrowHandleLine.png: Added. 22230 * page/inspector/Images/paneHeader.png: Added. 22231 * page/inspector/Images/paneHeaderActive.png: Added. 22232 * page/inspector/Images/plainDocument.png: Added. 22233 * page/inspector/Images/popupArrows.png: Added. 22234 * page/inspector/Images/rightTriangle.png: Added. 22235 * page/inspector/Images/segment.png: Added. 22236 * page/inspector/Images/segmentEnd.png: Added. 22237 * page/inspector/Images/segmentHover.png: Added. 22238 * page/inspector/Images/segmentHoverEnd.png: Added. 22239 * page/inspector/Images/segmentSelected.png: Added. 22240 * page/inspector/Images/segmentSelectedEnd.png: Added. 22241 * page/inspector/Images/showStatusWidget.png: Added. 22242 * page/inspector/Images/showStatusWidgetPressed.png: Added. 22243 * page/inspector/Images/sidbarItemBackground.png: Added. 22244 * page/inspector/Images/sidebarActionWidget.png: Added. 22245 * page/inspector/Images/sidebarActionWidgetPressed.png: Added. 22246 * page/inspector/Images/sidebarAttachWidget.png: Added. 22247 * page/inspector/Images/sidebarAttachWidgetPressed.png: Added. 22248 * page/inspector/Images/sidebarDetachWidget.png: Added. 22249 * page/inspector/Images/sidebarDetachWidgetPressed.png: Added. 22250 * page/inspector/Images/sidebarResizeWidget.png: Added. 22251 * page/inspector/Images/sidebarSelection.png: Added. 22252 * page/inspector/Images/sidebarSelectionBlurred.png: Added. 22253 * page/inspector/Images/sidebarSelectionBlurredTall.png: Added. 22254 * page/inspector/Images/sidebarSelectionGray.png: Added. 22255 * page/inspector/Images/sidebarSelectionGrayTall.png: Added. 22256 * page/inspector/Images/sidebarSelectionTall.png: Added. 22257 * page/inspector/Images/sidebarStatusAreaBackground.png: Added. 22258 * page/inspector/Images/sourceViewButton.png: Added. 22259 * page/inspector/Images/sourceViewButtonSelected.png: Added. 22260 * page/inspector/Images/splitviewDimple.png: Added. 22261 * page/inspector/Images/splitviewDividerBackground.png: Added. 22262 * page/inspector/Images/tab.png: Added. 22263 * page/inspector/Images/tabSelected.png: Added. 22264 * page/inspector/Images/timelinePillBlue.png: Added. 22265 * page/inspector/Images/timelinePillGray.png: Added. 22266 * page/inspector/Images/timelinePillGreen.png: Added. 22267 * page/inspector/Images/timelinePillOrange.png: Added. 22268 * page/inspector/Images/timelinePillPurple.png: Added. 22269 * page/inspector/Images/timelinePillRed.png: Added. 22270 * page/inspector/Images/timelinePillYellow.png: Added. 22271 * page/inspector/Images/tipBalloon.png: Added. 22272 * page/inspector/Images/tipBalloonBottom.png: Added. 22273 * page/inspector/Images/tipIcon.png: Added. 22274 * page/inspector/Images/tipIconPressed.png: Added. 22275 * page/inspector/Images/toggleDown.png: Added. 22276 * page/inspector/Images/toggleUp.png: Added. 22277 * page/inspector/Images/toolbarBackground.png: Added. 22278 * page/inspector/Images/toolbarBackgroundInactive.png: Added. 22279 * page/inspector/Images/toolbarButton.png: Added. 22280 * page/inspector/Images/toolbarButtonInactive.png: Added. 22281 * page/inspector/Images/toolbarButtonPressed.png: Added. 22282 * page/inspector/Images/toolbarButtonPressedInactive.png: Added. 22283 * page/inspector/Images/toolbarSplitButtonDivider.png: Added. 22284 * page/inspector/Images/toolbarSplitButtonDividerInactive.png: Added. 22285 * page/inspector/Images/treeDownTriangleBlack.png: Added. 22286 * page/inspector/Images/treeDownTriangleWhite.png: Added. 22287 * page/inspector/Images/treeLeftTriangleBlack.png: Added. 22288 * page/inspector/Images/treeRightTriangleBlack.png: Added. 22289 * page/inspector/Images/treeRightTriangleWhite.png: Added. 22290 * page/inspector/Images/warningIcon.png: Added. 22291 * page/inspector/Images/warningMediumIcon.png: Added. 22292 * page/inspector/Images/warningsErrors.png: Added. 22293 22294 Build-fu: 22295 22296 * WebCore.exp: Added new symbols. 22297 * WebCore.xcodeproj/project.pbxproj: Added new source files and 22298 resources. 22299 * WebCore.vcproj/WebCore.vcproj: Ditto, and copy the resources to 22300 $WebKitOutputDir. 22301 22302 Windows build fixes: 22303 22304 * history/HistoryItem.h: ResourceRequest is a struct. 22305 * loader/FrameLoaderClient.h: Ditto. 22306 22307 2007-06-20 Mitz Pettel <mitz (a] webkit.org> 22308 22309 Reviewed by Beth. 22310 22311 - fix http://bugs.webkit.org/show_bug.cgi?id=14056 22312 REGRESSION (r21113-21143): TR background not repainted via style class change 22313 22314 Test: fast/repaint/table-row.html 22315 22316 * rendering/RenderTableRow.cpp: 22317 (WebCore::RenderTableRow::layout): Added a repaint to make up for the case where the 22318 table row also needs layout, so it doesn't get a repaint in setStyle(). 22319 22320 2007-06-20 Mitz Pettel <mitz (a] webkit.org> 22321 22322 Reviewed by Adele. 22323 22324 - fix http://bugs.webkit.org/show_bug.cgi?id=14040 22325 Top and bottom border images flipped when using -webkit-border-image when border end up tiled 22326 22327 Test: fast/borders/border-image-01.html 22328 22329 Correctly account for the fact that "pattern space" is flipped. 22330 22331 * platform/graphics/Image.cpp: (WebCore::Image::drawTiled): 22332 * platform/graphics/cg/ImageCG.cpp: 22333 (WebCore::Image::drawPatternCallback): 22334 (WebCore::Image::drawPattern): 22335 22336 2007-06-20 Anders Carlsson <andersca (a] apple.com> 22337 22338 Reviewed by Darin. 22339 22340 <rdar://problem/5245555> REGRESSION: HTTP header injection in XMLHttpRequest.setRequestHeader 22341 22342 Check for either '\r' or '\n' in the header value. 22343 22344 * xml/xmlhttprequest.cpp: 22345 (WebCore::isValidHeaderValue): 22346 22347 2007-06-20 Patti Hoa <patti (a] apple.com> 22348 22349 Reviewed by Geoffrey Garen. 22350 22351 <rdar://problem/4882527> VO should speak URL of image links that lack tags 22352 Add additional change from review 22353 22354 * bridge/mac/WebCoreAXObject.mm: 22355 (-[WebCoreAXObject accessibilityAttributeValue:]): 22356 Check if the element has imgTag before asking for its url 22357 22358 2007-06-20 Patti Hoa <patti (a] apple.com> 22359 22360 Reviewed by Tristan O'Tierney. 22361 22362 <rdar://problem/4882527> VO should speak URL of image links that lack tags 22363 22364 * bridge/mac/WebCoreAXObject.mm: 22365 (-[WebCoreAXObject accessibilityAttributeNames]): 22366 (-[WebCoreAXObject accessibilityAttributeValue:]): 22367 Return the url of images. 22368 22369 2007-06-19 Anders Carlsson <andersca (a] apple.com> 22370 22371 Reviewed by Kevin Decker. 22372 22373 <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed 22374 22375 Add a new m_deferMainResourceDataLoad that can be used to control whether a data load should be deferred using a timer or not. 22376 22377 * loader/DocumentLoader.cpp: 22378 (WebCore::DocumentLoader::DocumentLoader): 22379 * loader/DocumentLoader.h: 22380 (WebCore::DocumentLoader::deferMainResourceDataLoad): 22381 * loader/MainResourceLoader.cpp: 22382 (WebCore::MainResourceLoader::handleDataLoadSoon): 22383 (WebCore::MainResourceLoader::loadNow): 22384 (WebCore::MainResourceLoader::setDefersLoading): 22385 22386 2007-06-19 Patti Hoa <patti (a] apple.com> 22387 22388 Reviewed by Justin Garcia. 22389 22390 <rdar://problem/5237325> Incorrect AXLeftLineTextMarkerRangeForTextMarker/AXPreviousLineStartTextMarkerForTextMarker for non-editable text 22391 22392 * editing/visible_units.cpp: 22393 (WebCore::startPositionForLine): 22394 (WebCore::startOfLine): 22395 (WebCore::endPositionForLine): 22396 (WebCore::endOfLine): 22397 Break down the line routines to allow another try to ask for start/end of line if the returned position is not valid. 22398 An example would be when lineStart/lineEnd at different line than the input position. 22399 This can happen if the input position is before the space character at the end of a soft-wrapped non-editable line, 22400 specifically a line without webkit-line-break:after-white-space style. 22401 22402 2007-06-19 Patti Hoa <patti (a] apple.com> 22403 22404 Reviewed by Justin Garcia. 22405 22406 <rdar://problem/3992645> VO view bounds misplaced when reading text after a line wrap 22407 22408 * bridge/mac/WebCoreAXObject.mm: 22409 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]): 22410 Improve the accuracy of the bounds for a given range 22411 22412 2007-06-19 Anders Carlsson <andersca (a] apple.com> 22413 22414 Reviewed by Darin. 22415 22416 <rdar://problem/5130630> 22417 XPath fails LayoutTests on Windows 22418 22419 * xml/XPathPredicate.cpp: 22420 Include MathExtras.h here so we get a version of fmod that works around a bug in the Microsoft CRT. 22421 22422 * xml/XPathValue.cpp: 22423 (WebCore::XPath::Value::toNumber): 22424 Instead of using NAN, which isn't really the NaN value on Windows, use numeric_limits. 22425 22426 2007-06-19 Geoffrey Garen <ggaren (a] apple.com> 22427 22428 Reviewed by Darin Adler. 22429 22430 Fixed cross-frame access. <rdar://problem/5251309>. 22431 22432 * bindings/js/kjs_window.cpp: 22433 (KJS::Window::getValueProperty): 22434 * bindings/scripts/CodeGeneratorJS.pm: 22435 * page/DOMWindow.idl: 22436 22437 2007-06-19 Anders Carlsson <andersca (a] apple.com> 22438 22439 Build fix. 22440 22441 * platform/win/PopupMenuWin.cpp: 22442 22443 2007-06-19 Lars Knoll <lars (a] trolltech.com> 22444 22445 Reviewed by Zack 22446 22447 Implement these methods correctly. 22448 22449 * platform/qt/PlatformScreenQt.cpp: 22450 (WebCore::screenRect): 22451 (WebCore::screenAvailableRect): 22452 22453 2007-06-19 Sam Weinig <sam (a] webkit.org> 22454 22455 Reviewed by Geoff. 22456 22457 Patch for http://bugs.webkit.org/show_bug.cgi?id=14226 22458 Move the History object out of the JS bindings 22459 22460 - Autogenerate JSHistory. 22461 22462 * DerivedSources.make: 22463 * WebCore.pro: 22464 * WebCore.vcproj/WebCore.vcproj: 22465 * WebCore.xcodeproj/project.pbxproj: 22466 * bindings/js/kjs_window.cpp: 22467 (KJS::WindowPrivate::WindowPrivate): 22468 (KJS::Window::mark): 22469 (KJS::Window::getValueProperty): 22470 (KJS::Window::clearHelperObjectProperties): 22471 (KJS::Window::disconnectFrame): 22472 * bindings/js/kjs_window.h: 22473 (KJS::Window::): 22474 * bridge/GlobalHistory.h: Copied from WebCore/bridge/History.h. 22475 * bridge/History.h: Removed. 22476 * bridge/mac/GlobalHistoryMac.mm: Copied from WebCore/bridge/mac/HistoryMac.mm. 22477 * bridge/mac/HistoryMac.mm: Removed. 22478 * bridge/win/GlobalHistoryWin.cpp: Copied from WebCore/bridge/win/HistoryWin.cpp. 22479 * bridge/win/HistoryWin.cpp: Removed. 22480 * css/cssstyleselector.cpp: 22481 * page/DOMWindow.cpp: 22482 (WebCore::DOMWindow::disconnectFrame): 22483 (WebCore::DOMWindow::history): 22484 * page/DOMWindow.h: 22485 * page/DOMWindow.idl: 22486 * page/History.cpp: Added. 22487 (WebCore::History::History): 22488 (WebCore::History::frame): 22489 (WebCore::History::disconnectFrame): 22490 (WebCore::History::length): 22491 (WebCore::History::back): 22492 (WebCore::History::forward): 22493 (WebCore::History::go): 22494 * page/History.h: Added. 22495 * page/History.idl: Added. 22496 * platform/gdk/TemporaryLinkStubs.cpp: 22497 * platform/qt/TemporaryLinkStubs.cpp: 22498 * platform/wx/TemporaryLinkStubs.cpp: 22499 22500 2007-06-18 Sam Weinig <sam (a] webkit.org> 22501 22502 Qt build fix. 22503 22504 * platform/qt/PlatformScreenQt.cpp: 22505 (WebCore::screenDepth): 22506 (WebCore::screenDepthPerComponent): 22507 (WebCore::screenIsMonochrome): 22508 (WebCore::screenRect): 22509 (WebCore::screenAvailableRect): 22510 22511 2007-06-18 Sam Weinig <sam (a] webkit.org> 22512 22513 Reviewed by Beth. 22514 22515 Fix build and update licenses. 22516 22517 * WebCore.xcodeproj/project.pbxproj: 22518 * page/BarInfo.cpp: 22519 * page/BarInfo.h: 22520 * page/BarInfo.idl: 22521 * page/Screen.cpp: 22522 (WebCore::Screen::height): 22523 (WebCore::Screen::width): 22524 (WebCore::Screen::colorDepth): 22525 (WebCore::Screen::pixelDepth): 22526 (WebCore::Screen::availLeft): 22527 (WebCore::Screen::availTop): 22528 (WebCore::Screen::availHeight): 22529 (WebCore::Screen::availWidth): 22530 * page/Screen.h: 22531 * page/Screen.idl: 22532 22533 2007-06-18 Anders Carlsson <andersca (a] apple.com> 22534 22535 Reviewed by John Sullivan. 22536 22537 <rdar://problem/5277008> Assertion in [LocationChangeHandler finishedLoadingFrame:] 22538 22539 Don't send any frame load callbacks if the document load hasn't been 22540 committed for real. 22541 22542 * loader/FrameLoader.cpp: 22543 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 22544 22545 2007-06-18 Sam Weinig <sam (a] webkit.org> 22546 22547 Reviewed by Geoff. 22548 22549 Patch for http://bugs.webkit.org/show_bug.cgi?id=14193 22550 Move the Screen object out of the JS bindings 22551 22552 - Renames Screen.h to PlatformScreen.h to accommodate new class. 22553 - Autogenerates JSScreen. 22554 22555 * DerivedSources.make: 22556 * WebCore.pro: 22557 * WebCore.vcproj/WebCore.vcproj: 22558 * WebCore.xcodeproj/project.pbxproj: 22559 * bindings/js/kjs_window.cpp: 22560 (KJS::WindowPrivate::WindowPrivate): 22561 (KJS::Window::mark): 22562 (KJS::Window::getValueProperty): 22563 (KJS::Window::clearHelperObjectProperties): 22564 * bindings/js/kjs_window.h: 22565 (KJS::Window::): 22566 * css/MediaQueryEvaluator.cpp: 22567 * page/DOMWindow.cpp: 22568 (WebCore::DOMWindow::DOMWindow): 22569 (WebCore::DOMWindow::~DOMWindow): 22570 (WebCore::DOMWindow::frame): 22571 (WebCore::DOMWindow::disconnectFrame): 22572 (WebCore::DOMWindow::screen): 22573 * page/DOMWindow.h: 22574 * page/DOMWindow.idl: 22575 * page/Screen.cpp: Added. 22576 (WebCore::Screen::Screen): 22577 (WebCore::Screen::disconnectFrame): 22578 (WebCore::Screen::height): 22579 (WebCore::Screen::width): 22580 (WebCore::Screen::colorDepth): 22581 (WebCore::Screen::pixelDepth): 22582 (WebCore::Screen::availLeft): 22583 (WebCore::Screen::availTop): 22584 (WebCore::Screen::availHeight): 22585 (WebCore::Screen::availWidth): 22586 * page/Screen.h: Added. 22587 * page/Screen.idl: Added. 22588 * page/mac/WebCoreFrameBridge.mm: 22589 * platform/PlatformScreen.h: Copied from WebCore/platform/Screen.h. 22590 * platform/Screen.h: Removed. 22591 * platform/gdk/PlatformScreenGdk.cpp: Copied from WebCore/platform/gdk/ScreenGdk.cpp. 22592 * platform/gdk/ScreenGdk.cpp: Removed. 22593 * platform/mac/PlatformMouseEventMac.mm: 22594 * platform/mac/PlatformScreenMac.mm: Copied from WebCore/platform/mac/ScreenMac.mm. 22595 * platform/mac/ScreenMac.mm: Removed. 22596 * platform/qt/PlatformScreenQt.cpp: Added. 22597 (WebCore::WebCore::screenDepth): 22598 (WebCore::WebCore::screenDepthPerComponent): 22599 (WebCore::WebCore::screenIsMonochrome): 22600 (WebCore::WebCore::screenRect): 22601 (WebCore::WebCore::screenAvailableRect): 22602 * platform/qt/TemporaryLinkStubs.cpp: 22603 * platform/win/PlatformScreenWin.cpp: Copied from WebCore/platform/win/ScreenWin.cpp. 22604 * platform/win/ScreenWin.cpp: Removed. 22605 * rendering/RenderObject.cpp: 22606 22607 2007-06-18 Sam Weinig <sam (a] webkit.org> 22608 22609 Reviewed by Geoff. 22610 22611 Patch for http://bugs.webkit.org/show_bug.cgi?id=14211 22612 Move the BarInfo object out of the JS bindings 22613 22614 * DerivedSources.make: 22615 * WebCore.pro: 22616 * WebCore.vcproj/WebCore.vcproj: 22617 * WebCore.xcodeproj/project.pbxproj: 22618 * bindings/js/kjs_window.cpp: 22619 (KJS::WindowPrivate::WindowPrivate): 22620 (KJS::Window::mark): 22621 (KJS::Window::getValueProperty): 22622 (KJS::Window::clearHelperObjectProperties): 22623 (KJS::Window::disconnectFrame): 22624 * bindings/js/kjs_window.h: 22625 (KJS::Window::): 22626 * page/BarInfo.cpp: Added. 22627 (WebCore::BarInfo::BarInfo): 22628 (WebCore::BarInfo::disconnectFrame): 22629 (WebCore::BarInfo::visible): 22630 * page/BarInfo.h: Added. 22631 (WebCore::BarInfo::): 22632 * page/BarInfo.idl: Added. 22633 * page/DOMWindow.cpp: 22634 (WebCore::DOMWindow::~DOMWindow): 22635 (WebCore::DOMWindow::disconnectFrame): 22636 (WebCore::DOMWindow::locationbar): 22637 (WebCore::DOMWindow::menubar): 22638 (WebCore::DOMWindow::personalbar): 22639 (WebCore::DOMWindow::scrollbars): 22640 (WebCore::DOMWindow::statusbar): 22641 (WebCore::DOMWindow::toolbar): 22642 * page/DOMWindow.h: 22643 * page/DOMWindow.idl: 22644 22645 2007-06-18 Sam Weinig <sam (a] webkit.org> 22646 22647 Reviewed by Darin. 22648 22649 Remove the FrameArray class and instead make window.frames another 22650 self-reference for window (like window.window, window.self, etc). 22651 This is what Firefox and what the HTML5 dictates. 22652 22653 * bindings/js/kjs_window.cpp: 22654 (KJS::WindowPrivate::WindowPrivate): 22655 (KJS::Window::mark): 22656 (KJS::Window::getValueProperty): 22657 (KJS::Window::clearHelperObjectProperties): 22658 (KJS::Window::disconnectFrame): 22659 * bindings/js/kjs_window.h: 22660 22661 2007-06-18 Mitz Pettel <mitz (a] webkit.org> 22662 22663 Reviewed by Adele. 22664 22665 - fix http://bugs.webkit.org/show_bug.cgi?id=13413 22666 Failed assertion in RenderTextControl::setSelectionRange in Google Spreadsheets 22667 22668 Test: fast/forms/input-zero-height-focus.html 22669 22670 * rendering/RenderTextControl.cpp: 22671 (WebCore::RenderTextControl::setSelectionRange): Avoid setting the 22672 selection in a zero-height text control. 22673 22674 2007-06-18 Alp Toker <alp.toker (a] collabora.co.uk> 22675 22676 Reviewed by Sam Weinig. 22677 22678 http://bugs.webkit.org/show_bug.cgi?id=14052 22679 Implement SoundGdk 22680 22681 * WebCore.pro: 22682 * platform/gdk/SoundGdk.cpp: Added. 22683 (WebCore::systemBeep): 22684 * platform/gdk/TemporaryLinkStubs.cpp: 22685 (WebCore::systemBeep): 22686 22687 2007-06-18 Dave Hyatt <hyatt (a] apple.com> 22688 22689 Add support for horizontal mouse wheeling on Windows. 22690 22691 Reviewed by aroben 22692 22693 * platform/PlatformWheelEvent.h: 22694 * platform/win/WheelEventWin.cpp: 22695 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 22696 22697 2007-06-17 Sam Weinig <sam (a] webkit.org> 22698 22699 Win32 build fix. 22700 22701 * WebCore.vcproj/WebCore.vcproj: 22702 22703 2007-06-15 David Hyatt <hyatt (a] apple.com> 22704 22705 Fix for bugzilla bugs 14183 and 14184, 'repeat' regressed in border-image 22706 because of a botched 'round' support removal. Also update for a change in 22707 the spec that has the second stretch/round/repeat keyword match the first 22708 if omitted. 22709 22710 Reviewed by olliej 22711 22712 * css/cssparser.cpp: 22713 (WebCore::BorderImageParseContext::commitBorderImage): 22714 * platform/graphics/Image.cpp: 22715 (WebCore::Image::drawTiled): 22716 * platform/graphics/Image.h: 22717 (WebCore::Image::): 22718 22719 2007-06-15 Sam Weinig <sam (a] webkit.org> 22720 22721 Reviewed by Darin. 22722 22723 Patch for http://bugs.webkit.org/show_bug.cgi?id=14053 22724 Autogenerate JS binding for Rect 22725 22726 - Renames RectImpl to Rect, DOMStyleSheetList to JSStyleSheetList 22727 and DOMRGBColor to JSRGBColor 22728 - Moves JSStyleSheetList and JSRGBColor into the WebCore namespace. 22729 22730 * DerivedSources.make: 22731 * WebCore.pro: 22732 * WebCore.xcodeproj/project.pbxproj: 22733 * bindings/js/kjs_css.cpp: 22734 (WebCore::): 22735 (WebCore::JSStyleSheetList::JSStyleSheetList): 22736 (WebCore::JSStyleSheetList::~JSStyleSheetList): 22737 (WebCore::JSStyleSheetList::getValueProperty): 22738 (WebCore::JSStyleSheetList::indexGetter): 22739 (WebCore::JSStyleSheetList::nameGetter): 22740 (WebCore::JSStyleSheetList::getOwnPropertySlot): 22741 (WebCore::toJS): 22742 (WebCore::JSStyleSheetListFunc::callAsFunction): 22743 (WebCore::JSRGBColor::JSRGBColor): 22744 (WebCore::JSRGBColor::~JSRGBColor): 22745 (WebCore::JSRGBColor::getOwnPropertySlot): 22746 (WebCore::JSRGBColor::getValueProperty): 22747 (WebCore::getJSRGBColor): 22748 * bindings/js/kjs_css.h: 22749 (WebCore::JSStyleSheetList::classInfo): 22750 (WebCore::JSStyleSheetList::): 22751 (WebCore::JSStyleSheetList::impl): 22752 (WebCore::JSRGBColor::classInfo): 22753 (WebCore::JSRGBColor::): 22754 (WebCore::JSRGBColor::impl): 22755 * bindings/objc/DOMUtility.mm: 22756 (KJS::createDOMWrapper): 22757 * bindings/scripts/CodeGeneratorJS.pm: 22758 * bindings/scripts/CodeGeneratorObjC.pm: 22759 * css/CSSBorderImageValue.cpp: 22760 (WebCore::CSSBorderImageValue::CSSBorderImageValue): 22761 * css/CSSBorderImageValue.h: 22762 * css/CSSPrimitiveValue.cpp: 22763 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 22764 (WebCore::CSSPrimitiveValue::cssText): 22765 * css/CSSPrimitiveValue.h: 22766 (WebCore::CSSPrimitiveValue::getRectValue): 22767 (WebCore::CSSPrimitiveValue::): 22768 * css/DashboardRegion.h: 22769 * css/Rect.h: Copied from css/RectImpl.h. 22770 (WebCore::Rect::~Rect): 22771 (WebCore::Rect::top): 22772 (WebCore::Rect::right): 22773 (WebCore::Rect::bottom): 22774 (WebCore::Rect::left): 22775 (WebCore::Rect::setTop): 22776 (WebCore::Rect::setRight): 22777 (WebCore::Rect::setBottom): 22778 (WebCore::Rect::setLeft): 22779 * css/Rect.idl: 22780 * css/RectImpl.h: Removed. 22781 * css/cssparser.cpp: 22782 (WebCore::CSSParser::parseShape): 22783 (WebCore::BorderImageParseContext::commitBorderImage): 22784 * css/cssstyleselector.cpp: 22785 (WebCore::CSSStyleSelector::applyProperty): 22786 * page/DOMWindow.idl: 22787 22788 2007-06-14 George Staikos <staikos (a] kde.org> 22789 22790 Reviewed by Lars. 22791 22792 Implement missing tab support and a slight refactor. 22793 22794 * platform/qt/PlatformKeyboardEventQt.cpp: 22795 (WebCore::keyIdentifierForQtKeyCode): 22796 (WebCore::windowsKeyCodeForKeyEvent): 22797 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 22798 22799 2007-06-14 Dave Hyatt <hyatt (a] apple.com> 22800 22801 Fix for Bugzilla bug 14806, missing text for bold/italic fonts in non-English Windows installs. 22802 22803 This patch adds an additional step after the lookup by full name fails. It will then look up 22804 a PostScript name in a (localized full name) -> (PostScript name) cache. If the name is not 22805 found, then the font's name table is obtained and searched for a PostScript name (and the 22806 result is cached). 22807 22808 If lookup on PostScript name fails too, then we now properly fall back to the next font in the 22809 list (so text should never be missing). 22810 22811 Reviewed by Darin (thoroughly reviewed, super reviewed even) 22812 22813 * platform/win/FontCacheWin.cpp: 22814 * platform/win/FontPlatformDataWin.cpp: 22815 22816 2007-06-14 Anders Carlsson <andersca (a] apple.com> 22817 22818 Reviewed by Geoff. 22819 22820 Add Frame::cleanupScriptObjectsForPlugin which will invalidate the root object 22821 for a given plug-in. 22822 22823 * WebCore.exp: 22824 * page/Frame.cpp: 22825 (WebCore::Frame::cleanupScriptObjectsForPlugin): 22826 * page/Frame.h: 22827 22828 2007-06-14 Anders Carlsson <andersca (a] apple.com> 22829 22830 Reviewed by Geoff. 22831 22832 <rdar://problem/5211677> 22833 -[WebPreferences setJavaEnabled:] only disables java inside <applet>, not <object> 22834 22835 * loader/FrameLoader.cpp: 22836 (WebCore::FrameLoader::requestObject): 22837 If the object is a Java MIME type and Java is disabled, don't load the plug-in. 22838 22839 * platform/MimeTypeRegistry.cpp: 22840 (WebCore::MimeTypeRegistry::isJavaAppletMIMEType): 22841 Clean this up and add another applet MIME type. 22842 22843 2007-06-14 George Staikos <staikos (a] kde.org> 22844 22845 Reviewed by Lars. 22846 22847 Implement the file chooser for Qt. 22848 22849 * platform/qt/FileChooserQt.cpp: 22850 (WebCore::FileChooser::openFileChooser): 22851 (WebCore::FileChooser::basenameForWidth): 22852 22853 2007-06-14 George Staikos <staikos (a] kde.org> 22854 22855 Reviewed by Lars. 22856 22857 Add missing initialization of pointer. 22858 22859 * platform/qt/ContextMenuQt.cpp: 22860 (WebCore::ContextMenu::ContextMenu): 22861 22862 2007-06-14 Anders Carlsson <andersca (a] apple.com> 22863 22864 Reviewed by Mitz. 22865 22866 <rdar://problem/5244948> 22867 Safari keeps on complaining about slow script playing NBC TV video (14133) 22868 22869 http://bugs.webkit.org/show_bug.cgi?id=14133 22870 Runaway JavaScript timer fires when spinning around in Google Maps street view 22871 22872 Make sure to start and stop the timeout checker around calls to JS. 22873 22874 * bindings/objc/WebScriptObject.mm: 22875 (-[WebScriptObject callWebScriptMethod:withArguments:]): 22876 (-[WebScriptObject evaluateWebScript:]): 22877 22878 2007-06-14 George Staikos <staikos (a] kde.org> 22879 22880 Reviewed by Maciej. 22881 22882 Keypress causes typeahead crash on empty selects due to modulo 0. 22883 22884 * html/HTMLSelectElement.cpp: 22885 (WebCore::HTMLSelectElement::typeAheadFind): 22886 22887 2007-06-13 George Staikos <staikos (a] kde.org> 22888 22889 Reviewed by Lars. 22890 22891 Compile without self-linking. 22892 22893 * WebCore.pro: 22894 22895 2007-06-13 Darin Adler <darin (a] apple.com> 22896 22897 Reviewed by Kevin Decker. 22898 22899 - fix <rdar://problem/5264923> Safari frequently "stalls" beneath 22900 +[NSFont fontWithName:size:] while loading a web page (searching on disk for the font) 22901 22902 * platform/mac/WebFontCache.mm: 22903 (+[WebFontCache internalFontWithFamily:traits:size:]): Renamed from fontWithFamily. 22904 Took out the auto-activation code. 22905 (+[WebFontCache fontWithFamily:traits:size:]): Added. Calls internalFontWithFamily, 22906 then calls NSFont to trigger activation if that returned nil, then calls 22907 internalFontWithFamily again. 22908 22909 2007-06-13 Anders Carlsson <andersca (a] apple.com> 22910 22911 Reviewed by Geoff. 22912 22913 Pass the root object to methods that end up creating new ObjcInstance objects. 22914 22915 * bindings/objc/WebScriptObject.mm: 22916 (listFromNSArray): 22917 (-[WebScriptObject callWebScriptMethod:withArguments:]): 22918 (-[WebScriptObject evaluateWebScript:]): 22919 (-[WebScriptObject setValue:forKey:]): 22920 (-[WebScriptObject valueForKey:]): 22921 (-[WebScriptObject removeWebScriptKey:]): 22922 (-[WebScriptObject setWebScriptValueAtIndex:value:]): 22923 22924 2007-06-13 Anders Carlsson <andersca (a] apple.com> 22925 22926 Reviewed by Darin. 22927 22928 <rdar://problem/5267992> 22929 Make sure an alert doesn't allow loading to continue inside a script. 22930 22931 Make sure to defer all loads where it's possible for a second main loop to be running. 22932 22933 * page/Chrome.cpp: 22934 (WebCore::Chrome::runModal): 22935 (WebCore::Chrome::runBeforeUnloadConfirmPanel): 22936 (WebCore::Chrome::runJavaScriptAlert): 22937 (WebCore::Chrome::runJavaScriptConfirm): 22938 (WebCore::Chrome::runJavaScriptPrompt): 22939 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 22940 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 22941 22942 * platform/network/cf/ResourceHandleCFNet.cpp: 22943 (WebCore::ResourceHandle::setDefersLoading): 22944 Implement this. 22945 22946 2007-06-13 Alp Toker <alp.toker (a] collabora.co.uk> 22947 22948 Reviewed by Rob. 22949 22950 http://bugs.webkit.org/show_bug.cgi?id=14060 22951 Cairo SVG support 22952 22953 * WebCore.pro: Add new files to the build. 22954 * platform/graphics/svg/SVGPaintServerPattern.h: 22955 * platform/graphics/svg/SVGPaintServerSolid.h: 22956 * platform/graphics/svg/cairo: Added. 22957 * platform/graphics/svg/cairo/RenderPathCairo.cpp: Added. 22958 (WebCore::RenderPath::strokeContains): 22959 (WebCore::RenderPath::strokeBBox): 22960 * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Added. 22961 (WebCore::SVGPaintServer::draw): 22962 (WebCore::SVGPaintServer::teardown): 22963 (WebCore::SVGPaintServer::renderPath): 22964 * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Added. 22965 (WebCore::SVGPaintServerGradient::setup): 22966 * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Added. 22967 (WebCore::SVGPaintServerPattern::setup): 22968 * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Added. 22969 (WebCore::SVGPaintServerSolid::setup): 22970 * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Added. 22971 (WebCore::SVGResourceClipper::applyClip): 22972 * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Added. 22973 (WebCore::SVGResourceMasker::applyMask): 22974 22975 2007-06-13 Simon Hausmann <hausmann (a] kde.org> 22976 22977 Reviewed by Lars. 22978 22979 Added a make install target that installs the Qt port and renamed 22980 WebKitQt to QtWebKit 22981 22982 * WebCore.pro: 22983 22984 2007-06-13 Adam Roben <aroben (a] apple.com> 22985 22986 Fix one more BITMAPINFO/BITMAPINFOHEADER typo. 22987 22988 Rubberstamped by Oliver. 22989 22990 * platform/win/DragImageWin.cpp: 22991 (WebCore::allocImage): 22992 22993 2007-06-12 Oliver Hunt <oliver (a] apple.com> 22994 22995 Reviewed by Darin. 22996 22997 Use correct size for BITMAPINFOHEADER -- whoops. 22998 22999 * platform/win/CursorWin.cpp: 23000 (WebCore::Cursor::Cursor): 23001 * platform/win/PasteboardWin.cpp: 23002 (WebCore::Pasteboard::writeImage): 23003 23004 2007-06-12 Sam Weinig <sam (a] webkit.org> 23005 23006 Reviewed by Oliver. 23007 23008 Patch for http://bugs.webkit.org/show_bug.cgi?id=14109 23009 Cleanup JSEvent and JSClipboard in preperation for autogeneration 23010 23011 * bindings/js/kjs_events.cpp: 23012 (KJS::DOMEvent::DOMEvent): 23013 (KJS::DOMEvent::getValueProperty): 23014 (KJS::DOMEvent::put): 23015 (KJS::DOMEvent::putValueProperty): 23016 (KJS::DOMEventPrototypeFunction::callAsFunction): 23017 (KJS::toJS): 23018 (KJS::toEvent): 23019 (KJS::): 23020 (KJS::JSClipboard::JSClipboard): 23021 (KJS::JSClipboard::~JSClipboard): 23022 (KJS::JSClipboard::getOwnPropertySlot): 23023 (KJS::JSClipboard::getValueProperty): 23024 (KJS::JSClipboard::put): 23025 (KJS::JSClipboard::putValueProperty): 23026 (KJS::JSClipboardPrototypeFunction::callAsFunction): 23027 (KJS::toClipboard): 23028 * bindings/js/kjs_events.h: 23029 (KJS::DOMEvent::): 23030 (KJS::DOMEvent::impl): 23031 (KJS::JSClipboard::impl): 23032 * dom/ClipboardEvent.h: 23033 * dom/Event.h: 23034 (WebCore::Event::srcElement): 23035 (WebCore::Event::returnValue): 23036 (WebCore::Event::clipboardData): 23037 (WebCore::Event::dataTransfer): 23038 (WebCore::Event::clipboard): 23039 * dom/MouseEvent.h: 23040 23041 2007-06-13 Lars Knoll <lars (a] trolltech.com> 23042 23043 Reviewed by Niko. 23044 23045 Small cleanup 23046 23047 * platform/qt/PlugInInfoStoreQt.cpp: 23048 (WebCore::PlugInInfoStore::supportsMIMEType): 23049 23050 2007-06-13 Lars Knoll <lars (a] trolltech.com> 23051 23052 Reviewed by Niko 23053 23054 Implement the parts required for the JS bridge 23055 to know about the plugins. 23056 23057 * WebCore.pro: 23058 * platform/qt/PlugInInfoStoreQt.cpp: Added. 23059 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex): 23060 (WebCore::PlugInInfoStore::pluginCount): 23061 (WebCore::PlugInInfoStore::supportsMIMEType): 23062 (WebCore::refreshPlugins): 23063 * platform/qt/TemporaryLinkStubs.cpp: 23064 23065 === Merged the following changes from branches/WindowsMerge === 23066 23067 2007-06-09 Sam Weinig <sam (a] webkit.org> 23068 23069 Build fix. 23070 23071 * WebCore.vcproj/WebCore.vcproj: 23072 23073 2007-06-08 Anders Carlsson <andersca (a] apple.com> 23074 23075 Reviewed by Adam. 23076 23077 If both the old and new WMP plugins are present, remove the old one 23078 so we won't end up choosing it. 23079 23080 * plugins/win/PluginDatabaseWin.cpp: 23081 (WebCore::PluginDatabaseWin::getPluginsInPaths): 23082 23083 2007-06-08 David Hyatt <hyatt (a] apple.com> 23084 23085 Update licenses/copyrights for WebCoreWin. 23086 23087 Reviewed by mccullough 23088 23089 * WebCorePrefix.cpp: 23090 * bridge/win/FrameWin.cpp: 23091 * bridge/win/FrameWin.h: 23092 * bridge/win/HistoryWin.cpp: 23093 * bridge/win/PageWin.cpp: 23094 * page/win/EventHandlerWin.cpp: 23095 * platform/graphics/cg/ColorCG.cpp: 23096 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: 23097 * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: 23098 * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: 23099 * platform/graphics/win/IconWin.cpp: 23100 * platform/graphics/win/ImageWin.cpp: 23101 * platform/network/cf/FormDataStreamCFNet.cpp: 23102 * platform/network/cf/FormDataStreamCFNet.h: 23103 * platform/network/cf/ResourceHandleCFNet.cpp: 23104 * platform/network/cf/ResourceRequestCFNet.cpp: 23105 * platform/network/cf/ResourceResponseCFNet.cpp: 23106 * platform/network/win/CookieJarWin.cpp: 23107 * platform/network/win/ResourceHandleWin.cpp: 23108 * platform/network/win/ResourceHandleWin.h: 23109 * platform/win/BString.cpp: 23110 * platform/win/BString.h: 23111 * platform/win/ClipboardWin.h: 23112 * platform/win/ContextMenuWin.cpp: 23113 * platform/win/CursorWin.cpp: 23114 * platform/win/EditorWin.cpp: 23115 * platform/win/FontCacheWin.cpp: 23116 * platform/win/FontDataWin.cpp: 23117 * platform/win/FontPlatformData.h: 23118 * platform/win/FontPlatformDataWin.cpp: 23119 * platform/win/FontWin.cpp: 23120 * platform/win/GlyphPageTreeNodeWin.cpp: 23121 * platform/win/GraphicsContextWin.cpp: 23122 * platform/win/KeyEventWin.cpp: 23123 * platform/win/MimeTypeRegistryWin.cpp: 23124 * platform/win/NotImplemented.h: 23125 * platform/win/PlatformMouseEventWin.cpp: 23126 * platform/win/PlatformScrollBar.h: 23127 * platform/win/PlatformScrollBarWin.cpp: 23128 * platform/win/PopupMenuWin.cpp: 23129 * platform/win/ScreenWin.cpp: 23130 * platform/win/ScrollViewWin.cpp: 23131 * platform/win/SearchPopupMenuWin.cpp: 23132 * platform/win/SoundWin.cpp: 23133 * platform/win/TemporaryLinkStubs.cpp: 23134 * platform/win/TextBoundariesWin.cpp: 23135 * platform/win/WebCoreHistory.cpp: 23136 * platform/win/WebCoreHistory.h: 23137 * platform/win/WebCoreSystemInterface.cpp: 23138 * platform/win/WebCoreSystemInterface.h: 23139 * platform/win/WheelEventWin.cpp: 23140 * platform/win/WidgetWin.cpp: 23141 * plugins/win/PlugInInfoStoreWin.cpp: 23142 * plugins/win/PluginDatabaseWin.cpp: 23143 * plugins/win/PluginDatabaseWin.h: 23144 * plugins/win/PluginDebug.h: 23145 * plugins/win/PluginPackageWin.cpp: 23146 * plugins/win/PluginPackageWin.h: 23147 * plugins/win/PluginStreamWin.cpp: 23148 * plugins/win/PluginStreamWin.h: 23149 * plugins/win/PluginViewWin.cpp: 23150 * plugins/win/PluginViewWin.h: 23151 * plugins/win/npapi.cpp: 23152 * plugins/win/npfunctions.h: 23153 * rendering/RenderThemeSafari.cpp: 23154 * rendering/RenderThemeSafari.h: 23155 * rendering/RenderThemeWin.h: 23156 23157 2007-06-07 Sam Weinig <sam (a] webkit.org> 23158 23159 Fix build. 23160 23161 * WebCore.vcproj/WebCore.vcproj: 23162 23163 2007-06-07 Anders Carlsson <andersca (a] apple.com> 23164 23165 Reviewed by Steve. 23166 23167 <rdar://problem/5252902> 23168 Shockwave plug-in content crashes. 23169 23170 Add a new quirk for plug-ins that need their WNDPROCs to be ASCII. If someone uses SetWindowLongA to set the WNDPROC to an ASCII one 23171 and the previous one was an Unicode one, the value returned from SetWindowLongA (the old WNDPROC) will not be a function pointer, but instead 23172 a special value. The Win32 API CallWndProc knows that when it encounters a special value it must convert the message to Unicode. Shockwave 23173 does not use CallWndProc but instead treats the WNDPROC as a function. 23174 23175 * plugins/win/PluginViewWin.cpp: 23176 (WebCore::PluginViewWndProc): 23177 (WebCore::PluginViewWin::determineQuirks): 23178 (WebCore::PluginViewWin::init): 23179 * plugins/win/PluginViewWin.h: 23180 (WebCore::): 23181 (WebCore::PluginViewWin::quirks): 23182 23183 2007-06-07 Sam Weinig <sam (a] webkit.org> 23184 23185 Build fix for the build fix. 23186 23187 * WebCore.vcproj/WebCore.vcproj: 23188 23189 2007-06-07 Sam Weinig <sam (a] webkit.org> 23190 23191 Build fix. 23192 23193 * WebCore.vcproj/WebCore.vcproj: 23194 23195 2007-06-06 Sam Weinig <sam (a] webkit.org> 23196 23197 Build fix. 23198 23199 * WebCore.vcproj/WebCore.vcproj: 23200 23201 2007-06-03 Steve Falkenburg <sfalken (a] apple.com> 23202 23203 Reviewed by Oliver. 23204 23205 Update to last fix. 23206 Invalidate a list of rects rather than unioning them. 23207 23208 * plugins/win/PluginViewWin.cpp: 23209 (WebCore::PluginViewWin::invalidateTimerFired): 23210 (WebCore::PluginViewWin::invalidateRect): 23211 * plugins/win/PluginViewWin.h: 23212 23213 2007-06-03 Steve Falkenburg <sfalken (a] apple.com> 23214 23215 Reviewed by Oliver. 23216 23217 <rdar://problem/5245016> 100A89+WebKit.dll: Can't select text in page location field at kids.yahoo.com 23218 23219 Delay invalidates for windowless Flash to prevent Flash WM_PAINT and WM_USER+1 messages from 23220 starving other HWNDs. 23221 23222 This code defers the invalidate through a WebCore::Timer. We could have used a Windows ::SetTimer 23223 to further lessen CPU load, but this would have the additional risk of negatively impacting Flash 23224 performance, since WebCore::Timer is set up to be more responsive than ::SetTimer. 23225 23226 * plugins/win/PluginViewWin.cpp: 23227 (WebCore::PluginViewWin::invalidateTimerFired): Added. 23228 (WebCore::PluginViewWin::invalidateRect): Delay invalidates for windowless Flash. 23229 (WebCore::PluginViewWin::determineQuirks): Add delayed invalidate quirk. 23230 * plugins/win/PluginViewWin.h: 23231 23232 2007-06-02 Steve Falkenburg <sfalken (a] apple.com> 23233 23234 Reviewed by Adam. 23235 23236 Update last fix to use startsWith instead of strcmpi. 23237 23238 * plugins/win/PluginStreamWin.cpp: 23239 (WebCore::PluginStreamWin::startStream): 23240 * plugins/win/PluginViewWin.cpp: 23241 (WebCore::scriptStringIfJavaScriptURL): 23242 23243 2007-06-02 Steve Falkenburg <sfalken (a] apple.com> 23244 23245 Reviewed by gramps. 23246 23247 Fix http://www.tvguide.com/ "LAUNCH VIDEO & PHOTO PLAYER" button. 23248 Make "javascript" URL scheme string compare case insensitive. 23249 23250 * plugins/win/PluginStreamWin.cpp: 23251 (WebCore::PluginStreamWin::startStream): Use strcmpi. 23252 * plugins/win/PluginViewWin.cpp: 23253 (WebCore::scriptStringIfJavaScriptURL): Use strcmpi. 23254 23255 2007-06-01 Anders Carlsson <andersca (a] apple.com> 23256 23257 Reviewed by Steve. 23258 23259 If the value exists but is empty, return an empty String. 23260 23261 * plugins/win/PluginPackageWin.cpp: 23262 (WebCore::getVersionInfo): 23263 23264 2007-06-01 Anders Carlsson <andersca (a] apple.com> 23265 23266 Reviewed by Steve. 23267 23268 Add the default path for the new WMP Firefox plugin. 23269 23270 * plugins/win/PluginDatabaseWin.cpp: 23271 (WebCore::addWindowsMediaPlayerPluginPath): 23272 23273 2007-05-31 Sam Weinig <sam (a] webkit.org> 23274 23275 Fixed build. 23276 23277 * WebCore.vcproj/WebCore.vcproj: 23278 23279 2007-05-31 Sam Weinig <sam (a] webkit.org> 23280 23281 Fixed build. 23282 23283 * WebCore.vcproj/WebCore.vcproj: 23284 23285 2007-05-30 Ada Chan <adachan (a] apple.com> 23286 23287 Reviewed by Adam. 23288 23289 Fixed build. 23290 23291 * platform/win/PopupMenuWin.cpp: 23292 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 23293 23294 2007-05-30 Sam Weinig <sam (a] webkit.org> 23295 23296 Build Fix. 23297 23298 * WebCore.vcproj/WebCore.vcproj: 23299 23300 2007-05-29 Sam Weinig <sam (a] webkit.org> 23301 23302 Fix the build. 23303 23304 * WebCore.vcproj/WebCore.vcproj: 23305 23306 2007-05-29 Anders Carlsson <andersca (a] apple.com> 23307 23308 Reviewed by Adam. 23309 23310 <rdar://4782915> plugin is not in the right place at jumble.com/play.html 23311 23312 Pass the plugin window coordinates for windowed plugins too. 23313 23314 * plugins/win/PluginViewWin.cpp: 23315 (WebCore::PluginViewWin::setNPWindowRect): 23316 23317 2007-05-29 Anders Carlsson <andersca (a] apple.com> 23318 23319 Reviewed by Adam. 23320 23321 <rdar://problem/4761543> nike.com doesn't finish loading if Flash plugin is installed 23322 <rdar://problem/5131528> play button on Flash in ESPN front page does not start movie 23323 23324 Make sure to call NPP_SetWindow right after creating the plugin, and not from the main loop. However, 23325 the WMP plugin needs to have the plugin's window coordinates set correctly when calling NPP_SetWindow so add a 23326 quirk for that. 23327 23328 * plugins/win/PluginViewWin.cpp: 23329 (WebCore::PluginViewWin::determineQuirks): 23330 (WebCore::PluginViewWin::init): 23331 * plugins/win/PluginViewWin.h: 23332 (WebCore::): 23333 23334 2007-05-29 Sam Weinig <sam (a] webkit.org> 23335 23336 Reviewed by Adam Roben. 23337 23338 - Removes platform/win/NotImplemented.h because we have consolidated 23339 the notImplemented() for all platforms in platform/NotImplemented.h 23340 - Fixes remaining uses of old macro to use the new notImplemented() one. 23341 23342 * WebCore.vcproj/WebCore.vcproj: 23343 * page/win/EventHandlerWin.cpp: 23344 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 23345 * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: 23346 (WebCore::SVGResourceFilter::prepareFilter): 23347 (WebCore::SVGResourceFilter::applyFilter): 23348 * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: 23349 (WebCore::SVGResourceMasker::applyMask): 23350 * platform/win/GraphicsContextWin.cpp: 23351 (WebCore::contextForImage): 23352 * platform/win/NotImplemented.h: Removed. 23353 * platform/win/SearchPopupMenuWin.cpp: 23354 (WebCore::SearchPopupMenu::saveRecentSearches): 23355 (WebCore::SearchPopupMenu::loadRecentSearches): 23356 * platform/win/TemporaryLinkStubs.cpp: 23357 (Frame::print): 23358 (Frame::issueTransposeCommand): 23359 (GraphicsContextPlatformPrivate::clip): 23360 (WebCore::FrameView::updateBorder): 23361 (Widget::setIsSelected): 23362 (ScrollView::inWindow): 23363 (WebCore::focusRingColor): 23364 (WebCore::setFocusRingColorChangeFunction): 23365 (Frame::setNeedsReapplyStyles): 23366 (FrameLoader::overrideMediaType): 23367 (DocumentLoader::getResponseModifiedHeader): 23368 (ResourceHandle::willLoadFromCache): 23369 (WebCore::userIdleTime): 23370 (CachedPage::close): 23371 (WebCore::supportedKeySizes): 23372 (WebCore::signedPublicKeyAndChallengeString): 23373 * plugins/win/PluginViewWin.cpp: 23374 (WebCore::PluginViewWin::newStream): 23375 (WebCore::PluginViewWin::write): 23376 (WebCore::PluginViewWin::setValue): 23377 23378 2007-05-29 Anders Carlsson <andersca (a] apple.com> 23379 23380 Build fix. 23381 23382 * rendering/RenderThemeSafari.cpp: 23383 (WebCore::RenderThemeSafari::adjustSliderThumbStyle): 23384 23385 2007-05-29 Anders Carlsson <andersca (a] apple.com> 23386 23387 Reviewed by Adam. 23388 23389 Port code from open source changeset 21808, fixing 23390 http://bugs.webkit.org/show_bug.cgi?id=13871 23391 23392 * rendering/RenderThemeSafari.cpp: 23393 (WebCore::RenderThemeMac::adjustSliderThumbStyle): 23394 * rendering/RenderThemeSafari.h: 23395 23396 2007-05-29 Ada Chan <adachan (a] apple.com> 23397 23398 Build fix. 23399 - Added "$(ProjectDir)..\platform\win" to include paths 23400 - Added WebCore\bindings\js\JSCSSStyleDeclarationCustom.cpp to project 23401 23402 * WebCore.vcproj/WebCore.vcproj: 23403 23404 2007-05-28 Sam Weinig <sam (a] webkit.org> 23405 23406 Build fix. 23407 23408 * WebCore.vcproj/WebCore.vcproj: 23409 23410 2007-05-27 Sam Weinig <sam (a] webkit.org> 23411 23412 Build fix. 23413 23414 * WebCore.vcproj/WebCore.vcproj: 23415 23416 2007-05-24 Geoffrey Garen <ggaren (a] apple.com> 23417 23418 Reviewed by Darin Adler. 23419 23420 Fixed a bug with Settings where a number of different objects held bare 23421 Settings* data members, even though the Page owns the Settings object and 23422 deletes it upon destruction. 23423 23424 Added NULL checks since the Page can be deleted before the frame/document. 23425 23426 * plugins/win/PluginViewWin.cpp: 23427 (WebCore::PluginViewWin::load): 23428 23429 2007-05-24 Sam Weinig <sam (a] webkit.org> 23430 23431 Reviewed by NOBODY. 23432 23433 Build fix. 23434 23435 * WebCore.vcproj/WebCore.vcproj: 23436 23437 2007-05-24 Anders Carlsson <andersca (a] apple.com> 23438 23439 Reviewed by Adam. 23440 23441 <rdar://5211882> 23442 Need to relaunch Boomer to recognize newly installed QT plug-in 23443 23444 <rdar://5061867> 23445 After installing Flash, Safari would still not display pages that needed it 23446 23447 * plugins/win/PluginDatabaseWin.cpp: 23448 (WebCore::PluginDatabaseWin::refresh): 23449 Return whether the plugin database changed or not. 23450 23451 (WebCore::PluginDatabaseWin::findPlugin): 23452 New function that tries to find a plug-in given its url and MIME type. 23453 23454 (WebCore::PluginDatabaseWin::createPluginView): 23455 If no plugin is found, refresh the database and search for the plugin again if the database changed. 23456 23457 2007-05-24 Adele Peterson <adele (a] apple.com> 23458 23459 - fix http://bugs.webkit.org/show_bug.cgi?id=13837 23460 Separator in new <select> widget disappears when block element with border is in document. 23461 23462 * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintMenuListButton): 23463 Added calls to set the stroke style and thickness when painting the arrows and the separator. 23464 23465 2007-05-24 Sam Weinig <sam (a] webkit.org> 23466 23467 Build fix. 23468 23469 * WebCore.vcproj/WebCore.vcproj: 23470 23471 2007-05-23 Sam Weinig <sam (a] webkit.org> 23472 23473 Build fix. 23474 23475 * WebCore.vcproj/WebCore.vcproj: 23476 23477 2007-05-23 Anders Carlsson <andersca (a] apple.com> 23478 23479 Fix build. 23480 23481 * platform/win/CursorWin.cpp: 23482 (WebCore::zoomInCursor): 23483 (WebCore::zoomOutCursor): 23484 23485 2007-05-22 Ada Chan <adachan (a] apple.com> 23486 23487 Fix build. 23488 23489 * plugins/win/PluginViewWin.cpp: 23490 (WebCore::PluginViewWin::handleMouseEvent): 23491 23492 2007-05-22 Justin Garcia <justin.garcia (a] apple.com> 23493 23494 Reviewed by oliver 23495 23496 Build fix. 23497 23498 * plugins/win/PluginViewWin.cpp: 23499 (WebCore::PluginViewWin::handleMouseEvent): 23500 23501 2007-05-21 Sam Weinig <sam (a] webkit.org> 23502 23503 Reviewed by Oliver. 23504 23505 Build fix. 23506 23507 * WebCore.vcproj/WebCore.vcproj: 23508 23509 2007-05-21 Sam Weinig <sam (a] webkit.org> 23510 23511 Reviewed by Adam. 23512 23513 Build fix. 23514 23515 * WebCore.vcproj/WebCore.vcproj: 23516 23517 2007-05-17 Steve Falkenburg <sfalken (a] apple.com> 23518 23519 Reviewed by Geoff, Adam. 23520 23521 Use precompiled headers (via WebCorePrefix.h) to speed up WebCoreWin builds. 23522 This improved WebCore debug rebuild time from 40 minutes to 25 for me. 23523 23524 A few files needed to be excluded, since they didn't build properly with 23525 the prefix file: ColorData.c, CSSGrammar.cpp, HTMLEntityNames.c, XPathGrammar.cpp, XPathParser.cpp. 23526 23527 * WebCore.vcproj/WebCore.vcproj: Turn on precompiled header, force includes flags. 23528 * WebCorePrefix.cpp: Added. 23529 * WebCorePrefix.h: Added. 23530 * config.h: Modified to be compatible with WebCorePrefix.h. 23531 23532 2007-05-18 Sam Weinig <sam (a] webkit.org> 23533 23534 Reviewed by Adam. 23535 23536 Fixing the vcproj paths. 23537 23538 * WebCore.vcproj/WebCore.vcproj: 23539 23540 2007-05-18 Sam Weinig <sam (a] webkit.org> 23541 23542 Reviewed by Geoff. 23543 23544 Build fix after r21577. 23545 23546 * WebCore.vcproj/WebCore.vcproj: 23547 23548 2007-05-18 Adam Roben <aroben (a] apple.com> 23549 23550 Build fix after r21562. 23551 23552 * platform/win/TemporaryLinkStubs.cpp: 23553 * platform/win/WidgetWin.cpp: 23554 * plugins/win/PluginViewWin.cpp: 23555 * plugins/win/PluginViewWin.h: 23556 23557 2007-05-18 Anders Carlsson <andersca (a] apple.com> 23558 23559 Reviewed by Geoff. 23560 23561 <rdar://problem/4914940> Some plugins won't redraw correctly when scrolling 23562 23563 This patch does two things: 23564 23565 1. It comments out the call to set the window's region to an empty region while it's being moved. This was done to prevent 23566 the QT plugin from drawing outside its bounds when scrolling it when it's inside an iframe or div with overflow. 23567 23568 2. It lets Windows handle its invalid region when moving the window and setting its new window region. 23569 23570 * plugins/win/PluginViewWin.cpp: 23571 (WebCore::PluginViewWin::updateWindow): 23572 23573 2007-05-18 Adam Roben <aroben (a] apple.com> 23574 23575 Build fix after r21555. 23576 23577 * page/win/EventHandlerWin.cpp: 23578 (WebCore::EventHandler::passMouseMoveEventToSubframe): 23579 23580 2007-05-17 Sam Weinig <sam (a] webkit.org> 23581 23582 Reviewed by Adam. 23583 23584 Build Fix after <rdar://problem/5201423> 23585 23586 * WebCore.vcproj/WebCore.vcproj: 23587 23588 2007-05-17 Adele Peterson <adele (a] apple.com> 23589 23590 Reviewed by Hyatt. 23591 23592 Follow up to <rdar://problem/5092645> PopupMenuWin needs bidiReorderCharacters logic from RenderListBox 23593 23594 * platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::paint): 23595 Use the clientStyle to determine how to handle bidi text. For popup buttons, which we restrict to LTR, 23596 we will match the button text. 23597 23598 2007-05-17 Anders Carlsson <andersca (a] apple.com> 23599 23600 Reviewed by Darin. 23601 23602 <rdar://problem/5210600> New WMP plugin doesn't show any contents 23603 23604 Call NPP_SetWindow after the window's size has been updated. 23605 23606 * plugins/win/PluginViewWin.cpp: 23607 (WebCore::PluginViewWin::setFrameGeometry): 23608 23609 2007-05-17 Anders Carlsson <andersca (a] apple.com> 23610 23611 Reviewed by John. 23612 23613 <rdar://problem/5204016> Repro crash on nytimes.com in MimeTypeRegistry::getMIMETypeForExtension 23614 23615 Return null if the extension is null. 23616 23617 * platform/win/MimeTypeRegistryWin.cpp: 23618 (WebCore::MimeTypeRegistry::getMIMETypeForExtension): 23619 23620 2007-05-16 Adele Peterson <adele (a] apple.com> 23621 23622 Reviewed by Hyatt. 23623 23624 Fix for: 23625 <rdar://problem/5092645> PopupMenuWin needs bidiReorderCharacters logic from RenderListBox 23626 <rdar://problem/5205654> Select popup menus should always be ltr to match the mac 23627 23628 * platform/win/PopupMenuWin.cpp: 23629 (WebCore::PopupMenu::show): Remove special cases for RTL menus, since we are always going to left align. 23630 (WebCore::PopupMenu::calculatePositionAndSize): ditto. 23631 (WebCore::PopupMenu::paint): Added call to bidiReorderCharacters. 23632 23633 2007-05-14 Oliver Hunt <oliver (a] apple.com> 23634 23635 Reviewed by Sam. 23636 23637 Fix for <rdar://problem/5147895> REGRESSION: Content-Disposition: filename is ignored for drag-and-drop. 23638 23639 If the image does not already have a title, fall back to the 23640 name suggested by Content-Disposition. 23641 23642 * platform/win/ClipboardWin.cpp: 23643 (WebCore::createGlobalImageFileDescriptor): 23644 23645 2007-05-14 Oliver Hunt <oliver (a] apple.com> 23646 23647 Reviewed by Sam. 23648 23649 Fix for <rdar://problem/5202805> Null dereference in createGlobalData(CString str) 23650 23651 Null terminate manually to prevent us from dereferencing null. 23652 23653 * platform/win/ClipboardUtilitiesWin.cpp: 23654 (WebCore::createGlobalData): 23655 23656 2007-05-14 Oliver Hunt <oliver (a] apple.com> 23657 23658 Reviewed by Geoff. 23659 23660 Windows side of fix for 23661 <rdar://problem/4728842> Can't drag-and-drop files onto <input type="file"> 23662 23663 * platform/win/ClipboardUtilitiesWin.cpp: 23664 (WebCore::cfHDropFormat): 23665 Need to be able to access externally 23666 23667 * platform/win/ClipboardUtilitiesWin.h: 23668 Declare cfHDropFormat 23669 23670 * platform/win/DragDataWin.cpp: 23671 (WebCore::DragData::containsFiles): 23672 (WebCore::DragData::asFilenames): 23673 Add implementation of containsFiles and asFilenames 23674 23675 2007-05-14 Geoffrey Garen <ggaren (a] apple.com> 23676 23677 Build fix. 23678 23679 * WebCore.vcproj/WebCore.vcproj: 23680 23681 2007-05-14 Anders Carlsson <andersca (a] apple.com> 23682 23683 Reviewed by Geoff. 23684 23685 <rdar://problem/5176940> Seed10: MS Silverlight 1.0 beta plug-in is not supported 23686 23687 * plugins/win/PluginDatabaseWin.cpp: 23688 (WebCore::addPluginsFromRegistry): 23689 New function that adds plugins from the registry from HKEY_LOCAL_MACHINE/MozillaPlugins. 23690 23691 * plugins/win/PluginViewWin.cpp: 23692 (WebCore::PluginViewWin::invalidateRect): 23693 (WebCore::PluginViewWin::forceRedraw): 23694 Make these work with windowed plugins. 23695 23696 2007-05-13 Darin Adler <darin (a] apple.com> 23697 23698 Requested by Hyatt. 23699 23700 - internal part of http://bugs.webkit.org/show_bug.cgi?id=13529 23701 DOM3 keyIdentifier text is incorrect 23702 23703 * platform/win/KeyEventWin.cpp: 23704 (WebCore::keyIdentifierForWindowsKeyCode): Use 4 digits for "U+" stuff. 23705 23706 2007-05-12 Oliver Hunt <oliver (a] apple.com> 23707 23708 rs=hyatt. 23709 23710 Stubs to prevent build bustage 23711 23712 * platform/win/DragDataWin.cpp: 23713 (WebCore::DragData::containsFiles): 23714 (WebCore::DragData::asFilenames): 23715 23716 2007-05-11 Darin Adler <darin (a] apple.com> 23717 23718 * WebCore.vcproj/WebCore.vcproj: Added new RenderWordBreak.cpp/h files. 23719 23720 2007-05-10 Adele Peterson <adele (a] apple.com> 23721 23722 Reviewed by Hyatt. 23723 23724 * bridge/win/FrameWin.cpp: 23725 (WebCore::imageFromSelection): Updated to use selectionRect instead of visibleSelectionRect 23726 23727 2007-05-08 Steve Falkenburg <sfalken (a] apple.com> 23728 23729 Rubber-stamped by Geoff. 23730 23731 Moved shared EditorWin code to Editor.cpp in open source. 23732 23733 * platform/win/EditorWin.cpp: Deleted (moved) most of this file. 23734 23735 2007-05-08 Steve Falkenburg <sfalken (a] apple.com> 23736 23737 Reviewed by Darin, Oliver. 23738 23739 Removed localized string stubs. 23740 23741 * platform/win/TemporaryLinkStubs.cpp: 23742 23743 2007-05-08 Steve Falkenburg <sfalken (a] apple.com> 23744 23745 Reviewed by Ada. 23746 23747 Updated for new editor interface. 23748 23749 * platform/win/EditorWin.cpp: 23750 (WebCore::Editor::advanceToNextMisspelling): 23751 (WebCore::isRangeUngrammatical): 23752 23753 2007-05-07 Alice Liu <alice.liu (a] apple.com> 23754 23755 Reviewed by Oliver. 23756 23757 Fixed <rdar://5087119> Paste fidelity isn't as good as it is on the mac 23758 and <rdar://5087118> Plain text copy/paste yields bad line endings on Boomer 23759 and re-organized standalone functions in DragDataWin.cpp and PasteboardWin.cpp 23760 into ClipboardUtilitiesWin.h/cpp. 23761 23762 * WebCore.vcproj/WebCore.vcproj: 23763 * platform/win/ClipboardUtilitiesWin.cpp: Added. 23764 (WebCore::cfHDropFormat): 23765 (WebCore::getWebLocData): 23766 (WebCore::extractURL): 23767 (WebCore::texthtmlFormat): 23768 (WebCore::createGlobalData): 23769 (WebCore::markupToCF_HTML): 23770 (WebCore::urlToMarkup): 23771 (WebCore::replaceNewlinesWithWindowsStyleNewlines): 23772 (WebCore::replaceNBSPWithSpace): 23773 (WebCore::urlWFormat): 23774 (WebCore::urlFormat): 23775 (WebCore::plainTextFormat): 23776 (WebCore::plainTextWFormat): 23777 (WebCore::filenameWFormat): 23778 (WebCore::filenameFormat): 23779 (WebCore::htmlFormat): 23780 (WebCore::getURL): 23781 (WebCore::getPlainText): 23782 (WebCore::fragmentFromFilenames): 23783 (WebCore::containsFilenames): 23784 (WebCore::fragmentFromCF_HTML): 23785 (WebCore::fragmentFromHTML): 23786 (WebCore::containsHTML): 23787 * platform/win/ClipboardUtilitiesWin.h: Added. 23788 * platform/win/ClipboardWin.cpp: 23789 (WebCore::ClipboardWin::writeRange): 23790 * platform/win/DragDataWin.cpp: 23791 * platform/win/PasteboardWin.cpp: 23792 (WebCore::Pasteboard::writeSelection): 23793 (WebCore::Pasteboard::documentFragment): 23794 23795 2007-05-04 Steve Falkenburg <sfalken (a] apple.com> 23796 23797 Reviewed by Darin. 23798 23799 Fix crash when using "check spelling while typing". 23800 23801 * WebCore.vcproj/WebCore.vcproj: Added TextBreakIteratorInternalICUWin.cpp 23802 * platform/win/TemporaryLinkStubs.cpp: Removed findSentenceBoundary, findNextSentenceFromIndex. 23803 23804 2007-05-04 Alice Liu <alice.liu (a] apple.com> 23805 23806 Reviewed by Darin. 23807 23808 changed use of DeprecatedString::fromUTF8 to UTF8Encoding().decode() 23809 23810 * platform/win/DragDataWin.cpp: 23811 (WebCore::fragmentFromHTML): 23812 * platform/win/PasteboardWin.cpp: 23813 (WebCore::Pasteboard::documentFragment): 23814 23815 2007-05-03 Steve Falkenburg <sfalken (a] apple.com> 23816 23817 Reviewed by Ada, Oliver. 23818 23819 Checkpoint: 23820 <rdar://problem/4602372> Spelling 23821 <rdar://problem/4769763> Spell checking engine support 23822 23823 * platform/win/EditorWin.cpp: 23824 (WebCore::findFirstBadGrammarInRange): Account for start offset when reporting bad grammar range (fixed my porting mistake). 23825 (WebCore::Editor::advanceToNextMisspelling): Include user description with spelling error. 23826 (WebCore::isRangeUngrammatical): Include user description with spelling error. 23827 23828 2007-05-03 Alice Liu <alice.liu (a] apple.com> 23829 23830 Reviewed by Oliver. 23831 23832 Fixed <rdar://5181466> HTML formatted clipboard data is not converted from UTF8 when pasted 23833 23834 * platform/win/DragDataWin.cpp: 23835 (WebCore::fragmentFromHTML): 23836 * platform/win/PasteboardWin.cpp: 23837 (WebCore::fragmentFromCF_HTML): 23838 (WebCore::Pasteboard::documentFragment): 23839 23840 2007-05-03 Oliver Hunt <oliver (a] apple.com> 23841 23842 Reviewed by Steve 23843 23844 Fix misuse of GlobalLock. 23845 23846 * platform/win/PasteboardWin.cpp: 23847 (WebCore::createGlobalData): 23848 23849 2007-05-03 Oliver Hunt <oliver (a] apple.com> 23850 23851 Reviewed by Steve. 23852 23853 Add logic to draw underlines for grammar and spelling errors. 23854 (rdar://problem/4769832) 23855 23856 * platform/win/GraphicsContextWin.cpp: 23857 (WebCore::spellingPatternColor): 23858 (WebCore::grammarPatternColor): 23859 Can't define global const with constructor so use function scoped globals instead. 23860 (WebCore::setCGStrokeColor): 23861 Utility function pulled over from GraphicsContextCG 23862 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 23863 23864 * platform/win/TemporaryLinkStubs.cpp: 23865 Remove old drawLineForMisspellingOrBadGrammar stub 23866 23867 2007-05-01 Steve Falkenburg <sfalken (a] apple.com> 23868 23869 Reviewed by Oliver. 23870 23871 Fix crash when retrieving title of context menu after it has been selected. 23872 Necessary to get spelling corrections code working. 23873 23874 * platform/win/ContextMenuWin.cpp: 23875 (WebCore::ContextMenu::itemWithAction): menu item info fType is a set of flags, MFT_STRING is 0, so we need to or off flags before comparing. 23876 23877 2007-04-29 Adam Roben <aroben (a] apple.com> 23878 23879 Build fix after r21183. 23880 23881 * WebCore.vcproj/WebCore.vcproj: Added LayoutState.(h|cpp). 23882 23883 2007-04-29 Oliver Hunt <oliver (a] apple.com> 23884 23885 Reviewed by Steve. 23886 23887 Fix for <rdar://problem/5126393> REGRESSION (r19672-19697): Safari drag image drags at original size (13261) 23888 23889 Prevent build bustage from opensource changes, correct scaling 23890 23891 * platform/win/DragImageWin.cpp: 23892 (WebCore::scaleDragImage): 23893 23894 2007-04-24 Steve Falkenburg <sfalken (a] apple.com> 23895 23896 Reviewed by Darin, Oliver. 23897 23898 Checkpoint: 23899 <rdar://problem/4602372> Spelling 23900 <rdar://problem/4769763> Spell checking engine support 23901 23902 Ported code from EditorMac.mm into EditorWin.cpp. 23903 Once this works, I'll move this code into Editor.cpp and remove it 23904 form EditorMac.mm. 23905 23906 * platform/win/EditorWin.cpp: 23907 (WebCore::Editor::ignoreSpelling): 23908 (WebCore::Editor::learnSpelling): 23909 (WebCore::findFirstMisspellingInRange): 23910 (WebCore::paragraphAlignedRangeForRange): 23911 (WebCore::findFirstGrammarDetailInRange): 23912 (WebCore::findFirstBadGrammarInRange): 23913 (WebCore::Editor::advanceToNextMisspelling): 23914 (WebCore::Editor::isSelectionMisspelled): 23915 (WebCore::isRangeUngrammatical): 23916 (WebCore::Editor::isSelectionUngrammatical): 23917 (WebCore::Editor::guessesForUngrammaticalSelection): 23918 (WebCore::Editor::guessesForMisspelledSelection): 23919 (WebCore::Editor::showSpellingGuessPanel): 23920 (WebCore::Editor::spellingPanelIsShowing): 23921 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 23922 (WebCore::markAllMisspellingsInRange): 23923 (WebCore::markAllBadGrammarInRange): 23924 (WebCore::markMisspellingsOrBadGrammar): 23925 (WebCore::Editor::markMisspellings): 23926 (WebCore::Editor::markBadGrammar): 23927 * platform/win/TemporaryLinkStubs.cpp: 23928 23929 2007-04-23 Anders Carlsson <andersca (a] apple.com> 23930 23931 Reviewed by Ada. 23932 23933 <rdar://problem/5061022> 23934 REGRESSION: Acrobat 8 plug-in fails to scroll with trackpad two-finger scroll or mouse wheel (12995) 23935 23936 * page/win/EventHandlerWin.cpp: 23937 (WebCore::EventHandler::passWheelEventToWidget): 23938 Get rid of passWheelEventToSubframe and pass wheel events to all widgets. 23939 23940 2007-04-23 Adam Roben <aroben (a] apple.com> 23941 23942 Build fix. 23943 23944 * page/win/EventHandlerWin.cpp: Removed passWheelEventToSubframe. 23945 23946 2007-04-20 Beth Dakin <bdakin (a] apple.com> 23947 23948 Reviewed by Adam. 23949 23950 Fix for <rdar://problem/5089822> Boomer does not send scroll events 23951 23952 * platform/win/ScrollViewWin.cpp: 23953 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 23954 23955 2007-04-19 Adam Roben <aroben (a] apple.com> 23956 23957 * WebCore.vcproj/WebCore.vcproj: Removed empty filter. 23958 23959 2007-04-19 Adam Roben <aroben (a] apple.com> 23960 23961 * WebCore.vcproj/WebCore.vcproj: Removed unused files. 23962 23963 2007-04-18 Adam Roben <aroben (a] apple.com> 23964 23965 Reviewed by Oliver. 23966 23967 Added an equality operator to COMPtr. 23968 23969 * platform/win/COMPtr.h: 23970 (operator==): 23971 (operator!=): 23972 23973 2007-04-18 Oliver Hunt <oliver (a] apple.com> 23974 23975 Reviewed by Geoff. 23976 23977 Allow images to be dragged from page and dropped as files. 23978 This is the remainder of the fix for <rdar://problem/5035948> 23979 -- Dragging image or link from boomer doesn't create webloc 23980 or image file. 23981 23982 * platform/win/ClipboardWin.cpp: 23983 (WebCore::filesystemPathFromUrlOrTitle): 23984 Make name generation nicer, and better match Firefox 23985 23986 (WebCore::createGlobalURLContent): 23987 rename function 23988 23989 (WebCore::createGlobalImageFileContent): 23990 Copies image data into global store 23991 23992 (WebCore::createGlobalUrlFileDescriptor): 23993 Rename function 23994 Updated for parameter change on filesystemPathFromUrlOrTitle 23995 23996 (WebCore::createGlobalImageFileDescriptor): 23997 Set up file descriptor for image drag 23998 23999 (WebCore::getCachedImage): 24000 Helper function 24001 24002 (WebCore::writeImageToDataObject): 24003 Attempts to build and insert data for image->file drag 24004 24005 (WebCore::ClipboardWin::declareAndWriteDragImage): 24006 Attempts to build and insert data for image->file drag 24007 24008 (WebCore::ClipboardWin::writeURL): 24009 Add call to imageDataToDataObject 24010 24011 2007-04-17 Adam Roben <aroben (a] apple.com> 24012 24013 Rubberstamped by Oliver. 24014 24015 * platform/network/cf/ResourceHandleCFNet.cpp: Removed an unnecessary 24016 include. 24017 24018 2007-04-17 Oliver Hunt <oliver (a] apple.com> 24019 24020 Whoops, had code commented out from manual failure test. 24021 Also fixed date of previous changelog entry 24022 24023 * platform/win/ClipboardWin.cpp: 24024 (WebCore::writeFileToDataObject): 24025 24026 2007-04-17 Oliver Hunt <oliver (a] apple.com> 24027 24028 Reviewed by Ada. 24029 24030 Partial fix for <rdar://problem/5035948> -- Dragging image 24031 or link from boomer doesn't create webloc or image file. 24032 24033 Add all the ground work to set up FileDescriptors and FileContent 24034 for allowing files to be created from drag and drop actions, 24035 and hook up logic for links to create WebLoc data for drag and drop. 24036 24037 * platform/win/ClipboardWin.cpp: 24038 (WebCore::fileDescriptorFormat): 24039 (WebCore::fileContentFormat): 24040 Clipboard formats 24041 24042 (WebCore::pathRemoveBadFSCharacters): 24043 (WebCore::filesystemPathFromUrlOrTitle): 24044 Helper functions for create filenames 24045 24046 (WebCore::createGlobalDataForURLContent): 24047 Create the WebLoc content 24048 24049 (WebCore::createGlobalDataForUrlFileDescriptor): 24050 Create a file descriptor for the WebLoc data 24051 24052 (WebCore::writeFileToDataObject): 24053 Basic helper function to push generated file info 24054 into the target DataObject 24055 24056 (WebCore::ClipboardWin::writeURL): 24057 Now puts WebLoc file onto the Clipboard 24058 24059 2007-04-16 Adam Roben <aroben (a] apple.com> 24060 24061 Reviewed by Adele. 24062 24063 Fix <rdar://problem/5002577> Focus ring SPI in GraphicsContextWin.cpp 24064 needs to move to WebKitSystemInterface 24065 24066 * platform/win/GraphicsContextWin.cpp: 24067 (WebCore::GraphicsContext::drawFocusRing): Use wkDrawFocusRing. 24068 24069 2007-04-14 Adam Roben <aroben (a] apple.com> 24070 24071 * WebCore.vcproj/WebCore.submit.sln: Use the Debug_Internal 24072 configuration. 24073 24074 2007-04-14 Adam Roben <aroben (a] apple.com> 24075 24076 Small correctness fix that is needed for building OpenSource. 24077 24078 * platform/win/PopupMenuWin.cpp: Use RenderTheme instead of RenderThemeWin. 24079 24080 2007-04-13 Adam Roben <aroben (a] apple.com> 24081 24082 Reviewed by Tim. 24083 24084 Sync our config.h with the OpenSource version so we can merge ours in 24085 later. 24086 24087 * config.h: Added #defines from the OpenSource version, moved 24088 Windows-specific defines inside #if PLATFORM(WIN[_OS]), and got rid 24089 of assert.h 24090 * platform/win/CursorWin.cpp: 24091 (WebCore::Cursor::Cursor): Use ASSERT instead of assert. 24092 24093 2007-04-13 Adam Roben <aroben (a] apple.com> 24094 24095 Rubberstamped by Tim. 24096 24097 Removed the loader/win directory since it only contains empty files. 24098 24099 * WebCore.vcproj/WebCore.vcproj: Removed empty files. 24100 * loader/win/FrameLoaderWin.cpp: Removed. 24101 * loader/win/ResourceLoaderWin.cpp: Removed. 24102 24103 2007-04-12 Adam Roben <aroben (a] apple.com> 24104 24105 Rubberstamped by Steve. 24106 24107 Removed unused file. 24108 24109 * WebCore.vcproj/WebCore.sln: Removed. 24110 24111 2007-04-12 Adam Roben <aroben (a] apple.com> 24112 24113 Didn't mean to commit this. 24114 24115 * WebCore.vcproj/WebCore.vcproj: 24116 24117 2007-04-12 Adam Roben <aroben (a] apple.com> 24118 24119 Reviewed by Steve. 24120 24121 <rdar://problem/5131565> Need to be able to use debug WebKit with 24122 release Safari. 24123 24124 * WebCore.vcproj/WebCore.vcproj: 24125 * WebCore.vcproj/debug.vsprops: 24126 * WebCore.vcproj/debug_internal.vsprops: Added. 24127 * WebCore.vcproj/release.vsprops: 24128 24129 2007-04-11 Adam Roben <aroben (a] apple.com> 24130 24131 Reviewed by Tim. 24132 24133 Get rid of FrameViewWin.cpp, since it's empty. 24134 24135 * WebCore.vcproj/WebCore.vcproj: 24136 * bridge/win/FrameViewWin.cpp: Removed. 24137 24138 2007-04-11 Adam Roben <aroben (a] apple.com> 24139 24140 Reviewed by Anders. 24141 24142 Update for changes to Pasteboard. 24143 24144 * platform/win/PasteboardWin.cpp: 24145 (WebCore::Pasteboard::writeImage): 24146 24147 2007-04-10 Brady Eidson <beidson (a] apple.com> 24148 24149 Reviewed by Darin 24150 24151 <rdar://problem/4887095> - PageCache and PageState should be combined 24152 24153 Changed a TemporaryLinkStub and updated the project file 24154 24155 * WebCore.vcproj/WebCore.vcproj: 24156 * platform/win/TemporaryLinkStubs.cpp: 24157 (CachedPage::close): 24158 24159 2007-04-10 John Sullivan <sullivan (a] apple.com> 24160 24161 * platform/win/TemporaryLinkStubs.cpp: 24162 (WebCore::Editor::markBadGrammar): 24163 Keep build going: added stub for this new method 24164 24165 2007-04-10 Anders Carlsson <andersca (a] apple.com> 24166 24167 Reviewed by Adam. 24168 24169 <rdar://problem/5056988> 24170 Can not open player on http://radioalice.com 24171 24172 Fix scriptStringIfJavaScriptURL to not use the path of the URL. This would ignore any characters past 24173 a '?' character because that would be parsed as the query part of the URL. 24174 24175 * plugins/win/PluginViewWin.cpp: 24176 (WebCore::scriptStringIfJavaScriptURL): 24177 Make this be more like the mac, chopping off the first 12 characters ("javascript:") 24178 and then decoding the remaining characters. 24179 24180 2007-04-10 Anders Carlsson <acarlsson (a] apple.com> 24181 24182 * plugins/win/PluginViewWin.cpp: 24183 (WebCore::PluginViewWin::PluginViewWin): 24184 Initialize m_status. 24185 24186 2007-04-09 Anders Carlsson <acarlsson (a] apple.com> 24187 24188 Reviewed by Adam. 24189 24190 <rdar://problem/5062624> 24191 No prompt to install QT for pages with uninstalled QT plug-in. 24192 24193 Add a status() accessor to PluginViewWin. This can be used by WebKit to find out if the plug-in 24194 loaded successfully or not. 24195 24196 * plugins/win/PluginViewWin.cpp: 24197 (WebCore::PluginViewWin::PluginViewWin): 24198 (WebCore::PluginViewWin::init): 24199 * plugins/win/PluginViewWin.h: 24200 (WebCore::): 24201 (WebCore::PluginViewWin::status): 24202 24203 2007-04-09 Brady Eidson <beidson (a] apple.com> 24204 24205 Build fix 24206 24207 * plugins/win/PluginViewWin.cpp: 24208 (WebCore::PluginViewWin::performRequest): assume userGesture is true 24209 24210 2007-04-09 Adam Roben <aroben (a] apple.com> 24211 24212 Build fix. 24213 24214 * platform/win/PasteboardWin.cpp: 24215 (WebCore::Pasteboard::writeImage): 24216 24217 2007-04-08 Adam Roben <aroben (a] apple.com> 24218 24219 Reviewed by Oliver. 24220 24221 Stubbed out Frame::dashboardRegionsChanged now that it's not 24222 Mac-specific. 24223 24224 * bridge/win/FrameWin.cpp: 24225 (WebCore::Frame::dashboardRegionsChanged): 24226 24227 2007-04-06 Oliver Hunt <oliver (a] apple.com> 24228 24229 Reviewed by Adam. 24230 24231 Fix for rdar://problem/5097227 Can't drag Flash-based 24232 scrollbar on mtv.com 24233 24234 The problem was when creating a mouse move event for the 24235 plugin we weren't passing on the mouse button state. 24236 24237 The opensource side of this patch adds logic that allows 24238 us to distinguish between a MouseEvent with NoButton and 24239 a MouseEvent with LeftButton, so we can then provide the 24240 correct information to the plugin. 24241 24242 * plugins/win/PluginViewWin.cpp: 24243 (WebCore::PluginViewWin::handleMouseEvent): 24244 24245 2007-04-06 Dave Hyatt <hyatt (a] apple.com> 24246 24247 Internal side of fix for bug 13274. 24248 24249 Reviewed by olliej 24250 24251 * page/win/EventHandlerWin.cpp: 24252 (WebCore::EventHandler::passMousePressEventToSubframe): 24253 * platform/win/PlatformScrollBarSafari.cpp: 24254 (WebCore::PlatformScrollbar::handleMousePressEvent): 24255 * platform/win/PopupMenuWin.cpp: 24256 (WebCore::PopupMenu::PopupMenu): 24257 (WebCore::PopupWndProc): 24258 * platform/win/ScrollViewWin.cpp: 24259 (WebCore::ScrollView::removeChild): 24260 * platform/win/WidgetWin.cpp: 24261 24262 2007-04-07 Mark Rowe <mrowe (a] apple.com> 24263 24264 Internal build fox after opensource r20753. 24265 24266 * platform/win/PlatformMouseEventWin.cpp: 24267 * platform/win/TemporaryLinkStubs.cpp: 24268 24269 2007-04-03 Oliver Hunt <oliver (a] apple.com> 24270 24271 Buildfix 24272 24273 * platform/network/cf/ResourceResponseCFNet.cpp: 24274 (WebCore::ResourceResponse::doUpdateResourceResponse): 24275 Adding .get() calls 24276 24277 2007-04-03 Maciej Stachowiak <mjs (a] apple.com> 24278 24279 Reviewed by Alice. 24280 24281 - fixed <rdar://problem/5107069> WebCore leaks a copy of the CFHTTPMessage CFDictionary (from CFHTTPMessageCopyAllHeaderFields) 24282 24283 * platform/network/cf/ResourceResponseCFNet.cpp: 24284 (WebCore::ResourceResponse::doUpdateResourceResponse): Use RetainPtr (once to avoid a leak and once 24285 just as style cleanup). 24286 24287 2007-04-02 Anders Carlsson <andersca (a] apple.com> 24288 24289 Reviewed by Adam. 24290 24291 Fix crashes seen when running the plugin layout tests. 24292 24293 * plugins/win/PluginPackageWin.cpp: 24294 (WebCore::PluginPackageWin::load): 24295 Fill in the enumerate pointer, not the evaluate pointer (it's already been filled in). 24296 24297 * plugins/win/PluginStreamWin.cpp: 24298 (WebCore::PluginStreamWin::didFinishLoading): 24299 Handle the case where there was no plugin stream data at all. 24300 24301 2007-04-02 Anders Carlsson <andersca (a] apple.com> 24302 24303 Reviewed by Darin. 24304 24305 Check that NPStream pointers passed to NPN_DestroyStream are valid. 24306 24307 * plugins/win/PluginStreamWin.cpp: 24308 (WebCore::streams): 24309 (WebCore::PluginStreamWin::PluginStreamWin): 24310 (WebCore::PluginStreamWin::~PluginStreamWin): 24311 (WebCore::PluginStreamWin::ownerForStream): 24312 * plugins/win/PluginStreamWin.h: 24313 * plugins/win/PluginViewWin.cpp: 24314 (WebCore::PluginViewWin::destroyStream): 24315 24316 2007-04-02 Anders Carlsson <andersca (a] apple.com> 24317 24318 Reviewed by Darin. 24319 24320 <rdar://problem/5095582> 24321 PluginViewWin doesn't implement NPN_DestroyStream. 24322 24323 * plugins/win/PluginStreamWin.cpp: 24324 (WebCore::PluginStreamWin::startStream): 24325 Handle the case where NPN_DestroyStream is called from the newstream handler. 24326 24327 * plugins/win/PluginViewWin.cpp: 24328 (WebCore::PluginViewWin::destroyStream): 24329 Implement this. 24330 24331 2007-04-02 Anders Carlsson <andersca (a] apple.com> 24332 24333 Reviewed by Dave Hyatt. 24334 24335 <rdar://problem/5097225> 24336 Mouse cursors don't work with windowless plugins 24337 24338 * platform/win/WidgetWin.cpp: 24339 (WebCore::Widget::setCursor): 24340 Add an "ignoreNextSetCursor" boolean and don't call SetCursor if it's true. 24341 24342 * plugins/win/PluginViewWin.cpp: 24343 (WebCore::PluginViewWin::handleMouseEvent): 24344 Store away the current cursor and make sure that it won't be reset. 24345 24346 2007-04-02 Anders Carlsson <andersca (a] apple.com> 24347 24348 Reviewed by Adam. 24349 24350 Fix logic in windowless paint functions. 24351 24352 * plugins/win/PluginViewWin.cpp: 24353 (WebCore::PluginViewWin::invalidateRect): 24354 (WebCore::PluginViewWin::invalidateRegion): 24355 (WebCore::PluginViewWin::forceRedraw): 24356 24357 2007-03-31 Dave Hyatt <hyatt (a] apple.com> 24358 24359 Internal side of 13234. Open source side was reviewed by 24360 Mitz. Layout of justified text was broken when dragged or 24361 when a ::selection style was in effect. 24362 24363 * platform/win/FontWin.cpp: 24364 (WebCore::Font::selectionRectForComplexText): 24365 (WebCore::Font::drawComplexText): 24366 (WebCore::Font::floatWidthForComplexText): 24367 * platform/win/UniscribeController.cpp: 24368 (WebCore::UniscribeController::UniscribeController): 24369 (WebCore::UniscribeController::offsetForPosition): 24370 * platform/win/UniscribeController.h: 24371 * platform/win/WebCoreTextRenderer.cpp: 24372 (WebCore::doDrawTextAtPoint): 24373 24374 2007-03-30 Anders Carlsson <andersca (a] apple.com> 24375 24376 Reviewed by Geoff. 24377 24378 * plugins/win/PluginDatabaseWin.cpp: 24379 (WebCore::PluginDatabaseWin::addExtraPluginPath): 24380 * plugins/win/PluginDatabaseWin.h: 24381 New function for adding an extra plugin path, to be used by DRT. 24382 24383 * plugins/win/PluginPackageWin.cpp: 24384 (WebCore::PluginPackageWin::load): 24385 Set the current directory tho the plugin directory while loading the plugin. Add new NPN callbacks. 24386 24387 * plugins/win/PluginViewWin.cpp: 24388 (WebCore::PluginViewWin::invalidateRect): 24389 (WebCore::PluginViewWin::invalidateRegion): 24390 (WebCore::PluginViewWin::forceRedraw): 24391 Don't do anything if the plugin is windowed. 24392 24393 * plugins/win/npapi.cpp: 24394 (NPN_PushPopupsEnabledState): 24395 (NPN_PopPopupsEnabledState): 24396 Add stubs. 24397 24398 * plugins/win/npfunctions.h: 24399 Add new methods and merge some fixes from the open source version. 24400 24401 2007-03-29 Dave Hyatt <hyatt (a] apple.com> 24402 24403 Enable CG's local font cache. rdar://problem/5070005 24404 24405 Reviewed by aroben 24406 24407 * platform/win/FontCacheWin.cpp: 24408 (WebCore::FontCache::platformInit): 24409 24410 2007-03-28 Maciej Stachowiak <mjs (a] apple.com> 24411 24412 Reviewed by Darin. 24413 24414 - updates for <rdar://problem/4820817> Autoscroll is broken in Mail.app (message jumps around when trying to select text) 24415 24416 24417 * platform/win/ScrollViewWin.cpp: 24418 (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): 24419 (WebCore::ScrollView::scrollRectIntoViewRecursively): 24420 24421 2007-03-27 Dave Hyatt <hyatt (a] apple.com> 24422 24423 Fix for 5090964, arabic text is all jumbled in list boxes and popup menus (and in the 24424 Boomer app too). The fallback font was not the right size because the font you're mapping 24425 from had to be selected into the HDC first. 24426 24427 Reviewed by ggaren 24428 24429 * ChangeLog: 24430 * platform/win/FontCacheWin.cpp: 24431 (WebCore::FontCache::getFontDataForCharacters): 24432 24433 2007-03-27 Geoffrey Garen <ggaren (a] apple.com> 24434 24435 Reviewed by Anders Carlsson. 24436 24437 Fixed <rdar://problem/5085076> WebView stops painting after 24438 loading stand-alone netflix movie preview in WMP format 24439 24440 The stand-alone WMP plug-in seems to do all its drawing in 24441 the WM_ERASEBKGN phase, not the WM_PAINT phase, so our 24442 InvalidateRect call for plug-in windows needs to specify 24443 'true' for whether the background region should be erased. 24444 24445 A smart plug-in that wants to avoid background draws can 24446 still do so by just returning 1 in response to WM_ERASEBKGN, 24447 or by setting its background brush to NULL. 24448 24449 * plugins/win/PluginViewWin.cpp: 24450 (WebCore::PluginViewWin::updateWindow): 24451 24452 2007-03-27 Anders Carlsson <acarlsson (a] apple.com> 24453 24454 Reviewed by Maciej. 24455 24456 <rdar://problem/5091459> 24457 Crash when destroying "null plugin" 24458 24459 <rdar://problem/5056845> 24460 Invoking itunes page has missing plugin icon on it 24461 24462 * plugins/win/PluginViewWin.cpp: 24463 (WebCore::PluginViewWin::paintMissingPluginIcon): 24464 Clip before painting. 24465 24466 (WebCore::freeStringArray): 24467 Add null-check. 24468 24469 (WebCore::PluginViewWin::PluginViewWin): 24470 Initialize plugin names and values. 24471 24472 2007-03-27 Dave Hyatt <hyatt (a] apple.com> 24473 24474 Add support for glyph offsets to the GlyphBuffer. 24475 24476 Reviewed by olliej 24477 24478 * platform/win/FontWin.cpp: 24479 (WebCore::Font::drawGlyphs): 24480 * platform/win/UniscribeController.cpp: 24481 (WebCore::UniscribeController::shapeAndPlaceItem): 24482 24483 2007-03-26 Antti Koivisto <antti (a] apple.com> 24484 24485 Reviewed by Darin. 24486 24487 Initialize new m_isContinuous field in WheelEvent 24488 24489 * platform/win/WheelEventWin.cpp: 24490 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 24491 24492 2007-03-27 Dave Hyatt <hyatt (a] apple.com> 24493 24494 Enable complex text. Selection and small-caps support are now enabled with this patch. 24495 24496 Reviewed by aroben 24497 24498 * platform/win/FontWin.cpp: 24499 (WebCore::Font::selectionRectForComplexText): 24500 (WebCore::Font::drawComplexText): 24501 (WebCore::Font::floatWidthForComplexText): 24502 (WebCore::Font::offsetForPositionForComplexText): 24503 * platform/win/UniscribeController.cpp: 24504 (WebCore::UniscribeController::UniscribeController): 24505 (WebCore::UniscribeController::floatWidth): 24506 (WebCore::UniscribeController::offsetForPosition): 24507 (WebCore::UniscribeController::advance): 24508 (WebCore::UniscribeController::itemizeShapeAndPlace): 24509 (WebCore::UniscribeController::shapeAndPlaceItem): 24510 * platform/win/UniscribeController.h: 24511 (WebCore::UniscribeController::runWidthSoFar): 24512 24513 2007-03-26 Adele Peterson <adele (a] apple.com> 24514 24515 Reviewed by Adam. 24516 24517 Fix for <rdar://problem/5088844> Popup menu is not positioned correctly on a yahoo comics page 24518 24519 Fixes test: fast/forms/control-restrict-line-height.html 24520 24521 This change was made in RenderThemeMac a while ago, and will fix the line height for aqua popup buttons, 24522 buttons and search fields. 24523 24524 * rendering/RenderThemeSafari.cpp: WebCore::RenderThemeSafari::setFontFromControlSize): 24525 Don't honor line-height for controls that have restricted font size. 24526 24527 2007-03-25 Brady Eidson <beidson (a] apple.com> 24528 24529 Reviewed by Oliver 24530 24531 <rdar://problem/5086888> - WebHistory(Item) Leak 24532 24533 * platform/win/COMPtr.h: 24534 (COMPtr::COMPtr): An an adoptRef constructor 24535 24536 2007-03-24 Adam Roben <aroben (a] apple.com> 24537 24538 Reviewed by Maciej. 24539 24540 Fix <rdar://problem/5076610> Crash in PluginViewWin::updateWindow when 24541 loading a PDF page for the first time after installing Acrobat Reader 24542 24543 Don't call PluginPackageWin::load() until the PluginViewWin has been 24544 inserted into the Widget tree. load() can result in arbitrary code 24545 execution (in this case, a EULA window appears which takes focus from 24546 the WebView, causing Frame::setIsActive(false) to be called), and we 24547 don't want to be in a transitional state when that happens. 24548 24549 * plugins/win/PluginDatabaseWin.cpp: 24550 (WebCore::PluginDatabaseWin::createPluginView): Call PluginViewWin's 24551 one and only constructor. 24552 * plugins/win/PluginViewWin.cpp: 24553 (WebCore::PluginViewWin::setParent): Call init() after inserting 24554 ourselves into the Widget tree. 24555 (WebCore::PluginViewWin::PluginViewWin): Defer all real work until 24556 init() is called. 24557 (WebCore::PluginViewWin::init): Added. Calls m_plugin->load(), then 24558 does the rest of the work that was once done by the constructor. 24559 * plugins/win/PluginViewWin.h: Removed createNullPlugin and simplified 24560 constructor, added setParent override and new init method. 24561 24562 2007-03-24 Brady Eidson <beidson (a] apple.com> 24563 24564 Reviewed by Adam 24565 24566 <rdar://problem/5086210> - Move RetainPtr to WTF for WebKitWin and the App 24567 24568 * WebCore.vcproj/WebCore.vcproj: Add the ForwardingHeader to the vcprojs 24569 24570 2007-03-23 Adele Peterson <adele (a] apple.com> 24571 24572 Reviewed by Maciej. 24573 24574 Fix for <rdar://problem/5083928> In editable webviews, caps lock key is ignored 24575 24576 * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 24577 Removed code to store lowercase characters in m_text. Now that we use the character code 24578 to create m_text this is already taken care of. This does mean that m_unmodifiedText is 24579 not right. This is used for accesskeys, which don't work yet, so that is covered in rdar://5085596. 24580 This also fixes line endings in this file. 24581 24582 2007-03-22 Geoffrey Garen <ggaren (a] apple.com> 24583 24584 Reviewed by Adam Roben. 24585 24586 Fixed <rdar://problem/5082985> Select menus are too see-through 24587 24588 Upped alpha value from 90 to 95. Menus will still seem a little 24589 more see-through than on the mac, since their backgrounds are 24590 white, not grey, but white matches other Windows browsers. 24591 24592 * ChangeLog: 24593 * platform/win/PopupMenuWin.cpp: 24594 24595 2007-03-22 Anders Carlsson <acarlsson (a] apple.com> 24596 24597 Reviewed by Maciej. 24598 24599 <rdar://problem/5081539> 24600 QT content is dupped on a page, if page is being previewed or printed. 24601 24602 Don't update the frame geometry if the document is in printing mode. 24603 24604 * plugins/win/PluginViewWin.cpp: 24605 (WebCore::PluginViewWin::setFrameGeometry): 24606 24607 2007-03-22 Beth Dakin <bdakin (a] apple.com> 24608 24609 Fix by Hyatt, reviewed and committed by me. 24610 24611 Fix for <rdar://problem/5082360> Incomplete frame paint when 24612 shrinking window @ google.com 24613 24614 * platform/win/ScrollViewWin.cpp: 24615 (WebCore::ScrollView::setFrameGeometry): Wrong order! 24616 24617 2007-03-22 Dave Hyatt <hyatt (a] apple.com> 24618 24619 Fix for crasher in layout caused by paints that happen without layout being current. Change to be 24620 more like the Mac and crawl the frame tree up front ensuring everyone is up to date before painting. 24621 24622 Reviewed by olliej 24623 24624 * platform/win/ScrollViewWin.cpp: 24625 (WebCore::ScrollView::setFrameGeometry): 24626 (WebCore::ScrollView::children): 24627 (WebCore::ScrollView::geometryChanged): 24628 24629 2007-03-22 Dave Hyatt <hyatt (a] apple.com> 24630 24631 Fix for mouse wheel issues. Only return success from passWheelEventToSubframe is the event was 24632 actually accepted. 24633 24634 * page/win/EventHandlerWin.cpp: 24635 (WebCore::EventHandler::passWheelEventToSubframe): 24636 24637 2007-03-21 Dave Hyatt <hyatt (a] apple.com> 24638 24639 Fix numerous bugs in RTL support. Only use a directional override if the run 24640 tells us to. Uniscribe will give incorrect results when measuring RTL runs as LTR if the 24641 directional override is set. Switch from logical order for glyphs to visual order 24642 instead. This is more similar to ATSUI (less similar to the fast code path, which always uses 24643 logical ordering for glyph generation). Using visual ordering forces a lot of games to be played 24644 (have to walk the script items in backwards order for RTL for example), but Uniscribe does not combine 24645 glyphs properly if visual ordering is not used. 24646 24647 Add support for justification, letter-spacing, word-spacing and rounding hacks. The CG vs. ATSUI layout 24648 test now passes with identical results to the Mac. The ATSUI spacing features layout test now 24649 generates correct results (although they are different from the Mac because we fall back to Arial for 24650 Hebrew instead of Lucida Grande). 24651 24652 Reviewed by oliver 24653 24654 * platform/win/UniscribeController.cpp: 24655 (WebCore::UniscribeController::UniscribeController): 24656 (WebCore::UniscribeController::resetControlAndState): 24657 (WebCore::UniscribeController::shapeAndPlaceItem): 24658 (WebCore::UniscribeController::shape): 24659 * platform/win/UniscribeController.h: 24660 24661 2007-03-20 Adam Roben <aroben (a] apple.com> 24662 24663 Reviewed by Ada. 24664 24665 Added null-checks for ResourceHandle::cookieStorage() before passing it 24666 into CFNetwork functions, which are not null-safe. 24667 24668 * platform/network/win/CookieJarWin.cpp: 24669 (WebCore::setCookies): 24670 (WebCore::cookies): 24671 24672 2007-03-20 Adam Roben <aroben (a] apple.com> 24673 24674 Build fix. 24675 24676 * WebCore.vcproj/WebCore.vcproj: Added XPathNodeSet.(cpp|h). 24677 24678 2007-03-20 Adam Roben <aroben (a] apple.com> 24679 24680 Reviewed by Oliver. 24681 24682 Made the metrics of styled selects match those on the Mac to get 24683 fast/forms/001.html passing. 24684 24685 * rendering/RenderThemeSafari.cpp: Use 2px less padding for the 24686 select's arrow since the arrow is 2px wider than on the Mac. 24687 24688 2007-03-20 Adam Roben <aroben (a] apple.com> 24689 24690 Build fix. 24691 24692 * platform/network/cf/ResourceHandleCFNet.cpp: 24693 (WebCore::makeFinalRequest): Fix typo. 24694 24695 2007-03-20 Dave Hyatt <hyatt (a] apple.com> 24696 24697 Land advanced text code path (turned off). 24698 24699 Reviewed by aroben 24700 24701 * WebCore.vcproj/WebCore.vcproj: 24702 * platform/win/FontCacheWin.cpp: 24703 (WebCore::FontCache::createFontPlatformData): 24704 * platform/win/FontDataWin.cpp: 24705 (WebCore::FontData::platformInit): 24706 (WebCore::FontData::platformDestroy): 24707 (WebCore::FontData::smallCapsFontData): 24708 (WebCore::FontData::scriptFontProperties): 24709 * platform/win/FontWin.cpp: 24710 (WebCore::Font::drawComplexText): 24711 (WebCore::Font::floatWidthForComplexText): 24712 (WebCore::Font::offsetForPositionForComplexText): 24713 * platform/win/UniscribeController.cpp: Added. 24714 (WebCore::UniscribeController::UniscribeController): 24715 (WebCore::UniscribeController::resetControlAndState): 24716 (WebCore::UniscribeController::shapeAndPlaceItem): 24717 (WebCore::UniscribeController::shape): 24718 * platform/win/UniscribeController.h: Added. 24719 (WebCore::UniscribeController::width): 24720 (WebCore::UniscribeController::glyphBuffer): 24721 24722 2007-03-20 Anders Carlsson <acarlsson (a] apple.com> 24723 24724 Reviewed by Adam. 24725 24726 <rdar://problem/4921198> 24727 Cookie acceptance policy not settable 24728 24729 * platform/network/cf/ResourceHandleCFNet.cpp: 24730 24731 (WebCore::willSendRequest): 24732 (WebCore::willCacheResponse): 24733 Remove FIXMEs. 24734 24735 (WebCore::makeFinalRequest): 24736 New function that makes a final CFURLRequest depending on cookie policy and whether any 24737 invalid SSL certificates should be ignored. 24738 24739 (WebCore::ResourceHandle::start): 24740 (WebCore::ResourceHandle::loadResourceSynchronously): 24741 Use makeFinalRequest. 24742 24743 (WebCore::ResourceHandle::cookieStorageAcceptPolicy): 24744 (WebCore::ResourceHandle::setCookieStorageAcceptPolicy): 24745 (WebCore::ResourceHandle::cookieStorage): 24746 (WebCore::ResourceHandle::setCookieStorage): 24747 (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate): 24748 New functions for setting cookie policy, the deafult cookie storage and whether invalid 24749 SSL certificates should result in an error. 24750 24751 * platform/network/cf/ResourceRequestCFNet.cpp: 24752 (WebCore::ResourceRequest::doUpdatePlatformRequest): 24753 Set cookie storage, cookie policy and SSL properties. 24754 24755 * platform/network/win/CookieJarWin.cpp: 24756 (WebCore::setCookies): 24757 (WebCore::cookies): 24758 Use same functions as the mac (sorta). 24759 24760 (WebCore::cookiesEnabled): 24761 Implement this. 24762 24763 2007-03-19 Adam Roben <aroben (a] apple.com> 24764 24765 Reviewed by Anders and Darin. 24766 24767 Added JavaScriptStatistics to the project for 24768 <rdar://problems/5071653>. 24769 24770 * WebCore.vcproj/WebCore.vcproj: Added include/pthreads to the include 24771 path, and added JavaScriptStatistics.(cpp|h). 24772 24773 2007-03-18 David Hyatt <hyatt (a] apple.com> 24774 24775 Fix the CSS2 system font for 'menu' to match Mac. Makes the system fonts layout test pass. 24776 24777 * rendering/RenderThemeSafari.cpp: 24778 (WebCore::RenderThemeSafari::systemFont): 24779 24780 2007-03-18 Adam Roben <aroben (a] apple.com> 24781 24782 Reviewed by Hyatt. 24783 24784 Changed the file upload button to say "Choose File" to match Mac. 24785 24786 * platform/win/TemporaryLinkStubs.cpp: 24787 (WebCore::fileButtonChooseFileLabel): 24788 24789 2007-03-18 Geoffrey Garen <ggaren (a] apple.com> 24790 24791 Reviewed by Oliver Hunt. 24792 24793 Fixed <rdar://problem/5061807> STRESS (2): Crash in PlatformScrollbar::setRect 24794 24795 No test case because I can't seem to get the Windows DRT to cooperate. I'll try again tomorrow. 24796 24797 The problem was that the FrameView would try to reset the document's scrollbars after having 24798 been removed from the page, so its page pointer would be NULL. Added NULL checks. 24799 24800 This situation ultimately results from the FrameView's non-trivial destructor, which 24801 creates a fragile dependency on tear-down timing. It looks like the timing on Windows 24802 is slightly different from the timing on Mac. I didn't see any obvious resulting bugs, 24803 though, so the NULL checks should be sufficient for now. 24804 24805 * platform/win/ScrollViewWin.cpp: 24806 (WebCore::ScrollView::windowResizerRect): 24807 (WebCore::ScrollView::addToDirtyRegion): 24808 (WebCore::ScrollView::scrollBackingStore): 24809 (WebCore::ScrollView::updateBackingStore): 24810 24811 2007-03-17 David Hyatt <hyatt (a] apple.com> 24812 24813 The internal side of the patch that ensures Boomer paints twice on ibench. Don't let the timer beat out 24814 that first paint. 24815 24816 Reviewed by aroben 24817 24818 * platform/win/ScrollViewWin.cpp: 24819 (WebCore::ScrollView::update): 24820 24821 2007-03-17 Adam Roben <aroben (a] apple.com> 24822 24823 Reviewed by Brady. 24824 24825 Fix fast/dom/isindex-002.html. 24826 24827 Add default strings to our two remaining unimplemented localizable 24828 strings in WebCore. 24829 24830 * platform/win/TemporaryLinkStubs.cpp: 24831 (WebCore::searchableIndexIntroduction): Added English string from Mac. 24832 (WebCore::inputElementAltText): Ditto. 24833 24834 2007-03-17 Adele Peterson <adele (a] apple.com> 24835 24836 Reviewed by Hyatt. 24837 24838 Fix for <rdar://problem/4960391> REGRESSION (r18922): onChange never fired after selecting an item from a menulist 24839 24840 * platform/win/PopupMenuWin.cpp: 24841 (WebCore::PopupMenu::PopupMenu): Initialize m_focusedIndex to 0. Instead of using the client to track the focused index, we'll 24842 keep track of it internally. Our old behavior was trying to match Firefox by updating the selected index as you focus items, but that 24843 doesn't seem necessary if the selection never gets committed. 24844 (WebCore::PopupMenu::show): Initialize the focused index to the client's selected index. 24845 (WebCore::PopupMenu::setFocusedIndex): Remove the fireOnChange argument. Remove the call to valueChanged. 24846 (WebCore::PopupMenu::focusedIndex): Return m_focusedIndex instead of getting this from the client. 24847 (WebCore::PopupMenu::down): Use the focusedIndex. 24848 (WebCore::PopupMenu::up): ditto. 24849 (WebCore::PopupMenu::paint): Paint a selected appearance for the item with the focused index. 24850 24851 2007-03-16 Adele Peterson <adele (a] apple.com> 24852 24853 Reviewed by Lou. 24854 24855 Fix for <rdar://problem/5065040> cannot mousedown + drag in a <select> menu 24856 24857 * platform/win/PopupMenuWin.cpp: 24858 (WebCore::PopupMenu::show): Set the capture when the popup window comes up. 24859 (WebCore::PopupWndProc): Release the capture only when the mouse is not down, and the mouse moves outside the popup window, 24860 or if you mouse up inside the window, and you're about to hide the popup. The mouse will get recaptured if you mouse down 24861 again in the window. 24862 24863 2007-03-15 Brady Eidson <beidson (a] apple.com> 24864 24865 Reviewed by Oliver 24866 24867 CFNetwork related cleanup that was a work around for previous deficiencies in CFURLDownload 24868 This might fix some of the random crashers we see on stress testing if they end up 24869 downloading links. 24870 24871 * platform/network/cf/ResourceHandleCFNet.cpp: 24872 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): Always call cancel if theres a 24873 connection - the ref-count-check hack is no longer neccesary 24874 (WebCore::ResourceHandle::releaseConnectionForDownload): Give up the CFURLConnection without 24875 derefing it 24876 24877 2007-03-15 Maciej Stachowiak <mjs (a] apple.com> 24878 24879 Reviewed by Geoff and Steve. 24880 24881 - fixed <rdar://problem/5029776> iBench JavaScript test slower than Opera 24882 - fixes to use FastMalloc on Windows 24883 24884 * config.h: Don't force USE_SYSTEM_MALLOC 24885 24886 2007-03-15 Adam Roben <aroben (a] apple.com> 24887 24888 Rubberstamped by Hyatt. 24889 24890 * platform/win/FontDataWin.cpp: 24891 (WebCore::FontData::platformInit): Move the code to get the font face 24892 to the top of the function for easier debugging. 24893 * platform/win/FontPlatformDataWin.cpp: 24894 (WebCore::FontPlatformData::FontPlatformData): ASSERT that we got a 24895 valid CGFontRef back from CG, as CG and GDI should agree on the fonts 24896 installed. 24897 24898 2007-03-14 Anders Carlsson <acarlsson (a] apple.com> 24899 24900 Reviewed by Adam. 24901 24902 Use CFURLResponseCopySuggestedFilename. 24903 24904 * platform/network/cf/ResourceResponseCFNet.cpp: 24905 (WebCore::suggestedFilenameForResponse): 24906 24907 2007-03-14 Adam Roben <aroben (a] apple.com> 24908 24909 Reviewed by Hyatt. 24910 24911 Use CG to get xHeight. 24912 24913 * platform/win/FontDataWin.cpp: 24914 (WebCore::scaleEmToUnits): Made robust against divide-by-zero errors. 24915 (WebCore::FontData::platformInit): Ported Mac code to get xHeight using CG. 24916 24917 2007-03-14 Anders Carlsson <acarlsson (a] apple.com> 24918 24919 Build fixes. 24920 24921 * platform/graphics/win/ImageWin.cpp: 24922 (WebCore::Image::loadPlatformResource): 24923 * platform/win/EditorWin.cpp: 24924 24925 2007-03-13 Adam Roben <aroben (a] apple.com> 24926 24927 Reviewed by Anders. 24928 24929 * platform/win/FontDataWin.cpp: 24930 (WebCore::scaleEmToUnits): Ported from FontDataMac. 24931 (WebCore::FontData::platformInit): Use CG for metrics, and apply Mac's 24932 line-height hack for Times, Helvetica, and Courier. 24933 (WebCore::FontData::platformWidthForGlyph): Call wkGetGlyphAdvances to 24934 use some CG SPI to match Mac. 24935 24936 2007-03-12 Darin Adler <darin (a] apple.com> 24937 24938 * WebCore.vcproj/WebCore.vcproj: Added new JavaScript wrapper derived source files. 24939 24940 2007-03-12 Anders Carlsson <acarlsson (a] apple.com> 24941 24942 Reviewed by Darin. 24943 24944 <rdar://problem/5054694> 24945 Repro crash when viewing fast/dom/HTMLObjectElement/object-as-frame.html 24946 24947 * bridge/win/FrameWin.cpp: 24948 (WebCore::Frame::createScriptInstanceForWidget): 24949 Return 0 for frame views. 24950 24951 2007-03-12 Anders Carlsson <acarlsson (a] apple.com> 24952 24953 Reviewed by Adam. 24954 24955 <rdar://problem/5054713> 24956 Crash in suggestedFilenameForResponse in two fast/encoding tests. 24957 24958 Add null checks. 24959 24960 * platform/network/cf/ResourceResponseCFNet.cpp: 24961 (WebCore::suggestedFilenameForResponse): 24962 24963 2007-03-12 Adele Peterson <adele (a] apple.com> 24964 24965 Reviewed by Oliver. 24966 24967 Fix for <rdar://problem/5053618> Disable "recent searches" search field menu. 24968 24969 * platform/win/SearchPopupMenuWin.cpp: (WebCore::SearchPopupMenu::enabled): 24970 24971 2007-03-12 Adele Peterson <adele (a] apple.com> 24972 24973 Reviewed by Oliver. 24974 24975 WebCore part of fix for <rdar://problem/5044790> preventing default of keypress event doesn't work (affects .mac) 24976 24977 * platform/win/KeyEventWin.cpp: 24978 (WebCore::singleCharacterString): Added inline keyword. 24979 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 24980 Renamed arguments to be more meaningful. Added characterCode argument to be used when constructing m_text. 24981 24982 2007-03-12 Adele Peterson <adele (a] apple.com> 24983 24984 Reviewed by Oliver. 24985 24986 Forking KeyEventWin.cpp from revision 20118. 24987 24988 * WebCore.vcproj/WebCore.vcproj: 24989 * platform/win/KeyEventWin.cpp: Added. 24990 24991 2007-03-11 Oliver Hunt <oliver (a] apple.com> 24992 24993 Reviewed by Adele. 24994 24995 Removed Frame::respondToChangedSelection stub 24996 added Editor::markMisspellings stub 24997 24998 * platform/win/TemporaryLinkStubs.cpp: 24999 (WebCore::Editor::markMisspellings): 25000 25001 2007-03-10 Geoffrey Garen <ggaren (a] apple.com> 25002 25003 Reviewed by Darin Adler. 25004 25005 Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and 25006 JSCore causes a hang @ www.panoramas.dk 25007 25008 See JavaScriptCore ChangeLog for details. 25009 25010 Stress test doesn't show any problems. 25011 25012 Drop the JSLock before making calls through the plug-in API from functions 25013 that may have been called by JavaScript. 25014 25015 * plugins/win/PluginViewWin.cpp: 25016 (WebCore::PluginViewWin::paint): 25017 (WebCore::PluginViewWin::handleKeyboardEvent): 25018 (WebCore::PluginViewWin::handleMouseEvent): 25019 (WebCore::PluginViewWin::setNPWindowRect): 25020 (WebCore::PluginViewWin::start): 25021 (WebCore::PluginViewWin::stop): 25022 (WebCore::PluginViewWin::performRequest): 25023 (WebCore::PluginViewWin::bindingInstance): 25024 25025 2007-03-09 Oliver Hunt <oliver (a] apple.com> 25026 25027 Reviewed by John. 25028 25029 Fix the doubled text in the image used to drag a link 25030 25031 * platform/win/WebCoreTextRenderer.cpp: 25032 (WebCore::WebCoreDrawDoubledTextAtPoint): 25033 25034 2007-03-09 Anders Carlsson <acarlsson (a] apple.com> 25035 25036 Reviewed by Adam. 25037 25038 Implement setting the suggested filename for a response. 25039 25040 * platform/network/cf/ResourceResponseCFNet.cpp: 25041 (WebCore::filenameFromHTTPContentDisposition): 25042 (WebCore::filenameHasSaneExtension): 25043 (WebCore::suggestedFilenameForResponse): 25044 (WebCore::ResourceResponse::doUpdateResourceResponse): 25045 * platform/win/MimeTypeRegistryWin.cpp: 25046 (WebCore::getMIMETypeForUTI): 25047 25048 (WebCore::mimeTypeForExtension): 25049 Fix two bugs in this function. 25050 25051 (WebCore::MimeTypeRegistry::getPreferredExtensionForMIMEType): 25052 25053 2007-03-09 Anders Carlsson <acarlsson (a] apple.com> 25054 25055 * plugins/win/PluginViewWin.cpp: 25056 (WebCore::PluginViewWin::performRequest): 25057 Fixup comments and remove an obsolete FIXME. 25058 25059 2007-03-09 Oliver Hunt <oliver (a] apple.com> 25060 25061 Reviewed by Steve. 25062 25063 Executing a script for a plugin can cause cause this to be deleted 25064 so we take a reference to our parent prior to executing the script 25065 25066 * plugins/win/PluginViewWin.cpp: 25067 (WebCore::PluginViewWin::performRequest): 25068 25069 2007-03-08 Oliver Hunt <oliver (a] apple.com> 25070 25071 Reviewed by Steve. 25072 25073 Allow webloc files to be dropped onto the webview 25074 25075 <rdar://problem/4883564> Regression: cannot open webloc file by dnd to Boomer's window 25076 25077 * platform/win/DragDataWin.cpp: 25078 (WebCore::cfHDropFormat): 25079 Clipboard format for HDROP, non-static as i will need it elsewhere in the future 25080 (WebCore::getWebLocData): 25081 Extract a url from a webloc file 25082 (WebCore::getURL): 25083 Call getWebLocData 25084 25085 2007-03-08 Steve Falkenburg <sfalken (a] apple.com> 25086 25087 Fix Production build more 25088 25089 * WebCore.vcproj/WebCore.vcproj: 25090 25091 2007-03-08 Steve Falkenburg <sfalken (a] apple.com> 25092 25093 Production build fix 25094 25095 * WebCore.vcproj/WebCore.vcproj: 25096 25097 2007-03-08 Adam Roben <aroben (a] apple.com> 25098 25099 Reviewed by Steve. 25100 25101 Fix <rdar://problem/4969070> Failed error pages show "unknown error" 25102 rather than specific error 25103 25104 Make ResourceError aware of kCFErrorDomainCFNetwork. 25105 25106 * platform/network/cf/ResourceErrorCF.cpp: 25107 (WebCore::ResourceError::ResourceError): Added case for 25108 kCFErrorDomainCFNetwork. 25109 25110 2007-03-06 Adam Roben <aroben (a] apple.com> 25111 25112 Fixing the build while semi-blind is fun. 25113 25114 * platform/win/TemporaryLinkStubs.cpp: 25115 (WebCore::supportedKeySizes): Need a namespace. 25116 (WebCore::signedPublicKeyAndChallengeString): Ditto. 25117 25118 2007-03-06 Adam Roben <aroben (a] apple.com> 25119 25120 It works better if you use valid C++ syntax. 25121 25122 * platform/win/TemporaryLinkStubs.cpp: 25123 25124 2007-03-06 Adam Roben <aroben (a] apple.com> 25125 25126 Build fix. 25127 25128 * platform/win/TemporaryLinkStubs.cpp: Added missing stubs. 25129 25130 2007-03-06 Adam Roben <aroben (a] apple.com> 25131 25132 Reviewed by Anders. 25133 25134 Always keep rounding hacks on. 25135 25136 * platform/win/FileChooserWin.cpp: 25137 (WebCore::FileChooser::basenameForWidth): Tell StringTruncator to keep 25138 rounding hacks on. 25139 * platform/win/WebCoreTextRenderer.cpp: 25140 (WebCore::WebCoreTextFloatWidth): Ditto. 25141 25142 2007-03-06 Anders Carlsson <acarlsson (a] apple.com> 25143 25144 Build fix. 25145 25146 * plugins/win/PluginViewWin.cpp: 25147 (WebCore::PluginViewWin::userAgent): 25148 25149 2007-03-05 Anders Carlsson <acarlsson (a] apple.com> 25150 25151 Reviewed by Adam. 25152 25153 <rdar://problem/5041348> 25154 Can't watch videos at cnn.com 25155 25156 * plugins/win/PluginStreamWin.cpp: 25157 (WebCore::PluginStreamWin::cancelAndDestroyStream): 25158 Change this function back to call call stop() after destroyStream(). Also, make sure to 25159 protect the stream since destroyStream can eventually, well, destroy it. 25160 25161 2007-03-05 Anders Carlsson <acarlsson (a] apple.com> 25162 25163 Reviewed by Adam. 25164 25165 <rdar://problem/4987743> 25166 Regression: java content is represented as broken images on pages 25167 25168 * plugins/win/PluginPackageWin.cpp: 25169 (WebCore::PluginPackageWin::load): 25170 Make sure to set the size of the NPPluginFuncs struct correctly. 25171 25172 2007-03-05 Steve Falkenburg <sfalken (a] apple.com> 25173 25174 Fix build 25175 25176 * plugins/win/PluginStreamWin.cpp: 25177 (WebCore::PluginStreamWin::stop): Call cancel() instead of stopLoading(), since the latter was removed. 25178 25179 2007-03-02 Adam Roben <aroben (a] apple.com> 25180 25181 Reviewed by Anders. 25182 25183 Added optional underlining of a single character to 25184 WebCoreTextRenderer. 25185 25186 No layout tests possible. 25187 25188 * platform/win/WebCoreTextRenderer.cpp: 25189 (WebCore::doDrawTextAtPoint): Added. This is an extraction of the code 25190 from DrawTextAtPoint that now also contains the underlining code. 25191 (WebCore::WebCoreDrawTextAtPoint): Call the helper function. 25192 (WebCore::WebCoreDrawDoubledTextAtPoint): Ditto. 25193 * platform/win/WebCoreTextRenderer.h: Added optional underlinedIndex 25194 parameters. 25195 25196 2007-03-01 Anders Carlsson <acarlsson (a] apple.com> 25197 25198 Reviewed by Tim. 25199 25200 * plugins/win/npfunctions.h: 25201 Fix tyop. 25202 25203 2007-02-28 Adam Roben <aroben (a] apple.com> 25204 25205 Reviewed by Anders. 25206 25207 Clean up WebCoreTextRenderer. WebCoreDrawTextAtPoint now just draws 25208 text at a point. It doesn't center truncate, clip, or modify alignment. 25209 25210 No layout test possible. 25211 25212 * platform/win/WebCoreTextRenderer.cpp: 25213 (WebCore::WebCoreDrawTextAtPoint): Use only WebCore types, and don't 25214 center truncate or modify alignment. 25215 (WebCore::WebCoreDrawDoubledTextAtPoint): Moved from WebKitGraphics.cpp. 25216 (WebCore::WebCoreTextFloatWidth): Added. 25217 * platform/win/WebCoreTextRenderer.h: Updated/added declarations. 25218 25219 2007-02-28 Adele Peterson <adele (a] apple.com> 25220 25221 Reviewed by Adam. 25222 25223 Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized 25224 and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized 25225 25226 * platform/win/TemporaryLinkStubs.cpp: 25227 (WebCore::searchMenuNoRecentSearchesText): 25228 (WebCore::searchMenuRecentSearchesText): 25229 (WebCore::searchMenuClearRecentSearchesText): 25230 (WebCore::AXWebAreaText): 25231 (WebCore::AXLinkText): 25232 (WebCore::AXListMarkerText): 25233 (WebCore::AXImageMapText): 25234 (WebCore::AXHeadingText): 25235 25236 2007-02-28 Maciej Stachowiak <mjs (a] apple.com> 25237 25238 Reviewed by Adam. 25239 25240 - fixed <rdar://problem/5005120> Crash: selecting View all RSS Articles from context menu of bookmark folder 25241 25242 * platform/network/cf/ResourceRequestCFNet.cpp: 25243 (WebCore::ResourceRequest::doUpdatePlatformRequest): Use RetainPtr 25244 instead of explicit release, as this was caused by CFRelease on 25245 a null pointer, and REtainPtr is tolerant. 25246 25247 2007-02-27 Beth Dakin <bdakin (a] apple.com> 25248 25249 Reviewed by Adam. 25250 25251 <rdar://problem/4956528> Implement Pasteboard::writeImage for 25252 Boomer context menus 25253 25254 * platform/win/PasteboardWin.cpp: 25255 (WebCore::Pasteboard::writeImage): Copy a bitmap to the clipboard. 25256 25257 2007-02-27 Oliver Hunt <oliver (a] apple.com> 25258 25259 Reviewed by Lou and Steve. 25260 25261 Add a store for current Cursor to fix <rdar://problem/4788352> 25262 25263 * platform/win/WidgetWin.cpp: 25264 (WebCore::Widget::setCursor): 25265 25266 2007-02-26 Oliver Hunt <oliver (a] apple.com> 25267 25268 Reviewed by Maciej. 25269 25270 To stop the drag image for transparent images from looking 25271 ugly (especially fully transparent images) we render the 25272 image to a white background prior to passing the image on to 25273 Windows 25274 25275 <rdar://problem/5015946> 25276 25277 * platform/win/DragImageWin.cpp: 25278 (WebCore::createDragImageFromImage): 25279 25280 2007-02-26 Adam Roben <aroben (a] apple.com> 25281 25282 Reviewed by Adele. 25283 25284 * platform/win/GraphicsContextWin.cpp: Get rid of so-five-hours-ago SVG_SUPPORT. 25285 25286 2007-02-26 Adam Roben <aroben (a] apple.com> 25287 25288 Build fix. 25289 25290 * config.h: Remove redundant #define. 25291 * WebCore.vcproj/WebCore.vcproj: Update to new macros. 25292 25293 2007-02-26 Adam Roben <aroben (a] apple.com> 25294 25295 Rubberstamped by Ada. 25296 25297 * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Make #if match the header file. 25298 25299 2007-02-26 Adam Roben <aroben (a] apple.com> 25300 25301 Reviewed by Darin. 25302 25303 Build fix. 25304 25305 * WebCore.vcproj/build-generated-files.sh: Updated FEATURE_DEFINES. 25306 * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Use shiny new ENABLE(SVG). 25307 * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Ditto. 25308 25309 2007-02-25 Maciej Stachowiak <mjs (a] apple.com> 25310 25311 Reviewed by Adam. 25312 25313 - fixed layout test failure in fast/overflow/scrollRevealButton 25314 25315 I added a new ScrollView method, fullyClippedContentRect, that vies the content rect 25316 as clipped by all ancestor scroll views, not just this one. Currently it only works 25317 correctly on mac however. visibleContentRect, only accounting for the clipping from 25318 this particular scroll view, is sufficient for most purposes. 25319 25320 * platform/win/ScrollViewWin.cpp: 25321 (WebCore::ScrolView::fullyClippedContentRect): 25322 25323 2007-02-24 Adam Roben <aroben (a] apple.com> 25324 25325 Change #if to #ifdef to match style. 25326 25327 * platform/win/PopupMenuWin.cpp: 25328 (WebCore::PopupMenu::show): 25329 25330 2007-02-24 Adam Roben <aroben (a] apple.com> 25331 25332 Reviewed by Steve. 25333 25334 Fix <rdar://problem/5013502> REGRESSION: <select> menus are not 25335 animating smoothly 25336 25337 This was caused by making the menus partially transparent in r12250. 25338 25339 * platform/win/PopupMenuWin.cpp: 25340 (WebCore::PopupMenu::show): Disable animations. 25341 25342 2007-02-23 Anders Carlsson <acarlsson (a] apple.com> 25343 25344 Reviewed by Adam. 25345 25346 <rdar://problem/4761543> 25347 nike.com doesn't finish loading if Flash plugin is installed. 25348 25349 If a plugin requests a JavaScript URL with a non null frame target, execute the JavaScript expression. If the result 25350 is not "undefined", replace the contents of the frame with the result converted to a string. 25351 25352 * plugins/win/PluginViewWin.cpp: 25353 (WebCore::getString): 25354 (WebCore::PluginViewWin::performRequest): 25355 (WebCore::PluginViewWin::requestTimerFired): 25356 25357 2007-02-22 Oliver Hunt <oliver (a] apple.com> 25358 25359 rs = adam 25360 25361 Replacing radar numbers from previous patch with one 25362 the isn't fictitious <rdar://problem/5018591> 25363 25364 * platform/win/CursorWin.cpp: 25365 (WebCore::columnResizeCursor): 25366 (WebCore::rowResizeCursor): 25367 (WebCore::verticalTextCursor): 25368 25369 2007-02-22 Oliver Hunt <oliver (a] apple.com> 25370 25371 Reviewed by Ada. 25372 25373 Implemented a couple more cursor methods 25374 25375 * platform/win/CursorWin.cpp: 25376 (WebCore::columnResizeCursor): 25377 (WebCore::rowResizeCursor): 25378 (WebCore::verticalTextCursor): 25379 Added radar bug reference <rdar://problem/5018452> 25380 (WebCore::progressCursor): 25381 (WebCore::noDropCursor): 25382 (WebCore::notAllowedCursor): 25383 Making them return the correct cursor 25384 25385 2007-02-22 Oliver Hunt <oliver (a] apple.com> 25386 25387 Reviewed by Anders. 25388 25389 Removing accessive COMPtr use from ClipboardWin constructors 25390 Adding data verification to ClipoardWin::SetData 25391 Small amount code tidying, and allowing for failure when writing an URL 25392 25393 * page/win/EventHandlerWin.cpp: 25394 (WebCore::EventHandler::createDraggingClipboard): 25395 Updated for new ClipboardWin constructor 25396 * platform/win/ClipboardWin.cpp: 25397 (WebCore::ClipboardWin::ClipboardWin): 25398 (WebCore::writeURL): 25399 (WebCore::ClipboardWin::getData): 25400 Tidying code, and allowing failure 25401 (WebCore::ClipboardWin::setData): 25402 Verifying that we're writing a valid url 25403 25404 * platform/win/ClipboardWin.h: 25405 * platform/win/EditorWin.cpp: 25406 (WebCore::Editor::newGeneralClipboard): 25407 Updated for new ClipboardWin constructor 25408 25409 2007-02-22 Oliver Hunt <oliver (a] apple.com> 25410 25411 Reviewed by Ada, Lou, and Steve. 25412 25413 Last of the major Drag and drop implementation 25414 patches for windows: 25415 * Adds support for DOM Clipboard during drag operations 25416 * Un-statics and refactors a few Pasteboard and DragData functions 25417 to allow them to share implementation with ClipboardWin and other 25418 drag logic 25419 * Moves COMPtr.h from WebKit to WebCore 25420 * Adds WCDataObject, which is basically a direct copy of 25421 SDataObject from the app, with a few modifications to support 25422 DOM clipboard functionality. Also includes a few suggestions 25423 from Ada and Steve, mostly involving memory management :D 25424 25425 This resolves 25426 <rdar://problem/4821407> Cannot drag link to bookmarks bar to create new link 25427 <rdar://problem/4869496> User Interaction Essentials: Drag 25428 25429 * WebCore.vcproj/WebCore.vcproj: 25430 Adding new files 25431 25432 * page/win/DragControllerWin.cpp: 25433 (WebCore::DragController::maxDragImageSize): 25434 Maximum size of drag image to allow sharp edges 25435 is 208x208 25436 25437 * page/win/EventHandlerWin.cpp: 25438 (WebCore::EventHandler::createDraggingClipboard): 25439 Properly implemented now 25440 25441 * platform/win/ClipboardWin.cpp: 25442 (WebCore::): 25443 (WebCore::clipboardTypeFromMIMEType): 25444 (WebCore::ClipboardWin::ClipboardWin): 25445 (WebCore::ClipboardWin::~ClipboardWin): 25446 (WebCore::writeURL): 25447 Helper function to write a url to a WCDataObject 25448 (WebCore::ClipboardWin::clearData): 25449 (WebCore::ClipboardWin::clearAllData): 25450 (WebCore::ClipboardWin::getData): 25451 (WebCore::ClipboardWin::setData): 25452 (WebCore::addMimeTypesForFormat): 25453 Helper function for ClipboardWin::types 25454 (WebCore::ClipboardWin::types): 25455 (WebCore::ClipboardWin::setDragImage): 25456 (WebCore::ClipboardWin::setDragImageElement): 25457 General setters, match behaviour of WebKit/Mac 25458 (WebCore::ClipboardWin::createDragImage): 25459 Creates a drag image for a DOM specified Image is specified 25460 can't currently generate an image for an arbitrary element 25461 (WebCore::imageToMarkup): 25462 Wraps a url in an img tag 25463 (WebCore::ClipboardWin::declareAndWriteDragImage): 25464 (WebCore::ClipboardWin::writeURL): 25465 (WebCore::ClipboardWin::writeRange): 25466 (WebCore::ClipboardWin::hasData): 25467 Implement Clipboard required by DragController. 25468 Provides read/write DOM Clipboard implementation for dragging, 25469 read only when accessing system clipboard. 25470 25471 * platform/win/ClipboardWin.h: 25472 (WebCore::ClipboardWin::dataObject): 25473 Provide an accessor for the dataObject 25474 25475 * platform/win/DragDataWin.cpp: 25476 (WebCore::urlWFormat): 25477 (WebCore::urlFormat): 25478 (WebCore::plainTextFormat): 25479 (WebCore::plainTextWFormat): 25480 (WebCore::texthtmlFormat): 25481 (WebCore::htmlFormat): 25482 (WebCore::getURL): 25483 (WebCore::DragData::asURL): 25484 (WebCore::getPlainText): 25485 (WebCore::DragData::asPlainText): 25486 (WebCore::DragData::asFragment): 25487 Refactoring and removing of a few static modifiers to allow sharing with Clipboard 25488 25489 * platform/win/DragImageWin.cpp: 25490 (WebCore::dragImageSize): 25491 (WebCore::deleteDragImage): 25492 (WebCore::allocImage): 25493 (WebCore::createCgContextFromBitmap): 25494 (WebCore::scaleDragImage): 25495 (WebCore::dissolveDragImageToFraction): 25496 (WebCore::createDragImageFromImage): 25497 (WebCore::createDragImageIconForCachedImage): 25498 Implement DragImage functions 25499 25500 * platform/win/EditorWin.cpp: 25501 (WebCore::Editor::newGeneralClipboard): 25502 Creating a Clipboard that wraps the system clipboard 25503 25504 * platform/win/PasteboardWin.cpp: 25505 (WebCore::createGlobalData): 25506 (WebCore::markupToCF_HTML): 25507 (WebCore::urlToMarkup): 25508 (WebCore::replaceNBSP): 25509 removing 'static' 25510 25511 * platform/win/WCDataObject.cpp: Added. 25512 (WebCore::WCEnumFormatEtc::WCEnumFormatEtc): 25513 (WebCore::WCEnumFormatEtc::QueryInterface): 25514 (WebCore::WCEnumFormatEtc::AddRef): 25515 (WebCore::WCEnumFormatEtc::Release): 25516 (WebCore::WCEnumFormatEtc::Next): 25517 (WebCore::WCEnumFormatEtc::Skip): 25518 (WebCore::WCEnumFormatEtc::Reset): 25519 (WebCore::WCEnumFormatEtc::Clone): 25520 (WebCore::WCDataObject::createInstance): 25521 (WebCore::WCDataObject::WCDataObject): 25522 (WebCore::WCDataObject::~WCDataObject): 25523 (WebCore::WCDataObject::QueryInterface): 25524 (WebCore::WCDataObject::AddRef): 25525 (WebCore::WCDataObject::Release): 25526 (WebCore::WCDataObject::GetData): 25527 (WebCore::WCDataObject::GetDataHere): 25528 (WebCore::WCDataObject::QueryGetData): 25529 (WebCore::WCDataObject::GetCanonicalFormatEtc): 25530 (WebCore::WCDataObject::SetData): 25531 (WebCore::WCDataObject::CopyMedium): 25532 (WebCore::WCDataObject::EnumFormatEtc): 25533 (WebCore::WCDataObject::DAdvise): 25534 (WebCore::WCDataObject::DUnadvise): 25535 (WebCore::WCDataObject::EnumDAdvise): 25536 (WebCore::WCDataObject::clearData): 25537 Copied from SDataObject in the App createInstance and clearData 25538 are the only new functions. clearData removes any entries in the 25539 object with a specified CLIPFORMAT. 25540 Have also made a few error and memory handling changes suggested 25541 by Steve and Ada 25542 * platform/win/WCDataObject.h: Added. 25543 Header for the above 25544 25545 2007-02-22 Adam Roben <aroben (a] apple.com> 25546 25547 Reviewed by Adele. 25548 25549 Make sure we always paint the right size search results icon. 25550 25551 * rendering/RenderThemeSafari.cpp: 25552 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Removed unused parameter. 25553 (WebCore::RenderThemeSafari::paintSearchFieldDecoration): Ditto. 25554 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Base 25555 the control size off of the search field rect to ensure that the icon 25556 and the control are the same size. 25557 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto. 25558 25559 2007-02-21 Adam Roben <aroben (a] apple.com> 25560 25561 Reviewed by Adele. 25562 25563 Updated for SafariTheme changes. 25564 25565 * rendering/RenderThemeSafari.cpp: 25566 (WebCore::RenderThemeSafari::paintMenuList): Use DropDownButtonPart. 25567 25568 2007-02-20 Adele Peterson <adele (a] apple.com> 25569 25570 Reviewed by Darin. 25571 25572 * WebCore.vcproj/WebCore.vcproj: Added JSHTMLSelectElementCustom.h 25573 25574 2007-02-20 Beth Dakin <bdakin (a] apple.com> 25575 25576 Reviewed by Maciej. 25577 25578 Some changes needed to match moving writeImage() to the Pasteboard 25579 on the Mac. 25580 25581 * platform/win/PasteboardWin.cpp: 25582 (WebCore::Pasteboard::writeURL): Now takes a bool indicating if the 25583 url if for an image. 25584 (WebCore::Pasteboard::writeImage): This is just a stub for now. I 25585 am putting it here instead of on TemporaryLinkStubs because I plan 25586 on implementing it very soon. 25587 25588 2007-02-20 Adam Roben <aroben (a] apple.com> 25589 25590 Reviewed by Darin and Anders. 25591 25592 Fix <rdar://problem/5003318> App: Status bar text is more difficult to 25593 read than Mac OS X Safari 25594 25595 * WebCore.vcproj/WebCore.vcproj: Added new files. 25596 * platform/win/FileChooserWin.cpp: 25597 (WebCore::FileChooser::openFileChooser): 25598 (WebCore::FileChooser::basenameForWidth): Added truncation. 25599 * platform/win/WebCoreTextRenderer.cpp: 25600 (WebCore::WebCoreDrawTextAtPoint): Added bottomAlign and centerTruncate parameters. 25601 * platform/win/WebCoreTextRenderer.h: Ditto. 25602 25603 2007-02-20 Alice Liu <alice.liu (a] apple.com> 25604 25605 Build fix 25606 25607 * WebCore.vcproj/WebCore.vcproj: 25608 Added PositionIterator.cpp & h 25609 25610 2007-02-20 Steve Falkenburg <sfalken (a] apple.com> 25611 25612 Production build fix 25613 25614 * WebCore.vcproj/WebCore.vcproj: 25615 25616 2007-02-19 Geoffrey Garen <ggaren (a] apple.com> 25617 25618 Reviewed by Adam Roben. 25619 25620 Fixed some leaks in RenderThemeSafari. 25621 25622 I just merged some of the code I wrote for RenderThemeMac. 25623 25624 * rendering/RenderThemeSafari.cpp: 25625 (WebCore::RenderThemeSafari::paintMenuListButtonGradients): 25626 (WebCore::RenderThemeSafari::paintSliderTrack): 25627 25628 2007-02-19 Anders Carlsson <acarlsson (a] apple.com> 25629 25630 Reviewed by Oliver. 25631 25632 Fix build. 25633 25634 * page/win/DragControllerWin.cpp: 25635 (WebCore::DragController::maxDragImageSize): 25636 25637 2007-02-19 Adele Peterson <adele (a] apple.com> 25638 25639 Reviewed by Adam. 25640 25641 Fix for <rdar://problem/5006882> PlatformScrollbarSafari doesn't support small scroll bars 25642 25643 * platform/win/PlatformScrollBar.h: 25644 * platform/win/PlatformScrollBarSafari.cpp: 25645 (WebCore::): 25646 (WebCore::PlatformScrollbar::PlatformScrollbar): 25647 (WebCore::trackRepaintRect): 25648 (WebCore::buttonRepaintRect): 25649 (WebCore::PlatformScrollbar::invalidateTrack): 25650 (WebCore::PlatformScrollbar::invalidatePart): 25651 (WebCore::PlatformScrollbar::backButtonRect): 25652 (WebCore::PlatformScrollbar::forwardButtonRect): 25653 (WebCore::PlatformScrollbar::trackRect): 25654 (WebCore::PlatformScrollbar::splitTrack): 25655 (WebCore::PlatformScrollbar::thumbLength): 25656 (WebCore::PlatformScrollbar::paintButton): 25657 (WebCore::PlatformScrollbar::paintTrack): 25658 (WebCore::PlatformScrollbar::paintThumb): 25659 (WebCore::PlatformScrollbar::horizontalScrollbarHeight): 25660 (WebCore::PlatformScrollbar::verticalScrollbarWidth): 25661 * platform/win/PopupMenuWin.cpp: 25662 (WebCore::PopupMenu::show): 25663 (WebCore::PopupMenu::calculatePositionAndSize): 25664 25665 2007-02-19 Anders Carlsson <acarlsson (a] apple.com> 25666 25667 Reviewed by Adam. 25668 25669 <rdar://problem/5008424> 25670 Regression: Crash loading mp3.com 25671 25672 * platform/network/cf/ResourceErrorCF.cpp: 25673 (WebCore::ResourceError::ResourceError): 25674 Handle null resource errrors. 25675 25676 2007-02-19 Adam Roben <aroben (a] apple.com> 25677 25678 Build fix. 25679 25680 * bridge/win/FrameWin.cpp: 25681 (WebCore::computePageRectsForFrame): This is no longer an instance 25682 method of Frame. 25683 * bridge/win/FrameWin.h: 25684 25685 2007-02-18 Maciej Stachowiak <mjs (a] apple.com> 25686 25687 Reviewed by Oliver. 25688 25689 - Adapt for Lars's patch to clean up Frame 25690 25691 * bridge/win/FrameWin.cpp: 25692 (WebCore::Frame::cleanupPlatformScriptObjects): 25693 (WebCore::Frame::createScriptInstanceForWidget): 25694 (WebCore::Frame::computePageRects): 25695 (WebCore::drawRectIntoContext): 25696 (WebCore::imageFromSelection): 25697 (WebCore::Frame::isCharacterSmartReplaceExempt): 25698 * bridge/win/FrameWin.h: 25699 * page/win/EventHandlerWin.cpp: 25700 * platform/win/ScrollViewWin.cpp: 25701 (WebCore::ScrollView::windowResizerRect): 25702 (WebCore::ScrollView::addToDirtyRegion): 25703 (WebCore::ScrollView::scrollBackingStore): 25704 (WebCore::ScrollView::updateBackingStore): 25705 * platform/win/TemporaryLinkStubs.cpp: 25706 (Frame::print): 25707 (Frame::issueTransposeCommand): 25708 (WebCore::Frame::respondToChangedSelection): 25709 * plugins/win/PluginDatabaseWin.cpp: 25710 (WebCore::PluginDatabaseWin::createPluginView): 25711 * plugins/win/PluginDatabaseWin.h: 25712 * plugins/win/PluginViewWin.cpp: 25713 (WebCore::PluginViewWin::createNullPluginView): 25714 (WebCore::PluginViewWin::PluginViewWin): 25715 * plugins/win/PluginViewWin.h: 25716 25717 2007-02-18 Ada Chan <adachan (a] apple.com> 25718 25719 Reviewed by Adam. 25720 25721 Move app text controls to use WebView. 25722 - added a method to let us render text using WebKit. 25723 25724 * WebCore.vcproj/WebCore.vcproj: 25725 * platform/win/WebCoreTextRenderer.cpp: Added. 25726 (WebCore::WebCoreDrawTextAtPoint): 25727 * platform/win/WebCoreTextRenderer.h: Added. 25728 25729 2007-02-18 Adam Roben <aroben (a] apple.com> 25730 25731 Rubberstamped by Hyatt. 25732 25733 Fix <rdar://problem/5006918> All selected text is black, even if it is 25734 some other color when not selected 25735 25736 * platform/win/PopupMenuWin.cpp: 25737 (WebCore::PopupMenu::paint): Use the listbox colors for selected items. 25738 * rendering/RenderThemeSafari.cpp: Removed platformActiveSelectionForegroundColor. 25739 * rendering/RenderThemeSafari.h: Ditto. 25740 25741 2007-02-18 Adam Roben <aroben (a] apple.com> 25742 25743 Reviewed by Hyatt. 25744 25745 Fix <rdar://problem/5006872> <select> popups need Aqua scroll bars 25746 25747 PopupMenuWin now uses a PlatformScrollbar. 25748 25749 * platform/win/PlatformScrollBarSafari.cpp: 25750 (WebCore::PlatformScrollbar::hitTest): Allow hit testing even when we 25751 don't have a parent widget. 25752 (WebCore::PlatformScrollbar::autoscrollPressedPart): Don't autoscroll 25753 if nothing is pressed. 25754 * platform/win/PopupMenuWin.cpp: m_scrollOffset is now measured in menu 25755 items, not in pixels. 25756 (WebCore::PopupMenu::PopupMenu): Initialize new member. 25757 (WebCore::PopupMenu::show): Make popups partially transparent, don't 25758 use Windows' built-in scroll bars, and create a PlatformScrollbar if 25759 needed. 25760 (WebCore::PopupMenu::calculatePositionAndSize): Get the scroll bar's 25761 width from PlatformScrollbar instead of from Windows. 25762 (WebCore::PopupMenu::visibleItems): Added. 25763 (WebCore::PopupMenu::listIndexAtPoint): Definition moved here from header. 25764 (WebCore::PopupMenu::invalidateItem): Update for m_scrollOffset change, 25765 and shrink the damage rect to not invalidate the scroll bar unnecessarily. 25766 (WebCore::PopupMenu::scrollToRevealSelection): Updated to use PlatformScrollbar. 25767 (WebCore::PopupMenu::updateFromElement): Changed bool to BOOL. 25768 (WebCore::PopupMenu::paint): Updated for m_scrollOffset change, and 25769 paint the scroll bar at the end. 25770 (WebCore::PopupMenu::valueChanged): Added. Code comes from the old scrollTo method. 25771 (WebCore::PopupMenu::windowClipRect): Added. 25772 (WebCore::PopupWndProc): 25773 - Set up the scroll bar in WM_SIZE 25774 - Send mouse events to the scroll bar when appropriate 25775 - Get rid of handling of WM_VSCROLL events (we shouldn't receive these anymore) 25776 25777 2007-02-18 Oliver Hunt <oliver (a] apple.com> 25778 25779 Reviewed by Adam. 25780 25781 Updated to include stubs for drag and drop methods 25782 Added DragImage[Win].cpp to project file 25783 Now uses platform independent EventHandler::handleDrag 25784 25785 * WebCore.vcproj/WebCore.vcproj: 25786 25787 * bridge/win/FrameWin.cpp: 25788 (WebCore::Frame::dragImageForSelection): 25789 Just wrap the platform specific selectionImage method 25790 25791 * page/win/DragControllerWin.cpp: 25792 Defining constants for drag images -- basically copied the Mac definitions 25793 25794 * page/win/EventHandlerWin.cpp: 25795 (WebCore::EventHandler::createDraggingClipboard): 25796 Basic implementation -- needs to create an IDataObject to be useful 25797 but ClipboardWin is basically unimplemented anyway so not yet a problem 25798 25799 * platform/win/ClipboardWin.cpp: 25800 (WebCore::ClipboardWin::createDragImage): 25801 (WebCore::ClipboardWin::declareAndWriteDragImage): 25802 (WebCore::ClipboardWin::writeURL): 25803 (WebCore::ClipboardWin::writeRange): 25804 (WebCore::ClipboardWin::hasData): 25805 Stubs 25806 25807 * platform/win/ClipboardWin.h: 25808 Updated interface 25809 25810 * platform/win/DragImageWin.cpp: Added. 25811 (WebCore::dragImageSize): 25812 (WebCore::deleteDragImage): 25813 (WebCore::scaleDragImage): 25814 (WebCore::dissolveDragImageToFraction): 25815 (WebCore::createDragImageFromImage): 25816 (WebCore::createDragImageIconForCachedImage): 25817 Stubs 25818 25819 2007-02-17 Adam Roben <aroben (a] apple.com> 25820 25821 * WebCore.vcproj/WebCore.vcproj: Removed bogus single-file 25822 configuration for MimeTypeRegistryWin.cpp. 25823 25824 2007-02-17 David Hyatt <hyatt (a] apple.com> 25825 25826 Part of the OpenSource fix to make sure the fill color starts off as transparent. Make sure our CG context 25827 has its state properly in sync with the CGContext. 25828 25829 Reviewed by aroben 25830 25831 * platform/win/GraphicsContextWin.cpp: 25832 (WebCore::GraphicsContext::GraphicsContext): 25833 25834 2007-02-17 Adam Roben <aroben (a] apple.com> 25835 25836 Build fix. 25837 25838 * platform/win/CursorWin.cpp: 25839 (WebCore::notAllowedCursor): 25840 25841 2007-02-17 Dave Hyatt <hyatt (a] apple.com> 25842 25843 Change how resizers are invalidated to fix Radar bug #4976772. 25844 25845 Reviewed by olliej 25846 25847 * platform/win/GraphicsContextWin.cpp: 25848 (WebCore::GraphicsContext::GraphicsContext): 25849 * platform/win/ScrollViewWin.cpp: 25850 (WebCore::ScrollView::suppressScrollbars): 25851 (WebCore::ScrollView::paint): 25852 (WebCore::ScrollView::adjustOverlappingScrollbarCount): 25853 * platform/win/WidgetWin.cpp: 25854 (WebCore::Widget::invalidateRect): 25855 25856 2007-02-16 Dave Hyatt <hyatt (a] apple.com> 25857 25858 Fix for Radar bug #4981074, RSS Scrollbar overlaps window resizer. Teach all scrollbars how to 25859 avoid the window resizer. 25860 25861 Reviewed by aroben 25862 25863 * platform/win/PlatformScrollBar.h: 25864 * platform/win/PlatformScrollBarSafari.cpp: 25865 (WebCore::PlatformScrollbar::PlatformScrollbar): 25866 (WebCore::PlatformScrollbar::setRect): 25867 (WebCore::PlatformScrollbar::setParent): 25868 * platform/win/PlatformScrollBarWin.cpp: 25869 (WebCore::PlatformScrollbar::PlatformScrollbar): 25870 (WebCore::PlatformScrollbar::setRect): 25871 (WebCore::PlatformScrollbar::setParent): 25872 * platform/win/ScrollViewWin.cpp: 25873 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 25874 (WebCore::ScrollView::updateScrollbars): 25875 (WebCore::ScrollView::resizerOverlapsContent): 25876 (WebCore::ScrollView::adjustOverlappingScrollbarCount): 25877 (WebCore::ScrollView::setParent): 25878 25879 2007-02-16 Adam Roben <aroben (a] apple.com> 25880 25881 Rubberstamped by Anders. 25882 25883 * platform/win/PlatformScrollBarSafari.cpp: 25884 (WebCore::PlatformScrollbar::paint): Don't draw the arrows when we're disabled. 25885 25886 2007-02-15 Dave Hyatt <hyatt (a] apple.com> 25887 25888 Reviewed by Adam. 25889 25890 Fix for 4804657 and 4952931, scroll view gets confused and ends up at a bad scroll 25891 offset. 25892 25893 * platform/win/ScrollViewWin.cpp: 25894 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 25895 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 25896 (WebCore::ScrollView::updateScrollbars): 25897 25898 2007-02-16 Anders Carlsson <acarlsson (a] apple.com> 25899 25900 Reviewed by Adam. 25901 25902 <rdar://problem/4993040> 25903 Crash in plugin code watching yahoo news video 25904 25905 Zero out the plugin function struct. 25906 25907 * plugins/win/PluginPackageWin.cpp: 25908 (WebCore::PluginPackageWin::load): 25909 25910 2007-02-16 Anders Carlsson <acarlsson (a] apple.com> 25911 25912 Fix build. 25913 25914 Use adoptCF instead of adopt. 25915 25916 * platform/network/cf/ResourceHandleCFNet.cpp: 25917 (WebCore::ResourceHandle::start): 25918 * platform/network/cf/ResourceRequestCFNet.cpp: 25919 (WebCore::ResourceRequest::doUpdatePlatformRequest): 25920 25921 2007-02-16 Adam Roben <aroben (a] apple.com> 25922 25923 Reviewed by Oliver. 25924 25925 Implemented square button look. 25926 25927 * rendering/RenderThemeSafari.cpp: 25928 (WebCore::RenderThemeSafari::adjustRepaintRect): Only inflate the rect 25929 if we have a pushbutton. 25930 (WebCore::RenderThemeSafari::paintButton): Ditto. 25931 25932 2007-02-15 Anders Carlsson <acarlsson (a] apple.com> 25933 25934 Reviewed by Adam. 25935 25936 Add the default Flash plugin location to the list of plugin paths. 25937 25938 * plugins/win/PluginDatabaseWin.cpp: 25939 (WebCore::addFlashPluginPath): 25940 (WebCore::PluginDatabaseWin::defaultPluginPaths): 25941 25942 2007-02-15 Lou Amadio <lamadio (a] apple.com> 25943 25944 Reviewed by Steve. 25945 25946 <rdar://problem/4945799> CGText: should use correct mechanism to set font smoothing style 25947 25948 * platform/win/FontWin.cpp: 25949 (WebCore::Font::drawGlyphs): 25950 25951 2007-02-15 Anders Carlsson <acarlsson (a] apple.com> 25952 25953 Reviewed by Adam. 25954 25955 <rdar://problem/4987529> 25956 Regression: first clicks don't work at flash-based Nokia.com 25957 25958 * plugins/win/PluginViewWin.cpp: 25959 (WebCore::PluginViewWin::handleMouseEvent): 25960 Don't set buttons for mouse move. Also, ignore unknown mouse events. 25961 25962 2007-02-13 Brady Eidson <beidson (a] apple.com> 25963 25964 Reviewed by Adam 25965 25966 Switch permanently from CFStreamError to CFErrorRef in ResourceHandleCF 25967 25968 * platform/network/cf/ResourceHandleCFNet.cpp: 25969 (WebCore::didFail): 25970 (WebCore::ResourceHandle::start): 25971 25972 2007-02-13 Adam Roben <aroben (a] apple.com> 25973 25974 Build fix. 25975 25976 * WebCore.vcproj/WebCore.vcproj: Remove SVGDOMImplementation.(cpp|h) 25977 25978 2007-02-12 Ada Chan <adachan (a] apple.com> 25979 25980 Reviewed by Steve. 25981 25982 <rdar://4952715> Events not being passed from WebCore/WebKit up through IWebForm::doCommandBySelector 25983 Frame::doTextFieldCommandFromEvent()'s signature has changed from taking in a PlatformKeyboardEvent 25984 to KeyboardEvent. Match that in FrameWin. 25985 25986 * bridge/win/FrameWin.cpp: 25987 (WebCore::FrameWin::doTextFieldCommandFromEvent): 25988 * bridge/win/FrameWin.h: 25989 25990 2007-02-10 Adam Roben <aroben (a] apple.com> 25991 25992 Rubberstamped by Oliver. 25993 25994 * rendering/RenderThemeSafari.cpp: 25995 (WebCore::RenderThemeSafari::paintButton): Call controlSizeFromRect 25996 instead of controlSizeForFont to determine the correct control size. 25997 25998 2007-02-09 Alice Liu <alice.liu (a] apple.com> 25999 26000 Reviewed by Brady and Adam. 26001 26002 Fixed <rdar://4986194> Typing in content editable body does not automatically scroll to reveal cursor 26003 26004 * platform/win/ScrollViewWin.cpp: 26005 (WebCore::ScrollView::updateScrollbars): 26006 The scrollview's scrolloffset wasn't getting set in cases where there were no scrollbars 26007 You can have a scrolloffset even if you don't have scrollbars 26008 26009 2007-02-09 Darin Adler <darin (a] apple.com> 26010 26011 Reviewed by Adele. 26012 26013 - Add TextEvent to the DOM (based on the proposed DOM level 3) 26014 to be used to fix some international input bugs soon. 26015 At this point, we don't send any text events. 26016 26017 - Remove some obsolete files. 26018 26019 * WebCore.vcproj/WebCore.vcproj: Add new files, remove obsolete files. 26020 26021 2007-02-09 Anders Carlsson <acarlsson (a] apple.com> 26022 26023 Reviewed by Adam. 26024 26025 * plugins/win/PluginViewWin.cpp: 26026 (WebCore::PluginViewWin::performRequest): 26027 Add the stream to the m_streams hash set. 26028 26029 2007-02-08 Adele Peterson <adele (a] apple.com> 26030 26031 Reviewed by Brady. 26032 26033 Fix for http://bugs.webkit.org/show_bug.cgi?id=12599 26034 <rdar://problem/4973507> REGRESSION: When replying in Gmail, the caret disappears when you start to type (12599) 26035 26036 This also fixes a bug where when you called window.focus() on a background window, it did not come to the front. 26037 26038 * bridge/win/FrameWin.h: Removed focusWindow() and unfocusWindow() stubs since there are now implementations in the base class. 26039 * platform/win/TemporaryLinkStubs.cpp: 26040 26041 2007-02-08 Anders Carlsson <acarlsson (a] apple.com> 26042 26043 Reviewed by Geoff. 26044 26045 <rdar://problem/4955068> 26046 PluginViewWin leaks memory. 26047 26048 Make streams ref-counted. Remove streams from the hash set once they're done loading. 26049 26050 Don't try to paint if painting is disabled. 26051 26052 * plugins/win/PluginStreamWin.cpp: 26053 (WebCore::PluginStreamWin::PluginStreamWin): 26054 (WebCore::PluginStreamWin::cancelAndDestroyStream): 26055 (WebCore::PluginStreamWin::destroyStream): 26056 * plugins/win/PluginStreamWin.h: 26057 * plugins/win/PluginViewWin.cpp: 26058 (WebCore::PluginViewWin::paint): 26059 (WebCore::PluginViewWin::stop): 26060 (WebCore::PluginViewWin::~PluginViewWin): 26061 (WebCore::PluginViewWin::disconnectStream): 26062 * plugins/win/PluginViewWin.h: 26063 26064 2007-02-08 Adam Roben <aroben (a] apple.com> 26065 26066 Reviewed by Adele. 26067 26068 Fix scrollbar painting. 26069 26070 * platform/win/PlatformScrollBarSafari.cpp: 26071 (WebCore::trackRepaintRect): Added. 26072 (WebCore::buttonRepaintRect): Added. 26073 (WebCore::PlatformScrollbar::invalidateTrack): Inavlidate the repaint 26074 rect, not the rect used for hit testing. 26075 (WebCore::PlatformScrollbar::invalidatePart): Ditto. 26076 (WebCore::PlatformScrollbar::paint): Paint the track first, then the 26077 buttons, then the thumb. 26078 (WebCore::PlatformScrollbar::paintButton): Paint in the repaintRect, 26079 not the rect used for hit testing. 26080 (WebCore::PlatformScrollbar::paintTrack): Ditto. 26081 26082 2007-02-08 Anders Carlsson <acarlsson (a] apple.com> 26083 26084 Remove unused stub. 26085 26086 * platform/win/TemporaryLinkStubs.cpp: 26087 26088 2007-02-08 Anders Carlsson <acarlsson (a] apple.com> 26089 26090 Reviewed by Brady. 26091 26092 <rdar://problem/4888871> 26093 Need to support synchronous XMLHttpRequest. 26094 26095 * platform/network/cf/ResourceHandleCFNet.cpp: 26096 (WebCore::ResourceHandle::loadResourceSynchronously): 26097 26098 2007-02-07 Adam Roben <aroben (a] apple.com> 26099 26100 Reviewed by Maciej. 26101 26102 Fix mini search field painting. 26103 26104 * rendering/RenderThemeSafari.cpp: 26105 (WebCore::RenderThemeSafari::searchFieldSizes): Use the right height. 26106 26107 2007-02-07 Adele Peterson <adele (a] apple.com> 26108 26109 Reviewed by Adam. 26110 26111 Draw a single down arrow for styled menu lists. 26112 26113 * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintMenuListButton): 26114 * rendering/RenderThemeWin.cpp: Moved #ifndef USE_SAFARI_THEME to enclose the body of the file. 26115 26116 2007-02-07 Brady Eidson <beidson (a] apple.com> 26117 26118 RS = Adam 26119 26120 Touch these files to force it to recompile... 26121 26122 * platform/win/PlatformScrollBarSafari.cpp: 26123 * rendering/RenderThemeWin.cpp: 26124 26125 2007-02-07 Adam Roben <aroben (a] apple.com> 26126 26127 Rubberstamped by Maciej. 26128 26129 Turn on SafariTheme so we can try it out. 26130 26131 * WebCore.vcproj/WebCore.vcproj: 26132 26133 2007-02-07 Adam Roben <aroben (a] apple.com> 26134 26135 Reviewed by Adele. 26136 26137 * rendering/RenderThemeSafari.cpp: 26138 (WebCore::RenderThemeSafari::determineState): Pass focus information down to SafariTheme. 26139 26140 2007-02-06 Adam Roben <aroben (a] apple.com> 26141 26142 Rubberstamped by Brady. 26143 26144 Updated for log channel rename. 26145 26146 * platform/win/GDIObjectCounter.cpp: 26147 (WebCore::GDIObjectCounter::~GDIObjectCounter): 26148 26149 2007-02-06 Adele Peterson <adele (a] apple.com> 26150 26151 Reviewed by Adam. 26152 26153 Added support for radio buttons and checkboxes. 26154 26155 * platform/win/PlatformScrollBarSafari.cpp: 26156 (WebCore::PlatformScrollbar::paintButton): 26157 (WebCore::PlatformScrollbar::paintTrack): 26158 (WebCore::PlatformScrollbar::paintThumb): 26159 * rendering/RenderThemeSafari.cpp: 26160 (WebCore::RenderThemeSafari::determineState): 26161 (WebCore::RenderThemeSafari::platformActiveSelectionForegroundColor): 26162 (WebCore::RenderThemeSafari::adjustRepaintRect): 26163 (WebCore::RenderThemeSafari::paintCheckbox): 26164 (WebCore::RenderThemeSafari::checkboxMargins): 26165 (WebCore::RenderThemeSafari::paintRadio): 26166 (WebCore::RenderThemeSafari::radioMargins): 26167 (WebCore::RenderThemeSafari::adjustMenuListStyle): 26168 (WebCore::RenderThemeSafari::paintSliderThumb): 26169 * rendering/RenderThemeSafari.h: 26170 26171 2007-02-05 Adam Roben <aroben (a] apple.com> 26172 26173 Reviewed by Ada and Oliver. 26174 26175 Add a GDIObjectCounter class that informs us of GDI leaks. 26176 26177 * WebCore.vcproj/WebCore.vcproj: Added new files. 26178 * platform/win/GDIObjectCounter.cpp: Added. 26179 (WebCore::GDIObjectCounter::GDIObjectCounter): 26180 (WebCore::GDIObjectCounter::init): 26181 (WebCore::GDIObjectCounter::~GDIObjectCounter): 26182 (WebCore::GDIObjectCounter::currentGDIObjectsInUse): 26183 * platform/win/GDIObjectCounter.h: Added. 26184 26185 2007-02-05 Adam Roben <aroben (a] apple.com> 26186 26187 Build fix. 26188 26189 * WebCore.vcproj/WebCore.vcproj: Add new files. 26190 26191 2007-02-04 Oliver Hunt <oliver (a] apple.com> 26192 26193 Reviewed by Adam. 26194 26195 Removed unimplemented EventHandler::handleMouseUp, 26196 as a platform independent version is available now. 26197 26198 * page/win/EventHandlerWin.cpp: 26199 (WebCore::EventHandler::eventActivatedView): 26200 Now we use this method, it needs to be implemented 26201 26202 2007-02-02 Steve Falkenburg <sfalken (a] apple.com> 26203 26204 Fix build. 26205 26206 * WebCore.vcproj/WebCore.vcproj: 26207 26208 2007-02-02 Steve Falkenburg <sfalken (a] apple.com> 26209 26210 * platform/network/cf/FormDataStreamCFNet.cpp: 26211 26212 2007-02-02 Adam Roben <aroben (a] apple.com> 26213 26214 Turn on Lucida Grande. 26215 26216 * rendering/RenderThemeSafari.cpp: 26217 (WebCore::RenderThemeSafari::systemFont): 26218 Use Lucida Grande. 26219 (WebCore::RenderThemeSafari::setFontFromControlSize): 26220 Ditto. 26221 (WebCore::RenderThemeSafari::controlSizeForSystemFont): 26222 Implemented using font sizes from NSFont.m. 26223 (WebCore::RenderThemeSafari::adjustRepaintRect): 26224 Uncommented. 26225 (WebCore::RenderThemeSafari::minimumMenuListSize): 26226 Ditto. 26227 26228 2007-02-02 Adam Roben <aroben (a] apple.com> 26229 26230 Reviewed by Maciej. 26231 26232 Implemented menulist drawing. 26233 26234 * rendering/RenderThemeSafari.cpp: 26235 (WebCore::controlSizeFromRect): 26236 Moved to top of file. 26237 (WebCore::RenderThemeSafari::adjustRepaintRect): 26238 Uncommented menulist case. 26239 (WebCore::RenderThemeSafari::popupButtonMargins): 26240 Added controlSize parameter, made margins match AppKit artwork. 26241 (WebCore::RenderThemeSafari::paintMenuList): 26242 Implemented. 26243 * rendering/RenderThemeSafari.h: 26244 Updated decalartion. 26245 26246 2007-02-01 Anders Carlsson <acarlsson (a] apple.com> 26247 26248 Reviewed by Brady. 26249 26250 * platform/network/cf/ResourceHandleCFNet.cpp: 26251 (WebCore::willSendRequest): 26252 Make sure to always retain the request we return. (In practice, we were already doing this since 26253 client can never be null). 26254 26255 (WebCore::didReceiveResponse): 26256 Remove client null check. 26257 26258 2007-02-01 Steve Falkenburg <sfalken (a] apple.com> 26259 26260 Production build fix 26261 26262 * WebCore.vcproj/WebCore.vcproj: 26263 26264 2007-01-31 Oliver Hunt <oliver (a] apple.com> 26265 26266 Reviewed by Adam. 26267 26268 Updating event handler logic to make use of methods migrated from 26269 WebKit to WebCore 26270 26271 * page/win/EventHandlerWin.cpp: 26272 (WebCore::EventHandler::handleDrag): 26273 Updating handleDrag to use methods that we've migrated to WebCore 26274 * platform/win/PlatformMouseEventWin.cpp: 26275 (WebCore::messageToEventType): 26276 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 26277 provide the type of mouse event 26278 26279 26280 2007-01-31 Steve Falkenburg <sfalken (a] apple.com> 26281 26282 Reviewed by Ada. 26283 26284 Fix BString bugs. 26285 26286 * platform/win/BString.cpp: 26287 (WebCore::BString::BString): Call SysAllocString instead of SysAllocStringLen 26288 (WebCore::BString::operator=): Add proper null checks 26289 (WebCore::operator ==): Add proper null checks 26290 26291 2007-01-30 Anders Carlsson <acarlsson (a] apple.com> 26292 26293 Build fix. 26294 26295 * platform/win/TemporaryLinkStubs.cpp: 26296 (ResourceHandle::setDefersLoading): 26297 26298 2007-01-30 Steve Falkenburg <sfalken (a] apple.com> 26299 26300 Production build fix 26301 26302 * WebCore.vcproj/WebCore.vcproj: 26303 26304 2007-01-29 Adam Roben <aroben (a] apple.com> 26305 26306 Build fix. 26307 26308 * platform/win/TemporaryLinkStubs.cpp: Removed old stub. 26309 26310 2007-01-29 Brady Eidson <beidson (a] apple.com> 26311 26312 Reviewed by Oliver 26313 26314 All the downloads plumbing for if you have ToT CFNetwork + my changes 26315 (or after they submit with my changes) 26316 26317 * platform/network/cf/FormDataStreamCFNet.cpp: Reword the #ifdef for CFNetwork ToT for clarity 26318 * platform/network/cf/ResourceHandleCFNet.cpp: 26319 (WebCore::didFail): Use a RetainPtr .get() 26320 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): Only cancel the connection if we hold the last ref 26321 (WebCore::ResourceHandle::start): Use a RetainPtr - adopt and .get() 26322 (WebCore::ResourceHandle::cancel): Use a RetainPtr .get() 26323 (WebCore::ResourceHandle::receivedCredential):Use a RetainPtr .get() 26324 (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): Use a RetainPtr .get() 26325 (WebCore::ResourceHandle::connection): Use a RetainPtr .get() 26326 * platform/network/cf/ResourceRequestCFNet.cpp: 26327 (WebCore::ResourceRequest::doUpdatePlatformRequest): Prevent a crash if a null 26328 26329 2007-01-29 Brady Eidson <beidson (a] apple.com> 26330 26331 Reviewed by Geoff 26332 26333 Change LOG_NOTIMPL() to use a LOG() and its logging channel instead of LOG_ERROR() 26334 so you can actually turn it off. 26335 26336 * platform/win/NotImplemented.h: 26337 26338 2007-01-29 Maciej Stachowiak <mjs (a] apple.com> 26339 26340 - fix build 26341 26342 * platform/win/TemporaryLinkStubs.cpp: 26343 26344 2007-01-29 Steve Falkenburg <sfalken (a] apple.com> 26345 26346 Fix build break from RootObject ownership change. 26347 26348 * bridge/win/FrameWin.cpp: 26349 (WebCore::FrameWin::createRootObject): Added 26350 (WebCore::FrameWin::cleanupPluginObjects): change destroy to invalidate 26351 (WebCore::FrameWin::bindingRootObject): change new RootObject to RootObject::create 26352 * bridge/win/FrameWin.h: 26353 * plugins/win/PluginViewWin.cpp: 26354 (WebCore::PluginViewWin::bindingInstance): change new RootObject to FrameWin::createRootObject. 26355 26356 2007-01-26 Adam Roben <aroben (a] apple.com> 26357 26358 Reviewed by Oliver. 26359 26360 Fix frequent failed assertions when painting scroll bars. 26361 26362 * platform/win/PlatformScrollBarSafari.cpp: 26363 (WebCore::PlatformScrollbar::paint): Check that painting is enabled 26364 before painting. 26365 26366 2007-01-26 Oliver Hunt <oliver (a] apple.com> 26367 26368 Build fix. 26369 26370 * WebCore.vcproj/WebCore.vcproj: 26371 26372 2007-01-26 Beth Dakin <bdakin (a] apple.com> 26373 26374 Reviewed by Darin. 26375 26376 Due to <rdar://problem/4956565> REGRESSION: After scrolling frame, 26377 hovering over link in this frame doesn't change cursor to pointing 26378 hand 26379 26380 lastEventIsMouseUp() is a Mac-only issue. This patch makes it Mac- 26381 only code, so we can remove the temporary link stub for it. 26382 26383 * platform/win/TemporaryLinkStubs.cpp: 26384 26385 2007-01-26 Oliver Hunt <oliver (a] apple.com> 26386 26387 Build fix -- adding SVGInlineTextBox.{cpp,h} to project 26388 26389 * WebCore.vcproj/WebCore.vcproj: 26390 26391 2007-01-25 Oliver Hunt <oliver (a] apple.com> 26392 26393 Reviewed by Maciej. 26394 26395 Fixed DragDataWin behaviour so that it will provide plain text 26396 for a file dropped on the window. 26397 26398 * platform/win/DragDataWin.cpp: 26399 (WebCore::DragData::asPlainText): 26400 26401 2007-01-25 Brady Eidson <beidson (a] apple.com> 26402 26403 Reviewed by Adam 26404 26405 -Setup for new CFNetwork API for those using their ToT and their next submission 26406 -Setup for new CoreFoundation API for those using their ToT and their next submission 26407 26408 * platform/network/cf/FormDataStreamCFNet.cpp: 26409 (WebCore::setHTTPBody): New callback format - will need to define USE_NEW_CFSTREAM_CALLBACKS 26410 to switch to the new API 26411 * platform/network/cf/ResourceHandleCFNet.cpp: 26412 (WebCore::didFail): This automagically works :) 26413 26414 2007-01-25 Adele Peterson <adele (a] apple.com> 26415 26416 Reviewed by Adam. 26417 26418 Added support for slider. 26419 26420 * rendering/RenderThemeSafari.cpp: 26421 (WebCore::RenderThemeSafari::RenderThemeSafari): 26422 (WebCore::RenderThemeSafari::inflateRect): 26423 (WebCore::RenderThemeSafari::paintSliderTrack): 26424 (WebCore::RenderThemeSafari::paintSliderThumb): 26425 * rendering/RenderThemeSafari.h: 26426 26427 2007-01-25 Steve Falkenburg <sfalken (a] apple.com> 26428 26429 Production build fix 26430 26431 * WebCore.vcproj/WebCore.vcproj: 26432 26433 2007-01-24 Adele Peterson <adele (a] apple.com> 26434 26435 Reviewed by Brady and Oliver. 26436 26437 Moved keyEvent method from FrameWin to EventHandler and updated 26438 call sites. Now this method is shared with the mac. 26439 26440 * bridge/win/FrameWin.cpp: 26441 * bridge/win/FrameWin.h: 26442 26443 2007-01-24 Steve Falkenburg <sfalken (a] apple.com> 26444 26445 Reviewed by Lou. 26446 26447 * bridge/win/FrameWin.cpp: 26448 (WebCore::regExpForLabels): Ported from FrameMac.mm 26449 (WebCore::FrameWin::searchForLabelsAboveCell): Ported from FrameMac.mm 26450 (WebCore::FrameWin::searchForLabelsBeforeElement): Ported from FrameMac.mm 26451 (WebCore::FrameWin::matchLabelsAgainstElement): Ported from FrameMac.mm 26452 * bridge/win/FrameWin.h: 26453 26454 2007-01-24 Adam Roben <aroben (a] apple.com> 26455 26456 Reviewed by Adele. 26457 26458 Added PlatformScrollBarSafari for Aqua scroll bars. 26459 26460 * WebCore.vcproj/WebCore.vcproj: Added new file to project. 26461 * platform/win/PlatformScrollBarSafari.cpp: Added. Copied from PlatformScrollBarWin.cpp. 26462 (WebCore::PlatformScrollbar::PlatformScrollbar): 26463 (WebCore::PlatformScrollbar::paint): 26464 (WebCore::PlatformScrollbar::backButtonRect): 26465 (WebCore::PlatformScrollbar::forwardButtonRect): 26466 (WebCore::PlatformScrollbar::trackRect): 26467 (WebCore::PlatformScrollbar::thumbLength): 26468 (WebCore::PlatformScrollbar::paintButton): 26469 (WebCore::PlatformScrollbar::paintTrack): 26470 (WebCore::PlatformScrollbar::paintThumb): 26471 (WebCore::PlatformScrollbar::paintGripper): 26472 (WebCore::PlatformScrollbar::gripperRect): 26473 (WebCore::PlatformScrollbar::themeChanged): 26474 * platform/win/PlatformScrollBarWin.cpp: Added #ifndef USE_SAFARI_THEME. 26475 * rendering/RenderThemeSafari.cpp: Updated for SafariTheme.h changes. 26476 (WebCore::RenderThemeSafari::RenderThemeSafari): 26477 26478 2007-01-23 Brady Eidson <beidson (a] apple.com> 26479 26480 Reviewed by Steve 26481 26482 Initial hookup of Download support 26483 26484 * platform/network/cf/ResourceErrorCF.cpp: 26485 (WebCore::ResourceError::ResourceError): 26486 (WebCore::ResourceError::operator CFStreamError): 26487 26488 * platform/network/cf/ResourceHandleCFNet.cpp: 26489 (WebCore::ResourceHandle::loaderRunLoop): Accessor so downloads can run on the same 26490 runloop as connections 26491 (WebCore::ResourceHandle::start): 26492 (WebCore::ResourceHandle::connection): 26493 26494 * platform/win/BString.cpp: 26495 (WebCore::BString::BString): Ability to create BString from a CFStringRef 26496 * platform/win/BString.h: 26497 26498 2007-01-23 Anders Carlsson <acarlsson (a] apple.com> 26499 26500 Reviewed by Darin. 26501 26502 <rdar://problem/4919754> 26503 Boomer freezes after attempt to play video. 26504 26505 * plugins/win/PluginStreamWin.cpp: 26506 Change WebReasonNone to -2, some plugins return -1 to indicate error. 26507 26508 (WebCore::PluginStreamWin::stop): 26509 Just don't clear the loader, stop loading as well. 26510 26511 (WebCore::PluginStreamWin::startStream): 26512 Destroy the stream if newstream returns an error. 26513 26514 * plugins/win/PluginViewWin.cpp: 26515 (WebCore::PluginViewWin::performRequest): 26516 If the call to toString throws an exception, clear it. 26517 26518 2007-01-23 Steve Falkenburg <sfalken (a] apple.com> 26519 26520 Fix release build. 26521 26522 * WebCore.vcproj/WebCore.vcproj: 26523 26524 2007-01-23 Adele Peterson <adele (a] apple.com> 26525 26526 Reviewed by Adam. 26527 26528 Added call to paintThemeTextArea. 26529 26530 * rendering/RenderThemeSafari.cpp: 26531 (WebCore::RenderThemeSafari::paintTextArea): 26532 26533 2007-01-23 Anders Carlsson <acarlsson (a] apple.com> 26534 26535 Build fixes. 26536 26537 * WebCore.vcproj/WebCore.vcproj: 26538 Copy plugin and JS headers. 26539 26540 * loader/win/FrameLoaderWin.cpp: 26541 Move functions to WebKitWin. 26542 26543 2007-01-23 Oliver Hunt <oliver (a] apple.com> 26544 26545 Reviewed by Adam. 26546 26547 * WebCore.vcproj/WebCore.vcproj: 26548 * page/win/DragControllerWin.cpp: Added. 26549 (WebCore::DragController::dragOperation): 26550 (WebCore::DragController::isCopyKeyDown): 26551 Platform specific implementation 26552 26553 * platform/win/ClipboardWin.cpp: 26554 (WebCore::ClipboardWin::ClipboardWin): 26555 (WebCore::ClipboardWin::isForDragging): 26556 * platform/win/ClipboardWin.h: 26557 Migrated common Clipboard functionality from ClipboardMac/Win -> Clipboard 26558 26559 * platform/win/DragDataWin.cpp: Added. 26560 (WebCore::DragData::createClipboard): 26561 (WebCore::urlWFormat): 26562 (WebCore::urlFormat): 26563 (WebCore::filenameWFormat): 26564 (WebCore::filenameFormat): 26565 (WebCore::plainTextFormat): 26566 (WebCore::plainTextWFormat): 26567 (WebCore::DragData::containsURL): 26568 (WebCore::extractURL): 26569 (WebCore::DragData::asURL): 26570 (WebCore::DragData::containsPlainText): 26571 (WebCore::DragData::asPlainText): 26572 (WebCore::texthtmlFormat): 26573 (WebCore::htmlFormat): 26574 (WebCore::containsHTML): 26575 (WebCore::fragmentFromHTML): 26576 (WebCore::containsFilenames): 26577 (WebCore::fragmentFromFilenames): 26578 (WebCore::DragData::containsColor): 26579 (WebCore::DragData::canSmartReplace): 26580 (WebCore::DragData::containsCompatibleContent): 26581 (WebCore::DragData::asFragment): 26582 (WebCore::DragData::asColor): 26583 Implementation of DragData accesor methods, and helper functions 26584 26585 * platform/win/EditorWin.cpp: 26586 (WebCore::Editor::newGeneralClipboard): 26587 Updated for new ClipboardWin constructor 26588 26589 * platform/win/PasteboardWin.cpp: 26590 (WebCore::fragmentFromCF_HTML): 26591 (WebCore::Pasteboard::documentFragment): 26592 Pulled out CF_HTML parsing to a seperate function so logic 26593 can be shared with DragDataWin 26594 26595 2007-01-22 Adam Roben <aroben (a] apple.com> 26596 26597 Reviewed by Adele. 26598 26599 Implemented search field painting, and did some cleanup. 26600 26601 * rendering/RenderThemeSafari.cpp: 26602 (WebCore::RenderThemeSafari::RenderThemeSafari): Updated for changes to SafariTheme. 26603 (WebCore::RenderThemeSafari::paintButton): Ditto. 26604 (WebCore::RenderThemeSafari::paintTextField): Ditto. 26605 (WebCore::controlSizeFromRect): New helper function. 26606 (WebCore::RenderThemeSafari::paintSearchField): Implemented. 26607 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto. 26608 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto. 26609 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto. 26610 (WebCore::RenderThemeSafari::setSearchFieldSize): Uncommented setSizeFromFont call. 26611 (WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle): Ditto. 26612 (WebCore::RenderThemeSafari::adjustSearchFieldDecorationStyle): Ditto. 26613 (WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationStyle): Ditto. 26614 (WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle): Ditto. 26615 26616 2007-01-22 Anders Carlsson <acarlsson (a] apple.com> 26617 26618 Reviewed by Adam. 26619 26620 <rdar://problem/4771115> 26621 Windows Media Player plugin crashes. 26622 26623 * WebCore.vcproj/WebCore.vcproj: 26624 Formatting changes. 26625 26626 * plugins/win/PluginDatabaseWin.cpp: 26627 (WebCore::PluginDatabaseWin::defaultPluginPaths): 26628 Add Windows Media Player path. 26629 26630 * plugins/win/PluginStreamWin.cpp: 26631 (WebCore::PluginStreamWin::sendJavaScriptStream): 26632 * plugins/win/PluginStreamWin.h: 26633 New function which sends a JavaScript result stream and handles any errors that the 26634 plug-in returns. 26635 26636 * plugins/win/PluginViewWin.cpp: 26637 (WebCore::PluginViewWin::setFrameGeometry): 26638 Always call NPP_SetWindow, some plugins (like WMP) relies on it. 26639 26640 (WebCore::PluginViewWin::performRequest): 26641 If a plug-in requests a javascript: URL that doesn't evaluate to a string, call toString on it. 26642 The Windows Media Player plugin calls javascript:document.location and expects to get the location back. 26643 26644 2007-01-23 Darin Adler <darin (a] apple.com> 26645 26646 - internal part of fix for http://bugs.webkit.org/show_bug.cgi?id=12273 26647 REGRESSION: File input value invisible after removing and re-appending 26648 26649 * WebCore.vcproj/WebCore.vcproj: Added FileChooser.cpp. 26650 26651 * platform/win/FileChooserWin.cpp: Removed many now-unneeded functions. 26652 (WebCore::FileChooser::FileChooser): Updated for changed parameters and members. 26653 (WebCore::FileChooser::openFileChooser): Changed to take document parmaeter and 26654 find the FrameView from that instead of the upload control. 26655 (WebCore::FileChooser::basenameForWidth): Added ignored Font parameter. 26656 26657 2007-01-22 Anders Carlsson <acarlsson (a] apple.com> 26658 26659 Reviewed by Adam. 26660 26661 <rdar://problem/4903230> 26662 Boomer crashes at Flickr website when "View as slideshow" is clicked. 26663 26664 * plugins/win/PluginViewWin.cpp: 26665 (WebCore::PluginViewWin::bindingInstance): 26666 Return null if m_plugin is null (which it can be if the plugin failed to load). 26667 26668 2007-01-22 Anders Carlsson <acarlsson (a] apple.com> 26669 26670 Build fix. 26671 26672 * WebCore.vcproj/WebCore.vcproj: 26673 26674 2007-01-22 Adam Roben <aroben (a] apple.com> 26675 26676 Moved ifdefs to match Darin's suggestion. 26677 26678 * rendering/RenderThemeSafari.cpp: 26679 * rendering/RenderThemeSafari.h: 26680 26681 2007-01-22 Adam Roben <aroben (a] apple.com> 26682 26683 Build fix. 26684 26685 * rendering/RenderThemeSafari.cpp: 26686 (WebCore::theme): 26687 * rendering/RenderThemeSafari.h: 26688 26689 2007-01-21 Adam Roben <aroben (a] apple.com> 26690 26691 Reviewed by Maciej. 26692 26693 Implemented drawing button states and control sizes. 26694 26695 * WebCore.vcproj/WebCore.vcproj: 26696 * rendering/RenderThemeSafari.cpp: 26697 (WebCore::RenderThemeSafari::determineState): Added. 26698 (WebCore::RenderThemeSafari::systemFont): Implemented rest of font sizes. 26699 (WebCore::RenderThemeSafari::paintButton): Updated for SafariTheme changes. 26700 (WebCore::RenderThemeSafari::paintTextField): Ditto. 26701 * rendering/RenderThemeSafari.h: Added declaration. 26702 26703 2007-01-21 Adam Roben <aroben (a] apple.com> 26704 26705 Reviewed by Maciej. 26706 26707 * rendering/RenderThemeSafari.cpp: Updated declarations of SafariTheme calls. 26708 (WebCore::systemFontSizeForControlSize): Added. 26709 (WebCore::RenderThemeSafari::systemFont): Made it work in the small-control case. 26710 (WebCore::RenderThemeSafari::adjustRepaintRect): Made it work for buttons and checkboxes. 26711 (WebCore::RenderThemeSafari::setFontFromControlSize): Fixed to work on Windows. 26712 (WebCore::RenderThemeSafari::checkboxMargins): Added controlSize parameter. 26713 (WebCore::RenderThemeSafari::buttonMargins): Ditto. 26714 (WebCore::RenderThemeSafari::paintButton): Fixed FIXME, added save/restore calls. 26715 (WebCore::RenderThemeSafari::paintTextField): Added save/restore calls. 26716 * rendering/RenderThemeSafari.h: Updated declarations. 26717 26718 2007-01-21 Adele Peterson <adele (a] apple.com> 26719 26720 Reviewed by Adam. 26721 26722 Adding RenderThemeSafari. 26723 26724 * WebCore.vcproj/WebCore.vcproj: 26725 * rendering/RenderThemeSafari.cpp: Added. 26726 (WebCore::): 26727 (WebCore::theme): 26728 (WebCore::RenderThemeSafari::RenderThemeSafari): 26729 (WebCore::RenderThemeSafari::~RenderThemeSafari): 26730 (WebCore::RenderThemeSafari::platformActiveSelectionBackgroundColor): 26731 (WebCore::RenderThemeSafari::platformInactiveSelectionBackgroundColor): 26732 (WebCore::RenderThemeSafari::activeListBoxSelectionBackgroundColor): 26733 (WebCore::RenderThemeSafari::systemFont): 26734 (WebCore::RenderThemeSafari::isControlStyled): 26735 (WebCore::RenderThemeSafari::adjustRepaintRect): 26736 (WebCore::RenderThemeSafari::inflateRect): 26737 (WebCore::RenderThemeSafari::baselinePosition): 26738 (WebCore::RenderThemeSafari::controlSupportsTints): 26739 (WebCore::RenderThemeSafari::controlSizeForFont): 26740 (WebCore::RenderThemeSafari::sizeForFont): 26741 (WebCore::RenderThemeSafari::sizeForSystemFont): 26742 (WebCore::RenderThemeSafari::setSizeFromFont): 26743 (WebCore::RenderThemeSafari::setFontFromControlSize): 26744 (WebCore::RenderThemeSafari::controlSizeForSystemFont): 26745 (WebCore::RenderThemeSafari::paintCheckbox): 26746 (WebCore::RenderThemeSafari::checkboxSizes): 26747 (WebCore::RenderThemeSafari::checkboxMargins): 26748 (WebCore::RenderThemeSafari::setCheckboxSize): 26749 (WebCore::RenderThemeSafari::paintRadio): 26750 (WebCore::RenderThemeSafari::radioSizes): 26751 (WebCore::RenderThemeSafari::radioMargins): 26752 (WebCore::RenderThemeSafari::setRadioSize): 26753 (WebCore::RenderThemeSafari::setButtonPaddingFromControlSize): 26754 (WebCore::RenderThemeSafari::adjustButtonStyle): 26755 (WebCore::RenderThemeSafari::buttonSizes): 26756 (WebCore::RenderThemeSafari::buttonMargins): 26757 (WebCore::RenderThemeSafari::setButtonSize): 26758 (WebCore::RenderThemeSafari::paintButton): 26759 (WebCore::RenderThemeSafari::paintTextField): 26760 (WebCore::RenderThemeSafari::adjustTextFieldStyle): 26761 (WebCore::RenderThemeSafari::paintTextArea): 26762 (WebCore::RenderThemeSafari::adjustTextAreaStyle): 26763 (WebCore::RenderThemeSafari::popupButtonMargins): 26764 (WebCore::RenderThemeSafari::popupButtonSizes): 26765 (WebCore::RenderThemeSafari::popupButtonPadding): 26766 (WebCore::RenderThemeSafari::setPopupPaddingFromControlSize): 26767 (WebCore::RenderThemeSafari::paintMenuList): 26768 (WebCore::TopGradientInterpolate): 26769 (WebCore::BottomGradientInterpolate): 26770 (WebCore::MainGradientInterpolate): 26771 (WebCore::TrackGradientInterpolate): 26772 (WebCore::RenderThemeSafari::paintMenuListButtonGradients): 26773 (WebCore::RenderThemeSafari::paintMenuListButton): 26774 (WebCore::RenderThemeSafari::adjustMenuListStyle): 26775 (WebCore::RenderThemeSafari::adjustMenuListButtonStyle): 26776 (WebCore::RenderThemeSafari::menuListSizes): 26777 (WebCore::RenderThemeSafari::minimumMenuListSize): 26778 (WebCore::RenderThemeSafari::paintSliderTrack): 26779 (WebCore::RenderThemeSafari::paintSliderThumb): 26780 (WebCore::RenderThemeSafari::adjustSliderThumbSize): 26781 (WebCore::RenderThemeSafari::paintSearchField): 26782 (WebCore::RenderThemeSafari::searchFieldSizes): 26783 (WebCore::RenderThemeSafari::setSearchFieldSize): 26784 (WebCore::RenderThemeSafari::adjustSearchFieldStyle): 26785 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): 26786 (WebCore::RenderThemeSafari::cancelButtonSizes): 26787 (WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle): 26788 (WebCore::RenderThemeSafari::resultsButtonSizes): 26789 (WebCore::RenderThemeSafari::adjustSearchFieldDecorationStyle): 26790 (WebCore::RenderThemeSafari::paintSearchFieldDecoration): 26791 (WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationStyle): 26792 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): 26793 (WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle): 26794 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): 26795 * rendering/RenderThemeSafari.h: Added. 26796 (WebCore::RenderThemeSafari::supportsControlTints): 26797 * rendering/RenderThemeWin.cpp: 26798 26799 2007-01-21 Adam Roben <aroben (a] apple.com> 26800 26801 Build fix. 26802 26803 * WebCore.vcproj/WebCore.vcproj: Added JSDocumentCustom.cpp. 26804 26805 2007-01-19 Ada Chan <adachan (a] apple.com> 26806 26807 Build fix. 26808 26809 * WebCore.vcproj/WebCore.vcproj: 26810 26811 2007-01-19 Anders Carlsson <acarlsson (a] apple.com> 26812 26813 Build fix. 26814 26815 * WebCore.vcproj/WebCore.vcproj: 26816 Add SVG files. 26817 26818 2007-01-19 Anders Carlsson <acarlsson (a] apple.com> 26819 26820 Build fix. 26821 26822 * platform/win/ContextMenuItemWin.cpp: 26823 (WebCore::ContextMenuItem::enabled): 26824 Use correct class name. 26825 26826 2007-01-18 Anders Carlsson <acarlsson (a] apple.com> 26827 26828 Reviewed by Adam. 26829 26830 Remove some unused FrameWin functions. 26831 26832 * bridge/win/FrameWin.cpp: 26833 (WebCore::FrameWin::~FrameWin): 26834 * bridge/win/FrameWin.h: 26835 * plugins/win/PluginViewWin.cpp: 26836 (WebCore::PluginViewWin::status): 26837 26838 2007-01-18 Adam Roben <aroben (a] apple.com> 26839 26840 Build fix. 26841 26842 * platform/win/ContextMenuItemWin.cpp: 26843 (WebCore::ContextMenu::enabled): Implemented. 26844 26845 2007-01-18 Anders Carlsson <acarlsson (a] apple.com> 26846 26847 Build fix. 26848 26849 * WebCore.vcproj/WebCore.vcproj: 26850 * platform/win/GlyphMapWin.cpp: Removed. 26851 * platform/win/GlyphPageTreeNodeWin.cpp: Added. 26852 (WebCore::GlyphPage::fill): 26853 26854 2007-01-18 Anders Carlsson <acarlsson (a] apple.com> 26855 26856 Reviewed by Brady. 26857 26858 Fix ownership handling of CFRequestRef. A ResourceRequest holds on to its CFRequestRef 26859 and doesn't ref it when returning it. Also, implement willCacheResponse. 26860 26861 * platform/network/cf/ResourceHandleCFNet.cpp: 26862 (WebCore::willSendRequest): 26863 (WebCore::willCacheResponse): 26864 (WebCore::ResourceHandle::start): 26865 * platform/network/cf/ResourceRequestCFNet.cpp: 26866 (WebCore::ResourceRequest::doUpdatePlatformRequest): 26867 26868 2007-01-17 Brady Eidson <beidson (a] apple.com> 26869 26870 Reviewed by Maciej 26871 26872 Final hookup of HTTP Auth plumbing - have the ResourceHandle actually call into 26873 CFNetwork for HTTP Auth. 26874 26875 Also, deal with svn:eol-style issues on another batch of files that didn't have it set 26876 26877 * platform/network/cf/ResourceHandleCFNet.cpp: 26878 (WebCore::ResourceHandle::receivedCredential): Call into CFNetwork 26879 (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): Ditto 26880 (WebCore::ResourceHandle::receivedCancellation): Copy Mac behavior by calling cancel on the handle 26881 26882 2007-01-16 Brady Eidson <beidson (a] apple.com> 26883 26884 Reviewed by Anders 26885 26886 Futher improvements/bug fixes to BString 26887 26888 * platform/win/BString.cpp: 26889 (WebCore::BString::BString): 26890 (WebCore::BString::operator=): 26891 * platform/win/BString.h: 26892 26893 2007-01-16 Brady Eidson <beidson (a] apple.com> 26894 26895 Reviewed by Ada, Adam, and Anders oh my! 26896 26897 Add handle ==/!= operators to BString 26898 26899 * platform/win/BString.cpp: 26900 (WebCore::operator ==): 26901 (WebCore::operator !=): 26902 * platform/win/BString.h: 26903 26904 2007-01-16 Beth Dakin <bdakin (a] apple.com> 26905 26906 Reviewed by Adam. 26907 26908 Fix for <rdar://problem/4874565> Draw context menus using CG 26909 26910 * platform/win/ContextMenuItemWin.cpp: 26911 (WebCore::ContextMenuItem::type): Re-worked to be more forgiving. 26912 * platform/win/ContextMenuWin.cpp: No need for show() and hide() 26913 since WebKit takes care of this now. 26914 26915 2007-01-15 Brady Eidson <beidson (a] apple.com> 26916 26917 Reviewed by Adam 26918 26919 Hook up AuthenticationChallenge to CF network. 26920 Call up through appropriate client methods through to WebFrame (FrameLoaderClient) at 26921 which point my upcoming implementation for the IWebURL<auth> classes will be used 26922 26923 * WebCore.vcproj/WebCore.vcproj: 26924 * platform/network/cf/AuthenticationCF.cpp: Added. 26925 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 26926 (WebCore::createCF): 26927 (WebCore::core): 26928 * platform/network/cf/AuthenticationCF.h: Added. 26929 * platform/network/cf/ResourceErrorCF.cpp: Added. 26930 (WebCore::ResourceError::ResourceError): 26931 (WebCore::ResourceError::operator CFStreamError): 26932 * platform/network/cf/ResourceHandleCFNet.cpp: 26933 (WebCore::didReceiveChallenge): 26934 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 26935 (WebCore::ResourceHandle::receivedCredential): 26936 (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): 26937 (WebCore::ResourceHandle::receivedCancellation): 26938 26939 2007-01-15 Anders Carlsson <acarlsson (a] apple.com> 26940 26941 Build fix. 26942 26943 * WebCore.vcproj/WebCore.vcproj: 26944 Add ProgressTracker.[cpp|h] 26945 26946 2007-01-12 Anders Carlsson <acarlsson (a] apple.com> 26947 26948 Reviewed by Darin. 26949 26950 * loader/win/FrameLoaderWin.cpp: 26951 (WebCore::FrameLoader::didChangeTitle): 26952 Copied here from FrameLoaderMac.mm 26953 26954 * platform/network/cf/ResourceHandleCFNet.cpp: 26955 (WebCore::ResourceHandle::start): 26956 Removed setting referrer and user-agend and added a check for null page. 26957 26958 (WebCore::ResourceHandle::cancel): 26959 Don't call didFail. 26960 26961 * platform/win/TemporaryLinkStubs.cpp: 26962 (FrameWin::getAppletInstanceForWidget): 26963 Use LOG_NOIMPL here. 26964 26965 2007-01-11 Anders Carlsson <acarlsson (a] apple.com> 26966 26967 * platform/network/cf/ResourceResponseCFNet.cpp: 26968 (WebCore::ResourceResponse::cfURLResponse): 26969 Add getter that I forgot to commit. 26970 26971 2007-01-11 Brady Eidson <beidson (a] apple.com> 26972 26973 Reviewed by NOBODY. 26974 26975 Make it build after my HTTP Auth OpenSource checkin 26976 26977 * WebCore.vcproj/WebCore.vcproj: 26978 26979 2007-01-11 Anders Carlsson <acarlsson (a] apple.com> 26980 26981 Build fix. 26982 26983 * WebCore.vcproj/WebCore.vcproj: 26984 * platform/win/TemporaryLinkStubs.cpp: 26985 (WebCore::Editor::advanceToNextMisspelling): 26986 26987 2007-01-10 Steve Falkenburg <sfalken (a] apple.com> 26988 26989 Reviewed by Lou. 26990 26991 <rdar://problem/4818840> Crash occurs after selecting Print Preview from under the File menu if no printer is selected 26992 26993 * bridge/win/FrameWin.cpp: 26994 (WebCore::FrameWin::computePageRects): removed calls to setupRootForPrinting 26995 * bridge/win/FrameWin.h: removed setupRootForPrinting 26996 26997 2007-01-10 Anders Carlsson <acarlsson (a] apple.com> 26998 26999 Yet another build fix. 27000 27001 * platform/win/TemporaryLinkStubs.cpp: 27002 (DocumentLoader::getResponseModifiedHeader): 27003 27004 2007-01-10 Anders Carlsson <acarlsson (a] apple.com> 27005 27006 Another build fix. 27007 27008 * bridge/win/FrameWin.h: 27009 * loader/win/FrameLoaderWin.cpp: 27010 27011 2007-01-10 Anders Carlsson <acarlsson (a] apple.com> 27012 27013 Build fix. 27014 27015 * platform/win/TemporaryLinkStubs.cpp: 27016 (ResourceHandle::setDefersLoading): 27017 27018 2007-01-09 Steve Falkenburg <sfalken (a] apple.com> 27019 27020 Production build fix 27021 27022 * WebCore.vcproj/WebCore.vcproj: 27023 27024 2007-01-09 Anders Carlsson <acarlsson (a] apple.com> 27025 27026 Build fix. 27027 27028 * platform/win/TextBoundariesWin.cpp: 27029 27030 2007-01-08 Anders Carlsson <acarlsson (a] apple.com> 27031 27032 Remove FrameLoader functions that have been implemented. 27033 27034 * platform/win/TemporaryLinkStubs.cpp: 27035 27036 2007-01-08 Anders Carlsson <acarlsson (a] apple.com> 27037 27038 Build fix. 27039 27040 * WebCore.vcproj/WebCore.vcproj: 27041 27042 2007-01-05 Anders Carlsson <acarlsson (a] apple.com> 27043 27044 Reviewed by Adam. 27045 27046 Update temporary link stubs. 27047 27048 * platform/win/TemporaryLinkStubs.cpp: 27049 (FrameLoader::referrer): 27050 (FrameLoader::overrideMediaType): 27051 (FrameLoader::checkLoadCompleteForThisFrame): 27052 (DocumentLoader::getResponseRefreshAndModifiedHeaders): 27053 (MainResourceLoader::create): 27054 (ResourceLoader::cancel): 27055 (ResourceLoader::load): 27056 (ResourceLoader::releaseResources): 27057 (ResourceLoader::addData): 27058 27059 2007-01-05 Anders Carlsson <acarlsson (a] apple.com> 27060 27061 Fix build. 27062 27063 * platform/win/TemporaryLinkStubs.cpp: 27064 (ResourceLoader::cancel): 27065 (FrameLoader::didChangeTitle): 27066 (DocumentLoader::unreachableURL): 27067 27068 2007-01-05 Anders Carlsson <acarlsson (a] apple.com> 27069 27070 Fix the build. 27071 27072 * WebCore.vcproj/WebCore.vcproj: 27073 * platform/network/cf/ResourceHandleCFNet.cpp: 27074 (WebCore::ResourceHandle::bufferedData): 27075 (WebCore::ResourceHandle::supportsBufferedData): 27076 * platform/win/TemporaryLinkStubs.cpp: 27077 (WebCore::CheckCacheObjectStatus): 27078 27079 2007-01-04 David Hyatt <hyatt (a] apple.com> 27080 27081 Always use 1.0 as the synthetic bold offset for now. Fixes bug 9534. 27082 27083 Reviewed by olliej 27084 27085 * platform/win/FontDataWin.cpp: 27086 (WebCore::FontData::platformInit): 27087 27088 2007-01-03 Darin Adler <darin (a] apple.com> 27089 27090 Reviewed by Adele. 27091 27092 - removed some obsolete source files 27093 27094 * WebCore.vcproj/WebCore.vcproj: Removed obsolete files. 27095 27096 2007-01-03 Beth Dakin <bdakin (a] apple.com> 27097 27098 Reviewed by John. 27099 27100 Add stubs for all of the localized context menu item titles. The 27101 stubs just return English Strings until we have a localization 27102 solution in WebKit. 27103 27104 * platform/win/TemporaryLinkStubs.cpp: 27105 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 27106 (WebCore::contextMenuItemTagDownloadLinkToDisk): 27107 (WebCore::contextMenuItemTagCopyLinkToClipboard): 27108 (WebCore::contextMenuItemTagOpenImageInNewWindow): 27109 (WebCore::contextMenuItemTagDownloadImageToDisk): 27110 (WebCore::contextMenuItemTagCopyImageToClipboard): 27111 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 27112 (WebCore::contextMenuItemTagCopy): 27113 (WebCore::contextMenuItemTagGoBack): 27114 (WebCore::contextMenuItemTagGoForward): 27115 (WebCore::contextMenuItemTagStop): 27116 (WebCore::contextMenuItemTagReload): 27117 (WebCore::contextMenuItemTagCut): 27118 (WebCore::contextMenuItemTagPaste): 27119 (WebCore::contextMenuItemTagNoGuessesFound): 27120 (WebCore::contextMenuItemTagIgnoreSpelling): 27121 (WebCore::contextMenuItemTagLearnSpelling): 27122 (WebCore::contextMenuItemTagSearchWeb): 27123 (WebCore::contextMenuItemTagLookUpInDictionary): 27124 (WebCore::contextMenuItemTagOpenLink): 27125 (WebCore::contextMenuItemTagIgnoreGrammar): 27126 (WebCore::contextMenuItemTagSpellingMenu): 27127 (WebCore::contextMenuItemTagShowSpellingPanel): 27128 (WebCore::contextMenuItemTagCheckSpelling): 27129 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 27130 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 27131 (WebCore::contextMenuItemTagFontMenu): 27132 (WebCore::contextMenuItemTagBold): 27133 (WebCore::contextMenuItemTagItalic): 27134 (WebCore::contextMenuItemTagUnderline): 27135 (WebCore::contextMenuItemTagOutline): 27136 (WebCore::contextMenuItemTagWritingDirectionMenu): 27137 (WebCore::contextMenuItemTagDefaultDirection): 27138 (WebCore::contextMenuItemTagLeftToRight): 27139 (WebCore::contextMenuItemTagRightToLeft): 27140 27141 2007-01-03 Anders Carlsson <acarlsson (a] apple.com> 27142 27143 Reviewed by Geoff. 27144 27145 <rdar://problem/4857027> 27146 ragnarok online misrenders (due to lack of support for windowless plugins) 27147 27148 * plugins/win/PluginViewWin.cpp: 27149 (WebCore::PluginViewWin::updateWindow): 27150 Rename from updateHwnd since this now handles updating the clip rect for windowless plugins. 27151 27152 (WebCore::PluginViewWin::paintMissingPluginIcon): 27153 New function which paints the missing plugin icon. 27154 27155 (WebCore::PluginViewWin::paint): 27156 Do windowless painting here. 27157 27158 (WebCore::PluginViewWin::handleKeyboardEvent): 27159 (WebCore::PluginViewWin::handleMouseEvent): 27160 (WebCore::PluginViewWin::handleEvent): 27161 New functions for handling mouse and keyboard events, translating them and handing them to the plugin. 27162 27163 (WebCore::PluginViewWin::setNPWindowRect): 27164 Set correct window rect for windowless plugins. 27165 27166 (WebCore::PluginViewWin::getValue): 27167 Add variable for containing HWND. 27168 27169 (WebCore::PluginViewWin::setValue): 27170 Add windowless and transparent variables. 27171 27172 (WebCore::PluginViewWin::invalidateRect): 27173 (WebCore::PluginViewWin::invalidateRegion): 27174 (WebCore::PluginViewWin::forceRedraw): 27175 Implement these. 27176 27177 (WebCore::PluginViewWin::determineQuirks): 27178 Set quirks now that we support windowless flash. 27179 27180 (WebCore::PluginViewWin::PluginViewWin): 27181 Only create the window if the plugin isn't windowless. 27182 27183 * plugins/win/PluginViewWin.h: 27184 New declarations. 27185 27186 * plugins/win/npapi.cpp: 27187 (NPN_InvalidateRect): 27188 (NPN_InvalidateRegion): 27189 (NPN_ForceRedraw): 27190 Implement these and forward them to the plugin view. 27191 27192 2007-01-02 Brady Eidson <beidson (a] apple.com> 27193 27194 Reviewed by Lou 27195 27196 Temporary Link Stub fix for Back/Forward cache landing in OpenSource 27197 27198 * WebCore.vcproj/WebCore.vcproj: 27199 * platform/win/TemporaryLinkStubs.cpp: 27200 (DocumentLoader::request): 27201 (DocumentLoader::originalRequest): 27202 (DocumentLoader::title): 27203 (DocumentLoader::unreachableURL): 27204 (DocumentLoader::urlForHistory): 27205 (DocumentLoader::setCommitted): 27206 (DocumentLoader::prepareForLoadStart): 27207 (DocumentLoader::replaceRequestURLForAnchorScroll): 27208 (DocumentLoader::isClientRedirect): 27209 (DocumentLoader::isLoading): 27210 (DocumentLoader::getResponseRefreshAndModifiedHeaders): 27211 (FrameLoader::applyUserAgent): 27212 (FrameLoader::dataURLBaseFromRequest): 27213 (FrameLoader::load): 27214 (FrameLoader::opened): 27215 (ResourceHandle::willLoadFromCache): 27216 (WebCore::userIdleTime): 27217 (PageCache::close): 27218 27219 2007-01-02 Anders Carlsson <acarlsson (a] apple.com> 27220 27221 Build fix. 27222 27223 * WebCore.vcproj/WebCore.vcproj: 27224 27225 2006-12-29 Geoffrey Garen <ggaren (a] apple.com> 27226 27227 Build fix. 27228 27229 * bridge/win/FrameWin.cpp: 27230 (WebCore::FrameWin::bindingRootObject): 27231 * plugins/win/PluginViewWin.cpp: 27232 (WebCore::PluginViewWin::bindingInstance): 27233 27234 2006-12-27 Oliver Hunt <oliver (a] apple.com> 27235 27236 Build fix 27237 27238 * WebCore.vcproj/WebCore.vcproj: 27239 * platform/graphics/win/ImageWin.cpp: 27240 (WebCore::BitmapImage::initPlatformData): 27241 (WebCore::BitmapImage::invalidatePlatformData): 27242 (WebCore::Image::loadPlatformResource): 27243 (WebCore::BitmapImage::getHBITMAP): 27244 27245 2006-12-25 Geoffrey Garen <ggaren (a] apple.com> 27246 27247 Fixed build. Tsk, tsk, Oliver. 27248 27249 * WebCore.vcproj/WebCore.vcproj: 27250 27251 2006-12-25 Geoffrey Garen <ggaren (a] apple.com> 27252 27253 Reviewed by Oliver Hunt. 27254 27255 Removed WebCoreSettings, cleaned up WebCore::Settings. 27256 27257 * WebCore.vcproj/WebCore.vcproj: Added Settings.cpp to the project. 27258 27259 * bridge/win/FrameWin.cpp: Updated to use new preferences names. 27260 (WebCore::FrameWin::bindingRootObject): 27261 (WebCore::FrameWin::windowScriptNPObject): 27262 27263 * loader/win/FrameLoaderWin.cpp: ditto. 27264 (WebCore::FrameLoader::partClearedInBegin): 27265 27266 * plugins/win/PluginViewWin.cpp: ditto. 27267 (WebCore::PluginViewWin::load): 27268 27269 2006-12-22 Ada Chan <adachan (a] apple.com> 27270 27271 Reviewed by Anders. 27272 27273 Build fix. 27274 27275 * WebCore.vcproj/WebCore.vcproj: 27276 27277 2006-12-22 Anders Carlsson <acarlsson (a] apple.com> 27278 27279 Build fix. 27280 27281 * WebCore.vcproj/WebCore.vcproj: 27282 27283 2006-12-22 John Sullivan <sullivan (a] apple.com> 27284 27285 Reviewed by Kevin Decker 27286 27287 Renamed stub method name to match change in WebCore 27288 27289 * platform/win/TemporaryLinkStubs.cpp: 27290 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 27291 renamed from markMisspellingsInAdjacentWords 27292 27293 2006-12-20 Adam Roben <aroben (a] apple.com> 27294 27295 Reviewed by Hyatt. 27296 27297 Fix: <rdar://4769797> REGRESSION: No focus rings 27298 27299 * platform/win/GraphicsContextWin.cpp: 27300 (WebCore::GraphicsContext::drawFocusRing): 27301 * platform/win/TemporaryLinkStubs.cpp: 27302 (WebCore::focusRingColor): Changed to match the Aqua focus ring color. 27303 27304 2006-12-20 David Hyatt <hyatt (a] apple.com> 27305 27306 Remove line width setting in font rendering now that GraphicsContext sets 27307 it for us. 27308 27309 * platform/win/FontWin.cpp: 27310 (WebCore::Font::drawGlyphs): 27311 27312 2006-12-20 David Hyatt <hyatt (a] apple.com> 27313 27314 Add support for stroking and filling of text to CSS. Boomer side. Same code as in FontMac. 27315 27316 * platform/win/FontWin.cpp: 27317 (WebCore::Font::drawGlyphs): 27318 27319 2006-12-19 Steve Falkenburg <sfalken (a] apple.com> 27320 27321 Remove non-existent header from vcproj 27322 27323 * WebCore.vcproj/WebCore.vcproj: 27324 27325 2006-12-19 Brady Eidson <beidson (a] apple.com> 27326 27327 Reviewed by Ada 27328 27329 -Changed CFNetwork debugging output to use a logging channel 27330 -Added the url to each logging message - the debugging output was quite crippled without this 27331 27332 * platform/network/cf/ResourceHandleCFNet.cpp: 27333 (WebCore::willSendRequest): 27334 (WebCore::didReceiveResponse): 27335 (WebCore::didReceiveData): 27336 (WebCore::didFinishLoading): 27337 (WebCore::didFail): 27338 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 27339 (WebCore::ResourceHandle::~ResourceHandle): 27340 (WebCore::ResourceHandle::start): 27341 27342 2006-12-19 Anders Carlsson <acarlsson (a] apple.com> 27343 27344 Reviewed by Geoff. 27345 27346 <rdar://problem/4876963> 27347 Crash launching Boomer after all options deselected in pref->security 27348 27349 * loader/win/FrameLoaderWin.cpp: 27350 (WebCore::FrameLoader::partClearedInBegin): 27351 Add check for JavaScript. 27352 27353 2006-12-19 Anders Carlsson <acarlsson (a] apple.com> 27354 27355 Reviewed by Kevin Decker. 27356 27357 Add (currently disabled) plugin quirks. This is necessary in order to get the Flash plugin 27358 to request windowless plugins (which it only will do if it think it's running on a Mozilla browser). 27359 27360 * plugins/win/PluginViewWin.cpp: 27361 (WebCore::PluginViewWin::userAgent): 27362 (WebCore::PluginViewWin::determineQuirks): 27363 (WebCore::PluginViewWin::PluginViewWin): 27364 * plugins/win/PluginViewWin.h: 27365 (WebCore::): 27366 * plugins/win/npapi.cpp: 27367 (NPN_UserAgent): 27368 27369 2006-12-19 Brady Eidson <beidson (a] apple.com> 27370 27371 Change by Lou, reviewed by Brady 27372 27373 Scrolling caused Desktop flickering as well as other strange 27374 flickering in the case of a missing plug-in 27375 27376 * plugins/win/PluginViewWin.cpp: 27377 (WebCore::PluginViewWin::updateHwnd): 27378 27379 2006-12-19 Anders Carlsson <acarlsson (a] apple.com> 27380 27381 * WebCore.vcproj/WebCore.vcproj: 27382 Update for SVG changes. 27383 27384 2006-12-18 Ada Chan <adachan (a] apple.com> 27385 27386 Reviewed by Adam. 27387 27388 Removed scheduleClose() from FrameWin. The implementation has 27389 been moved to Frame.cpp. 27390 27391 * bridge/win/FrameWin.h: 27392 * platform/win/TemporaryLinkStubs.cpp: 27393 (FrameWin::mimeTypeForFileName): 27394 27395 2006-12-18 Anders Carlsson <acarlsson (a] apple.com> 27396 27397 Reviewed by Adam and Oliver. 27398 27399 <rdar://problem/4856014> Target weekly ad doesn't work. 27400 27401 Store the real base URL and use it for requests. 27402 27403 * plugins/win/PluginViewWin.cpp: 27404 (WebCore::PluginViewWin::getURLNotify): 27405 (WebCore::PluginViewWin::getURL): 27406 (WebCore::PluginViewWin::handlePost): 27407 (WebCore::PluginViewWin::PluginViewWin): 27408 * plugins/win/PluginViewWin.h: 27409 27410 2006-12-19 Darin Adler <darin (a] apple.com> 27411 27412 * platform/win/FontWin.cpp: (WebCore::Font::drawGlyphs): Fix build, 27413 wrong variable name. 27414 27415 2006-12-18 David Hyatt <hyatt (a] apple.com> 27416 27417 Boomer side of my changes for filling/stroking of text. 27418 27419 Reviewed by olliej 27420 27421 * platform/win/FontWin.cpp: 27422 (WebCore::Font::drawGlyphs): 27423 27424 2006-12-18 Alice Liu <alice.liu (a] apple.com> 27425 27426 Reviewed by Adam. 27427 27428 <rdar://problem/4853363> hook up various deletion-related functions in WebView 27429 27430 * WebCore.vcproj/WebCore.vcproj: 27431 Added file EditorDeleteAction.h 27432 27433 2006-12-18 Kevin McCullough <KMcCullough (a] apple.com> 27434 27435 Reviewed by Oliver. 27436 27437 - Remove CG header includes in OpenSource files 27438 27439 * config.h: 27440 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: 27441 27442 2006-12-18 Adam Roben <aroben (a] apple.com> 27443 27444 Build fixes. 27445 27446 * WebCore.vcproj/WebCore.vcproj: Removed deleted files. 27447 * platform/win/CursorWin.cpp: Added missing method. 27448 (WebCore::noneCursor): 27449 27450 2006-12-16 Beth Dakin <bdakin (a] apple.com> 27451 27452 Reviewed by Adam (and partially Geoff). 27453 27454 Boomer side of making WebCore Context Menus support state and 27455 enabled/disabled, and re-architecture of ContextMenuItem. 27456 27457 * platform/win/ContextMenuItemWin.cpp: ContextMenuItem class holds 27458 the platformDescription as the sole member variable. Changes to 27459 account for this. 27460 (WebCore::ContextMenuItem::ContextMenuItem): Same. 27461 (WebCore::ContextMenuItem::releasePlatformDescription): Same. 27462 (WebCore::ContextMenuItem::type): Same 27463 (WebCore::ContextMenuItem::platformSubMenu): Same. 27464 (WebCore::ContextMenuItem::setType): Same. 27465 (WebCore::ContextMenuItem::setTitle): Same. 27466 (WebCore::ContextMenuItem::setSubMenu): Same. 27467 (WebCore::ContextMenuItem::setChecked): Same. 27468 (WebCore::ContextMenuItem::setEnabled): Same. 27469 * platform/win/ContextMenuWin.cpp: 27470 (WebCore::ContextMenu::insertItem): Takes ownership of the item by 27471 calling releasePlatformDescription() 27472 (WebCore::ContextMenu::appendItem): Same. 27473 (WebCore::ContextMenu::itemWithAction): This is the new at(). Since 27474 we are no longer using notifybypos, we instead need a way to find a 27475 menu item by its action. (Its ID.) 27476 (WebCore::ContextMenu::setPlatformDescription): No longer use 27477 notifybypos. 27478 27479 2006-12-16 Adele Peterson <adele (a] apple.com> 27480 27481 RS by Adam. 27482 27483 Removed TextField, RenderLineEdit classes. 27484 27485 * WebCore.vcproj/WebCore.vcproj: 27486 * platform/win/TemporaryLinkStubs.cpp: 27487 27488 2006-12-16 Adele Peterson <adele (a] apple.com> 27489 27490 Reviewed by Adam. 27491 27492 Added PopupMenu and theme code for: 27493 <rdar://problem/4463829> Switch to use new search field implementation for <input type="search"> 27494 27495 * WebCore.vcproj/WebCore.vcproj: 27496 * platform/graphics/win/IconWin.cpp: 27497 (WebCore::Icon::Icon): 27498 * platform/win/PopupMenuWin.cpp: 27499 (WebCore::PopupMenu::setFocusedIndex): 27500 (WebCore::PopupWndProc): 27501 * platform/win/SearchPopupMenuWin.cpp: Added. 27502 (WebCore::SearchPopupMenu::SearchPopupMenu): 27503 (WebCore::autosaveKey): 27504 (WebCore::SearchPopupMenu::saveRecentSearches): 27505 (WebCore::SearchPopupMenu::loadRecentSearches): 27506 * rendering/RenderThemeWin.cpp: 27507 (WebCore::RenderThemeWin::paintSearchField): 27508 (WebCore::RenderThemeWin::adjustSearchFieldStyle): 27509 (WebCore::RenderThemeWin::paintSearchFieldCancelButton): 27510 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle): 27511 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle): 27512 (WebCore::RenderThemeWin::paintSearchFieldDecoration): 27513 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle): 27514 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): 27515 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle): 27516 (WebCore::RenderThemeWin::paintSearchFieldResultsButton): 27517 * rendering/RenderThemeWin.h: 27518 27519 2006-12-15 Anders Carlson <acarlsson (a] apple.com> 27520 27521 * platform/win/TemporaryLinkStubs.cpp: 27522 Remove DocumentLoader::isStopped because it's now in DocumentLoader.cpp. 27523 27524 2006-12-15 Geoffrey Garen <ggaren (a] apple.com> 27525 27526 I'm in ur prjct, fxng ur build. 27527 27528 * WebCore.vcproj/WebCore.vcproj: 27529 * platform/win/TemporaryLinkStubs.cpp: 27530 (ResourceHandle::loadResourceSynchronously): 27531 27532 2006-12-14 Geoffrey Garen <ggaren (a] apple.com> 27533 27534 Reviewed by Brady Eidson. 27535 27536 Fixed <rdar://problem/4760682> Crash clicking nav links at left loading 27537 www.tivofaq.com 27538 27539 The underlying problem is that we can't resize framesets. I've filed that 27540 as <rdar://problem/4885227>. 27541 27542 I've fixed the proximate problem: we were interpreting a click as a frameset 27543 resize, because the subframe event handler was returning false. A Subframe 27544 event handler needs to return true to indicate that the subframe has handled 27545 the event. This is how the Mac works, despite the plethora of convoluted code 27546 suggesting otherwise. 27547 27548 We should really remove these meaningless return values and unify Mac and 27549 Windows event handling, but that's beyond the scope of this patch. 27550 27551 * page/win/EventHandlerWin.cpp: 27552 (WebCore::EventHandler::passMousePressEventToSubframe): 27553 (WebCore::EventHandler::passMouseMoveEventToSubframe): 27554 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 27555 (WebCore::EventHandler::passWheelEventToSubframe): 27556 27557 2006-12-14 Adele Peterson <adele (a] apple.com> 27558 27559 Reviewed by Adam. 27560 27561 Update PopupMenu code to use new PopupMenuClient instead of RenderMenuList. 27562 27563 * platform/win/PopupMenuWin.cpp: 27564 (WebCore::PopupMenu::PopupMenu): 27565 (WebCore::PopupMenu::show): 27566 (WebCore::PopupMenu::calculatePositionAndSize): 27567 (WebCore::PopupMenu::setFocusedIndex): 27568 (WebCore::PopupMenu::focusedIndex): 27569 (WebCore::PopupMenu::focusFirst): 27570 (WebCore::PopupMenu::focusLast): 27571 (WebCore::PopupMenu::down): 27572 (WebCore::PopupMenu::up): 27573 (WebCore::PopupMenu::paint): 27574 (WebCore::PopupWndProc): 27575 27576 2006-12-14 Steve Falkenburg <sfalken (a] apple.com> 27577 27578 Build fix. 27579 27580 * platform/win/TemporaryLinkStubs.cpp: 27581 (SubresourceLoader::didCancel): 27582 27583 2006-12-14 Steve Falkenburg <sfalken (a] apple.com> 27584 27585 Production build fix. Added JSSVGPODTypeWrapper.h to the vcproj. 27586 27587 * WebCore.vcproj/WebCore.vcproj: 27588 27589 2006-12-14 Adam Roben <aroben (a] apple.com> 27590 27591 Reviewed by Adele. 27592 27593 Build fix. 27594 27595 * platform/win/TemporaryLinkStubs.cpp: 27596 (DocumentLoader::URL): 27597 (ResourceHandle::loadResourceSynchronously): 27598 27599 2006-12-14 Anders Carlsson <acarlsson (a] apple.com> 27600 27601 Fix the build. 27602 27603 * platform/win/TemporaryLinkStubs.cpp: 27604 (FrameLoader::loadResourceSynchronously): 27605 (ResourceHandle::loadResourceSynchronously): 27606 27607 2006-12-13 Anders Carlsson <acarlsson (a] apple.com> 27608 27609 Fix the build. 27610 27611 * platform/win/TemporaryLinkStubs.cpp: 27612 (PolicyCheck::call): 27613 (DocumentLoader::URL): 27614 27615 2006-12-13 Geoffrey Garen <ggaren (a] apple.com> 27616 27617 Reviewed by Darin Adler, Dave Hyatt. 27618 27619 Fixed <rdar://problem/4840261> Frame::setIsActive not called when frames 27620 are focused/unfocused 27621 27622 Minor problems remain with focus in frames, but basic editing / cursor 27623 focus works. 27624 27625 I moved tracking of the focused frame from the Widget hiearchy to Page's 27626 FocusController. Not all widgets are frames, so this change cleaned up a 27627 dubious static cast. Also, the DOM needs to track frame focus because (1) 27628 it needs to respond to focus changes and (2) you can focus an element / 27629 frame even before it has a renderer / widget. 27630 27631 * page/win/EventHandlerWin.cpp: 27632 (WebCore::EventHandler::focusDocumentView): Implemented. This function is 27633 poorly named, based on the Mac design. 27634 (WebCore::PluginViewWin::hasFocus): Added for completeness. It's not really 27635 used on Windows, though. 27636 27637 2006-12-13 Steve Falkenburg <sfalken (a] apple.com> 27638 27639 Reviewed by Adam. 27640 27641 Add missing ForwardingHeaders to project 27642 27643 * WebCore.vcproj/WebCore.make: Fixed line endings 27644 * WebCore.vcproj/WebCore.vcproj: Added missing headers 27645 27646 2006-12-12 Steve Falkenburg <sfalken (a] apple.com> 27647 27648 Reviewed by Adam. 27649 27650 Production build fix 27651 27652 * WebCore.vcproj/build-generated-files.sh: 27653 27654 2006-12-12 Alice Liu <alice.liu (a] apple.com> 27655 27656 Reviewed by Geoff. 27657 27658 Fixed <rdar://problem/4853199> extra whitespace at beginning and end of pasted fragment into contenteditable region 27659 27660 * WebCore.vcproj/WebCore.vcproj: 27661 * platform/win/PasteboardWin.cpp: 27662 (WebCore::Pasteboard::documentFragment): 27663 27664 2006-12-12 Adam Roben <aroben (a] apple.com> 27665 27666 Reviewed by Anders. 27667 27668 Fixed use of min/max macros (again). 27669 27670 * WebCore.vcproj/WebCore.vcproj: Make sure we include ForwardingHeaders 27671 before any include directories so that we get the newest versions 27672 of our headers. 27673 * config.h: Move the fake #defines of min/max out of #if 27674 PLATFORM(WIN_OS) since this is useful in general. 27675 * platform/win/BString.cpp: Include windows.h 27676 * platform/win/BString.h: Forward-declare BSTR so we don't have to 27677 include windows.h. 27678 27679 2006-12-12 Geoffrey Garen <ggaren (a] apple.com> 27680 27681 Reviewed by Adam Roben, Dave Hyatt, Darin Adler. 27682 27683 Added FocusController to project. 27684 27685 * WebCore.vcproj/WebCore.vcproj: 27686 27687 2006-12-12 Anders Carlsson <acarlsson (a] apple.com> 27688 27689 * loader/win/ResourceLoaderWin.cpp: 27690 * platform/network/cf/ResourceHandleCFNet.cpp: 27691 (WebCore::ResourceHandle::start): 27692 * platform/win/TemporaryLinkStubs.cpp: 27693 (ResourceHandle::loadsBlocked): 27694 Update for changes to ResourceHandle. 27695 27696 2006-12-13 Darin Adler <darin (a] apple.com> 27697 27698 - fix build 27699 27700 * WebCore.vcproj/WebCore.vcproj: Added missing files, removed obsolete files. 27701 27702 2006-12-11 Adam Roben <aroben (a] apple.com> 27703 27704 Build fix. 27705 27706 * WebCore.vcproj/WebCore.vcproj: Added missing files to project. 27707 27708 2006-12-11 Steve Falkenburg <sfalken (a] apple.com> 27709 27710 Production build fix. 27711 Remove platform/UChar.h from our vcproj, since it doesn't exist anymore. 27712 27713 * WebCore.vcproj/WebCore.vcproj: 27714 27715 2006-12-11 Alice Liu <alice.liu (a] apple.com> 27716 27717 Reviewed by ggaren. 27718 27719 Fixed <rdar://problem/4854901> "Copy Link" and "Copy Image Address" context menu items don't work 27720 And some cleanup of PlatformMouseEvent(Win) 27721 27722 * page/win/EventHandlerWin.cpp: 27723 (WebCore::EventHandler::handleDrag): 27724 Removed unnecessary check for mouse event type 27725 27726 * platform/win/PasteboardWin.cpp: 27727 27728 (WebCore::PasteboardOwnerWndProc): 27729 (WebCore::createGlobalData): 27730 Added more overloaded implemtations and renamed from createHandle 27731 27732 (WebCore::markupToCF_HTML): 27733 Changed to handle less-specific input and renamed from createCF_HTML 27734 27735 (WebCore::urlToMarkup): 27736 (WebCore::Pasteboard::writeURL): 27737 Added these. 27738 27739 (WebCore::replaceNBSP): 27740 Moved out of Pasteboard class 27741 27742 (WebCore::Pasteboard::clear): 27743 Renamed from clearTypes. 27744 27745 (WebCore::Pasteboard::writeSelection): 27746 (WebCore::Pasteboard::canSmartReplace): 27747 (WebCore::Pasteboard::plainText): 27748 (WebCore::Pasteboard::documentFragment): 27749 Trivial cleanup of these. 27750 27751 * platform/win/PlatformMouseEventWin.cpp: 27752 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 27753 Removed anything having to do with unnecessary m_type 27754 27755 2006-12-11 Darin Adler <darin (a] apple.com> 27756 27757 Reviewed by Brady. 27758 27759 - http://bugs.webkit.org/show_bug.cgi?id=11794 27760 fix lifetime problems affecting Frame's ownerElement pointer 27761 27762 * WebCore.vcproj/WebCore.vcproj: Update for added files. 27763 27764 * bridge/win/FrameWin.h: 27765 * bridge/win/FrameWin.cpp: (WebCore::FrameWin::FrameWin): 27766 * loader/win/FrameLoaderWin.cpp: (WebCore::FrameLoader::createFrame): 27767 Changed to use HTMLFrameOwnerElement. 27768 27769 * platform/win/TemporaryLinkStubs.cpp: (FrameLoader::load): 27770 Changed to use HTMLFormElement. 27771 27772 2006-12-11 Beth Dakin <bdakin (a] apple.com> 27773 27774 Reviewed by Adam. 27775 27776 Build fix from Nick Zimmerman's last check-in. 27777 27778 * WebCore.vcproj/WebCore.vcproj: 27779 27780 2006-12-09 Adam Roben <aroben (a] apple.com> 27781 27782 Reviewed by Hyatt. 27783 27784 Use num-cpus to determine the number of jobs make should run 27785 concurrently. 27786 27787 * WebCore.vcproj/build-generated-files.sh: 27788 27789 2006-12-09 Adam Roben <aroben (a] apple.com> 27790 27791 Reviewed by Hyatt. 27792 27793 Fix: <rdar://problem/4860184> Can't select context menu items with the 27794 right mouse button 27795 27796 * platform/win/ContextMenuWin.cpp: 27797 (WebCore::ContextMenu::show): 27798 27799 2006-12-09 Adam Roben <aroben (a] apple.com> 27800 27801 Reviewed by Darin. 27802 27803 Build fixes after OpenSource r18098 and r18106. 27804 27805 * WebCore.vcproj/WebCore.vcproj: 27806 - Changed include paths to reflect the now-flattened JSCore headers. 27807 - Added missing files to project. 27808 - Changed post-build step to also copy ForwardingHeaders. 27809 - Removed unnecessary definition of WTF_PLATFORM_CF from project 27810 file (it's already defined in config.h). 27811 * platform/win/TextBoundariesWin.cpp: Fixed up includes and renamed 27812 function calls. 27813 (WebCore::findNextWordFromIndex): 27814 (WebCore::findWordBoundary): 27815 27816 2006-12-08 Adam Roben <aroben (a] apple.com> 27817 27818 Rubberstamped by Anders. 27819 27820 * platform/win/FontPlatformDataWin.cpp: 27821 (WebCore::FontPlatformData::FontPlatformData): Fix use of min(). 27822 27823 2006-12-08 Adam Roben <aroben (a] apple.com> 27824 27825 Build fix. 27826 27827 * WebCore.vcproj/WebCore.vcproj: 27828 27829 2006-12-07 Beth Dakin <bdakin (a] apple.com> 27830 27831 Reviewed by Maciej. 27832 27833 Add a new member variable to ContectMenuItem to hold on to the sub- 27834 menu. The new member variable is an OwnPtr<ContextMenu>. Not doing 27835 this breaks sub-menus on Boomer since the menu items are no longer 27836 static. 27837 27838 * platform/win/ContextMenuItemWin.cpp: 27839 (WebCore::ContextMenuItem::ContextMenuItem): 27840 (WebCore::ContextMenuItem::platformSubMenu): 27841 (WebCore::ContextMenuItem::setSubMenu): 27842 27843 2006-12-07 Kevin McCullough <kmccullough (a] apple.com> 27844 27845 Reviewed by. 27846 27847 Fixed previous comment 27848 27849 * ChangeLog: 27850 27851 2006-12-07 Kevin McCullough <kmccullough (a] apple.com> 27852 27853 Reviewed by Geof. 27854 27855 - keyDown events must be followed by keyPressed events and before keyUp events. 27856 27857 * bridge/win/FrameWin.cpp: 27858 (WebCore::FrameWin::keyEvent): 27859 27860 2006-12-07 Beth Dakin <bdakin (a] apple.com> 27861 27862 Reviewed by Brady. 27863 27864 New link stub for load() function used by 27865 ContextMenuItemTagOpenLink action. 27866 27867 * platform/win/TemporaryLinkStubs.cpp: 27868 (FrameLoader::load): 27869 27870 2006-12-07 Ada Chan <adachan (a] apple.com> 27871 27872 Reviewed by Steve and Anders. 27873 27874 <rdar://4866288> Crash on boomer quit 27875 - don't close the themes on termination, since uxtheme should do that anyway. 27876 27877 * rendering/RenderThemeWin.cpp: 27878 (WebCore::RenderThemeWin::~RenderThemeWin): 27879 27880 2006-12-06 Ada Chan <adachan (a] apple.com> 27881 27882 Reviewed by Maciej. 27883 27884 Fixed a couple of things while investigating <rdar://4866288> (note this doesn't fix the crash yet): 27885 - we forgot to initialize m_sliderTheme 27886 - we did the wrong null check when getting the slider theme. 27887 27888 * rendering/RenderThemeWin.cpp: 27889 (WebCore::RenderThemeWin::RenderThemeWin): 27890 (WebCore::RenderThemeWin::sliderTheme): 27891 27892 2006-12-06 Anders Carlsson <acarlsson (a] apple.com> 27893 27894 Fix the build. 27895 27896 * platform/network/cf/ResourceHandleCFNet.cpp: 27897 (WebCore::didReceiveData): 27898 (WebCore::didFail): 27899 (WebCore::ResourceHandle::start): 27900 (WebCore::ResourceHandle::cancel): 27901 27902 2006-12-06 Anders Carlsson <acarlsson (a] apple.com> 27903 27904 Reviewed by Adam. 27905 27906 Modify PluginStreamWin to use a SubresourceLoader instead of a ResourceHandle. 27907 27908 * plugins/win/PluginStreamWin.cpp: 27909 (WebCore::PluginStreamWin::PluginStreamWin): 27910 (WebCore::PluginStreamWin::~PluginStreamWin): 27911 (WebCore::PluginStreamWin::start): 27912 (WebCore::PluginStreamWin::stop): 27913 (WebCore::PluginStreamWin::deliverData): 27914 (WebCore::PluginStreamWin::didReceiveResponse): 27915 (WebCore::PluginStreamWin::didReceiveData): 27916 (WebCore::PluginStreamWin::didFail): 27917 (WebCore::PluginStreamWin::didFinishLoading): 27918 * plugins/win/PluginStreamWin.h: 27919 * plugins/win/PluginViewWin.cpp: 27920 (WebCore::PluginViewWin::performRequest): 27921 (WebCore::PluginViewWin::load): 27922 27923 2006-12-06 Anders Carlsson <acarlsson (a] apple.com> 27924 27925 Build fixes. 27926 27927 * WebCore.vcproj/WebCore.vcproj: 27928 * platform/win/TemporaryLinkStubs.cpp: 27929 (FrameWin::scheduleClose): 27930 27931 2006-12-05 John Sullivan <sullivan (a] apple.com> 27932 27933 Try to keep the windows build happy with Frame -> Editor changes... 27934 27935 * bridge/win/FrameWin.h: 27936 removed declarations of spelling and grammar functions 27937 27938 * platform/win/TemporaryLinkStubs.cpp: 27939 changed spelling and grammar functions from FrameWin:: to Editor:: 27940 (WebCore::Editor::isSelectionMisspelled): 27941 (WebCore::Editor::isSelectionUngrammatical): 27942 (WebCore::Editor::guessesForMisspelledSelection): 27943 (WebCore::Editor::guessesForUngrammaticalSelection): 27944 (WebCore::Editor::markMisspellingsInAdjacentWords): 27945 (WebCore::Editor::advanceToNextMisspelling): 27946 27947 2006-12-05 Anders Carlsson <acarlsson (a] apple.com> 27948 27949 Reviewed by Maciej. 27950 27951 Don't delete the internal pointer anymore since it's an OwnPtr now. 27952 27953 * platform/network/cf/ResourceHandleCFNet.cpp: 27954 (WebCore::ResourceHandle::~ResourceHandle): 27955 27956 2006-12-05 Steve Falkenburg <sfalken (a] apple.com> 27957 27958 Fix the build 27959 27960 * platform/win/TemporaryLinkStubs.cpp: 27961 27962 2006-12-05 Steve Falkenburg <sfalken (a] apple.com> 27963 27964 Production build fix. 27965 ...and add ImageAnimationObserver.h into its new location. 27966 27967 * WebCore.vcproj/WebCore.vcproj: 27968 27969 2006-12-05 Steve Falkenburg <sfalken (a] apple.com> 27970 27971 Production build fix. 27972 Remove ImageAnimationObserver.h from vcproj. 27973 27974 * WebCore.vcproj/WebCore.vcproj: 27975 27976 2006-12-05 John Sullivan <sullivan (a] apple.com> 27977 27978 Reviewed by Geoff Garen 27979 27980 Changes to keep up with Frame -> Editor changes in WebCore 27981 27982 * bridge/win/FrameWin.h: 27983 remove ignoreSpelling() and learnSpelling() 27984 27985 * platform/win/TemporaryLinkStubs.cpp: 27986 (WebCore::Editor::ignoreSpelling): 27987 moved from FrameWin to Editor 27988 (WebCore::Editor::learnSpelling): 27989 ditto 27990 27991 2006-12-05 Alice Liu <alice.liu (a] apple.com> 27992 27993 Build fix. 27994 27995 * platform/win/CursorWin.cpp: 27996 (WebCore::copyCursor): 27997 27998 2006-12-05 Alice Liu <alice.liu (a] apple.com> 27999 28000 Build fix. 28001 28002 * bridge/win/FrameWin.h: 28003 added missing declarations for the functions in John's checkin, below. 28004 28005 2006-12-05 John Sullivan <sullivan (a] apple.com> 28006 28007 * platform/win/TemporaryLinkStubs.cpp: 28008 (WebCore::FrameWin::isSelectionUngrammatical): 28009 (WebCore::FrameWin::guessesForUngrammaticalSelection): 28010 added stubs to correspond to new Frame functions 28011 28012 2006-12-04 Anders Carlsson <acarlsson (a] apple.com> 28013 28014 Reviewed by Darin. 28015 28016 * WebCore.vcproj/WebCore.vcproj: 28017 Add SubresourceClient.h 28018 28019 * platform/network/cf/ResourceHandleCFNet.cpp: 28020 (WebCore::didReceiveResponse): 28021 Get rid of the receivedResponse call. 28022 28023 (WebCore::didFinishLoading): 28024 Get rid of the receivedAllData call, that's handled by the subresource loader now. 28025 28026 2006-12-04 Darin Adler <darin (a] apple.com> 28027 28028 Reviewed by Adele. 28029 28030 * WebCore.vcproj/WebCore.vcproj: Update for new UIEventWithKeyState.cpp file. 28031 28032 2006-12-04 Kevin McCullough <KMcCullough (a] apple.com> 28033 28034 Reviewed by Darin. 28035 28036 - removed the guards for the "multiple forms submission" issue, which may not be 28037 an issue anymore and the guards prevent perfectly legitimate websites from 28038 working correctly. 28039 28040 * bridge/win/FrameWin.cpp: 28041 (WebCore::FrameWin::keyEvent): 28042 * config.h: 28043 * loader/win/FrameLoaderWin.cpp: 28044 (WebCore::FrameLoader::submitForm): 28045 28046 2006-12-04 Darin Adler <darin (a] apple.com> 28047 28048 Reviewed by Alice. 28049 28050 * platform/win/PasteboardWin.cpp: (WebCore::Pasteboard::generalPasteboard): 28051 Got rid of s_generalPasteboard. Also removed definition of destructor. 28052 28053 2006-12-04 Anders Carlsson <acarlsson (a] apple.com> 28054 28055 Reviewed by Darin, Geoff. 28056 28057 Get rid of ref() in ResourceHandle::start() and remove all uses of kill(). 28058 28059 * platform/network/cf/ResourceHandleCFNet.cpp: 28060 (WebCore::didFinishLoading): 28061 (WebCore::didFail): 28062 (WebCore::ResourceHandle::start): 28063 * plugins/win/PluginStreamWin.cpp: 28064 (WebCore::PluginStreamWin::stop): 28065 28066 2006-12-04 Alice Liu <alice.liu (a] apple.com> 28067 28068 Reviewed by Oliver. 28069 28070 Fixed <rdar://problem/4822632> clicks don't work if you move mouse immediately 28071 This bug was fixed by implementing EventHandler::handleDrag. The part of that 28072 function after the drag hysteresis is exceeded remains unimplemented until 28073 drag&drop is implemented. 28074 28075 * page/win/EventHandlerWin.cpp: 28076 (WebCore::dragState): 28077 (WebCore::EventHandler::dragHysteresisExceeded): 28078 (WebCore::EventHandler::handleDrag): 28079 (WebCore::EventHandler::handleMouseUp): 28080 (WebCore::EventHandler::shouldDragAutoNode): 28081 (WebCore::EventHandler::focusDocumentView): 28082 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 28083 * platform/win/PlatformMouseEventWin.cpp: 28084 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 28085 28086 2006-12-01 Beth Dakin <bdakin (a] apple.com> 28087 28088 Reviewed by Adam. 28089 28090 Support for sub-menus in WebCore context menus. Also some 28091 adjustments to make ContextMenuItem class a wrapper for the 28092 platformDescription. (In this case, a wrapper for LPMENUITEMINFO.) 28093 28094 * WebCore.vcproj/WebCore.vcproj: 28095 * platform/win/ContextMenuItemWin.cpp: 28096 (WebCore::ContextMenuItem::ContextMenuItem): 28097 (WebCore::ContextMenuItem::platformDescription): 28098 (WebCore::ContextMenuItem::action): 28099 (WebCore::ContextMenuItem::title): 28100 (WebCore::ContextMenuItem::platformSubMenu): 28101 (WebCore::ContextMenuItem::setAction): 28102 (WebCore::ContextMenuItem::setTitle): 28103 (WebCore::ContextMenuItem::setSubMenu): 28104 * platform/win/ContextMenuWin.cpp: 28105 (WebCore::ContextMenu::ContextMenu): 28106 (WebCore::ContextMenu::insertItem): 28107 28108 2006-11-30 Geoffrey Garen <ggaren (a] apple.com> 28109 28110 Rubber Stamped by Anders Carlsson. 28111 28112 Global rename of Document::focusNode to Document::focusedNode. 'focusNode' 28113 suggested a command, and conflicted with a different meaning for 'focusNode' 28114 in the Mozilla selection API. 28115 28116 * bridge/win/FrameWin.cpp: 28117 (WebCore::FrameWin::keyEvent): 28118 28119 2006-11-30 Adam Roben <aroben (a] apple.com> 28120 28121 Lather, rinse, repeat. 28122 28123 * platform/win/GraphicsContextWin.cpp: 28124 (WebCore::contextForImage): 28125 28126 2006-11-30 Adam Roben <aroben (a] apple.com> 28127 28128 Build fix. 28129 28130 * platform/graphics/cg/GraphicsContextCG.cpp: Removed. This file was 28131 un-forked a while ago. 28132 * platform/win/ContextMenuWin.cpp: 28133 (WebCore::ContextMenu::platformDescription): 28134 * platform/win/GraphicsContextWin.cpp: 28135 (WebCore::contextForImage): 28136 28137 2006-11-30 Adam Roben <aroben (a] apple.com> 28138 28139 Build fix. 28140 28141 28142 * WebCore.vcproj/WebCore.vcproj: 28143 * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: 28144 (WebCore::SVGResourceFilter::prepareFilter): 28145 (WebCore::SVGResourceFilter::applyFilter): 28146 (WebCore::SVGResourceFilter::createFilterEffect): 28147 * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: 28148 (WebCore::SVGResourceMasker::applyMask): 28149 28150 2006-11-30 Geoffrey Garen <ggaren (a] apple.com> 28151 28152 Reviewed by Beth Dakin. 28153 28154 Fixed <rdar://problem/4844838> Whole document leak seen 28155 running HTML iBench 28156 28157 * loader/win/FrameLoaderWin.cpp: Removed custom implementation 28158 for detachFromParent, since FrameLoader has a cross-platform 28159 version now. 28160 28161 2006-11-30 Steve Falkenburg <sfalken (a] apple.com> 28162 28163 Production build fix. Add missing header files to vcproj. 28164 28165 * WebCore.vcproj/WebCore.vcproj: 28166 28167 2006-11-29 Anders Carlsson <acarlsson (a] apple.com> 28168 28169 Build fix. 28170 28171 * platform/win/TemporaryLinkStubs.cpp: 28172 Remove unused function. 28173 28174 2006-11-29 Anders Carlsson <acarlsson (a] apple.com> 28175 28176 Reviewed by Oliver. 28177 28178 Fix fast/dom/xmlhttprequest-get layout test failure. 28179 28180 * platform/network/cf/ResourceResponseCFNet.cpp: 28181 (WebCore::ResourceResponse::doUpdateResourceResponse): 28182 Initialize the status code to 0 for non-http responses. 28183 28184 2006-11-29 Anders Carlsson <acarlsson (a] apple.com> 28185 28186 Reviewed by Darin. 28187 28188 Have ResourceResponse hold on to the platform object and do lazy 28189 initialization of the data members. 28190 28191 * WebCore.vcproj/WebCore.vcproj: 28192 * platform/network/cf/ResourceHandleCFNet.cpp: 28193 (WebCore::willSendRequest): 28194 (WebCore::didReceiveResponse): 28195 * platform/network/cf/ResourceRequestCFNet.h: Removed. 28196 * platform/network/cf/ResourceResponseCFNet.cpp: 28197 (WebCore::ResourceResponse::doUpdateResourceResponse): 28198 * platform/network/cf/ResourceResponseCFNet.h: Removed. 28199 * platform/win/MimeTypeRegistryWin.cpp: 28200 28201 2006-11-28 Geoffrey Garen <ggaren (a] apple.com> 28202 28203 Reviewed by Beth Dakin. 28204 28205 Fixed <rdar://problem/4844855> Should clarify when to create clients in 28206 the WebCore client API 28207 28208 All clients must now be supplied as constructor arguments. This clarifies 28209 when you need to create clients, and also guarantees that objects can't 28210 (for the most part) be in a clientless state. 28211 28212 Layout tests pass. No leaks reported. 28213 28214 * bridge/win/FrameWin.cpp: 28215 (WebCore::FrameWin::FrameWin): 28216 * bridge/win/FrameWin.h: 28217 28218 2006-11-28 Adam Roben <aroben (a] apple.com> 28219 28220 Reviewed by Ada. 28221 28222 Add platform-specific constructor/destructor to ContextMenu so we can 28223 properly dispose of the HMENU. 28224 28225 * platform/win/ContextMenuWin.cpp: 28226 (WebCore::ContextMenu::ContextMenu): 28227 (WebCore::ContextMenu::~ContextMenu): 28228 (WebCore::ContextMenu::itemCount): 28229 (WebCore::ContextMenu::insertItem): 28230 (WebCore::ContextMenu::at): 28231 (WebCore::ContextMenu::setPlatformDescription): 28232 (WebCore::ContextMenu::show): 28233 28234 2006-11-28 Steve Falkenburg <sfalken (a] apple.com> 28235 28236 B&I build fix 28237 28238 * WebCore.vcproj/WebCore.vcproj: 28239 28240 2006-11-28 Anders Carlsson <acarlsson (a] apple.com> 28241 28242 Fix the build by doing the same changes that were done in the open source WebCore repo. 28243 28244 * WebCore.vcproj/WebCore.vcproj: 28245 * platform/network/cf/ResourceHandleCFNet.cpp: 28246 (WebCore::willSendRequest): 28247 (WebCore::didReceiveResponse): 28248 (WebCore::ResourceHandle::start): 28249 * platform/network/cf/ResourceRequestCFNet.cpp: 28250 (WebCore::ResourceRequest::cfURLRequest): 28251 (WebCore::addHeadersFromHashMap): 28252 (WebCore::ResourceRequest::doUpdatePlatformRequest): 28253 (WebCore::ResourceRequest::doUpdateResourceRequest): 28254 * platform/network/cf/ResourceRequestCFNet.h: 28255 28256 2006-11-28 Adam Roben <aroben (a] apple.com> 28257 28258 Reviewed by Ada and Beth. 28259 28260 Fix: <rdar://problem/4601523> Contextual Menus (in web content) 28261 28262 * WebCore.vcproj/WebCore.vcproj: Defined WEBCORE_CONTEXT_MENUS to turn 28263 on the context menus. Added new ContextMenuItem files. 28264 * platform/win/ContextMenuItemWin.cpp: Added. 28265 (WebCore::ContextMenuItem::ContextMenuItem): 28266 * platform/win/ContextMenuWin.cpp: 28267 (WebCore::ContextMenu::itemCount): Updated to match ContextMenu.h and 28268 ContextMenuItem changes. 28269 (WebCore::ContextMenu::insertItem): Ditto. 28270 (WebCore::ContextMenu::appendItem): Ditto. 28271 (WebCore::ContextMenu::at): New method, similar to Vector<T>::at. 28272 (WebCore::ContextMenu::setPlatformDescription): Use MIM_APPLYTOSUBMENUS 28273 to make sure all submenus get the MNS_NOTIFYBYPOS style. 28274 (WebCore::ContextMenu::show): Implemented. 28275 28276 Updates to match OpenSource changes. 28277 28278 * loader/win/FrameLoaderWin.cpp: Added missing #include. 28279 * page/win/EventHandlerWin.cpp: Return bools to signify whether the 28280 event was handled. 28281 (WebCore::EventHandler::passMousePressEventToSubframe): 28282 (WebCore::EventHandler::passMouseMoveEventToSubframe): 28283 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 28284 (WebCore::EventHandler::passWheelEventToSubframe): 28285 (WebCore::EventHandler::passMousePressEventToScrollbar): 28286 * platform/win/PlatformScrollBar.h: Ditto. 28287 * platform/win/PlatformScrollBarWin.cpp: Ditto. 28288 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 28289 (WebCore::PlatformScrollbar::handleMouseOutEvent): 28290 (WebCore::PlatformScrollbar::handleMousePressEvent): 28291 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): 28292 28293 Small fix inspired by WebView.cpp changes. 28294 28295 * platform/win/PopupMenuWin.cpp: 28296 (WebCore::PopupMenu::calculatePositionAndSize): Use ::ClientToScreen to 28297 do coordinate conversion instead of doing it ourselves. 28298 28299 2006-11-28 Anders Carlsson <acarlsson (a] apple.com> 28300 28301 Reviewed by Adam. 28302 28303 <rdar://problem/4850883> 28304 Crash loading pdf page (W4 form) 28305 28306 * platform/win/TemporaryLinkStubs.cpp: 28307 (FrameLoader::redirectDataToPlugin): 28308 * loader/win/FrameLoaderWin.cpp: 28309 (WebCore::FrameLoader::redirectDataToPlugin): 28310 Move the function to FrameLoaderWin.cpp and get rid of STOP_NOIMPL() for now, 28311 we do things differently on Windows so this function doesn't need do do anything. 28312 I've filed 4852889 about redoing this once the loader has been ported. 28313 28314 2006-11-28 Alice Liu <alice.liu (a] apple.com> 28315 28316 Reviewed by Ada, Adam, and Lou. 28317 28318 * WebCore.vcproj/WebCore.vcproj: 28319 Added the files listed below 28320 28321 * platform/win/ClipboardWin.h: Added. 28322 * platform/win/ClipboardWin.cpp: Added. 28323 Added the minimum stubs for the ClipboardWin class 28324 (WebCore::ClipboardWin::isForDragging): 28325 (WebCore::ClipboardWin::dropEffect): 28326 (WebCore::ClipboardWin::setDropEffect): 28327 (WebCore::ClipboardWin::effectAllowed): 28328 (WebCore::ClipboardWin::setEffectAllowed): 28329 (WebCore::ClipboardWin::clearData): 28330 (WebCore::ClipboardWin::clearAllData): 28331 (WebCore::ClipboardWin::getData): 28332 (WebCore::ClipboardWin::setData): 28333 (WebCore::ClipboardWin::types): 28334 (WebCore::ClipboardWin::dragLocation): 28335 (WebCore::ClipboardWin::dragImage): 28336 (WebCore::ClipboardWin::setDragImage): 28337 (WebCore::ClipboardWin::dragImageElement): 28338 (WebCore::ClipboardWin::setDragImageElement): 28339 (WebCore::ClipboardWin::setAccessPolicy): 28340 (WebCore::ClipboardWin::~ClipboardWin): 28341 28342 * platform/win/EditorWin.cpp: Added. 28343 Added this to make dispatchCPPEvent happy. 28344 (WebCore::Editor::newGeneralClipboard): 28345 28346 * platform/win/PasteboardWin.cpp: Added. 28347 The pasteboard class follows a singleton pattern 28348 Implemented the following to support CF_HTML, CF_UNICODE, and CF_TEXT 28349 (WebCore::Pasteboard::generalPasteboard): 28350 (WebCore::Pasteboard::Pasteboard): 28351 (WebCore::Pasteboard::~Pasteboard): 28352 (WebCore::Pasteboard::registerSelectionPasteboardTypes): 28353 (WebCore::Pasteboard::clearTypes): 28354 (WebCore::Pasteboard::writeSelection): 28355 (WebCore::Pasteboard::createHandleFromString): 28356 (WebCore::Pasteboard::createHandleFromCString): 28357 (WebCore::Pasteboard::createCF_HTMLFromRange): 28358 (WebCore::Pasteboard::replaceNBSP): 28359 (WebCore::Pasteboard::canSmartReplace): 28360 (WebCore::Pasteboard::plainText): 28361 (WebCore::Pasteboard::documentFragment): 28362 (WebCore::PasteboardOwnerWndProc): 28363 28364 2006-11-28 Geoffrey Garen <ggaren (a] apple.com> 28365 28366 Reviewed by Anders Carlsson. 28367 28368 Fixed <rdar://problem/4844863> REGRESSION: screen flashes when scrolling/ 28369 resizing page with plug-in (@ cnn.com, for example). 28370 28371 LockWindowUpdate was to blame. It turns out that using LockWindowUpdate 28372 was wrong to begin with. It's really only intended for use in drag-n-drop 28373 operations, which explains why only one window can be locked at a time. 28374 (See http://blogs.msdn.com/oldnewthing/archive/2004/06/10/152612.aspx.) 28375 28376 The new solution I've implemented for avoiding plug-in fragments while scrolling 28377 is simply to clip the plug-in to the zero rect before moving it, and 28378 then to un-clip it when done. 28379 28380 * plugins/win/PluginViewWin.cpp: 28381 (WebCore::PluginViewWin::updateHwnd): 28382 28383 2006-11-28 Geoffrey Garen <ggaren (a] apple.com> 28384 28385 Reviewed by Adam. 28386 28387 Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 28388 calls cause .5% PLT regression. 28389 28390 Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient 28391 from the Frame to the Page, since it's only responsible for 28392 Webview-level delegate calls. 28393 28394 I don't really love this design, but it fixes the regression and allows 28395 a single WebKit object to implement multiple client interfaces. 28396 28397 Layout tests pass. 28398 28399 2006-11-27 Beth Dakin <bdakin (a] apple.com> 28400 28401 Reviewed by Adam. 28402 28403 Stub out functions in order to remove FIXMEs from ContextMenu.cpp 28404 28405 * bridge/win/FrameWin.h: Spell checker functions pushed down from 28406 WebKit. 28407 * platform/win/TemporaryLinkStubs.cpp: Stubs for spelling 28408 functions. 28409 (WebCore::FrameWin::isSelectionMisspelled): 28410 (WebCore::FrameWin::guessesForMisspelledSelection): 28411 28412 2006-11-27 Oliver Hunt <oliver (a] apple.com> 28413 28414 Reviewed by Adam. 28415 28416 Fixes a crash in SVG caused by an attempt to 28417 perform css overflow clipping by preventing 28418 the css overflow clip from being set in SVG. 28419 28420 <rdar:/problems/4839568> 28421 28422 * WebCore.vcproj/WebCore.vcproj: 28423 28424 2006-11-27 Anders Carlsson <acarlsson (a] apple.com> 28425 28426 Remove addMessageToConsole from FrameWin. 28427 * bridge/win/FrameWin.h: 28428 * platform/win/TemporaryLinkStubs.cpp: 28429 28430 2006-11-21 Anders Carlsson <acarlsson (a] apple.com> 28431 28432 Reviewed by Adam. 28433 28434 Various fixes that make file upload possible. 28435 28436 * bridge/win/FrameWin.h: 28437 * loader/win/FrameLoaderWin.cpp: 28438 (WebCore::FrameLoader::submitForm): 28439 Change submitForm to take a FrameLoadRequest. 28440 28441 * platform/network/cf/FormDataStreamCFNet.cpp: 28442 (WebCore::advanceCurrentStream): 28443 Pass kCFURLWindowsPathStyle to CFURLCreateWithFileSystemPath. 28444 28445 * platform/network/cf/ResourceHandleCFNet.cpp: 28446 (WebCore::willSendRequest): 28447 Call the client method. 28448 28449 2006-11-21 Anders Carlsson <acarlsson (a] apple.com> 28450 28451 Rubber-stamped by Maciej. 28452 28453 Fork the CF loader. 28454 28455 * WebCore.vcproj/WebCore.vcproj: 28456 * platform/network/cf/FormDataStreamCFNet.cpp: Added. 28457 (WebCore::getStreamFormDatas): 28458 (WebCore::pairRetain): 28459 (WebCore::pairRelease): 28460 (WebCore::pairEqual): 28461 (WebCore::pairHash): 28462 (WebCore::closeCurrentStream): 28463 (WebCore::scheduleWithPair): 28464 (WebCore::advanceCurrentStream): 28465 (WebCore::openNextStream): 28466 (WebCore::formCreate): 28467 (WebCore::formFinalize): 28468 (WebCore::formOpen): 28469 (WebCore::formRead): 28470 (WebCore::formCanRead): 28471 (WebCore::formClose): 28472 (WebCore::formSchedule): 28473 (WebCore::formUnschedule): 28474 (WebCore::formEventCallback): 28475 (WebCore::setHTTPBody): 28476 (WebCore::httpBodyFromStream): 28477 * platform/network/cf/FormDataStreamCFNet.h: Added. 28478 * platform/network/cf/ResourceHandleCFNet.cpp: Added. 28479 (WebCore::willSendRequest): 28480 (WebCore::didReceiveResponse): 28481 (WebCore::didReceiveData): 28482 (WebCore::didFinishLoading): 28483 (WebCore::didFail): 28484 (WebCore::willCacheResponse): 28485 (WebCore::didReceiveChallenge): 28486 (WebCore::addHeadersFromHashMap): 28487 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 28488 (WebCore::ResourceHandle::~ResourceHandle): 28489 (WebCore::arrayFromFormData): 28490 (WebCore::emptyPerform): 28491 (WebCore::runLoaderThread): 28492 (WebCore::ResourceHandle::start): 28493 (WebCore::ResourceHandle::cancel): 28494 * platform/network/cf/ResourceRequestCFNet.cpp: Added. 28495 (WebCore::getResourceRequest): 28496 (WebCore::addHeadersFromHashMap): 28497 (WebCore::cfURLRequest): 28498 * platform/network/cf/ResourceRequestCFNet.h: Added. 28499 * platform/network/cf/ResourceResponseCFNet.cpp: Added. 28500 (WebCore::getResourceResponse): 28501 * platform/network/cf/ResourceResponseCFNet.h: Added. 28502 28503 2006-11-21 Anders Carlsson <acarlsson (a] apple.com> 28504 28505 Reviewed by Lou, Dave Hyatt. 28506 28507 <rdar://problem/4761639> 28508 Group label in list box doesn't appear as bold 28509 28510 <rdar://problem/4805795> 28511 <optgroup> labels should be bold in popup menus 28512 28513 * platform/win/FontPlatformDataWin.cpp: 28514 (WebCore::enumStylesCallback): 28515 (WebCore::FontPlatformData::FontPlatformData): 28516 Enumerate the existing font styles and decide what to synthesize 28517 depending on what styles are available. 28518 28519 2006-11-21 Anders Carlsson <acarlsson (a] apple.com> 28520 28521 Fix build. 28522 28523 * WebCore.vcproj/WebCore.vcproj: 28524 28525 2006-11-20 Anders Carlsson <acarlsson (a] apple.com> 28526 28527 Add the same include paths to the debug build. 28528 28529 * WebCore.vcproj/WebCore.vcproj: 28530 28531 2006-11-20 Anders Carlsson <acarlsson (a] apple.com> 28532 28533 Fix build. 28534 28535 * WebCore.vcproj/WebCore.vcproj: 28536 * kcanvas/device/quartz/KCanvasFilterQuartz.cpp: Removed. 28537 * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Added. 28538 (WebCore::SVGResourceFilter::SVGResourceFilter): 28539 (WebCore::SVGResourceFilter::~SVGResourceFilter): 28540 (WebCore::SVGResourceFilter::prepareFilter): 28541 (WebCore::SVGResourceFilter::applyFilter): 28542 28543 2006-11-19 Beth Dakin <bdakin (a] apple.com> 28544 28545 Reviewed by Adam. 28546 28547 Boomer part of context menu actions. 28548 28549 * bridge/win/FrameWin.h: New spelling functions on Frame. 28550 * platform/win/ContextMenuWin.cpp: 28551 (WebCore::ContextMenu::show): 28552 (WebCore::ContextMenu::hide): 28553 * platform/win/TemporaryLinkStubs.cpp: New stubs. 28554 (FrameWin::ignoreSpelling): 28555 (FrameWin::learnSpelling): 28556 (FrameLoader::reload): 28557 28558 2006-11-18 Adam Roben <aroben (a] apple.com> 28559 28560 Build fix from OpenSource r17841. 28561 28562 * platform/win/CursorWin.cpp: New method stubs. 28563 (WebCore::aliasCursor): 28564 (WebCore::progressCursor): 28565 (WebCore::noDropCursor): 28566 28567 2006-11-17 Anders Carlsson <acarlsson (a] apple.com> 28568 28569 Reviewed by Adam. 28570 28571 Add #defines in config.h to prevent the min and max macros from being used. 28572 28573 * bridge/win/FrameWin.cpp: 28574 * config.h: 28575 * platform/win/FontCacheWin.cpp: 28576 (WebCore::FontCache::createFontPlatformData): 28577 * platform/win/PopupMenuWin.cpp: 28578 * plugins/win/PluginStreamWin.cpp: 28579 * plugins/win/PluginViewWin.cpp: 28580 (WebCore::PluginViewWin::handlePost): 28581 28582 2006-11-17 Kevin McCullough <kmccullough (a] apple.com> 28583 28584 Reviewed by Adam. 28585 28586 - Fixes Targetted Form Submission to now work. Radar: 4762693 28587 28588 * ChangeLog: 28589 * loader/win/FrameLoaderWin.cpp: 28590 (WebCore::FrameLoader::submitForm): 28591 28592 2006-11-16 Adele Peterson <adele (a] apple.com> 28593 28594 Reviewed by Adam. 28595 28596 Added theme for sider. 28597 28598 * rendering/RenderThemeWin.cpp: 28599 (WebCore::RenderThemeWin::sliderTheme): 28600 (WebCore::RenderThemeWin::close): 28601 (WebCore::RenderThemeWin::determineSliderThumbState): 28602 (WebCore::RenderThemeWin::getClassicThemeData): 28603 (WebCore::RenderThemeWin::getThemeData): 28604 (WebCore::drawControl): 28605 (WebCore::RenderThemeWin::paintSliderTrack): 28606 (WebCore::RenderThemeWin::paintSliderThumb): 28607 (WebCore::RenderThemeWin::adjustSliderThumbSize): 28608 * rendering/RenderThemeWin.h: 28609 28610 2006-11-15 Adam Roben <aroben (a] apple.com> 28611 28612 Reviewed by Anders. 28613 28614 Added new ContextMenuClient and ContextMenuController classes. 28615 28616 * WebCore.vcproj/WebCore.vcproj: Added new files. 28617 * platform/win/ContextMenuWin.cpp: Added method implementations Beth 28618 forgot to check in in r11129. 28619 (WebCore::ContextMenu::itemCount): 28620 (WebCore::ContextMenu::appendItem): 28621 28622 2006-11-15 Geoffrey Garen <ggaren (a] apple.com> 28623 28624 Reviewed by Anders Carlsson. 28625 28626 Fixed flash of plug-in content outside its containing iframe while 28627 scrolling the iframe. 28628 28629 The problem was that the plug-in would draw between our call to MoveWindow 28630 and our call to SetWindowRgn. The solution here is to lock all updates in 28631 the plug-in's HWND until we've called both MoveWindow and SetWindowRgn. 28632 28633 Tested with Quicktime and Flash. 28634 28635 * plugins/win/PluginViewWin.cpp: 28636 (WebCore::PluginViewWin::updateHwnd): 28637 (WebCore::PluginViewWin::setFrameGeometry): 28638 (WebCore::PluginViewWin::geometryChanged): 28639 * plugins/win/PluginViewWin.h: Removed bogus invalidate parameter to updateHwnd. 28640 28641 2006-11-15 Adele Peterson <adele (a] apple.com> 28642 28643 Reviewed by Adam. 28644 28645 Adding RenderSlider class, and removing DeprecatedSlider and Slider classes. 28646 28647 * WebCore.vcproj/WebCore.vcproj: 28648 * platform/win/TemporaryLinkStubs.cpp: 28649 28650 2006-11-15 Beth Dakin <bdakin (a] apple.com> 28651 & Adam Roben <aroben (a] apple.com> 28652 28653 Reviewed by Adam and Beth. 28654 28655 Internal side of r17796. 28656 28657 * WebCore.vcproj/WebCore.vcproj: 28658 * platform/win/ContextMenuWin.cpp: Added. 28659 (WebCore::ContextMenu::insertItem): 28660 (WebCore::ContextMenu::setPlatformMenuDescription): 28661 28662 2006-11-15 Anders Carlsson <acarlsson (a] apple.com> 28663 28664 Reviewed by Darin. 28665 28666 Remove some (now) obsolete methods. 28667 28668 * bridge/win/FrameWin.h: 28669 * platform/win/TemporaryLinkStubs.cpp: 28670 (FrameWin::unfocusWindow): 28671 (FrameWin::getAppletInstanceForWidget): 28672 (FrameWin::issuePasteCommand): 28673 (FrameWin::respondToChangedSelection): 28674 28675 2006-11-15 Steve Falkenburg <sfalken (a] apple.com> 28676 28677 Remove header from vcproj that no longer exists 28678 28679 * WebCore.vcproj/WebCore.vcproj: 28680 28681 2006-11-15 Steve Falkenburg <sfalken (a] apple.com> 28682 28683 Fix the B&I build 28684 28685 * WebCore.vcproj/WebCore.vcproj: 28686 28687 2006-11-14 Darin Adler <darin (a] apple.com> 28688 28689 Reviewed by Anders. 28690 28691 - update for creation of EventHandler 28692 28693 * WebCore.vcproj/WebCore.vcproj: Added EventHandler.cpp/h/Win.cpp. 28694 28695 * bridge/win/FrameWin.h: Moved virtual functions lastEventIsMouseUp, 28696 tabsToLinks, and tabsToAllControls to EventHandler. 28697 * bridge/win/FrameWin.cpp: Ditto. 28698 28699 * bridge/win/FrameViewWin.cpp: Moved passMousePressEventToSubframe and similar 28700 functions to EventHandler. 28701 28702 * page/win/EventHandlerWin.cpp: Added. Code from FrameViewWin and FrameWin. 28703 28704 * platform/win/PlatformScrollBarWin.cpp: 28705 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): Call the setMousePressed 28706 function in its new home in EventHandler. 28707 28708 * platform/win/TemporaryLinkStubs.cpp: Moved lastEventIsMouseUp stub to EventHandler. 28709 28710 2006-11-13 Brady Eidson <beidson (a] apple.com> 28711 28712 Rubberstamped by Maciej 28713 28714 Windows half of 17755 - Make FormData shared 28715 28716 * bridge/win/FrameWin.h: 28717 * loader/win/FrameLoaderWin.cpp: 28718 (WebCore::FrameLoader::submitForm): 28719 * plugins/win/PluginViewWin.cpp: 28720 (WebCore::PluginViewWin::handlePost): 28721 28722 2006-11-13 Anders Carlsson <acarlsson (a] apple.com> 28723 28724 Reviewed by Adam. 28725 28726 * platform/win/PopupMenuWin.cpp: 28727 (WebCore::PopupWndProc): 28728 Make sure to call valueChanged after hiding the popup so that change events will 28729 be delivered correctly. 28730 28731 2006-11-13 Steve Falkenburg <sfalken (a] apple.com> 28732 28733 Reviewed by Anders, Lou. 28734 28735 Fix merge script 28736 28737 * WebCore.vcproj/merge-opensource.sh: Don't copy cairo, pixman 28738 28739 2006-11-12 Geoffrey Garen <ggaren (a] apple.com> 28740 28741 Reviewed by Beth Dakin. 28742 28743 Added project-wide setting to disable Microsoft's made-up deprecation 28744 warnings related to std:: functions. (Doesn't have any affect yet, 28745 since we currently disable all deprecation warnings.) 28746 28747 * WebCore.vcproj/WebCore.vcproj: 28748 28749 2006-11-11 Anders Carlsson <acarlsson (a] apple.com> 28750 28751 Reviewed by Oliver. 28752 28753 Rename keyPress to keyEvent, it's used for both key presses 28754 and releases. 28755 28756 * bridge/win/FrameWin.cpp: 28757 (WebCore::FrameWin::keyEvent): 28758 * bridge/win/FrameWin.h: 28759 28760 2006-11-11 Adam Roben <aroben (a] apple.com> 28761 28762 Reviewed by Geoff. 28763 28764 Move graphics-related files to platform/graphics to stay in sync with 28765 changes from OpenSource r17727. 28766 28767 Also, as discussed with Darin and Steve, we now copy all our headers to 28768 a flat include/WebCore directory instead of copying the directory 28769 structure of WebCore. This mirrors how Mac builds. 28770 28771 * WebCore.vcproj/WebCore.vcproj: 28772 * platform/cg/ColorCG.cpp: Removed. 28773 * platform/cg/GraphicsContextCG.cpp: Removed. 28774 * platform/cg/GraphicsContextPlatformPrivate.h: Removed. 28775 * platform/win/IconWin.cpp: Removed. 28776 * platform/win/ImageWin.cpp: Removed. 28777 28778 2006-11-11 Darin Adler <darin (a] apple.com> 28779 28780 - blind attempt to fix the build 28781 28782 * platform/win/CursorWin.cpp: 28783 (WebCore::verticalTextCursor): Added. Just returns the pointer cursor. 28784 (WebCore::cellCursor): Ditto. 28785 (WebCore::contextMenuCursor): Ditto. 28786 28787 2006-11-10 Steve Falkenburg <sfalken (a] apple.com> 28788 28789 Build fix for opensource/internal merge script. 28790 28791 * WebCore.vcproj/WebCore.vcproj: 28792 28793 2006-11-10 Anders Carlsson <acarlsson (a] apple.com> 28794 28795 Reviewed by Oliver. 28796 28797 Implement findNextWordFromIndex using ICU. 28798 28799 * platform/win/TemporaryLinkStubs.cpp: 28800 (WebCore::findSentenceBoundary): 28801 * platform/win/TextBoundariesWin.cpp: 28802 (WebCore::findNextWordFromIndex): 28803 28804 2006-11-09 Oliver Hunt <oliver (a] apple.com> 28805 28806 Reviewed by Brady. 28807 28808 Added Windows side of MIME Type registry, and updated 28809 objectContentType and ImageWin to make use of it 28810 28811 This fixes <rdar://problem/4791483> 28812 28813 * WebCore.vcproj/WebCore.vcproj: 28814 * loader/win/FrameLoaderWin.cpp: 28815 (WebCore::FrameLoader::objectContentType): 28816 * platform/win/ImageWin.cpp: 28817 * platform/win/MimeTypeRegistryWin.cpp: Added. 28818 (WebCore::getMIMETypeForUTI): 28819 (WebCore::mimeTypeForExtension): 28820 (WebCore::MimeTypeRegistry::getMIMETypeForExtension): 28821 28822 2006-11-09 Lou Amadio <lamadio (a] apple.com> 28823 28824 Reviewed by mjs 28825 Corrected positioning of text for find overlay on subframes 28826 28827 * bridge/win/FrameWin.cpp: 28828 (WebCore::FrameWin::imageFromRect): 28829 28830 2006-11-08 Lou Amadio <lamadio (a] apple.com> 28831 28832 Reviewed by ggaren 28833 28834 Moved CookieJar to OpenSourceWin 28835 Ported CookieJar to CFNetwork 28836 Corrected an uninitialized variable which crashed on Vista in the Wininet code 28837 28838 * WebCore.vcproj/WebCore.vcproj: 28839 * platform/network/win/CookieJarWin.cpp: 28840 (WebCore::setCookies): 28841 (WebCore::cookies): 28842 28843 2006-11-08 Maciej Stachowiak <mjs (a] apple.com> 28844 28845 Reviewed by Geoff. 28846 28847 - added ResourceError class and didFailWithError client method 28848 28849 * plugins/win/PluginStreamWin.cpp: 28850 (WebCore::PluginStreamWin::didFailLoadingWithError): 28851 (WebCore::PluginStreamWin::didFinishLoading): 28852 * plugins/win/PluginStreamWin.h: 28853 28854 2006-11-08 Geoffrey Garen <ggaren (a] apple.com> 28855 28856 Reviewed by Anders Carlsson. 28857 28858 Updated Windows to use the new platform abstraction for Screen. 28859 28860 * WebCore.vcproj/WebCore.vcproj: 28861 * platform/win/PopupMenuWin.cpp: 28862 (WebCore::PopupMenu::calculatePositionAndSize): 28863 * platform/win/ScreenWin.cpp: 28864 (WebCore::monitorInfoForWidget): 28865 (WebCore::deviceInfoForWidget): 28866 (WebCore::screenDepth): 28867 (WebCore::screenDepthPerComponent): 28868 (WebCore::screenIsMonochrome): 28869 (WebCore::screenRect): 28870 (WebCore::screenAvailableRect): 28871 28872 2006-11-09 Darin Adler <darin (a] apple.com> 28873 28874 - fix the build 28875 28876 * bridge/win/FrameWin.h: Add a forward declaration of FormData. 28877 28878 * bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress): 28879 Call resetMultipleFormSubmissionProtection instead of prepareForUserAction. 28880 28881 * platform/win/TemporaryLinkStubs.cpp: Remove the parameter from the 28882 TextField constructor. 28883 28884 2006-11-08 Steve Falkenburg <sfalken (a] apple.com> 28885 28886 Rubber stamped by Adam. 28887 28888 Windows buildbot fix. 28889 Remove /d from xcopy commands that merge opensource/internal components. 28890 Sync debug and release post-build event. 28891 28892 * WebCore.vcproj/WebCore.vcproj: 28893 28894 2006-11-07 Ada Chan <adachan (a] apple.com> 28895 28896 Reviewed by Steve. 28897 28898 Make the Slider implementation call LOG_NOIMPL() instead of STOP_NOIMPL() so the RSS feed page can load. 28899 28900 * platform/win/TemporaryLinkStubs.cpp: 28901 (Slider::Slider): 28902 (Slider::sizeHint): 28903 (Slider::setValue): 28904 (Slider::setMaxValue): 28905 (Slider::setMinValue): 28906 (Slider::~Slider): 28907 (Slider::setFont): 28908 (Slider::value): 28909 28910 2006-11-07 Lou Amadio <lamadio (a] apple.com> 28911 28912 Reviewed by sfalken, adam 28913 28914 Implemented Find banner, overlay, bouncy. 28915 plummed some find, search and marking in WebCore & WebKit 28916 Added SDC - a DC wrapper with knowledge of CG 28917 Added button element 28918 Ported AppKit's oval button drawing code 28919 Abstracted the high performance animations 28920 28921 * bridge/win/FrameWin.cpp: 28922 (WebCore::FrameWin::imageFromRect): 28923 (WebCore::FrameWin::imageFromSelection): 28924 * bridge/win/FrameWin.h: 28925 * platform/win/GraphicsContextWin.cpp: 28926 (WebCore::GraphicsContext::setCompositeOperation): 28927 * platform/win/TemporaryLinkStubs.cpp: 28928 (Frame::setNeedsReapplyStyles): 28929 28930 2006-11-08 Anders Carlsson <acarlsson (a] apple.com> 28931 28932 Build fixes. 28933 28934 * WebCore.vcproj/WebCore.vcproj: 28935 * platform/win/TemporaryLinkStubs.cpp: 28936 28937 2006-11-08 Anders Carlsson <acarlsson (a] apple.com> 28938 28939 * loader/win/FrameLoaderWin.cpp: 28940 (WebCore::FrameLoader::partClearedInBegin): 28941 Use m_frame instead of this, include the correct files. 28942 28943 2006-11-08 Anders Carlsson <acarlsson (a] apple.com> 28944 28945 (I'm not doing this to get commit 11000) 28946 28947 * loader/win/FrameLoaderWin.cpp: 28948 (WebCore::FrameLoader::partClearedInBegin): 28949 It's m_frame, not frame. 28950 28951 2006-11-08 Anders Carlsson <acarlsson (a] apple.com> 28952 28953 It's FrameLoader, not FrameWin. 28954 28955 * loader/win/FrameLoaderWin.cpp: 28956 (WebCore::FrameLoader::partClearedInBegin): 28957 28958 2006-11-08 Anders Carlsson <acarlsson (a] apple.com> 28959 28960 A blind attempt at fixing the build. 28961 28962 * bridge/win/FrameWin.cpp: 28963 * loader/win/FrameLoaderWin.cpp: 28964 (WebCore::FrameWin::partClearedInBegin): 28965 * platform/win/TemporaryLinkStubs.cpp: 28966 (FrameLoader::restoreDocumentState): 28967 28968 2006-11-07 Geoffrey Garen <ggaren (a] apple.com> 28969 28970 Reviewed by Anders. 28971 28972 Removed ScreenClient. It was highly unpopular, risking my midterm re-election. 28973 28974 None of Screen's responsibilities require up-calls to WebKit or delegates, 28975 so WebCore can handle it all. 28976 28977 Moved Screen back from page/ to platform/ because it's a platform 28978 abstraction again. 28979 28980 Fixed bug where Screen would query the default screen instead of the screen 28981 on which the active window was located. (The code is written in Klingon, 28982 but that's cool.) 28983 28984 Implemented some missing screen functionality on Win. 28985 28986 I can't fully verify this code because I can't load files without crashing 28987 in CFNetwork, but I exercised most of it with javascript: URLs and the 28988 debugger reported reasonable values. 28989 28990 * WebCore.vcproj/WebCore.vcproj: 28991 * platform/win/ScreenWin.cpp: Added. Merged over from opensource tree. 28992 (WebCore::getWindow): 28993 (WebCore::getMonitorInfo): 28994 (WebCore::getDeviceInfo): 28995 (WebCore::Screen::depth): 28996 (WebCore::Screen::depthPerComponent): 28997 (WebCore::Screen::isMonochrome): 28998 (WebCore::Screen::rect): 28999 (WebCore::Screen::usableRect): 29000 29001 2006-11-07 Darin Adler <darin (a] apple.com> 29002 29003 Reviewed by Geoff. 29004 29005 - moved loader code from Frame/FrameMac to FrameLoader 29006 29007 * WebCore.vcproj/WebCore.vcproj: 29008 * bridge/win/FrameWin.cpp: 29009 (WebCore::FrameWin::FrameWin): 29010 (WebCore::FrameWin::~FrameWin): 29011 * bridge/win/FrameWin.h: 29012 * loader/win/FrameLoaderWin.cpp: Added. 29013 (WebCore::FrameLoader::submitForm): 29014 (WebCore::FrameLoader::urlSelected): 29015 (WebCore::FrameLoader::originalRequestURL): 29016 (WebCore::FrameLoader::didFirstLayout): 29017 (WebCore::FrameLoader::objectContentType): 29018 (WebCore::FrameLoader::createPlugin): 29019 (WebCore::FrameLoader::createFrame): 29020 (WebCore::FrameLoader::detachFromParent): 29021 (WebCore::FrameLoader::createJavaAppletWidget): 29022 (WebCore::FrameLoader::setTitle): 29023 * platform/win/TemporaryLinkStubs.cpp: 29024 (FrameWin::markMisspellings): 29025 (FrameWin::respondToChangedSelection): 29026 (FrameWin::clearUndoRedoOperations): 29027 (IconLoader::notifyIconChanged): 29028 (PolicyCheck::PolicyCheck): 29029 (PolicyCheck::clear): 29030 (PolicyCheck::call): 29031 (PolicyCheck::clearRequest): 29032 (FrameLoader::saveDocumentState): 29033 (FrameLoader::restoreDocumentState): 29034 (FrameLoader::partClearedInBegin): 29035 (FrameLoader::goBackOrForward): 29036 (FrameLoader::historyURL): 29037 (FrameLoader::canGoBackOrForward): 29038 (FrameLoader::getHistoryLength): 29039 (DocumentLoader::setupForReplaceByMIMEType): 29040 (ResourceLoader::cancel): 29041 (DocumentLoader::stopLoading): 29042 (DocumentLoader::setLoading): 29043 (DocumentLoader::updateLoading): 29044 (DocumentLoader::setFrame): 29045 (DocumentLoader::stopRecordingResponses): 29046 (DocumentLoader::isStopping): 29047 (DocumentLoader::setPrimaryLoadComplete): 29048 (DocumentLoader::finishedLoading): 29049 (DocumentLoader::URL): 29050 (DocumentLoader::isLoadingInAPISense): 29051 (DocumentLoader::frameLoader): 29052 (FrameLoader::overrideMediaType): 29053 (FrameLoader::redirectDataToPlugin): 29054 (FrameLoader::checkLoadCompleteForThisFrame): 29055 (FrameLoader::loadEmptyDocumentSynchronously): 29056 (FrameLoader::startLoading): 29057 (FrameLoader::referrer): 29058 * plugins/win/PluginViewWin.cpp: 29059 (WebCore::PluginViewWin::performRequest): 29060 (WebCore::PluginViewWin::userAgent): 29061 29062 2006-11-07 Anders Carlsson <acarlsson (a] apple.com> 29063 29064 Reviewed by Oliver. 29065 29066 Let the Frame client know when the window object is available. 29067 29068 * bridge/win/FrameWin.cpp: 29069 (WebCore::FrameWin::partClearedInBegin): 29070 * bridge/win/FrameWin.h: 29071 * platform/win/TemporaryLinkStubs.cpp: 29072 (FrameWin::unfocusWindow): 29073 (FrameWin::markMisspellings): 29074 (FrameWin::restoreDocumentState): 29075 29076 2006-11-07 Adam Roben <aroben (a] apple.com> 29077 29078 Build fix. 29079 29080 * platform/win/TemporaryLinkStubs.cpp: Remove no-longer-needed stub. 29081 29082 2006-11-07 Steve Falkenburg <sfalken (a] apple.com> 29083 29084 Fixes for B&I submission 29085 29086 * WebCore.vcproj/WebCore.vcproj: 29087 * WebCore.vcproj/merge-opensource.sh: 29088 29089 2006-11-06 Kevin McCullough <kmccullough (a] apple.com> 29090 29091 -Fix test fields accepting text. 29092 29093 * WebCore.vcproj/WebCore.vcproj: 29094 29095 2006-11-06 Anders Carlsson <acarlsson (a] apple.com> 29096 29097 Reviewed by Dave Hyatt. 29098 29099 <rdar://problem/4778180> 29100 wikipedia.org crashes when loading 29101 29102 * platform/win/GlyphMapWin.cpp: 29103 (WebCore::GlyphMap::fillPage): 29104 Don't call GetGlyphIndices on buffers larger than the page size. GetGlyphIndicies doesn't know anything about 29105 Unicode supplementary characters and will overwrite the local buffer if the passed-in buffer is bigger than the page size. 29106 29107 2006-11-06 Anders Carlsson <acarlsson (a] apple.com> 29108 29109 Fork GlyphMapWin.cpp 29110 29111 * platform/win/GlyphMapWin.cpp: Added. 29112 (WebCore::GlyphMap::fillPage): 29113 29114 2006-11-06 Geoffrey Garen <ggaren (a] apple.com> 29115 29116 Reviewed by Darin. 29117 29118 Hooked up the Chrome and Screen clients on Windows. 29119 29120 * WebCore.vcproj/WebCore.vcproj: 29121 * bridge/win/PageWin.cpp: 29122 * platform/win/PopupMenuWin.cpp: 29123 (WebCore::PopupMenu::calculatePositionAndSize): 29124 * platform/win/TemporaryLinkStubs.cpp: 29125 29126 2006-11-06 Anders Carlsson <acarlsson (a] apple.com> 29127 29128 Reviewed by Maciej. 29129 29130 Copy npfunctions.h to WebKitOutputDir. 29131 29132 * WebCore.vcproj/WebCore.vcproj: 29133 29134 2006-11-06 Steve Falkenburg <sfalken (a] apple.com> 29135 29136 Fix double-include of FormData.cpp/.h. 29137 29138 * WebCore.vcproj/WebCore.vcproj: 29139 29140 2006-11-06 Maciej Stachowiak <mjs (a] apple.com> 29141 29142 - build fixes, adjusted for file move 29143 29144 * WebCore.vcproj/WebCore.vcproj: 29145 29146 2006-11-05 Beth Dakin <bdakin (a] apple.com> 29147 29148 Reviewed by Steve and Anders. 29149 29150 Add client() fucntion to FrameWin to return the FrameClient. 29151 29152 * bridge/win/FrameWin.h: 29153 (WebCore::FrameWin::client): 29154 29155 2006-11-05 Steve Falkenburg <sfalken (a] apple.com> 29156 29157 Fix build 29158 29159 * WebCore.vcproj/WebCore.vcproj: 29160 29161 2006-11-05 Steve Falkenburg <sfalken (a] apple.com> 29162 29163 Fix build breaks 29164 29165 * bridge/win/FrameWin.cpp: 29166 * bridge/win/PageWin.cpp: 29167 29168 2006-11-04 Darin Adler <darin (a] apple.com> 29169 29170 Reviewed by Maciej. 29171 29172 * bridge/win/FrameWin.h: 29173 * bridge/win/FrameWin.cpp: 29174 (WebCore::FrameWin::urlSelected): Updated for change of const Event* to Event*. 29175 (WebCore::FrameWin::submitForm): Added Event* parameter. 29176 29177 2006-11-03 Maciej Stachowiak <mjs (a] apple.com> 29178 29179 Reviewed by Adele. 29180 29181 - replaced receivedRedirect with new willSendRequest delegate 29182 - removed most mac-specific loader functions 29183 - use ResourceResponse more in loader code 29184 29185 * WebCore.vcproj/WebCore.vcproj: Added new files 29186 * platform/win/TemporaryLinkStubs.cpp: Removed unneeded link stubs 29187 29188 2006-11-03 Steve Falkenburg <sfalken (a] apple.com> 29189 29190 Fix build 29191 29192 * config.h: Touched to cause re-build w/ SVG_SUPPORT enabled 29193 * platform/win/TemporaryLinkStubs.cpp: 29194 (WebCore::CachedResource::setResponse): Added 29195 29196 2006-11-03 Adele Peterson <adele (a] apple.com> 29197 29198 Reviewed by Oliver. 29199 29200 Removed DeprecatedRenderSelect and ListBox classes. 29201 29202 * WebCore.vcproj/WebCore.vcproj: 29203 * platform/win/TemporaryLinkStubs.cpp: 29204 29205 2006-11-03 Anders Carlsson <acarlsson (a] apple.com> 29206 29207 Remove SVGRenderAsText files from the project. 29208 29209 * WebCore.vcproj/WebCore.vcproj: 29210 29211 2006-11-03 Anders Carlsson <acarlsson (a] apple.com> 29212 29213 Build fix. 29214 29215 * platform/win/TemporaryLinkStubs.cpp: 29216 (WebCore::CachedResource::setPlatformResponse): 29217 29218 2006-11-03 Geoffrey Garen <ggaren (a] apple.com> 29219 29220 Reviewed by Darin, Beth. 29221 29222 Updated to use ChromeClient. 29223 29224 * WebCore.vcproj/WebCore.vcproj: 29225 * bridge/win/PageWin.cpp: 29226 * loader/win/ResourceLoaderWin.cpp: Added. 29227 (WebCore::ResourceLoader::loadsBlocked): 29228 * platform/win/TemporaryLinkStubs.cpp: 29229 29230 2006-11-02 Anders Carlsson <acarlsson (a] apple.com> 29231 29232 Reviewed by Oliver. 29233 29234 * WebCore.vcproj/WebCore.vcproj: 29235 Use the forked CursorWin.cpp 29236 29237 * platform/win/CursorWin.cpp: 29238 (WebCore::moveCursor): 29239 Implement this. 29240 29241 * platform/win/TemporaryLinkStubs.cpp: 29242 Get rid of it here. 29243 29244 2006-11-02 Anders Carlsson <acarlsson (a] apple.com> 29245 29246 Reviewed by Oliver. 29247 29248 Add forked copy of CursorWin.cpp 29249 29250 * platform/win/CursorWin.cpp: Added. 29251 29252 2006-11-01 Oliver Hunt <oliver (a] apple.com> 29253 29254 Reviewed by Adam. 29255 29256 Adding SVG_SUPPORT to Boomer. 29257 29258 * WebCore.vcproj/WebCore.vcproj: 29259 * WebCore.vcproj/build-generated-files.sh: 29260 * kcanvas/device/quartz/KCanvasFilterQuartz.cpp: Added. 29261 (WebCore::KCanvasFilterQuartz::KCanvasFilterQuartz): 29262 (WebCore::KCanvasFilterQuartz::~KCanvasFilterQuartz): 29263 (WebCore::KCanvasFilterQuartz::prepareFilter): 29264 (WebCore::KCanvasFilterQuartz::applyFilter): 29265 (WebCore::KCanvasFilterQuartz::imageForName): 29266 (WebCore::KCanvasFilterQuartz::setImageForName): 29267 (WebCore::KCanvasFilterQuartz::setOutputImage): 29268 (WebCore::KCanvasFilterQuartz::inputImage): 29269 * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Added. 29270 (WebCore::SVGResourceMasker::applyMask): 29271 29272 2006-11-01 Beth Dakin <bdakin (a] apple.com> 29273 29274 Reviewed by Adam. 29275 29276 Build fix from Sam Weinig's check-in. i.p in the PaintInfo is now 29277 i.context 29278 29279 * rendering/RenderThemeWin.cpp: 29280 (WebCore::RenderThemeWin::paintButton): 29281 (WebCore::RenderThemeWin::paintTextField): 29282 (WebCore::RenderThemeWin::paintMenuList): 29283 (WebCore::RenderThemeWin::paintMenuListButton): 29284 29285 2006-11-01 Anders Carlsson <acarlsson (a] apple.com> 29286 29287 Reviewed by Geoff. 29288 29289 * bridge/win/FrameWin.cpp: 29290 (WebCore::FrameWin::createJavaAppletWidget): 29291 Ask the plugin database to create a java applet plugin. 29292 29293 * platform/win/TemporaryLinkStubs.cpp: 29294 Remove FrameWin::createJavaAppletWidget. 29295 29296 * plugins/win/PluginDatabaseWin.cpp: 29297 (WebCore::PluginDatabaseWin::defaultPluginPaths): 29298 Don't look for the Sun Java plugin anymore. 29299 29300 2006-11-01 Anders Carlsson <acarlsson (a] apple.com> 29301 29302 * plugins/win/PluginStreamWin.cpp: 29303 (WebCore::PluginStreamWin::startStream): 29304 Build fix. 29305 29306 2006-11-01 Anders Carlsson <acarlsson (a] apple.com> 29307 29308 Reviewed by Adam. 29309 29310 Convert plugin code over to using ResourceResponse. 29311 29312 * plugins/win/PluginStreamWin.cpp: 29313 (WebCore::PluginStreamWin::startStream): 29314 (WebCore::PluginStreamWin::didReceiveResponse): 29315 (WebCore::PluginStreamWin::didFinishLoading): 29316 * plugins/win/PluginStreamWin.h: 29317 * plugins/win/PluginViewWin.cpp: 29318 (WebCore::PluginViewWin::performRequest): 29319 29320 2006-10-31 Steve Falkenburg <sfalken (a] apple.com> 29321 29322 Yet more B&I build fixes 29323 Another missing .h file from the vcproj 29324 29325 * WebCore.vcproj/WebCore.vcproj: 29326 29327 2006-10-31 Steve Falkenburg <sfalken (a] apple.com> 29328 29329 Another fix for B&I submission 29330 (missing .h files from the WebCore vcproj prevents proper merging of OpenSource/Internal WebCore trees) 29331 29332 * WebCore.vcproj/WebCore.vcproj: 29333 29334 2006-10-31 Steve Falkenburg <sfalken (a] apple.com> 29335 29336 Remove extra files I accidently added 29337 29338 * WebCore.vcproj/WebCore.vcproj: 29339 29340 2006-10-31 Steve Falkenburg <sfalken (a] apple.com> 29341 29342 Build fixes for submission merge script 29343 29344 * WebCore.vcproj/WebCore.vcproj: 29345 29346 2006-10-31 Adam Roben <aroben (a] apple.com> 29347 29348 Build fixes. 29349 29350 * WebCore.vcproj/WebCore.vcproj: Add new platform/graphics directory to 29351 our include path, and copy headers from there for WebKit's benefit. 29352 * bridge/win/FrameWin.cpp: Update accessors of FrameLoadRequest. 29353 (WebCore::FrameWin::urlSelected): 29354 (WebCore::FrameWin::submitForm): 29355 * plugins/win/PluginViewWin.cpp: Ditto. 29356 (WebCore::PluginViewWin::start): 29357 (WebCore::PluginViewWin::performRequest): 29358 (WebCore::PluginViewWin::load): 29359 (WebCore::PluginViewWin::getURLNotify): 29360 (WebCore::PluginViewWin::getURL): 29361 (WebCore::PluginViewWin::handlePost): 29362 * plugins/win/PluginViewWin.h: Correct forward declaration of 29363 FrameLoadRequest. 29364 29365 2006-10-30 Darin Adler <darin (a] apple.com> 29366 29367 Reviewed by Anders. 29368 29369 - remove BrowserExtension 29370 29371 * WebCore.vcproj/WebCore.vcproj: 29372 * bridge/win/FrameWin.cpp: 29373 (WebCore::FrameWin::FrameWin): 29374 * platform/win/TemporaryLinkStubs.cpp: 29375 * plugins/win/PluginViewWin.cpp: 29376 (WebCore::PluginViewWin::performRequest): 29377 29378 2006-10-30 Anders Carlsson <acarlsson (a] apple.com> 29379 29380 Reviewed by Adam. 29381 29382 If there's no plug-in for a given mime type, or if the plug-in fails 29383 to initialize, draw the "missing plug-in" icon. 29384 29385 * plugins/win/PluginDatabaseWin.cpp: 29386 (WebCore::PluginDatabaseWin::createPluginView): 29387 If no plug-in can be found, create a null plugin view. 29388 29389 * plugins/win/PluginViewWin.cpp: 29390 (WebCore::PluginViewWin::paint): 29391 If the plugin hasn't been started, paint the missing plugin image. 29392 29393 (WebCore::PluginViewWin::setNPWindowSize): 29394 Return early if the plugin hasn't been started. 29395 29396 (WebCore::PluginViewWin::start): 29397 Return if the plugin couldn't be created. 29398 29399 (WebCore::PluginViewWin::createNullPluginView): 29400 New function which just creates a plugin view and doesn't try to start its plugin 29401 (because there is none). 29402 29403 (WebCore::PluginViewWin::PluginViewWin): 29404 New constructor for the null plugin view. 29405 29406 2006-10-31 Darin Adler <darin (a] apple.com> 29407 29408 Reviewed by Adam. 29409 29410 * WebCore.vcproj/WebCore.vcproj: Added new source files from the 29411 loader directory. 29412 29413 2006-10-29 Maciej Stachowiak <mjs (a] apple.com> 29414 29415 Reviewed by Anders. 29416 29417 - added ResourceResponse class and didReceiveResponse delegate call 29418 29419 * WebCore.vcproj/WebCore.vcproj: Added new files. 29420 * platform/win/TemporaryLinkStubs.cpp: 29421 (WebCore::ServeSynchronousRequest): Changed prototype to match 29422 new version. 29423 29424 2006-10-29 Darin Adler <darin (a] apple.com> 29425 29426 - update for the WebCore renames 29427 29428 * WebCore.vcproj/WebCore.vcproj: 29429 * bridge/win/FrameWin.cpp: 29430 (WebCore::FrameWin::bindingRootObject): 29431 (WebCore::FrameWin::windowScriptNPObject): 29432 * plugins/win/PluginViewWin.cpp: 29433 (WebCore::PluginViewWin::load): 29434 (WebCore::PluginViewWin::bindingInstance): 29435 29436 2006-10-29 Maciej Stachowiak <mjs (a] apple.com> 29437 29438 Rubber stamped by Darin. 29439 29440 - renamed ResourceLoader to ResourceHandle (and same for related classes) 29441 29442 * WebCore.vcproj/WebCore.vcproj: 29443 * bridge/win/FrameWin.cpp: 29444 * platform/network/win/ResourceHandleWin.cpp: Added. 29445 (WebCore::): 29446 (WebCore::addToOutstandingJobs): 29447 (WebCore::lookupResourceHandle): 29448 (WebCore::ResourceHandleWndProc): 29449 (WebCore::ResourceHandle::onHandleCreated): 29450 (WebCore::ResourceHandle::onRequestRedirected): 29451 (WebCore::ResourceHandle::onRequestComplete): 29452 (WebCore::initializeOffScreenResourceHandleWindow): 29453 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 29454 (WebCore::ResourceHandle::~ResourceHandle): 29455 (WebCore::ResourceHandle::startHTTPRequest): 29456 (WebCore::ResourceHandle::start): 29457 (WebCore::ResourceHandle::fileLoadTimer): 29458 (WebCore::ResourceHandle::cancel): 29459 * platform/network/win/ResourceHandleWin.h: Added. 29460 * platform/network/win/ResourceLoaderWin.cpp: Removed. 29461 * platform/network/win/ResourceLoaderWin.h: Removed. 29462 * platform/win/TemporaryLinkStubs.cpp: 29463 (WebCore::ResourceHandle::assembleResponseHeaders): 29464 (WebCore::ResourceHandle::retrieveResponseEncoding): 29465 (IconLoader::receivedResponse): 29466 * plugins/win/PluginStreamWin.cpp: 29467 (WebCore::PluginStreamWin::start): 29468 (WebCore::PluginStreamWin::deliverData): 29469 (WebCore::PluginStreamWin::receivedResponse): 29470 (WebCore::PluginStreamWin::didReceiveData): 29471 (WebCore::PluginStreamWin::receivedAllData): 29472 * plugins/win/PluginStreamWin.h: 29473 29474 2006-10-28 Adam Roben <aroben (a] apple.com> 29475 29476 Build fix. 29477 29478 * WebCore.vcproj/WebCore.vcproj: Adding new HitTestResult.{cpp,h} 29479 files. 29480 29481 2006-10-27 Anders Carlsson <acarlsson (a] apple.com> 29482 29483 Reviewed by Oliver. 29484 29485 <rdar://problem/4730678> Plug-ins should be able to open URLs 29486 29487 * plugins/win/PluginViewWin.cpp: 29488 (WebCore::PluginViewWin::performRequest): 29489 29490 2006-10-26 Anders Carlsson <acarlsson (a] apple.com> 29491 29492 Reviewed by John Sullivan. 29493 29494 <rdar://problem/4764502> PluginStreams should cancel their loader jobs on error 29495 29496 * plugins/win/PluginStreamWin.cpp: 29497 (WebCore::PluginStreamWin::receivedResponse): 29498 (WebCore::PluginStreamWin::didReceiveData): 29499 (WebCore::PluginStreamWin::receivedAllData): 29500 Modify assertions. None of the above functions should be run after aborting the load. 29501 29502 2006-10-26 Anders Carlsson <acarlsson (a] apple.com> 29503 29504 Reviewed by Adam. 29505 29506 * plugins/win/PluginDatabaseWin.cpp: 29507 (WebCore::addPluginPath): 29508 (WebCore::PluginDatabaseWin::defaultPluginPaths): 29509 Look for plugins in a plugins directory which is relative to the executable directory. 29510 29511 (WebCore::PluginDatabaseWin::createPluginView): 29512 Use reverseFind instead of findRev here. 29513 29514 2006-10-26 Adam Roben <aroben (a] apple.com> 29515 29516 Reviewed by Beth. 29517 29518 Fix: <rdar://problem/4799084> Text and dropdown button too close 29519 together in <select>s 29520 Fix: <rdar://problem/4800493> Popup menus should be positioned so that 29521 their text is horizontally aligned with the <select> control's text 29522 29523 * platform/win/PopupMenuWin.cpp: 29524 (WebCore::PopupMenu::calculatePositionAndSize): Switch alignment of LTR 29525 vs. RTL popups, and add padding to align the text. 29526 (WebCore::PopupMenu::paint): Add padding from the <select> control to 29527 align the text with the <select> control's text. 29528 * rendering/RenderThemeWin.cpp: Set svn:eol-style native. 29529 (WebCore::RenderThemeWin::systemFont): Clean up line endings. 29530 (WebCore::RenderThemeWin::adjustMenuListButtonStyle): Add some extra 29531 padding between the dropdown button and text. 29532 (WebCore::RenderThemeWin::paintMenuListButton): Clean up code a bit. 29533 29534 2006-10-26 Adam Roben <aroben (a] apple.com> 29535 29536 Forgot to make the change to Release as well in my last checkin. 29537 29538 * WebCore.vcproj/WebCore.vcproj: 29539 29540 2006-10-26 Adam Roben <aroben (a] apple.com> 29541 29542 Rubberstamped by Steve. 29543 29544 Add some missing '/d' flags to xcopy calls to only copy headers if 29545 they've been modified. 29546 29547 * WebCore.vcproj/WebCore.vcproj: 29548 29549 2006-10-26 Anders Carlsson <acarlsson (a] apple.com> 29550 29551 * platform/win/TemporaryLinkStubs.cpp: 29552 (GraphicsContext::drawLineForMisspellingOrBadGrammar): 29553 Build fix from Oliver. 29554 29555 2006-10-26 Anders Carlsson <acarlsson (a] apple.com> 29556 29557 Reviewed by Adam. 29558 29559 Use FrameLoadRequest and ResourceRequest instead of passing around 29560 the individual components. 29561 29562 * plugins/win/PluginStreamWin.cpp: 29563 (WebCore::PluginStreamWin::PluginStreamWin): 29564 (WebCore::PluginStreamWin::start): 29565 (WebCore::PluginStreamWin::destroyStream): 29566 * plugins/win/PluginStreamWin.h: 29567 * plugins/win/PluginViewWin.cpp: 29568 (WebCore::PluginRequestWin::PluginRequestWin): 29569 (WebCore::PluginRequestWin::frameLoadRequest): 29570 (WebCore::PluginViewWin::start): 29571 (WebCore::PluginViewWin::performRequest): 29572 (WebCore::PluginViewWin::load): 29573 (WebCore::PluginViewWin::getURLNotify): 29574 (WebCore::PluginViewWin::getURL): 29575 (WebCore::PluginViewWin::handlePost): 29576 * plugins/win/PluginViewWin.h: 29577 29578 2006-10-26 Adam Roben <aroben (a] apple.com> 29579 29580 Reviewed by Adele. 29581 29582 Fix: <rdar://problem/4794162> Implement type-ahead find for popup menus 29583 Fix: <rdar://problem/4800486> Pressing TAB while a popup is focused 29584 should close the popup and move selection in the page 29585 29586 * platform/win/PopupMenuWin.cpp: 29587 (WebCore::PopupMenu::PopupMenu): Don't cache the focused index. 29588 (WebCore::PopupMenu::focusedIndex): Always get the focused index from 29589 the HTMLSelectElement. 29590 (WebCore::PopupMenu::setFocusedIndex): Invalidate before calling 29591 valueChanged(), as this will change the result of focusedIndex(). 29592 (WebCore::PopupMenu::scrollToRevealSelection): 29593 (WebCore::PopupMenu::updateFromElement): New method to repaint/rescroll 29594 the popup. 29595 (WebCore::PopupWndProc): Send TAB keypresses and printable characters 29596 back to the WebView for handling. Also omove handling of Return/Escape 29597 into the WM_CHAR event, as this is recommended by MSDN. 29598 29599 2006-10-25 Steve Falkenburg <sfalken (a] apple.com> 29600 29601 Reviewed by Darin. 29602 29603 Checked in Luke's CG printing code 29604 29605 * bridge/win/FrameWin.cpp: 29606 (WebCore::FrameWin::setupRootForPrinting): Added 29607 (WebCore::FrameWin::computePageRects): Added 29608 * bridge/win/FrameWin.h: Added setupRootForPrinting, computePageRects 29609 29610 2006-10-24 Maciej Stachowiak <mjs (a] apple.com> 29611 29612 Reviewed by Oliver. 29613 29614 - updated for ResourceRequest changes. 29615 29616 * plugins/win/PluginStreamWin.cpp: 29617 (WebCore::PluginStreamWin::setRequestHeaders): 29618 * plugins/win/PluginStreamWin.h: 29619 * plugins/win/PluginViewWin.cpp: 29620 (WebCore::PluginViewWin::loadURL): 29621 (WebCore::parseRFC822HeaderFields): 29622 (WebCore::PluginViewWin::handlePost): 29623 * plugins/win/PluginViewWin.h: 29624 29625 2006-10-24 Steve Falkenburg <sfalken (a] apple.com> 29626 29627 Build fix for official builds 29628 29629 * WebCore.vcproj/WebCore.make: 29630 29631 2006-10-24 Steve Falkenburg <sfalken (a] apple.com> 29632 29633 Fix build so it can be submitted. 29634 29635 * WebCore.vcproj/WebCore.vcproj: 29636 * WebCore.vcproj/merge-opensource.sh: 29637 * rendering/RenderThemeWin.cpp: 29638 29639 2006-10-24 Geoffrey Garen <ggaren (a] apple.com> 29640 29641 Rolling back in, now fixed: 29642 29643 Nixed a few more redundant loading functions in Frame. 29644 29645 * bridge/win/FrameWin.h: 29646 * platform/win/TemporaryLinkStubs.cpp: 29647 (FrameWin::shouldInterruptJavaScript): 29648 (FrameWin::lastEventIsMouseUp): 29649 29650 2006-10-24 Maciej Stachowiak <mjs (a] apple.com> 29651 29652 Reviewed by Geoff. 29653 29654 - update for ResourceLoader API changes 29655 29656 * platform/win/TemporaryLinkStubs.cpp: 29657 (WebCore::ServeSynchronousRequest): 29658 * plugins/win/PluginStreamWin.cpp: 29659 (WebCore::PluginStreamWin::start): 29660 (WebCore::PluginStreamWin::receivedAllData): 29661 * plugins/win/PluginStreamWin.h: 29662 * plugins/win/PluginViewWin.cpp: 29663 (WebCore::PluginViewWin::performRequest): 29664 29665 2006-10-24 Geoffrey Garen <ggaren (a] apple.com> 29666 29667 Rolling out my last change because it broke the world. 29668 29669 * bridge/win/FrameWin.h: 29670 * platform/win/TemporaryLinkStubs.cpp: 29671 (FrameWin::openURL): 29672 29673 2006-10-24 Anders Carlsson <acarlsson (a] apple.com> 29674 29675 Reviewed by Adam. 29676 29677 <rdar://problem/4760429> Crash in PluginStreamWin::~PluginStreamWin when 29678 navigating away from mcdonalds.com 29679 29680 * plugins/win/PluginPackageWin.cpp: 29681 (WebCore::PluginPackageWin::fetchInfo): 29682 Use fastFree instead of free when memory is allocated by fastMalloc. 29683 If the plugin name or description is null, don't try to fetch info about the plugin. 29684 29685 * plugins/win/PluginStreamWin.cpp: 29686 (WebCore::PluginStreamWin::setRequestHeaders): 29687 (WebCore::PluginStreamWin::start): 29688 (WebCore::PluginStreamWin::stop): 29689 * plugins/win/PluginStreamWin.h: 29690 Change type of header map to ResourceRequest::HTTPHeaderMap. When a plugin is stopped, 29691 set its state to StreamStopped. 29692 29693 * plugins/win/PluginViewWin.cpp: 29694 (WebCore::PluginViewWin::loadURL): 29695 (WebCore::parseRFC822HeaderFields): 29696 (WebCore::PluginViewWin::handlePost): 29697 * plugins/win/PluginViewWin.h: 29698 Update for type changes to the header map. 29699 29700 2006-10-24 Geoffrey Garen <ggaren (a] apple.com> 29701 29702 Reviewed by Anders. 29703 29704 Nixed a few more redundant loading functions in Frame. 29705 29706 * bridge/win/FrameWin.h: 29707 * platform/win/TemporaryLinkStubs.cpp: 29708 (FrameWin::shouldInterruptJavaScript): 29709 (FrameWin::lastEventIsMouseUp): 29710 29711 2006-10-23 Geoffrey Garen <ggaren (a] apple.com> 29712 29713 Reviewed by Bradee. 29714 29715 Removed methods from BrowserExtension. 29716 29717 * bridge/win/FrameWin.h: 29718 * platform/win/TemporaryLinkStubs.cpp: 29719 (FrameWin::canPaste): 29720 (FrameWin::canGoBackOrForward): 29721 (FrameWin::goBackOrForward): 29722 (FrameWin::getHistoryLength): 29723 (FrameWin::historyURL): 29724 (Page::canRunModal): 29725 (Page::canRunModalNow): 29726 (Page::runModal): 29727 (BrowserExtensionWin::BrowserExtensionWin): 29728 29729 2006-10-23 Adam Roben <aroben (a] apple.com> 29730 29731 Reviewed by Adele. 29732 29733 Fix: <rdar://problem/4796994> Styled <select>s should still use Windows 29734 theme 29735 29736 The fix is to do most of our drawing for menulists in 29737 RenderThemeWin::paintMenuListButton (which is called for styled 29738 <select>s), and then do any extra drawing for unstyled <select>s in 29739 RenderThemeWin::paintMenuList. 29740 29741 * rendering/RenderThemeWin.cpp: 29742 (WebCore::RenderThemeWin::getThemeData): Case for 29743 MenulistButtonAppearance should be the same as MenulistAppearance. 29744 (WebCore::RenderThemeWin::paintMenuList): Draw the border, then defer 29745 to paintMenuListButton to handle the rest of painting. 29746 (WebCore::RenderThemeWin::adjustMenuListStyle): Reset the border so we 29747 can draw our own, then defer to adjustMenuListStyle. 29748 (WebCore::RenderThemeWin::adjustMenuListButtonStyle): Code moved from 29749 adjustMenuListStyle, less the call to resetBorder(). 29750 (WebCore::RenderThemeWin::paintMenuListButton): Code moved from 29751 paintMenuList, less the border-drawing code. 29752 * rendering/RenderThemeWin.h: 29753 29754 2006-10-23 Adam Roben <aroben (a] apple.com> 29755 29756 Reviewed by Adele. 29757 29758 Fix: <rdar://problem/4786759> PageUp/PageDown/Home/End don't work in 29759 <select> menus 29760 29761 * platform/win/PopupMenuWin.cpp: 29762 (WebCore::PopupMenu::setFocusedIndex): Only call ::UpdateWindow if we 29763 didn't scroll, because scrolling will do the update for us. 29764 (WebCore::PopupMenu::focusFirst): New method. 29765 (WebCore::PopupMenu::focusLast): New method. 29766 (WebCore::PopupMenu::down): Add a parameter to specify how far we 29767 should try to move the selection. 29768 (WebCore::PopupMenu::up): Ditto. 29769 (WebCore::PopupMenu::invalidateItem): Cleanup code by using IntRect 29770 instead of RECT. 29771 (WebCore::PopupMenu::scrollTo): Return a boolean to say whether 29772 scrolling actually happened. 29773 (WebCore::PopupMenu::scrollToRevealSelection): Ditto. 29774 (WebCore::PopupWndProc): Handle PageUp/PageDown/Home/End. 29775 29776 2006-10-23 Adam Roben <aroben (a] apple.com> 29777 29778 Build fix. 29779 29780 * WebCore.vcproj/WebCore.vcproj: Copy headers from new platform/network 29781 directory and subdirectories. 29782 29783 2006-10-23 Adam Roben <aroben (a] apple.com> 29784 29785 Build fix. 29786 29787 * plugins/win/PluginStreamWin.h: Rename methods to match Maciej's 29788 changes. 29789 29790 2006-10-23 Adam Roben <aroben (a] apple.com> 29791 29792 Build fix. 29793 29794 * WebCore.vcproj/WebCore.vcproj: Copied AdditionalIncludeDirectories 29795 from Release to All Configurations. 29796 29797 2006-10-23 Maciej Stachowiak <mjs (a] apple.com> 29798 29799 Rubber-stamped by Anders. 29800 29801 - fixed for ResourceLoader refactoring. 29802 29803 * platform/network/win/ResourceLoaderWin.cpp: 29804 (WebCore::ResourceLoader::onRequestComplete): 29805 (WebCore::ResourceLoader::fileLoadTimer): 29806 (WebCore::ResourceLoader::cancel): 29807 * plugins/win/PluginStreamWin.cpp: 29808 (WebCore::PluginStreamWin::didReceiveData): 29809 (WebCore::PluginStreamWin::didFinishLoading): 29810 * plugins/win/PluginViewWin.cpp: 29811 (WebCore::PluginViewWin::performRequest): 29812 29813 2006-10-22 Maciej Stachowiak <mjs (a] apple.com> 29814 29815 Reviewed by Anders. 29816 29817 - updated for new ResourceLoader file locations. 29818 29819 * WebCore.vcproj/WebCore.vcproj: Updated file paths. 29820 * platform/win/ResourceLoaderWin.cpp: Moved to platform/network/win 29821 * platform/win/ResourceLoaderWin.h: ditto 29822 29823 2006-10-22 Adam Roben <aroben (a] apple.com> 29824 29825 Reviewed by Steve. 29826 29827 Fix some crashes caused by the <select> element being detached while 29828 the popup is open. 29829 29830 * platform/win/PopupMenuWin.cpp: 29831 (WebCore::PopupWndProc): 29832 29833 2006-10-21 Adam Roben <aroben (a] apple.com> 29834 29835 Reviewed by Anders. 29836 29837 Fix: <rdar://problem/4794151> Popup should scroll to reveal selected 29838 item, not just one line at a time 29839 Fix: <rdar://problem/4794229> Popup hot-tracking should not change text 29840 in <select> control 29841 29842 * platform/win/PopupMenuWin.cpp: 29843 (WebCore::PopupMenu::calculatePositionAndSize): Cleaned up code by 29844 translating into screen coordinates right away. 29845 (WebCore::PopupMenu::setFocusedIndex): Added parameter to specify 29846 whether the text in the <select> control should be updated. 29847 (WebCore::PopupMenu::scrollTo): Extracted scrolling code from 29848 PopupWndProc to here. 29849 (WebCore::PopupMenu::scrollToRevealSelection): New method. 29850 (WebCore::PopupWndProc): Use scrollToRevealSelection() instead of 29851 manually scrolling one line at a time. Fixed a bug in detecting a 29852 mouse drag. Pass in HDC from ::BeginPaint to PopupMenu::paint. 29853 29854 2006-10-21 Adam Roben <aroben (a] apple.com> 29855 29856 Build fix. 29857 29858 * WebCore.vcproj/WebCore.vcproj: Add new DeleteButton* files to 29859 project. 29860 29861 2006-10-20 Steve Falkenburg <sfalken (a] apple.com> 29862 29863 Reviewed by Anders. 29864 29865 Turn on CFNetwork 29866 29867 * config.h: 29868 29869 2006-10-20 Steve Falkenburg <sfalken (a] apple.com> 29870 29871 Reviewed by Ada. 29872 29873 <rdar://4778502> Boomer userAgent string needs to support pulling in proper build #, plus customization 29874 29875 Useragent/versioning changes 29876 29877 Stamp auto-generated version number into DLL and into user agent. 29878 Generate a real user agent string instead of hardcoding one. 29879 Support client supplying an application name for the user agent. 29880 Support client overriding the useragent (for debug menu). 29881 Support per-URL user agents (not used at least for now). 29882 29883 * bridge/win/FrameWin.cpp: 29884 (WebCore::FrameWin::userAgent): Now calls userAgentForURL 29885 (WebCore::FrameWin::originalRequestURL): Implemented 29886 * bridge/win/FrameWin.h: changed userAgent to userAgentForURL, added originalRequestURL 29887 * platform/win/TemporaryLinkStubs.cpp: Removed originalRequestURL 29888 29889 2006-10-20 Alice Liu <alice.liu (a] apple.com> 29890 29891 Reviewed by Steve. 29892 29893 Adding knowledge of the Editor and EditorClient to Windows WebCore 29894 29895 No layout tests needed 29896 29897 * WebCore.vcproj/WebCore.vcproj: 29898 added Sound.h, SoundWin.cpp, EditorClient.h, Editor.h&.cpp 29899 29900 * bridge/win/FrameWin.cpp: 29901 (WebCore::FrameWin::FrameWin): 29902 added client to constructor params 29903 29904 * bridge/win/FrameWin.h: 29905 added client to constructor params 29906 29907 * platform/win/SoundWin.cpp: Added. 29908 (WebCore::systemBeep): 29909 Calls windows system beep 29910 29911 2006-10-19 Steve Falkenburg <sfalken (a] apple.com> 29912 29913 Reviewed by Adam. 29914 29915 <rdar://4771958> Holding down Ctrl when a redirect happens opens the redirected page in a new tab 29916 29917 Send triggering event to url selection. 29918 29919 * bridge/win/FrameWin.cpp: 29920 (WebCore::FrameWin::urlSelected): Add triggeringEvent parameter 29921 * bridge/win/FrameWin.h: Add triggeringEvent parameter 29922 * platform/win/PlatformMouseEventWin.cpp: 29923 (WebCore::PlatformMouseEvent::PlatformMouseEvent): Call GetKeyState instead of GetAsyncKeyState 29924 * platform/win/WheelEventWin.cpp: 29925 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Call GetKeyState instead of GetAsyncKeyState 29926 29927 2006-10-19 Adam Roben <aroben (a] apple.com> 29928 29929 Reviewed by Ada. 29930 29931 This is a partial reimplementation of PopupMenu for Windows. The old 29932 implementation used the Win32 ListBox control, but as we needed to 29933 customize the behavior more and more it began to make sense to roll our 29934 own popup from scratch. That is what this patch accomplishes. And... 29935 29936 Fix: <rdar://problem/4709416> 29937 Implement mouse hot-tracking for <select> menus 29938 Fix: <rdar://problem/4786763> 29939 Can select disabled options in <select> menus using mouse 29940 (It was easier to implement these than to leave them broken.) 29941 29942 * WebCore.vcproj/WebCore.vcproj: Removed PopupMenu.cpp from project. 29943 * platform/win/PopupMenuWin.cpp: Carnage. PopupMenu has gained a slew 29944 of new private instance variables to maintain the window state. 29945 m_container has been removed as it is no longer needed. 29946 (WebCore::PopupMenu::PopupMenu): Initialize new variables. 29947 (WebCore::PopupMenu::~PopupMenu): Clean up new variables. 29948 (WebCore::PopupMenu::show): Now that we don't have m_container, m_popup 29949 gets the WS_BORDER and WS_POPUP styles. Also moved code to animate the 29950 window out of the old PopupMenu::setPositionAndSize() into this method 29951 since it fits the purpose of this method better. 29952 (WebCore::PopupMenu::hide): 29953 (WebCore::PopupMenu::calculatePositionAndSize): Renamed from 29954 setPositionAndSize(), as this method no longer actually sets the window 29955 position and size, just calculates it. It also now makes sure the 29956 window is sized to never show partial items, and takes into account the 29957 window's border when calculating the size. 29958 (WebCore::PopupMenu::setFocusedIndex): New method to handle setting the 29959 selected index of the <select> and highlighting the item in the popup menu. 29960 (WebCore::PopupMenu::down): Use setSelectedIndex() to do the dirty work. 29961 (WebCore::PopupMenu::up): Ditto. 29962 (WebCore::PopupMenu::invalidateItem): New method to invalidate the 29963 rectangle in the popup menu for this item. 29964 (WebCore::PopupMenu::clientRect): New method to calculate an IntRect 29965 for the client area of the window. 29966 (WebCore::PopupMenu::incrementWheelDelta): New method to add the wheel 29967 delta obtained from a WM_MOUSEWHEEL message to any pre-existing delta. 29968 (WebCore::PopupMenu::reduceWheelDelta): New method to reduce the 29969 pre-existing wheel delta by a given amount towards 0. 29970 (WebCore::PopupMenu::paint): Does the work that PopupMenu::drawItem 29971 did, but for every item contained within the damageRect. Can also paint 29972 into a passed-in HDC (needed for window animations and smooth-scrolling). 29973 (WebCore::registerPopup): Changed a void* to a PopupMenu*, since that's 29974 what it really is. 29975 (WebCore::PopupWndProc): Added code to handle all the messages any 29976 self-respecting window would handle, and removed messages only relevant 29977 to the ListBox control. 29978 * platform/win/TemporaryLinkStubs.cpp: Removed unneeded #include. 29979 29980 2006-10-19 Adam Roben <aroben (a] apple.com> 29981 29982 Rubberstamped by Maciej. 29983 29984 Build fix. 29985 29986 * bridge/win/FrameWin.cpp: 29987 (WebCore::FrameWin::submitForm): 29988 29989 2006-10-19 Maciej Stachowiak <mjs (a] apple.com> 29990 29991 Reviewed by Steve. 29992 29993 - speculative build fix for Windows for my recent changes. 29994 29995 * bridge/win/FrameWin.cpp: 29996 (WebCore::FrameWin::submitForm): 29997 29998 2006-10-19 Anders Carlsson <acarlsson (a] apple.com> 29999 30000 * platform/win/TemporaryLinkStubs.cpp: 30001 (WebCore::ResourceLoader::retrieveResponseEncoding): 30002 Build fix. 30003 30004 2006-10-18 Maciej Stachowiak <mjs (a] apple.com> 30005 30006 Reviewed by Geoff. 30007 30008 - remove remnants of KXMLCore name. 30009 30010 * WebCore.vcproj/WebCore.vcproj: 30011 * config.h: 30012 30013 2006-10-18 Steve Falkenburg <sfalken (a] apple.com> 30014 30015 Fix build 30016 30017 * platform/win/TemporaryLinkStubs.cpp: 30018 (BrowserExtensionWin::historyURL): 30019 (BrowserExtensionWin::BrowserExtensionWin): 30020 30021 2006-10-17 Steve Falkenburg <sfalken (a] apple.com> 30022 30023 Build fix 30024 30025 * platform/win/TemporaryLinkStubs.cpp: 30026 (BrowserExtensionWin::createNewWindow): 30027 30028 2006-10-17 Geoffrey Garen <ggaren (a] apple.com> 30029 30030 Reviewed by Anders. 30031 30032 Added WindowFeatures.h to the project. 30033 30034 * WebCore.vcproj/WebCore.vcproj: 30035 30036 2006-10-17 Steve Falkenburg <sfalken (a] apple.com> 30037 30038 Reviewed by Maciej. 30039 30040 Turn off a very noisy warning (unknown pragma) caused by an Interfacer include 30041 30042 * WebCore.vcproj/WebCore.vcproj: 30043 30044 2006-10-17 Oliver Hunt <oliver (a] apple.com> 30045 30046 Reviewed by Brady. 30047 30048 Fixed alpha in favicons, added composite operation conversion 30049 for cg 30050 30051 rdar://problem/4758934 30052 30053 * platform/win/GraphicsContextWin.cpp: 30054 (WebCore::GraphicsContext::setCompositeOperation): 30055 * platform/win/ImageWin.cpp: 30056 (WebCore::Image::getHBITMAP): 30057 * platform/win/TemporaryLinkStubs.cpp: 30058 (GraphicsContext::drawLineForMisspelling): 30059 30060 2006-10-15 Geoffrey Garen <ggaren (a] apple.com> 30061 30062 Reviewed by Adam. 30063 30064 Added HTMLFrameElementBase to the project. 30065 30066 * WebCore.vcproj/WebCore.vcproj: 30067 30068 2006-10-17 Adam Roben <aroben (a] apple.com> 30069 30070 Reviewed by Geoff. 30071 30072 A couple of cleanups that Geoff suggested after my last checkin. 30073 30074 * platform/win/PopupMenuWin.cpp: 30075 (WebCore::PopupMenu::setPositionAndSize): 30076 30077 2006-10-17 Adam Roben <aroben (a] apple.com> 30078 30079 Reviewed by Adele. 30080 30081 Fix: <rdar://problem/4772506> <select> popup menu should not clip items 30082 when width: is set. 30083 30084 Popups are now sized and positioned as follows: 30085 1. Popups are at least as wide as the <select> control on the page. 30086 2. Popups for LTR <select>s are right-aligned with the <select>, popups 30087 for RTL <select>s are left-aligned. This means the scrollbar in the 30088 popup will always line up with the dropdown button in the <select>. 30089 3. Popups try to be wide enough to fit their widest item, but will 30090 shrink to ensure they don't extend off the screen. 30091 30092 * platform/win/PopupMenuWin.cpp: 30093 (WebCore::PopupMenu::setPositionAndSize): 30094 30095 2006-10-16 Adam Roben <aroben (a] apple.com> 30096 30097 Reviewed by Kevin. 30098 30099 Fix: <rdar://problem/4758923> <select> menu text doesn't draw right 30100 aligned on right-to-left sites 30101 30102 * platform/win/PopupMenuWin.cpp: 30103 (WebCore::PopupMenu::show): Pass appropriate styles to CreateWindowEx 30104 so that we get a left-aligned scrollbar in RTL popups. 30105 (WebCore::PopupMenu::drawItem): Set text to be right-aligned and draw 30106 RTL when direction:rtl is set. 30107 (WebCore::PopupWndProc): Add 1px of vertical height to each menu item 30108 to match RenderListBox. 30109 * rendering/RenderThemeWin.cpp: 30110 (WebCore::RenderThemeWin::paintMenuList): Draw the dropdown button on 30111 the left when in RTL. 30112 (WebCore::RenderThemeWin::adjustMenuListStyle): Set padding to allow 30113 for the dropdown button being on the left in RTL. 30114 30115 2006-10-16 Adam Roben <aroben (a] apple.com> 30116 30117 Reviewed by John. 30118 30119 Forgot to save these changes John suggested before checking in. 30120 30121 * platform/win/PopupMenuWin.cpp: 30122 (WebCore::PopupMenu::drawItem): 30123 30124 2006-10-16 Adam Roben <aroben (a] apple.com> 30125 30126 Reviewed by John. 30127 30128 Fix: <rdar://problem/4709480> Implement option groups 30129 Fix: <rdar://problem/4785693> Use CG to draw popup menu items 30130 Fix: <rdar://problem/4709487> Implement separators in <select> popups 30131 Fix: <rdar://problem/4709358> Move CreateWindowEx calls out of PopupMenu constructor 30132 30133 * platform/win/PopupMenuWin.cpp: Added some now-required #includes, 30134 moved some constants into the WebCore namespace. 30135 (WebCore::PopupMenu::PopupMenu): Moved CreateWindowEx calls into PopupMenu::show(). 30136 (WebCore::PopupMenu::show): Pass LBS_OWNERDRAWFIXED to CreateWindowEx 30137 to assume responsibility for drawing menu itesm. Removed call to set 30138 the font on the popup menu, as CG will take care of this. 30139 (WebCore::addString): Added to help with the PopupMenu::add* methods. 30140 (WebCore::PopupMenu::addOption): Use addString. 30141 (WebCore::PopupMenu::addGroupLabel): Ditto, and moved from TemporaryLinkStubs.cpp. 30142 (WebCore::PopupMenu::addSeparator): Ditto. 30143 (WebCore::PopupMenu::down): Skip items that are not enabled <option> 30144 elements, and tell the popup menu to set the selection to the element 30145 we end up on. 30146 (WebCore::PopupMenu::up): Ditto. 30147 (WebCore::PopupMenu::drawItem): Added. This is the method that is 30148 called to draw each item in the menu. 30149 (WebCore::PopupWndProc): Add cases for WM_MEASUREITEM and WM_DRAWITEM 30150 messages (required now that we're drawing the menu items ourselves). In 30151 the cases for arrow key presses, return -2 to signify that we're 30152 handling all aspects of changing the selection. 30153 * platform/win/TemporaryLinkStubs.cpp: Removed PopupMenu::addSeparator 30154 and PopupMenu::addGroupLabel. 30155 30156 2006-10-15 Adam Roben <aroben (a] apple.com> 30157 30158 Build fix. 30159 30160 Merge OpenSource r17056 to TemporaryLinkStubs.cpp. 30161 30162 * platform/win/TemporaryLinkStubs.cpp: 30163 (WebCore::CacheObjectExpiresTime): 30164 (WebCore::ResponseIsMultipart): 30165 (WebCore::ResponseMIMEType): 30166 (WebCore::IsResponseURLEqualToURL): 30167 (WebCore::ResponseURL): 30168 (WebCore::CachedResource::setResponse): 30169 (WebCore::CachedResource::setAllData): 30170 30171 2006-10-13 Maciej Stachowiak <mjs (a] apple.com> 30172 30173 Reviewed by Darin. 30174 30175 - split FrameLoadRequest off from ResourceRequest - it's a ResourceRequest plus frame name plus lockHistory bool 30176 30177 * WebCore.vcproj/WebCore.vcproj: 30178 * bridge/win/FrameWin.cpp: 30179 (WebCore::FrameWin::urlSelected): 30180 (WebCore::FrameWin::submitForm): 30181 * bridge/win/FrameWin.h: 30182 * platform/win/TemporaryLinkStubs.cpp: 30183 (BrowserExtensionWin::createNewWindow): 30184 (IconLoader::notifyIconChanged): 30185 30186 2006-10-13 Dave Hyatt <hyatt (a] apple.com> 30187 30188 Make form controls work inside transparency layers by having 30189 them draw into bitmap that is then turned into a CGImageRef 30190 and blended into the CG transparency layer. 30191 30192 Reviewed by aroben 30193 30194 * platform/cg/GraphicsContextPlatformPrivate.h: 30195 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 30196 (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer): 30197 (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer): 30198 * platform/win/GraphicsContextWin.cpp: 30199 (WebCore::GraphicsContext::getWindowsContext): 30200 (WebCore::GraphicsContext::releaseWindowsContext): 30201 * platform/win/IconWin.cpp: 30202 (WebCore::Icon::paint): 30203 * platform/win/PlatformScrollBar.h: 30204 * platform/win/PlatformScrollBarWin.cpp: 30205 (WebCore::PlatformScrollbar::PlatformScrollbar): 30206 (WebCore::PlatformScrollbar::paint): 30207 (WebCore::PlatformScrollbar::paintButton): 30208 (WebCore::PlatformScrollbar::paintTrack): 30209 (WebCore::PlatformScrollbar::paintThumb): 30210 * rendering/RenderThemeWin.cpp: 30211 (WebCore::RenderThemeWin::RenderThemeWin): 30212 (WebCore::drawControl): 30213 30214 2006-10-12 Dave Hyatt <hyatt (a] apple.com> 30215 30216 Voting Cairo off the island 30217 30218 or 30219 30220 Jeff Probst: "Cairo, the tribe has spoken. It's time for you 30221 to go." 30222 30223 * WebCore.vcproj/WebCore.vcproj: 30224 * platform/win/FontDataWin.cpp: 30225 (WebCore::FontData::platformInit): 30226 (WebCore::FontData::platformDestroy): 30227 (WebCore::FontData::platformWidthForGlyph): 30228 * platform/win/FontPlatformData.h: 30229 (WebCore::FontPlatformData::FontPlatformData): 30230 (WebCore::FontPlatformData::hfont): 30231 (WebCore::FontPlatformData::cgFont): 30232 (WebCore::FontPlatformData::operator==): 30233 * platform/win/FontPlatformDataWin.cpp: 30234 * platform/win/FontWin.cpp: 30235 (WebCore::Font::drawGlyphs): 30236 * platform/win/GraphicsContextWin.cpp: 30237 * platform/win/IconWin.cpp: 30238 * platform/win/ImageWin.cpp: 30239 (WebCore::Image::loadPlatformResource): 30240 * platform/win/TemporaryLinkStubs.cpp: 30241 (GraphicsContextPlatformPrivate::clip): 30242 (GraphicsContext::drawLineForMisspelling): 30243 30244 2006-10-12 Adele Peterson <adele (a] apple.com> 30245 30246 RS by Geoff. 30247 30248 Renamed uploadControlDetaching to disconnectUploadControl. 30249 30250 * platform/win/FileChooserWin.cpp: 30251 (WebCore::FileChooser::disconnectUploadControl): 30252 30253 2006-10-12 Adele Peterson <adele (a] apple.com> 30254 30255 Reviewed by Alice. 30256 30257 Fixed a small oversight from the last checkin. The populate method was calling itself, 30258 instead of the newly renamed addItems method. 30259 30260 * platform/win/PopupMenuWin.cpp: 30261 (WebCore::PopupMenu::populate): 30262 30263 2006-10-12 Adam Roben <aroben (a] apple.com> 30264 30265 Reviewed by Adele. 30266 30267 Move popup menu code out of rendering/ and into platform/. 30268 RenderPopupMenu becomes PopupMenu, the 30269 RenderPopupMenuMac/RenderPopupMenuWin subclasses and all the associated 30270 virtual methods go away, RenderTheme gets to stop worrying about popup 30271 menus, PopupMenu becomes ref-counted, and everyone becomes happy. 30272 30273 Also fixes <rdar://problem/4710456> Get rid of RenderPopupMenu{Win,Mac} 30274 classes. 30275 30276 * WebCore.vcproj/WebCore.vcproj: Move files within project. 30277 * platform/win/PopupMenuWin.cpp: Moved from 30278 rendering/RenderPopupMenuWin.cpp. Rename RenderPopupMenuWin to 30279 PopupMenu. 30280 (WebCore::PopupMenu::PopupMenu): 30281 (WebCore::PopupMenu::~PopupMenu): 30282 (WebCore::PopupMenu::clear): 30283 (WebCore::PopupMenu::populate): 30284 (WebCore::PopupMenu::show): 30285 (WebCore::PopupMenu::hide): 30286 (WebCore::PopupMenu::setPositionAndSize): 30287 (WebCore::PopupMenu::addOption): 30288 (WebCore::PopupMenu::focusedIndex): New method to get the index of the 30289 element that is currently highlighted. This won't always be the same as 30290 the selectedIndex because of mouse hot-tracking. 30291 (WebCore::PopupMenu::down): 30292 (WebCore::PopupMenu::up): 30293 (WebCore::registerPopup): 30294 (WebCore::PopupWndProc): Use focusedIndex() instead of sending messages 30295 to the popup window. 30296 * platform/win/TemporaryLinkStubs.cpp: Rename RenderPopupMenuWin to PopupMenu. 30297 (PopupMenu::addSeparator): 30298 (PopupMenu::addGroupLabel): 30299 * rendering/RenderPopupMenuWin.cpp: Removed. 30300 * rendering/RenderPopupMenuWin.h: Removed. 30301 * rendering/RenderThemeWin.cpp: Get rid of createPopupMenu() method. 30302 * rendering/RenderThemeWin.h: Ditto. 30303 30304 2006-10-12 Dave Hyatt <hyatt (a] apple.com> 30305 30306 Implement full-blown double buffering (keeping a bitmap in the WebView that holds the backing store for it). 30307 30308 Reviewed by mjs 30309 30310 * bridge/win/FrameWin.cpp: 30311 (WebCore::FrameWin::addToDirtyRegion): 30312 (WebCore::FrameWin::scrollBackingStore): 30313 (WebCore::FrameWin::updateBackingStore): 30314 * bridge/win/FrameWin.h: 30315 * platform/win/PlatformScrollBar.h: 30316 * platform/win/PlatformScrollBarWin.cpp: 30317 (WebCore::PlatformScrollbar::windowClipRect): 30318 * platform/win/ScrollViewWin.cpp: 30319 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 30320 (WebCore::ScrollView::ScrollViewPrivate::windowClipRect): 30321 (WebCore::ScrollView::updateContents): 30322 (WebCore::ScrollView::updateScrollbars): 30323 (WebCore::ScrollView::windowResizerRect): 30324 (WebCore::ScrollView::addToDirtyRegion): 30325 (WebCore::ScrollView::scrollBackingStore): 30326 (WebCore::ScrollView::updateBackingStore): 30327 * platform/win/WidgetWin.cpp: 30328 (WebCore::Widget::suppressInvalidation): 30329 (WebCore::Widget::invalidateRect): 30330 * plugins/win/PluginViewWin.cpp: 30331 (WebCore::PluginViewWin::windowClipRect): 30332 30333 2006-10-11 Adam Roben <aroben (a] apple.com> 30334 30335 Rubberstamped by Brady. 30336 30337 Clean up logic in Icon::newIconForFile. 30338 30339 * platform/win/IconWin.cpp: 30340 (WebCore::Icon::newIconForFile): Error case should return early. 30341 30342 2006-10-11 Adam Roben <aroben (a] apple.com> 30343 30344 Reviewed by Steve. 30345 30346 Fixes <rdar://problem/4777719> 30347 Icons don't paint with CG 30348 30349 * platform/win/IconWin.cpp: 30350 (WebCore::Icon::paint): Remove Cairo-specific code now that we have 30351 GraphicsContextWin. 30352 30353 2006-10-11 Adam Roben <aroben (a] apple.com> 30354 30355 Rubberstamped by Anders. 30356 30357 Clean up FileChooser::create, Icon::create. 30358 30359 * platform/win/FileChooserWin.cpp: 30360 (WebCore::FileChooser::create): Just return a FileChooser* and let the 30361 implicit cast happen. 30362 * platform/win/IconWin.cpp: 30363 (WebCore::Icon::newIconForFile): Ditto for Icon*. 30364 30365 2006-10-10 Adam Roben <aroben (a] apple.com> 30366 30367 Reviewed by Oliver. 30368 30369 Fixes <rdar://problem/4731316> 30370 Crash when <input type="file"> element removed while file chooser is open 30371 30372 * platform/win/FileChooserWin.cpp: Make FileChooser ref-counted. 30373 (WebCore::FileChooser::create): 30374 (WebCore::FileChooser::openFileChooser): Add a protector RefPtr around 30375 the call to GetOpenFileName so we don't get deleted while the file 30376 chooser window is open. 30377 30378 2006-10-10 Adam Roben <aroben (a] apple.com> 30379 30380 Reviewed by Anders. 30381 30382 Fixes <rdar://problem/4772428> 30383 <select> popup menus positioned incorrectly within frames 30384 30385 * rendering/RenderPopupMenuWin.cpp: 30386 (WebCore::RenderPopupMenuWin::setPositionAndSize): Use 30387 contentsToWindow() instead of scrollOffset() to correct menu location. 30388 30389 2006-10-10 Adam Roben <aroben (a] apple.com> 30390 30391 Reviewed by Adele. 30392 30393 Fixes <rdar://problem/4763246> 30394 Using arrow keys in <select> popup fires onChange event 30395 30396 Also updates text shown in <select> element on page when using arrow 30397 keys to change selection within the popup menu, and makes onChange fire 30398 in the same cases as Firefox/IE. 30399 30400 * rendering/RenderPopupMenuWin.cpp: 30401 (WebCore::RenderPopupMenuWin::down): Update text of the <select> 30402 control. Change call to valueChanged() so that onChange doesn't fire. 30403 (WebCore::RenderPopupMenuWin::up): Ditto. 30404 (WebCore::PopupWndProc): Don't fire onChange anytime selection changes. 30405 Fire onChange when pressing Enter 30406 30407 2006-10-09 Anders Carlsson <acarlsson (a] apple.com> 30408 30409 Reviewed by Maciej. 30410 30411 Fix <rdar://problem/4756255> 30412 PDF/Acrobat Reader plugin don't work 30413 30414 * bridge/win/FrameWin.cpp: 30415 (WebCore::FrameWin::getObjectInstanceForWidget): 30416 (WebCore::FrameWin::getEmbedInstanceForWidget): 30417 Implement these, getting the instance from the plugin view. 30418 30419 * platform/win/TemporaryLinkStubs.cpp: 30420 Remove functions that are now implemented. 30421 30422 * plugins/win/PlugInInfoStoreWin.cpp: 30423 (WebCore::PlugInInfoStore::pluginCount): 30424 (WebCore::PlugInInfoStore::supportsMIMEType): 30425 Implement this, returning whether we a plugin exists for a given mime type. 30426 30427 * plugins/win/PluginDatabaseWin.cpp: 30428 (WebCore::parseVersionString): 30429 (WebCore::compareVersions): 30430 New functions for handling versions. 30431 30432 (WebCore::addMozillaPluginPaths): 30433 (WebCore::addWindowsMediaPlayerPluginPath): 30434 (WebCore::addQuickTimePluginPath): 30435 (WebCore::addJavaPluginPath): 30436 (WebCore::addAdobeAcrobatPluginPath): 30437 (WebCore::PluginDatabaseWin::defaultPluginPaths): 30438 Factor out checks into separate functions, add checks for Java and Adobe Acrobat. 30439 30440 (WebCore::PluginDatabaseWin::isMIMETypeRegistered): 30441 Handle null MIME types. 30442 30443 * plugins/win/PluginPackageWin.cpp: 30444 (WebCore::PluginPackageWin::load): 30445 Add some missing functions. Unload the library if the load failed. 30446 30447 * plugins/win/PluginViewWin.cpp: 30448 (WebCore::PluginViewWin::getValue): 30449 Uncomment code for getting the element object. 30450 30451 (WebCore::PluginViewWin::bindingInstance): 30452 * plugins/win/PluginViewWin.h: 30453 New function which fetches the plugin NPObject and wraps it in an instance. 30454 30455 2006-10-09 Anders Carlsson <acarlsson (a] apple.com> 30456 30457 Reviewed by Steve. 30458 30459 Fix <rdar://problem/4773320> 30460 Safari didn't pick up quicktime that was already installed 30461 30462 * plugins/win/PluginDatabaseWin.cpp: 30463 (WebCore::PluginDatabaseWin::defaultPluginPaths): 30464 30465 2006-10-09 Anders Carlsson <acarlsson (a] apple.com> 30466 30467 * WebCore.vcproj/WebCore.vcproj: 30468 * bridge/win/FrameWin.h: 30469 * platform/win/TemporaryLinkStubs.cpp: 30470 (FrameWin::createJavaAppletWidget): 30471 Fix build. 30472 30473 2006-10-09 Adam Roben <aroben (a] apple.com> 30474 30475 Reviewed by Adele. 30476 30477 Fixes <rdar://problem/4773142> 30478 Crash in Settings::mediumFontSize() on ebay.com 30479 30480 Call cancelAndClear() from ~FrameWin (just like Mac does) so we don't 30481 end up calling the Frame::saveDocumentState, which is pure virtual. 30482 30483 * bridge/win/FrameWin.cpp: 30484 (WebCore::FrameWin::~FrameWin): 30485 30486 2006-10-08 Adam Roben <aroben (a] apple.com> 30487 30488 Reviewed by Maciej. 30489 30490 Port of OpenSource r16526, r16528 30491 30492 Break up ResourceLoaderWndProc into callback functions. 30493 30494 * platform/win/ResourceLoaderWin.cpp: Fix up #includes 30495 (WebCore::): Remove loadStatusMessage, struct JobLoadStatus, add 30496 messageHandlers array. 30497 (WebCore::ResourceLoaderWndProc): Split handling of different messages 30498 into callbacks. 30499 (WebCore::ResourceLoader::onHandleCreated): New callback. 30500 (WebCore::ResourceLoader::onRequestRedirected): New callback. 30501 (WebCore::ResourceLoader::onRequestComplete): New callback. 30502 (WebCore::initializeOffScreenResourceLoaderWindow): No need to register 30503 loadStatusMessage anymore. 30504 (WebCore::transferJobStatusCallback): Change how information is passed 30505 into ResourceLoaderWndProc. 30506 30507 2006-10-08 Dave Hyatt <hyatt (a] apple.com> 30508 30509 Add support for the Win2k/Classic theme for all controls. 30510 30511 * rendering/RenderThemeWin.cpp: 30512 (WebCore::RenderThemeWin::buttonTheme): 30513 (WebCore::RenderThemeWin::textFieldTheme): 30514 (WebCore::RenderThemeWin::menuListTheme): 30515 (WebCore::RenderThemeWin::supportsHover): 30516 (WebCore::RenderThemeWin::determineClassicState): 30517 (WebCore::RenderThemeWin::getClassicThemeData): 30518 (WebCore::RenderThemeWin::getThemeData): 30519 (WebCore::drawControl): 30520 (WebCore::RenderThemeWin::paintButton): 30521 (WebCore::RenderThemeWin::paintTextField): 30522 (WebCore::RenderThemeWin::paintMenuList): 30523 * rendering/RenderThemeWin.h: 30524 (WebCore::ThemeData::m_state): 30525 30526 2006-10-07 Steve Falkenburg <sfalken (a] apple.com> 30527 30528 Reviewed by Adam. 30529 30530 Fix <rdar://4772205> Regression (r10623): WinInet loader doesn't ever write to the cache. 30531 30532 * platform/win/ResourceLoaderWin.cpp: 30533 (WebCore::ResourceLoaderWndProc): Apply POST related flags only for posts. 30534 (WebCore::ResourceLoader::startHTTPRequest): Don't add no-cache-write flag to non-post transactions. 30535 30536 2006-10-07 Dave Hyatt <hyatt (a] apple.com> 30537 30538 Add code to paint the Windows 2000 and "Windows Classic" theme look for scrollbars. 30539 30540 * platform/win/PlatformScrollBarWin.cpp: 30541 (WebCore::PlatformScrollbar::paintButton): 30542 (WebCore::PlatformScrollbar::paintTrack): 30543 (WebCore::PlatformScrollbar::paintThumb): 30544 (WebCore::PlatformScrollbar::paintGripper): 30545 30546 2006-10-07 Dave Hyatt <hyatt (a] apple.com> 30547 30548 Make sure frames and iframes honor scrolling="no" and 30549 margins. 30550 30551 * bridge/win/FrameWin.cpp: 30552 (WebCore::FrameWin::createFrame): 30553 30554 2006-10-07 Dave Hyatt <hyatt (a] apple.com> 30555 30556 Fix the resizer rect so that it is in the ScrollView's coordinate space and not in the document's coordinate space. 30557 (Fixes all the layout errors with the scrollbar overlapping the resizer.) 30558 30559 Fill scroll corners with white, since it matches Mac (and our chosen resizer look) and looks nicer anyway. 30560 30561 * platform/win/ScrollViewWin.cpp: 30562 (WebCore::ScrollView::updateScrollbars): 30563 (WebCore::ScrollView::paint): 30564 30565 2006-10-06 Dave Hyatt <hyatt (a] apple.com> 30566 30567 Make sure to update plugin clip regions when scrollbars come and go on a scrollview. 30568 30569 * platform/win/ScrollViewWin.cpp: 30570 (WebCore::ScrollView::updateScrollbars): 30571 30572 2006-10-06 Dave Hyatt <hyatt (a] apple.com> 30573 30574 Revise the cached clip rect so that it is in the HWND's coordinate space. This way SetWindowRgn 30575 doesn't get wastefully called when the plugin is scrolled. 30576 30577 * plugins/win/PluginViewWin.cpp: 30578 (WebCore::PluginViewWin::updateHwnd): 30579 30580 2006-10-06 Dave Hyatt <hyatt (a] apple.com> 30581 30582 Implement flawless clipping of windowed plugins, including 30583 respecting nested frames, CSS overflow and CSS clip. (This 30584 puts Boomer way ahead of Mac as far as plugin clipping is 30585 concerned). 30586 30587 Implement support for correct blitting of scrolled subframes, 30588 even when clipped by enclosing scrollviews. 30589 30590 Fix a crash caused by focused children not being cleaned up 30591 when they are removed from a scrollview. 30592 30593 * platform/win/ScrollViewWin.cpp: 30594 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 30595 (WebCore::ScrollView::setFrameGeometry): 30596 (WebCore::ScrollView::addChild): 30597 (WebCore::ScrollView::removeChild): 30598 (WebCore::ScrollView::geometryChanged): 30599 * plugins/win/PluginViewWin.cpp: 30600 (WebCore::PluginViewWin::updateHwnd): 30601 (WebCore::PluginViewWin::windowClipRect): 30602 (WebCore::PluginViewWin::setFrameGeometry): 30603 (WebCore::PluginViewWin::geometryChanged): 30604 * plugins/win/PluginViewWin.h: 30605 30606 2006-10-06 Geoffrey Garen <ggaren (a] apple.com> 30607 30608 Fixed <rdar://4768789> Crash on ebay.com in Frame::didOpenURL 30609 30610 The issue was a resource loader making a callback to a 30611 frame after the frame had been destroyed. This doesn't happen on Mac 30612 because Mac WebKit cancels all loads before tearing down frames. 30613 30614 The solution is to add a callback to Win WebKit to allow a frame 30615 to cancel its main resource load. This is a temporary work-around. 30616 It is temporary because it doesn't address pending subresource loads. 30617 The long-term solution we anticipate is to have a legitimate loader 30618 inside WebCore. 30619 30620 * ChangeLog: 30621 * bridge/win/FrameWin.cpp: 30622 (WebCore::FrameWin::~FrameWin): 30623 * bridge/win/FrameWin.h: 30624 30625 2006-10-06 Steve Falkenburg <sfalken (a] apple.com> 30626 30627 Reviewed by Adam, Lou. 30628 30629 Resizer fixes. 30630 We now properly invalidate and draw overlapping contents or opaque. 30631 30632 * platform/win/ScrollViewWin.cpp: 30633 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 30634 (WebCore::ScrollView::updateScrollbars): 30635 (WebCore::ScrollView::resizerOverlapsContent): 30636 30637 2006-10-06 Anders Carlsson <acarlsson (a] apple.com> 30638 30639 Reviewed by Adam. 30640 30641 * plugins/win/PluginDatabaseWin.cpp: 30642 (WebCore::PluginDatabaseWin::defaultPluginPaths): 30643 Add (commented out) WMP plugin check. 30644 30645 2006-10-06 Anders Carlsson <acarlsson (a] apple.com> 30646 30647 Reviewed by Brady and Geoff. 30648 30649 <rdar://problems/4769023> 30650 Crash on cnettv.com - PluginStreamWin::receivedResponse 30651 30652 * platform/win/ResourceLoaderWin.cpp: 30653 (WebCore::ResourceLoaderWndProc): 30654 If the Content-Type header is missing, try to figure o ut the content type 30655 from the file extension. Failing that, just use "application/octet-stream". 30656 30657 2006-10-06 Adam Roben <aroben (a] apple.com> 30658 30659 Reviewed by Maciej. 30660 30661 Some loader improvements, courtesy of Steve. 30662 30663 Functionally, the improvements are these: 30664 1. Support HTTP Authentication 30665 2. Respect WinInet errors better 30666 30667 There are also some general code cleanups, like extracting the creation 30668 of an HTTP request into its own method. 30669 30670 * platform/win/ResourceLoaderWin.cpp: Add dwError field to 30671 JobLoadStatus to store WinInet error codes. Also removed the 30672 globalInternetHandle() function as the global HINTERNET is now only 30673 needed within startHTTPRequest. 30674 (WebCore::ResourceLoaderWndProc): Respect error codes and add HTTP 30675 Authentication support. Also, process HTTP status codes as ints instead 30676 of strings. 30677 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal): Cleanup 30678 m_formData 30679 (WebCore::transferJobStatusCallback): Cleanup the code, and set 30680 dwError. 30681 (WebCore::ResourceLoader::startHTTPRequest): New method to start a new 30682 HTTP request. 30683 (WebCore::ResourceLoader::start): Restructure code. 30684 30685 2006-10-06 Dave Hyatt <hyatt (a] apple.com> 30686 30687 Fix the plugins on cnn.com. Don't let the scroll view move child plugins around if it hasn't even been parented yet. 30688 30689 Fix an assert in widget destructors caused by not unparenting a ScrollView's scrollbars in its destructor. 30690 30691 * platform/win/ScrollViewWin.cpp: 30692 (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate): 30693 (WebCore::ScrollView::setFrameGeometry): 30694 30695 2006-10-06 Dave Hyatt <hyatt (a] apple.com> 30696 30697 Make sure that plugin windows get properly moved if an ancestor scrollview is shifted without changing its size (meaning 30698 that layout doesn't get called on the scrollview to update the widget positions). 30699 30700 Fixes the plugins on osnews.com. 30701 30702 * platform/win/ScrollViewWin.cpp: 30703 (WebCore::ScrollView::setFrameGeometry): 30704 30705 2006-10-05 Steve Falkenburg <sfalken (a] apple.com> 30706 30707 Reviewed by aroben. 30708 30709 Scrollbars now dodge resizing gripper. 30710 30711 * bridge/win/FrameViewWin.cpp: 30712 (WebCore::FrameView::windowResizerRect): added. 30713 * bridge/win/FrameWin.cpp: 30714 (WebCore::FrameWin::windowResizerRect): added. 30715 * bridge/win/FrameWin.h: 30716 * platform/win/ScrollViewWin.cpp: 30717 (WebCore::ScrollView::updateScrollbars): Scrollbars now dodge resizing gripper. 30718 30719 2006-10-05 Dave Hyatt <hyatt (a] apple.com> 30720 30721 Fix a bug where scrollbars would incorrectly show up for iframes when they weren't needed. 30722 Change the flow of control to be more like Mac. 30723 30724 * platform/win/ScrollViewWin.cpp: 30725 (WebCore::ScrollView::resizeContents): 30726 (WebCore::ScrollView::setFrameGeometry): 30727 30728 2006-10-05 Dave Hyatt <hyatt (a] apple.com> 30729 30730 Fix clipping and transforms by making sure to propagate them as they happen on the CGContext over into the HDC. 30731 30732 * platform/cg/GraphicsContextPlatformPrivate.h: 30733 * platform/win/GraphicsContextWin.cpp: 30734 (WebCore::CGContextWithHDC): 30735 (WebCore::GraphicsContext::getWindowsContext): 30736 (WebCore::GraphicsContext::releaseWindowsContext): 30737 (WebCore::GraphicsContextPlatformPrivate::save): 30738 (WebCore::GraphicsContextPlatformPrivate::restore): 30739 (WebCore::GraphicsContextPlatformPrivate::clip): 30740 (WebCore::GraphicsContextPlatformPrivate::scale): 30741 (WebCore::GraphicsContextPlatformPrivate::rotate): 30742 (WebCore::GraphicsContextPlatformPrivate::translate): 30743 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 30744 * platform/win/TemporaryLinkStubs.cpp: 30745 (GraphicsContextPlatformPrivate::clip): 30746 30747 2006-10-05 Geoffrey Garen <ggaren (a] apple.com> 30748 30749 build fix. 30750 30751 * platform/win/WidgetWin.cpp: 30752 (WebCore::Widget::~Widget): 30753 (WebCore::Widget::setParent): 30754 (WebCore::Widget::parent): 30755 (WebCore::Widget::removeFromParent): 30756 30757 2006-10-05 David Hyatt <hyatt (a] apple.com> 30758 30759 Stub out GraphicsContextPlatformPrivate methods so that the HDC can 30760 be updated when clips/transforms are applied. 30761 30762 Reviewed by darin 30763 30764 * platform/cg/GraphicsContextPlatformPrivate.h: 30765 (WebCore::GraphicsContextPlatformPrivate::save): 30766 (WebCore::GraphicsContextPlatformPrivate::restore): 30767 (WebCore::GraphicsContextPlatformPrivate::clip): 30768 (WebCore::GraphicsContextPlatformPrivate::scale): 30769 (WebCore::GraphicsContextPlatformPrivate::rotate): 30770 (WebCore::GraphicsContextPlatformPrivate::translate): 30771 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 30772 30773 2006-10-05 Adam Roben <aroben (a] apple.com> 30774 30775 Build fix. 30776 30777 * platform/win/TemporaryLinkStubs.cpp: 30778 (BrowserExtensionWin::BrowserExtensionWin): Change Frame* to FrameWin* 30779 30780 2006-10-05 Adam Roben <aroben (a] apple.com> 30781 30782 Build fix. Remove RenderImageButton.{h,cpp}. 30783 30784 * WebCore.vcproj/WebCore.vcproj: 30785 30786 2006-10-05 Geoffrey Garen <ggaren (a] apple.com> 30787 30788 Reviewed by Darin. 30789 30790 Fixed <rdar://problem/4766987> 30791 30792 - renamed ScrollBar to Scrollbar and scroll bar to scrollbar in every case 30793 except for file names. 30794 30795 - fixed RenderLayer to properly tear down scrollbars, removing them from 30796 their parents. 30797 30798 * bridge/win/FrameViewWin.cpp: 30799 (WebCore::FrameView::passMousePressEventToScrollbar): 30800 * platform/win/PlatformScrollBar.h: 30801 (WebCore::): 30802 * platform/win/PlatformScrollBarWin.cpp: 30803 (WebCore::PlatformScrollbar::PlatformScrollbar): 30804 (WebCore::PlatformScrollbar::~PlatformScrollbar): 30805 (WebCore::PlatformScrollbar::updateThumbPosition): 30806 (WebCore::PlatformScrollbar::updateThumbProportion): 30807 (WebCore::PlatformScrollbar::invalidateTrack): 30808 (WebCore::PlatformScrollbar::invalidatePart): 30809 (WebCore::PlatformScrollbar::width): 30810 (WebCore::PlatformScrollbar::height): 30811 (WebCore::PlatformScrollbar::setRect): 30812 (WebCore::PlatformScrollbar::setEnabled): 30813 (WebCore::PlatformScrollbar::paint): 30814 (WebCore::PlatformScrollbar::backButtonRect): 30815 (WebCore::PlatformScrollbar::forwardButtonRect): 30816 (WebCore::PlatformScrollbar::trackRect): 30817 (WebCore::PlatformScrollbar::thumbRect): 30818 (WebCore::PlatformScrollbar::gripperRect): 30819 (WebCore::PlatformScrollbar::splitTrack): 30820 (WebCore::PlatformScrollbar::thumbPosition): 30821 (WebCore::PlatformScrollbar::thumbLength): 30822 (WebCore::PlatformScrollbar::trackLength): 30823 (WebCore::PlatformScrollbar::paintButton): 30824 (WebCore::PlatformScrollbar::paintTrack): 30825 (WebCore::PlatformScrollbar::paintThumb): 30826 (WebCore::PlatformScrollbar::paintGripper): 30827 (WebCore::PlatformScrollbar::hitTest): 30828 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 30829 (WebCore::PlatformScrollbar::handleMouseOutEvent): 30830 (WebCore::PlatformScrollbar::handleMousePressEvent): 30831 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): 30832 (WebCore::PlatformScrollbar::startTimerIfNeeded): 30833 (WebCore::PlatformScrollbar::stopTimerIfNeeded): 30834 (WebCore::PlatformScrollbar::autoscrollPressedPart): 30835 (WebCore::PlatformScrollbar::autoscrollTimerFired): 30836 (WebCore::PlatformScrollbar::pressedPartScrollDirection): 30837 (WebCore::PlatformScrollbar::pressedPartScrollGranularity): 30838 (WebCore::PlatformScrollbar::thumbUnderMouse): 30839 (WebCore::PlatformScrollbar::themeChanged): 30840 (WebCore::PlatformScrollbar::horizontalScrollbarHeight): 30841 (WebCore::PlatformScrollbar::verticalScrollbarWidth): 30842 * platform/win/ScrollViewWin.cpp: 30843 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 30844 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 30845 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 30846 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 30847 (WebCore::ScrollView::resizeContents): 30848 (WebCore::ScrollView::scrollBy): 30849 (WebCore::ScrollView::hScrollbarMode): 30850 (WebCore::ScrollView::vScrollbarMode): 30851 (WebCore::ScrollView::suppressScrollbars): 30852 (WebCore::ScrollView::setHScrollbarMode): 30853 (WebCore::ScrollView::setVScrollbarMode): 30854 (WebCore::ScrollView::setScrollbarsMode): 30855 (WebCore::ScrollView::updateScrollbars): 30856 (WebCore::ScrollView::scrollbarUnderMouse): 30857 (WebCore::ScrollView::paint): 30858 (WebCore::ScrollView::themeChanged): 30859 30860 2006-10-05 Adam Roben <aroben (a] apple.com> 30861 30862 Reviewed by Maciej. 30863 30864 Fixes <rdar://problem/4757387> 30865 Unable to sign on to my.yahoo.com 30866 30867 This patch fixes a number of bugs that all resulted in not being able 30868 to log on to many websites. The problems were that we weren't allowing 30869 redirects between HTTP and HTTPS sites and weren't correctly handling 30870 redirects from POST requests to GET requests. 30871 30872 * platform/win/ResourceLoaderWin.cpp: 30873 (WebCore::globalInternetHandle): Move internetHandle and callbackHandle 30874 into file scope, and add this function to initialize them. 30875 (WebCore::logLastError): Add this debug logging function to give more 30876 readable WinInet error messages. 30877 (WebCore::ResourceLoaderWndProc): The most substantial change here is 30878 to allow redirects from POST to GET to function correctly. To do this 30879 we have to create a new HINTERNET for the GET. We also have to be sure 30880 not to try to read from our now-invalid handles after the redirect. 30881 (WebCore::transferJobStatusCallback): Rename timerId to jobId, since 30882 that's what it is. 30883 (WebCore::ResourceLoader::start): Call new static initializer, and pass 30884 flags to allow HTTP<->HTTPS redirects. Also change a few delete calls 30885 to kill(). 30886 30887 2006-10-05 Maciej Stachowiak <mjs (a] apple.com> 30888 30889 Reviewed by Adam. 30890 30891 - changed ResourceLoader to be refcounted 30892 30893 It keeps a ref on itself while loading as well. This makes 30894 for a much saner memory management model than the previous. 30895 30896 In addition, keep it ref'd across all of ResourceLoaderWndProc 30897 to avoid sending messages to jobs that get deleted partway. 30898 30899 This fixes <rdar://problem/4766859> Crash in ResourceLoaderWndProc - line 232 at televisionwithoutpity.com, washingtonpost.com 30900 30901 * platform/win/ResourceLoaderWin.cpp: 30902 (WebCore::ResourceLoaderWndProc): 30903 (WebCore::ResourceLoader::start): 30904 * plugins/win/PluginStreamWin.cpp: 30905 (WebCore::PluginStreamWin::PluginStreamWin): 30906 (WebCore::PluginStreamWin::start): 30907 (WebCore::PluginStreamWin::stop): 30908 * plugins/win/PluginStreamWin.h: 30909 30910 2006-10-05 Dave Hyatt <hyatt (a] apple.com> 30911 30912 Make key events work with iframes. Implement scrolling keyboard behavior. Fix a bug with mouse wheeling that 30913 made it fail on iframes nested within iframes. 30914 30915 Reviewed by mjs 30916 30917 * bridge/win/FrameViewWin.cpp: 30918 (WebCore::FrameView::passWheelEventToSubframe): 30919 * platform/win/ScrollViewWin.cpp: 30920 (WebCore::ScrollView::scroll): 30921 * platform/win/WidgetWin.cpp: 30922 (WebCore::Widget::Widget): 30923 (WebCore::Widget::capturingMouse): 30924 (WebCore::Widget::setCapturingMouse): 30925 (WebCore::Widget::capturingTarget): 30926 (WebCore::Widget::setCapturingChild): 30927 (WebCore::Widget::hasFocus): 30928 (WebCore::Widget::setFocus): 30929 (WebCore::Widget::clearFocus): 30930 (WebCore::Widget::setFocused): 30931 (WebCore::Widget::focusedTarget): 30932 (WebCore::Widget::focusedChild): 30933 (WebCore::Widget::setFocusedChild): 30934 (WebCore::Widget::clearFocusFromDescendants): 30935 30936 2006-10-05 Adam Roben <aroben (a] apple.com> 30937 30938 Reviewed by Maciej and Tim H. 30939 30940 Fixes <rdar://problem/4760991> 30941 Flash content doesn't go away when navigating to a new page 30942 30943 Actually destroy subframes when detaching. 30944 30945 * bridge/win/FrameWin.cpp: 30946 (WebCore::FrameWin::frameDetached): 30947 * bridge/win/FrameWin.h: 30948 30949 2006-10-05 Anders Carlsson <acarlsson (a] apple.com> 30950 30951 Reviewed by Maciej. 30952 30953 <rdar://problem/4762998> 30954 REGRESSION: dragging to select text does not work 30955 30956 * platform/win/PlatformMouseEventWin.cpp: 30957 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 30958 Set the correct button for WM_MOUSEMOVE events. 30959 30960 2006-10-05 Anders Carlsson <acarlsson (a] apple.com> 30961 30962 Reviewed by Adam. 30963 30964 rdar://problem/4757081 30965 Crashes/hangs when using Flash 8 plugin (Flash 9 works MUCH better) 30966 30967 * plugins/win/PluginStreamWin.cpp: 30968 (WebCore::PluginStreamWin::startStream): 30969 Encode javascript URLs before passing them to the plugin. 30970 30971 2006-10-05 Darin Adler <darin (a] apple.com> 30972 30973 Reviewed by Adam. 30974 30975 * platform/win/NotImplemented.h: Changed implementation to use Assertions.h. 30976 Also fixed both macros to be single-statement macros. 30977 30978 2006-10-05 Darin Adler <darin (a] apple.com> 30979 30980 Reviewed by Adam. 30981 30982 - fix <rdar://problem/4764253> 30983 frame targeting not implemented. 30984 30985 * bridge/win/FrameWin.h: Added new window boolean to openURL. Also changed 30986 type from DeprecatedString to String. 30987 * bridge/win/FrameWin.cpp: (WebCore::FrameWin::urlSelected): Added logic 30988 to do frame targeting. 30989 30990 * platform/win/BString.h: Added. Convenience for working with 30991 BSTR and handling allocation/free. 30992 * platform/win/BString.cpp: Added. 30993 * WebCore.vcproj/WebCore.vcproj: Added new files. 30994 30995 2006-10-03 Dave Hyatt <hyatt (a] apple.com> 30996 30997 Land the new ScrollView. 30998 30999 Reviewed by anders 31000 31001 * bridge/win/FrameViewWin.cpp: 31002 (WebCore::FrameView::passMousePressEventToScrollbar): 31003 * platform/win/PlatformScrollBar.h: 31004 * platform/win/PlatformScrollBarWin.cpp: 31005 (WebCore::PlatformScrollBar::thumbLength): 31006 (WebCore::PlatformScrollBar::hitTest): 31007 (WebCore::PlatformScrollBar::horizontalScrollBarHeight): 31008 (WebCore::PlatformScrollBar::verticalScrollBarWidth): 31009 * platform/win/ScrollViewWin.cpp: 31010 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 31011 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollBar): 31012 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollBar): 31013 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 31014 (WebCore::ScrollView::ScrollView): 31015 (WebCore::ScrollView::updateContents): 31016 (WebCore::ScrollView::visibleWidth): 31017 (WebCore::ScrollView::visibleHeight): 31018 (WebCore::ScrollView::visibleContentRect): 31019 (WebCore::ScrollView::resizeContents): 31020 (WebCore::ScrollView::contentsWidth): 31021 (WebCore::ScrollView::contentsHeight): 31022 (WebCore::ScrollView::windowToContents): 31023 (WebCore::ScrollView::contentsToWindow): 31024 (WebCore::ScrollView::convertChildToSelf): 31025 (WebCore::ScrollView::convertSelfToChild): 31026 (WebCore::ScrollView::scrollOffset): 31027 (WebCore::ScrollView::maximumScroll): 31028 (WebCore::ScrollView::scrollBy): 31029 (WebCore::ScrollView::scrollPointRecursively): 31030 (WebCore::ScrollView::hScrollBarMode): 31031 (WebCore::ScrollView::vScrollBarMode): 31032 (WebCore::ScrollView::suppressScrollBars): 31033 (WebCore::ScrollView::setHScrollBarMode): 31034 (WebCore::ScrollView::setVScrollBarMode): 31035 (WebCore::ScrollView::setScrollBarsMode): 31036 (WebCore::ScrollView::setStaticBackground): 31037 (WebCore::ScrollView::updateScrollBars): 31038 (WebCore::ScrollView::scrollbarUnderMouse): 31039 (WebCore::ScrollView::addChild): 31040 (WebCore::ScrollView::removeChild): 31041 (WebCore::ScrollView::paint): 31042 (WebCore::ScrollView::scrolled): 31043 * platform/win/WidgetWin.cpp: 31044 (WebCore::Widget::Widget): 31045 (WebCore::Widget::convertToContainingWindow): 31046 (WebCore::Widget::convertFromContainingWindow): 31047 (WebCore::Widget::convertChildToSelf): 31048 (WebCore::Widget::convertSelfToChild): 31049 (WebCore::Widget::setSuppressInvalidation): 31050 (WebCore::Widget::invalidateRect): 31051 * plugins/win/PluginViewWin.cpp: 31052 (WebCore::PluginViewWndProc): 31053 (WebCore::PluginViewWin::setFrameGeometry): 31054 (WebCore::PluginViewWin::scrolled): 31055 * plugins/win/PluginViewWin.h: 31056 31057 2006-10-03 Adam Roben <aroben (a] apple.com> 31058 31059 Reviewed by Steve. 31060 31061 Improvements to error handling in PluginStreamWin. 31062 31063 * plugins/win/PluginStreamWin.cpp: 31064 (WebCore::PluginStreamWin::deliverData): Fail quietly if called after 31065 termination (due to bad error handling in ResourceLoaderWin), ASSERT if 31066 called before stream has been started. 31067 (WebCore::PluginStreamWin::receivedData): Ditto. 31068 (WebCore::PluginStreamWin::receivedAllData): Ditto. 31069 31070 2006-10-03 Adam Roben <aroben (a] apple.com> 31071 31072 Reviewed by Anders. 31073 31074 Fixes <rdar://problem/4760963> 31075 Failed ASSERT in PluginStreamWin::~PluginStreamWin at espn.com 31076 31077 We now store the state of a stream as a tri-state enum in 31078 m_streamState. This allows us to differentiate between before and after the 31079 stream has been started. 31080 31081 * plugins/win/PluginStreamWin.cpp: 31082 (WebCore::PluginStreamWin::PluginStreamWin): Initialize members of 31083 m_stream struct individually. 31084 (WebCore::PluginStreamWin::~PluginStreamWin): 31085 (WebCore::PluginStreamWin::startStream): 31086 (WebCore::PluginStreamWin::destroyStream): 31087 (WebCore::PluginStreamWin::deliverData): Return early if the stream 31088 isn't started. 31089 (WebCore::PluginStreamWin::receivedData): Ditto. 31090 (WebCore::PluginStreamWin::receivedAllData): Ditto. 31091 * plugins/win/PluginStreamWin.h: 31092 (WebCore::): Add PluginStreamState enum. 31093 31094 2006-10-03 Adam Roben <aroben (a] apple.com> 31095 31096 Reviewed by Darin. 31097 31098 Fixes <rdar://problem/4603342> 31099 Keyboard navigability 31100 31101 Implement tabbing between form elements (in the single-frame case). 31102 31103 * bridge/win/FrameWin.cpp: Add methods to determine tabbing 31104 preferences. 31105 (WebCore::FrameWin::tabsToLinks): 31106 (WebCore::FrameWin::tabsToAllControls): 31107 * bridge/win/FrameWin.h: Add tabsToLinks() to FrameWinClient 31108 * platform/win/ScrollViewWin.cpp: 31109 (WebCore::ScrollView::scrollPointRecursively): Implemented for 31110 single-frame case. 31111 * platform/win/TemporaryLinkStubs.cpp: Remove stub for now-implemented 31112 ScrollView::scrollPointsRecursively 31113 31114 2006-10-02 Adam Roben <aroben (a] apple.com> 31115 31116 Reviewed by Maciej. 31117 31118 Fixes <rdar://problem/4743497> 31119 Can't check checkboxes 31120 31121 Let Windows determine which mouse button is pressed. 31122 31123 * platform/win/PlatformMouseEventWin.cpp: 31124 (WebCore::PlatformMouseEvent::PlatformMouseEvent): Use message 31125 parameter to determine which mouse button is pressed. 31126 31127 2006-10-02 Steve Falkenburg <sfalken (a] apple.com> 31128 31129 Reviewed by Hyatt. 31130 31131 <rdar://4757387> (partial fix) Unable to sign on to my.yahoo.com 31132 <rdar://4757405> (partial fix) Unable to log onto secure site (www.schwab.com) 31133 <rdar://4757411> (partial fix) Unable to log onto any AppleConnect site (but using back and resubmiting works) 31134 31135 WinInet fixes. 31136 Don't post data using HTTP when HTTPS should be used. 31137 Fix redirect from POST to GET case. 31138 31139 There is a remaining bug with the way that we queue WinInet callbacks 31140 still to be addressed. 31141 31142 * platform/win/ResourceLoaderWin.cpp: 31143 (WebCore::addToOutstandingJobs): Skip dwContext of 0 (rollover case). 31144 (WebCore::ResourceLoaderWndProc): Call default wndproc properly. 31145 Pass INTERNET_FLAG_SECURE when necessary for HTTPS. 31146 Fix redirect code. 31147 Initialize buffers struct. 31148 Pass proper context in InternetReadFileExA 31149 (WebCore::initializeOffScreenResourceLoaderWindow): Init a struct to {0} instead of using memset. 31150 (WebCore::transferJobStatusCallback): Prevent future bugs by making an else a bit more explicit. 31151 (WebCore::ResourceLoader::start): Pass proper port for HTTP vs. HTTPS. 31152 (WebCore::ResourceLoader::cancel): Zero out handle when closing. 31153 31154 2006-10-01 Dave Hyatt <hyatt (a] apple.com> 31155 31156 Finish the scrollbar. Handle arrow and track scrolling. Everything is finished now except for implementing a Win2k look. 31157 31158 * platform/win/PlatformScrollBar.h: 31159 * platform/win/PlatformScrollBarWin.cpp: 31160 (WebCore::PlatformScrollBar::PlatformScrollBar): 31161 (WebCore::PlatformScrollBar::~PlatformScrollBar): 31162 (WebCore::PlatformScrollBar::thumbRect): 31163 (WebCore::PlatformScrollBar::handleMouseMoveEvent): 31164 (WebCore::PlatformScrollBar::handleMousePressEvent): 31165 (WebCore::PlatformScrollBar::handleMouseReleaseEvent): 31166 (WebCore::PlatformScrollBar::startTimerIfNeeded): 31167 (WebCore::PlatformScrollBar::stopTimerIfNeeded): 31168 (WebCore::PlatformScrollBar::autoscrollPressedPart): 31169 (WebCore::PlatformScrollBar::autoscrollTimerFired): 31170 (WebCore::PlatformScrollBar::pressedPartScrollDirection): 31171 (WebCore::PlatformScrollBar::pressedPartScrollGranularity): 31172 (WebCore::PlatformScrollBar::thumbUnderMouse): 31173 31174 2006-10-01 Dave Hyatt <hyatt (a] apple.com> 31175 31176 Make thumb dragging work on the scrollbar. 31177 31178 Fix mouse and wheel events to use GET_X_LPARAM and GET_Y_LPARAM so that negative coordinates work. 31179 (This comes up when a widget is capturing events and the mouse moves outside the HWND.) 31180 31181 * platform/win/PlatformMouseEventWin.cpp: 31182 (WebCore::positionForEvent): 31183 (WebCore::globalPositionForEvent): 31184 * platform/win/PlatformScrollBar.h: 31185 * platform/win/PlatformScrollBarWin.cpp: 31186 (WebCore::PlatformScrollBar::PlatformScrollBar): 31187 (WebCore::PlatformScrollBar::handleMouseMoveEvent): 31188 (WebCore::PlatformScrollBar::handleMousePressEvent): 31189 (WebCore::PlatformScrollBar::handleMouseReleaseEvent): 31190 (WebCore::PlatformScrollBar::startTimerIfNeeded): 31191 (WebCore::PlatformScrollBar::stopTimerIfNeeded): 31192 * platform/win/WheelEventWin.cpp: 31193 (WebCore::positionForEvent): 31194 (WebCore::globalPositionForEvent): 31195 31196 2006-10-01 Dave Hyatt <hyatt (a] apple.com> 31197 31198 Hook up the mouse capture architecture so that child widgets capture events while the mouse is pressed. 31199 31200 Hook up tracking the pressed object on a scrollbar and proper painting of the scrollbar's 31201 pressed state. 31202 31203 * bridge/win/FrameViewWin.cpp: 31204 (WebCore::FrameView::passMousePressEventToSubframe): 31205 (WebCore::FrameView::passMousePressEventToScrollbar): 31206 * platform/win/PlatformScrollBar.h: 31207 * platform/win/PlatformScrollBarWin.cpp: 31208 (WebCore::PlatformScrollBar::PlatformScrollBar): 31209 (WebCore::PlatformScrollBar::paintButton): 31210 (WebCore::PlatformScrollBar::paintTrack): 31211 (WebCore::PlatformScrollBar::paintThumb): 31212 (WebCore::PlatformScrollBar::paintGripper): 31213 (WebCore::PlatformScrollBar::handleMouseMoveEvent): 31214 (WebCore::PlatformScrollBar::handleMousePressEvent): 31215 (WebCore::PlatformScrollBar::handleMouseReleaseEvent): 31216 * platform/win/WidgetWin.cpp: 31217 (WebCore::Widget::setCapturingChild): 31218 31219 2006-09-30 Dave Hyatt <hyatt (a] apple.com> 31220 31221 This patch makes iframes and frames able to receive mouse events. Down, up, click, selection 31222 all work. This patch also fixes bugs in scrolling and makes wheel events work on iframes. 31223 A capturing system for routing events to the proper subwidget when the mouse has down 31224 is also stubbed out (but not yet used). 31225 31226 Reviewed by andersca 31227 31228 * WebCore.vcproj/WebCore.vcproj: 31229 * bridge/win/FrameViewWin.cpp: Added. 31230 (WebCore::FrameView::passMousePressEventToSubframe): 31231 (WebCore::FrameView::passMouseMoveEventToSubframe): 31232 (WebCore::FrameView::passMouseReleaseEventToSubframe): 31233 (WebCore::FrameView::passWheelEventToSubframe): 31234 * bridge/win/FrameWin.cpp: 31235 * bridge/win/FrameWin.h: 31236 * platform/win/PlatformScrollBar.h: 31237 * platform/win/PlatformScrollBarWin.cpp: 31238 (WebCore::PlatformScrollBar::handleMouseMoveEvent): 31239 (WebCore::PlatformScrollBar::handleMouseOutEvent): 31240 (WebCore::PlatformScrollBar::handleMouseReleaseEvent): 31241 * platform/win/ScrollViewWin.cpp: 31242 (WebCore::ScrollView::visibleContentRect): 31243 (WebCore::ScrollView::scrollBy): 31244 (WebCore::ScrollView::removeChild): 31245 * platform/win/TemporaryLinkStubs.cpp: 31246 (FrameWin::print): 31247 (FrameWin::lastEventIsMouseUp): 31248 * platform/win/WidgetWin.cpp: 31249 (WebCore::Widget::Widget): 31250 (WebCore::Widget::capturingMouse): 31251 (WebCore::Widget::setCapturingMouse): 31252 (WebCore::Widget::capturingTarget): 31253 (WebCore::Widget::capturingChild): 31254 (WebCore::Widget::setCapturingChild): 31255 31256 2006-09-29 Steve Falkenburg <sfalken (a] apple.com> 31257 31258 Fix the build. 31259 31260 * platform/win/PlatformScrollBarWin.cpp: 31261 31262 2006-09-29 Adele Peterson <adele (a] apple.com> 31263 31264 Adding RenderListBox files. 31265 31266 * WebCore.vcproj/WebCore.vcproj: 31267 31268 2006-09-29 Adele Peterson <adele (a] apple.com> 31269 31270 Reviewed by Adam. 31271 31272 Updated constructor for PlatformScrollBar to include controlSize argument. 31273 31274 * platform/win/PlatformScrollBar.h: 31275 * platform/win/PlatformScrollBarWin.cpp: 31276 (WebCore::PlatformScrollBar::PlatformScrollBar): 31277 31278 2006-09-29 Adam Roben <aroben (a] apple.com> 31279 31280 Reviewed by hyatt. 31281 31282 Add error logging to plugin code. 31283 31284 * WebCore.vcproj/WebCore.vcproj: Added PluginDebug.h 31285 * platform/win/NotImplemented.h: Add surrounding #ifndef/#endif 31286 * plugins/win/PluginDebug.h: Added. 31287 * plugins/win/PluginPackageWin.cpp: Add error logging 31288 (WebCore::PluginPackageWin::load): 31289 * plugins/win/PluginStreamWin.cpp: Ditto. 31290 (WebCore::PluginStreamWin::startStream): 31291 (WebCore::PluginStreamWin::destroyStream): 31292 (WebCore::PluginStreamWin::deliverData): 31293 (WebCore::PluginStreamWin::receivedAllData): 31294 * plugins/win/PluginViewWin.cpp: Ditto. 31295 (WebCore::PluginViewWin::start): 31296 (WebCore::PluginViewWin::stop): 31297 (WebCore::PluginViewWin::newStream): 31298 (WebCore::PluginViewWin::write): 31299 (WebCore::PluginViewWin::destroyStream): 31300 31301 2006-09-29 Dave Hyatt <hyatt (a] apple.com> 31302 31303 Fork MouseEventWin.cpp into (the better-named) PlatformMouseEventWin.cpp. 31304 31305 * WebCore.vcproj/WebCore.vcproj: 31306 * platform/win/PlatformMouseEventWin.cpp: Added. 31307 31308 2006-09-28 Dave Hyatt <hyatt (a] apple.com> 31309 31310 Make scrollbars scroll correctly when setValue is called. Needed to do float math instead of integer 31311 math (and also fix some buggy math when computing the thumb position). 31312 31313 * platform/win/PlatformScrollBarWin.cpp: 31314 (WebCore::PlatformScrollBar::thumbPosition): 31315 31316 2006-09-28 Dave Hyatt <hyatt (a] apple.com> 31317 31318 Make scrollbars on Win32 respond to hover events. The thumb and arrow buttons will now properly hover when 31319 the mouse enters and exits them. 31320 31321 * platform/win/PlatformScrollBar.h: 31322 * platform/win/PlatformScrollBarWin.cpp: 31323 (WebCore::PlatformScrollBar::invalidatePart): 31324 (WebCore::PlatformScrollBar::paintButton): 31325 (WebCore::PlatformScrollBar::paintTrack): 31326 (WebCore::PlatformScrollBar::paintThumb): 31327 (WebCore::PlatformScrollBar::paintGripper): 31328 (WebCore::PlatformScrollBar::hitTest): 31329 (WebCore::PlatformScrollBar::mouseMoved): 31330 (WebCore::PlatformScrollBar::mouseExited): 31331 31332 2006-09-28 Steve Falkenburg <sfalken (a] apple.com> 31333 31334 Reviewed by Maciej. 31335 31336 Use $(ConfigSuffix) set via vsprops files to add _debug 31337 to end of debug filenames. 31338 31339 Update B&I build script. 31340 31341 * WebCore.vcproj/WebCore.make: 31342 * WebCore.vcproj/WebCore.vcproj: 31343 * WebCore.vcproj/debug.vsprops: Added. 31344 * WebCore.vcproj/release.vsprops: Added. 31345 31346 2006-09-28 Adam Roben <aroben (a] apple.com> 31347 31348 Reviewed by Hyatt. 31349 31350 Avoid creating LOGFONTs for bitmap fonts under CG, since we don't 31351 support them anyway. 31352 31353 * platform/win/FontCacheWin.cpp: 31354 (WebCore::FontCache::createFontPlatformData): Set lfOutPrecision to 31355 OUT_TT_ONLY_PRECIS to avoid bitmap fonts. 31356 * platform/win/FontPlatformDataWin.cpp: 31357 (WebCore::FontPlatformData::FontPlatformData): Change the LOG_ERROR 31358 back to an ASSERT since we should never reach this condition now. 31359 31360 2006-09-28 Dave Hyatt <hyatt (a] apple.com> 31361 31362 This patch eliminates viewportToContents/contentsToViewport in favor of convertTo/FromContainingWindow. 31363 ScrollView now subclasses these methods to factor in its scrollOffset and to deal with the document 31364 view. 31365 31366 Reviewed by mjs (the convertTo/From changes), (I added the elimination of viewportToContents to 31367 the patch after review, once I realized that these new functions essentially do the same thing.) 31368 31369 * platform/win/ScrollViewWin.cpp: 31370 (WebCore::ScrollView::updateContents): 31371 (WebCore::ScrollView::convertToContainingWindow): 31372 (WebCore::ScrollView::convertFromContainingWindow): 31373 (WebCore::ScrollView::scrollBy): 31374 * platform/win/WidgetWin.cpp: 31375 (WebCore::Widget::convertToContainingWindow): 31376 (WebCore::Widget::convertFromContainingWindow): 31377 31378 2006-09-28 Adam Roben <aroben (a] apple.com> 31379 31380 Reviewed by Anders. 31381 31382 Fail without crashing and log an error when CG encounters a bitmap 31383 font. 31384 31385 * platform/win/FontPlatformDataWin.cpp: 31386 (WebCore::FontPlatformData::FontPlatformData): Trade LOG_ERROR for 31387 ASSERT_WITH_MESSAGE 31388 31389 2006-09-27 Alice Liu <alice.liu (a] apple.com> 31390 31391 Reviewed by Steve & Adam. 31392 31393 * WebCore.vcproj/WebCore.vcproj: 31394 Added files to the project file 31395 * platform/win/TemporaryLinkStubs.cpp: 31396 Removed stub for findWordBoundary 31397 * platform/win/TextBoundariesWin.cpp: Added. 31398 Implemented cross-platform findWordBoundary. We're still keeping the mac one intact for now. 31399 (WebCore::findWordBoundary): 31400 31401 2006-09-28 Adam Roben <aroben (a] apple.com> 31402 31403 Reviewed by Adele. 31404 31405 Remove never-to-be-used PopUpButton 31406 31407 * WebCore.vcproj/WebCore.vcproj: Remove PopUpButton.h 31408 * platform/win/TemporaryLinkStubs.cpp: Remove PopUpButton:: methods 31409 31410 2006-09-28 Adam Roben <aroben (a] apple.com> 31411 31412 Reviewed by Alice. 31413 31414 Replace notImplemented() with LOG_NOIMPL() and STOP_NOIMPL() macros 31415 which generate debug output. STOP_NOIMPL() also generates a debug 31416 break. Replace calls to notImplemented() with 31417 LOG_NOIMPL()/STOP_NOIMPL() as appropriate. This should stop some unnecessary 31418 crashes where notImplemented() was called from a method that can fail 31419 safely. 31420 31421 * WebCore.vcproj/WebCore.vcproj: Added NotImplemented.h 31422 * platform/win/FontWin.cpp: Use LOG_NOIMPL() instead of notImplemented(). 31423 (WebCore::Font::selectionRectForComplexText): 31424 (WebCore::Font::drawComplexText): 31425 (WebCore::Font::floatWidthForComplexText): 31426 (WebCore::Font::offsetForPositionForComplexText): 31427 * platform/win/NotImplemented.h: Added. Contains new LOG_NOIMPL() and 31428 STOP_NOIMPL() macros. 31429 * platform/win/TemporaryLinkStubs.cpp: Use LOG_NOIMPL() and 31430 STOP_NOIMPL() instead of notImplemented() or nothing. 31431 (PopUpButton::focusPolicy): 31432 (PopUpButton::populate): 31433 (Widget::enableFlushDrawing): 31434 (Widget::focusPolicy): 31435 (Widget::disableFlushDrawing): 31436 (Widget::lockDrawingFocus): 31437 (Widget::unlockDrawingFocus): 31438 (JavaAppletWidget::JavaAppletWidget): 31439 (TextField::selectAll): 31440 (TextField::addSearchResult): 31441 (TextField::selectionStart): 31442 (TextField::hasSelectedText): 31443 (TextField::selectedText): 31444 (TextField::setAutoSaveName): 31445 (TextField::checksDescendantsForFocus): 31446 (TextField::setSelection): 31447 (TextField::setMaxResults): 31448 (TextField::edited): 31449 (Slider::Slider): 31450 (Slider::sizeHint): 31451 (Slider::setValue): 31452 (Slider::setMaxValue): 31453 (Slider::setMinValue): 31454 (Slider::~Slider): 31455 (Slider::setFont): 31456 (Slider::value): 31457 (ListBox::sizeForNumberOfLines): 31458 (ListBox::isSelected): 31459 (ListBox::checksDescendantsForFocus): 31460 (Slider::focusPolicy): 31461 (ListBox::focusPolicy): 31462 (TextField::focusPolicy): 31463 (Cursor::Cursor): 31464 (PlatformMouseEvent::PlatformMouseEvent): 31465 (WebCore::searchableIndexIntroduction): 31466 (WebCore::findNextSentenceFromIndex): 31467 (WebCore::findSentenceBoundary): 31468 (WebCore::findNextWordFromIndex): 31469 (WebCore::ServeSynchronousRequest): 31470 (FrameWin::focusWindow): 31471 (FrameWin::unfocusWindow): 31472 (FrameWin::locationbarVisible): 31473 (FrameWin::registerCommandForRedo): 31474 (FrameWin::getObjectInstanceForWidget): 31475 (FrameWin::getEmbedInstanceForWidget): 31476 (FrameWin::getAppletInstanceForWidget): 31477 (FrameWin::canRedo): 31478 (FrameWin::canUndo): 31479 (FrameWin::canPaste): 31480 (FrameWin::canGoBackOrForward): 31481 (FrameWin::shouldInterruptJavaScript): 31482 (FrameWin::openURL): 31483 (FrameWin::print): 31484 (FrameWin::passMouseDownEventToWidget): 31485 (FrameWin::issueCutCommand): 31486 (FrameWin::issueCopyCommand): 31487 (FrameWin::issuePasteCommand): 31488 (FrameWin::issueUndoCommand): 31489 (FrameWin::issueRedoCommand): 31490 (FrameWin::issuePasteAndMatchStyleCommand): 31491 (FrameWin::issueTransposeCommand): 31492 (FrameWin::passWheelEventToChildWidget): 31493 (FrameWin::mimeTypeForFileName): 31494 (FrameWin::scheduleClose): 31495 (FrameWin::markMisspellings): 31496 (FrameWin::menubarVisible): 31497 (FrameWin::personalbarVisible): 31498 (FrameWin::statusbarVisible): 31499 (FrameWin::toolbarVisible): 31500 (FrameWin::originalRequestURL): 31501 (FrameWin::isLoadTypeReload): 31502 (BrowserExtensionWin::canRunModal): 31503 (BrowserExtensionWin::createNewWindow): 31504 (BrowserExtensionWin::canRunModalNow): 31505 (BrowserExtensionWin::runModal): 31506 (BrowserExtensionWin::goBackOrForward): 31507 (BrowserExtensionWin::historyURL): 31508 (GraphicsContext::addRoundedRectClip): 31509 (GraphicsContext::addInnerRoundedRectClip): 31510 (WebCore::screenDepthPerComponent): 31511 (WebCore::screenIsMonochrome): 31512 (WebCore::moveCursor): 31513 (WebCore::inputElementAltText): 31514 (WebCore::findWordBoundary): 31515 (WebCore::ResourceLoader::assembleResponseHeaders): 31516 (WebCore::ResourceLoader::retrieveCharset): 31517 (FrameView::updateBorder): 31518 (FrameWin::restoreDocumentState): 31519 (FrameWin::partClearedInBegin): 31520 (FrameWin::createEmptyDocument): 31521 (FrameWin::overrideMediaType): 31522 (FrameWin::markedTextRange): 31523 (FrameWin::addMessageToConsole): 31524 (FrameWin::shouldChangeSelection): 31525 (FrameWin::respondToChangedSelection): 31526 (FrameWin::saveDocumentState): 31527 (FrameWin::registerCommandForUndo): 31528 (FrameWin::clearUndoRedoOperations): 31529 (FrameWin::incomingReferrer): 31530 (FrameWin::markMisspellingsInAdjacentWords): 31531 (FrameWin::respondToChangedContents): 31532 (BrowserExtensionWin::BrowserExtensionWin): 31533 (BrowserExtensionWin::setTypedIconURL): 31534 (BrowserExtensionWin::setIconURL): 31535 (BrowserExtensionWin::getHistoryLength): 31536 (WebCore::CheckIfReloading): 31537 (WebCore::CheckCacheObjectStatus): 31538 (Widget::setIsSelected): 31539 (ScrollView::inWindow): 31540 (ScrollView::scrollPointRecursively): 31541 (GraphicsContext::setShadow): 31542 (GraphicsContext::clearShadow): 31543 (GraphicsContext::beginTransparencyLayer): 31544 (GraphicsContext::endTransparencyLayer): 31545 (GraphicsContext::clearRect): 31546 (GraphicsContext::strokeRect): 31547 (GraphicsContext::setLineWidth): 31548 (GraphicsContext::setLineCap): 31549 (GraphicsContext::setLineJoin): 31550 (GraphicsContext::setMiterLimit): 31551 (GraphicsContext::setAlpha): 31552 (GraphicsContext::clip): 31553 (GraphicsContext::rotate): 31554 (GraphicsContext::scale): 31555 (Path::Path): 31556 (Path::~Path): 31557 (Path::contains): 31558 (Path::translate): 31559 (Path::boundingRect): 31560 (Path::operator=): 31561 (Path::clear): 31562 (Path::moveTo): 31563 (Path::addLineTo): 31564 (Path::addQuadCurveTo): 31565 (Path::addBezierCurveTo): 31566 (Path::addArcTo): 31567 (Path::closeSubpath): 31568 (Path::addArc): 31569 (Path::addRect): 31570 (Path::addEllipse): 31571 (GraphicsContext::drawFocusRing): 31572 (GraphicsContext::drawLineForMisspelling): 31573 (GraphicsContext::setCompositeOperation): 31574 (TextField::TextField): 31575 (TextField::~TextField): 31576 (TextField::setFont): 31577 (TextField::setAlignment): 31578 (TextField::setWritingDirection): 31579 (TextField::maxLength): 31580 (TextField::setMaxLength): 31581 (TextField::text): 31582 (TextField::setText): 31583 (TextField::cursorPosition): 31584 (TextField::setCursorPosition): 31585 (TextField::setEdited): 31586 (TextField::setReadOnly): 31587 (TextField::setPlaceholderString): 31588 (TextField::setColors): 31589 (TextField::sizeForCharacterWidth): 31590 (TextField::baselinePosition): 31591 (TextField::setLiveSearch): 31592 (PopUpButton::PopUpButton): 31593 (PopUpButton::~PopUpButton): 31594 (PopUpButton::setFont): 31595 (PopUpButton::baselinePosition): 31596 (PopUpButton::setWritingDirection): 31597 (PopUpButton::clear): 31598 (PopUpButton::appendItem): 31599 (PopUpButton::setCurrentItem): 31600 (PopUpButton::sizeHint): 31601 (PopUpButton::frameGeometry): 31602 (PopUpButton::setFrameGeometry): 31603 (ListBox::ListBox): 31604 (ListBox::~ListBox): 31605 (ListBox::setSelectionMode): 31606 (ListBox::setFont): 31607 (ListBox::setWritingDirection): 31608 (ListBox::clear): 31609 (ListBox::doneAppendingItems): 31610 (ListBox::setEnabled): 31611 (ListBox::appendItem): 31612 (ListBox::setSelected): 31613 (WebCore::focusRingColor): 31614 (WebCore::setFocusRingColorChangeFunction): 31615 (Frame::setNeedsReapplyStyles): 31616 (Image::drawTiled): 31617 (RenderPopupMenuWin::addSeparator): 31618 (RenderPopupMenuWin::addGroupLabel): 31619 (IconLoader::receivedResponse): 31620 (IconLoader::notifyIconChanged): 31621 * plugins/win/PluginViewWin.cpp: 31622 (WebCore::PluginViewWin::setValue): 31623 31624 2006-09-28 Adam Roben <aroben (a] apple.com> 31625 31626 Rubberstamped by sfalken. 31627 31628 Remove calls to DebugBreak() from plugin code. 31629 31630 * plugins/win/PluginViewWin.cpp: 31631 (WebCore::PluginViewWin::getValue): 31632 (WebCore::PluginViewWin::setValue): 31633 31634 2006-09-28 Dave Hyatt <hyatt (a] apple.com> 31635 31636 Eliminate the use of MapWindowPoints on Win32. Just use the outermost HWND as the point of reference for events. 31637 31638 Stub out the mouse methods from the open source checkin and add a new member variable to track the current hovered scrollbar part. 31639 31640 * platform/win/PlatformScrollBar.h: 31641 (WebCore::): 31642 * platform/win/PlatformScrollBarWin.cpp: 31643 (WebCore::PlatformScrollBar::PlatformScrollBar): 31644 (WebCore::PlatformScrollBar::mouseMoved): 31645 (WebCore::PlatformScrollBar::mouseExited): 31646 * platform/win/ScrollViewWin.cpp: 31647 (WebCore::ScrollView::viewportToContents): 31648 (WebCore::ScrollView::contentsToViewport): 31649 * platform/win/WheelEventWin.cpp: 31650 (WebCore::positionForEvent): 31651 31652 2006-09-27 Steve Falkenburg <sfalken (a] apple.com> 31653 31654 Reviewed by Maciej. 31655 31656 Prefer pulling project dependencies from WebKitOutputDir over 31657 WebKitSDKDir. Don't copy build output back over to WebKitSDKDir. 31658 31659 * WebCore.vcproj/WebCore.vcproj: 31660 * WebCore.vcproj/build-generated-files.sh: 31661 * WebCore.vcproj/dstroot-to-sdk.cmd: Removed. 31662 31663 2006-09-27 Steve Falkenburg <sfalken (a] apple.com> 31664 31665 B&I build fixes 31666 31667 * WebCore.vcproj/WebCore.make: 31668 * WebCore.vcproj/WebCore.vcproj: 31669 * WebCore.vcproj/build-generated-files.sh: 31670 31671 2006-09-27 Adam Roben <aroben (a] apple.com> 31672 31673 Reviewed by sfalken. 31674 31675 Don't die when plugins try to open a new window. 31676 31677 * plugins/win/PluginViewWin.cpp: 31678 (WebCore::PluginViewWin::performRequest): Remove call to DebugBreak() 31679 31680 2006-09-27 Steve Falkenburg <sfalken (a] apple.com> 31681 31682 B&I build script tweaks. 31683 31684 * WebCore.vcproj/WebCore.make: 31685 31686 2006-09-27 Steve Falkenburg <sfalken (a] apple.com> 31687 31688 Reviewed by Hyatt. 31689 31690 Turn on CG 31691 31692 * config.h: 31693 31694 2006-09-27 Adam Roben <aroben (a] apple.com> 31695 31696 Reviewed by Lou. 31697 31698 Fix crash in plugins due to Flash on nytimes.com 31699 31700 * plugins/win/PluginStreamWin.cpp: 31701 (WebCore::PluginStreamWin::PluginStreamWin): memset m_stream to 0 31702 31703 2006-09-27 Adam Roben <aroben (a] apple.com> 31704 31705 Reviewed by sfalken. 31706 31707 Scroll plugins (at least in some cases). 31708 31709 * platform/win/ScrollViewWin.cpp: 31710 (WebCore::ScrollView::scrollBy): Pass SW_SCROLLCHILDREN to ScrollWindowEx() 31711 31712 2006-09-27 Steve Falkenburg <sfalken (a] apple.com> 31713 31714 Reviewed by Adam. 31715 31716 Remove unimplemented from a temporary link stub. 31717 31718 * platform/win/TemporaryLinkStubs.cpp: 31719 (GraphicsContext::addInnerRoundedRectClip): 31720 31721 2006-09-27 Sean Gies <seangies (a] apple.com> 31722 31723 Reviewed by Brady Eidson. 31724 31725 * WebCore.vcproj/WebCore.vcproj: Added platform/win/WebCoreSystemInterface.h/cpp 31726 * platform/win/WebCoreSystemInterface.cpp: Added. 31727 * platform/win/WebCoreSystemInterface.h: Added. 31728 31729 2006-09-26 Adam Roben <aroben (a] apple.com> 31730 31731 Reviewed by sfalken. 31732 31733 Fixes <rdar://problem/4751600> 31734 Hang on Amazon.com involving Flash 31735 31736 * plugins/win/PluginStreamWin.cpp: Rename m_streamStarted to 31737 m_isTerminated to match Mac code (m_isTerminated is the negation of 31738 m_streamStarted) 31739 (WebCore::PluginStreamWin::PluginStreamWin): Initialize m_isTerminated 31740 to false to match Mac code. 31741 (WebCore::PluginStreamWin::~PluginStreamWin): Rename and negate. 31742 (WebCore::PluginStreamWin::stop): Remove assignment of m_streamStarted 31743 to match Mac code. 31744 (WebCore::PluginStreamWin::startStream): Rename and negate. Remove 31745 now-unnecessary assignment of m_streamStarted to true because we set 31746 m_isTerminated to false in the constructor. 31747 (WebCore::PluginStreamWin::destroyStream): Rename and negate. 31748 * plugins/win/PluginStreamWin.h: Rename m_streamStarted to 31749 m_isTerminated. 31750 * plugins/win/PluginViewWin.cpp: 31751 (WebCore::PluginViewWin::performRequest): Send the correct response URL 31752 to the plugin. 31753 31754 2006-09-26 Steve Falkenburg <sfalken (a] apple.com> 31755 31756 More temporary link stubs moved. 31757 Build tweaks. 31758 31759 * ChangeLog: 31760 * WebCore.vcproj/WebCore.make: Added. 31761 * WebCore.vcproj/WebCore.vcproj: 31762 * platform/win/TemporaryLinkStubs.cpp: 31763 (ListBox::isSelected): 31764 (ListBox::setWritingDirection): 31765 (ListBox::clear): 31766 (ListBox::doneAppendingItems): 31767 (ListBox::setEnabled): 31768 (ListBox::appendItem): 31769 (ListBox::setSelected): 31770 31771 2006-09-26 Sean Gies <seangies (a] apple.com> 31772 31773 Reviewed by Brady Eidson. 31774 31775 * platform/win/GraphicsContextWin.cpp: 31776 (WebCore::CGContextWithHDC): Make a static function. 31777 (WebCore::GraphicsContext::getWindowsContext): Assume flipped coordinates. 31778 31779 2006-09-26 Brady Eidson <beidson (a] apple.com> 31780 31781 Nuked another notImplemented() that is getting hit 31782 31783 * platform/win/TemporaryLinkStubs.cpp: 31784 (GraphicsContext::addRoundedRectClip): 31785 31786 2006-09-26 Sean Gies <seangies (a] apple.com> 31787 31788 Reviewed by Adam Roben. 31789 31790 * WebCore.vcproj/WebCore.vcproj: Use Debug DLL C runtime for debug config. 31791 31792 2006-09-26 Lou Amadio <lamadio (a] apple.com> 31793 31794 Reviewed by ggaren 31795 Uninitialized variable caused a memory corruption on cnn.com 31796 31797 WARNING: NO TEST CASES ADDED OR CHANGED 31798 31799 * plugins/win/PlugInInfoStoreWin.cpp: 31800 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex): 31801 31802 2006-09-26 Dave Hyatt <hyatt (a] apple.com> 31803 31804 Fix my buggy invalidateRect implementation for Win32 widgets. 31805 31806 Clean up my rect computation code in scrollbar to use x() and y() instead of 31807 frameGeometry().x()/y(). 31808 31809 Add a new invalidateTrack() method that invalidates the track (and handles 31810 putting the rect into the right coordinate space for proper invalidation 31811 now that I fixed invalidateRect). 31812 31813 * platform/win/PlatformScrollBar.h: 31814 * platform/win/PlatformScrollBarWin.cpp: 31815 (WebCore::PlatformScrollBar::updateThumbPosition): 31816 (WebCore::PlatformScrollBar::updateThumbProportion): 31817 (WebCore::PlatformScrollBar::invalidateTrack): 31818 (WebCore::PlatformScrollBar::backButtonRect): 31819 (WebCore::PlatformScrollBar::forwardButtonRect): 31820 (WebCore::PlatformScrollBar::trackRect): 31821 * platform/win/WidgetWin.cpp: 31822 (WebCore::Widget::invalidate): 31823 31824 2006-09-26 Dave Hyatt <hyatt (a] apple.com> 31825 31826 Teach all our Win32 theme code (RenderTheme and PlatformScrollBar) how to respond correctly to OS theme changes. 31827 31828 Implement painting of scrollbars using theme APIs. The arrow buttons, track, thumb and gripper all paint properly 31829 now. Next up is hit testing and proper hover feedback. 31830 31831 Reviewed by andersca 31832 31833 * platform/win/PlatformScrollBar.h: 31834 * platform/win/PlatformScrollBarWin.cpp: 31835 (WebCore::PlatformScrollBar::PlatformScrollBar): 31836 (WebCore::PlatformScrollBar::paint): 31837 (WebCore::PlatformScrollBar::backButtonRect): 31838 (WebCore::PlatformScrollBar::forwardButtonRect): 31839 (WebCore::PlatformScrollBar::trackRect): 31840 (WebCore::PlatformScrollBar::gripperRect): 31841 (WebCore::PlatformScrollBar::splitTrack): 31842 (WebCore::PlatformScrollBar::thumbPosition): 31843 (WebCore::PlatformScrollBar::thumbLength): 31844 (WebCore::PlatformScrollBar::paintButton): 31845 (WebCore::PlatformScrollBar::paintTrack): 31846 (WebCore::PlatformScrollBar::paintThumb): 31847 (WebCore::PlatformScrollBar::paintGripper): 31848 (WebCore::PlatformScrollBar::themeChanged): 31849 * platform/win/ScrollViewWin.cpp: 31850 (WebCore::ScrollView::themeChanged): 31851 * platform/win/TemporaryLinkStubs.cpp: 31852 (Widget::enableFlushDrawing): 31853 * platform/win/WidgetWin.cpp: 31854 (WebCore::Widget::isEnabled): 31855 * rendering/RenderThemeWin.cpp: 31856 (WebCore::RenderThemeWin::RenderThemeWin): 31857 (WebCore::RenderThemeWin::openButtonTheme): 31858 (WebCore::RenderThemeWin::openTextFieldTheme): 31859 (WebCore::RenderThemeWin::openMenuListTheme): 31860 (WebCore::RenderThemeWin::close): 31861 (WebCore::RenderThemeWin::themeChanged): 31862 * rendering/RenderThemeWin.h: 31863 31864 2006-09-25 Adam Roben <aroben (a] apple.com> 31865 31866 Rubberstamped by sfalken. 31867 31868 Set svn:eol-style to native and cleanup line endings on plugins files. 31869 31870 * plugins/win/PluginStreamWin.cpp: 31871 (WebCore::PluginStreamWin::PluginStreamWin): 31872 (WebCore::PluginStreamWin::~PluginStreamWin): 31873 (WebCore::PluginStreamWin::start): 31874 (WebCore::PluginStreamWin::startStream): 31875 (WebCore::PluginStreamWin::destroyStream): 31876 (WebCore::PluginStreamWin::deliverData): 31877 (WebCore::PluginStreamWin::receivedResponse): 31878 (WebCore::PluginStreamWin::receivedData): 31879 (WebCore::PluginStreamWin::receivedAllData): 31880 31881 2006-09-25 Adam Roben <aroben (a] apple.com> 31882 31883 Reviewed by Brady. 31884 31885 Fixes <rdar://problem/4749494> 31886 Crash/ASSERT in plugins at Fark.com 31887 31888 * platform/win/ResourceLoaderWin.cpp: Store whether a particular job 31889 has received a response within the ResourceLoader object itself, since 31890 it's possible that we will enter the InternetReadFileExA while loop 31891 twice for the same job. 31892 (WebCore::ResourceLoaderWndProc): Ask the job whether it has received a 31893 response instead of assuming it hasn't. 31894 (WebCore::ResourceLoader::setHasReceivedResponse): Added. 31895 (WebCore::ResourceLoader::hasReceivedResponse): Added. 31896 31897 2006-09-25 Adam Roben <aroben (a] apple.com> 31898 31899 Rubberstamped by sfalken. 31900 31901 Continuing the removal of unnecessary notImplemented() calls. 31902 31903 * platform/win/TemporaryLinkStubs.cpp: 31904 (PlatformMouseEvent::PlatformMouseEvent): 31905 (FrameWin::passWheelEventToChildWidget): 31906 31907 2006-09-25 Adam Roben <aroben (a] apple.com> 31908 31909 Rubberstamped by sfalken. 31910 31911 More notImplemented()-ectomy. 31912 31913 * platform/win/TemporaryLinkStubs.cpp: 31914 (RenderPopupMenuWin::addSeparator): 31915 (RenderPopupMenuWin::addGroupLabel): 31916 31917 2006-09-25 Adam Roben <aroben (a] apple.com> 31918 31919 Rubberstamped by sfalken. 31920 31921 Remove calls to notImplemented() from functions that can fail safely. 31922 31923 * platform/win/TemporaryLinkStubs.cpp: 31924 (FrameWin::originalRequestURL): 31925 (FrameWin::isLoadTypeReload): 31926 (IconLoader::receivedResponse): 31927 (IconLoader::notifyIconChanged): 31928 31929 2006-09-25 Adam Roben <aroben (a] apple.com> 31930 31931 Rubberstamped by sfalken. 31932 31933 Make notImplemented() crash even when not linked against the debug CRT. 31934 31935 * platform/win/TemporaryLinkStubs.cpp: 31936 (notImplemented): Change _CrtDbgBreak() to ASSERT(0) 31937 31938 2006-09-24 Dave Hyatt <hyatt (a] apple.com> 31939 31940 Update the scrollbar API to match the changes in the public tree. 31941 31942 Start implementing the Win32 scrollbar. Add some scaffolding for grabbing uxtheme.dll info and also 31943 add some utility functions for breaking the scrollbar into individual components. 31944 31945 * platform/win/PlatformScrollBar.h: 31946 * platform/win/PlatformScrollBarWin.cpp: 31947 (WebCore::PlatformScrollBar::PlatformScrollBar): 31948 (WebCore::PlatformScrollBar::updateThumbPosition): 31949 (WebCore::PlatformScrollBar::updateThumbProportion): 31950 (WebCore::PlatformScrollBar::paint): 31951 (WebCore::PlatformScrollBar::backButtonRect): 31952 (WebCore::PlatformScrollBar::forwardButtonRect): 31953 (WebCore::PlatformScrollBar::trackRect): 31954 (WebCore::PlatformScrollBar::splitTrack): 31955 31956 2006-09-22 Steve Falkenburg <sfalken (a] apple.com> 31957 31958 Fix release build some more. 31959 31960 * WebCore.vcproj/WebCore.vcproj: 31961 31962 2006-09-22 Brady Eidson <beidson (a] apple.com> 31963 31964 Extremely urgent update to my last two patches (without it, many urls will fail to load) 31965 31966 * platform/win/ResourceLoaderWin.cpp: 31967 (WebCore::ResourceLoader::onRequestComplete): 31968 31969 2006-09-22 Brady Eidson <beidson (a] apple.com> 31970 31971 Forgot some lines we needed to keep for the internal build in my last checkin 31972 31973 * platform/win/ResourceLoaderWin.cpp: 31974 31975 2006-09-22 Brady Eidson <beidson (a] apple.com> 31976 31977 Reviewed by Steve 31978 31979 Landed from OpenSource - that version now supports Redirect like we need, and is a little cleaner design 31980 31981 * platform/win/ResourceLoaderWin.cpp: 31982 (WebCore::): 31983 (WebCore::ResourceLoaderWndProc): 31984 (WebCore::initializeOffScreenResourceLoaderWindow): 31985 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal): 31986 (WebCore::ResourceLoader::onHandleCreated): 31987 (WebCore::ResourceLoader::onRequestRedirected): 31988 (WebCore::ResourceLoader::onRequestComplete): 31989 (WebCore::transferJobStatusCallback): 31990 (WebCore::ResourceLoader::start): 31991 (WebCore::ResourceLoader::fileLoadTimer): 31992 (WebCore::ResourceLoader::cancel): 31993 31994 2006-09-22 Dave Hyatt <hyatt (a] apple.com> 31995 31996 Implement support for CSS2 system fonts on Win32. Implement support for our special control font so that controls now 31997 pick up the correct font from the system. This fixes the crazy form control font sizes on e.g., www.google.com. 31998 31999 * platform/win/TemporaryLinkStubs.cpp: 32000 * rendering/RenderThemeWin.cpp: 32001 (WebCore::fillFontDescription): 32002 (WebCore::RenderThemeWin::systemFont): 32003 32004 2006-09-22 Dave Hyatt <hyatt (a] apple.com> 32005 32006 Scrollbar preparation work. 32007 32008 (1) Add support for enabling/disabling widgets. 32009 (2) Add support for invalidation of part or all of a widget. 32010 (3) Clean up some of the Win32 scrollbar code. All that's left is painting 32011 and event handling. (Oh, is that all...) :) 32012 32013 Reviewed by anders 32014 32015 * platform/win/PlatformScrollBarWin.cpp: 32016 (WebCore::PlatformScrollBar::setScrollBarValue): 32017 (WebCore::PlatformScrollBar::setKnobProportion): 32018 (WebCore::PlatformScrollBar::setEnabled): 32019 (WebCore::PlatformScrollBar::paint): 32020 * platform/win/TemporaryLinkStubs.cpp: 32021 * platform/win/WidgetWin.cpp: 32022 (WebCore::Widget::Widget): 32023 (WebCore::Widget::setEnabled): 32024 (WebCore::Widget::invalidate): 32025 (WebCore::Widget::invalidateRect): 32026 32027 2006-09-21 Brady Eidson <beidson (a] apple.com> 32028 32029 Build was broken for at least some, and I think my checkin that messed with 32030 #include orders was to blame (and it was messy, broken or not) - this cleans that up 32031 32032 * platform/win/ResourceLoaderWin.cpp: 32033 32034 2006-09-21 Alice Liu <alice.liu (a] apple.com> 32035 32036 Reviewed by Hyatt. 32037 32038 windows build fix 32039 32040 * platform/win/GraphicsContextWin.cpp: 32041 wrapped a CG #include in #if PLATFORM(CG) 32042 32043 2006-09-21 Geoffrey Garen <ggaren (a] apple.com> 32044 32045 Reviewed by Maciej, Hyatt, Steve. 32046 32047 frames! 32048 32049 Prep work: 32050 - moved ScrollViewWin into OpenSourceWin 32051 - set eol-style:native on some files and corrected line endings 32052 - updated the WebCore project so that you don't need cygwin in your Windows path 32053 to build correctly. 32054 32055 Real work: 32056 32057 On Windows, Widgets are no longer interfaces to Windows UI tookit objects. They're 32058 just positioned objects. 32059 32060 Widgets position themselves relative to their parents. The top-level widget technically 32061 has a position relative to the WebView, but that's academic, since it's always (0, 0). 32062 All widgets draw inside a common containing window (the WebView window). ScrollView 32063 handles transformation, clipping, and dirty rect management. 32064 32065 I've filed a bunch of bugs on remaining frames work. Most notably, closing a page with 32066 a frame in it causes a crash because WebCore depends on WebKit to manage frame lifetime. 32067 I'm going to fix that by integrating frame ownership into the DOM. 32068 32069 2006-09-21 Steve Falkenburg <sfalken (a] apple.com> 32070 32071 Reviewed by Anders. 32072 32073 <rdar://4516072> 32074 <rdar://4601320> 32075 32076 Implemented JavaScript alert/confirm/prompt inside app. 32077 This is done via IWebUIDelegate. 32078 32079 * bridge/win/FrameWin.cpp: 32080 (WebCore::FrameWin::userAgent): 32081 (WebCore::FrameWin::runJavaScriptAlert): 32082 (WebCore::FrameWin::runJavaScriptConfirm): 32083 (WebCore::FrameWin::runJavaScriptPrompt): 32084 * bridge/win/FrameWin.h: 32085 * platform/win/TemporaryLinkStubs.cpp: 32086 (FrameWin::registerCommandForRedo): 32087 32088 2006-09-21 Sean Gies <seangies (a] apple.com> 32089 32090 Reviewed by NOBODY. 32091 32092 Unfork GraphicsContextCG.cpp. 32093 32094 * WebCore.vcproj/WebCore.vcproj: Unfork GraphicsContextCG.cpp and add GraphicsContextWin.cpp 32095 * platform/win/GraphicsContextWin.cpp: Added. 32096 32097 2006-09-21 Luke Wallis <wallis (a] apple.com> 32098 32099 Rubber stamped by Steve. 32100 32101 Added (commented out for now) defines for building on PLATFORM(CG). 32102 32103 * config.h: 32104 32105 2006-09-21 Luke Wallis <wallis (a] apple.com> 32106 32107 Reviewed by Adam Roben. 32108 32109 Fix build. Added #if PLATFORM(CG) around variable defined only for CG. 32110 32111 * platform/win/FontDataWin.cpp: 32112 (WebCore::FontData::platformInit): 32113 32114 2006-09-21 Sean Gies <seangies (a] apple.com> 32115 32116 Reviewed by Adam Roben. 32117 32118 Draw form controls when rendering with CG. 32119 32120 * platform/cg/GraphicsContextCG.cpp: 32121 (WebCore::CGContextWithHDC): New function to create CGContext given an HDC. 32122 (WebCore::GraphicsContext::GraphicsContext): New constructor that takes an HDC. 32123 (WebCore::GraphicsContext::getWindowsContext): Return underlying HDC to client. 32124 (WebCore::GraphicsContext::releaseWindowsContext): Restore underlying HDC after client mucked with it. 32125 * platform/cg/GraphicsContextPlatformPrivate.h: Add field to hold HDC. 32126 * rendering/RenderThemeWin.cpp: Implement prepareForDrawing and doneDrawing for CG. 32127 32128 2006-09-21 Anders Carlsson <acarlsson (a] apple.com> 32129 32130 Reviewed by Tim O. 32131 32132 Support getting the plugin element as an NPObject. 32133 32134 * plugins/win/PluginViewWin.cpp: 32135 (WebCore::PluginViewWin::getValue): 32136 (WebCore::PluginViewWin::PluginViewWin): 32137 * plugins/win/PluginViewWin.h: 32138 32139 2006-09-21 Sean Gies <seangies (a] apple.com> 32140 32141 Reviewed by Adam Roben. 32142 32143 Forked GraphicsContextCG.cpp and GraphicsContextPlatformPrivate.h from open source #16504. 32144 32145 * platform/cg/GraphicsContextCG.cpp: Added. 32146 * platform/cg/GraphicsContextPlatformPrivate.h: Added. 32147 32148 2006-09-21 Sean Gies <seangies (a] apple.com> 32149 32150 Reviewed by Adam Roben. 32151 32152 Support synthetic bold and/or oblique with CG. 32153 32154 * platform/win/FontCacheWin.cpp: Pass new arguments to updated FontPlatformData constructor. 32155 * platform/win/FontDataWin.cpp: 32156 (WebCore::FontData::platformInit): Choose synthetic bold offset. 32157 (WebCore::FontData::platformWidthForGlyph): Take synthetic bold offset into account. 32158 * platform/win/FontPlatformData.h: Add fields for synthetic styles. 32159 * platform/win/FontPlatformDataWin.cpp: Ask HFONT if it supports bold or italics. 32160 * platform/win/FontWin.cpp: 32161 (WebCore::Font::drawGlyphs): Restore code for implementing synthetic stlyes. 32162 32163 2006-09-21 Brady Eidson <beidson (a] apple.com> 32164 32165 Reviewed by Anders 32166 32167 Fixed one definite bug and did alot of cleanup to make it resemble the unforked version of the file 32168 in preparation for merging it back out 32169 32170 * platform/win/ResourceLoaderWin.cpp: 32171 (WebCore::ResourceLoaderWndProc): 32172 (WebCore::transferJobStatusCallback): Fixed a bug here! :) 32173 (WebCore::ResourceLoader::start): 32174 (WebCore::ResourceLoader::fileLoadTimer): 32175 (WebCore::ResourceLoader::cancel): 32176 32177 2006-09-21 2006-09-21 Dave Hyatt <hyatt (a] apple.com> 32178 32179 Implement mouse wheel scrolling on Win32. Also forked ScrollViewWin.cpp and fixed some bugs in it. 32180 32181 * WebCore.vcproj/WebCore.vcproj: 32182 * platform/win/ScrollViewWin.cpp: Added. 32183 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 32184 (WebCore::ScrollView::ScrollView): 32185 (WebCore::ScrollView::~ScrollView): 32186 (WebCore::ScrollView::updateContents): 32187 (WebCore::ScrollView::visibleWidth): 32188 (WebCore::ScrollView::visibleHeight): 32189 (WebCore::ScrollView::visibleContentRect): 32190 (WebCore::ScrollView::setContentsPos): 32191 (WebCore::ScrollView::resizeContents): 32192 (WebCore::ScrollView::contentsX): 32193 (WebCore::ScrollView::contentsY): 32194 (WebCore::ScrollView::contentsWidth): 32195 (WebCore::ScrollView::contentsHeight): 32196 (WebCore::ScrollView::viewportToContents): 32197 (WebCore::ScrollView::contentsToViewport): 32198 (WebCore::ScrollView::scrollOffset): 32199 (WebCore::ScrollView::maximumScroll): 32200 (WebCore::ScrollView::scrollBy): 32201 (WebCore::ScrollView::hScrollBarMode): 32202 (WebCore::ScrollView::vScrollBarMode): 32203 (WebCore::ScrollView::suppressScrollBars): 32204 (WebCore::ScrollView::setHScrollBarMode): 32205 (WebCore::ScrollView::setVScrollBarMode): 32206 (WebCore::ScrollView::setScrollBarsMode): 32207 (WebCore::ScrollView::setStaticBackground): 32208 (WebCore::ScrollView::updateScrollInfo): 32209 (WebCore::ScrollView::updateScrollBars): 32210 (WebCore::ScrollView::wheelEvent): 32211 * platform/win/WheelEventWin.cpp: Added. 32212 (WebCore::positionForEvent): 32213 (WebCore::globalPositionForEvent): 32214 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32215 32216 2006-09-20 Sean Gies <seangies (a] apple.com> 32217 32218 Reviewed by Adam Roben. 32219 32220 Added platform/cg/ColorCG.cpp 32221 32222 * WebCore.vcproj/WebCore.vcproj: Add ColorCG.cpp 32223 * platform/cg/ColorCG.cpp: Added. 32224 32225 2006-09-20 Sean Gies <seangies (a] apple.com> 32226 32227 Reviewed by Adam Roben. 32228 32229 Fixed ugly text spacing issues with CG for Windows. 32230 32231 * platform/win/FontDataWin.cpp: Reimplement platformWidthForGlyph using CG APIs. 32232 32233 2006-09-19 Anders Carlsson <acarlsson (a] apple.com> 32234 32235 Reviewed by Dave Hyatt. 32236 32237 <rdar://problem/4734743> Crash accessing YouTube. 32238 32239 * config.h: 32240 Enable some more of the JSC bindings code on Windows. 32241 32242 2006-09-18 Brady Eidson <beidson (a] apple.com> 32243 32244 YABF, and merged a change from open source ResourceLoaderWin.cpp 32245 32246 * bridge/win/FrameWin.h: 32247 * platform/win/ResourceLoaderWin.cpp: 32248 (WebCore::ResourceLoader::fileLoadTimer): 32249 * platform/win/TemporaryLinkStubs.cpp: 32250 (FrameWin::isLoadTypeReload): 32251 32252 2006-09-18 Sean Gies <seangies (a] apple.com> 32253 32254 Reviewed by Adam Roben. 32255 32256 Support bold & italics. 32257 32258 * platform/win/FontPlatformDataWin.cpp: Use GetOutlineTextMetrics instead of GetTextFace to 32259 query HFONT name. 32260 32261 2006-09-18 Sean Gies <seangies (a] apple.com> 32262 32263 Reviewed by Adam Roben. 32264 32265 Changes to bring up CoreGraphics on Windows. 32266 32267 * WebCore.vcproj/WebCore.vcproj: Search platform/cg for headers. Compile platform/cg/*.cpp. 32268 Add AffineTransform.cpp to build. 32269 * platform/win/FontDataWin.cpp: Include CG before using it. 32270 * platform/win/FontPlatformDataWin.cpp: Fixed typo. 32271 * platform/win/ImageWin.cpp: Include CG and winsock2. Implement CG version of Image::getHBITMAP. 32272 In Cairo version of Image::getHBITMAP, use correct bitmapInfo field and return true for success. 32273 Fixed image loading bug. 32274 32275 2006-09-18 Brady Eidson <beidson (a] apple.com> 32276 32277 Rubberstamp by Adam 32278 32279 Build fix 32280 32281 * bridge/win/FrameWin.h: 32282 * platform/win/TemporaryLinkStubs.cpp: 32283 (FrameWin::originalRequestURL): 32284 32285 2006-09-18 Sean Gies <seangies (a] apple.com> 32286 32287 Reviewed by Adam Roben. 32288 32289 Forked FontCacheWin.cpp from OpenSource tree r16421. 32290 32291 * WebCore.vcproj/WebCore.vcproj: Point to Internal file. 32292 * platform/win/FontCacheWin.cpp: Added. 32293 32294 2006-09-15 Anders Carlsson <acarlsson (a] apple.com> 32295 32296 Reviewed by Steve. 32297 32298 * WebCore.vcproj/WebCore.vcproj: 32299 Add JavaScriptCore/ to include path. 32300 32301 2006-09-15 Adam Roben <aroben (a] apple.com> 32302 32303 Reviewed by sfalken. 32304 32305 Implement historyContains() on Windows (rdar://4733770) 32306 32307 * WebCore.vcproj/WebCore.vcproj: Add 32308 platform\win\WebCoreHistory.{cpp,h} and bridge\win\HistoryWin.cpp to 32309 project. 32310 * bridge/win/HistoryWin.cpp: Added. 32311 (WebCore::historyContains): 32312 * platform/win/TemporaryLinkStubs.cpp: Remove stub for 32313 WebCore::historyContains() 32314 * platform/win/WebCoreHistory.cpp: Added. 32315 (WebCore::WebCoreHistory::setHistoryProvider): 32316 (WebCore::WebCoreHistory::historyProvider): 32317 * platform/win/WebCoreHistory.h: Added. 32318 32319 2006-09-14 Steve Falkenburg <sfalken (a] apple.com> 32320 32321 Reviewed by Lou Amadio. 32322 32323 iBench fix - fix WinInet form post code to not reference a stale pointer. 32324 (found by Application Verifier) 32325 32326 * platform/win/ResourceLoaderWin.cpp: 32327 (WebCore::ResourceLoaderWndProc): 32328 32329 2006-09-14 Adam Roben <aroben (a] apple.com> 32330 32331 Reviewed by sfalken. 32332 32333 A little #include cleanup 32334 32335 * WebCore.vcproj/WebCore.vcproj: Add loader/icon to 32336 AdditionalIncludeDirectories 32337 * platform/win/TemporaryLinkStubs.cpp: Remove "loader/icon" from 32338 #include of IconLoader.h 32339 32340 2006-09-14 Brady Eidson <beidson (a] apple.com> 32341 32342 Build Fix 32343 32344 * WebCore.vcproj/WebCore.vcproj: 32345 * platform/win/TemporaryLinkStubs.cpp: 32346 (IconLoader::receivedResponse): 32347 (IconLoader::notifyIconChanged): 32348 32349 2006-09-13 Steve Falkenburg <sfalken (a] apple.com> 32350 32351 Fixes for submission of WebCore. Doesn't affect build. 32352 32353 * WebCore.vcproj/WebCore.vcproj: 32354 * WebCore.vcproj/merge-opensource.sh: 32355 32356 2006-09-12 Steve Falkenburg <sfalken (a] apple.com> 32357 32358 Rubber-stamped by Ada. 32359 32360 Get Boomer ready for B&I submission. 32361 32362 Projects can now all build independent of one another 32363 without groping for headers or source across trees. 32364 32365 * WebCore.vcproj/WebCore.sln: Fix standalone sln for use by B&I. 32366 * WebCore.vcproj/WebCore.vcproj: Update to new obj layout. 32367 * WebCore.vcproj/build-generated-files.sh: Build derived sources into obj, update to new obj layout. 32368 * WebCore.vcproj/dstroot-to-sdk.cmd: Copy built bits back to WebKitSDKDir for dependent builds. 32369 32370 2006-09-13 Adam Roben <aroben (a] apple.com> 32371 32372 Build fix 32373 32374 * WebCore.vcproj/WebCore.vcproj: Rename KHTML_XSLT to XSLT_SUPPORT, 32375 remove KHTML_NO_XBL 32376 * config.h: Ditto. 32377 32378 2006-09-13 Adam Roben <aroben (a] apple.com> 32379 32380 Reviewed by beidson. 32381 32382 Initial implementation of Icon, FileChooser on Windows. 32383 32384 * WebCore.vcproj/WebCore.vcproj: Added FileChooserWin.cpp, IconWin.cpp 32385 * platform/win/FileChooserWin.cpp: Added. 32386 (WebCore::FileChooser::FileChooser): 32387 (WebCore::FileChooser::openFileChooser): 32388 (WebCore::FileChooser::basenameForWidth): 32389 (WebCore::FileChooser::uploadControlDetaching): 32390 (WebCore::FileChooser::chooseFile): 32391 * platform/win/IconWin.cpp: Added. 32392 (WebCore::Icon::Icon): 32393 (WebCore::Icon::~Icon): 32394 (WebCore::Icon::newIconForFile): 32395 (WebCore::Icon::paint): 32396 * platform/win/TemporaryLinkStubs.cpp: Removed FileChooser, Icon stub 32397 functions 32398 32399 2006-09-13 Anders Carlsson <acarlsson (a] apple.com> 32400 32401 Reviewed by Tim O. 32402 32403 Implement postURL and postURLNotify. 32404 32405 * plugins/win/PluginStreamWin.cpp: 32406 (WebCore::PluginStreamWin::~PluginStreamWin): 32407 (WebCore::PluginStreamWin::start): 32408 (WebCore::PluginStreamWin::startStream): 32409 (WebCore::PluginStreamWin::cancelAndDestroyStream): 32410 * plugins/win/PluginViewWin.cpp: 32411 (WebCore::PluginViewWin::start): 32412 (WebCore::PluginViewWin::loadURL): 32413 (WebCore::PluginViewWin::getURLNotify): 32414 (WebCore::PluginViewWin::getURL): 32415 (WebCore::startsWithBlankLine): 32416 (WebCore::locationAfterFirstBlankLine): 32417 (WebCore::findEOL): 32418 (WebCore::capitalizeRFC822HeaderFieldName): 32419 (WebCore::parseRFC822HeaderFields): 32420 (WebCore::PluginViewWin::handlePost): 32421 (WebCore::PluginViewWin::postURLNotify): 32422 (WebCore::PluginViewWin::postURL): 32423 * plugins/win/PluginViewWin.h: 32424 32425 2006-09-13 Lou Amadio <lamadio (a] apple.com> 32426 32427 Reviewed by sfalken 32428 32429 * WebCore.vcproj/WebCore.vcproj: 32430 32431 2006-09-13 Adam Roben <aroben (a] apple.com> 32432 32433 Build fix 32434 32435 * WebCore.vcproj/build-generated-files.sh: Export SOURCE_ROOT which is 32436 now used by CodeGenerator.pm 32437 32438 2006-09-12 Anders Carlsson <acarlsson (a] apple.com> 32439 32440 Reviewed by Tim O. 32441 32442 Add scripting support for plugins. 32443 32444 * bridge/win/FrameWin.cpp: 32445 (WebCore::FrameWin::FrameWin): 32446 (WebCore::FrameWin::addPluginRootObject): 32447 (WebCore::FrameWin::cleanupPluginObjects): 32448 (WebCore::FrameWin::bindingRootObject): 32449 (WebCore::FrameWin::windowScriptNPObject): 32450 * bridge/win/FrameWin.h: 32451 * plugins/win/PluginPackageWin.cpp: 32452 (WebCore::PluginPackageWin::load): 32453 * plugins/win/PluginViewWin.cpp: 32454 (WebCore::PluginViewWin::getValue): 32455 * plugins/win/npapi.cpp: 32456 (NPN_RequestRead): 32457 (NPN_InvalidateRect): 32458 (NPN_InvalidateRegion): 32459 (NPN_ForceRedraw): 32460 32461 2006-09-12 Adam Roben <aroben (a] apple.com> 32462 32463 Reviewed many times by darin, hyatt. 32464 32465 Add stubs for new engine-based file upload control implementation and 32466 Icon class. 32467 32468 * WebCore.vcproj/WebCore.vcproj: Add new engine-based files, remove old 32469 widget-based files. 32470 * platform/win/TemporaryLinkStubs.cpp: Add stubs for FileChooser and 32471 Icon methods, and add two new LocalizedString methods. 32472 (WebCore::fileButtonChooseFileLabel): 32473 (WebCore::fileButtonNoFileSelectedLabel): 32474 (FileChooser::FileChooser): 32475 (FileChooser::~FileChooser): 32476 (FileChooser::openFileChooser): 32477 (FileChooser::basenameForWidth): 32478 (FileChooser::uploadControlDetaching): 32479 (Icon::~Icon): 32480 (Icon::paint): 32481 32482 2006-09-11 Anders Carlsson <acarlsson (a] apple.com> 32483 32484 Reviewed by Tim O. 32485 32486 Add stream and URL handling to PluginViewWin. Include PluginStreamWin.cpp in the build. 32487 Also fix a number of bugs discovered when loading various plugins. 32488 32489 * WebCore.vcproj/WebCore.vcproj: 32490 * plugins/win/PluginViewWin.cpp: 32491 (WebCore::PluginRequestWin::PluginRequestWin): 32492 (WebCore::PluginRequestWin::url): 32493 (WebCore::PluginRequestWin::target): 32494 (WebCore::PluginRequestWin::notifyData): 32495 (WebCore::PluginRequestWin::sendNotification): 32496 (WebCore::scriptStringIfJavaScriptURL): 32497 (WebCore::registerPluginView): 32498 (WebCore::PluginViewWndProc): 32499 (WebCore::PluginViewWin::updateSize): 32500 (WebCore::PluginViewWin::setFrameGeometry): 32501 (WebCore::PluginViewWin::start): 32502 (WebCore::PluginViewWin::stop): 32503 (WebCore::createUTF8String): 32504 (WebCore::PluginViewWin::performRequest): 32505 (WebCore::PluginViewWin::requestTimerFired): 32506 (WebCore::PluginViewWin::scheduleRequest): 32507 (WebCore::PluginViewWin::loadURL): 32508 (WebCore::makeURL): 32509 (WebCore::PluginViewWin::getURLNotify): 32510 (WebCore::PluginViewWin::getURL): 32511 (WebCore::PluginViewWin::newStream): 32512 (WebCore::PluginViewWin::write): 32513 (WebCore::PluginViewWin::destroyStream): 32514 (WebCore::PluginViewWin::userAgent): 32515 (WebCore::PluginViewWin::~PluginViewWin): 32516 (WebCore::PluginViewWin::PluginViewWin): 32517 * plugins/win/PluginViewWin.h: 32518 32519 2006-09-11 Anders Carlsson <acarlsson (a] apple.com> 32520 32521 * WebCore.vcproj/WebCore.vcproj: 32522 Fix build. 32523 32524 2006-09-11 Anders Carlsson <acarlsson (a] apple.com> 32525 32526 Reviewed by Tim O and Maciej. 32527 32528 Add plugin stream object. 32529 32530 * plugins/win/PluginStreamWin.cpp: Added. 32531 (WebCore::PluginStreamWin::PluginStreamWin): 32532 (WebCore::PluginStreamWin::~PluginStreamWin): 32533 (WebCore::PluginStreamWin::setRequestHeaders): 32534 (WebCore::PluginStreamWin::setPostData): 32535 (WebCore::PluginStreamWin::start): 32536 (WebCore::PluginStreamWin::stop): 32537 (WebCore::PluginStreamWin::startStream): 32538 (WebCore::PluginStreamWin::cancelAndDestroyStream): 32539 (WebCore::PluginStreamWin::destroyStream): 32540 (WebCore::PluginStreamWin::delayDeliveryTimerFired): 32541 (WebCore::PluginStreamWin::deliverData): 32542 (WebCore::PluginStreamWin::receivedResponse): 32543 (WebCore::PluginStreamWin::receivedData): 32544 (WebCore::PluginStreamWin::receivedAllData): 32545 * plugins/win/PluginStreamWin.h: Added. 32546 32547 2006-09-10 Brady Eidson <beidson (a] apple.com> 32548 32549 Reviewed by Steven Falkenburg 32550 32551 Added IconDatabase related code and forked ImageWin for its HBITMAP blit 32552 32553 * WebCore.vcproj/WebCore.vcproj: Added in all WebCore::IconDatabase stuffs 32554 * platform/win/ImageWin.cpp: Added. (forked from OpenSource) 32555 (WebCore::Image::initPlatformData): 32556 (WebCore::Image::invalidatePlatformData): 32557 (WebCore::Image::loadPlatformResource): 32558 (WebCore::Image::supportsType): 32559 (WebCore::Image::getHBITMAP): Added - blit the image to an HBITMAP 32560 32561 2006-09-10 David Hyatt <hyatt (a] apple.com> 32562 32563 Remove the addIntrinsicMargins code from the theme. I did this 32564 in the open source version but forgot to do it in the internal 32565 version. 32566 32567 * rendering/RenderThemeWin.cpp: 32568 (WebCore::RenderThemeWin::adjustButtonStyle): 32569 (WebCore::RenderThemeWin::adjustTextFieldStyle): 32570 (WebCore::RenderThemeWin::adjustTextAreaStyle): 32571 (WebCore::RenderThemeWin::adjustMenuListStyle): 32572 32573 2006-09-10 Brady Eidson <beidson (a] apple.com> 32574 32575 Reviewed by YABF, and Adam's suggestive rubberstamp before he hopped offline 32576 32577 Build fix + FIXME/Radar to reflect an OpenSource change to the Font.h header 32578 32579 * platform/win/FontWin.cpp: 32580 (WebCore::Font::drawGlyphs): Added the parameter and a FIXME 32581 32582 2006-09-10 Steve Falkenburg <sfalken (a] apple.com> 32583 32584 Rubber-stamp by aroben. 32585 32586 * WebCore.vcproj/WebCore.vcproj: 32587 32588 2006-09-09 Steve Falkenburg <sfalken (a] apple.com> 32589 32590 Reviewed by aroben. 32591 32592 Added missing CF files to fix CFNetwork build variant 32593 32594 * WebCore.vcproj/WebCore.vcproj: Use include paths, libs, DLLs from %SystemDrive%\AppleInternal 32595 * WebCore.vcproj/build-generated-files.sh: Don't copy open source DLLs from WebKitLibraries 32596 32597 2006-09-09 Adam Roben <aroben (a] apple.com> 32598 32599 Reviewed by hyatt. 32600 32601 Remove unnecessary calls to setAffectedBy{Active,Hover}Rules 32602 32603 * rendering/RenderThemeWin.cpp: 32604 (WebCore::RenderThemeWin::adjustMenuListStyle): Remove unnecessary calls 32605 32606 2006-09-06 Brady Eidson <beidson (a] apple.com> 32607 32608 YABF (Yet another build fix) 32609 32610 * platform/win/FontDataWin.cpp: Added missing header 32611 32612 2006-09-06 Brady Eidson <beidson (a] apple.com> 32613 32614 Reviewed by Steve's rubberstamp 32615 32616 Three stubs were added this morning, however the methods were already implemented in 32617 Internal/OpenSourceWin/WebCoreWin/bridge/win/FrameWin.cpp 32618 32619 * platform/win/TemporaryLinkStubs.cpp: Nuked some repeat symbols 32620 32621 2006-09-06 Adam Roben <aroben (a] apple.com> 32622 32623 Reviewed by Darin. 32624 32625 Fixed various Windows build issues caused by previous checkins. 32626 32627 * bridge/win/FrameWin.h: Added missing #include, updated Selection to SelectionController. 32628 * platform/win/FontWin.cpp: Reorganized #includes. 32629 (WebCore::Font::drawGlyphs): Used a const_cast hack to fix ultimately broken code. 32630 * platform/win/ResourceLoaderWin.cpp: Added missing #include of CString.h and removed double #include of config.h. 32631 (WebCore::ResourceLoaderWndProc): Removed use of String::ascii. 32632 (WebCore::ResourceLoader::start): Ditto. 32633 * platform/win/TemporaryLinkStubs.cpp: Added missing stubs. 32634 (FrameWin::markMisspellings): 32635 (FrameWin::shouldChangeSelection): 32636 (FrameWin::respondToChangedSelection): 32637 (FrameWin::respondToChangedContents): 32638 (FrameWin::handledOnloadEvents): 32639 (FrameWin::createPlugin): 32640 (FrameWin::objectContentType): 32641 * rendering/RenderPopupMenuWin.cpp: Added missing #include. 32642 32643 2006-09-05 Darin Adler <darin (a] apple.com> 32644 32645 - build fix part of http://bugzilla.opendarwin.org/show_bug.cgi?id=10728 32646 text encodings should work without a numeric ID 32647 32648 * WebCore.vcproj/WebCore.vcproj: Update for new headers. 32649 32650 2006-09-01 Steve Falkenburg <sfalken (a] apple.com> 32651 32652 Reviewed by adachan. 32653 32654 Process redirects received in networking layer through to application. 32655 With this change, the address bar url edit field shows the proper 32656 redirected URL. 32657 32658 * platform/win/ResourceLoaderWin.cpp: 32659 (WebCore::ResourceLoaderWndProc): 32660 (WebCore::transferJobStatusCallback): 32661 (WebCore::ResourceLoader::start): 32662 32663 2006-09-01 Ada Chan <adachan (a] apple.com> 32664 32665 Reviewed by lamadio. 32666 32667 Fixed build break. 32668 32669 * bridge/win/FrameWin.h: 32670 * platform/win/TemporaryLinkStubs.cpp: 32671 (FrameWin::respondToChangedContents): 32672 32673 2006-08-31 Anders Carlsson <acarlsson (a] apple.com> 32674 32675 Reviewed by Steve. 32676 32677 Add our own internal config.h so we can make changes to it. 32678 32679 * WebCore.vcproj/WebCore.vcproj: 32680 Add config.h to the file list, move the KXMLCORE_PLATFORM_CF to the new config.h file 32681 32682 * config.h: Added. 32683 32684 * platform/win/ResourceLoaderWin.cpp: 32685 Include config.h 32686 32687 2006-08-31 Dave Hyatt <hyatt (a] apple.com> 32688 32689 Add a platform scrollbar class for Windows. It doesn't really work yet. 32690 32691 * WebCore.vcproj/WebCore.vcproj: 32692 * platform/win/TemporaryLinkStubs.cpp: 32693 * platform/win/PlatformScrollBarWin.cpp 32694 32695 2006-08-31 Anders Carlsson <acarlsson (a] apple.com> 32696 32697 Fix the build. 32698 32699 * WebCore.vcproj/WebCore.vcproj: 32700 32701 2006-08-30 Steve Falkenburg <sfalken (a] apple.com> 32702 32703 Reviewed by Ada Chan. 32704 32705 * bridge/win/FrameWin.cpp: 32706 (WebCore::FrameWin::submitForm): Pass form values to submit form delegate 32707 * bridge/win/FrameWin.h: Pass form values to submit form delegate 32708 32709 2006-08-29 David Hyatt <hyatt (a] apple.com> 32710 32711 Make project changes so that the forked Font files (and Cairo/JPG/PNG) are all used. 32712 32713 * WebCore.vcproj/WebCore.vcproj: 32714 32715 2006-08-29 David Hyatt <hyatt (a] apple.com> 32716 32717 This patch lands all the font changes. It does not patch the project file 32718 yet, since this was done on Mac. Will switch to Win32 after landing this 32719 and then fix any glitches. 32720 32721 * platform/cairo/cairo-all.c: Added. 32722 * platform/cairo/pixman-all.c: Added. 32723 * platform/image-decoders/jpeg/jpeg-part1.c: Added. 32724 * platform/image-decoders/jpeg/jpeg-part2.c: Added. 32725 * platform/image-decoders/jpeg/jpeg-part3.c: Added. 32726 * platform/image-decoders/png/png-part1.c: Added. 32727 * platform/image-decoders/png/png-part2.c: Added. 32728 * platform/win/FontDataWin.cpp: 32729 (WebCore::FontData::platformInit): 32730 (WebCore::FontData::platformDestroy): 32731 (WebCore::FontData::platformWidthForGlyph): 32732 * platform/win/FontPlatformData.h: 32733 (WebCore::FontPlatformData::FontPlatformData): 32734 (WebCore::FontPlatformData::cgFont): 32735 (WebCore::FontPlatformData::operator==): 32736 * platform/win/FontPlatformDataWin.cpp: 32737 (WebCore::m_size): 32738 * platform/win/FontWin.cpp: 32739 (WebCore::Font::drawGlyphs): 32740 32741 2006-08-29 David Hyatt <hyatt (a] apple.com> 32742 32743 Forking the font files in preparation for dropping in CG code. 32744 32745 Reviewed by adam 32746 32747 * WebCore.vcproj/WebCore.vcproj: 32748 * platform/win/FontDataWin.cpp: Added. 32749 (WebCore::FontData::platformInit): 32750 (WebCore::FontData::platformDestroy): 32751 (WebCore::FontData::smallCapsFontData): 32752 (WebCore::FontData::containsCharacters): 32753 (WebCore::FontData::determinePitch): 32754 (WebCore::FontData::platformWidthForGlyph): 32755 * platform/win/FontPlatformData.h: Added. 32756 (WebCore::FontPlatformData::FontPlatformData): 32757 (WebCore::FontPlatformData::hfont): 32758 (WebCore::FontPlatformData::fontFace): 32759 (WebCore::FontPlatformData::scaledFont): 32760 (WebCore::FontPlatformData::size): 32761 (WebCore::FontPlatformData::hash): 32762 (WebCore::FontPlatformData::operator==): 32763 * platform/win/FontPlatformDataWin.cpp: Added. 32764 (WebCore::m_size): 32765 (WebCore::FontPlatformData::~FontPlatformData): 32766 * platform/win/FontWin.cpp: Added. 32767 (WebCore::notImplemented): 32768 (WebCore::Font::drawGlyphs): 32769 (WebCore::Font::selectionRectForComplexText): 32770 (WebCore::Font::drawComplexText): 32771 (WebCore::Font::floatWidthForComplexText): 32772 (WebCore::Font::offsetForPositionForComplexText): 32773 32774 2006-08-28 Geoffrey Garen <ggaren (a] apple.com> 32775 32776 Reviewed by Maciej. 32777 32778 Landed CFNetwork loader, off by default. To enable, define: 32779 KXMLCORE_PLATFORM_CF 32780 KXMLCORE_USE_CFNETWORK 32781 32782 CFNetwork uses winsock2. If you do this, you need to make sure that winsock2.h 32783 is included before windows.h in any translation unit in which it's used. 32784 A lot of the jiggering in this patch is devoted to that. 32785 32786 * WebCore.vcproj/WebCore.vcproj: 32787 * platform/win/ResourceLoaderWin.cpp: Removed reliance on PlatformData 32788 since it wasn't being used, and removing it made easy work of integrating 32789 CFNetwork in a Windows-independent way. 32790 (WebCore::ResourceLoaderWndProc): 32791 (WebCore::ResourceLoader::fileLoadTimer): 32792 (WebCore::ResourceLoader::cancel): 32793 * platform/win/TemporaryLinkStubs.cpp: 32794 (Path::contains): 32795 * platform/win/WidgetWin.cpp: 32796 * plugins/win/PluginDatabaseWin.cpp: 32797 * plugins/win/PluginPackageWin.h: 32798 * plugins/win/PluginViewWin.h: 32799 * plugins/win/npapi.cpp: 32800 * rendering/RenderPopupMenuWin.cpp: 32801 * rendering/RenderPopupMenuWin.h: 32802 * rendering/RenderThemeWin.cpp: 32803 32804 2006-08-28 Ada Chan <adachan (a] apple.com> 32805 32806 Reviewed by ggaren. 32807 32808 Fixed build. 32809 32810 * platform/win/TemporaryLinkStubs.cpp: 32811 (Path::contains): 32812 32813 2006-08-25 David Hyatt <hyatt (a] apple.com> 32814 32815 Land CG/Cairo refactoring (and add some winsock2.h). (I do not really 32816 understand why the winsock2.h stuff would suddenly be needed.) 32817 32818 * platform/win/ResourceLoaderWin.h: 32819 * platform/win/TemporaryLinkStubs.cpp: 32820 (GraphicsContext::setAlpha): 32821 (GraphicsContext::drawFocusRing): 32822 (GraphicsContext::drawLineForMisspelling): 32823 (GraphicsContext::setCompositeOperation): 32824 * plugins/win/PluginPackageWin.h: 32825 * plugins/win/PluginViewWin.h: 32826 * plugins/win/npapi.cpp: 32827 * rendering/RenderThemeWin.cpp: 32828 (WebCore::prepareForDrawing): 32829 (WebCore::doneDrawing): 32830 32831 2006-08-24 Geoffrey Garen <ggaren (a] apple.com> 32832 32833 Reviewed by Darin. 32834 32835 Frame refactoring: changed FrameView clients so they no longer assume that 32836 FrameViews are Widgets that can tell you things about the platform, in 32837 preparation for divorcing FrameViews from heavy-weight Widgets altogether. 32838 32839 This patch makes Page, rather than Widget, responsible for holding the 32840 page's HWND. Refactoring aside, I think this makes more sense. 32841 32842 2006-08-24 Geoffrey Garen <ggaren (a] apple.com> 32843 32844 Reviewed by Hyatt. 32845 32846 Branching PageWin.cpp from r15969. 32847 32848 * WebCore.vcproj/WebCore.vcproj: 32849 * bridge/win/PageWin.cpp: Added. 32850 (WebCore::Page::Page): 32851 (WebCore::Page::windowRect): 32852 (WebCore::Page::setWindowRect): 32853 32854 2006-08-23 Adam Roben <aroben (a] apple.com> 32855 32856 Reviewed by Ada. 32857 32858 Fixed placement of popups when document is scrolled. 32859 32860 * rendering/RenderPopupMenuWin.cpp: 32861 (WebCore::RenderPopupMenuWin::setPositionAndSize): 32862 32863 2006-08-23 Steve Falkenburg <sfalken (a] apple.com> 32864 32865 Build fix (many of our include paths were wrong!) 32866 32867 * WebCore.vcproj/WebCore.vcproj: 32868 32869 2006-08-23 Adam Roben <aroben (a] apple.com> 32870 32871 Reviewed by Darin, Lou, Adele. 32872 32873 Initial implementation of <select> elements on Windows. 32874 32875 * WebCore.vcproj/WebCore.vcproj: 32876 Added RenderPopupMenuWin.cpp 32877 * platform/win/TemporaryLinkStubs.cpp: 32878 (RenderPopupMenuWin::addGroupLabel): 32879 * rendering/RenderPopupMenuWin.cpp: Added. 32880 (WebCore::RenderPopupMenuWin::RenderPopupMenuWin): 32881 (WebCore::RenderPopupMenuWin::~RenderPopupMenuWin): 32882 (WebCore::RenderPopupMenuWin::clear): 32883 (WebCore::RenderPopupMenuWin::populate): 32884 (WebCore::RenderPopupMenuWin::showPopup): 32885 (WebCore::RenderPopupMenuWin::hidePopup): 32886 (WebCore::RenderPopupMenuWin::setPositionAndSize): 32887 (WebCore::RenderPopupMenuWin::addOption): 32888 (WebCore::RenderPopupMenuWin::down): 32889 (WebCore::RenderPopupMenuWin::up): 32890 (WebCore::registerPopup): 32891 (WebCore::PopupWndProc): 32892 * rendering/RenderPopupMenuWin.h: 32893 Added useful properties. 32894 (WebCore::RenderPopupMenuWin::popupHandle): 32895 (WebCore::RenderPopupMenuWin::containerHandle): 32896 (WebCore::RenderPopupMenuWin::wasClicked): 32897 (WebCore::RenderPopupMenuWin::setWasClicked): 32898 * rendering/RenderThemeWin.cpp: 32899 (WebCore::RenderThemeWin::RenderThemeWin): 32900 (WebCore::RenderThemeWin::openButtonTheme): 32901 (WebCore::RenderThemeWin::openTextFieldTheme): 32902 (WebCore::RenderThemeWin::openMenuListTheme): 32903 (WebCore::RenderThemeWin::close): 32904 (WebCore::RenderThemeWin::supportsFocus): 32905 (WebCore::RenderThemeWin::determineState): 32906 (WebCore::RenderThemeWin::getThemeData): 32907 (WebCore::RenderThemeWin::paintButton): 32908 (WebCore::RenderThemeWin::paintTextField): 32909 Refactored the above methods and added cases for 32910 MenulistAppearance where appropriate. 32911 (WebCore::RenderThemeWin::paintMenuList): 32912 (WebCore::RenderThemeWin::adjustMenuListStyle): 32913 Implemented the above methods. 32914 * rendering/RenderThemeWin.h: 32915 32916 2006-08-22 Geoffrey Garen <ggaren (a] apple.com> 32917 32918 My first Windows build fix. 32919 32920 * WebCore.vcproj/WebCore.vcproj: 32921 - Link against version.lib, since the new plug-in stuff requires it 32922 - Sync the release and debug header search paths, so release 32923 finds the JS bindings. 32924 32925 2006-08-18 Anders Carlsson <acarlsson (a] apple.com> 32926 32927 * plugins/win/PluginViewWin.cpp: 32928 (WebCore::PluginViewWin::write): 32929 (WebCore::PluginViewWin::destroyStream): 32930 Another attempt at fixing the build. Make these two functions into instance methods of PluginViewWin. 32931 32932 2006-08-18 Anders Carlsson <acarlsson (a] apple.com> 32933 32934 * plugins/win/PluginViewWin.cpp: 32935 (WebCore::write): 32936 (WebCore::destroyStream): 32937 * plugins/win/PluginViewWin.h: 32938 Fix build by removing unneeded parameters. 32939 32940 2006-08-18 Anders Carlsson <acarlsson (a] apple.com> 32941 32942 Reviewed by Adele. 32943 32944 Have the NPN functions call into the plugin view. Implement some of the plugin view methods. 32945 32946 * plugins/win/PluginViewWin.cpp: 32947 (WebCore::PluginViewWin::start): 32948 (WebCore::PluginViewWin::setCurrentPluginView): 32949 (WebCore::PluginViewWin::currentPluginView): 32950 (WebCore::PluginViewWin::getURLNotify): 32951 (WebCore::PluginViewWin::getURL): 32952 (WebCore::PluginViewWin::postURLNotify): 32953 (WebCore::PluginViewWin::postURL): 32954 (WebCore::PluginViewWin::newStream): 32955 (WebCore::write): 32956 (WebCore::destroyStream): 32957 (WebCore::PluginViewWin::userAgent): 32958 (WebCore::PluginViewWin::status): 32959 (WebCore::PluginViewWin::getValue): 32960 (WebCore::PluginViewWin::setValue): 32961 (WebCore::PluginViewWin::~PluginViewWin): 32962 (WebCore::PluginViewWin::PluginViewWin): 32963 * plugins/win/PluginViewWin.h: 32964 * plugins/win/npapi.cpp: 32965 (pluginViewForInstance): 32966 (NPN_ReloadPlugins): 32967 (NPN_GetURLNotify): 32968 (NPN_GetURL): 32969 (NPN_PostURLNotify): 32970 (NPN_PostURL): 32971 (NPN_NewStream): 32972 (NPN_Write): 32973 (NPN_DestroyStream): 32974 (NPN_UserAgent): 32975 (NPN_Status): 32976 (NPN_GetValue): 32977 (NPN_SetValue): 32978 32979 2006-08-17 Anders Carlsson <acarlsson (a] apple.com> 32980 32981 Reviewed by Steve and Maciej. 32982 32983 Add initial implementation of plugin view. 32984 32985 * WebCore.vcproj/WebCore.vcproj: 32986 Add files. 32987 32988 * bridge/win/FrameWin.cpp: 32989 (WebCore::FrameWin::objectContentType): 32990 (WebCore::FrameWin::createPlugin): 32991 Implement these functions. 32992 32993 * platform/win/TemporaryLinkStubs.cpp: 32994 Remove implemented functions. 32995 32996 * platform/win/WidgetWin.cpp: Add this file from the open source repo 32997 (WebCore::Widget::~Widget): 32998 Call DestroyWindow on the hWnd. 32999 33000 * plugins/win/PluginDatabaseWin.cpp: 33001 (WebCore::PluginDatabaseWin::createPluginView): 33002 New function which creates a plugin view. 33003 33004 * plugins/win/PluginDatabaseWin.h: 33005 33006 * plugins/win/PluginPackageWin.cpp: 33007 (WebCore::PluginPackageWin::load): 33008 Assign the browser functions. They are just stubs for now. 33009 33010 * plugins/win/PluginViewWin.cpp: Added. 33011 (WebCore::registerPluginView): 33012 (WebCore::PluginViewWndProc): 33013 (WebCore::PluginViewWin::invokeSetWindow): 33014 (WebCore::PluginViewWin::start): 33015 (WebCore::PluginViewWin::stop): 33016 (WebCore::createUTF8String): 33017 (WebCore::createUTF8StringArray): 33018 (WebCore::freeStringArray): 33019 (WebCore::PluginViewWin::~PluginViewWin): 33020 (WebCore::PluginViewWin::PluginViewWin): 33021 * plugins/win/PluginViewWin.h: Added. 33022 (WebCore::PluginViewWin::plugin): 33023 (WebCore::PluginViewWin::instance): 33024 * plugins/win/npapi.cpp: Added. 33025 (NPN_MemAlloc): 33026 (NPN_MemFree): 33027 (NPN_MemFlush): 33028 (NPN_ReloadPlugins): 33029 (NPN_RequestRead): 33030 (NPN_GetURLNotify): 33031 (NPN_GetURL): 33032 (NPN_PostURLNotify): 33033 (NPN_PostURL): 33034 (NPN_NewStream): 33035 (NPN_Write): 33036 (NPN_DestroyStream): 33037 (NPN_UserAgent): 33038 (NPN_Status): 33039 (NPN_InvalidateRect): 33040 (NPN_InvalidateRegion): 33041 (NPN_ForceRedraw): 33042 (NPN_GetValue): 33043 (NPN_SetValue): 33044 (NPN_GetJavaEnv): 33045 (NPN_GetJavaPeer): 33046 33047 2006-08-17 Anders Carlsson <acarlsson (a] apple.com> 33048 33049 Reviewed by Maciej. 33050 33051 Add initial implementation of plugin database. 33052 33053 * WebCore.vcproj/WebCore.vcproj: 33054 Add new files. 33055 33056 * platform/win/TemporaryLinkStubs.cpp: 33057 Get rid of the PlugInInfoStore stubs. 33058 33059 * plugins/win/PlugInInfoStoreWin.cpp: Added. 33060 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex): 33061 (WebCore::PlugInInfoStore::pluginCount): 33062 (WebCore::PlugInInfoStore::supportsMIMEType): 33063 (WebCore::refreshPlugins): 33064 * plugins/win/PluginDatabaseWin.cpp: Added. 33065 (WebCore::PluginDatabaseWin::installedPlugins): 33066 (WebCore::PluginDatabaseWin::refresh): 33067 (WebCore::PluginDatabaseWin::plugins): 33068 (WebCore::PluginDatabaseWin::getPluginsInPaths): 33069 (WebCore::PluginDatabaseWin::defaultPluginPaths): 33070 (WebCore::PluginDatabaseWin::isMIMETypeRegistered): 33071 (WebCore::PluginDatabaseWin::pluginForMIMEType): 33072 (WebCore::PluginDatabaseWin::pluginForExtension): 33073 * plugins/win/PluginDatabaseWin.h: Added. 33074 (WebCore::PluginDatabaseWin::setPluginPaths): 33075 * plugins/win/PluginPackageWin.cpp: Added. 33076 (WebCore::PluginPackageWin::~PluginPackageWin): 33077 (WebCore::getVersionInfo): 33078 (WebCore::splitString): 33079 (WebCore::PluginPackageWin::PluginPackageWin): 33080 (WebCore::PluginPackageWin::fetchInfo): 33081 (WebCore::PluginPackageWin::load): 33082 (WebCore::PluginPackageWin::unload): 33083 (WebCore::PluginPackageWin::unloadWithoutShutdown): 33084 (WebCore::PluginPackageWin::createPackage): 33085 (WebCore::PluginPackageWin::hash): 33086 (WebCore::PluginPackageWin::equal): 33087 * plugins/win/PluginPackageWin.h: Added. 33088 (WebCore::PluginPackageWin::name): 33089 (WebCore::PluginPackageWin::description): 33090 (WebCore::PluginPackageWin::fileName): 33091 (WebCore::PluginPackageWin::mimeToDescriptions): 33092 (WebCore::PluginPackageWin::mimeToExtensions): 33093 (WebCore::PluginPackageWin::pluginFuncs): 33094 (WebCore::PluginPackageWinHash::hash): 33095 (WebCore::PluginPackageWinHash::equal): 33096 (WTF::): 33097 * plugins/win/npfunctions.h: Added. 33098 33099 2006-08-17 Adam Roben <aroben (a] apple.com> 33100 33101 Removing this unintentionally added file. 33102 33103 * rendering/RenderPopupMenuWin.cpp: Removed. 33104 33105 2006-08-17 Adam Roben <aroben (a] apple.com> 33106 33107 Reviewed by Steve. 33108 33109 Branching files from OpenSource tree r15924 to prepare for <select> 33110 element implementation. 33111 33112 * WebCore.vcproj/WebCore.vcproj: 33113 * rendering/RenderPopupMenuWin.h: Added. 33114 (WebCore::RenderPopupMenuWin::RenderPopupMenuWin): 33115 * rendering/RenderThemeWin.cpp: Added. 33116 (WebCore::theme): 33117 (WebCore::m_textFieldTheme): 33118 (WebCore::RenderThemeWin::~RenderThemeWin): 33119 (WebCore::RenderThemeWin::close): 33120 (WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor): 33121 (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor): 33122 (WebCore::RenderThemeWin::platformActiveSelectionForegroundColor): 33123 (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor): 33124 (WebCore::RenderThemeWin::addIntrinsicMargins): 33125 (WebCore::RenderThemeWin::supportsFocus): 33126 (WebCore::RenderThemeWin::determineState): 33127 (WebCore::RenderThemeWin::getThemeData): 33128 (WebCore::RenderThemeWin::adjustButtonStyle): 33129 (WebCore::prepareForDrawing): 33130 (WebCore::doneDrawing): 33131 (WebCore::RenderThemeWin::paintButton): 33132 (WebCore::RenderThemeWin::setCheckboxSize): 33133 (WebCore::RenderThemeWin::setRadioSize): 33134 (WebCore::RenderThemeWin::adjustTextFieldStyle): 33135 (WebCore::RenderThemeWin::paintTextField): 33136 (WebCore::RenderThemeWin::adjustTextAreaStyle): 33137 (WebCore::RenderThemeWin::paintTextArea): 33138 (WebCore::RenderThemeWin::createPopupMenu): 33139 * rendering/RenderThemeWin.h: Added. 33140 (WebCore::ThemeData::m_state): 33141 (WebCore::RenderThemeWin::supportsHover): 33142 (WebCore::RenderThemeWin::paintCheckbox): 33143 (WebCore::RenderThemeWin::paintRadio): 33144 33145 2006-08-15 Steve Falkenburg <sfalken (a] apple.com> 33146 33147 Pull TemporaryLinkStubs.cpp into internal tree to fix the build. 33148 33149 * WebCore.vcproj/WebCore.vcproj: 33150 * platform/win/TemporaryLinkStubs.cpp: Added. 33151 (notImplemented): 33152 (FrameView::updateBorder): 33153 (FrameView::isFrameView): 33154 (PopUpButton::focusPolicy): 33155 (PopUpButton::populate): 33156 (Widget::enableFlushDrawing): 33157 (Widget::isEnabled): 33158 (Widget::focusPolicy): 33159 (Widget::disableFlushDrawing): 33160 (Widget::lockDrawingFocus): 33161 (Widget::unlockDrawingFocus): 33162 (JavaAppletWidget::JavaAppletWidget): 33163 (TextField::selectAll): 33164 (TextField::addSearchResult): 33165 (TextField::selectionStart): 33166 (TextField::hasSelectedText): 33167 (TextField::selectedText): 33168 (TextField::setAutoSaveName): 33169 (TextField::checksDescendantsForFocus): 33170 (TextField::setSelection): 33171 (TextField::setMaxResults): 33172 (TextField::edited): 33173 (Slider::Slider): 33174 (Slider::sizeHint): 33175 (Slider::setValue): 33176 (Slider::setMaxValue): 33177 (Slider::setMinValue): 33178 (Slider::~Slider): 33179 (Slider::setFont): 33180 (Slider::value): 33181 (ListBox::setSelected): 33182 (ListBox::sizeForNumberOfLines): 33183 (ListBox::isSelected): 33184 (ListBox::appendItem): 33185 (ListBox::doneAppendingItems): 33186 (ListBox::setWritingDirection): 33187 (ListBox::setEnabled): 33188 (ListBox::clear): 33189 (ListBox::checksDescendantsForFocus): 33190 (FileButton::FileButton): 33191 (FileButton::click): 33192 (FileButton::sizeForCharacterWidth): 33193 (FileButton::focusPolicy): 33194 (FileButton::frameGeometry): 33195 (FileButton::setFilename): 33196 (FileButton::baselinePosition): 33197 (FileButton::setFrameGeometry): 33198 (FileButton::setDisabled): 33199 (Slider::focusPolicy): 33200 (ListBox::focusPolicy): 33201 (TextField::focusPolicy): 33202 (Cursor::Cursor): 33203 (PlatformMouseEvent::PlatformMouseEvent): 33204 (WebCore::searchableIndexIntroduction): 33205 (WebCore::findNextSentenceFromIndex): 33206 (WebCore::findSentenceBoundary): 33207 (WebCore::findNextWordFromIndex): 33208 (WebCore::ServeSynchronousRequest): 33209 (FrameWin::focusWindow): 33210 (FrameWin::unfocusWindow): 33211 (FrameWin::locationbarVisible): 33212 (FrameWin::issueRedoCommand): 33213 (FrameWin::getObjectInstanceForWidget): 33214 (FrameWin::getEmbedInstanceForWidget): 33215 (FrameWin::canRedo): 33216 (FrameWin::canUndo): 33217 (FrameWin::registerCommandForRedo): 33218 (FrameWin::runJavaScriptPrompt): 33219 (FrameWin::shouldInterruptJavaScript): 33220 (FrameWin::openURL): 33221 (FrameWin::print): 33222 (FrameWin::getAppletInstanceForWidget): 33223 (FrameWin::passMouseDownEventToWidget): 33224 (FrameWin::issueCutCommand): 33225 (FrameWin::issueCopyCommand): 33226 (FrameWin::passWheelEventToChildWidget): 33227 (FrameWin::issueUndoCommand): 33228 (FrameWin::mimeTypeForFileName): 33229 (FrameWin::issuePasteCommand): 33230 (FrameWin::scheduleClose): 33231 (FrameWin::markMisspellings): 33232 (FrameWin::menubarVisible): 33233 (FrameWin::personalbarVisible): 33234 (FrameWin::statusbarVisible): 33235 (FrameWin::toolbarVisible): 33236 (FrameWin::issueTransposeCommand): 33237 (FrameWin::canPaste): 33238 (FrameWin::objectContentType): 33239 (FrameWin::canGoBackOrForward): 33240 (FrameWin::issuePasteAndMatchStyleCommand): 33241 (FrameWin::createPlugin): 33242 (BrowserExtensionWin::canRunModal): 33243 (BrowserExtensionWin::createNewWindow): 33244 (BrowserExtensionWin::canRunModalNow): 33245 (BrowserExtensionWin::runModal): 33246 (BrowserExtensionWin::goBackOrForward): 33247 (BrowserExtensionWin::historyURL): 33248 (GraphicsContext::addRoundedRectClip): 33249 (GraphicsContext::addInnerRoundedRectClip): 33250 (WebCore::screenDepthPerComponent): 33251 (WebCore::screenIsMonochrome): 33252 (WebCore::moveCursor): 33253 (WebCore::historyContains): 33254 (WebCore::submitButtonDefaultLabel): 33255 (WebCore::inputElementAltText): 33256 (WebCore::resetButtonDefaultLabel): 33257 (WebCore::defaultLanguage): 33258 (WebCore::findWordBoundary): 33259 (PlugInInfoStore::createPluginInfoForPluginAtIndex): 33260 (PlugInInfoStore::pluginCount): 33261 (WebCore::PlugInInfoStore::supportsMIMEType): 33262 (WebCore::refreshPlugins): 33263 (WebCore::ResourceLoader::assembleResponseHeaders): 33264 (WebCore::ResourceLoader::retrieveCharset): 33265 (FrameWin::restoreDocumentState): 33266 (FrameWin::partClearedInBegin): 33267 (FrameWin::createEmptyDocument): 33268 (FrameWin::overrideMediaType): 33269 (FrameWin::handledOnloadEvents): 33270 (FrameWin::markedTextRange): 33271 (FrameWin::passSubframeEventToSubframe): 33272 (FrameWin::lastEventIsMouseUp): 33273 (FrameWin::addMessageToConsole): 33274 (FrameWin::shouldChangeSelection): 33275 (FrameWin::respondToChangedSelection): 33276 (FrameWin::createFrame): 33277 (FrameWin::saveDocumentState): 33278 (FrameWin::registerCommandForUndo): 33279 (FrameWin::clearUndoRedoOperations): 33280 (FrameWin::incomingReferrer): 33281 (FrameWin::markMisspellingsInAdjacentWords): 33282 (FrameWin::respondToChangedContents): 33283 (BrowserExtensionWin::BrowserExtensionWin): 33284 (BrowserExtensionWin::setTypedIconURL): 33285 (BrowserExtensionWin::setIconURL): 33286 (BrowserExtensionWin::getHistoryLength): 33287 (WebCore::CheckIfReloading): 33288 (WebCore::CheckCacheObjectStatus): 33289 (Widget::setEnabled): 33290 (Widget::paint): 33291 (Widget::setIsSelected): 33292 (ScrollView::addChild): 33293 (ScrollView::removeChild): 33294 (ScrollView::scrollPointRecursively): 33295 (ScrollView::inWindow): 33296 (GraphicsContext::setShadow): 33297 (GraphicsContext::clearShadow): 33298 (GraphicsContext::beginTransparencyLayer): 33299 (GraphicsContext::endTransparencyLayer): 33300 (GraphicsContext::clearRect): 33301 (GraphicsContext::strokeRect): 33302 (GraphicsContext::setLineWidth): 33303 (GraphicsContext::setLineCap): 33304 (GraphicsContext::setLineJoin): 33305 (GraphicsContext::setMiterLimit): 33306 (GraphicsContext::setAlpha): 33307 (GraphicsContext::setCompositeOperation): 33308 (GraphicsContext::clip): 33309 (GraphicsContext::translate): 33310 (GraphicsContext::rotate): 33311 (GraphicsContext::scale): 33312 (Path::Path): 33313 (Path::~Path): 33314 (Path::contains): 33315 (Path::translate): 33316 (Path::boundingRect): 33317 (Path::operator=): 33318 (Path::clear): 33319 (Path::moveTo): 33320 (Path::addLineTo): 33321 (Path::addQuadCurveTo): 33322 (Path::addBezierCurveTo): 33323 (Path::addArcTo): 33324 (Path::closeSubpath): 33325 (Path::addArc): 33326 (Path::addRect): 33327 (Path::addEllipse): 33328 (TextField::TextField): 33329 (TextField::~TextField): 33330 (TextField::setFont): 33331 (TextField::setAlignment): 33332 (TextField::setWritingDirection): 33333 (TextField::maxLength): 33334 (TextField::setMaxLength): 33335 (TextField::text): 33336 (TextField::setText): 33337 (TextField::cursorPosition): 33338 (TextField::setCursorPosition): 33339 (TextField::setEdited): 33340 (TextField::setReadOnly): 33341 (TextField::setPlaceholderString): 33342 (TextField::setColors): 33343 (TextField::sizeForCharacterWidth): 33344 (TextField::baselinePosition): 33345 (TextField::setLiveSearch): 33346 (PopUpButton::PopUpButton): 33347 (PopUpButton::~PopUpButton): 33348 (PopUpButton::setFont): 33349 (PopUpButton::baselinePosition): 33350 (PopUpButton::setWritingDirection): 33351 (PopUpButton::clear): 33352 (PopUpButton::appendItem): 33353 (PopUpButton::setCurrentItem): 33354 (PopUpButton::sizeHint): 33355 (PopUpButton::frameGeometry): 33356 (PopUpButton::setFrameGeometry): 33357 (PlatformScrollBar::PlatformScrollBar): 33358 (PlatformScrollBar::~PlatformScrollBar): 33359 (PlatformScrollBar::width): 33360 (PlatformScrollBar::height): 33361 (PlatformScrollBar::setEnabled): 33362 (PlatformScrollBar::paint): 33363 (PlatformScrollBar::setScrollBarValue): 33364 (PlatformScrollBar::setKnobProportion): 33365 (PlatformScrollBar::setRect): 33366 (ScrollBar::ScrollBar): 33367 (ScrollBar::setSteps): 33368 (ScrollBar::scroll): 33369 (ScrollBar::setValue): 33370 (ScrollBar::setKnobProportion): 33371 (ListBox::ListBox): 33372 (ListBox::~ListBox): 33373 (ListBox::setSelectionMode): 33374 (ListBox::setFont): 33375 (WebCore::focusRingColor): 33376 (WebCore::setFocusRingColorChangeFunction): 33377 (Frame::setNeedsReapplyStyles): 33378 (Image::drawTiled): 33379 (RenderPopupMenuWin::~RenderPopupMenuWin): 33380 (RenderPopupMenuWin::clear): 33381 (RenderPopupMenuWin::populate): 33382 (RenderPopupMenuWin::showPopup): 33383 (RenderPopupMenuWin::addSeparator): 33384 (RenderPopupMenuWin::addGroupLabel): 33385 (RenderPopupMenuWin::addOption): 33386 (RenderThemeWin::paintMenuList): 33387 (RenderThemeWin::adjustMenuListStyle): 33388 (RenderThemeWin::systemFont): 33389 33390 2006-08-15 Steve Falkenburg <sfalken (a] apple.com> 33391 33392 Fix the build with TOT. 33393 33394 * WebCore.vcproj/WebCore.vcproj: 33395 33396 2006-08-15 Steve Falkenburg <sfalken (a] apple.com> 33397 33398 Get this building. 33399 33400 * WebCore.vcproj/WebCore.sln: 33401 * WebCore.vcproj/WebCore.vcproj: 33402 * WebCore.vcproj/build-generated-files.sh: 33403 33404 2006-08-15 Steve Falkenburg <sfalken (a] apple.com> 33405 33406 Initial check-in. 33407 33408 * ChangeLog: Added. 33409 * WebCore.vcproj/WebCore.sln: Added. 33410 * WebCore.vcproj/WebCore.vcproj: Added. 33411 * WebCore.vcproj/build-generated-files.sh: Added. 33412 * bridge/win/FrameWin.cpp: Added. 33413 (WebCore::FrameWin::FrameWin): 33414 (WebCore::FrameWin::~FrameWin): 33415 (WebCore::FrameWin::urlSelected): 33416 (WebCore::FrameWin::submitForm): 33417 (WebCore::FrameWin::userAgent): 33418 (WebCore::FrameWin::runJavaScriptAlert): 33419 (WebCore::FrameWin::runJavaScriptConfirm): 33420 (WebCore::FrameWin::keyPress): 33421 (WebCore::FrameWin::setTitle): 33422 (WebCore::FrameWin::setStatusBarText): 33423 (WebCore::FrameWin::textFieldDidBeginEditing): 33424 (WebCore::FrameWin::textFieldDidEndEditing): 33425 (WebCore::FrameWin::textDidChangeInTextField): 33426 (WebCore::FrameWin::doTextFieldCommandFromEvent): 33427 (WebCore::FrameWin::textWillBeDeletedInTextField): 33428 (WebCore::FrameWin::textDidChangeInTextArea): 33429 * bridge/win/FrameWin.h: Added. 33430 (WebCore::Win): 33431 * platform/win/ResourceLoaderWin.cpp: Added. 33432 (WebCore::addToOutstandingJobs): 33433 (WebCore::removeFromOutstandingJobs): 33434 (WebCore::lookupResourceLoader): 33435 (WebCore::ResourceLoaderWndProc): 33436 (WebCore::initializeOffScreenResourceLoaderWindow): 33437 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal): 33438 (WebCore::ResourceLoader::~ResourceLoader): 33439 (WebCore::transferJobStatusCallback): 33440 (WebCore::ResourceLoader::start): 33441 (WebCore::ResourceLoader::fileLoadTimer): 33442 (WebCore::ResourceLoader::cancel): 33443 * platform/win/ResourceLoaderWin.h: Added. 33444 33445 === End of merged changes from branches/WindowsMerge === 33446 33447 2007-06-10 Holger Hans Peter Freyther <zecke (a] selfish.org> 33448 33449 Reviewed by Maciej. 33450 33451 Disable whole-view editing for the Gdk port in order to improve the browsing experience. 33452 33453 * platform/gdk/EditorClientGdk.cpp: 33454 (WebCore::EditorClientGdk::isEditable): Return false to disable whole-view editing 33455 33456 2007-06-08 Sam Weinig <sam (a] webkit.org> 33457 33458 Reviewed by Oliver. 33459 33460 Patch for http://bugs.webkit.org/show_bug.cgi?id=14044 33461 Autogenerate the JS bindings for HTMLCollection 33462 33463 - also moves JSHTMLAllCollection into it's own file. 33464 33465 * DerivedSources.make: 33466 * WebCore.pro: 33467 * WebCore.xcodeproj/project.pbxproj: 33468 * bindings/js/JSHTMLAllCollection.h: Added. 33469 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): 33470 (WebCore::JSHTMLAllCollection::toBoolean): 33471 (WebCore::JSHTMLAllCollection::masqueradeAsUndefined): 33472 * bindings/js/JSHTMLCollectionCustom.cpp: Added. 33473 (WebCore::getNamedItems): 33474 (WebCore::JSHTMLCollection::callAsFunction): 33475 (WebCore::JSHTMLCollection::implementsCall): 33476 (WebCore::JSHTMLCollection::canGetItemsForName): 33477 (WebCore::JSHTMLCollection::nameGetter): 33478 (WebCore::JSHTMLCollection::item): 33479 (WebCore::JSHTMLCollection::namedItem): 33480 (WebCore::toJS): 33481 * bindings/js/JSHTMLDocumentCustom.cpp: 33482 (WebCore::JSHTMLDocument::nameGetter): 33483 (WebCore::JSHTMLDocument::all): 33484 * bindings/js/JSXMLHttpRequest.cpp: 33485 * bindings/js/kjs_html.cpp: 33486 (WebCore::ImageConstructorImp::ImageConstructorImp): 33487 (WebCore::ImageConstructorImp::construct): 33488 * bindings/js/kjs_html.h: 33489 (WebCore::ImageConstructorImp::implementsConstruct): 33490 * bindings/js/kjs_window.cpp: 33491 (KJS::Window::namedItemGetter): 33492 * bindings/objc/DOMUtility.mm: 33493 (KJS::createDOMWrapper): 33494 * bindings/scripts/CodeGeneratorJS.pm: 33495 * html/HTMLCollection.cpp: 33496 (WebCore::HTMLCollection::tags): 33497 * html/HTMLCollection.h: 33498 (WebCore::HTMLCollection::collectionType): 33499 * html/HTMLCollection.idl: 33500 * html/HTMLOptionsCollection.idl: 33501 33502 2007-06-08 Justin Garcia <justin.garcia (a] apple.com> 33503 33504 Reviewed by John. 33505 33506 <rdar://problem/5232159> REGRESSION: Cannot select text in RSS view 33507 33508 The selection is updated both on mouse movement and 33509 when the autoscroll timer fires. The autoscroll 33510 code wasn't converting mouse coordinates to layer 33511 coordinates correctly, and was then using those 33512 coordinates to create a bad selection. 33513 33514 * rendering/RenderLayer.cpp: 33515 (WebCore::RenderLayer::autoscroll): Use convertToLayerCoordinates. 33516 33517 2007-06-08 Anders Carlsson <andersca (a] apple.com> 33518 33519 Reviewed by Geoff. 33520 33521 Store the root object in a hash set, keyed by the plugin view. This is in preparation for 33522 letting plugins invalidate the root object upon destruction 33523 33524 * page/Frame.cpp: 33525 (WebCore::Frame::createRootObject): 33526 (WebCore::Frame::cleanupScriptObjects): 33527 * page/FramePrivate.h: 33528 33529 2007-06-08 Lars Knoll <lars (a] trolltech.com> 33530 33531 Reviewed by Zack. 33532 33533 Add qwebobjectpluginconnector to the build. 33534 33535 * WebCore.pro: 33536 33537 2007-06-07 Justin Garcia <justin.garcia (a] apple.com> 33538 33539 Reviewed by Tristan. 33540 33541 <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab 33542 33543 * WebCore.exp: Added clearUndoRedoOperations. 33544 * page/Page.cpp: 33545 (WebCore::Page::clearUndoRedoOperations): Added. 33546 * page/Page.h: 33547 33548 2007-06-07 David Hyatt <hyatt (a] apple.com> 33549 33550 Fix crash. Null check layer. Bug 13984. 33551 33552 Reviewed by andersca 33553 33554 * WebCore.xcodeproj/project.pbxproj: 33555 * page/FrameView.cpp: 33556 (WebCore::FrameView::windowClipRectForLayer): 33557 33558 2007-06-07 Oliver Hunt <oliver (a] apple.com> 33559 33560 Reviewed by Justin. 33561 33562 Remove incorrect assertions. 33563 33564 These assertions were made on the assumption that 33565 TSM would always call with a range that was contained 33566 by an editable region. 33567 33568 TSM may call -[WebHTMLView characterIndexForPoint:] on a mouse 33569 event that is otherwise unrelated to editing, which may 33570 be outside the current editing region, triggering these 33571 assertions. 33572 33573 * page/mac/WebCoreFrameBridge.mm: 33574 (-[WebCoreFrameBridge convertToNSRange:]): 33575 33576 2007-06-07 Justin Garcia <justin.garcia (a] apple.com> 33577 33578 Reviewed by John. 33579 33580 <rdar://problem/5237074> REGRESSION: editing/unsupported-content/table-delete-003 is failing (13931) 33581 33582 * editing/DeleteSelectionCommand.cpp: 33583 (WebCore::DeleteSelectionCommand::initializeStartEnd): 33584 We wouldn't expand the selection to include a special element 33585 at the start of the selection unless the end of the selection 33586 was at the end of a special element. Avoid a special 33587 element at the start as long as it's fully selected. Ditto for 33588 the end. 33589 * editing/htmlediting.cpp: 33590 (WebCore::positionBeforeContainingSpecialElement): 33591 (WebCore::positionAfterContainingSpecialElement): 33592 33593 2007-06-07 Sam Weinig <sam (a] webkit.org> 33594 33595 Reviewed by Anders. 33596 33597 Patch for http://bugs.webkit.org/show_bug.cgi?id=14028 33598 Finish autogenerating the JS bindings for Node 33599 33600 * DerivedSources.make: 33601 * WebCore.pro: 33602 * WebCore.xcodeproj/project.pbxproj: 33603 * bindings/js/JSHTMLElementWrapperFactory.cpp: 33604 (WebCore::createJSHTMLWrapper): 33605 * bindings/js/JSHTMLElementWrapperFactory.h: 33606 * bindings/js/JSHTMLOptionElementConstructor.cpp: 33607 * bindings/js/JSNamedNodeMapCustom.cpp: 33608 * bindings/js/JSNodeCustom.cpp: 33609 (WebCore::JSNode::insertBefore): 33610 (WebCore::JSNode::replaceChild): 33611 (WebCore::JSNode::removeChild): 33612 (WebCore::JSNode::appendChild): 33613 (WebCore::JSNode::mark): 33614 (WebCore::toJS): 33615 * bindings/js/JSSVGElementWrapperFactory.cpp: 33616 (WebCore::createJSSVGWrapper): 33617 * bindings/js/JSSVGElementWrapperFactory.h: 33618 * bindings/js/JSXSLTProcessor.cpp: 33619 (KJS::XSLTProcessorPrototypeFunction::callAsFunction): 33620 * bindings/js/kjs_binding.cpp: 33621 (KJS::ScriptInterpreter::getDOMNodeForDocument): 33622 (KJS::ScriptInterpreter::putDOMNodeForDocument): 33623 (KJS::ScriptInterpreter::markDOMNodesForDocument): 33624 (KJS::ScriptInterpreter::updateDOMNodeDocument): 33625 * bindings/js/kjs_binding.h: 33626 * bindings/js/kjs_dom.cpp: 33627 (WebCore::toAttr): 33628 * bindings/js/kjs_dom.h: 33629 * bindings/js/kjs_domnode.h: Removed. 33630 * bindings/objc/DOMUtility.mm: 33631 (KJS::createDOMWrapper): 33632 * bindings/scripts/CodeGeneratorJS.pm: 33633 * dom/Node.h: 33634 (WebCore::Node::parentElement): 33635 * dom/Node.idl: 33636 33637 2007-06-07 Sam Weinig <sam (a] webkit.org> 33638 33639 Another Gdk and Qt build fix. 33640 33641 * WebCore.pro: 33642 33643 2007-06-07 Sam Weinig <sam (a] webkit.org> 33644 33645 Gdk and Qt build fix. 33646 33647 * WebCore.pro: 33648 33649 2007-06-06 Sam Weinig <sam (a] webkit.org> 33650 33651 Reviewed by Hyatt. 33652 33653 Patch for http://bugs.webkit.org/show_bug.cgi?id=13973 33654 Autogenerate most of the rest of kjs_dom.h/cpp 33655 33656 - Autogenerate JSNodeList and JSNamedNodeMap. 33657 - Move JSEventTargetNode, JSNamedNodesCollection, and JSDOMExceptionConstructor 33658 into their own files. 33659 - Rename KJS::DOMEventTargeNode to WebCore::JSEventTargetNode to adhere 33660 to convention and allow easier code generation. 33661 - Add JS constructors for JSNodeList and JSNamedNodeMap. 33662 - Moved more toJS methods into the correct (corresponding) header files. 33663 - Cleaned up code in order for changes to work. 33664 33665 * DerivedSources.make: 33666 * WebCore.xcodeproj/project.pbxproj: 33667 * bindings/js/JSDOMExceptionConstructor.cpp: Added. 33668 (WebCore::): 33669 (WebCore::JSDOMExceptionConstructor::JSDOMExceptionConstructor): 33670 (WebCore::JSDOMExceptionConstructor::getOwnPropertySlot): 33671 (WebCore::JSDOMExceptionConstructor::getValueProperty): 33672 (WebCore::getDOMExceptionConstructor): 33673 * bindings/js/JSDOMExceptionConstructor.h: Added. 33674 (WebCore::JSDOMExceptionConstructor::classInfo): 33675 * bindings/js/JSDOMWindowCustom.cpp: Added. 33676 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 33677 * bindings/js/JSDocumentCustom.cpp: 33678 (WebCore::JSDocument::mark): 33679 (WebCore::toJS): 33680 * bindings/js/JSEventTargetNode.cpp: Added. 33681 (WebCore::JSEventTargetNode::JSEventTargetNode): 33682 (WebCore::JSEventTargetNode::getOwnPropertySlot): 33683 (WebCore::JSEventTargetNode::getValueProperty): 33684 (WebCore::JSEventTargetNode::put): 33685 (WebCore::JSEventTargetNode::putValueProperty): 33686 (WebCore::JSEventTargetNode::setListener): 33687 (WebCore::JSEventTargetNode::getListener): 33688 (WebCore::JSEventTargetNode::pushEventHandlerScope): 33689 (WebCore::JSEventTargetNodePrototypeFunction::callAsFunction): 33690 (WebCore::toEventTargetNode): 33691 * bindings/js/JSEventTargetNode.h: Added. 33692 (WebCore::JSEventTargetNode::): 33693 * bindings/js/JSHTMLElementCustom.cpp: 33694 * bindings/js/JSHTMLFormElementCustom.cpp: 33695 (WebCore::JSHTMLFormElement::nameGetter): 33696 * bindings/js/JSHTMLOptionElementConstructor.cpp: 33697 * bindings/js/JSNamedNodeMapCustom.cpp: Added. 33698 (WebCore::JSNamedNodeMap::canGetItemsForName): 33699 (WebCore::JSNamedNodeMap::nameGetter): 33700 * bindings/js/JSNamedNodesCollection.cpp: Added. 33701 (WebCore::): 33702 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): 33703 (WebCore::JSNamedNodesCollection::lengthGetter): 33704 (WebCore::JSNamedNodesCollection::indexGetter): 33705 (WebCore::JSNamedNodesCollection::getOwnPropertySlot): 33706 * bindings/js/JSNamedNodesCollection.h: Added. 33707 (WebCore::JSNamedNodesCollection::classInfo): 33708 * bindings/js/JSNodeCustom.cpp: Added. 33709 (WebCore::toJS): 33710 * bindings/js/JSNodeListCustom.cpp: Added. 33711 (WebCore::JSNodeList::callAsFunction): 33712 (WebCore::JSNodeList::implementsCall): 33713 (WebCore::JSNodeList::canGetItemsForName): 33714 (WebCore::JSNodeList::nameGetter): 33715 * bindings/js/kjs_dom.cpp: 33716 * bindings/js/kjs_dom.h: 33717 * bindings/js/kjs_domnode.h: 33718 * bindings/js/kjs_events.cpp: 33719 (KJS::JSLazyEventListener::parseCode): 33720 * bindings/js/kjs_html.cpp: 33721 (KJS::JSHTMLCollection::getNamedItems): 33722 * bindings/js/kjs_html.h: 33723 * bindings/js/kjs_window.cpp: 33724 (WebCore::toJS): 33725 * bindings/js/kjs_window.h: 33726 * bindings/objc/DOMInternal.mm: 33727 (-[WebScriptObject _initializeScriptDOMNodeImp]): 33728 * bindings/objc/DOMUtility.mm: 33729 (KJS::createDOMWrapper): 33730 * bindings/scripts/CodeGeneratorJS.pm: 33731 * bridge/mac/WebCoreAXObject.mm: 33732 * dom/Attr.idl: 33733 * dom/CharacterData.idl: 33734 * dom/Document.idl: 33735 * dom/DocumentFragment.idl: 33736 * dom/DocumentType.idl: 33737 * dom/Element.idl: 33738 * dom/NamedNodeMap.idl: 33739 * dom/Node.idl: 33740 * dom/NodeList.idl: 33741 * page/DOMWindow.idl: 33742 33743 2007-06-06 Justin Garcia <justin.garcia (a] apple.com> 33744 33745 Reviewed by Oliver. 33746 33747 <rdar://problem/5245519> CrashTracer: [USER] 457 crashes in Mail at WebCore::CSSComputedStyleDeclaration::copyInheritableProperties() 33748 33749 If the user pastes something into a region that ends up being 33750 invisible, or if the pasted content contains style spans 33751 that are render-less, we'll crash when we try to remove 33752 redundant styles from style spans. 33753 33754 * css/CSSComputedStyleDeclaration.cpp: 33755 (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties): 33756 Add null checks. 33757 33758 2007-06-06 Justin Garcia <justin.garcia (a] apple.com> 33759 33760 Reviewed by Harrison. 33761 33762 <rdar://problem/4889598> Problems with moveDown: and moveUp: in Notes with ToDos 33763 33764 The caret would disappear when moving from content above or below 33765 a ToDo if that ToDo doesn't have any content in it with the same 33766 x position as the caret. That's because closestLeafChildForXPos 33767 would return non-editable leaves, and which turn into non-editable 33768 VisiblePositions, which are invisible. 33769 33770 * editing/visible_units.cpp: 33771 (WebCore::previousLinePosition): Ask closestLeafForXPos to only 33772 return editable leaves. 33773 (WebCore::nextLinePosition): Ditto. 33774 * rendering/RootInlineBox.cpp: 33775 (WebCore::isEditableLeaf): Added. 33776 (WebCore::RootInlineBox::closestLeafChildForXPos): If requested, 33777 return the closest editable leaf. Removed an early return if the 33778 position is before the first leaf, it's not really much of an 33779 optimization. 33780 * rendering/RootInlineBox.h: 33781 33782 2007-06-06 Sam Weinig <sam (a] webkit.org> 33783 33784 Reviewed by Anders. 33785 33786 Fix release build. 33787 33788 * bindings/objc/DOM.mm: 33789 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): Add missing null initialization. 33790 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): Add missing null initialization. 33791 33792 2007-06-06 Sam Weinig <sam (a] webkit.org> 33793 33794 Reviewed by Hyatt. 33795 33796 Patch for http://bugs.webkit.org/show_bug.cgi?id=13947 33797 Finish autogenerating the JS DOM traversal code 33798 33799 - Completely generate JSNodeFilter. 33800 - Move JSNodeFilterCondition into its own file 33801 33802 * DerivedSources.make: 33803 * WebCore.pro: 33804 * WebCore.xcodeproj/project.pbxproj: 33805 * bindings/js/JSNodeFilterCondition.cpp: Copied from WebCore/bindings/js/kjs_traversal.cpp. 33806 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): 33807 (WebCore::JSNodeFilterCondition::mark): 33808 (WebCore::JSNodeFilterCondition::acceptNode): 33809 * bindings/js/JSNodeFilterCondition.h: Copied from WebCore/bindings/js/kjs_traversal.h. 33810 * bindings/js/JSNodeFilterCustom.cpp: Added. 33811 (WebCore::JSNodeFilter::mark): 33812 (WebCore::toNodeFilter): 33813 * bindings/js/kjs_dom.cpp: 33814 * bindings/js/kjs_traversal.cpp: Removed. 33815 * bindings/js/kjs_traversal.h: Removed. 33816 * bindings/js/kjs_window.cpp: 33817 * bindings/objc/DOM.mm: 33818 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): 33819 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): 33820 * bindings/scripts/CodeGeneratorJS.pm: 33821 * dom/Document.cpp: 33822 (WebCore::Document::createNodeIterator): 33823 (WebCore::Document::createTreeWalker): 33824 * dom/Document.h: 33825 * dom/NodeFilter.idl: 33826 33827 2007-06-06 Alp Toker <alp.toker (a] collabora.co.uk> 33828 33829 Reviewed by Eric Seidel. 33830 33831 http://bugs.webkit.org/show_bug.cgi?id=14017 33832 Cairo: Unwanted gradient effect for small stretched images 33833 33834 * platform/graphics/cairo/ImageCairo.cpp: Use CAIRO_FILTER_NEAREST to 33835 work around the issue. 33836 (WebCore::BitmapImage::draw): 33837 (WebCore::Image::drawPattern): 33838 33839 2007-06-06 Lars Knoll <lars (a] trolltech.com> 33840 33841 Reviewed by Zack 33842 33843 Add an API to create and load plugins. 33844 Don't include moc files by hand anymore, rather let 33845 qmake handle them. 33846 33847 * WebCore.pro: 33848 * platform/qt/MimeTypeRegistryQt.cpp: 33849 (WebCore::): 33850 (WebCore::MimeTypeRegistry::getMIMETypeForExtension): 33851 * platform/qt/QWebPopup.cpp: 33852 * platform/qt/SharedTimerQt.cpp: 33853 33854 2007-06-06 Mark Rowe <mrowe (a] apple.com> 33855 33856 Qt build fix. 33857 33858 * rendering/RenderTextControl.cpp: Fix case of #include filename. 33859 33860 2007-06-06 Lars Knoll <lars (a] trolltech.com> 33861 33862 Reviewed by Maciej. 33863 33864 Define WTF_USE_NPOBJECT for Qt. Fix includes 33865 in HTMLPluginElement and add proper forwarding headers 33866 from JavaScriptCore. 33867 33868 * ForwardingHeaders/bindings/npruntime.h: Added. 33869 * ForwardingHeaders/bindings/runtime.h: Added. 33870 * config.h: 33871 * html/HTMLPlugInElement.cpp: 33872 * html/HTMLPlugInElement.h: 33873 33874 2007-06-06 David Hyatt <hyatt (a] apple.com> 33875 33876 Bulletproof windowClipRect, since it can be called at crazy times. 33877 Part of fix for 13972. 33878 33879 Reviewed by olliej 33880 33881 * bindings/objc/DOM.mm: 33882 (-[DOMElement _windowClipRect]): 33883 33884 2007-06-05 Darin Fisher <darin (a] chromium.org> 33885 33886 Reviewed by Dave Hyatt. 33887 33888 Fixes http://bugs.webkit.org/show_bug.cgi?id=14008 33889 33890 * rendering/RenderTextControl.cpp: 33891 (WebCore::RenderTextControl::calcHeight): 33892 (WebCore::RenderTextControl::calcPrefWidths): 33893 33894 2007-06-05 Kevin McCullough <kmccullough (a] apple.com> 33895 33896 - Respelling Oliver's name right. 33897 33898 2007-06-05 Kevin McCullough <kmccullough (a] apple.com> 33899 33900 Reviewed by Mark and Oliver. 33901 33902 - http://bugs.webkit.org/show_bug.cgi?id=13352 REGRESSION: Gmail hangs on send message. 33903 - Now we don't hang, but we do so by avoiding certain legitimate characters, the evangelism bug for this is: <rdar://problem/5252577> gmail does not accept legal characters in the form boundary 33904 33905 * html/HTMLFormElement.cpp: 33906 (WebCore::getUniqueBoundaryString): 33907 33908 2007-06-05 Anders Carlsson <andersca (a] apple.com> 33909 33910 Build fix. 33911 33912 * xml/xmlhttprequest.cpp: 33913 (WebCore::isValidToken): 33914 33915 2007-06-05 Anders Carlsson <andersca (a] apple.com> 33916 33917 Reviewed by Geoff. 33918 33919 <rdar://problem/5245555> REGRESSION: HTTP header injection in XMLHttpRequest.setRequestHeader 33920 <rdar://problem/5246208> HTTP injection in XMLHttpRequest.open method parameter 33921 <rdar://problem/5246242> HTTP header injection in HXMLHttpRequest.setRequestHeader header parameter 33922 33923 Check method names, header names and header values and throw exceptions if any of them are 33924 invalid. This is what the new XMLHttpRequest spec states that we should do. 33925 33926 * xml/xmlhttprequest.cpp: 33927 (WebCore::isValidToken): 33928 (WebCore::isValidHeaderValue): 33929 (WebCore::XMLHttpRequest::open): 33930 (WebCore::XMLHttpRequest::setRequestHeader): 33931 33932 2007-06-05 Sam Weinig <sam (a] webkit.org> 33933 33934 Reviewed by Geoff. 33935 33936 Optimize JSCSSStyleDeclaration after performance regression in r21854. 33937 33938 - Check static table before name getter in JSCSSStyleDeclaration::getOwnPropertySlot() 33939 - Get rid of a string allocation by keeping string as KJS::Identifier for canGetItemsForName() 33940 functions. 33941 33942 * WebCore.xcodeproj/project.pbxproj: 33943 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 33944 (WebCore::JSCSSStyleDeclaration::canGetItemsForName): 33945 * bindings/js/JSHTMLAppletElementCustom.cpp: 33946 (WebCore::JSHTMLAppletElement::canGetItemsForName): 33947 * bindings/js/JSHTMLDocumentCustom.cpp: 33948 (WebCore::JSHTMLDocument::canGetItemsForName): 33949 * bindings/js/JSHTMLEmbedElementCustom.cpp: 33950 (WebCore::JSHTMLEmbedElement::canGetItemsForName): 33951 * bindings/js/JSHTMLFormElementCustom.cpp: 33952 (WebCore::JSHTMLFormElement::canGetItemsForName): 33953 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 33954 (WebCore::JSHTMLFrameSetElement::canGetItemsForName): 33955 * bindings/js/JSHTMLObjectElementCustom.cpp: 33956 (WebCore::JSHTMLObjectElement::canGetItemsForName): 33957 * bindings/scripts/CodeGeneratorJS.pm: 33958 * css/CSSStyleDeclaration.idl: 33959 33960 2007-06-04 Sam Weinig <sam (a] webkit.org> 33961 33962 Reviewed, tweaked and landed by Anders. 33963 33964 <rdar://problem/5247178> REGRESSION: With CSS Edit 2.5, a crash occurs at WebCore::DeprecatedString::DeprecatedString when page fails to be extracted 33965 33966 Null check the provisional document loader. If an application stops the load 33967 inside of the didFailProvisionalLoad delegate method, the provisional document loader will be nulled out. 33968 33969 * loader/FrameLoader.cpp: 33970 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 33971 33972 2007-06-04 Alp Toker <alp.toker (a] collabora.co.uk> 33973 33974 Reviewed by Anders. 33975 33976 http://bugs.webkit.org/show_bug.cgi?id=13986 33977 Cairo graphics fixes and cleanups 33978 33979 * platform/graphics/ImageBuffer.h: 33980 * platform/graphics/cairo/ImageBufferCairo.cpp: 33981 (WebCore::ImageBuffer::surface): Provide surface() accessor. 33982 * platform/graphics/cairo/AffineTransformCairo.cpp: 33983 (WebCore::AffineTransform::rotate): Convert from degrees to radians to 33984 fix rotation. 33985 * platform/graphics/cairo/GraphicsContextCairo.cpp: 33986 (WebCore::GraphicsContext::drawRect): Add save/restore. 33987 (WebCore::GraphicsContext::rotate): Rename parameter to "radians" to 33988 avoid further confusion. 33989 * platform/graphics/cairo/PathCairo.cpp: 33990 (WebCore::Path::boundingRect): The cairo_fill_extents() parameters do 33991 not describe a point/size but rather the two control points of the 33992 rectangular region. 33993 (WebCore::Path::contains): Remove needless casts. 33994 33995 2007-06-04 Sam Weinig <sam (a] webkit.org> 33996 33997 Reviewed by Adam Roben. 33998 33999 Fix the buildbot. 34000 34001 * rendering/RenderSVGContainer.cpp: 34002 (WebCore::RenderSVGContainer::layout): 34003 34004 2007-06-04 Justin Garcia <justin.garcia (a] apple.com> 34005 34006 Reviewed by Kimon Tsinteris. 34007 34008 <rdar://problem/5241148> REGRESSION: ActivEdit can't perform operations on certain selections 34009 34010 Return valid equivalents from these methods (no [img, 1] for 34011 example). ActivEdit was using positions returned from these 34012 methods to create new DOM Ranges. 34013 34014 * editing/SelectionController.cpp: 34015 (WebCore::SelectionController::baseNode): 34016 (WebCore::SelectionController::baseOffset): 34017 (WebCore::SelectionController::extentNode): 34018 (WebCore::SelectionController::extentOffset): 34019 (WebCore::SelectionController::anchorNode): 34020 (WebCore::SelectionController::anchorOffset): 34021 (WebCore::SelectionController::focusNode): 34022 (WebCore::SelectionController::focusOffset): 34023 * editing/SelectionController.h: 34024 34025 2007-06-04 Rob Buis <buis (a] kde.org> 34026 34027 Fix the svg experimental build. 34028 34029 * ksvg2/svg/SVGFEFloodElement.cpp: 34030 34031 2007-06-04 Rob Buis <buis (a] kde.org> 34032 34033 Reviewed by Hyatt. 34034 34035 http://bugs.webkit.org/show_bug.cgi?id=6170 34036 CSS1: Properties for :first-letter aren't recalculated on color change 34037 34038 Mark styles with first-letter as unique. 34039 34040 * css/cssstyleselector.cpp: 34041 (WebCore::CSSStyleSelector::styleForElement): 34042 34043 2007-06-01 Anders Carlsson <acarlsson (a] apple.com> 34044 34045 Reviewed by David Harrison. 34046 34047 <rdar://problem/5236843> 34048 CrashTracer: [USER] 3 crashes in Mail at WebCore::Loader::didReceiveResponse(WebCore::SubresourceLoader*, WebCore::ResourceResponse const&) 34049 34050 This is by no means the best solution for handling user style sheets. I've filed <rdar://problem/5244734> 34051 for tracking that. 34052 34053 * loader/loader.cpp: 34054 (WebCore::Loader::didReceiveResponse): 34055 If a load starts while the frame is still in the provisional state 34056 (this can be the case when loading the user style sheet), committing the load then causes all 34057 requests to be removed from the m_requestsLoading map. This means that req might be null here. 34058 In that case we just return early. 34059 34060 2007-06-01 Mitz Pettel <mitz (a] webkit.org> 34061 34062 Reviewed by Adele. 34063 34064 - fix http://bugs.webkit.org/show_bug.cgi?id=13958 34065 REGRESSION: Form select menu in iframe destroys form select menu on page 34066 34067 * page/mac/EventHandlerMac.mm: 34068 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Instead of calling 34069 the event handler methods directly, post the fake event on the application event 34070 queue. This ensures that the fake event is handled only after handling of the 34071 initiating event has ended, and is seen by ancestor frames' event handlers. 34072 34073 2007-06-01 George Staikos <staikos (a] kde.org> 34074 34075 Reviewed by bdash. 34076 34077 Redo the build fix again after it was backed out 34078 34079 * WebCore.pro: add an include guard around CSSGrammar.h 34080 34081 2007-05-31 Geoffrey Garen <ggaren (a] apple.com> 34082 34083 Reviewed by Beth Dakin. 34084 34085 Fixed <rdar://problem/5238177> Continuing after hitting breakpoint doesn't 34086 execute the next step. 34087 34088 No test because the only code affected is the debugger, and none of the 34089 relevant API is exported. 34090 34091 Reverted an accidental change in 21324 that caused originRootObject for 34092 the window object always to be 0. We could probably just remove the debugger's 34093 dependency on originRootObject, but I wanted to be safe. 34094 34095 * page/mac/FrameMac.mm: 34096 (WebCore::Frame::windowScriptObject): 34097 34098 2007-05-31 David Hyatt <hyatt (a] apple.com> 34099 34100 Fix for 11768, Flash plugin does not respect clips set via CSS. 34101 34102 Reviewed by olliej 34103 34104 * bindings/objc/DOM.mm: 34105 (-[DOMElement _windowClipRect]): 34106 * bindings/objc/DOMPrivate.h: 34107 * page/FrameView.cpp: 34108 (WebCore::FrameView::windowClipRect): 34109 (WebCore::FrameView::windowClipRectForLayer): 34110 * platform/ScrollView.h: 34111 (WebCore::ScrollView::contentsToWindow): 34112 (WebCore::ScrollView::windowToContents): 34113 * platform/mac/ScrollViewMac.mm: 34114 (WebCore::ScrollView::contentsToWindow): 34115 (WebCore::ScrollView::windowToContents): 34116 34117 2007-05-31 Sam Weinig <sam (a] webkit.org> 34118 34119 Reviewed by Adam. 34120 34121 Fix build bot. 34122 34123 * ksvg2/svg/SVGSVGElement.cpp: 34124 (WebCore::SVGSVGElement::setCurrentScale): 34125 34126 2007-05-31 Sam Weinig <sam (a] webkit.org> 34127 34128 Fix Qt and Gdk builds. 34129 34130 * WebCore.pro: remove bindings/js/JSHTMLAnchorElementCustom.cpp 34131 34132 2007-05-31 Sam Weinig <sam (a] webkit.org> 34133 34134 Reviewed by Geoff. 34135 34136 Patch for http://bugs.webkit.org/show_bug.cgi?id=10782 34137 Classes should not override JSObject::toString(ExecState *) 34138 34139 Remove all overrides of JSObject::toString and JSObject::toPrimitive 34140 which is a bad practice. Instead, if an object, like the 34141 HTMLAnchorElement, needs to override to toString, it should add 34142 a function to the JS object which will be called when needed. This 34143 also allows developers to override toString and valueOf from within JS. 34144 34145 Test: fast/js/toString-and-valueOf-override.html 34146 34147 * WebCore.xcodeproj/project.pbxproj: 34148 * bindings/js/JSHTMLAnchorElementCustom.cpp: Removed. 34149 * bindings/js/kjs_binding.cpp: 34150 * bindings/js/kjs_binding.h: 34151 * bindings/js/kjs_dom.cpp: 34152 * bindings/js/kjs_dom.h: 34153 * bindings/js/kjs_domnode.h: 34154 * bindings/js/kjs_window.cpp: 34155 (KJS::History::): 34156 (KJS::LocationFunc::callAsFunction): 34157 (KJS::SelectionFunc::callAsFunction): 34158 * bindings/js/kjs_window.h: 34159 * bindings/scripts/CodeGeneratorJS.pm: 34160 * html/HTMLAnchorElement.cpp: 34161 (WebCore::HTMLAnchorElement::toString): 34162 * html/HTMLAnchorElement.h: 34163 * html/HTMLAnchorElement.idl: 34164 34165 2007-05-31 Rob Buis <buis (a] kde.org> 34166 34167 Reviewed by Darin. 34168 34169 http://bugs.webkit.org/show_bug.cgi?id=11272 34170 Implement currentScale(), setCurrentScale() and currentTranslate() in SVGSVGElement 34171 34172 Allow zooming and panning, thereby implementing the above methods. 34173 34174 * ksvg2/svg/SVGDocument.cpp: 34175 (WebCore::SVGDocument::zoomEnabled): 34176 (WebCore::SVGDocument::startPan): 34177 (WebCore::SVGDocument::updatePan): 34178 * ksvg2/svg/SVGDocument.h: 34179 * ksvg2/svg/SVGSVGElement.cpp: 34180 (WebCore::SVGSVGElement::currentScale): 34181 (WebCore::SVGSVGElement::setCurrentScale): 34182 (WebCore::SVGSVGElement::currentTranslate): 34183 (WebCore::SVGSVGElement::setCurrentTranslate): 34184 * ksvg2/svg/SVGSVGElement.h: 34185 * page/EventHandler.cpp: 34186 (WebCore::EventHandler::EventHandler): 34187 (WebCore::EventHandler::handleMousePressEvent): 34188 (WebCore::EventHandler::handleMouseMoveEvent): 34189 (WebCore::EventHandler::handleMouseReleaseEvent): 34190 * page/EventHandler.h: 34191 * page/Frame.cpp: 34192 (WebCore::Frame::setZoomFactor): 34193 * rendering/RenderSVGContainer.cpp: 34194 (WebCore::RenderSVGContainer::layout): 34195 (WebCore::RenderSVGContainer::paint): 34196 (WebCore::RenderSVGContainer::absoluteTransform): 34197 * rendering/RenderSVGContainer.h: 34198 34199 2007-05-31 Eric Seidel <eric (a] webkit.org> 34200 34201 Reviewed by Niko. 34202 34203 Links are activated based on mouse down events instead of click events 34204 http://bugs.webkit.org/show_bug.cgi?id=12570 34205 34206 Test: svg/custom/prevent-default.svg 34207 34208 * html/HTMLAnchorElement.cpp: use MiddleButton and RightButton instead of 1 and 2 34209 (WebCore::HTMLAnchorElement::defaultEventHandler): 34210 * ksvg2/svg/SVGAElement.cpp: 34211 (WebCore::SVGAElement::defaultEventHandler): make it function more like the HTML side 34212 34213 2007-05-30 Maciej Stachowiak <mjs (a] apple.com> 34214 34215 Reviewed by Hyatt. 34216 34217 - fix layout test editing/style/table-selection.html 34218 34219 This was broken by the change to keep whitespace text nodes in tables. They safely didn't render, 34220 but the font delta style change command would wrap them in spans, creating extra anonymous table 34221 cells. 34222 34223 * editing/ApplyStyleCommand.cpp: 34224 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Don't wrap in a span if the text node 34225 is not rendered. 34226 34227 2007-05-31 Alp Toker <alp.toker (a] collabora.co.uk> 34228 34229 Reviewed by Eric Seidel. 34230 34231 http://bugs.webkit.org/show_bug.cgi?id=13941 34232 Rename WebCore/platform/network/gdk to WebCore/platform/network/curl 34233 34234 * WebCore.pro: 34235 34236 2007-05-31 Alp Toker <alp.toker (a] collabora.co.uk> 34237 34238 Reviewed by Niko. 34239 34240 Patch for http://bugs.webkit.org/show_bug.cgi?id=13945 34241 GraphicsContextCairo enhancements necessary for SVG support 34242 34243 * platform/graphics/cairo/GraphicsContextCairo.cpp: 34244 (WebCore::GraphicsContext::concatCTM): 34245 (WebCore::GraphicsContext::beginPath): 34246 (WebCore::GraphicsContext::addPath): 34247 34248 2007-05-31 Patti Hoa <patti (a] apple.com> 34249 34250 Reviewed by Darin. 34251 34252 <rdar://problem/5221920> AXLink is returning a CFString instead of a CFURL for AXURL 34253 34254 * bridge/mac/WebCoreAXObject.mm: 34255 (-[WebCoreAXObject accessibilityAttributeValue:]): 34256 Convert the url string to an NSURL before returning as the AXURLAttribute 34257 34258 2007-05-30 Sam Weinig <sam (a] webkit.org> 34259 34260 Reviewed by Oliver. 34261 34262 Patch for http://bugs.webkit.org/show_bug.cgi?id=13943 34263 Autogenerate the JS bindings for the CSSStyleSheet 34264 34265 * DerivedSources.make: 34266 * WebCore.pro: 34267 * WebCore.xcodeproj/project.pbxproj: 34268 * bindings/js/JSStyleSheetCustom.cpp: 34269 (WebCore::toJS): 34270 * bindings/js/kjs_css.cpp: 34271 * bindings/js/kjs_css.h: 34272 * bindings/scripts/CodeGeneratorJS.pm: 34273 * css/CSSStyleSheet.cpp: 34274 (WebCore::CSSStyleSheet::addRule): 34275 (WebCore::CSSStyleSheet::cssRules): 34276 * css/CSSStyleSheet.h: 34277 (WebCore::CSSStyleSheet::rules): 34278 (WebCore::CSSStyleSheet::removeRule): 34279 * css/CSSStyleSheet.idl: 34280 * page/DOMWindow.idl: 34281 34282 2007-05-30 Sam Weinig <sam (a] webkit.org> 34283 34284 Reviewed by Oliver. 34285 34286 Patch for http://bugs.webkit.org/show_bug.cgi?id=13937 34287 Autogenerate the JS bindings for the CSSValue 34288 34289 * WebCore.pro: 34290 * WebCore.xcodeproj/project.pbxproj: 34291 * bindings/js/JSCSSValueCustom.cpp: Added. 34292 (WebCore::toJS): 34293 * bindings/js/kjs_css.cpp: 34294 * bindings/js/kjs_css.h: 34295 * bindings/objc/DOMUtility.mm: 34296 (KJS::createDOMWrapper): 34297 * bindings/scripts/CodeGeneratorJS.pm: 34298 * css/CSSValue.h: 34299 (WebCore::CSSValue::setCssText): 34300 * css/CSSValue.idl: 34301 34302 2007-05-30 Sam Weinig <sam (a] webkit.org> 34303 34304 Reviewed by Oliver the Hun. 34305 34306 Patch for http://bugs.webkit.org/show_bug.cgi?id=13944 34307 Generate and add missing JS constructors 34308 34309 * css/CSSRuleList.idl: 34310 * css/CSSValueList.idl: 34311 * css/Counter.idl: 34312 * page/DOMWindow.idl: 34313 34314 2007-05-30 Justin Garcia <justin.garcia (a] apple.com> 34315 34316 Reviewed by Darin. 34317 34318 http://bugs.webkit.org/show_bug.cgi?id=13915 34319 REGRESSION(r21687): editing/inserting/paragraph-separator-* failing pixel test (misspelling markers) 34320 34321 After r21687, SimplifiedBackwardsTextIterator was no longer 34322 emitting a '\n' as it left the first block of a range ending 34323 at [block, 0]. So, foo<div>^<br></div> looked like foo^ to 34324 spell checking (foo wasn't marked as misspelled). 34325 34326 After r21687, SBTI stopped emitting '\n's in the above case 34327 because 1) we stopped incorrectly emitting '\n's for nodes as 34328 we entered them and 2) we were and still are incorrectly calling 34329 code that should only be called when entering nodes as we leave 34330 them and 3) we don't call exitNode(), which is responsible 34331 for emitting the '\n' in the above testcase, when we should. 34332 34333 Before and after r21687, we'd call exitNode() for a node as 34334 we traversed in reverse pre-order from its first descendant 34335 out to its sibling or one of its ancestors' siblings. We 34336 weren't calling it a) after we'd enter a node that could 34337 have children but had none and b) when leaving a container 34338 that contained the end of the range used to create the iterator. 34339 34340 * editing/TextIterator.cpp: 34341 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): 34342 (WebCore::SimplifiedBackwardsTextIterator::advance): Call exitNode() as we 34343 leave a childless container node and a node where the range ended. 34344 * editing/TextIterator.h: Track the end of the range used to create 34345 the SimplifiedBackwardsTextIterator. 34346 34347 2007-05-30 Alp Toker <alp.toker (a] collabora.co.uk> 34348 34349 Reviewed by Brady. 34350 34351 Enable logging in the Gdk port. 34352 http://bugs.webkit.org/show_bug.cgi?id=13936 34353 34354 * WebCore.pro: 34355 * platform/NotImplemented.h: Changed to use WTFLogVerbose. 34356 * platform/gdk/LoggingGdk.cpp: Added. 34357 (WebCore::InitializeLoggingChannelsIfNecessary): 34358 34359 2007-05-30 Beth Dakin <bdakin (a] apple.com> 34360 34361 Reviewed by Hyatt. 34362 34363 Fix for <rdar://problem/5198882> CrashTracer: [USER] 7 crashes in 34364 Safari at com.apple.WebCore: WebCore::RenderBlock::layoutBlock + 34365 2360 34366 34367 The problem is that we are re-entering layout when we should not. 34368 http://trac.webkit.org/projects/webkit/changeset/21778 actually 34369 fixed this crash, but we have been inspired to add the same guard 34370 in two other possibly-dangerous places. 34371 34372 * page/FrameView.cpp: 34373 (WebCore::FrameView::layout): Add the guard in two more places. 34374 34375 2007-05-30 Justin Garcia <justin.garcia (a] apple.com> 34376 34377 Reviewed by Oliver. 34378 34379 <rdar://problem/5096134> VO gets stuck on Howto.apple.com 34380 http://bugs.webkit.org/show_bug.cgi?id=8622 34381 VisiblePositions aren't canonicalized in some cases 34382 34383 No new test cases added: can't write automated tests 34384 for VO. 34385 34386 * editing/IndentOutdentCommand.cpp: 34387 (WebCore::IndentOutdentCommand::outdentParagraph): 34388 VisiblePositions must be recomputed after nodes that 34389 may have effected their canonicalization are removed. 34390 * editing/VisiblePosition.cpp: 34391 (WebCore::canonicalizeCandidate): Added. 34392 (WebCore::VisiblePosition::canonicalPosition): Canonicalize 34393 the candidates returned by next/previousCandidate before 34394 returning them. 34395 * editing/VisiblePosition.h: 34396 (WebCore::operator==): Remove the workaround for 8622. 34397 * editing/visible_units.cpp: 34398 (WebCore::startOfParagraph): Ditto. 34399 34400 2007-05-30 Sam Weinig <sam (a] webkit.org> 34401 34402 Reviewed by Dr. Harrison. 34403 34404 Patch for http://bugs.webkit.org/show_bug.cgi?id=13868 34405 REGRESSION: crash on accessing a new iframe's contentWindow property 34406 34407 Adds a null check in for the contentWindow property for HTMLIFrameElement 34408 and HTMLFrameElement. 34409 34410 * bindings/scripts/CodeGeneratorJS.pm: 34411 * html/HTMLFrameElement.idl: 34412 * html/HTMLIFrameElement.idl: 34413 34414 2007-05-30 Mitz Pettel <mitz (a] webkit.org> 34415 34416 Reviewed by Darin. 34417 34418 - fix http://bugs.webkit.org/show_bug.cgi?id=13775 34419 REGRESSION: Popup button text should use "natural" directionality to match the items in the popup menu 34420 34421 Test: fast/forms/select-writing-direction-natural.html 34422 34423 * platform/PopupMenu.h: Added the static method itemWritingDirectionIsNatural 34424 which says whether items in the popup ignore the CSS text-align and direction 34425 properties and instead are left-aligned and use natural writing direction. 34426 * platform/gdk/PopupMenuGdk.cpp: 34427 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 34428 * platform/mac/PopupMenuMac.mm: 34429 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 34430 * platform/qt/PopupMenuQt.cpp: 34431 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 34432 * platform/win/TemporaryLinkStubs.cpp: 34433 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 34434 * platform/wx/TemporaryLinkStubs.cpp: 34435 (PopupMenu::itemWritingDirectionIsNatural): 34436 * rendering/RenderMenuList.cpp: 34437 (WebCore::textDirectionForParagraph): Added this helper function that uses 34438 the Unicode Bidi Algorithm rules P2 and P3 to determine the writing direction 34439 of text. 34440 (WebCore::RenderMenuList::adjustInnerStyle): Made the alignment and direction 34441 adjustment conditional on the popup implementation. 34442 (WebCore::RenderMenuList::setText): Added call to adjustInnerStyle() since 34443 the style depends on the text when natural writing direction is used. 34444 34445 2007-05-30 Timothy Hatcher <timothy (a] apple.com> 34446 34447 Reviewed by Darin. 34448 34449 <rdar://problem/5200795> REGRESSION (r21057): lineBoxRects doesn't match actual text when wrapping occurs 34450 34451 Use box->end() instead of box->len(). 34452 34453 * rendering/RenderText.cpp: 34454 (WebCore::RenderText::addLineBoxRects): 34455 34456 2007-05-30 Sam Weinig <sam (a] webkit.org> 34457 34458 Reviewed by Darin. 34459 34460 Patch for http://bugs.webkit.org/show_bug.cgi?id=13919 34461 Autogenerate the JS bindings for the CSSRule and its subclasses 34462 34463 - subclasses generated are CSSCharsetRule, CSSFontFaceRule, CSSImportRule 34464 CSSMediaRule, CSSPageRule and CSSStyleRule. 34465 34466 * DerivedSources.make: 34467 * WebCore.pro: 34468 * WebCore.xcodeproj/project.pbxproj: 34469 * bindings/js/JSCSSRuleCustom.cpp: Added. 34470 (WebCore::toJS): 34471 * bindings/js/kjs_css.cpp: 34472 * bindings/js/kjs_css.h: 34473 * bindings/objc/DOMUtility.mm: 34474 (KJS::createDOMWrapper): 34475 * bindings/scripts/CodeGeneratorJS.pm: 34476 * css/CSSCharsetRule.h: 34477 (WebCore::CSSCharsetRule::setEncoding): 34478 * css/CSSCharsetRule.idl: 34479 * css/CSSFontFaceRule.idl: 34480 * css/CSSImportRule.idl: 34481 * css/CSSMediaRule.idl: 34482 * css/CSSPageRule.cpp: 34483 (WebCore::CSSPageRule::setSelectorText): 34484 * css/CSSPageRule.h: 34485 * css/CSSPageRule.idl: 34486 * css/CSSRule.cpp: 34487 (WebCore::CSSRule::setCssText): 34488 * css/CSSRule.h: 34489 * css/CSSRule.idl: 34490 * css/CSSStyleRule.cpp: 34491 (WebCore::CSSStyleRule::setSelectorText): 34492 * css/CSSStyleRule.h: 34493 * css/CSSStyleRule.idl: 34494 * page/DOMWindow.idl: add new constructors. 34495 34496 2007-05-30 Mark Rowe <mrowe (a] apple.com> 34497 34498 Build fixes after r21889. Add missing #includes. 34499 34500 * ForwardingHeaders/kjs/function.h: Added. 34501 * bindings/js/kjs_binding.h: 34502 * bindings/js/kjs_dom.h: 34503 * bindings/js/kjs_window.h: 34504 34505 2007-05-30 Mark Rowe <mrowe (a] apple.com> 34506 34507 Gdk build fix. Update WidgetGdk to use NotImplemented.h. 34508 34509 * platform/gdk/WidgetGdk.cpp: 34510 (WebCore::Widget::setEnabled): 34511 (WebCore::Widget::isEnabled): 34512 (WebCore::Widget::removeFromParent): 34513 (WebCore::Widget::paint): 34514 (WebCore::Widget::setIsSelected): 34515 34516 2007-05-29 Holger Freyther <zecke (a] selfish.org> 34517 34518 Reviewed by Anders. 34519 34520 Make ScrollView use a GtkLayout. This class matches QScrollView the most and promises 34521 to ease the implementation of ScrollView::addChild. GtkLayout should be resource friendly 34522 even with huge width and heights of frames. 34523 Make Widget aware of GtkLayout to use the right GdkWindow as drawable. For GtkLayout one must 34524 draw on the bin_window. 34525 Remove the layer violation from FrameGdk.cpp and ScrollView. FrameGdk is no longer responsible to 34526 implement scrolling on keyboard events. ScrollView is no longer required to know that it could be 34527 a FrameView and handles scrolling of Frames magically. 34528 34529 * platform/ScrollView.h: 34530 * platform/gdk/FrameGdk.cpp: 34531 (WebCore::FrameGdk::keyPress): 34532 (WebCore::FrameGdk::handleGdkEvent): 34533 * platform/gdk/ScrollViewGdk.cpp: 34534 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 34535 (WebCore::ScrollView::updateContents): 34536 (WebCore::ScrollView::visibleWidth): 34537 (WebCore::ScrollView::visibleHeight): 34538 (WebCore::ScrollView::visibleContentRect): 34539 (WebCore::ScrollView::resizeContents): 34540 (WebCore::ScrollView::contentsX): 34541 (WebCore::ScrollView::contentsY): 34542 (WebCore::ScrollView::scrollOffset): 34543 (WebCore::ScrollView::scrollBy): 34544 (WebCore::ScrollView::setFrameGeometry): 34545 (WebCore::ScrollView::updateGeometry): 34546 (WebCore::ScrollView::setGtkWidget): 34547 (WebCore::ScrollView::updateScrollbars): 34548 (WebCore::ScrollView::windowToContents): 34549 (WebCore::ScrollView::contentsToWindow): 34550 (WebCore::ScrollView::scrollbarUnderMouse): 34551 * platform/gdk/TemporaryLinkStubs.cpp: Move Widget methods to WidgetGdk.cpp 34552 * platform/gdk/WidgetGdk.cpp: 34553 (WebCore::Widget::setGtkWidget): 34554 (WebCore::Widget::setFrameGeometry): 34555 (WebCore::Widget::setEnabled): 34556 (WebCore::Widget::isEnabled): 34557 (WebCore::Widget::removeFromParent): 34558 (WebCore::Widget::paint): 34559 (WebCore::Widget::setIsSelected): 34560 (WebCore::Widget::invalidate): 34561 (WebCore::Widget::invalidateRect): 34562 34563 2007-05-29 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 34564 34565 Reviewed by Maciej. 34566 34567 Curl (linux/gdk) networking improvements: 34568 a) POST support 34569 b) don't use CURL in a re-entrant way. 34570 c) turn on curl's internal debugging support in a debug build if the DEBUG_CURL environment variable is set. 34571 34572 * platform/network/ResourceHandleInternal.h: 34573 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 34574 * platform/network/gdk/ResourceHandleCurl.cpp: 34575 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 34576 * platform/network/gdk/ResourceHandleManager.cpp: 34577 (WebCore::ResourceHandleManager::ResourceHandleManager): 34578 (WebCore::writeCallback): 34579 (WebCore::ResourceHandleManager::downloadTimerCallback): 34580 (WebCore::ResourceHandleManager::setupPOST): 34581 (WebCore::ResourceHandleManager::add): 34582 (WebCore::ResourceHandleManager::removeScheduledJob): 34583 (WebCore::ResourceHandleManager::startScheduledJobs): 34584 (WebCore::ResourceHandleManager::startJob): 34585 (WebCore::ResourceHandleManager::cancel): 34586 * platform/network/gdk/ResourceHandleManager.h: 34587 (WebCore::ResourceHandleList::ResourceHandleList): 34588 (WebCore::ResourceHandleList::next): 34589 (WebCore::ResourceHandleList::job): 34590 (WebCore::ResourceHandleList::setRemoved): 34591 (WebCore::ResourceHandleList::removed): 34592 34593 2007-05-29 Sam Weinig <sam (a] webkit.org> 34594 34595 Fix the Qt and Gdk builds. 34596 34597 * WebCore.pro: 34598 34599 2007-05-29 Adele Peterson <adele (a] apple.com> 34600 34601 Reviewed by Adam. 34602 34603 Fix for <rdar://problem/5109711> REGRESSION: Focus ring artifacts appear around a widget's search field at times (Address Book, Dictionary) 34604 34605 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintSearchField): 34606 We only need this hack for drawing the search field focus ring on Tiger. On Leopard, drawWithFrame correctly draws the cell's focus ring. 34607 34608 2007-05-29 Alp Toker <alp.toker (a] collabora.co.uk> 34609 34610 Reviewed by Mitz. 34611 34612 Patch for http://bugs.webkit.org/show_bug.cgi?id=13899 34613 34614 * platform/graphics/cairo/GraphicsContextCairo.cpp: 34615 (WebCore::GraphicsContext::strokeArc): Use cairo_arc_negative() to fix 34616 CSS rounded borders. 34617 (WebCore::GraphicsContext::beginTransparencyLayer): 34618 (WebCore::GraphicsContext::endTransparencyLayer): save/restore is 34619 redundant. push/pop group does this implicitly. 34620 34621 2007-05-29 Sam Weinig <sam (a] webkit.org> 34622 34623 Reviewed by Oliver. 34624 34625 Patch for http://bugs.webkit.org/show_bug.cgi?id=13912 34626 Autogenerate the JS bindings for the MediaList 34627 34628 * DerivedSources.make: 34629 * WebCore.xcodeproj/project.pbxproj: 34630 * bindings/js/kjs_css.cpp: 34631 * bindings/js/kjs_css.h: 34632 * bindings/objc/DOMUtility.mm: 34633 (KJS::createDOMWrapper): 34634 * bindings/scripts/CodeGeneratorJS.pm: 34635 * css/MediaList.idl: 34636 * page/DOMWindow.idl: Add constructor. 34637 34638 2007-05-29 Matt Perry <mpComplete (a] gmail.com> 34639 34640 Reviewed by Maciej. 34641 34642 Fixed some rendering issues for <select>s on Windows. 34643 34644 * rendering/RenderThemeWin.cpp: 34645 (WebCore::RenderThemeWin::adjustMenuListStyle): 34646 (WebCore::RenderThemeWin::paintMenuList): 34647 * rendering/RenderThemeWin.h: 34648 34649 2007-05-29 David Hyatt <hyatt (a] apple.com> 34650 34651 Fold the invalidateVerticalPositions crawl into the bidi iteration. 34652 This makes it more correct (since we won't drill into elements that 34653 did not need to be reset) and cuts out an extra walk of all our children. 34654 We're still O(n^2) as new content streams in, but this at least cuts 34655 out one separate O(n^2) crawl. 34656 34657 Reviewed by olliej 34658 34659 * rendering/RenderObject.cpp: 34660 * rendering/RenderObject.h: 34661 (WebCore::RenderObject::invalidateVerticalPosition): 34662 * rendering/bidi.cpp: 34663 (WebCore::RenderBlock::layoutInlineChildren): 34664 34665 2007-05-29 Sam Weinig <sam (a] webkit.org> 34666 34667 Reviewed by Oliver. 34668 34669 Patch for http://bugs.webkit.org/show_bug.cgi?id=13908 34670 Autogenerate the JS bindings for the StyleSheet 34671 34672 * DerivedSources.make: 34673 * WebCore.xcodeproj/project.pbxproj: 34674 * bindings/js/JSStyleSheetCustom.cpp: Added. 34675 (WebCore::toJS): 34676 (WebCore::JSStyleSheet::toBoolean): 34677 * bindings/js/kjs_css.cpp: 34678 (KJS::): 34679 (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet): 34680 (KJS::DOMCSSStyleSheet::getOwnPropertySlot): 34681 * bindings/js/kjs_css.h: 34682 * bindings/objc/DOMUtility.mm: 34683 (KJS::createDOMWrapper): 34684 * bindings/scripts/CodeGeneratorJS.pm: 34685 * css/StyleSheet.idl: 34686 * page/DOMWindow.idl: Add new constructor. 34687 34688 2007-05-29 David Hyatt <hyatt (a] apple.com> 34689 34690 Make sure <embed> does not allow an end tag. 34691 34692 Reviewed by olliej 34693 34694 * html/HTMLEmbedElement.h: 34695 (WebCore::HTMLEmbedElement::endTagRequirement): 34696 34697 2007-05-29 Adele Peterson <adele (a] apple.com> 34698 34699 Reviewed by Brady. 34700 34701 Fix for <rdar://problem/5213039> REGRESSION: Wells Fargo registration page returns blank 34702 34703 Roll out updated fix for 11866 that tried to make reset work for hidden inputs. Since 34704 all browsers update the value attribute when setting the value, it doesn't really make sense to reset. 34705 Its true that IE does support resetting these controls, but in this case, it doesn't really make sense to have 34706 another place to store an alternate version of the value. 34707 34708 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::reset): 34709 * html/HTMLInputElement.h: 34710 34711 2007-05-29 Darin Adler <darin (a] apple.com> 34712 34713 Reviewed by Anders. 34714 34715 - removed the general case optimization for innerHTML because some sites 34716 rely on setting innerHTML to trigger loading plug-ins for example; we 34717 could consider bringing it back some day, perhaps with a list of element 34718 types to exclude 34719 34720 * dom/CharacterData.cpp: (WebCore::CharacterData::setData): 34721 Do nothing if the old data is identical to the new data. 34722 34723 * html/HTMLElement.cpp: 34724 (WebCore::replaceChildrenWithFragment): Remove childrenAreEqual optimization. 34725 (WebCore::replaceChildrenWithText): Remove optimization for cases where the 34726 text data is identical to the new data, since CharacterData handles that now. 34727 (WebCore::HTMLElement::setOuterHTML): Remove childrenAreEqual optimization. 34728 34729 2007-05-29 Mitz Pettel <mitz (a] webkit.org> 34730 34731 Reviewed by Maciej. 34732 34733 - fix http://bugs.webkit.org/show_bug.cgi?id=13904 34734 REGRESSION: Search fields with a results popup do not always draw the popup arrow 34735 34736 Covered by fast/forms/box-shadow-override.html 34737 34738 The search button draws a popup arrow depending on whether the 34739 search menu template is set, rather than on the maximum number of recent 34740 search strings. 34741 34742 * rendering/RenderThemeMac.h: 34743 * rendering/RenderThemeMac.mm: 34744 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): Removed the 34745 call to -setMaxmiumRecents:. 34746 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Replaced calling 34747 -setMaximumRecents: with setting the search menu template. 34748 (WebCore::RenderThemeMac::search): Removed initialization of the menu. 34749 (WebCore::RenderThemeMac::searchMenuTemplate): Added. Returns an empty 34750 NSMenu to be used as the search menu template. 34751 34752 2007-05-29 David Hyatt <hyatt (a] apple.com> 34753 34754 Fix for bug 13907, <noscript> should be allowed inside <head> when 34755 scripting is enabled. 34756 34757 Reviewed by aroben 34758 34759 * html/HTMLHeadElement.cpp: 34760 (WebCore::HTMLHeadElement::checkDTD): 34761 * html/HTMLParser.cpp: 34762 (WebCore::HTMLParser::handleError): 34763 * html/HTMLParserErrorCodes.cpp: 34764 (WebCore::htmlParserErrorMessageTemplate): 34765 * html/HTMLParserErrorCodes.h: 34766 34767 2007-05-29 Mitz Pettel <mitz (a] webkit.org> 34768 34769 Reviewed by Maciej. 34770 34771 - fix crash in http://bugs.webkit.org/show_bug.cgi?id=13792 34772 REGRESSION: WebKit doesn't show this javascript screenshot page (and crashes after click on its "hidden link") 34773 34774 Test: fast/frames/removal-before-attach-crash.html 34775 34776 Delayed the queueing of the post-attach callback until attach(). 34777 34778 * html/HTMLFrameElementBase.cpp: 34779 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): 34780 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Replaced call to the 34781 HTMLElement implementation with a call to the HTMLFrameOwnerElement 34782 implementation, as the latter is the parent class. 34783 (WebCore::HTMLFrameElementBase::insertedIntoDocument): Instead of queueing 34784 the post-attach callback here, just set a flag telling us to do so 34785 at the beginning of attach(). 34786 (WebCore::HTMLFrameElementBase::removedFromDocument): Reset the above flag. 34787 (WebCore::HTMLFrameElementBase::attach): If this is the first attach() after 34788 being inserted into the document, queue a post-attach callback to load the 34789 frame. 34790 (WebCore::HTMLFrameElementBase::willRemove): Changed to call up to the correct 34791 parent class. 34792 (WebCore::HTMLFrameElementBase::setFocus): Ditto. 34793 * html/HTMLFrameElementBase.h: 34794 * html/HTMLPlugInElement.cpp: 34795 (WebCore::HTMLPlugInElement::mapToEntry): Replaced call to the HTMLElement 34796 implementation with a call to the HTMLFrameOwnerElement implementation, 34797 as the latter is the parent class. 34798 (WebCore::HTMLPlugInElement::parseMappedAttribute): Ditto. 34799 (WebCore::HTMLPlugInElement::checkDTD): Ditto. 34800 (WebCore::HTMLPlugInElement::detach): Ditto. 34801 34802 2007-05-29 Darin Adler <darin (a] apple.com> 34803 34804 Reviewed by Maciej. 34805 34806 - fix http://bugs.webkit.org/show_bug.cgi?id=13602 34807 Amazon product pages keep repainting over and over again 34808 34809 - fix first-letter when the text of the affected text node is changed 34810 34811 Optimize setInnerHTML, setOuterHTML, and setInnerText so they don't change the DOM at all 34812 if they don't need to. 34813 34814 Test: fast/dom/HTMLElement/set-inner-outer-optimization.html 34815 Test: fast/css/first-letter-detach.html 34816 34817 * html/HTMLElement.cpp: 34818 (WebCore::equal): Added. Helper function that compares two Text nodes or two NamedAttrMap 34819 attribute maps. 34820 (WebCore::shallowEqual): Added. Helper function that compares two Element nodes or two 34821 arbitrary nodes. 34822 (WebCore::childrenAreEqual): Added. Helper functions that compare children of nodes. 34823 (WebCore::hasOneChild): Added. Helper function. 34824 (WebCore::hasOneTextChild): Added. Helper function. 34825 (WebCore::replaceChildrenWithFragment): Added. Helper function used by setInnerHTML and 34826 setInnerText. Optimizes the cases where all the nodes are the same, where both the current 34827 and the new content are single text nodes, and where the current content is a single node 34828 that can be replaced with replaceChild. 34829 (WebCore::replaceChildrenWithText): Added. Helper function used by setInnerText. Optimizes 34830 the case where the current content is a single text node or a single node that can be 34831 replaced with replaceChild. 34832 (WebCore::HTMLElement::setInnerHTML): Changed to call replaceChildrenWithFragment. 34833 (WebCore::HTMLElement::setOuterHTML): Added special case to optimize when the new content 34834 exactly matches the current node. 34835 (WebCore::HTMLElement::setInnerText): Changed to call replaceChildrenWithText in a few 34836 cases instead of doing removeChildren/appendChild. Changed code that was using 34837 DeprecatedString to instead use String. Changed general case to use a document fragment 34838 and replaceChildrenWithFragment. 34839 34840 * dom/CharacterData.cpp: (WebCore::CharacterData::dispatchModifiedEvent): 34841 Fixed bug where we would not dispatch the DOMSubtreeModified event unless someone 34842 was registered for the DOMCharacterDataModified event. Caused trouble in the test. 34843 34844 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter): Set first-letter 34845 after the setStyle call so calls to setTextInternal inside setStyle don't clear it. 34846 34847 * rendering/RenderText.h: Made setTextInternal virtual so that RenderTextFragment can do 34848 appropriate work when the text changes. 34849 34850 * rendering/RenderTextFragment.h: Added an override of setTextInternal. Removed the 34851 firstLetter parameter to the constructor and made it a separate setter. Also changed 34852 m_generatedContentStr to m_contentString to match the getter function. 34853 * rendering/RenderTextFragment.cpp: 34854 (WebCore::RenderTextFragment::RenderTextFragment): Removed firstLetter parameter. 34855 (WebCore::RenderTextFragment::setTextInternal): When the text changes, destroy the 34856 first-letter node and reset the fragment values so that RenderBlock::updateFirstLetter, 34857 which will run during layout, will create a new first-letter child. Otherwise we end up 34858 with the first letter of the old text. 34859 34860 2007-05-29 Sam Weinig <sam (a] webkit.org> 34861 34862 Fix Qt build. 34863 34864 * platform/NotImplemented.h: 34865 34866 2007-05-29 Sam Weinig <sam (a] webkit.org> 34867 34868 Reviewed by Adam Roben. 34869 34870 Consolidate platform dependent notImplemented() macros 34871 into one platform independent macro that uses WTFLog. 34872 34873 * platform/NotImplemented.h: 34874 34875 2007-05-29 Darin Adler <darin (a] apple.com> 34876 34877 Reviewed by Sam. 34878 34879 - a clean-up pass on form-related aspects of the recent JSHTMLElement patch 34880 34881 * bindings/js/JSHTMLElementCustom.cpp: (WebCore::JSHTMLElement::pushEventHandlerScope): 34882 Replace the call to formForEventHandlerScope() with a call to the new form() function. 34883 And removed the now-uneeded code to search for a form ancestor. 34884 34885 * html/HTMLElement.h: Added a general-purpose form() function. The intent is to return 34886 the form ancestor if any, but return the associated form for a form control, which isn't 34887 always an ancestor of the control. To keep form() efficient for form controls, it's an 34888 inline that calls a virtual, allowing a derived class to override it with an inline. 34889 This replaces formForEventHandlerScope(). Also added findFormAncestor() to use here and 34890 to replace the multiple loops found elsewhere to search for the nearest form ancestor. 34891 * html/HTMLElement.cpp: 34892 (WebCore::HTMLElement::findFormAncestor): Added. 34893 (WebCore::HTMLElement::virtualForm): Added. Calls findFormAncestor(). 34894 34895 * html/HTMLGenericFormElement.h: Suggested name change to HTMLFormControlElement. 34896 Removed the confusing getForm() function, which is superceded by findFormAncestor. 34897 Removed the unused onSelect() function. Removed the override of formForEventHandlerScope(), 34898 replacing it with an override of virtualForm(). 34899 * html/HTMLGenericFormElement.cpp: 34900 (WebCore::HTMLGenericFormElement::HTMLGenericFormElement): Use findFormAncestor 34901 instead of getForm. 34902 (WebCore::HTMLGenericFormElement::insertedIntoTree): Ditto. 34903 (WebCore::HTMLGenericFormElement::virtualForm): Added. 34904 34905 * html/HTMLLabelElement.h: Removed now-unneeded form() and formForEventHandlerScope() 34906 functions, since base class behavior is now good enough. Renamed formElement() to 34907 correspondingControl(), since that's the terminology used elsewhere in the code, 34908 and the old name was unnecessarily confusing. 34909 * html/HTMLLabelElement.cpp: 34910 (WebCore::HTMLLabelElement::correspondingControl): Renamed. Removed unnecessary 34911 special case for empty ID, since getElementById already returns 0 for that case. 34912 (WebCore::HTMLLabelElement::setActive): Updated for name change. 34913 (WebCore::HTMLLabelElement::setHovered): Ditto. 34914 (WebCore::HTMLLabelElement::defaultEventHandler): Ditto. 34915 (WebCore::HTMLLabelElement::focus): Ditto. 34916 (WebCore::HTMLLabelElement::accessKeyAction): Ditto. 34917 34918 * html/HTMLObjectElement.h: Removed now-unneeded form() and formForEventHandlerScope() 34919 functions, since base class behavior is now good enough. Also removed forward 34920 declaration of KJS::Bindings::Instance -- since the type is the return value of a 34921 function from the base class, it's guaranteed to be declared in the base class header. 34922 * html/HTMLObjectElement.cpp: Ditto. 34923 34924 * bridge/mac/WebCoreAXObject.mm: (labelForElement): Updated for name change. 34925 34926 2007-05-29 Zack Rusin <zrusin (a] trolltech.com> 34927 34928 Reviewed by George and Niko 34929 34930 Making the convenience method notImplemented convenient 34931 for the Qt port. 34932 34933 * platform/NotImplemented.h: 34934 34935 2007-05-28 Sam Weinig <sam (a] webkit.org> 34936 34937 Reviewed by Geoff. 34938 34939 - Patch for http://bugs.webkit.org/show_bug.cgi?id=13902 34940 Autogenerate the JS bindings for the CSSStyleDeclaration 34941 34942 * WebCore.pro: 34943 * WebCore.xcodeproj/project.pbxproj: 34944 * bindings/js/JSCSSStyleDeclarationCustom.cpp: Added. 34945 (WebCore::cssPropertyName): 34946 (WebCore::isCSSPropertyName): 34947 (WebCore::JSCSSStyleDeclaration::canGetItemsForName): 34948 (WebCore::JSCSSStyleDeclaration::nameGetter): 34949 (WebCore::JSCSSStyleDeclaration::customPut): 34950 * bindings/js/kjs_binding.h: 34951 * bindings/js/kjs_css.cpp: 34952 * bindings/js/kjs_css.h: 34953 * bindings/objc/DOMUtility.mm: 34954 (KJS::createDOMWrapper): 34955 * bindings/scripts/CodeGeneratorJS.pm: 34956 * css/CSSStyleDeclaration.idl: 34957 34958 2007-05-28 Mitz Pettel <mitz (a] webkit.org> 34959 34960 Reviewed by Darin. 34961 34962 - fix http://bugs.webkit.org/show_bug.cgi?id=13896 34963 REGRESSION (NativePopup): Reproductible crasher on Google Coop control panel 34964 34965 Test: fast/forms/select-display-none-style-resolve.html 34966 34967 * html/HTMLOptGroupElement.cpp: 34968 (WebCore::HTMLOptGroupElement::attach): Do not compute style if the parent 34969 does not have style. 34970 * html/HTMLOptionElement.cpp: 34971 (WebCore::HTMLOptionElement::attach): Ditto. 34972 34973 2007-05-28 Sam Weinig <sam (a] webkit.org> 34974 34975 Fix Gdk and Qt builds. 34976 34977 * WebCore.pro: 34978 34979 2007-05-28 Sam Weinig <sam (a] webkit.org> 34980 34981 Reviewed by Darin. 34982 34983 Patch for http://bugs.webkit.org/show_bug.cgi?id=13894 34984 Remove the legacy class KJS::JSHTMLElement 34985 34986 - Now that all of the subclasses of JSHTMLElement are 34987 autogenerated and no longer rely on the legacy parent, 34988 we can remove it and update all the HTML idl files to 34989 reflect so. 34990 34991 - Also adds JSHTMLBlockquoteElement's JS constructor which 34992 was mistakingly missing. 34993 34994 * WebCore.xcodeproj/project.pbxproj: 34995 * bindings/js/JSHTMLAnchorElementCustom.cpp: 34996 (WebCore::JSHTMLAnchorElement::toString): 34997 * bindings/js/JSHTMLElementCustom.cpp: Added. 34998 (WebCore::JSHTMLElement::pushEventHandlerScope): 34999 * bindings/js/JSHTMLElementWrapperFactory.cpp: 35000 (WebCore::createJSHTMLWrapper): 35001 * bindings/js/JSHTMLInputElementBase.cpp: 35002 (WebCore::): 35003 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): 35004 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): 35005 (WebCore::JSHTMLInputElementBase::put): 35006 * bindings/js/JSHTMLInputElementBase.h: 35007 * bindings/js/JSHTMLSelectElementCustom.cpp: 35008 * bindings/js/kjs_html.cpp: 35009 (KJS::runtimeObjectCustomGetOwnPropertySlot): 35010 * bindings/js/kjs_html.h: 35011 * bindings/scripts/CodeGeneratorJS.pm: 35012 * html/HTMLAnchorElement.idl: 35013 * html/HTMLAppletElement.idl: 35014 * html/HTMLAreaElement.idl: 35015 * html/HTMLBRElement.idl: 35016 * html/HTMLBaseElement.idl: 35017 * html/HTMLBaseFontElement.idl: 35018 * html/HTMLBlockquoteElement.idl: 35019 * html/HTMLBodyElement.idl: 35020 * html/HTMLButtonElement.idl: 35021 * html/HTMLCanvasElement.idl: 35022 * html/HTMLDListElement.idl: 35023 * html/HTMLDirectoryElement.idl: 35024 * html/HTMLDivElement.idl: 35025 * html/HTMLElement.cpp: 35026 (WebCore::HTMLElement::formForEventHandlerScope): 35027 * html/HTMLElement.h: 35028 * html/HTMLElement.idl: 35029 * html/HTMLEmbedElement.idl: 35030 * html/HTMLFieldSetElement.idl: 35031 * html/HTMLFontElement.idl: 35032 * html/HTMLFormElement.idl: 35033 * html/HTMLFrameElement.idl: 35034 * html/HTMLFrameSetElement.idl: 35035 * html/HTMLGenericFormElement.cpp: 35036 (WebCore::HTMLGenericFormElement::formForEventHandlerScope): 35037 * html/HTMLGenericFormElement.h: 35038 * html/HTMLHRElement.idl: 35039 * html/HTMLHeadElement.idl: 35040 * html/HTMLHeadingElement.idl: 35041 * html/HTMLHtmlElement.idl: 35042 * html/HTMLIFrameElement.idl: 35043 * html/HTMLImageElement.idl: 35044 * html/HTMLIsIndexElement.idl: 35045 * html/HTMLLIElement.idl: 35046 * html/HTMLLabelElement.cpp: 35047 (WebCore::HTMLLabelElement::form): 35048 (WebCore::HTMLLabelElement::formForEventHandlerScope): 35049 * html/HTMLLabelElement.h: 35050 * html/HTMLLabelElement.idl: 35051 * html/HTMLLegendElement.idl: 35052 * html/HTMLLinkElement.idl: 35053 * html/HTMLMapElement.idl: 35054 * html/HTMLMarqueeElement.idl: 35055 * html/HTMLMenuElement.idl: 35056 * html/HTMLMetaElement.idl: 35057 * html/HTMLModElement.idl: 35058 * html/HTMLOListElement.idl: 35059 * html/HTMLObjectElement.cpp: 35060 (WebCore::HTMLObjectElement::formForEventHandlerScope): 35061 * html/HTMLObjectElement.h: 35062 * html/HTMLObjectElement.idl: 35063 * html/HTMLOptGroupElement.idl: 35064 * html/HTMLOptionElement.idl: 35065 * html/HTMLParagraphElement.idl: 35066 * html/HTMLParamElement.idl: 35067 * html/HTMLPreElement.idl: 35068 * html/HTMLQuoteElement.idl: 35069 * html/HTMLScriptElement.idl: 35070 * html/HTMLSelectElement.idl: 35071 * html/HTMLStyleElement.idl: 35072 * html/HTMLTableCaptionElement.idl: 35073 * html/HTMLTableCellElement.idl: 35074 * html/HTMLTableColElement.idl: 35075 * html/HTMLTableElement.idl: 35076 * html/HTMLTableRowElement.idl: 35077 * html/HTMLTableSectionElement.idl: 35078 * html/HTMLTextAreaElement.idl: 35079 * html/HTMLTitleElement.idl: 35080 * html/HTMLUListElement.idl: 35081 * page/DOMWindow.idl: 35082 35083 2007-05-28 Zack Rusin <zrusin (a] trolltech.com> 35084 35085 Reviewed by andersca 35086 35087 Adding Qt related constructor/casting operators 35088 to the AtomicString and updating the project 35089 file for new Qt settings api using those. 35090 35091 * WebCore.pro: 35092 * platform/AtomicString.h: 35093 35094 2007-05-27 Sam Weinig <sam (a] webkit.org> 35095 35096 Qt and Gdk build fix. 35097 35098 * WebCore.pro: 35099 35100 2007-05-27 Sam Weinig <sam (a] webkit.org> 35101 35102 Reviewed by Hyatt. 35103 35104 Patch for http://bugs.webkit.org/show_bug.cgi?id=13893 35105 Autogenerate the JS bindings for the HTMLObjectElement, 35106 HTMLEmbedElement and HTMLAppletElement 35107 35108 * DerivedSources.make: 35109 * WebCore.xcodeproj/project.pbxproj: 35110 * bindings/js/JSHTMLAppletElementCustom.cpp: Added. 35111 (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot): 35112 (WebCore::JSHTMLAppletElement::customPut): 35113 (WebCore::JSHTMLAppletElement::implementsCall): 35114 (WebCore::JSHTMLAppletElement::callAsFunction): 35115 (WebCore::JSHTMLAppletElement::canGetItemsForName): 35116 (WebCore::JSHTMLAppletElement::nameGetter): 35117 * bindings/js/JSHTMLElementWrapperFactory.cpp: 35118 * bindings/js/JSHTMLEmbedElementCustom.cpp: Added. 35119 (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot): 35120 (WebCore::JSHTMLEmbedElement::customPut): 35121 (WebCore::JSHTMLEmbedElement::implementsCall): 35122 (WebCore::JSHTMLEmbedElement::callAsFunction): 35123 (WebCore::JSHTMLEmbedElement::canGetItemsForName): 35124 (WebCore::JSHTMLEmbedElement::nameGetter): 35125 * bindings/js/JSHTMLObjectElementCustom.cpp: Added. 35126 (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot): 35127 (WebCore::JSHTMLObjectElement::customPut): 35128 (WebCore::JSHTMLObjectElement::implementsCall): 35129 (WebCore::JSHTMLObjectElement::callAsFunction): 35130 (WebCore::JSHTMLObjectElement::canGetItemsForName): 35131 (WebCore::JSHTMLObjectElement::nameGetter): 35132 * bindings/js/kjs_html.cpp: 35133 (KJS::): 35134 (KJS::JSHTMLElement::toString): 35135 (KJS::JSHTMLElement::pushEventHandlerScope): 35136 (KJS::runtimeObjectGetter): 35137 (KJS::runtimeObjectPropertyGetter): 35138 (KJS::runtimeObjectCustomGetOwnPropertySlot): 35139 (KJS::runtimeObjectCustomPut): 35140 (KJS::runtimeObjectImplementsCall): 35141 (KJS::runtimeObjectCallAsFunction): 35142 * bindings/js/kjs_html.h: 35143 (KJS::JSHTMLElement::classInfo): 35144 * bindings/scripts/CodeGeneratorJS.pm: Add support for 35145 CustomGetOwnPropertySlot, CustomPutFunction, CustomCall, 35146 and SVGCheckSecurityDocument properties. 35147 * html/HTMLAppletElement.idl: 35148 * html/HTMLEmbedElement.idl: 35149 * html/HTMLObjectElement.idl: 35150 * page/DOMWindow.idl: Uncomment constructors. 35151 35152 2007-05-27 Sam Weinig <sam (a] webkit.org> 35153 35154 Reviewed by Oliver. 35155 35156 Gdk build fix. 35157 35158 * platform/graphics/Path.h: 35159 35160 2007-05-27 Sam Weinig <sam (a] webkit.org> 35161 35162 Gdk build fix. Forgot to update a few instances of notImplementedGdk() to notImplemented(). 35163 35164 * page/gdk/EventHandlerGdk.cpp: 35165 (WebCore::EventHandler::passMousePressEventToScrollbar): 35166 * platform/gdk/EditorClientGdk.cpp: 35167 (WebCore::EditorClientGdk::ignoreWordInSpellDocument): 35168 (WebCore::EditorClientGdk::learnWord): 35169 (WebCore::EditorClientGdk::checkSpellingOfString): 35170 (WebCore::EditorClientGdk::checkGrammarOfString): 35171 (WebCore::EditorClientGdk::updateSpellingUIWithGrammarString): 35172 (WebCore::EditorClientGdk::updateSpellingUIWithMisspelledWord): 35173 (WebCore::EditorClientGdk::showSpellingUI): 35174 (WebCore::EditorClientGdk::spellingUIIsShowing): 35175 (WebCore::EditorClientGdk::getGuessesForWord): 35176 * platform/gdk/FrameGdk.cpp: 35177 (WebCore::Frame::dashboardRegionsChanged): 35178 * platform/gdk/PlatformScrollBarGdk.cpp: 35179 (PlatformScrollbar::paint): 35180 (PlatformScrollbar::updateThumbPosition): 35181 (PlatformScrollbar::updateThumbProportion): 35182 * platform/gdk/TemporaryLinkStubs.cpp: 35183 (Widget::setEnabled): 35184 (Widget::isEnabled): 35185 (Widget::removeFromParent): 35186 (Widget::paint): 35187 (Widget::setIsSelected): 35188 (Widget::invalidate): 35189 (Widget::invalidateRect): 35190 35191 2007-05-27 Alp Toker <alp.toker (a] collabora.co.uk> 35192 35193 Reviewed by Sam and Oliver. 35194 35195 Implement PathCairo. This patch is based on changes in Mike Emmel's 35196 WebKit fork with some additional clean-ups and updates. 35197 35198 * platform/graphics/Path.h: 35199 * platform/graphics/cairo/CairoPath.h: Added. 35200 (CairoPath::CairoPath): 35201 (CairoPath::~CairoPath): 35202 * platform/graphics/cairo/GraphicsContextCairo.cpp: 35203 (WebCore::GraphicsContext::clip): 35204 * platform/graphics/cairo/PathCairo.cpp: 35205 (WebCore::Path::Path): 35206 (WebCore::Path::~Path): 35207 (WebCore::Path::operator=): 35208 (WebCore::Path::clear): 35209 (WebCore::Path::isEmpty): 35210 (WebCore::Path::translate): 35211 (WebCore::Path::moveTo): 35212 (WebCore::Path::addLineTo): 35213 (WebCore::Path::addRect): 35214 (WebCore::Path::addQuadCurveTo): 35215 (WebCore::Path::addBezierCurveTo): 35216 (WebCore::Path::addArc): 35217 (WebCore::Path::addArcTo): 35218 (WebCore::Path::addEllipse): 35219 (WebCore::Path::closeSubpath): 35220 (WebCore::Path::boundingRect): 35221 (WebCore::Path::contains): 35222 (WebCore::Path::apply): 35223 (WebCore::Path::transform): 35224 (WebCore::Path::debugString): 35225 35226 2007-05-27 Kevin Ollivier <kevino (a] theolliviers.com> 35227 35228 Reviewed by Sam Weinig. 35229 35230 Consolidate all notImplemented() macro definitions into 35231 one header file for all platforms. 35232 35233 * loader/gdk/DocumentLoaderGdk.cpp: 35234 (WebCore::DocumentLoader::getResponseModifiedHeader): 35235 * loader/gdk/FrameLoaderClientGdk.cpp: 35236 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveAuthenticationChallenge): 35237 (WebCore::FrameLoaderClientGdk::dispatchDidCancelAuthenticationChallenge): 35238 (WebCore::FrameLoaderClientGdk::dispatchWillSendRequest): 35239 (WebCore::FrameLoaderClientGdk::assignIdentifierToInitialRequest): 35240 (WebCore::FrameLoaderClientGdk::createPlugin): 35241 (WebCore::FrameLoaderClientGdk::createFrame): 35242 (WebCore::FrameLoaderClientGdk::redirectDataToPlugin): 35243 (WebCore::FrameLoaderClientGdk::createJavaAppletWidget): 35244 (WebCore::FrameLoaderClientGdk::objectContentType): 35245 (WebCore::FrameLoaderClientGdk::overrideMediaType): 35246 (WebCore::FrameLoaderClientGdk::windowObjectCleared): 35247 (WebCore::FrameLoaderClientGdk::hasWebView): 35248 (WebCore::FrameLoaderClientGdk::hasFrameView): 35249 (WebCore::FrameLoaderClientGdk::frameLoadCompleted): 35250 (WebCore::FrameLoaderClientGdk::saveViewStateToItem): 35251 (WebCore::FrameLoaderClientGdk::restoreViewState): 35252 (WebCore::FrameLoaderClientGdk::privateBrowsingEnabled): 35253 (WebCore::FrameLoaderClientGdk::makeDocumentView): 35254 (WebCore::FrameLoaderClientGdk::makeRepresentation): 35255 (WebCore::FrameLoaderClientGdk::forceLayout): 35256 (WebCore::FrameLoaderClientGdk::forceLayoutForNonHTML): 35257 (WebCore::FrameLoaderClientGdk::setCopiesOnScroll): 35258 (WebCore::FrameLoaderClientGdk::detachedFromParent1): 35259 (WebCore::FrameLoaderClientGdk::detachedFromParent2): 35260 (WebCore::FrameLoaderClientGdk::detachedFromParent3): 35261 (WebCore::FrameLoaderClientGdk::detachedFromParent4): 35262 (WebCore::FrameLoaderClientGdk::loadedFromCachedPage): 35263 (WebCore::FrameLoaderClientGdk::dispatchDidHandleOnloadEvents): 35264 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveServerRedirectForProvisionalLoad): 35265 (WebCore::FrameLoaderClientGdk::dispatchDidCancelClientRedirect): 35266 (WebCore::FrameLoaderClientGdk::dispatchWillPerformClientRedirect): 35267 (WebCore::FrameLoaderClientGdk::dispatchDidChangeLocationWithinPage): 35268 (WebCore::FrameLoaderClientGdk::dispatchWillClose): 35269 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveIcon): 35270 (WebCore::FrameLoaderClientGdk::dispatchDidStartProvisionalLoad): 35271 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveTitle): 35272 (WebCore::FrameLoaderClientGdk::dispatchDidCommitLoad): 35273 (WebCore::FrameLoaderClientGdk::dispatchDidFinishDocumentLoad): 35274 (WebCore::FrameLoaderClientGdk::dispatchDidFirstLayout): 35275 (WebCore::FrameLoaderClientGdk::dispatchShow): 35276 (WebCore::FrameLoaderClientGdk::cancelPolicyCheck): 35277 (WebCore::FrameLoaderClientGdk::dispatchDidLoadMainResource): 35278 (WebCore::FrameLoaderClientGdk::revertToProvisionalState): 35279 (WebCore::FrameLoaderClientGdk::clearUnarchivingState): 35280 (WebCore::FrameLoaderClientGdk::willChangeTitle): 35281 (WebCore::FrameLoaderClientGdk::finishedLoading): 35282 (WebCore::FrameLoaderClientGdk::finalSetupForReplace): 35283 (WebCore::FrameLoaderClientGdk::setDefersLoading): 35284 (WebCore::FrameLoaderClientGdk::isArchiveLoadPending): 35285 (WebCore::FrameLoaderClientGdk::cancelPendingArchiveLoad): 35286 (WebCore::FrameLoaderClientGdk::clearArchivedResources): 35287 (WebCore::FrameLoaderClientGdk::canHandleRequest): 35288 (WebCore::FrameLoaderClientGdk::canShowMIMEType): 35289 (WebCore::FrameLoaderClientGdk::representationExistsForURLScheme): 35290 (WebCore::FrameLoaderClientGdk::generatedMIMETypeForURLScheme): 35291 (WebCore::FrameLoaderClientGdk::provisionalLoadStarted): 35292 (WebCore::FrameLoaderClientGdk::didFinishLoad): 35293 (WebCore::FrameLoaderClientGdk::prepareForDataSourceReplacement): 35294 (WebCore::FrameLoaderClientGdk::setTitle): 35295 (WebCore::FrameLoaderClientGdk::setDocumentViewFromCachedPage): 35296 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveContentLength): 35297 (WebCore::FrameLoaderClientGdk::dispatchDidFinishLoading): 35298 (WebCore::FrameLoaderClientGdk::dispatchDidFailLoading): 35299 (WebCore::FrameLoaderClientGdk::dispatchDidLoadResourceFromMemoryCache): 35300 (WebCore::FrameLoaderClientGdk::dispatchDidFailProvisionalLoad): 35301 (WebCore::FrameLoaderClientGdk::dispatchDidFailLoad): 35302 (WebCore::FrameLoaderClientGdk::download): 35303 (WebCore::FrameLoaderClientGdk::cancelledError): 35304 (WebCore::FrameLoaderClientGdk::blockedError): 35305 (WebCore::FrameLoaderClientGdk::cannotShowURLError): 35306 (WebCore::FrameLoaderClientGdk::interruptForPolicyChangeError): 35307 (WebCore::FrameLoaderClientGdk::cannotShowMIMETypeError): 35308 (WebCore::FrameLoaderClientGdk::fileDoesNotExistError): 35309 (WebCore::FrameLoaderClientGdk::shouldFallBack): 35310 (WebCore::FrameLoaderClientGdk::willUseArchive): 35311 (WebCore::FrameLoaderClientGdk::saveDocumentViewToCachedPage): 35312 (WebCore::FrameLoaderClientGdk::canCachePage): 35313 (WebCore::FrameLoaderClientGdk::dispatchCreatePage): 35314 (WebCore::FrameLoaderClientGdk::dispatchUnableToImplementPolicy): 35315 (WebCore::FrameLoaderClientGdk::setMainDocumentError): 35316 (WebCore::FrameLoaderClientGdk::startDownload): 35317 (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForStandardLoad): 35318 (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForReload): 35319 * loader/qt/DocumentLoaderQt.cpp: 35320 * page/gdk/ContextMenuClientGdk.cpp: 35321 (WebCore::ContextMenuClientGdk::contextMenuDestroyed): 35322 (WebCore::ContextMenuClientGdk::getCustomMenuFromDefaultItems): 35323 (WebCore::ContextMenuClientGdk::contextMenuItemSelected): 35324 (WebCore::ContextMenuClientGdk::downloadURL): 35325 (WebCore::ContextMenuClientGdk::copyImageToClipboard): 35326 (WebCore::ContextMenuClientGdk::searchWithGoogle): 35327 (WebCore::ContextMenuClientGdk::lookUpInDictionary): 35328 (WebCore::ContextMenuClientGdk::speak): 35329 (WebCore::ContextMenuClientGdk::stopSpeaking): 35330 * page/gdk/EventHandlerGdk.cpp: 35331 (WebCore::EventHandler::passMouseDownEventToWidget): 35332 (WebCore::EventHandler::eventActivatedView): 35333 (WebCore::EventHandler::passSubframeEventToSubframe): 35334 (WebCore::EventHandler::passWheelEventToWidget): 35335 (WebCore::EventHandler::createDraggingClipboard): 35336 * page/qt/EventHandlerQt.cpp: 35337 * page/qt/FrameQt.cpp: 35338 * platform/NotImplemented.h: Added. 35339 * platform/gdk/CursorGdk.cpp: 35340 (WebCore::Cursor::Cursor): 35341 * platform/gdk/EditorClientGdk.cpp: 35342 (WebCore::EditorClientGdk::shouldDeleteRange): 35343 (WebCore::EditorClientGdk::isContinuousSpellCheckingEnabled): 35344 (WebCore::EditorClientGdk::isGrammarCheckingEnabled): 35345 (WebCore::EditorClientGdk::spellCheckerDocumentTag): 35346 (WebCore::EditorClientGdk::shouldBeginEditing): 35347 (WebCore::EditorClientGdk::shouldEndEditing): 35348 (WebCore::EditorClientGdk::shouldInsertText): 35349 (WebCore::EditorClientGdk::shouldChangeSelectedRange): 35350 (WebCore::EditorClientGdk::shouldApplyStyle): 35351 (WebCore::EditorClientGdk::didBeginEditing): 35352 (WebCore::EditorClientGdk::respondToChangedContents): 35353 (WebCore::EditorClientGdk::respondToChangedSelection): 35354 (WebCore::EditorClientGdk::didEndEditing): 35355 (WebCore::EditorClientGdk::didWriteSelectionToPasteboard): 35356 (WebCore::EditorClientGdk::didSetSelectionTypesForPasteboard): 35357 (WebCore::EditorClientGdk::selectWordBeforeMenuEvent): 35358 (WebCore::EditorClientGdk::isEditable): 35359 (WebCore::EditorClientGdk::registerCommandForUndo): 35360 (WebCore::EditorClientGdk::registerCommandForRedo): 35361 (WebCore::EditorClientGdk::clearUndoRedoOperations): 35362 (WebCore::EditorClientGdk::canUndo): 35363 (WebCore::EditorClientGdk::canRedo): 35364 (WebCore::EditorClientGdk::undo): 35365 (WebCore::EditorClientGdk::redo): 35366 (WebCore::EditorClientGdk::shouldInsertNode): 35367 (WebCore::EditorClientGdk::pageDestroyed): 35368 (WebCore::EditorClientGdk::smartInsertDeleteEnabled): 35369 (WebCore::EditorClientGdk::toggleContinuousSpellChecking): 35370 (WebCore::EditorClientGdk::handleInputMethodKeypress): 35371 (WebCore::EditorClientGdk::textFieldDidBeginEditing): 35372 (WebCore::EditorClientGdk::textFieldDidEndEditing): 35373 (WebCore::EditorClientGdk::textDidChangeInTextField): 35374 (WebCore::EditorClientGdk::doTextFieldCommandFromEvent): 35375 (WebCore::EditorClientGdk::textWillBeDeletedInTextField): 35376 (WebCore::EditorClientGdk::textDidChangeInTextArea): 35377 * platform/gdk/FrameGdk.cpp: 35378 (WebCore::Frame::print): 35379 (WebCore::Frame::issueTransposeCommand): 35380 (WebCore::Frame::cleanupPlatformScriptObjects): 35381 (WebCore::Frame::dragImageForSelection): 35382 * platform/gdk/NotImplementedGdk.h: Removed. 35383 * platform/gdk/PopupMenuGdk.cpp: 35384 (WebCore::PopupMenu::PopupMenu): 35385 (WebCore::PopupMenu::~PopupMenu): 35386 (WebCore::PopupMenu::show): 35387 (WebCore::PopupMenu::hide): 35388 (WebCore::PopupMenu::updateFromElement): 35389 * platform/gdk/RenderThemeGdk.cpp: 35390 (WebCore::RenderThemeGdk::setCheckboxSize): 35391 (WebCore::RenderThemeGdk::setRadioSize): 35392 (WebCore::RenderThemeGdk::adjustTextFieldStyle): 35393 * platform/gdk/ScreenGdk.cpp: 35394 (WebCore::screenDepthPerComponent): 35395 (WebCore::screenIsMonochrome): 35396 (WebCore::screenRect): 35397 (WebCore::screenAvailableRect): 35398 * platform/gdk/ScrollViewGdk.cpp: 35399 (WebCore::ScrollView::update): 35400 (WebCore::ScrollView::addChild): 35401 (WebCore::ScrollView::removeChild): 35402 (WebCore::ScrollView::scrollRectIntoViewRecursively): 35403 (WebCore::ScrollView::inWindow): 35404 (WebCore::ScrollView::wheelEvent): 35405 (WebCore::ScrollView::updateScrollbars): 35406 (WebCore::ScrollView::updateScrollInfo): 35407 (WebCore::ScrollView::windowToContents): 35408 (WebCore::ScrollView::contentsToWindow): 35409 (WebCore::ScrollView::scrollbarUnderMouse): 35410 * platform/gdk/TemporaryLinkStubs.cpp: 35411 (FrameView::updateBorder): 35412 (WebCore::findNextWordFromIndex): 35413 (WebCore::currentTextBreakLocaleID): 35414 (ChromeClientGdk::chromeDestroyed): 35415 (ChromeClientGdk::windowRect): 35416 (ChromeClientGdk::setWindowRect): 35417 (ChromeClientGdk::pageRect): 35418 (ChromeClientGdk::scaleFactor): 35419 (ChromeClientGdk::focus): 35420 (ChromeClientGdk::unfocus): 35421 (ChromeClientGdk::createWindow): 35422 (ChromeClientGdk::createModalDialog): 35423 (ChromeClientGdk::show): 35424 (ChromeClientGdk::canRunModal): 35425 (ChromeClientGdk::runModal): 35426 (ChromeClientGdk::setToolbarsVisible): 35427 (ChromeClientGdk::toolbarsVisible): 35428 (ChromeClientGdk::setStatusbarVisible): 35429 (ChromeClientGdk::statusbarVisible): 35430 (ChromeClientGdk::setScrollbarsVisible): 35431 (ChromeClientGdk::scrollbarsVisible): 35432 (ChromeClientGdk::setMenubarVisible): 35433 (ChromeClientGdk::menubarVisible): 35434 (ChromeClientGdk::setResizable): 35435 (ChromeClientGdk::closeWindowSoon): 35436 (ChromeClientGdk::canTakeFocus): 35437 (ChromeClientGdk::takeFocus): 35438 (ChromeClientGdk::canRunBeforeUnloadConfirmPanel): 35439 (ChromeClientGdk::addMessageToConsole): 35440 (ChromeClientGdk::runBeforeUnloadConfirmPanel): 35441 (ChromeClientGdk::runJavaScriptAlert): 35442 (ChromeClientGdk::runJavaScriptConfirm): 35443 (ChromeClientGdk::runJavaScriptPrompt): 35444 (ChromeClientGdk::setStatusbarText): 35445 (ChromeClientGdk::shouldInterruptJavaScript): 35446 (ChromeClientGdk::tabsToLinks): 35447 (ChromeClientGdk::windowResizerRect): 35448 (ChromeClientGdk::addToDirtyRegion): 35449 (ChromeClientGdk::scrollBackingStore): 35450 (ChromeClientGdk::updateBackingStore): 35451 (PlugInInfoStore::createPluginInfoForPluginAtIndex): 35452 (PlugInInfoStore::pluginCount): 35453 (WebCore::PlugInInfoStore::supportsMIMEType): 35454 (WebCore::refreshPlugins): 35455 (SearchPopupMenu::saveRecentSearches): 35456 (SearchPopupMenu::loadRecentSearches): 35457 (SearchPopupMenu::SearchPopupMenu): 35458 (SearchPopupMenu::enabled): 35459 (FileChooser::FileChooser): 35460 (FileChooser::~FileChooser): 35461 (FileChooser::openFileChooser): 35462 (FileChooser::basenameForWidth): 35463 (ResourceHandle::willLoadFromCache): 35464 (ResourceHandle::loadsBlocked): 35465 (ResourceHandle::loadResourceSynchronously): 35466 (Icon::Icon): 35467 (Icon::~Icon): 35468 (Icon::newIconForFile): 35469 (Icon::paint): 35470 (Font::selectionRectForComplexText): 35471 (Font::drawComplexText): 35472 (Font::floatWidthForComplexText): 35473 (Font::offsetForPositionForComplexText): 35474 (CachedPage::close): 35475 (Editor::newGeneralClipboard): 35476 (Pasteboard::generalPasteboard): 35477 (Pasteboard::writeSelection): 35478 (Pasteboard::writeURL): 35479 (Pasteboard::writeImage): 35480 (Pasteboard::clear): 35481 (Pasteboard::canSmartReplace): 35482 (Pasteboard::documentFragment): 35483 (Pasteboard::plainText): 35484 (Pasteboard::Pasteboard): 35485 (Pasteboard::~Pasteboard): 35486 (ContextMenu::ContextMenu): 35487 (ContextMenu::~ContextMenu): 35488 (ContextMenu::appendItem): 35489 (ContextMenuItem::ContextMenuItem): 35490 (ContextMenuItem::~ContextMenuItem): 35491 (ContextMenuItem::releasePlatformDescription): 35492 (ContextMenuItem::type): 35493 (ContextMenuItem::setType): 35494 (ContextMenuItem::action): 35495 (ContextMenuItem::setAction): 35496 (ContextMenuItem::title): 35497 (ContextMenuItem::setTitle): 35498 (ContextMenuItem::platformSubMenu): 35499 (ContextMenuItem::setSubMenu): 35500 (ContextMenuItem::setChecked): 35501 (ContextMenuItem::setEnabled): 35502 (WebCore::supportedKeySizes): 35503 (WebCore::systemBeep): 35504 (WebCore::userIdleTime): 35505 * platform/graphics/cairo/GraphicsContextCairo.cpp: 35506 * platform/graphics/cairo/ImageBufferCairo.cpp: 35507 * platform/graphics/cairo/PathCairo.cpp: 35508 * platform/graphics/gdk/ImageGdk.cpp: 35509 * platform/graphics/qt/GraphicsContextQt.cpp: 35510 * platform/graphics/qt/IconQt.cpp: 35511 * platform/graphics/qt/ImageQt.cpp: 35512 * platform/network/gdk/ResourceHandleCurl.cpp: 35513 (WebCore::ResourceHandle::setDefersLoading): 35514 * platform/network/gdk/ResourceHandleManager.cpp: 35515 (WebCore::ResourceHandleManager::setupPUT): 35516 (WebCore::ResourceHandleManager::setupPOST): 35517 * platform/network/qt/ResourceHandleQt.cpp: 35518 * platform/qt/ClipboardQt.cpp: 35519 * platform/qt/CursorQt.cpp: 35520 * platform/qt/DragDataQt.cpp: 35521 * platform/qt/FileChooserQt.cpp: 35522 * platform/qt/MimeTypeRegistryQt.cpp: 35523 * platform/qt/PasteboardQt.cpp: 35524 * platform/qt/PlatformScrollBarQt.cpp: 35525 * platform/qt/PopupMenuQt.cpp: 35526 * platform/qt/ScrollViewQt.cpp: 35527 * platform/qt/TemporaryLinkStubs.cpp: 35528 * platform/qt/TextBoundaries.cpp: 35529 * platform/qt/WidgetQt.cpp: 35530 * platform/win/FontWin.cpp: 35531 * platform/win/TemporaryLinkStubs.cpp: 35532 * platform/wx/ClipboardWx.cpp: 35533 * platform/wx/FontWx.cpp: 35534 * platform/wx/ScrollViewWx.cpp: 35535 * platform/wx/SharedTimerWx.cpp: 35536 * platform/wx/TemporaryLinkStubs.cpp: 35537 35538 2007-05-27 Rob Buis <buis (a] kde.org> 35539 35540 Reviewed by Oliver. 35541 35542 http://bugs.webkit.org/show_bug.cgi?id=13828 35543 x/y values on rootmost <svg> elements should be ignored 35544 35545 Make sure that root-most <svg> elements do not take into account x/y. 35546 35547 * ksvg2/svg/SVGSVGElement.cpp: 35548 (WebCore::SVGSVGElement::viewport): 35549 (WebCore::SVGSVGElement::getCTM): 35550 (WebCore::SVGSVGElement::getScreenCTM): 35551 * rendering/RenderSVGContainer.cpp: 35552 (WebCore::RenderSVGContainer::calcViewport): 35553 35554 2007-05-26 David Hyatt <hyatt (a] apple.com> 35555 35556 Fix for radar bug 5219562, PNG isn't displayed on SVG test suite. 35557 Improve <object> error handling so that it recovers properly when 35558 <td> is used inside it. 35559 35560 Reviewed by olliej 35561 35562 Added fast/invalid/td-inside-object.html 35563 35564 * html/HTMLObjectElement.h: 35565 (WebCore::HTMLObjectElement::tagPriority): 35566 * html/HTMLParser.cpp: 35567 (WebCore::HTMLParser::handleError): 35568 * html/HTMLParserErrorCodes.cpp: 35569 (WebCore::htmlParserErrorMessageTemplate): 35570 * html/HTMLParserErrorCodes.h: 35571 35572 2007-05-26 David Hyatt <hyatt (a] apple.com> 35573 35574 Don't compare the "isset" variables in background layers, since they 35575 lead us to turn off the Aqua look incorrectly, even when the background 35576 matches the default. 35577 35578 Reviewed by olliej 35579 35580 * rendering/RenderStyle.cpp: 35581 (WebCore::BackgroundLayer::operator==): 35582 35583 2007-05-26 David Hyatt <hyatt (a] apple.com> 35584 35585 Improve the </p> -> <p></p> error message to not spew two errors. 35586 Fix a bug where errors reported inside document.write didn't get 35587 reported as such because of a mistake in the notation of SegmentedString. 35588 35589 Reviewed by aroben 35590 35591 * html/HTMLParser.cpp: 35592 (WebCore::HTMLParser::processCloseTag): 35593 * platform/SegmentedString.h: 35594 (WebCore::SegmentedSubstring::clear): 35595 35596 2007-05-26 David Hyatt <hyatt (a] apple.com> 35597 35598 Fix for bug 13887, percentage height block not sized correctly inside 35599 positioned percentage height containing block. 35600 35601 Reviewed by mitz 35602 35603 fast/block/positioning/complex-percentage-height.html 35604 35605 * rendering/RenderBox.cpp: 35606 (WebCore::RenderBox::calcPercentageHeight): 35607 35608 2007-05-26 Mitz Pettel <mitz (a] webkit.org> 35609 35610 Reviewed by Oliver Hunt. 35611 35612 - finish fixing http://bugs.webkit.org/show_bug.cgi?id=13871 35613 Box shadow should not apply to Aqua-themed controls 35614 35615 Covered by fast/forms/box-shadow-override.html 35616 35617 I forgot to include adjustSliderThumbStyle in the previous patch and the 35618 test didn't detect it because of a bug introduced in r21739. 35619 35620 * rendering/RenderThemeMac.h: 35621 * rendering/RenderThemeMac.mm: 35622 (WebCore::RenderThemeMac::adjustSliderThumbStyle): 35623 35624 2007-05-26 Mitz Pettel <mitz (a] webkit.org> 35625 35626 Reviewed by Hyatt. 35627 35628 - fix http://bugs.webkit.org/show_bug.cgi?id=13876 35629 Box-Shadow disappears if shadow doesn't fit in the window size 35630 35631 Tests: fast/repaint/box-shadow-h.html 35632 fast/repaint/box-shadow-v.html 35633 35634 * rendering/RenderTable.cpp: 35635 (WebCore::RenderTable::layout): 35636 35637 2007-05-26 Alexey Proskuryakov <ap (a] webkit.org> 35638 35639 Reviewed by Darin. 35640 35641 http://bugs.webkit.org/show_bug.cgi?id=13605 35642 REGRESSION: Browser crashes when switching Kotoeri input modes 35643 35644 The problem could no longer be reproduced with Kotoeri thanks to 35645 a fix in <http://trac.webkit.org/projects/webkit/changeset/21728>, 35646 but we still need to protect from invalid ranges passed from 35647 input methods. 35648 35649 Test: editing/input/replace-invalid-range.html 35650 35651 * page/mac/WebCoreFrameBridge.mm: 35652 (-[WebCoreFrameBridge selectNSRange:]): Added a null check. 35653 35654 2007-05-26 Darin Adler <darin (a] apple.com> 35655 35656 * platform/network/mac/ResourceResponseMac.mm: 35657 (WebCore::ResourceResponse::doUpdateResourceResponse): 35658 Alexey pointed out that I was wrong about object lifetime, so 35659 rolling this change out. 35660 35661 2007-05-26 Darin Adler <darin (a] apple.com> 35662 35663 Reviewed by Anders. 35664 35665 * platform/network/mac/ResourceResponseMac.mm: 35666 (WebCore::ResourceResponse::doUpdateResourceResponse): 35667 Fixed code where a temporary String is used after destroyed. 35668 35669 2007-05-26 Mitz Pettel <mitz (a] webkit.org> 35670 35671 Reviewed by Darin. 35672 35673 - http://bugs.webkit.org/show_bug.cgi?id=13842 35674 Simplify Color::light() and Color::dark() 35675 35676 Not testable. 35677 35678 * platform/graphics/Color.cpp: 35679 (WebCore::Color::light): 35680 (WebCore::Color::dark): 35681 35682 2007-05-26 Mitz Pettel <mitz (a] webkit.org> 35683 35684 Reviewed by Darin. 35685 35686 - fix http://bugs.webkit.org/show_bug.cgi?id=13870 35687 RenderFrameSet should only allow frame and frameset children 35688 35689 Covered by fast/frames/inline-object-inside-frameset.html 35690 35691 * rendering/RenderFrame.h: 35692 (WebCore::RenderFrame::isFrame): Added. 35693 * rendering/RenderFrameSet.cpp: 35694 (WebCore::RenderFrameSet::paint): Removed check for inline objects that is 35695 no longer needed. 35696 (WebCore::RenderFrameSet::isChildAllowed): Added. Allows the child only 35697 if it is a frame or another frameset. 35698 * rendering/RenderFrameSet.h: 35699 * rendering/RenderObject.h: 35700 (WebCore::RenderObject::isFrame): Added. 35701 35702 2007-05-26 Mitz Pettel <mitz (a] webkit.org> 35703 35704 Reviewed by Darin. 35705 35706 - http://bugs.webkit.org/show_bug.cgi?id=13871 35707 Box shadow should not apply to Aqua-themed controls 35708 35709 Test: fast/forms/box-shadow-override.html 35710 35711 * rendering/RenderTheme.cpp: 35712 (WebCore::RenderTheme::adjustCheckboxStyle): 35713 (WebCore::RenderTheme::adjustRadioStyle): 35714 * rendering/RenderThemeMac.h: 35715 * rendering/RenderThemeMac.mm: 35716 (WebCore::RenderThemeMac::adjustButtonStyle): 35717 (WebCore::RenderThemeMac::adjustMenuListStyle): 35718 (WebCore::RenderThemeMac::adjustSliderTrackStyle): 35719 (WebCore::RenderThemeMac::adjustSearchFieldStyle): 35720 (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle): 35721 (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle): 35722 (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle): 35723 (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle): 35724 35725 2007-05-26 Holger Freyther <zecke (a] selfish.org> 35726 35727 Reviewed by Anders. 35728 35729 * platform/gdk/FrameGdk.cpp: Catch up to make it compile 35730 (WebCore::FrameGdk::FrameGdk): The Settings is now owned by the Page 35731 35732 2007-05-25 Sam Weinig <sam (a] webkit.org> 35733 35734 Reviewed by Oliver of the Hunt. 35735 35736 Fixed <rdar://problem/5230247> at least 43 xhtml tests fail in 35737 Leopard because they are being interpreted as html 35738 35739 Adds a work around for <rdar://problem/5230154> which explicitly 35740 sets local .xhtml files to have the MIME type application/xhtml+xml. 35741 35742 * platform/network/mac/ResourceResponseMac.mm: 35743 (WebCore::ResourceResponse::doUpdateResourceResponse): 35744 35745 2007-05-25 Geoffrey Garen <ggaren (a] apple.com> 35746 35747 Reviewed by Darin Adler. 35748 35749 Fixed <rdar://problem/5055182> The page cache has no global cap. 35750 35751 Beefed up the PageCache class to track which HistoryItems are 35752 cached, and decide how to evict old HistoryItems as new ones are 35753 added. 35754 35755 * history/BackForwardList.cpp: Removed support for managing the page cache 35756 through the BackForwardList since this is deprecated in Mac's 35757 WebBackForwardList, and doesn't exist on other platforms. 35758 35759 Added a Page* back pointer so that Mac WebBackForwardList can still support 35760 its deprecated API, using the new hotness. This isn't a big burden, since 35761 Page is responsible for calling BackForwardList::close upon destruction, 35762 anyway. 35763 35764 * history/HistoryItem.cpp: Replaced CachedPage* with boolean that tells 35765 you whether you're in the page cache. This prevents us from having more 35766 than one persistent repository for cached pages. 35767 35768 * history/PageCache.cpp: If you're playing along at home, this code is 35769 the reason for the patch. 35770 35771 * loader/FrameLoader.cpp: If you're playing along at home, the minuses in 35772 this file are the reason for the patch. 35773 35774 Replaced call to FrameLoaderClient::loadedFromCachedPage with its one-line 35775 implementation because WebCore calling itself through WebKit is uncivilized. 35776 35777 * page/Settings.cpp: Added support for removing a Page's HistoryItems from 35778 the page cache. 35779 35780 2007-05-25 Mitz Pettel <mitz (a] webkit.org> 35781 35782 Reviewed by Darin. 35783 35784 - fix http://bugs.webkit.org/show_bug.cgi?id=13869 35785 Many leaks seen on buildbot after r21735 35786 35787 - fix another regression from r21739: ::-webkit-slider-thumb style not 35788 applied. 35789 35790 Test: fast/forms/slider-thumb-stylability.html 35791 35792 * rendering/RenderSlider.cpp: 35793 (WebCore::RenderSlider::setStyle): 35794 (WebCore::RenderSlider::createThumbStyle): 35795 35796 2007-05-25 Justin Garcia <justin.garcia (a] apple.com> 35797 35798 Reviewed by Harrison. 35799 35800 <rdar://problem/5228141> 35801 REGRESSION: Can't apply style to selection that ends after an image 35802 35803 * editing/ApplyStyleCommand.cpp: 35804 (WebCore::ApplyStyleCommand::applyInlineStyle): 35805 Use range compliant equivalents when creating the Range 35806 used to compute pastEndNode(), otherwise Range's constructor 35807 ASSERTs and pastEndNode() returns null. Added a testcase. 35808 If the incoming Range is collapsed at [br, 0], callers want 35809 the style to be applied to the br, so expand the Range to include 35810 it. We got away without expanding before because pastEndNode 35811 of a Range from [br, 0] to [br, 0] is the node after the br. 35812 Using range compliant equivalents changed that. There's already 35813 test coverage for this change. 35814 Changed while loop termination for finding the end of a run 35815 so that we don't process pastEnd. end.node() may now be 35816 non-atomic and we'd blow past it. There's already test 35817 coverage for this change. 35818 35819 2007-05-25 Beth Dakin <bdakin (a] apple.com> 35820 35821 Rubber stamped by Hyatt 35822 35823 Adding an ASSERT for good measure. 35824 35825 * page/FrameView.cpp: 35826 (WebCore::FrameView::layout): 35827 35828 2007-05-25 Kevin McCullough <kmccullough (a] apple.com> 35829 35830 Reviewed by Geoff. 35831 35832 - <rdar://problem/5183523> REGRESSION: Excel: Worksheet tabs in spreadsheet saved as web page don't work 35833 - Change load to check the URL as well as the referrer since it is possilbe to have a referrer which limits a load even thought the URL would allow it. There is a bug about how we need to re-evaluate the whole load architecture: <rdar://problem/5227992> Rethink canLoad() to have a consistent and comprehensive architecture. 35834 35835 * loader/FrameLoader.cpp: 35836 (WebCore::FrameLoader::loadSubframe): 35837 (WebCore::FrameLoader::load): 35838 (WebCore::FrameLoader::canLoad): 35839 * loader/FrameLoader.h: 35840 35841 2007-05-25 Anders Carlsson <andersca (a] apple.com> 35842 35843 Reviewed by Brady. 35844 35845 <rdar://problem/5209536> 35846 http://bugs.webkit.org/show_bug.cgi?id=13757 35847 REGRESSION: Leaks seen on buildbot after r21497. 35848 35849 Fix multipart data loading so it works like Tiger Safari. When one part of a multipart connection has been loaded, 35850 move the subresource loader from the subresource loaders set and into a special multipart subresource loader set. This set 35851 is not considered when asking a document loader if it's currently loading. 35852 35853 * loader/DocumentLoader.cpp: 35854 (WebCore::DocumentLoader::stopLoading): 35855 Always stop the multipart subresource loaders here. 35856 35857 (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart): 35858 New function that moves the loader from m_subresourceLoaders to m_multipartSubresourceLoaders and updates the document loader's state. 35859 35860 * loader/ProgressTracker.cpp: 35861 (WebCore::ProgressTracker::incrementProgress): 35862 If a progress item already exists, reuse it. This can happen in some rare circumstances when dealing with multipart data. 35863 35864 * loader/SubresourceLoader.cpp: 35865 (WebCore::SubresourceLoader::didReceiveResponse): 35866 Call subresourceLoaderFinishedLoadingOnePart if the response is multipart. 35867 35868 2007-05-25 Patti Hoa <patti (a] apple.com> 35869 35870 Reviewed by Tim Hatcher. 35871 35872 <rdar://problem/4918397> Exception raise inspecting note contents in the background 35873 35874 * bridge/mac/WebCoreAXObject.mm: 35875 (-[WebCoreAXObject accessibilityDescription]): 35876 Only allow asking the attachmentView for description if attachmentView supports this description attribute 35877 35878 2007-05-25 Beth Dakin <bdakin (a] apple.com> 35879 35880 Reviewed by Oliver and Hyatt. 35881 35882 Fix for <rdar://problem/5228363> REGRESSION: In Mail, attempting to 35883 create a To Do results in a crash 35884 35885 This regressed with r21635. Now that -boundingBox updates layout if 35886 it is needed, we infinitely recurse when Mail draws a custom 35887 highlight. The fix is to put a guard around laying out the render 35888 tree. 35889 35890 * page/FrameView.cpp: 35891 (WebCore::FrameViewPrivate::reset): 35892 (WebCore::FrameView::layout): 35893 35894 2007-05-25 Patti Hoa <patti (a] apple.com> 35895 35896 Reviewed by John Sullivan. 35897 35898 <rdar://problem/5221986> selection in web areas doesn't seem to be working for text navigation 35899 35900 * bridge/mac/WebCoreAXObject.mm: 35901 (-[WebCoreAXObject accessibilityIsAttributeSettable:]): 35902 Fixed up incorrect string comparison for AXSelectedTextMarkerRange ax attribute so 35903 this attribute can actually announce its settability. 35904 35905 2007-05-25 Darin Adler <darin (a] apple.com> 35906 35907 Reviewed by Alice. 35908 35909 - fix <rdar://problem/5228048> REGRESSION: In a new Mail message, the caret isn't 35910 immediately inserted when tabbing into or clicking in the message body 35911 35912 This latent problem was uncovered by <http://trac.webkit.org/projects/webkit/changeset/21476>, 35913 which removed some code that did extra work whenever setCaretVisible made the caret visible. 35914 35915 * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Call invalidateCaretRect 35916 when turning the caret on. All other call sites that touched m_caretPaint were doing 35917 this, but this was not. 35918 35919 2007-05-25 Darin Adler <darin (a] apple.com> 35920 35921 Reviewed by Harrison. 35922 35923 * DerivedSources.make: Tweaked spelling. 35924 35925 2007-05-25 Mitz Pettel <mitz (a] webkit.org> 35926 35927 Reviewed by Darin. 35928 35929 - fix http://bugs.webkit.org/show_bug.cgi?id=13872 35930 REGRESSION: An empty search field can have a cancel button 35931 35932 Test: fast/forms/search-cancel-button-style-sharing.html 35933 35934 * rendering/RenderTextControl.cpp: 35935 (WebCore::RenderTextControl::createCancelButtonStyle): Prevented sharing of 35936 the cancel button style between search fields that share style, because 35937 each search field mutates the style to show and hide the cancel button. 35938 35939 2007-05-25 David Harrison <harrison (a] apple.com> 35940 35941 Reviewed by Kevin and Geoff. 35942 35943 * DerivedSources.make: 35944 Add an inclusion guard for CSSGrammar.h and XPathGrammar.h, because older versions of bison do not 35945 35946 * css/maketokenizer: 35947 Unconditionally define the flex basic types that are not part of newer versions of flex. Was 35948 only needed on Linux. Now needed on Mac OS 10.5, and is OK to do on 10.4.9. 35949 35950 2007-05-25 Geoffrey Garen <ggaren (a] apple.com> 35951 35952 Reviewed by Darin Adler. 35953 35954 Moved JavaScriptCore-related pending public API to public API. 35955 35956 Moved -JSObject 35957 35958 * bindings/objc/WebScriptObjectPendingPublic.h: from here 35959 * bindings/objc/WebScriptObject.h: to here 35960 * bindings/objc/WebScriptObject.mm: and out of its temporary category 35961 35962 2007-05-25 Mitz Pettel <mitz (a] webkit.org> 35963 35964 Reviewed by Darin. 35965 35966 - fix http://bugs.webkit.org/show_bug.cgi?id=13767 35967 REGRESSION: Multipart image documents are garbled 35968 35969 Test: http/tests/multipart/invalid-image-data-standalone.html 35970 35971 * loader/DocumentLoader.cpp: 35972 (WebCore::DocumentLoader::isLoadingMultipartContent): Added. 35973 * loader/DocumentLoader.h: 35974 * loader/ImageDocument.cpp: 35975 (WebCore::ImageTokenizer::finish): If the image is multipart, make a copy 35976 of the current part instead of using the resource data, which is going to be 35977 overwritten by the next part. 35978 * loader/MainResourceLoader.h: 35979 (WebCore::MainResourceLoader::isLoadingMultipartContent): Added. 35980 35981 2007-05-25 Anders Carlsson <andersca (a] apple.com> 35982 35983 Fix no-svg build. 35984 35985 * bindings/js/kjs_html.cpp: 35986 (KJS::HTMLElementFunction::callAsFunction): 35987 35988 2007-05-25 Anders Carlsson <andersca (a] apple.com> 35989 35990 Reviewed by Mitz. 35991 35992 <rdar://problem/5226788> After resizing the window larger than the image, hovering over the image still shows magnify glass 35993 35994 One part of the bug was already fixed by my previous commit. This fixes the case where the window is sized so the image fit 35995 after it has been zoomed in. 35996 35997 * loader/ImageDocument.cpp: 35998 (WebCore::ImageDocument::windowSizeChanged): 35999 36000 2007-05-25 John Sullivan <sullivan (a] apple.com> 36001 36002 Reviewed by Anders and Tim 36003 36004 - WebCore change for: 36005 <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting to grammar/spellcheck a word in a reply 36006 36007 * editing/Editor.cpp: 36008 (WebCore::findFirstBadGrammarInRange): 36009 Use the more obvious way to check whether a range is empty. In this case the more obvious way 36010 would also have caused no problem to occur. Also added an assertion. Though this change is 36011 enough to fix the symptom of the bug, the real fix is in WebKit. 36012 36013 2007-05-25 Anders Carlsson <andersca (a] apple.com> 36014 36015 Reviewed by Darin (Sorta). 36016 36017 * loader/ImageDocument.cpp: 36018 (WebCore::ImageDocument::restoreImageSize): 36019 Use removeProperty here. 36020 36021 2007-05-25 Geoffrey Garen <ggaren (a] apple.com> 36022 36023 Reviewed by Darin Adler. 36024 36025 Some cleanup to Cache while Fixing <rdar://problem/5055182> The page cache 36026 has no global cap. 36027 36028 * loader/Cache.cpp: Removed destructor to help identify this class as a 36029 singleton. 36030 36031 * loader/Cache.h: Made constructor and destructor private to match the 36032 singleton model of PageCache. 36033 36034 Put structs related to Cache inside its declaration to fix some namespace 36035 conflicts I had while writing my patch. (They don't exist anymore, but 36036 I figured this might help future development.) 36037 36038 2007-05-24 Geoffrey Garen <ggaren (a] apple.com> 36039 36040 Reviewed by Darin Adler. 36041 36042 Fixed a bug with Settings where a number of different objects held bare 36043 Settings* data members, even though the Page owns the Settings object and 36044 deletes it upon destruction. 36045 36046 Added NULL checks since the Page can be deleted before the frame/document. 36047 36048 * page/Settings.cpp: Removed reliance on setNeedsReapplyStylesForSettingsChange. 36049 36050 * css/cssstyleselector.cpp: CSSStyleSelector was the worst offender. It 36051 held a number of back pointers that were not guaranteed. I removed the 36052 Settings*, Frame*, and FrameView* back pointers, but others could probably 36053 go, too. I replaced them with a single Document* pointer, which is guaranteed 36054 because the Document owns the CSSStyleSelector. 36055 36056 * page/Page.cpp: Removed setNeedsReapplyStylesForSettingsChange -- the 36057 Settings object is now a proper subcontroller of Page, so it doesn't need 36058 to use a global table to find its page anymore. Also, this function 36059 confusingly implied that the Frames in a page can have heterogeneous settings, 36060 which is not true. 36061 36062 2007-05-25 David Hyatt <hyatt (a] apple.com> 36063 36064 Make sure -webkit-border-fit accounts for padding as well as border. 36065 36066 Reviewed by aroben 36067 36068 * rendering/RenderBlock.cpp: 36069 (WebCore::RenderBlock::borderFitAdjust): 36070 36071 2007-05-25 David Hyatt <hyatt (a] apple.com> 36072 36073 Rework line numbering (again). This time I finally think I have 36074 it right for all the document.write insanity that can occur. 36075 36076 Reviewed by aroben 36077 36078 * html/HTMLParser.cpp: 36079 (WebCore::HTMLParser::reportErrorToConsole): 36080 * html/HTMLParserErrorCodes.cpp: 36081 (WebCore::htmlParserDocumentWriteMessage): 36082 * html/HTMLParserErrorCodes.h: 36083 * html/HTMLTokenizer.cpp: 36084 (WebCore::HTMLTokenizer::write): 36085 * html/HTMLTokenizer.h: 36086 (WebCore::HTMLTokenizer::lineNumberPtr): 36087 (WebCore::HTMLTokenizer::processingContentWrittenByScript): 36088 * platform/SegementedSring.cpp 36089 (WebCore::SegmentedString::setExcludeLineNumbers): 36090 * platform/SegmentedString.h: 36091 (WebCore::SegmentedSubstring::SegmentedSubstring): 36092 (WebCore::SegmentedSubstring::clear): 36093 (WebCore::SegmentedSubstring::excludeLineNumbers): 36094 (WebCore::SegmentedSubstring::setExcludeLineNumbers): 36095 (WebCore::SegmentedString::excludeLineNumbers): 36096 (WebCore::SegmentedString::advance): 36097 36098 2007-05-24 Geoffrey Garen <ggaren (a] apple.com> 36099 36100 Reviewed by Adam Roben. 36101 36102 Added a debug-only CachedPage counter. This helped me track down an SVG 36103 timer bug in my recent page cache work. 36104 36105 * history/CachedPage.cpp: 36106 36107 2007-05-24 David Hyatt <hyatt (a] apple.com> 36108 36109 Improve <form> error reporting to catch <form>s inside table parts. 36110 Tweak the wording of some of the error messages to be a bit better. 36111 36112 Reviewed by olliej 36113 36114 * html/HTMLParser.cpp: 36115 (WebCore::HTMLParser::insertNode): 36116 (WebCore::HTMLParser::processCloseTag): 36117 (WebCore::HTMLParser::popBlock): 36118 * html/HTMLParserErrorCodes.cpp: 36119 (WebCore::htmlParserErrorMessageTemplate): 36120 * html/HTMLParserErrorCodes.h: 36121 36122 2007-05-24 Rob Buis <buis (a] kde.org> 36123 36124 Reviewed by Hyatt. 36125 36126 http://bugs.webkit.org/show_bug.cgi?id=4104 36127 first-letter not updating style with hover 36128 http://bugs.webkit.org/show_bug.cgi?id=13169 36129 css-formatted first letter won't hide dynamically 36130 36131 Update first letter when RenderBlock::setStyle is called. 36132 36133 * css/cssstyleselector.cpp: 36134 (WebCore::CSSStyleSelector::checkOneSelector): 36135 * dom/Document.cpp: 36136 (WebCore::Document::Document): 36137 (WebCore::Document::createElement): 36138 * dom/Document.h: 36139 (WebCore::Document::usesFirstLetterRules): 36140 (WebCore::Document::setUsesFirstLetterRules): 36141 * rendering/RenderBlock.cpp: 36142 (WebCore::RenderBlock::setStyle): 36143 (WebCore::RenderBlock::updateFirstLetter): 36144 36145 2007-05-24 Mitz Pettel <mitz (a] webkit.org> 36146 36147 Reviewed by Darin. 36148 36149 - fix http://bugs.webkit.org/show_bug.cgi?id=13800 36150 REGRESSION: Moving a slider moves another unrelated slider 36151 36152 Test: fast/forms/slider-thumb-shared-style.html 36153 36154 RenderSlider mutates the thumb's style, therefore it must not be shared 36155 with another slider's thumb, a situation that could occur if the sliders 36156 themselves shared style. 36157 36158 * rendering/RenderSlider.cpp: 36159 (WebCore::RenderSlider::createThumbStyle): Always use a private copy for 36160 the thumb style. 36161 36162 2007-05-24 Adele Peterson <adele (a] apple.com> 36163 36164 Reviewed by Darin. 36165 36166 Fix for <rdar://problem/5211921> Form values sometimes get transposed (iGoogle) 36167 36168 Test: fast/history/redirect-load-no-form-restoration.html 36169 36170 * history/HistoryItem.cpp: 36171 (WebCore::HistoryItem::setURL): Clear the document state when the url changes for a HistoryItem. 36172 (WebCore::HistoryItem::isCurrentDocument): Added. Compares the HistoryItem url to the document's url. This might not be the best way to do this, but it works for now. 36173 * history/HistoryItem.h: 36174 * loader/FrameLoader.cpp: (WebCore::FrameLoader::saveDocumentState): Only set the document (and form) state if the document is current for the history item. 36175 36176 2007-05-24 Mitz Pettel <mitz (a] webkit.org> 36177 36178 Reviewed by Adele. 36179 36180 - fix http://bugs.webkit.org/show_bug.cgi?id=13857 36181 REGRESSION: onChange function applied to select element executes twice when focus is set 36182 36183 Test: fast/forms/select-double-onchange.html 36184 36185 * html/HTMLSelectElement.cpp: 36186 (WebCore::HTMLSelectElement::menuListOnChange): Changed to update m_lastOnChangeIndex 36187 before dispatching the change event to avoid reentrancy. 36188 36189 2007-05-24 Darin Adler <darin (a] apple.com> 36190 36191 Reviewed by Hyatt. 36192 36193 - fix <rdar://problem/5226451> REGRESSION (21618): Mail block quotes 36194 are missing the lines on the side 36195 36196 This patch fixes three problems: 36197 36198 1) makes the "skip canLoad check" boolean also skip the check 36199 that prevents any loads while the document is in provisional 36200 state; this is the proximate cause of the bug 36201 36202 * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): 36203 Don't check the frame's state if skipCanLoadCheck is true. 36204 36205 2) moves the "skip canLoad check" boolean to the Request object; 36206 the old implementation would cause that flag to affect the 36207 new request we served, which might not be the resource with 36208 that flag set 36209 36210 3) fixes error-handling code path that would leak requests 36211 36212 * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement): 36213 Pass false to the CachedImage constructor to indicate we are not making 36214 this object for the cache. 36215 36216 * loader/Cache.cpp: 36217 (WebCore::createResource): Pass true to the CachedImage constructor to 36218 indicate we are making this object for the cache. 36219 (WebCore::Cache::requestResource): Add new code that assumes the object 36220 will already have the inCache bit set, and that will delete the object 36221 and return 0 if the cache is disabled and the load failed. 36222 36223 * loader/CachedImage.h: 36224 * loader/CachedImage.cpp: (WebCore::CachedImage::CachedImage): 36225 Added a forCache boolean parameter. Always false for the constructor 36226 that's only used outside the cache code, and passed in as a boolean 36227 for the constructor that's used both in cache and outside cache. 36228 36229 * loader/CachedResource.h: 36230 * loader/CachedResource.cpp: 36231 (WebCore::CachedResource::CachedResource): Added a forCache boolean 36232 parameter that determines the initial state of the m_inCache flag. 36233 This is needed to prevent a resource from being destroyed if an 36234 error occurs during the initial load. 36235 36236 * loader/DocLoader.cpp: 36237 (WebCore::DocLoader::requestCSSStyleSheet): Added FIXME. 36238 (WebCore::DocLoader::setLoadInProgress): Added null check. 36239 36240 * loader/Request.h: 36241 * loader/Request.cpp: (WebCore::Request::Request): 36242 Added a shouldSkipCanLoadCheck boolean here, since we need to track 36243 this for each request. 36244 36245 * loader/loader.h: 36246 * loader/loader.cpp: 36247 (WebCore::Loader::load): Pass the skipCanLoadCheck boolean to the 36248 Request constructor rather than to the servePendingRequests function. 36249 (WebCore::Loader::servePendingRequests): Add a loop so we can handle 36250 cases where the request fails immediately without leaking the request 36251 and thinking that we're loading forever. 36252 36253 2007-05-24 David Hyatt <hyatt (a] apple.com> 36254 36255 Add error reporting for residual style. 36256 36257 Reviewed by aroben 36258 36259 * html/HTMLParser.cpp: 36260 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): 36261 (WebCore::HTMLParser::reopenResidualStyleTags): 36262 * html/HTMLParserErrorCodes.cpp: 36263 (WebCore::htmlParserErrorMessageTemplate): 36264 * html/HTMLParserErrorCodes.h: 36265 36266 2007-05-24 David Hyatt <hyatt (a] apple.com> 36267 36268 Report <script/> as a warning instead of an error for now, since we 36269 actually do close it. (Sigh.) 36270 36271 Reviewed by beth 36272 36273 * html/HTMLParser.cpp: 36274 (WebCore::HTMLParser::parseToken): 36275 (WebCore::HTMLParser::reportErrorToConsole): 36276 * html/HTMLParserErrorCodes.cpp: 36277 (WebCore::htmlParserErrorMessageTemplate): 36278 (WebCore::isWarning): 36279 * html/HTMLParserErrorCodes.h: 36280 36281 2007-05-24 David Hyatt <hyatt (a] apple.com> 36282 36283 Add error reporting for the </p> -> <p></p> quirk. 36284 36285 Add error reporting when a stray close tag is encountered with no 36286 corresponding open tag. 36287 36288 Reviewed by adele 36289 36290 * html/HTMLParser.cpp: 36291 (WebCore::HTMLParser::HTMLParser): 36292 (WebCore::HTMLParser::processCloseTag): 36293 (WebCore::HTMLParser::popBlock): 36294 * html/HTMLParser.h: 36295 (WebCore::HTMLParser::popBlock): 36296 * html/HTMLParserErrorCodes.cpp: 36297 (WebCore::htmlParserErrorMessageTemplate): 36298 * html/HTMLParserErrorCodes.h: 36299 36300 2007-05-24 Kevin McCullough <kmccullough (a] apple.com> 36301 36302 Reviewed by. 36303 36304 - Rolling back change to fix the build until I have a good fix for data: urls. 36305 36306 * ChangeLog: 36307 * loader/FrameLoader.cpp: 36308 (WebCore::FrameLoader::load): 36309 (WebCore::FrameLoader::open): 36310 * platform/String.cpp: 36311 36312 2007-05-24 David Hyatt <hyatt (a] apple.com> 36313 36314 Add two more error messages to the HTMLParser. 36315 36316 Report when the </br> -> <br> quirk is triggered. 36317 36318 Also report whenever the broken XML self-closing tag syntax is used on 36319 tags that can actually have an end tag (either optional or required). 36320 36321 Reviewed by aroben 36322 36323 * html/HTMLParser.cpp: 36324 (WebCore::HTMLParser::parseToken): 36325 * html/HTMLParserErrorCodes.cpp: 36326 (WebCore::htmlParserErrorMessageTemplate): 36327 * html/HTMLParserErrorCodes.h: 36328 (WebCore::): 36329 * html/HTMLTokenizer.cpp: 36330 (WebCore::HTMLTokenizer::parseTag): 36331 * html/HTMLTokenizer.h: 36332 (WebCore::Token::reset): 36333 36334 2007-05-24 Sam Weinig <sam (a] webkit.org> 36335 36336 Reviewed by Anders. 36337 36338 Rename JSHTMLFrameSetCustom.cpp to JSHTMLFrameSetElementCustom.cpp 36339 for consistency. 36340 36341 * WebCore.xcodeproj/project.pbxproj: 36342 * bindings/js/JSHTMLFrameSetCustom.cpp: Removed. 36343 * bindings/js/JSHTMLFrameSetElementCustom.cpp: Added. 36344 36345 2007-05-24 David Hyatt <hyatt (a] apple.com> 36346 36347 Fix for <rdar://problem/5208440> (13753) 36348 36349 REGRESSION: Raw text needs to be pulled outside of tables 36350 36351 Reviewed by aroben 36352 36353 * html/HTMLParser.cpp: 36354 (WebCore::HTMLParser::handleError): 36355 * html/HTMLTableColElement.cpp: 36356 (WebCore::HTMLTableColElement::checkDTD): 36357 * html/HTMLTableElement.cpp: 36358 (WebCore::HTMLTableElement::checkDTD): 36359 * html/HTMLTableRowElement.cpp: 36360 (WebCore::HTMLTableRowElement::checkDTD): 36361 * html/HTMLTableSectionElement.cpp: 36362 (WebCore::HTMLTableSectionElement::checkDTD): 36363 36364 2007-05-24 Mitz Pettel <mitz (a] webkit.org> 36365 36366 Reviewed by Darin. 36367 36368 - fix http://bugs.webkit.org/show_bug.cgi?id=13837 36369 Separator in new <select> widget disappears when block element with border is in document. 36370 36371 Test: fast/forms/menulist-separator-painting.html 36372 36373 * platform/graphics/cg/GraphicsContextCG.cpp: 36374 (WebCore::GraphicsContext::drawConvexPolygon): Changed this function to 36375 actually do both filling and stroking when needed, even though all existing 36376 callers set the stroke to none. 36377 * rendering/RenderThemeMac.mm: 36378 (WebCore::RenderThemeMac::paintMenuListButton): Added calls to set the stroke 36379 style and thickness when painting the arrows and the separator. 36380 36381 2007-05-24 Timothy Hatcher <timothy (a] apple.com> 36382 36383 Reviewed by Sam Weinig. 36384 36385 Remove the OBJC_NEW_PROPERTIES #ifdef and only export the new @property syntax. 36386 36387 * bindings/objc/DOMObject.h: 36388 * bindings/scripts/CodeGeneratorObjC.pm: 36389 36390 2007-05-24 Sam Weinig <sam (a] webkit.org> 36391 36392 Reviewed by Anders. 36393 36394 Uncomment HTMLFramesSetElement constructor now that it exists. 36395 36396 * page/DOMWindow.idl: 36397 36398 2007-05-24 Anders Carlsson <andersca (a] apple.com> 36399 36400 Try fixing the buildbot build. 36401 36402 * loader/ImageDocument.cpp: 36403 (WebCore::ImageDocument::resizeImageToFit): 36404 (WebCore::ImageDocument::imageClicked): 36405 36406 2007-05-24 Sam Weinig <sam (a] webkit.org> 36407 36408 Reviewed by Darin. 36409 36410 Patch for http://bugs.webkit.org/show_bug.cgi?id=13853 36411 Autogenerate the JS bindings for the HTMLFrameSetElement 36412 36413 * DerivedSources.make: 36414 * WebCore.pro: 36415 * WebCore.xcodeproj/project.pbxproj: 36416 * bindings/js/JSHTMLElementWrapperFactory.cpp: 36417 * bindings/js/JSHTMLFrameSetCustom.cpp: Added. 36418 (WebCore::JSHTMLFrameSetElement::canGetItemsForName): 36419 (WebCore::JSHTMLFrameSetElement::nameGetter): 36420 * bindings/js/kjs_html.cpp: 36421 (KJS::): 36422 (KJS::JSHTMLElement::classInfo): 36423 (KJS::JSHTMLElement::accessors): 36424 (KJS::JSHTMLElement::getOwnPropertySlot): 36425 * bindings/js/kjs_html.h: 36426 (KJS::JSHTMLElement::): 36427 * html/HTMLFrameSetElement.idl: 36428 36429 2007-05-24 Zack Rusin <zrusin (a] trolltech.com> 36430 36431 Reviewed by andersca 36432 36433 Fixing check for incorrent font size - it should 36434 check fixed not normal. 36435 36436 * page/Settings.cpp: 36437 (WebCore::Settings::setDefaultFixedFontSize): 36438 36439 2007-05-24 Mitz Pettel <mitz (a] webkit.org> 36440 36441 Speculative buildbot build fix. 36442 36443 * css/cssstyleselector.cpp: 36444 (WebCore::CSSStyleSelector::applyProperty): 36445 36446 2007-05-24 Adam Roben <aroben (a] apple.com> 36447 36448 Made Chrome::addMessageToConsole more flexible 36449 36450 addMessageToConsole now takes two additional parameters to specify the 36451 message source (HTML, JS, CSS, XML) and level (error, warning, log). To 36452 maintain our old behavior, all current messages were given 36453 JSMessageSource and ErrorMessageLevel parameters. Messages matching 36454 these characteristics are passed up to the ChromeClient. 36455 36456 Reviewed by Hyatt. 36457 36458 * bindings/js/JSCustomXPathNSResolver.cpp: 36459 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 36460 * bindings/js/kjs_events.cpp: 36461 (KJS::JSAbstractEventListener::handleEvent): 36462 * bindings/js/kjs_proxy.cpp: 36463 (WebCore::KJSProxy::evaluate): 36464 * bindings/js/kjs_window.cpp: 36465 (KJS::Window::isSafeScript): 36466 (KJS::ScheduledAction::execute): 36467 * html/HTMLParser.cpp: 36468 (WebCore::HTMLParser::reportErrorToConsole): 36469 * ksvg2/misc/SVGDocumentExtensions.cpp: 36470 (WebCore::SVGDocumentExtensions::reportWarning): 36471 (WebCore::SVGDocumentExtensions::reportError): 36472 * loader/FrameLoader.cpp: 36473 (WebCore::FrameLoader::reportLocalLoadFailed): 36474 * page/Chrome.cpp: 36475 (WebCore::Chrome::addMessageToConsole): 36476 * page/Chrome.h: 36477 (WebCore::): 36478 * xml/xmlhttprequest.cpp: 36479 (WebCore::XMLHttpRequest::setRequestHeader): 36480 36481 2007-05-24 David Hyatt <hyatt (a] apple.com> 36482 36483 Rework how HTML handles line numbering so that it is not fooled by 36484 \r without a following \n and so that document.write doesn't lead 36485 to line numbering confusion. 36486 36487 Reviewed by aroben 36488 36489 * html/HTMLParser.cpp: 36490 (WebCore::HTMLParser::reportErrorToConsole): 36491 * html/HTMLTokenizer.cpp: 36492 (WebCore::HTMLTokenizer::processListing): 36493 (WebCore::HTMLTokenizer::parseSpecial): 36494 (WebCore::HTMLTokenizer::parseComment): 36495 (WebCore::HTMLTokenizer::parseServer): 36496 (WebCore::HTMLTokenizer::parseProcessingInstruction): 36497 (WebCore::HTMLTokenizer::parseText): 36498 (WebCore::HTMLTokenizer::parseEntity): 36499 (WebCore::HTMLTokenizer::parseTag): 36500 (WebCore::HTMLTokenizer::write): 36501 (WebCore::HTMLTokenizer::processToken): 36502 (WebCore::HTMLTokenizer::setSrc): 36503 * html/HTMLTokenizer.h: 36504 (WebCore::HTMLTokenizer::lineNumberPtr): 36505 * html/HTMLViewSourceDocument.cpp: 36506 (WebCore::HTMLViewSourceDocument::addLine): 36507 * loader/TextDocument.cpp: 36508 (WebCore::TextTokenizer::write): 36509 * platform/SegmentedString.cpp: 36510 (WebCore::SegmentedString::SegmentedString): 36511 (WebCore::SegmentedString::operator=): 36512 (WebCore::SegmentedString::clear): 36513 * platform/SegmentedString.h: 36514 (WebCore::SegmentedString::SegmentedString): 36515 (WebCore::SegmentedString::advance): 36516 (WebCore::SegmentedString::escaped): 36517 36518 2007-05-23 David Hyatt <hyatt (a] apple.com> 36519 36520 Make the delete/InsertRows/Cells methods as well as the rowIndex method 36521 able to work properly even when whitespace or comment nodes are present. 36522 36523 Reviewed by aroben 36524 36525 fast/table/rowindex-comment-nodes.html 36526 36527 * html/HTMLTableRowElement.cpp: 36528 (WebCore::HTMLTableRowElement::rowIndex): 36529 (WebCore::HTMLTableRowElement::insertCell): 36530 (WebCore::HTMLTableRowElement::deleteCell): 36531 * html/HTMLTableSectionElement.cpp: 36532 (WebCore::HTMLTableSectionElement::insertRow): 36533 (WebCore::HTMLTableSectionElement::deleteRow): 36534 36535 2007-05-23 David Hyatt <hyatt (a] apple.com> 36536 36537 <optgroup> should allow <script> and text nodes inside it, just like 36538 <select> does. 36539 36540 Reviewed by aroben 36541 36542 fast/forms/stuff-on-my-optgroup.html 36543 36544 * html/HTMLOptGroupElement.cpp: 36545 (WebCore::HTMLOptGroupElement::checkDTD): 36546 * html/HTMLSelectElement.cpp: 36547 (WebCore::HTMLSelectElement::checkDTD): 36548 36549 2007-05-23 David Hyatt <hyatt (a] apple.com> 36550 36551 Framesets should allow whitespace text nodes as children. 36552 36553 Reviewed by aroben 36554 36555 * html/HTMLFrameSetElement.cpp: 36556 (WebCore::HTMLFrameSetElement::checkDTD): 36557 36558 2007-05-24 Mark Rowe <mrowe (a] apple.com> 36559 36560 Fix the Qt build after r21685. 36561 36562 * platform/qt/CursorQt.cpp: 36563 (WebCore::notAllowedCursor): 36564 (WebCore::zoomInCursor): 36565 (WebCore::zoomOutCursor): 36566 36567 2007-05-23 Alp Toker <alp.toker (a] collabora.co.uk> 36568 36569 Reviewed by Adam. 36570 36571 Fix the gdk build following changes in r21685. 36572 36573 * platform/gdk/CursorGdk.cpp: 36574 (WebCore::zoomInCursor): 36575 (WebCore::zoomOutCursor): 36576 36577 2007-05-23 David Hyatt <hyatt (a] apple.com> 36578 36579 Fix for <rdar://problem/5222611> REGRESSION: Paint ordering problems at 36580 http://buymeasoda.com/dev/issues/image_onload/image_onload.html 36581 36582 Clamp z-index so that values that exceed maxint (or that are below minint) 36583 are clamped to those values. 36584 36585 Reviewed by darin 36586 36587 * css/cssstyleselector.cpp: 36588 (WebCore::CSSStyleSelector::applyProperty): 36589 36590 2007-05-23 Mitz Pettel <mitz (a] webkit.org> 36591 36592 Reviewed by David Hyatt. 36593 36594 - fix http://bugs.webkit.org/show_bug.cgi?id=13563 36595 REGRESSION: Crash loading message in Yahoo! Mail 36596 36597 Tests: fast/css/stale-style-selector-crash-1.html 36598 fast/css/stale-style-selector-crash-2.html 36599 36600 * dom/Document.cpp: 36601 (WebCore::Document::Document): Initialize the m_didCalculateStyleSelector 36602 flag to 'false'. 36603 (WebCore::Document::updateStyleSelector): Do not bail out if we have ever 36604 calculated a non-trivial style selector, even if at the moment we are 36605 pending style sheets. We could have calculated a non-trivial selector 36606 already either because at some point there were no pending style sheets 36607 (so the currently pending ones were added dynamically) or because we were 36608 forced to do a layout ignoring pending style sheets. Either way, once 36609 there is a style selector, we need to keep it up to date, otherwise we can 36610 crash under recalcStyle() during updateRendering() or simply not recalculate 36611 style correctly for dynamic changes. 36612 (WebCore::Document::recalcStyleSelector): Set m_didCalculateStyleSelector 36613 to 'true' when creating a new style selector. 36614 * dom/Document.h: 36615 36616 2007-05-23 Anders Carlsson <andersca (a] apple.com> 36617 36618 Reviewed by Adam. 36619 36620 <rdar://problem/5224749> Show a zoom/unzoom cursor for resizable image documents 36621 36622 * WebCore.xcodeproj/project.pbxproj: 36623 Install the zoom cursors. 36624 36625 * loader/ImageDocument.cpp: 36626 (WebCore::ImageDocument::resizeImageToFit): 36627 Set the cursor to the zoom in cursor. 36628 36629 (WebCore::ImageDocument::restoreImageSize): 36630 If the image fits, reset the cursor. Otherwise, set it to the zoom in cursor. 36631 36632 2007-05-23 Darin Adler <darin (a] apple.com> 36633 36634 Reviewed by Hyatt. 36635 36636 - fix problems where unrendered nodes were affecting on plain text serialization 36637 36638 * editing/TextIterator.cpp: 36639 (WebCore::TextIterator::advance): Don't call handleXXX functions or exitNode for 36640 nodes without renderers. 36641 (WebCore::shouldEmitNewlineAfterNode): Only consider rendered nodes when deciding 36642 if this is the last node in the document. 36643 36644 2007-05-23 Anders Carlsson <andersca (a] apple.com> 36645 36646 Reviewed by Geoff. 36647 36648 <rdar://problem/3663808> Resize large images to fit in the browser window 36649 36650 * WebCore.exp: 36651 Add new settings method. 36652 36653 * loader/ImageDocument.cpp: 36654 (WebCore::ImageEventListener::ImageEventListener): 36655 New class that handles resize events and click events and forwards them to the image document. 36656 36657 (WebCore::ImageTokenizer::ImageTokenizer): 36658 (WebCore::ImageTokenizer::writeRawData): 36659 (WebCore::ImageTokenizer::finish): 36660 (WebCore::ImageDocument::ImageDocument): 36661 (WebCore::ImageDocument::createDocumentStructure): 36662 (WebCore::ImageDocument::cachedImage): 36663 Let the ImageDocument class keep track of its document structure. 36664 36665 (WebCore::ImageDocument::scale): 36666 Returns the scale that should be used when resizing the image. 36667 36668 (WebCore::ImageDocument::resizeImage): 36669 Update the image size. 36670 36671 (WebCore::ImageDocument::imageClicked): 36672 Toggle between resized and not resized. When restoring the size, scroll the image so that the area under 36673 the mouse stays the same. 36674 36675 (WebCore::ImageDocument::imageChanged): 36676 When the image size is known, resize the image if needed. 36677 36678 (WebCore::ImageDocument::restoreImageSize): 36679 Restore the image size. 36680 36681 (WebCore::ImageDocument::imageNeedsResizing): 36682 Return whether the image is too big for its window or not. 36683 36684 (WebCore::ImageDocument::windowSizeChanged): 36685 Called when the window's size changes. Determine if the window fits or not and resize it if it doesn't fit. 36686 36687 (WebCore::ImageEventListener::handleEvent): 36688 Forward events to the image document. 36689 36690 * page/Settings.cpp: 36691 (WebCore::Settings::Settings): 36692 (WebCore::Settings::setEnableAutomaticImageResizing): 36693 * page/Settings.h: 36694 (WebCore::Settings::enableAutomaticImageResizing): 36695 Add new setting. 36696 36697 2007-05-23 Anders Carlsson <andersca (a] apple.com> 36698 36699 Reviewed by Darin. 36700 36701 Add -webkit-zoom-in and -webkit-zoom-out cursors. 36702 36703 * Resources/zoomInCursor.png: Added. 36704 * Resources/zoomOutCursor.png: Added. 36705 * css/CSSComputedStyleDeclaration.cpp: 36706 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 36707 * css/CSSValueKeywords.in: 36708 * page/EventHandler.cpp: 36709 (WebCore::selectCursor): 36710 * platform/Cursor.h: 36711 * platform/mac/CursorMac.mm: 36712 (WebCore::zoomInCursor): 36713 (WebCore::zoomOutCursor): 36714 * rendering/RenderStyle.h: 36715 (WebCore::): 36716 36717 2007-05-23 Sam Weinig <sam (a] webkit.org> 36718 36719 Reviewed by Darin. 36720 36721 Part one of patch for http://bugs.webkit.org/show_bug.cgi?id=13830 36722 Auto-generate JS DOM bindings for HTMLDocument and most of the rest 36723 of HTMLElement 36724 36725 - Just the HTMLElement part. 36726 36727 * bindings/js/kjs_html.cpp: 36728 (KJS::JSHTMLElement::getValueProperty): 36729 (KJS::JSHTMLElement::putValueProperty): 36730 * bindings/js/kjs_html.h: 36731 (KJS::JSHTMLElement::): 36732 * html/HTMLElement.idl: 36733 36734 2007-05-22 Kevin McCullough <kmccullough (a] apple.com> 36735 36736 Reviewed by Darin. 36737 36738 - rdar://problem/5183523 36739 - We now check the document's URL to see if it can load a resource in the case of a URL click, instead of checking the referrer, which is blank for local files. 36740 36741 * loader/FrameLoader.cpp: 36742 (WebCore::FrameLoader::load): 36743 (WebCore::FrameLoader::open): 36744 * platform/PlatformString.h: 36745 (WebCore::debugPrintString): 36746 36747 2007-05-23 Sam Weinig <sam (a] webkit.org> 36748 36749 Reviewed by Darin. 36750 36751 Part two of patch for http://bugs.webkit.org/show_bug.cgi?id=13830 36752 Auto-generate JS DOM bindings for HTMLDocument and most of the rest 36753 of HTMLElement 36754 36755 - Just the HTMLDocument part. 36756 36757 * WebCore.pro: 36758 * WebCore.xcodeproj/project.pbxproj: 36759 * bindings/js/JSHTMLDocumentCustom.cpp: Added. 36760 (WebCore::JSHTMLDocument::canGetItemsForName): 36761 (WebCore::JSHTMLDocument::nameGetter): 36762 (WebCore::JSHTMLDocument::all): 36763 (WebCore::JSHTMLDocument::setAll): 36764 (WebCore::JSHTMLDocument::location): 36765 (WebCore::JSHTMLDocument::setLocation): 36766 (WebCore::JSHTMLDocument::open): 36767 (WebCore::writeHelper): 36768 (WebCore::JSHTMLDocument::write): 36769 (WebCore::JSHTMLDocument::writeln): 36770 (WebCore::JSHTMLDocument::clear): 36771 * bindings/js/kjs_dom.cpp: 36772 (KJS::toJS): 36773 * bindings/js/kjs_dom.h: 36774 * bindings/js/kjs_html.cpp: 36775 * bindings/js/kjs_html.h: 36776 * bindings/objc/DOMPrivate.h: 36777 * bindings/scripts/CodeGeneratorJS.pm: Add [Deletable] property 36778 for Document.all and fix HasOverridingNameGetter to allow correct 36779 prototype chain 36780 * dom/Document.cpp: 36781 (WebCore::Document::plugins): adds alias to embeds() for bindings 36782 * dom/Document.h: 36783 * html/HTMLDocument.cpp: 36784 (WebCore::HTMLDocument::width): 36785 (WebCore::HTMLDocument::height): 36786 (WebCore::HTMLDocument::dir): 36787 (WebCore::HTMLDocument::setDir): 36788 (WebCore::HTMLDocument::designMode): 36789 (WebCore::HTMLDocument::setDesignMode): 36790 (WebCore::HTMLDocument::bgColor): 36791 (WebCore::HTMLDocument::setBgColor): 36792 (WebCore::HTMLDocument::fgColor): 36793 (WebCore::HTMLDocument::setFgColor): 36794 (WebCore::HTMLDocument::alinkColor): 36795 (WebCore::HTMLDocument::setAlinkColor): 36796 (WebCore::HTMLDocument::linkColor): 36797 (WebCore::HTMLDocument::setLinkColor): 36798 (WebCore::HTMLDocument::vlinkColor): 36799 (WebCore::HTMLDocument::setVlinkColor): 36800 (WebCore::HTMLDocument::captureEvents): 36801 (WebCore::HTMLDocument::releaseEvents): 36802 * html/HTMLDocument.h: 36803 * html/HTMLDocument.idl: 36804 36805 2007-05-23 David Hyatt <hyatt (a] apple.com> 36806 36807 Fix for <rdar://problem/5221838> REGRESSION (r21581): no content in idisk 36808 window at mac.com. 36809 36810 Back out the change to make self-closed <script/> into a Dashboard quirk 36811 only. 36812 36813 Reviewed by aroben 36814 36815 * html/HTMLTokenizer.cpp: 36816 (WebCore::HTMLTokenizer::parseTag): 36817 36818 2007-05-23 Patti <patti (a] apple.com> 36819 36820 Reviewed by David Harrison. 36821 36822 <rdar://problem/5078453> AXNext/PrevLineEndTextMarkerForTextMarker returns kAXErrorNoValue for attachment range 36823 36824 Floating objects, such as aligned images, are not included as part of any line. So when the given 36825 text marker is on the floating object, the returned line edge cannot be found and asserts are fired. 36826 In addition, this paints an inconsistent text layout (in the accessibility sense) of where the floating 36827 object resides. Character/word methods report floating object at the beginning of the text line(s). Yet 36828 line methods never present floating objects anywhere. 36829 To fix this, the ax line methods will now do more checking to ensure floating object nodes are included 36830 when determining the line range/position. That way, assistive apps won't get stuck using the line methods 36831 to read line-by-line 36832 36833 * bridge/mac/WebCoreAXObject.mm: 36834 (updateAXLineStartForVisiblePosition): 36835 Added a helper method to adjust line start position to account for floating objects 36836 (-[WebCoreAXObject doAXLeftLineTextMarkerRangeForTextMarker:]): 36837 (-[WebCoreAXObject doAXRightLineTextMarkerRangeForTextMarker:]): 36838 (-[WebCoreAXObject doAXNextLineEndTextMarkerForTextMarker:]): 36839 (-[WebCoreAXObject doAXPreviousLineStartTextMarkerForTextMarker:]): 36840 Fixed up line routines to include floating object nodes in line position calculation. 36841 startOfLine/endOLine may return null for position next to a floating position. So now there's extra checks to prevent 36842 returning null line position/ranges back to AX. 36843 36844 36845 2007-05-23 Simon Hausmann <hausmann (a] kde.org> 36846 36847 Reviewed by Zack, discussed also with Lars. 36848 36849 Make it possible to have per-QWebPage network interface 36850 implementations. 36851 36852 * platform/network/qt/ResourceHandleQt.cpp: 36853 (WebCore::ResourceHandle::start): Pass the page's network interface to 36854 the network manager. 36855 36856 2007-05-23 Rob Buis <buis (a] kde.org> 36857 36858 Reviewed by Dave Hyatt. 36859 36860 http://bugs.webkit.org/show_bug.cgi?id=13174 36861 line-height in font shorthand does not override a previously stated line-height property 36862 36863 Make sure line-height is calculated against definite font-size and 36864 uses the last set line-height, ie. directly or through font shorthand. 36865 36866 * css/cssstyleselector.cpp: 36867 (WebCore::CSSStyleSelector::styleForElement): 36868 (WebCore::CSSStyleSelector::pseudoStyleForElement): 36869 (WebCore::CSSStyleSelector::applyDeclarations): 36870 (WebCore::CSSStyleSelector::applyProperty): 36871 * css/cssstyleselector.h: 36872 36873 2007-05-23 Lars Knoll <lars (a] trolltech.com> 36874 36875 Reviewed by Zack and Valgrind 36876 36877 Initialize variable. 36878 36879 * platform/qt/PlatformMouseEventQt.cpp: 36880 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 36881 36882 2007-05-23 Rob Buis <buis (a] kde.org> 36883 36884 Reviewed by Darin. 36885 36886 http://bugs.webkit.org/show_bug.cgi?id=13784 36887 REGRESSION (r13744-13750): Crash with empty gradient when drawing to canvas 36888 36889 Fix crash by testing for zero stops, and returning transparent black 36890 in this case. 36891 36892 * html/CanvasGradient.cpp: 36893 (WebCore::CanvasGradient::getColor): 36894 36895 2007-05-23 Rob Buis <buis (a] kde.org> 36896 36897 Reviewed by Darin. 36898 36899 http://bugs.webkit.org/show_bug.cgi?id=13801 36900 Crash when loading nonexisting symbol 36901 36902 Check for referenced element and when not found just return. 36903 36904 * ksvg2/svg/SVGUseElement.cpp: 36905 (WebCore::SVGUseElement::buildPendingResource): 36906 36907 2007-05-22 Sam Weinig <sam (a] webkit.org> 36908 36909 Rubber stamped by Adam. 36910 36911 Fix license. 36912 36913 * bindings/js/JSHTMLAnchorElementCustom.cpp: 36914 36915 2007-05-22 Sam Weinig <sam (a] webkit.org> 36916 36917 Reviewed by Adam. 36918 36919 Patch for http://bugs.webkit.org/show_bug.cgi?id=13833 36920 Add ObjC DOM binding for HTMLMarqeeElement 36921 36922 - Also adds missing DOMHTMLFramePrivate. 36923 36924 * DerivedSources.make: 36925 * WebCore.xcodeproj/project.pbxproj: 36926 * bindings/objc/DOM.mm: 36927 (WebCore::createElementClassMap): 36928 * bindings/objc/DOMHTML.h: 36929 * bindings/objc/DOMInternal.h: 36930 * bindings/objc/DOMPrivate.h: 36931 * bindings/objc/PublicDOMInterfaces.h: 36932 36933 2007-05-22 Justin Garcia <justin.garcia (a] apple.com> 36934 36935 Reviewed by darin, who found the fix independently. 36936 36937 http://bugs.webkit.org/show_bug.cgi?id=13804 36938 REGRESSION(r21611): Several new layout test pixel failures (misspelling markers) 36939 36940 r21611 exposed a bug in the way removeMarkers computes 36941 the end of the range to remove markers from. It also 36942 introduced a bug: removeMarkers expects a startOffset 36943 and a length, not a startOffset and an endOffset (added 36944 a layout test). 36945 36946 * dom/Document.cpp: 36947 (WebCore::Document::removeMarkers): The other removeMarkers 36948 expects a startOffset and a length, not a startOffset and 36949 an endOffset. 36950 (WebCore::Document::removeMarkers): Fixed the endOffset 36951 from length and startOffset calculation. 36952 36953 2007-05-22 David Hyatt <hyatt (a] apple.com> 36954 36955 Fix for bug 13802, background colors can't be reset to default 36956 color. Fix the value cssText method to do the right thing for background 36957 and background-position values. 36958 36959 Reviewed by beth 36960 36961 fast/dom/background-shorthand-csstext.html 36962 36963 * css/CSSInitialValue.h: 36964 (WebCore::CSSInitialValue:::m_implicit): 36965 (WebCore::CSSInitialValue::isImplicitInitialValue): 36966 * css/CSSMutableStyleDeclaration.cpp: 36967 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 36968 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): 36969 * css/CSSMutableStyleDeclaration.h: 36970 * css/CSSValue.h: 36971 (WebCore::CSSValue::isImplicitInitialValue): 36972 * css/cssparser.cpp: 36973 (WebCore::CSSParser::parseValue): 36974 (WebCore::CSSParser::parseBackgroundShorthand): 36975 (WebCore::CSSParser::parseShorthand): 36976 36977 2007-05-22 Darin Adler <darin (a] apple.com> 36978 36979 Reviewed by Geoff. 36980 36981 - fix <rdar://problem/5215830> REGRESSION: ebay.com layout is wrong 36982 36983 The code on ebay was looking for the "document" property on a iframe. 36984 We changed that to be the ownerDocument rather than the contentDocument, 36985 which was not what ebay was expecting. The best fix seems to be removing 36986 the document property altogether. 36987 36988 Test: fast/dom/iframe-document.html 36989 36990 * bindings/js/kjs_html.h: Remove ElementDocument. 36991 * bindings/js/kjs_html.cpp: (KJS::JSHTMLElement::getValueProperty): Ditto. 36992 36993 2007-05-22 Adele Peterson <adele (a] apple.com> 36994 36995 Reviewed by Darin. 36996 36997 A little cleanup from my last checkin. 36998 36999 * page/Chrome.h: Formatting change. 37000 * page/mac/ChromeMac.mm: Fixed copyright. 37001 37002 2007-05-22 Adele Peterson <adele (a] apple.com> 37003 37004 Reviewed by Darin. 37005 37006 Fix for http://bugs.webkit.org/show_bug.cgi?id=13796 37007 Crash in [NSInputContext currentInputContext] when you click on this map 37008 37009 This is another case of <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts 37010 37011 Test: fast/frames/frame-display-none-focus.html 37012 37013 * WebCore.xcodeproj/project.pbxproj: Added ChromeMac.mm 37014 * page/Chrome.h: 37015 * page/mac/ChromeMac.mm: Added. 37016 (WebCore::Chrome::focusNSView): Moved code from Widget::setFocus so it can be used whenever we need to make a view the first responder. 37017 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::focusDocumentView): Calls focusNSView. 37018 * platform/mac/WidgetMac.mm: (WebCore::Widget::setFocus): Calls focusNSView. 37019 37020 2007-05-22 Justin Garcia <justin.garcia (a] apple.com> 37021 37022 Reviewed by darin 37023 37024 <rdar://problem/4875189> 37025 List is deleted when replacing contents with Chinese/Japanese characters 37026 37027 * editing/htmlediting.cpp: 37028 (WebCore::isSpecialElement): Lists are no longer special. 37029 They can be removed by removing their content and then 37030 then hitting delete inside of the empty list item that's 37031 left over. Even when that list item is the first thing 37032 in the editable region. 37033 37034 2007-05-22 Darin Adler <darin (a] apple.com> 37035 37036 Reviewed by Tim Hatcher. 37037 37038 - fix <rdar://problem/5206089> REGRESSION: hovering over amazon.com "product categories" 37039 tab makes page content disappear 37040 37041 The contentWindow property was doing a cross-frame security check, but it shouldn't. 37042 Window objects are responsible for protecting themselves from cross-frame activity. 37043 Because contentWindow returned undefined, we then ended up setting visibility on the 37044 body of the main frame to "hidden". 37045 37046 No layout test yet. When we make cross-domain tests, we should include this one. 37047 37048 * html/HTMLFrameElement.idl: Removed CheckFrameSecurity attribute from contentWindow. 37049 * html/HTMLIFrameElement.idl: Ditto. 37050 37051 2007-05-22 Justin Garcia <justin.garcia (a] apple.com> 37052 37053 Reviewed by oliver 37054 37055 <rdar://problem/5213963> 37056 REGRESSION(r21467): Active selection remains in text field after clicking on a button 37057 37058 * page/EventHandler.cpp: 37059 (WebCore::EventHandler::dispatchMouseEvent): Call 37060 FocusController::setFocusedNode, because Document::setFocusedNode 37061 no longer clears the selection. 37062 Begin passing the new focused frame to 37063 FocusController::setFocusedNode, because when the 37064 new focus node is null, the selection should only be 37065 cleared if the focused frame isn't changing. 37066 (WebCore::Element::focus): Begin passing the new focused 37067 frame. 37068 (WebCore::Element::blur): Ditto. 37069 * html/HTMLInputElement.cpp: 37070 (WebCore::HTMLInputElement::focus): Ditto. 37071 * html/HTMLTextAreaElement.cpp: 37072 (WebCore::HTMLTextAreaElement::focus): Ditto. 37073 * page/Frame.cpp: 37074 (WebCore::Frame::setFocusedNodeIfNeeded): Ditto. 37075 * page/FocusController.cpp: 37076 (WebCore::clearSelectionIfNeeded): Take in the new 37077 focused frame. If it's not changing, don't clear the 37078 selection. 37079 (WebCore::FocusController::setFocusedNode): Take 37080 in the new focused frame. 37081 * page/FocusController.h: 37082 37083 2007-05-22 Marius Bugge Monsen <mbm (a] trolltech.com> 37084 37085 Reviewed by Zack. 37086 37087 Implement some more functions in ClipboardQt. 37088 37089 * platform/qt/ClipboardQt.cpp: 37090 (WebCore::ClipboardQt::ClipboardQt): 37091 (WebCore::ClipboardQt::getData): 37092 (WebCore::ClipboardQt::setData): 37093 (WebCore::ClipboardQt::types): 37094 37095 2007-05-21 Oliver Hunt <oliver (a] apple.com> 37096 37097 Reviewed by Sam. 37098 37099 Fix for http://bugs.webkit.org/show_bug.cgi?id=13789 37100 -- SVGLocatable::getScreenCTM() faulty 37101 37102 Needed to update SVGLength to handle the case where the SVGElement is 37103 not the root document element -- we do this by falling back on the 37104 renderer for the context. 37105 37106 For <svg> elements embedded as mixed content in xhtml we consider the 37107 absolutePosition of the parent to be the origin for the <svg> element. 37108 37109 * ksvg2/svg/SVGLength.cpp: 37110 (WebCore::SVGLength::PercentageOfViewport): 37111 * ksvg2/svg/SVGSVGElement.cpp: 37112 (WebCore::SVGSVGElement::getScreenCTM): 37113 37114 2007-05-21 Timothy Hatcher <timothy (a] apple.com> 37115 37116 Reviewed by Adam. 37117 37118 <rdar://problem/5084400> -[DOMRange lineBoxRects] returns an empty array when the DOM nodes have just been created 37119 37120 Do a updateLayoutIgnorePendingStylesheets before asking the Node or Range for it's box rects. 37121 37122 * bindings/objc/DOM.mm: 37123 (-[DOMNode boundingBox]): 37124 (-[DOMNode lineBoxRects]): 37125 (-[DOMRange boundingBox]): 37126 (-[DOMRange lineBoxRects]): 37127 37128 2007-05-21 Sam Weinig <sam (a] webkit.org> 37129 37130 Reviewed by George Staikos. 37131 37132 Fix Qt build. 37133 37134 * WebCore.pro: add missing IDL files. 37135 37136 2007-05-21 Sam Weinig <sam (a] webkit.org> 37137 37138 Reviewed by Darin. 37139 37140 Patch for http://bugs.webkit.org/show_bug.cgi?id=13803 37141 Autogenerate the JS bindings for the HTMLMarqueeElement. 37142 37143 * DerivedSources.make: 37144 * WebCore.xcodeproj/project.pbxproj: 37145 * bindings/js/JSHTMLElementWrapperFactory.cpp: 37146 * bindings/js/kjs_css.cpp: 37147 (KJS::DOMCSSRule::getOwnPropertySlot): Fix possible null pointer issue. 37148 (KJS::DOMCSSRule::put): Fix possible null pointer issue. 37149 * bindings/js/kjs_html.cpp: 37150 (KJS::): 37151 (KJS::JSHTMLElement::classInfo): 37152 (KJS::JSHTMLElement::accessors): 37153 (KJS::JSHTMLElement::getOwnPropertySlot): Fix null pointer issue. 37154 (KJS::HTMLElementFunction::callAsFunction): 37155 (KJS::JSHTMLElement::put): 37156 * bindings/js/kjs_html.h: 37157 (KJS::JSHTMLElement::): 37158 * html/HTMLMarqueeElement.cpp: 37159 (WebCore::HTMLMarqueeElement::start): 37160 (WebCore::HTMLMarqueeElement::stop): 37161 * html/HTMLMarqueeElement.h: Add start() and stop() functions. 37162 * html/HTMLMarqueeElement.idl: Added. 37163 * page/DOMWindow.idl: Add marquee constructor. 37164 37165 2007-05-21 Adele Peterson <adele (a] apple.com> 37166 37167 Fix by Darin, reviewed by me. 37168 37169 Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts 37170 37171 * platform/mac/WidgetMac.mm: 37172 (WebCore::safeRemoveFromSuperview): Added. If the view is the window's first responder, then 37173 set the window's first responder to nil so we don't leave the window pointing to a view that's no longer in it. 37174 (WebCore::Widget::setFocus): Don't attempt to focus the view if it has no window. 37175 (WebCore::Widget::removeFromSuperview): Call safeRemoveFromSuperview. 37176 (WebCore::Widget::afterMouseDown): ditto. 37177 37178 2007-05-21 David Hyatt <hyatt (a] apple.com> 37179 37180 Make a line gutter backdrop so that tiny view source docs don't look 37181 bad. 37182 37183 Reviewed by aroben 37184 37185 * css/view-source.css: 37186 * html/HTMLViewSourceDocument.cpp: 37187 (WebCore::HTMLViewSourceDocument::createContainingTable): 37188 37189 2007-05-21 David Hyatt <hyatt (a] apple.com> 37190 37191 Make sure to distinguish between links to internal resources and 37192 real links (anchors) in view source mode. 37193 37194 Reviewed by aroben 37195 37196 * css/view-source.css: 37197 * html/HTMLViewSourceDocument.cpp: 37198 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 37199 (WebCore::HTMLViewSourceDocument::addLink): 37200 * html/HTMLViewSourceDocument.h: 37201 37202 2007-05-21 Sam Weinig <sam (a] webkit.org> 37203 37204 Reviewed by Adam and Darin. 37205 37206 Patch for http://bugs.webkit.org/show_bug.cgi?id=13791 37207 Autogenerate the JS bindings for the HTMLIFrameElement and HTMLFrameElement. 37208 37209 * DerivedSources.make: 37210 * WebCore.xcodeproj/project.pbxproj: 37211 * bindings/js/JSHTMLAnchorElementCustom.cpp: 37212 * bindings/js/JSHTMLElementWrapperFactory.cpp: 37213 * bindings/js/kjs_html.cpp: 37214 (KJS::): 37215 (KJS::JSHTMLElement::classInfo): 37216 (KJS::JSHTMLElement::accessors): 37217 (KJS::HTMLElementFunction::callAsFunction): 37218 * bindings/js/kjs_html.h: 37219 (KJS::JSHTMLElement::): 37220 * bindings/scripts/CodeGeneratorJS.pm: 37221 * html/HTMLFrameElement.idl: 37222 * html/HTMLFrameElementBase.cpp: 37223 (WebCore::HTMLFrameElementBase::location): 37224 * html/HTMLFrameElementBase.h: 37225 * html/HTMLFrameOwnerElement.h: 37226 (WebCore::HTMLFrameOwnerElement::contentWindow): 37227 * html/HTMLIFrameElement.idl: 37228 * page/DOMWindow.idl: 37229 37230 2007-05-21 Lars Knoll <lars (a] trolltech.com> 37231 37232 Reviewed by Zack. 37233 37234 Remove the ResourceHandleManager class, it is now part of 37235 QWebNetworkInterface. Adapt ResourceHandle to the new way 37236 of things. 37237 37238 * WebCore.pro: 37239 * platform/network/ResourceHandleInternal.h: 37240 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 37241 * platform/network/qt/ResourceHandleManagerKDE.cpp: Removed. 37242 * platform/network/qt/ResourceHandleManagerKDE.h: Removed. 37243 * platform/network/qt/ResourceHandleManagerQt.cpp: Removed. 37244 * platform/network/qt/ResourceHandleManagerQt.h: Removed. 37245 * platform/network/qt/ResourceHandleQt.cpp: 37246 (WebCore::ResourceHandle::~ResourceHandle): 37247 (WebCore::ResourceHandle::start): 37248 (WebCore::ResourceHandle::cancel): 37249 37250 2007-05-21 David Hyatt <hyatt (a] apple.com> 37251 37252 Second half of fix for 13793, make sure rules=groups works properly with 37253 spanning colgroups. 37254 37255 Also make sure colgroups get an actual span of 1 (instead of incorrectly 37256 giving them a span of 0). 37257 37258 Reviewed by mitz 37259 37260 fast/table/colgroup-spanning-groups-rules.html 37261 37262 * html/HTMLTableColElement.cpp: 37263 (WebCore::HTMLTableColElement::HTMLTableColElement): 37264 * rendering/RenderTable.cpp: 37265 (WebCore::RenderTable::colElement): 37266 * rendering/RenderTable.h: 37267 * rendering/RenderTableCell.cpp: 37268 (WebCore::RenderTableCell::collapsedLeftBorder): 37269 (WebCore::RenderTableCell::collapsedRightBorder): 37270 37271 2007-05-20 David Hyatt <hyatt (a] apple.com> 37272 37273 Half of a fix for 13793, make sure rules=groups and border behave properly 37274 together. 37275 37276 Reviewed by mitz 37277 37278 No tests added, two Mozilla table tests now pass that failed before. 37279 37280 * html/HTMLTableElement.cpp: 37281 (WebCore::HTMLTableElement::getSharedCellDecl): 37282 37283 2007-05-20 Brady Eidson <beidson (a] apple.com> 37284 37285 Reviewed by Geoose Garen 37286 37287 <rdar://problem/4758919> - Incorrect favicon shown for URL after going back 37288 37289 When restoring a cached page, we'd try to kick off the icon load for it, which ended up causing 37290 shenanigans with the icon url -> page url mapping. 37291 37292 * loader/FrameLoader.cpp: 37293 (WebCore::FrameLoader::endIfNotLoading): Only try an icon load if we're not restoring from the page cache 37294 (WebCore::FrameLoader::startIconLoader): Added helpful logging that helped me track this down 37295 (WebCore::FrameLoader::commitIconURLToIconDatabase): Ditto (and fixed a comment typo) 37296 37297 * loader/icon/IconLoader.cpp: 37298 (WebCore::IconLoader::stopLoading): Don't null out the ResourceLoader here, as clearLoadingState() does that 37299 (WebCore::IconLoader::finishLoading): Added helpful logging that helped me track this down 37300 37301 37302 2007-05-20 Darin Adler <darin (a] apple.com> 37303 37304 Reviewed by Oliver Hunt. 37305 37306 - fix <rdar://problem/5193416> REGRESSION: Selection on large pages extremely slow 37307 37308 * dom/Document.cpp: (WebCore::Document::removeMarkers): Added an early exit for the common 37309 case where there are no markers. Changed code to iterate over all the nodes in the range 37310 instead of using TextIterator, which is more efficient. 37311 37312 * page/Frame.cpp: (WebCore::Frame::respondToChangedSelection): Added checks for editable, 37313 so we don't bother doing work related to spell checking and grammar checking when changing 37314 the selection in non-editable text. Also rearranged the code so we only compute the old 37315 word boundaries and sentence boundaries when actually needed, and don't do the sentence 37316 range checks unless grammar checking is enabled. 37317 37318 * platform/TextBreakIteratorICU.cpp: 37319 (WebCore::setUpIterator): Don't take a locale parameter. Always pass in currentTextBreakLocaleID. 37320 (WebCore::characterBreakIterator): Removed local parameter. 37321 (WebCore::wordBreakIterator): Ditto. 37322 (WebCore::lineBreakIterator): Ditto. 37323 (WebCore::sentenceBreakIterator): Ditto. 37324 37325 * platform/mac/TextBreakIteratorInternalICUMac.mm: 37326 (WebCore::getTextBreakLocale): Broke out the code to actually get the locale. 37327 (WebCore::currentTextBreakLocaleID): This function now handles only the caching and calls 37328 getTextBreakLocale to actually figure it out. 37329 37330 * editing/visible_units.cpp: Added lots of FIXME comments, but no code change. 37331 37332 2007-05-20 Adam Treat <adam (a] staikos.net> 37333 37334 Add -f to cp to deal with some obscure build environments. 37335 37336 Reviewed by George Staikos. 37337 37338 * move-js-headers.sh: 37339 37340 2007-05-20 Adam Treat <adam (a] staikos.net> 37341 37342 Add missing include for auto_ptr 37343 37344 Reviewed by George Staikos. 37345 37346 * platform/graphics/ImageBuffer.h: 37347 37348 2007-05-19 David Hyatt <hyatt (a] apple.com> 37349 37350 Fix for bug 13785, O(n^2) counter creation. 37351 37352 Reviewed by darin 37353 37354 * rendering/RenderCounter.cpp: 37355 (WebCore::findPlaceForCounter): 37356 (WebCore::RenderCounter::originalText): 37357 37358 2007-05-19 Mitz Pettel <mitz (a] webkit.org> 37359 37360 Reviewed by Dave Hyatt. 37361 37362 - fix http://bugs.webkit.org/show_bug.cgi?id=12729 37363 box-shadow disappears when scrolling a div that it falls on/under 37364 37365 Tests: fast/repaint/box-shadow-dynamic.html 37366 fast/repaint/box-shadow-h.html 37367 fast/repaint/box-shadow-v.html 37368 37369 * rendering/InlineFlowBox.cpp: 37370 (WebCore::InlineFlowBox::placeBoxesHorizontally): Factor in box shadow. 37371 (WebCore::InlineFlowBox::placeBoxesVertically): Ditto. 37372 (WebCore::InlineFlowBox::paint): Account for box shadow when checking if 37373 the damage rect intersects. 37374 * rendering/RenderBlock.cpp: 37375 (WebCore::RenderBlock::overflowHeight): For overflow areas, when asked 37376 for the "exterior" overflow, add box shadow overflow. 37377 (WebCore::RenderBlock::overflowWidth): Ditto. 37378 (WebCore::RenderBlock::overflowLeft): Ditto. 37379 (WebCore::RenderBlock::overflowTop): Ditto. 37380 (WebCore::RenderBlock::overflowRect): Ditto. 37381 (WebCore::RenderBlock::layoutBlock): Factor box shadow into visual overflow. 37382 * rendering/RenderFlexibleBox.cpp: 37383 (WebCore::RenderFlexibleBox::layoutBlock): Ditto. 37384 * rendering/RenderFlow.cpp: 37385 (WebCore::RenderFlow::lowestPosition): For overflow areas, when asked for 37386 the "exterior" extreme position, add box shadow. 37387 (WebCore::RenderFlow::rightmostPosition): Ditto. 37388 (WebCore::RenderFlow::leftmostPosition): Ditto. 37389 * rendering/RenderLayer.cpp: 37390 (WebCore::RenderLayer::calculateRects): Avoid clipping out box shadow. 37391 * rendering/RenderObject.cpp: 37392 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Make sure to paint 37393 the box shadow when an edge with a shadow moves. 37394 (WebCore::RenderObject::adjustRectForOutlineAndShadow): Helper function 37395 that expands a given rectangle to encompass outline and box shadow. 37396 (WebCore::RenderObject::absoluteOutlineBox): Changed to include box shadow. 37397 * rendering/RenderObject.h: 37398 37399 2007-05-19 Mitz Pettel <mitz (a] webkit.org> 37400 37401 Reviewed by Dave Hyatt. 37402 37403 - fix http://bugs.webkit.org/show_bug.cgi?id=13783 37404 REGRESSION (r21120): Frame resizers not repainted properly when dragged 37405 37406 * rendering/RenderFrameSet.cpp: 37407 (WebCore::RenderFrameSet::layout): 37408 37409 2007-05-19 Mitz Pettel <mitz (a] webkit.org> 37410 37411 Reviewed by Darin. 37412 37413 - fix http://bugs.webkit.org/show_bug.cgi?id=13774 37414 REGRESSION: Crash emailing blog entry using Google Reader 37415 37416 Test: fast/table/stale-grid-crash.html 37417 37418 * rendering/RenderTable.cpp: 37419 (WebCore::RenderTable::recalcSections): Made const and replaced 37420 setNeedsLayout(true) with an assertion that the table is already 37421 marked for layout. 37422 (WebCore::RenderTable::sectionAbove): Added call to recalcSectionsIfNeeded(). 37423 (WebCore::RenderTable::sectionBelow): Ditto. 37424 (WebCore::RenderTable::cellAbove): Ditto. 37425 (WebCore::RenderTable::cellBelow): Ditto. 37426 (WebCore::RenderTable::cellBefore): Ditto. 37427 (WebCore::RenderTable::cellAfter): Ditto. 37428 * rendering/RenderTable.h: 37429 Made some private member variables which are used in section recalc mutable. 37430 (WebCore::RenderTable::setNeedsSectionRecalc): Moved the call to 37431 setNeedsLayout() from recalcSections() into here, because I made 37432 recalcSections() const. 37433 (WebCore::RenderTable::recalcSectionsIfNeeded): Made const. 37434 37435 2007-05-19 Mitz Pettel <mitz (a] webkit.org> 37436 37437 Reviewed by Darin. 37438 37439 - http://bugs.webkit.org/show_bug.cgi?id=13320 37440 rounded corners with drop shadows are really slow 37441 37442 Test for a rendering bug fixed by this patch: 37443 fast/box-shadow/border-radius-big.html 37444 37445 No test for the performance ingredient. 37446 37447 * platform/graphics/GraphicsContext.cpp: 37448 (WebCore::GraphicsContext::addRoundedRectClip): Made cross-platform. 37449 Changed to use a single clipping path. If all the radii cannot be 37450 accommodated, clips to a rect. 37451 (WebCore::GraphicsContext::clipOutRoundedRect): Changed to use a single 37452 clipping path. If all the radii cannot be accommodated, clips out a rect. 37453 * platform/graphics/GraphicsContext.h: Added clipOut(const Path&). 37454 * platform/graphics/Path.cpp: 37455 (WebCore::Path::createRoundedRectangle): Added. Returns a rounded rectangle 37456 with the specified radii. If all the radii cannot be accommodated, returns 37457 a rectangular path. 37458 * platform/graphics/Path.h: 37459 * platform/graphics/cairo/GraphicsContextCairo.cpp: 37460 (WebCore::GraphicsContext::clipOut): Added. 37461 * platform/graphics/cg/GraphicsContextCG.cpp: 37462 (WebCore::GraphicsContext::fillRoundedRect): Changed to use a single path. 37463 (WebCore::GraphicsContext::clipOut): Added. 37464 * platform/graphics/qt/GraphicsContextQt.cpp: 37465 (WebCore::GraphicsContext::clipOut): Added. 37466 37467 2007-05-19 Anders Carlsson <andersca (a] apple.com> 37468 37469 Reviewed by Mitz. 37470 37471 Test: fast/frames/inline-object-inside-frameset.html 37472 37473 http://bugs.webkit.org/show_bug.cgi?id=13771 37474 Assertion failure ASSERT(m_layer) when running Hamachi fuzz tester 37475 37476 Don't paint inline objects. 37477 37478 * rendering/RenderFrameSet.cpp: 37479 (WebCore::RenderFrameSet::paint): 37480 37481 2007-05-19 David Hyatt <hyatt (a] apple.com> 37482 37483 Add support for plain text MIME types (CSS/JS/TXT) to view source mode. 37484 CSS/JS will eventually tokenize via their own special tokenizers so that 37485 they can also be syntax-highlighted, but for now just treat them as 37486 plain text. 37487 37488 Reviewed by aroben 37489 37490 * dom/DOMImplementation.cpp: 37491 (WebCore::DOMImplementation::createDocument): 37492 * html/HTMLViewSourceDocument.cpp: 37493 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): 37494 (WebCore::HTMLViewSourceDocument::createTokenizer): 37495 (WebCore::HTMLViewSourceDocument::createContainingTable): 37496 (WebCore::HTMLViewSourceDocument::addViewSourceText): 37497 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 37498 * html/HTMLViewSourceDocument.h: 37499 * loader/TextDocument.cpp: 37500 (WebCore::TextTokenizer::TextTokenizer): 37501 (WebCore::TextTokenizer::write): 37502 * loader/TextDocument.h: 37503 (WebCore::TextTokenizer::checkBuffer): 37504 37505 2007-05-18 David Hyatt <hyatt (a] apple.com> 37506 37507 Fix a glitch in view source mode attribute names. 37508 37509 * html/HTMLViewSourceDocument.cpp: 37510 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 37511 37512 2007-05-18 David Hyatt <hyatt (a] apple.com> 37513 37514 "Linkify" view source mode links. 37515 37516 Reviewed by andersca 37517 37518 * css/view-source.css: 37519 * html/HTMLViewSourceDocument.cpp: 37520 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 37521 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): 37522 (WebCore::HTMLViewSourceDocument::addLink): 37523 * html/HTMLViewSourceDocument.h: 37524 37525 2007-05-18 Oliver Hunt <oliver (a] apple.com> 37526 37527 Reviewed by Sam 37528 37529 No longer need to pass HTMLImageElement and HTMLImageLoader on to WebKit 37530 Need to expose CachedResourceClient constructor 37531 37532 * WebCore.exp: 37533 * WebCore.xcodeproj/project.pbxproj: 37534 37535 2007-05-18 David Hyatt <hyatt (a] apple.com> 37536 37537 Fix for <rdar://problem/5214338> REGRESSION: / mishandled in 37538 HTML tokenization (13780). 37539 37540 Reviewed by ggaren 37541 37542 * html/HTMLTokenizer.cpp: 37543 (WebCore::Token::addAttribute): 37544 (WebCore::HTMLTokenizer::parseTag): 37545 37546 2007-05-18 Brady Eidson <beidson (a] apple.com> 37547 37548 Reviewed by Maciej 37549 37550 http://bugs.webkit.org/show_bug.cgi?id=12681 and 37551 <rdar://problem/5166149> - window.open() causes server to be hit twice 37552 37553 This regressed in http://trac.webkit.org/projects/webkit/changeset/14637 37554 That patch was to fix broken behavior when opening an already existant window. 37555 The unfortunate side effect was to cause the server to be hit twice. 37556 Once during the call to frame->loader()->createWindow(), and again via a 37557 scheduled redirection. 37558 37559 I decided to restore the original de-facto behavior by making the new window 37560 open via a scheduled redirection - there is a FIXME that was already here that 37561 explains the reason why we have to do it this way for now. 37562 37563 Additionally, there were two distinct places that had their own logic to open 37564 a new window - the logic for window.open() and the logic for 37565 window.showModalDialog(). The logic was almost identical so I condensed them 37566 into one utility function that takes a flag to handle the slight difference. 37567 37568 A layout test is not possible at this time since it would involve capturing 37569 server logs (the 1st connection does not exist long enough to result in any 37570 delegate callbacks). That task is documented in 37571 http://bugs.webkit.org/show_bug.cgi?id=13769 37572 37573 * bindings/js/kjs_window.cpp: 37574 (KJS::createWindow): Merged the two slightly different versions of "creating a window" 37575 logic here. For the modal dialog case the load is an immediate call to changeLocation(), 37576 which is triggered by the "immediate" flag, and the other cases load via scheduleLocationChange() 37577 (KJS::showModalDialog): Call createWindow() 37578 (KJS::WindowFunc::callAsFunction): Handle frame targets of _top or _parent immediately and call 37579 createWindow() for all others 37580 37581 2007-05-18 Sam Weinig <sam (a] webkit.org> 37582 37583 Reviewed by Geoff. 37584 37585 Autogenerate the JS bindings for the HTMLTableElement, HTMLTableCaptionElement, 37586 HTMLTableCellElement, HTMLTableColElement, HTMLTableRowElement, HTMLTableSectionElement. 37587 37588 * DerivedSources.make: 37589 * WebCore.pro: 37590 * WebCore.xcodeproj/project.pbxproj: 37591 * bindings/js/JSHTMLElementWrapperFactory.cpp: 37592 (WebCore::createJSHTMLWrapper): 37593 * bindings/js/kjs_html.cpp: 37594 (KJS::): 37595 (KJS::JSHTMLElement::classInfo): 37596 (KJS::JSHTMLElement::accessors): 37597 (KJS::HTMLElementFunction::callAsFunction): 37598 * bindings/js/kjs_html.h: 37599 (KJS::JSHTMLElement::): 37600 * html/HTMLTableCaptionElement.idl: 37601 * html/HTMLTableCellElement.idl: 37602 * html/HTMLTableColElement.idl: 37603 * html/HTMLTableElement.idl: 37604 * html/HTMLTableRowElement.idl: 37605 * html/HTMLTableSectionElement.idl: 37606 * page/DOMWindow.idl: 37607 37608 2007-05-18 Oliver Hunt <oliver (a] apple.com> 37609 37610 Reviewed by Sam. 37611 37612 Fix for <rdar://problem/5211122> DRT crash below 37613 SVGTimer::applyAnimations when page cache is enabled 37614 (SVG animation timers do not properly cancel themselves) 37615 37616 There were still a few paths in the SVG Animation code 37617 that could cause timers to be created and used. This 37618 patch inserts addition SVG_EXPERIMENTAL blocks to prevent 37619 these timers from being used. 37620 37621 * ksvg2/misc/SVGDocumentExtensions.cpp: 37622 (WebCore::SVGDocumentExtensions::startAnimations): 37623 * ksvg2/misc/SVGTimer.cpp: 37624 (WebCore::SVGTimer::animationsByElement): 37625 (WebCore::SVGTimer::applyAnimations): 37626 (WebCore::SVGTimer::notifyAll): 37627 (WebCore::SVGTimer::addNotify): 37628 (WebCore::SVGTimer::removeNotify): 37629 * ksvg2/misc/TimeScheduler.cpp: 37630 (WebCore::TimeScheduler::addTimer): 37631 (WebCore::TimeScheduler::connectIntervalTimer): 37632 (WebCore::TimeScheduler::disconnectIntervalTimer): 37633 (WebCore::TimeScheduler::startAnimations): 37634 (WebCore::TimeScheduler::toggleAnimations): 37635 (WebCore::TimeScheduler::timerFired): 37636 * ksvg2/svg/SVGAnimationElement.h: 37637 37638 2007-05-18 Marius Bugge Monsen <mbm (a] trolltech.com> 37639 37640 Reviewed by Zack Rusin. 37641 37642 Return a valid pointer to a Clipboard object 37643 from newGeneralClipboard. 37644 37645 * editing/qt/EditorQt.cpp: 37646 (WebCore::Editor::newGeneralClipboard): 37647 37648 2007-05-18 Mark Rowe <mrowe (a] apple.com> 37649 37650 Attempt to fix the Gdk build after r21562. 37651 37652 * platform/gdk/TemporaryLinkStubs.cpp: 37653 (Widget::isEnabled): 37654 * platform/gdk/WidgetGdk.cpp: 37655 37656 2007-05-18 Adam Treat <treat (a] kde.org> 37657 37658 Reviewed by Lars 37659 37660 Remove dead code. 37661 37662 * platform/Widget.h: 37663 * platform/mac/WidgetMac.mm: 37664 * platform/qt/WidgetQt.cpp: 37665 37666 2007-05-18 Holger Freyther <zecke (a] selfish.org> 37667 37668 Reviewed by Maciej. 37669 37670 Return true to make loading of pages working again 37671 37672 * loader/gdk/FrameLoaderClientGdk.cpp: 37673 (WebCore::FrameLoaderClientGdk::canHandleRequest): 37674 37675 2007-05-18 Holger Freyther <zecke (a] selfish.org> 37676 37677 Reviewed by Maciej. 37678 37679 Make WebCore::Widget use GtkWidget to fix focus handling. 37680 37681 * WebCore.pro: Add PlatformScrollBar 37682 * platform/ScrollView.h: Gtk stuff 37683 * platform/Widget.h: Take a GtkWidget 37684 * platform/gdk/PlatformScrollBarGdk.cpp: Added. 37685 (PlatformScrollbar::PlatformScrollbar): 37686 (PlatformScrollbar::~PlatformScrollbar): 37687 (PlatformScrollbar::width): 37688 (PlatformScrollbar::height): 37689 (PlatformScrollbar::setEnabled): 37690 (PlatformScrollbar::paint): 37691 (PlatformScrollbar::updateThumbPosition): 37692 (PlatformScrollbar::updateThumbProportion): 37693 (PlatformScrollbar::setRect): 37694 * platform/gdk/ScreenGdk.cpp: Implement depth handling 37695 (WebCore::screenDepth): 37696 * platform/gdk/ScrollViewGdk.cpp: use setGtkWidget, not setDrawable 37697 (WebCore::ScrollView::setGtkWidget): 37698 * platform/gdk/TemporaryLinkStubs.cpp: 37699 * platform/gdk/WidgetGdk.cpp: 37700 (WebCore::Widget::Widget): 37701 (WebCore::Widget::gtkWidget): 37702 (WebCore::Widget::setGtkWidget): 37703 (WebCore::Widget::hasFocus): 37704 (WebCore::Widget::setFocus): 37705 37706 2007-05-18 Lars Knoll <lars (a] trolltech.com> 37707 37708 Reviewed by Zack 37709 37710 Correctly implement initialiseSupportedImageMIMETypes. 37711 37712 * platform/MimeTypeRegistry.cpp: 37713 (WebCore::initialiseSupportedImageMIMETypes): 37714 * platform/qt/MimeTypeRegistryQt.cpp: 37715 (WebCore::): 37716 37717 2007-05-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 37718 37719 Reviewed by Maciej. 37720 37721 Build fix for non-Qt and non-Mac ports. 37722 37723 * html/HTMLCanvasElement.h: 37724 37725 2007-05-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 37726 37727 Reviewed by Mark Rowe. 37728 37729 No test added as this is hard to time. 37730 37731 * platform/gdk/FrameGdk.cpp: Use needsLayout() to decide if layout() 37732 is needed. 37733 37734 (WebCore::FrameGdk::dumpRenderTree): 37735 (WebCore::FrameGdk::handleGdkEvent): 37736 37737 2007-05-18 Simon Hausmann <hausmann (a] kde.org> 37738 37739 Reviewed by Lars. 37740 37741 * WebCore.pro: Create a pkg-config file to make it easier to locate 37742 and use WebKitQt. 37743 37744 2007-05-18 Lars Knoll <lars (a] trolltech.com> 37745 37746 Reviewed by Hyatt. 37747 37748 Remove unused handleMouseEvent methods in the Widget 37749 and derived classes. 37750 37751 * page/EventHandler.cpp: 37752 (WebCore::EventHandler::handleMouseMoveEvent): 37753 * page/FrameView.cpp: 37754 * page/FrameView.h: 37755 * page/mac/EventHandlerMac.mm: 37756 (WebCore::EventHandler::mouseDragged): 37757 (WebCore::EventHandler::mouseMoved): 37758 * platform/ScrollBar.h: 37759 * platform/Widget.h: 37760 * platform/win/PlatformScrollBar.h: 37761 * platform/win/TemporaryLinkStubs.cpp: 37762 (WebCore::PlatformScrollbar::setRect): 37763 * platform/wx/PlatformScrollBar.h: 37764 37765 2007-05-18 George Staikos <staikos (a] kde.org> 37766 37767 Reviewed by Lars. 37768 37769 Use the proper clipping algorithm. Might be a bit slow but we 37770 can optimize it later. 37771 37772 * platform/graphics/qt/GraphicsContextQt.cpp: 37773 (WebCore::GraphicsContext::clip): 37774 37775 2007-05-17 Sam Weinig <sam (a] webkit.org> 37776 37777 Reviewed by George Staikos. 37778 37779 Fix Qt build after adding JSHTMLAnchorElementCustom.cpp. 37780 37781 * WebCore.pro: 37782 37783 2007-05-17 George Staikos <staikos (a] kde.org> 37784 37785 Reviewed by hyatt. 37786 37787 Fix preprocessor logic for CG/QT 37788 37789 * html/HTMLCanvasElement.cpp: 37790 (WebCore::HTMLCanvasElement::reset): 37791 37792 2007-05-17 David Hyatt <hyatt (a] apple.com> 37793 37794 Add a line gutter to view source mode. The gutter uses counters, and this exposed the fact 37795 that pseudoStyleForElement was not walking all UA rules properly. 37796 37797 Reviewed by aroben 37798 37799 * css/cssstyleselector.cpp: 37800 (WebCore::CSSStyleSelector::pseudoStyleForElement): 37801 * css/view-source.css: 37802 * html/HTMLViewSourceDocument.cpp: 37803 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): 37804 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 37805 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): 37806 (WebCore::HTMLViewSourceDocument::addLine): 37807 (WebCore::HTMLViewSourceDocument::addText): 37808 * html/HTMLViewSourceDocument.h: 37809 37810 2007-05-17 Justin Garcia <justin.garcia (a] apple.com> 37811 37812 Reviewed by ggaren 37813 37814 <rdar://problem/5209984> REGRESSION: Crash on click after clearing Facebook status 37815 37816 comparePositions() expects non-null positions. It's 37817 given a null position by contains() if the current 37818 selection is a range selection but contains only invisible 37819 content *and* visible positions cannot be created from its 37820 end points. This can happen when there is a range selection 37821 inside shadow content (like that inside text fields) that 37822 is made invisible. 37823 37824 * editing/SelectionController.cpp: 37825 (WebCore::SelectionController::contains): Check for 37826 invisible end points. 37827 37828 2007-05-17 Sam Weinig <sam (a] webkit.org> 37829 37830 Reviewed by Adam. 37831 37832 Fix for <rdar://problem/5201423> REGRESSION: Links in 37833 sidebar don't work on Honda website 37834 37835 Anchor elements need to have the same behavior for implicit and 37836 explicit toString() calls. 37837 37838 Test: fast/dom/anchor-toString.html 37839 37840 * WebCore.xcodeproj/project.pbxproj: 37841 * bindings/js/JSHTMLAnchorElementCustom.cpp: Added. 37842 (WebCore::JSHTMLAnchorElement::toString): 37843 * html/HTMLAnchorElement.idl: 37844 37845 2007-05-17 Geoffrey Garen <ggaren (a] apple.com> 37846 37847 Build fix. 37848 37849 2007-05-17 Adele Peterson <adele (a] apple.com> 37850 37851 Reviewed by Hyatt. 37852 37853 Update RenderMenuList PopupClient methods to consider style of inner block. 37854 37855 * rendering/RenderMenuList.cpp: 37856 (WebCore::RenderMenuList::itemStyle): 37857 (WebCore::RenderMenuList::clientStyle): 37858 37859 2007-05-17 Maciej Stachowiak <mjs (a] apple.com> 37860 37861 Not reviewed, emergency test fix. 37862 37863 - avoid crash on layout tests. 37864 37865 Patched up my last change so that widgets don't crash. 37866 37867 * loader/FrameLoader.cpp: 37868 (WebCore::FrameLoader::mainReceivedCompleteError): 37869 37870 2007-05-17 Antti Koivisto <antti (a] apple.com> 37871 37872 Reviewed by Darin. 37873 37874 Fix for http://bugs.webkit.org/show_bug.cgi?id=13727 37875 REGRESSION: Reproducible hang setting the selection's extent offset to -1 37876 <rdar://problem/5206890> 37877 37878 Rise INDEX_SIZE_ERR if used selection index is negative. This matches HTML5 for 37879 getRangeAt() and collapse() which are part of the spec (FF throws NS_ERROR_FAILURE). 37880 37881 Not throwing exceptions yet for too high offsets (except getRangeAt()) as it is 37882 unclear if WebCore's definition of offsets is the same as other browsers. 37883 37884 * bindings/js/kjs_window.cpp: 37885 * WebCore/editing/SelectionController.cpp: 37886 * WebCore/editing/SelectionController.h: 37887 * WebCore/editing/VisiblePosition.cpp: 37888 37889 2007-05-17 Adele Peterson <adele (a] apple.com> 37890 37891 Reviewed by Mitz. 37892 37893 Fix for <rdar://problem/5096035> REGRESSION: rtl text should be left-aligned in <select>s 37894 37895 Test: fast/text/international/bidi-menulist.html 37896 37897 * rendering/RenderMenuList.cpp: 37898 (WebCore::RenderMenuList::adjustInnerStyle): Set the inner block style to direction: ltr, and text-align: left. This means that 37899 we will ignore those settings in the button to match the way the text is displayed in the popup menu. 37900 (WebCore::RenderMenuList::createInnerBlock): Call adjustInnerStyle. 37901 (WebCore::RenderMenuList::setStyle): ditto. 37902 * rendering/RenderMenuList.h: Added adjustInnerStyle. 37903 37904 2007-05-17 Justin Garcia <justin.garcia (a] apple.com> 37905 37906 Reviewed by harrison 37907 37908 <rdar://problem/4924441> List becomes nested when changing its type 37909 <rdar://problem/5210032> Content before a list is placed at the end of the list when its made into a list item 37910 <rdar://problem/5207369> Crash when removing ordering from a nested list 37911 37912 * editing/InsertListCommand.cpp: 37913 (WebCore::InsertListCommand::doApply): 37914 The outermostEnclosingList of the position before the start isn't 37915 the previousList if it contains the start. 37916 Ditto for the position after the end and the nextList. 37917 If we're putting the newly created list item into the next list, 37918 insert it at the start of that list, not the end (don't append). 37919 Avoid nesting newly created lists inside list items. 37920 37921 2007-05-17 Patti Hoa <patti (a] apple.com> 37922 37923 Reviewed by Darin. 37924 37925 <rdar://problem/4775672> AXTextMarkerRangeForUnorderedTextMarkers returns incorrect order 37926 37927 * bridge/mac/WebCoreAXObject.mm: 37928 (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]): 37929 A selection's m_start is not guranteed to equal m_base since m_start can actually be m_base's downstream(). 37930 A more accurate way to determine the order from selection is to ask directly for isBaseFirst(). 37931 In addition, if the two visible positions given are the same position but different affinity, we need to 37932 handle it here rather than depend on the selection. This is because selection does not retain the 37933 affinity of both selection start/end visible positions as part of the selection validation. 37934 37935 2007-05-17 Mitz Pettel <mitz (a] webkit.org> 37936 37937 Reviewed by Brady 37938 37939 - fix http://bugs.webkit.org/show_bug.cgi?id=13759 37940 REGRESSION (r20182-r20184): Incorrect rendering of multipart images 37941 37942 Test: http/tests/multipart/invalid-image-data.html 37943 37944 * loader/loader.cpp: 37945 (WebCore::Loader::didReceiveData): Make a copy of the current part's data 37946 instead of using the resource data, because the latter is going to be 37947 overwritten by the new part being received. 37948 37949 2007-05-17 Oliver Hunt <oliver (a] apple.com> 37950 37951 Reviewed by Justin. 37952 37953 Fix for <rdar://problem/4244861> Safari fails to create image file 37954 after releasing dragged image that has changed on source page 37955 37956 Tell xcode to copy HTMLImageElement.h and HTMLImageLoader.h headers 37957 across to WebKit as private headers. 37958 37959 * WebCore.xcodeproj/project.pbxproj: 37960 37961 2007-05-17 Justin Garcia <justin.garcia (a] apple.com> 37962 37963 Reviewed by harrison 37964 37965 <rdar://problem/5190926> 37966 Gmail Editor: Crash when removing list style from underlined, multi-item list 37967 37968 The user underlined some text, then created a list. 37969 The list was placed inside the inline element carrying 37970 the underline style, so, that element surrounded the 37971 list instead of being at the lowest level (just above 37972 text nodes). This kind of markup is more difficult to 37973 edit. Filed 5192089 and added a workaround so that we 37974 don't produce this kind of markup. 37975 37976 * editing/InsertListCommand.cpp: 37977 (WebCore::InsertListCommand::doApply): Avoid inline 37978 elements when inserting the new list. 37979 37980 2007-05-17 David Hyatt <hyatt (a] apple.com> 37981 37982 Allow redundant attributes with the same name in view source mode. 37983 37984 Reviewed by aroben 37985 37986 * dom/NamedAttrMap.h: 37987 (WebCore::NamedAttrMap::insertAttribute): 37988 * html/HTMLTokenizer.cpp: 37989 (WebCore::Token::addAttribute): 37990 37991 2007-05-17 George Staikos <staikos (a] kde.org> 37992 37993 - Back out last patch based on discussion with Zack. 37994 37995 * platform/qt/WidgetQt.cpp: 37996 (WebCore::Widget::paint): 37997 37998 2007-05-16 Anders Carlsson <andersca (a] apple.com> 37999 38000 Reviewed by Darin. 38001 38002 <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari 38003 38004 This happens because the form delegate gets passed the wrong source frame during the second submit(). 38005 If a frame with the given name is found, FrameLoader::load is called with the same parameters on the found frame. 38006 This causes the found frame to be used as the source frame, which is wrong. 38007 38008 The fix is to create the form state object before checking what frame to load the new request in. 38009 38010 * WebCore.exp: 38011 * loader/FrameLoader.cpp: 38012 (WebCore::FrameLoader::load): 38013 (WebCore::FrameLoader::checkNavigationPolicy): 38014 (WebCore::FrameLoader::continueAfterNavigationPolicy): 38015 * loader/FrameLoader.h: 38016 * manual-tests/submit-form-with-target-twice.html: Added. 38017 38018 2007-05-16 Maciej Stachowiak <mjs (a] apple.com> 38019 38020 Reviewed by Oliver. 38021 38022 <rdar://problem/5205914> REGRESSION: PLT stops after loading first page due to r21479 38023 38024 * loader/FrameLoader.cpp: 38025 (WebCore::FrameLoader::frameHasLoaded): 38026 38027 2007-05-16 David Hyatt <hyatt (a] apple.com> 38028 38029 Improve the syntax-highlighted view source mode. It now preserves all whitespace properly 38030 and highlights doctypes and comments (in addition to all the stuff it could highlight before). 38031 38032 Reviewed by aroben 38033 38034 * html/HTMLTokenizer.cpp: 38035 (WebCore::Token::addAttribute): 38036 (WebCore::HTMLTokenizer::parseTag): 38037 * html/HTMLTokenizer.h: 38038 (WebCore::Token::Token): 38039 (WebCore::Token::~Token): 38040 (WebCore::Token::reset): 38041 (WebCore::Token::addViewSourceChar): 38042 * html/HTMLViewSourceDocument.cpp: 38043 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 38044 * html/HTMLViewSourceDocument.h: 38045 38046 2007-05-16 Maciej Stachowiak <mjs (a] apple.com> 38047 38048 Reviewed by Adam. 38049 38050 <rdar://problem/5191024> Page never loads completely (emonome.vodpod.com) 38051 <rdar://problem/5205162> REGRESSION (r21367): In the Address URL field, typing a site name doesn't redirect to site after pressing return 38052 http://bugs.webkit.org/show_bug.cgi?id=13683 38053 <rdar://problem/5208951> REGRESSION: Progress bar never completes on link click that downloads (13694) 38054 http://bugs.webkit.org/show_bug.cgi?id=13694 38055 <rdar://problem/5201598> REGRESSION: After uploading file to iDisk at mac.com, "loading" status remains and file does not appear in the list 38056 38057 * loader/FrameLoader.cpp: 38058 (WebCore::FrameLoader::mainReceivedCompleteError): Make sure to always check whether the overall 38059 load completed, even if we think the current frame load is already complete. 38060 38061 2007-05-16 Beth Dakin <bdakin (a] apple.com> 38062 38063 Reviewed by Hyatt. 38064 38065 Fix for <rdar://problem/5204107> REGRESSION: CSS web forum site 38066 layout not displaying properly in latest WebKit 38067 38068 Hyatt's http://trac.webkit.org/projects/webkit/changeset/21428 38069 exposed this bug. We were not handling error cases with <caption> 38070 correctly. This patch makes them do the same thing as colgroup. 38071 38072 * html/HTMLParser.cpp: 38073 (WebCore::HTMLParser::handleError): 38074 * html/HTMLParserErrorCodes.cpp: No need any more for caption- 38075 specific errors. 38076 (WebCore::htmlParserErrorMessageTemplate): 38077 * html/HTMLParserErrorCodes.h: 38078 (WebCore::): 38079 38080 2007-05-16 Kevin McCullough <kmccullough (a] apple.com> 38081 38082 Reviewed by Darin and Geoff. 38083 38084 - rdar://problem/4981886 38085 - Now windows opened by the DOM can be closed by JS. 38086 38087 * bindings/js/kjs_window.cpp: 38088 (KJS::createNewWindow): 38089 (KJS::WindowFunc::callAsFunction): 38090 * loader/FrameLoader.cpp: 38091 (WebCore::FrameLoader::FrameLoader): 38092 (WebCore::FrameLoader::openedByDOM): 38093 (WebCore::FrameLoader::setOpenedByDOM): 38094 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): 38095 * loader/FrameLoader.h: 38096 38097 2007-05-16 Darin Adler <darin (a] apple.com> 38098 38099 Reviewed by Hyatt. 38100 38101 - fix <rdar://problem/4928671> Crash due to runaway recursion when fieldset has display: table-row (12066) 38102 38103 Test: fast/css/fieldset-display-row.html 38104 38105 * rendering/RenderContainer.cpp: (WebCore::RenderContainer::addChild): 38106 Change all decision making about special handling for new children to use 38107 the class of the render object instead of the style, except for the cases 38108 where the style is the only way to tell (TABLE_COLUMN_GROUP and TABLE_CAPTION). 38109 Thus a RenderFieldset with table-row style won't get handled as if it was 38110 a table row. 38111 38112 * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Same thing. 38113 Except that here the styles that we ahave to look at are TABLE_CAPTION, 38114 TABLE_HEADER_GROUP, TABLE_FOOTER_GROUP, and TABLE_ROW_GROUP. 38115 38116 2007-05-16 Zack Rusin <zrusin (a] trolltech.com> 38117 38118 Reviewed by Lars. 38119 38120 Implement bigger parts of the Canvas element in the 38121 Qt port. Gradients and patterns are missing. 38122 38123 * WebCore/html/CanvasRenderingContext2D.cpp: 38124 * WebCore/html/CanvasStyle.cpp: 38125 * WebCore/html/HTMLCanvasElement.cpp: 38126 * WebCore/html/HTMLCanvasElement: 38127 38128 2007-05-16 Zack Rusin <zrusin (a] trolltech.com> 38129 38130 Reviewed by Lars 38131 38132 Fix shared timers, make them use miliseconds. Based 38133 on a patch from George. 38134 38135 * WebCore/platform/qt/SharedTimerQt.cpp: 38136 (WebCore::setSharedTimerFireTime): 38137 38138 2007-05-16 David Hyatt <hyatt (a] apple.com> 38139 38140 Add rudimentary error reporting to the HTML parser. This is disabled 38141 for now until it gets beefed up a bit more (and until we work out how 38142 best to pass the messages up without hurting perf). 38143 38144 Clean up and remove dead error handling code and incorrect error handling 38145 code as well. 38146 38147 Reviewed by mjs 38148 38149 * WebCore.xcodeproj/project.pbxproj: 38150 * html/HTMLParser.cpp: 38151 (WebCore::HTMLParser::HTMLParser): 38152 (WebCore::HTMLParser::handleError): 38153 (WebCore::HTMLParser::headCreateErrorCheck): 38154 (WebCore::HTMLParser::reportErrorToConsole): 38155 * html/HTMLParser.h: 38156 (WebCore::HTMLParser::reportError): 38157 * html/HTMLParserErrorCodes.cpp: Added. 38158 (WebCore::htmlParserErrorMessageTemplate): 38159 * html/HTMLParserErrorCodes.h: Added. 38160 (WebCore::): 38161 * html/HTMLTokenizer.h: 38162 (WebCore::HTMLTokenizer::tagStartLineNumber): 38163 38164 2007-05-15 David Hyatt <hyatt (a] apple.com> 38165 38166 Make FrameLoader write "<html><body>" instead of just "<body>". 38167 38168 Reviewed by aroben 38169 38170 * loader/FrameLoader.cpp: 38171 (WebCore::FrameLoader::init): 38172 38173 2007-05-15 George Staikos <staikos (a] kde.org> 38174 38175 Reviewed by Adam Roben. 38176 38177 - Pass cookies through from the loader. 38178 38179 * platform/network/qt/ResourceHandleManagerQt.cpp: 38180 (WebCore::ResourceHandleManager::receivedResponse): 38181 38182 2007-05-15 Adam Treat <adam (a] staikos.net> 38183 38184 Reviewed by George Staikos. 38185 38186 - Implement drawArc with proper units. 38187 38188 * platform/graphics/qt/GraphicsContextQt.cpp: 38189 (WebCore::GraphicsContext::strokeArc): 38190 38191 2007-05-15 Adam Treat <adam (a] staikos.net> 38192 38193 Reviewed by George Staikos. 38194 38195 - Add missing paint for nested subframes. 38196 38197 * platform/qt/WidgetQt.cpp: 38198 (WebCore::Widget::paint): 38199 38200 2007-05-15 Sam Weinig <sam (a] webkit.org> 38201 38202 Reviewed by Oliver. 38203 38204 - Patch for http://bugs.webkit.org/show_bug.cgi?id=13722 38205 Finish testing and fixing the setting of DOM attributes to JS null 38206 38207 Convert JS null to null string for SVG attributes. 38208 38209 Test: fast/dom/svg-element-attribute-js-null.xhtml 38210 38211 * ksvg2/svg/SVGAngle.idl: 38212 * ksvg2/svg/SVGElement.idl: 38213 * ksvg2/svg/SVGLength.idl: 38214 * ksvg2/svg/SVGScriptElement.idl: 38215 38216 2007-05-15 Sam Weinig <sam (a] webkit.org> 38217 38218 Reviewed by Oliver. 38219 38220 - Patch for http://bugs.webkit.org/show_bug.cgi?id=13722 38221 Finish testing and fixing the setting of DOM attributes to JS null 38222 38223 Convert JS null to null string for CanvasRenderingContext2D attributes. 38224 38225 Test: fast/dom/canvasContext2d-element-attribute-js-null.html 38226 38227 * html/CanvasRenderingContext2D.idl: 38228 38229 2007-05-15 Oliver Hunt <oliver (a] apple.com> 38230 38231 Reviewed by Sam and Geoff. 38232 38233 Removing dead code left behind from drag and drop refactoring. 38234 38235 * page/mac/WebCoreFrameBridge.h: 38236 38237 2007-05-15 Sam Weinig <sam (a] webkit.org> 38238 38239 Reviewed by Oliver. 38240 38241 - Second Patch for http://bugs.webkit.org/show_bug.cgi?id=13722 38242 Finish testing and fixing the setting of DOM attributes to JS null 38243 38244 Convert JS null to null string for remaining CSSOM attributes. 38245 38246 Test: fast/dom/css-element-attribute-js-null.html 38247 38248 * bindings/js/kjs_css.cpp: 38249 (KJS::DOMCSSStyleDeclaration::put): 38250 (KJS::DOMMediaList::put): 38251 (KJS::DOMCSSRule::putValueProperty): 38252 (KJS::DOMCSSValue::put): 38253 * css/CSSPageRule.idl: 38254 * css/CSSRule.idl: 38255 * css/CSSStyleDeclaration.idl: 38256 * css/CSSStyleRule.idl: 38257 * css/CSSValue.idl: 38258 * css/MediaList.idl: 38259 38260 2007-05-15 Darin Adler <darin (a] apple.com> 38261 38262 Reviewed by Hyatt. 38263 38264 * css/html4.css: Remove wbr style rule -- not needed any more. 38265 38266 2007-05-15 Mitz Pettel <mitz (a] webkit.org> 38267 38268 Reviewed by Brady 38269 38270 - fix http://bugs.webkit.org/show_bug.cgi?id=13360 38271 REGRESSION: Crash closing live web cam viewer page 38272 38273 Test: http/tests/misc/multipart.html 38274 38275 * loader/ResourceLoader.cpp: 38276 (WebCore::ResourceLoader::didFail): Avoid calling didFailToLoad() if 38277 didFinishLoad() has already been called (when the first part of a 38278 multipart resource arrived). 38279 (WebCore::ResourceLoader::didCancel): Ditto. 38280 38281 2007-05-15 Sam Weinig <sam (a] webkit.org> 38282 38283 Reviewed by Darin. 38284 38285 - Patch for http://bugs.webkit.org/show_bug.cgi?id=13722 38286 Finish testing and fixing the setting of DOM attributes to JS null 38287 38288 Convert JS null to null string for remaining Core DOM attributes. 38289 38290 Test: fast/dom/coreDOM-element-attribute-js-null.xhtml 38291 38292 * dom/Attr.cpp: 38293 (WebCore::Attr::setValue): Don't throw an expection for null values as this 38294 is not in the spec and Firefox does not do it either. 38295 * dom/Attr.idl: 38296 * dom/CharacterData.idl: 38297 * dom/ProcessingInstruction.idl: 38298 38299 2007-05-15 Mitz Pettel <mitz (a] webkit.org> 38300 38301 Reviewed by Hyatt. 38302 38303 - fix http://bugs.webkit.org/show_bug.cgi?id=13718 38304 REGRESSION (r21093): editing/execCommand/5136770.html failing pixel test 38305 38306 * rendering/RenderContainer.cpp: 38307 (WebCore::RenderContainer::removeChildNode): Moved the code that clears the 38308 selection when moving a selection border into the fast path. 38309 38310 2007-05-15 Rob Buis <buis (a] kde.org> 38311 38312 Reviewed by Hyatt. 38313 38314 http://bugs.webkit.org/show_bug.cgi?id=6487 38315 "Make Text Bigger/Smaller" affects SVGs when it probably shouldn't 38316 38317 Ignore Make Text Bigger/Smaller for SVG text. 38318 38319 * css/svg.css: 38320 38321 2007-05-15 Anders Carlsson <andersca (a] apple.com> 38322 38323 Reviewed by Maciej. 38324 38325 <rdar://problem/5183685> 38326 http://bugs.webkit.org/show_bug.cgi?id=13301 38327 ASSERT or null value when trying to use a getter defined on a window object 38328 38329 Handle the case where the value returned is a getter/setter object. 38330 38331 * bindings/js/kjs_window.cpp: 38332 (KJS::Window::getOverridePropertySlot): 38333 38334 2007-05-14 Anders Carlsson <andersca (a] apple.com> 38335 38336 Reviewed by Geoff. 38337 38338 <rdar://problem/5200816> 38339 REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com ) 38340 38341 Shiira under some circumstances passes nil as the request to -[WebFrame loadRequest:]. ToT WebKit doesn't call any policy 38342 delegate methods in this case, which means that the page is actually being loaded. 38343 38344 This patch makes ToT WebKit behave in the same way as Tiger WebKit when the request is nil. 38345 38346 * loader/FrameLoader.cpp: 38347 (WebCore::FrameLoader::checkNavigationPolicy): 38348 Don't continue without calling the navigation policy method if the request is null. 38349 38350 (WebCore::FrameLoader::continueAfterNavigationPolicy): 38351 If the request can't be handled, don't continue the load. 38352 38353 * platform/network/mac/ResourceRequestMac.mm: 38354 (WebCore::ResourceRequest::doUpdatePlatformRequest): 38355 Don't create an NSURLRequest object if the request is null. 38356 38357 2007-05-15 Maciej Stachowiak <mjs (a] apple.com> 38358 38359 Reviewed by Hyatt and Lars. 38360 38361 - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window 38362 38363 * WebCore.exp: export new symbol 38364 * loader/FrameLoader.cpp: 38365 (WebCore::FrameLoader::begin): move marker that we committed a real doc load from here... 38366 (WebCore::FrameLoader::transitionToCommitted): ...to here 38367 (WebCore::FrameLoader::frameHasLoaded): check that we have at least started loading something 38368 besides the initial empty doc. 38369 * loader/FrameLoader.h: 38370 38371 2007-05-14 Justin Garcia <justin.garcia (a] apple.com> 38372 38373 Reviewed by ggaren 38374 38375 <http://bugs.webkit.org/show_bug.cgi?id=13716> 38376 REGRESSION: Three new layout test failures 38377 38378 Two failures are correct. Updated their expected results. 38379 38380 In fast/events/frame-tab-focus.html, as we advance 38381 through focusable nodes, we descend into a subframe 38382 to focus a node and then ascend out of it into the 38383 main frame to focus the next. When we focus the main 38384 frame, the node in that frame that was previously 38385 focused and contains an inactive selection is focused 38386 momentarily because setCaretVisible tries to focus the 38387 node containing the caret. 38388 38389 * page/Frame.cpp: 38390 (WebCore::Frame::setCaretVisible): Don't focus the 38391 node containing the caret. FocusController will focus 38392 the previously focused node (which will contain the 38393 caret) if necessary when the frame gains focus. 38394 38395 2007-05-14 Maciej Stachowiak <mjs (a] apple.com> 38396 38397 Reviewed by Brady. 38398 38399 - fixed <rdar://problem/5203036> REGRESSION: Assertion failure in WebCore::FrameLoader::restoreScrollPositionAndViewState() going back from fark.com Photoshop contest (13684) 38400 38401 Test: http/tests/navigation/back-to-slow-frame.html 38402 38403 * loader/FrameLoader.cpp: 38404 (WebCore::FrameLoader::restoreScrollPositionAndViewState): Add needed early return. 38405 38406 2007-05-14 Mitz Pettel <mitz (a] webkit.org> 38407 38408 Reviewed by Dave Hyatt. 38409 38410 - fix http://bugs.webkit.org/show_bug.cgi?id=13603 38411 style leaks in washingtonpost.com 38412 also known as http://bugs.webkit.org/show_bug.cgi?id=8750 38413 w3c.org: incorrect recovery from unclosed <a> elements 38414 also known as http://bugs.webkit.org/show_bug.cgi?id=12808 38415 Handling of misnested tags results in entire page appearing as link 38416 also known as http://bugs.webkit.org/show_bug.cgi?id=12861 38417 Post text renders as link 38418 38419 Test: fast/parser/residual-style-close-across-n-blocks.html 38420 38421 * html/HTMLParser.cpp: 38422 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Changed to 38423 deal with multiple block crossings instead of bailing out, by doing multiple 38424 reparenting passes, starting from the outermost block. 38425 38426 2007-05-14 Mitz Pettel <mitz (a] webkit.org> 38427 38428 Reviewed by Darin. 38429 38430 - fix http://bugs.webkit.org/show_bug.cgi?id=13711 38431 REGRESSION - Bookmark Bar text rendering changed 38432 38433 No test possible since this patch affects only Safari chrome. 38434 38435 * platform/Font.cpp: 38436 (WebCore::Font::Font): Initialize m_isPlatformFont according to whether 38437 the Font object is derived from a FontPlatformData or not. 38438 * platform/Font.h: 38439 (WebCore::Font::isPlatformFont): Added. Returns whether this Font was 38440 derived from a platform font. 38441 * platform/mac/FontCacheMac.mm: 38442 (WebCore::FontCache::getFontDataForCharacters): Changed to not enable 38443 synthetic bold and italic in the fallback fonts if the original font 38444 was derived from a platform font. 38445 38446 2007-05-14 Sam Weinig <sam (a] webkit.org> 38447 38448 Reviewed by Alice! 38449 38450 - Patch for http://bugs.webkit.org/show_bug.cgi?id=13541 38451 REGRESSION: Setting a DOMString attribute to JS null in the 38452 JS bindings should default to converting to the empty string 38453 38454 Convert JS null to the empty string when passing it to an attribute that takes 38455 a DOMString. 38456 38457 Test: fast/dom/document-attribute-js-null.html 38458 Test: fast/dom/element-attribute-js-null.html 38459 38460 * bindings/js/kjs_dom.cpp: 38461 (KJS::DOMNode::putValueProperty): 38462 * bindings/js/kjs_html.cpp: 38463 (KJS::JSHTMLDocument::putValueProperty): 38464 (KJS::JSHTMLElement::objectSetter): 38465 (KJS::JSHTMLElement::embedSetter): 38466 (KJS::JSHTMLElement::tableSetter): 38467 (KJS::JSHTMLElement::tableCaptionSetter): 38468 (KJS::JSHTMLElement::tableColSetter): 38469 (KJS::JSHTMLElement::tableSectionSetter): 38470 (KJS::JSHTMLElement::tableRowSetter): 38471 (KJS::JSHTMLElement::tableCellSetter): 38472 (KJS::JSHTMLElement::frameSetSetter): 38473 (KJS::JSHTMLElement::frameSetter): 38474 (KJS::JSHTMLElement::iFrameSetter): 38475 (KJS::JSHTMLElement::marqueeSetter): 38476 (KJS::JSHTMLElement::putValueProperty): 38477 * bindings/js/kjs_html.h: 38478 * dom/Document.idl: 38479 * dom/Node.idl: 38480 * html/HTMLAnchorElement.idl: 38481 * html/HTMLAppletElement.idl: 38482 * html/HTMLAreaElement.idl: 38483 * html/HTMLBRElement.idl: 38484 * html/HTMLBaseElement.idl: 38485 * html/HTMLBaseFontElement.idl: 38486 * html/HTMLBlockquoteElement.idl: 38487 * html/HTMLBodyElement.idl: 38488 * html/HTMLButtonElement.idl: 38489 * html/HTMLDivElement.idl: 38490 * html/HTMLDocument.idl: 38491 * html/HTMLElement.idl: 38492 * html/HTMLEmbedElement.idl: 38493 * html/HTMLFontElement.idl: 38494 * html/HTMLFormElement.idl: 38495 * html/HTMLFrameElement.idl: 38496 * html/HTMLFrameSetElement.idl: 38497 * html/HTMLHRElement.idl: 38498 * html/HTMLHeadElement.idl: 38499 * html/HTMLHeadingElement.idl: 38500 * html/HTMLHtmlElement.idl: 38501 * html/HTMLIFrameElement.idl: 38502 * html/HTMLImageElement.idl: 38503 * html/HTMLInputElement.idl: 38504 * html/HTMLIsIndexElement.idl: 38505 * html/HTMLLIElement.idl: 38506 * html/HTMLLabelElement.idl: 38507 * html/HTMLLegendElement.idl: 38508 * html/HTMLLinkElement.idl: 38509 * html/HTMLMapElement.idl: 38510 * html/HTMLMetaElement.idl: 38511 * html/HTMLModElement.idl: 38512 * html/HTMLOListElement.idl: 38513 * html/HTMLObjectElement.idl: 38514 * html/HTMLOptGroupElement.idl: 38515 * html/HTMLOptionElement.idl: 38516 * html/HTMLParagraphElement.idl: 38517 * html/HTMLParamElement.idl: 38518 * html/HTMLQuoteElement.idl: 38519 * html/HTMLScriptElement.idl: 38520 * html/HTMLSelectElement.idl: 38521 * html/HTMLStyleElement.idl: 38522 * html/HTMLTableCaptionElement.idl: 38523 * html/HTMLTableCellElement.idl: 38524 * html/HTMLTableColElement.idl: 38525 * html/HTMLTableElement.idl: 38526 * html/HTMLTableRowElement.idl: 38527 * html/HTMLTableSectionElement.idl: 38528 * html/HTMLTextAreaElement.idl: 38529 * html/HTMLTitleElement.idl: 38530 * html/HTMLUListElement.idl: 38531 38532 2007-05-14 Geoffrey Garen <ggaren (a] apple.com> 38533 38534 Trying to fix the Qt build. 38535 38536 * WebCore.pro: 38537 38538 2007-05-14 Geoffrey Garen <ggaren (a] apple.com> 38539 38540 Reviewed by Oliver Hunt. 38541 38542 Some improvements on my last patch, suggested by Darin. 38543 38544 * history/PageCache.cpp: 38545 (WebCore::PageCache::autoreleaseNow): Swap with an empty set instead of 38546 building up an array and then calling clear(). This is slightly more 38547 efficient and the code is cleaner. 38548 38549 2007-05-14 Justin Garcia <justin.garcia (a] apple.com> 38550 38551 Reviewed by darin 38552 38553 <rdar://problem/5136696> Selection is removed when focusing a node in another frame 38554 <rdar://problem/5192388> WordPress: Can't insert links/images 38555 38556 Don't clear a selection when changing focus if the new 38557 focus node is in a different frame than the old selection. 38558 38559 * dom/Document.cpp: 38560 (WebCore::Document::setFocusedNode): Moved code to clear 38561 selections to the FocusController, since it is Page level 38562 and will know about the frame/document that contained the 38563 old selection. Moved code to call shouldEndEditing to the 38564 FocusController because selections are now cleared before 38565 calling Document::setFocusedNode and shouldEndEditing must 38566 be called before selections are cleared. 38567 * dom/Element.cpp: 38568 (WebCore::Element::blur): Call FocusController::setFocusNode 38569 instead of Document::setFocusNode, if possible. 38570 * page/EventHandler.cpp: 38571 (WebCore::EventHandler::dispatchMouseEvent): Ditto. 38572 * page/FocusController.cpp: 38573 (WebCore::relinquishesEditingFocus): Moved from Document.cpp. 38574 (WebCore::clearSelectionIfNeeded): Ditto. Don't clear if 38575 the old selection is in a frame that's different than the 38576 one that contains the new focus node. 38577 (WebCore::FocusController::setFocusedNode): Moved code 38578 here from Document::setFocusedNode. 38579 * page/Frame.cpp: 38580 (WebCore::Frame::setFocusedNodeIfNeeded): Call 38581 FocusController::setFocusNode. 38582 38583 2007-05-14 Geoffrey Garen <ggaren (a] apple.com> 38584 38585 Reviewed by Darin Adler. 38586 38587 Next step toward fixing <rdar://problem/5055182> The back cache has no 38588 global cap. 38589 38590 Created a PageCache singleton. Right now, it only handles the timer-based 38591 deallocation of cached pages. I plan to add HistoryItem->CachedPage tracking 38592 and eviction logic in later patches. 38593 38594 Updated for renames and file changes: 38595 38596 * WebCore.exp: 38597 * WebCore.xcodeproj/project.pbxproj: 38598 * history/BackForwardList.cpp: 38599 (WebCore::BackForwardList::setPageCacheSize): 38600 (WebCore::BackForwardList::clearPageCache): 38601 38602 Removed global timed release code, moved into new PageCache class, since 38603 it's eventually going to be in charge of deciding when things are released: 38604 38605 * history/HistoryItem.cpp: 38606 (WebCore::HistoryItem::setCachedPage): 38607 * history/HistoryItem.h: 38608 38609 Folded into PageCache: 38610 38611 * history/HistoryItemTimer.cpp: Removed. 38612 * history/HistoryItemTimer.h: Removed. 38613 38614 New singleton. Right now, it just handles timed release of cached pages: 38615 38616 * history/PageCache.cpp: Added. 38617 (WebCore::pageCache): 38618 (WebCore::PageCache::PageCache): 38619 (WebCore::PageCache::autoreleaseNowOrReschedule): 38620 (WebCore::PageCache::autoreleaseNow): 38621 (WebCore::PageCache::autorelease): 38622 * history/PageCache.h: Added. 38623 38624 2007-05-14 Adele Peterson <adele (a] apple.com> 38625 38626 Reviewed by Darin. 38627 38628 Fix for <rdar://problem/5200081> Repro crash in PopupMenu::show clicking popup menu button after reload 38629 38630 * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Added call to dismissPopup so the cell gets unattached properly. 38631 38632 2007-05-14 Adele Peterson <adele (a] apple.com> 38633 38634 Reviewed by Darin. 38635 38636 Remove incorrect assertion. 38637 38638 * page/FrameView.cpp: (WebCore::FrameView::setContentsPos): 38639 38640 2007-05-14 Anders Carlsson <andersca (a] apple.com> 38641 38642 Reviewed by Geoff. 38643 38644 <rdar://problem/5172056> Regression: cannot open txt file, get broken image 38645 38646 Never let plug-ins override text/plain. 38647 38648 * dom/DOMImplementation.cpp: 38649 (WebCore::DOMImplementation::createDocument): 38650 38651 2007-05-14 Zack Rusin <zrusin (a] trolltech.com> 38652 38653 Reviewed by Simon. 38654 38655 Do some magic to get better dependency tracking for header 38656 files in the qmake project files. 38657 38658 * ChangeLog: 38659 38660 2007-05-14 Lars Knoll <lars (a] trolltech.com> 38661 38662 Reviewed by Zack 38663 38664 Required updates after Maciej's frame change. 38665 38666 * loader/FrameLoader.cpp: 38667 (WebCore::FrameLoader::mainReceivedCompleteError): 38668 Call checkLoadCompleted() at the end of the method. Without it 38669 we never get the loadDone() signal on the Qt port. 38670 * platform/network/qt/ResourceHandleManagerQt.cpp: 38671 (WebCore::ResourceHandleManager::receivedFinished): 38672 Don't pass a null error to didFail(). 38673 38674 2007-05-14 Darin Adler <darin (a] apple.com> 38675 38676 Reviewed by Antti. 38677 38678 - fix <rdar://problem/3109180> VIP: after go back, page jumps after loading even if I scrolled while loading 38679 38680 * history/CachedPage.cpp: (WebCore::CachedPage::clear): Call clearFrame rather than 38681 clearPart -- the "part" term was leftover prehistoric terminology. 38682 38683 * loader/FrameLoader.cpp: 38684 (WebCore::FrameLoader::open): Call setWasScrolledByUser(false) on the page, so that we 38685 can detect any user scrolling that happens during the "go back" process. 38686 (WebCore::FrameLoader::restoreScrollPositionAndViewState): Don't scroll if the view's 38687 wasScrolledByUser flag is set. 38688 (WebCore::FrameLoader::loadItem): Call setWasScrolledByUser(false) false when we do 38689 a new "load" (actually just a scroll) using the same frame. Also moved the line of code that 38690 sets m_currentHistoryItem to make this code path mroe similar to recursiveGoToItem. 38691 (WebCore::FrameLoader::recursiveGoToItem): Ditto. 38692 38693 * page/Frame.cpp: 38694 (WebCore::Frame::~Frame): Call clearFrame rather than stting m_frame directly. 38695 (WebCore::Frame::sendScrollEvent): Call setWasScrolledByUser(true) on FrameView. The FrameView 38696 itself knows to ignore this if the scrolling is being done programmatically instead of by the user. 38697 38698 * page/FrameView.h: Added wasScrolledByUser and setWasScrolledByUser. Also removed unneeded 38699 include and class forward declarations, renamed clearPart to clearFrame, removed uneeded function 38700 haveDelayedLayoutScheduled, and removed unneeded friend declarations. 38701 * page/FrameView.cpp: 38702 (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_inProgrammaticScroll and m_wasScrolledByUser. 38703 (WebCore::FrameViewPrivate::reset): Set m_wasScrolledByUser to false. 38704 (WebCore::FrameView::clearFrame): Renamed from clearPart. 38705 (WebCore::FrameView::scrollRectIntoViewRecursively): Added code to set the m_inProgrammaticScroll flag. 38706 (WebCore::FrameView::setContentsPos): Ditto. 38707 (WebCore::FrameView::wasScrolledByUser): Added. 38708 (WebCore::FrameView::setWasScrolledByUser): Added. Does nothing if called when m_inProgrammaticScroll 38709 is true. 38710 38711 2007-05-14 Darin Adler <darin (a] apple.com> 38712 38713 Reviewed by Antti. 38714 38715 - <rdar://problem/4865655> REGRESSION: find function does not work for the character 38716 38717 The trick was to fold case consistently in the CircularSearchBuffer class. 38718 38719 The problem was that we were folding the search target string with full case folding and 38720 the characters of the text we were searching with simple case folding. We now use full 38721 case folding in both cases. 38722 38723 * editing/TextIterator.cpp: 38724 (WebCore::CircularSearchBuffer::CircularSearchBuffer): Changed the buffer to be a 38725 Vector<UChar>. Added a Vector<bool> to record which characters were starts of characters 38726 in the text we are searching. Changed the cursor to be an int rather than a pointer. 38727 (WebCore::CircularSearchBuffer::append): New function that knows how to append multiple 38728 characters when folding case turns one character into many -- uses the full foldCase 38729 rather than the simplified single-character foldCase. Also removed the append function 38730 that did multiple characters at once; that was part of an optimization we don't need. 38731 (WebCore::CircularSearchBuffer::isMatch): Instead of asserting that the buffer is full, 38732 changed this to return false if it's not full, which lets us fill up the buffer with 38733 the normal loop. Also return false if the start of the buffer is half-way through a 38734 case-folded character and updated this since m_cursor is now an integer. 38735 (WebCore::CircularSearchBuffer::length): This returns the length in non-case-folded 38736 characters of the characters that were appended, which may not be the same as the length 38737 of the original target string. To do that we have to total up the character start 38738 booleans for the current state of the circular buffer. 38739 (WebCore::findPlainText): Streamlined the logic in a few ways: 1) Moved more of the 38740 return value setup to the top of the function so it could be shared with the early 38741 error exit. 2) Removed the separate "fill the buffer" logic, which allowed me to 38742 remove some of the functions from CircularSearchBuffer and eliminated the need for 38743 two nested loops. 3) Replaced the CharacterIterator and bool that were used to record 38744 the location we found with integers matchStart and matchLength. 4) Got rid of the use 38745 of goto since we don't have two nested loops any more. 38746 38747 2007-05-14 Andrew Wellington <proton (a] wiretapped.net> 38748 38749 Reviewed by Darin. 38750 38751 Fix http://bugs.webkit.org/show_bug.cgi?id=13275 38752 Safari crashed when trying to login using the windows live contact control 38753 38754 Check for cleared windowObj in JSAbstractEventListener::handleEvent 38755 38756 * bindings/js/kjs_events.cpp: 38757 (KJS::JSAbstractEventListener::handleEvent): 38758 38759 2007-05-13 Alexey Proskuryakov <ap (a] webkit.org> 38760 38761 Reviewed by Darin. 38762 38763 http://bugs.webkit.org/show_bug.cgi?id=13690 38764 JavaScript Form Validation issue on Banco do Brasil site 38765 38766 Test: fast/forms/input-setvalue-selection.html 38767 38768 * html/HTMLInputElement.cpp: 38769 (WebCore::HTMLInputElement::setValue): In other browsers, changing textInput.value 38770 always moves the insertion point past the text. In 10.4.9 WebKit, this only worked 38771 for inactive controls, and it never worked in ToT. 38772 38773 2007-05-13 Brady Eidson <beidson (a] apple.com> 38774 38775 Reviewed by Mitz 38776 38777 http://bugs.webkit.org/show_bug.cgi?id=13701 38778 38779 Since HTMLInputElements register themselves with their Document for special handling, if their document 38780 ever changes then bad things can happen. 38781 38782 Unfortunately, with adoptNode, the document can change. This has been a long standing crasher with all 38783 input fields but was given recent high visibility by r21430 38784 38785 The solution is to add functionality for a Node to react to its owner document changing via a pair of 38786 virtual callbacks. Then we can tap into those callbacks in HTMLInputElement. 38787 38788 No layout test possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved 38789 38790 * dom/Node.cpp: 38791 (WebCore::Node::setDocument): Call willMoveToNewOwnerDocument and didMoveToNewOwnerDocument 38792 38793 * dom/Node.h: 38794 (WebCore::Node::willMoveToNewOwnerDocument): Virtual callback to a node for before an owner document change 38795 (WebCore::Node::didMoveToNewOwnerDocument): Virtual callback to a node for after an owner document change 38796 38797 * html/HTMLInputElement.cpp: 38798 (WebCore::HTMLInputElement::~HTMLInputElement): Unconditionally unregister both for both form state 38799 and the cache restoration callback 38800 (WebCore::HTMLInputElement::setInputType): Change registration with the document only if we're in one 38801 (WebCore::HTMLInputElement::attach): Don't bother registering for the callback here - that will be 38802 handled by setInputType() or by a change in owner document 38803 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Unregister with the old owner document 38804 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): Register with the new owner document 38805 * html/HTMLInputElement.h: 38806 38807 2007-05-13 Darin Adler <darin (a] apple.com> 38808 38809 * platform/mac/TextBreakIteratorInternalICUMac.mm: Fix comment typo. 38810 38811 2007-05-13 Rob Buis <buis (a] kde.org> 38812 38813 Reviewed by Darin. 38814 38815 http://bugs.webkit.org/show_bug.cgi?id=13529 38816 DOM3 keyIdentifier text is incorrect 38817 38818 Use 4 digits for the Unicode based key identifiers. 38819 38820 * html/HTMLButtonElement.cpp: 38821 (WebCore::HTMLButtonElement::defaultEventHandler): 38822 * html/HTMLInputElement.cpp: 38823 (WebCore::HTMLInputElement::defaultEventHandler): 38824 * html/HTMLSelectElement.cpp: 38825 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): 38826 * page/EventHandler.cpp: 38827 (WebCore::EventHandler::defaultKeyboardEventHandler): 38828 * page/gdk/EventHandlerGdk.cpp: 38829 (WebCore::isKeyboardOptionTab): 38830 * page/mac/EventHandlerMac.mm: 38831 (WebCore::isKeyboardOptionTab): 38832 * page/qt/EventHandlerQt.cpp: 38833 (WebCore::isKeyboardOptionTab): 38834 * platform/gdk/KeyEventGdk.cpp: 38835 (WebCore::keyIdentifierForGdkKeyCode): 38836 * platform/mac/KeyEventMac.mm: 38837 (WebCore::keyIdentifierForKeyEvent): 38838 * platform/qt/PlatformKeyboardEventQt.cpp: 38839 (WebCore::keyIdentifierForQtKeyCode): 38840 * platform/win/KeyEventWin.cpp: 38841 (WebCore::keyIdentifierForWindowsKeyCode): 38842 * platform/wx/KeyEventWin.cpp: 38843 (WebCore::keyIdentifierForWindowsKeyCode): 38844 * platform/wx/KeyboardEventWx.cpp: 38845 (WebCore::keyIdentifierForWxKeyCode): 38846 38847 2007-05-12 Darin Adler <darin (a] apple.com> 38848 38849 Reviewed by Antti. 38850 38851 - fix <rdar://problem/5174903> Safari crashes opening the attached webarchive (made by OmniWeb) 38852 38853 * loader/icon/IconLoader.cpp: 38854 (WebCore::IconLoader::didReceiveResponse): Check ResourceHandle for nil before calling url() on it. 38855 (WebCore::IconLoader::didFail): Ditto. 38856 (WebCore::IconLoader::didFinishLoading): Ditto. 38857 38858 2007-05-12 Rob Buis <buis (a] kde.org> 38859 38860 Reviewed by Oliver. 38861 38862 Cleanup, get rid of the SVGStyledElement::view() call. 38863 38864 * ksvg2/svg/SVGClipPathElement.cpp: 38865 (WebCore::SVGClipPathElement::canvasResource): 38866 * ksvg2/svg/SVGFEFloodElement.cpp: 38867 (WebCore::SVGFEFloodElement::filterEffect): 38868 * ksvg2/svg/SVGGradientElement.cpp: 38869 (WebCore::SVGGradientElement::buildStops): 38870 * ksvg2/svg/SVGStyledElement.cpp: 38871 * ksvg2/svg/SVGStyledElement.h: 38872 38873 2007-05-12 Mitz Pettel <mitz (a] webkit.org> 38874 38875 Reviewed by Hyatt. 38876 38877 - fix http://bugs.webkit.org/show_bug.cgi?id=13680 38878 Incomplete repaint of focus ring around continuation 38879 38880 Test: fast/repaint/continuation-after-outline.html 38881 38882 * rendering/RenderFlow.cpp: 38883 (WebCore::RenderFlow::absoluteClippedOverflowRect): 38884 38885 2007-05-12 Oliver Hunt <oliver (a] apple.com> 38886 38887 Reviewed by Hyatt. 38888 38889 <rdar://problem/4728842> Can't drag-and-drop files onto <input type="file"> 38890 38891 This patch allows a file to be dropped on to a file input field. There 38892 are a few changes for data handling and a few to allow the data to be 38893 threaded to the appropriate places. 38894 38895 * page/DragController.cpp: 38896 (WebCore::asFileInput): 38897 When dropping a file onto a file input we may mouse over either 38898 the element itself, or the contained button element. This method 38899 returns the base element for the file input in either of these 38900 cases. 38901 (WebCore::DragController::tryDocumentDrag): 38902 Don't try to set the drag caret to a file input. 38903 (WebCore::DragController::concludeDrag): 38904 Handle dropping onto a file input element. 38905 (WebCore::DragController::canProcessDrag): 38906 We can now process a file being dragged onto a file input element. 38907 38908 * platform/DragData.h: 38909 New accessors 38910 38911 * platform/gdk/DragDataGdk.cpp: 38912 (WebCore::DragData::containsFiles): 38913 (WebCore::DragData::asFilenames): 38914 Link stubs. 38915 38916 * platform/mac/DragDataMac.mm: 38917 (WebCore::DragData::containsFiles): 38918 (WebCore::DragData::asFilenames): 38919 Implement new accessors 38920 (WebCore::DragData::containsCompatibleContent): 38921 Update containsCompatibleContent to allow standalone files. 38922 38923 * platform/qt/DragDataQt.cpp: 38924 (WebCore::DragData::containsFiles): 38925 (WebCore::DragData::asFilenames): 38926 Link stubs 38927 38928 * rendering/RenderFileUploadControl.cpp: 38929 (WebCore::RenderFileUploadControl::receiveDroppedFile): 38930 * rendering/RenderFileUploadControl.h: 38931 For security reasons we don't have an api to allow us to set 38932 a value directly on a file input -- attempts to do so are 38933 blocked. By adding a method to set the target through the 38934 render we bypass such restrictions, and ensure the renderer 38935 is updated correctly. 38936 38937 2007-05-12 Mitz Pettel <mitz (a] webkit.org> 38938 38939 Reviewed by Hyatt. 38940 38941 - fix http://bugs.webkit.org/show_bug.cgi?id=13695 38942 REGRESSION (r21387): Replaced elements' highlight rects are wrongly positioned 38943 38944 Test: fast/replaced/selection-rect.html 38945 38946 Also fixes the same problem with list markers, covered by existing test 38947 fast/lists/markers-in-selection.html. 38948 38949 * rendering/RenderListMarker.cpp: 38950 (WebCore::RenderListMarker::selectionRect): 38951 * rendering/RenderReplaced.cpp: 38952 (WebCore::RenderReplaced::selectionRect): 38953 38954 2007-05-12 Mitz Pettel <mitz (a] webkit.org> 38955 38956 Reviewed by Darin. 38957 38958 - fix http://bugs.webkit.org/show_bug.cgi?id=13685 38959 REGRESSION (r21368-r21388): Highlighting text in scrolled textareas behaves oddly 38960 38961 Test: fast/repaint/text-selection-rect-in-overflow.html 38962 38963 * rendering/RenderText.cpp: 38964 (WebCore::RenderText::selectionRect): 38965 38966 2007-05-12 Brady Eidson <beidson (a] apple.com> 38967 38968 Rubber stamped by Mitz 38969 38970 * html/HTMLInputElement.cpp: 38971 (WebCore::HTMLInputElement::attach): unregister->register - I screwed this one up in last minute renaming 38972 before committing :( 38973 38974 2007-05-11 Brady Eidson <beidson (a] apple.com> 38975 38976 Reviewed by Darin and Geoff 38977 38978 Fix for http://bugs.webkit.org/show_bug.cgi?id=13630 38979 and 38980 <rdar://problem/4873628> 38981 38982 Back/Forward cache should work with pages with login fields. 38983 38984 First change is to relocate the "useSecureKeyboardEntry" flag to the document. This lets 38985 it persist through page cache transitions and it is truly a per-document concept more than 38986 per-frame anyways since its the document that has a password field, not the frame. 38987 38988 Second change is to introduce the concept of an Element getting a "didRestoreFromCache()" callback. 38989 The idea is for elements to register with the document if they need work to be done when the 38990 page comes out of the back/forward cache. Currently the only client of this service is 38991 HTMLInputElements that are input type == PASSWORD. Such an element's implementation for this 38992 method is to call reset() 38993 38994 Finally, after a page is restored from the cache we have the document send the didRestoreFromCache() 38995 callback to its registered Elements. The whole design is to clear the password fields after 38996 restoring the page instead of when caching the page because we want to defer work for the common 38997 case - there shouldn't be extra work here just to navigate away from a page when the common case 38998 is that you'll never go back! 38999 39000 No layout tests possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved 39001 39002 * dom/Document.cpp: 39003 (WebCore::Document::Document): 39004 (WebCore::Document::registerForDidRestoreFromCacheCallback): Add an Element to the special page-restoration callback list 39005 (WebCore::Document::unregisterForDidRestoreFromCacheCallback): Remove such an element 39006 (WebCore::Document::didRestoreFromCache): Called by FrameLoader - dispatch to all the registered elements 39007 (WebCore::Document::setUseSecureKeyboardEntryWhenActive): Set the local flag and call updateSecureKeyboardEntryIfActive 39008 on the Frame 39009 (WebCore::Document::useSecureKeyboardEntryWhenActive): Return the flag 39010 39011 * dom/Document.h: 39012 (WebCore::Document::unregisterFormElementWithState): Renamed 39013 39014 * dom/Element.h: 39015 (WebCore::Element::didRestoreFromCache): Added virtual base method 39016 39017 * html/HTMLInputElement.cpp: 39018 (WebCore::HTMLInputElement::~HTMLInputElement): Deregister from the document if inputType == PASSWORD 39019 (WebCore::HTMLInputElement::dispatchFocusEvent): Set the flag on the document, not the frame 39020 (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto 39021 (WebCore::HTMLInputElement::setInputType): If changing to/from PASSWORD, register/deregister in the document accordingly 39022 (WebCore::HTMLInputElement::attach): Call registerForDidRestoreFromCacheCallback(this) instead of passwordFieldAdded() 39023 (WebCore::HTMLInputElement::didRestoreFromCache): Call reset(); 39024 * html/HTMLInputElement.h: 39025 39026 * html/HTMLSelectElement.cpp: 39027 (WebCore::HTMLSelectElement::~HTMLSelectElement): Renamed deregisterFormElementWithState to unregisterFormElementWithState 39028 * html/HTMLTextAreaElement.cpp: 39029 (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Ditto 39030 39031 * loader/FrameLoader.cpp: 39032 (WebCore::FrameLoader::canCachePage): Remove the check for password fields - they're allowed now! 39033 (WebCore::FrameLoader::opened): Tell the document to dispatch to the registered elements 39034 (WebCore::FrameLoader::saveDocumentState): Remove the check for password fields. Turns out that when we grab a copy a the 39035 form state we're only copying the state of form elements that are registered with the Document - and that set 39036 explicitly excludes Password elements 39037 39038 * page/Frame.cpp: 39039 (WebCore::Frame::setDocument): If the frame is active, set the setUseSecureKeyboardEntry based on the setting contained 39040 in the new document 39041 (WebCore::Frame::updateSecureKeyboardEntryIfActive): Notification for the secure entry flag changing - if the Frame is 39042 active, then update to the new setting from the document 39043 (WebCore::Frame::setIsActive): Grab the useSecureKeyboardEntry flag from the document instead of FramePrivate 39044 (WebCore::FramePrivate::FramePrivate): 39045 * page/Frame.h: 39046 * page/FramePrivate.h: 39047 39048 2007-05-12 David Hyatt <hyatt (a] apple.com> 39049 39050 FIx for 13696. Rework residual style to be much more aggressive about reopening. Added 39051 a comprehensive test case of HTML tags to guarantee we match Firefox. We now have an exclusion 39052 set rather than an inclusion set, so unknown future tags will also participate in residual style. 39053 39054 Reviewed by olliej 39055 39056 fast/invalid/residual-style.html 39057 39058 2007-05-12 David Hyatt <hyatt (a] apple.com> 39059 39060 Fix for bug 12740, bmw.com doesn't work. We were missing a rule that is covered by the HTML5 39061 parsing spec. A <table> encountered while inside stray table content should close up the 39062 table responsible for the stray content and start the new table as a sibling of the first. 39063 39064 Reviewed by mjs 39065 39066 fast/invalid/table-inside-stray-table-content.html 39067 39068 2007-05-12 Eric Seidel <eric (a] webkit.org> 39069 39070 Reviewed by mjs. 39071 39072 Crash starting Safari with JavaScript disabled. 39073 http://bugs.webkit.org/show_bug.cgi?id=13691 39074 39075 Test: none possible. 39076 39077 * page/mac/FrameMac.mm: 39078 (WebCore::Frame::cleanupPlatformScriptObjects): NULL check d->m_script 39079 39080 2007-05-11 David Hyatt <hyatt (a] apple.com> 39081 39082 Fix for http://bugs.webkit.org/show_bug.cgi?id=13688, Colloquy is broken! 39083 39084 Make sure to adjust the baseline of a percentage height table cell's row if the 39085 cell flexes (and lowers the baseline). 39086 39087 Reviewed by olliej 39088 39089 fast/tables/vertical-align-baseline-readjust.html 39090 39091 (WebCore::RenderTableSection::calcRowHeight): 39092 (WebCore::RenderTableSection::layoutRows): 39093 * rendering/RenderTableSection.h: 39094 (WebCore::RenderTableSection::getBaseline): 39095 39096 2007-05-11 David Hyatt <hyatt (a] apple.com> 39097 39098 Make sure focus rings are always using the exterior style, regardless 39099 of what the OS default is. 39100 39101 Reviewed by beth 39102 39103 * rendering/RenderThemeMac.mm: 39104 (WebCore::RenderThemeMac::checkbox): 39105 (WebCore::RenderThemeMac::radio): 39106 (WebCore::RenderThemeMac::popupButton): 39107 (WebCore::RenderThemeMac::search): 39108 (WebCore::RenderThemeMac::sliderThumbHorizontal): 39109 (WebCore::RenderThemeMac::sliderThumbVertical): 39110 39111 2007-05-11 Oliver Hunt <oliver (a] apple.com> 39112 39113 Reviewed by Hyatt. 39114 39115 <rdar://problem/5195473> REGRESSION: "Curly quote" fails to 39116 be displayed correctly even when META tag specifies charset=x-mac-roman 39117 39118 39119 * platform/TextCodecICU.cpp: 39120 (WebCore::TextCodecICU::registerExtendedEncodingNames): 39121 Register the xmacroman encoding 39122 39123 2007-05-11 Maciej Stachowiak <mjs (a] apple.com> 39124 39125 Reviewed by Hyatt. 39126 39127 REGRESSION (r21367): Crash due to null document deref when closing bookmarks 39128 http://bugs.webkit.org/show_bug.cgi?id=13662 39129 39130 * loader/FrameLoader.cpp: 39131 (WebCore::FrameLoader::provisionalLoadStarted): Remove some useless and now harmful 39132 code - there's no need to clear in this case. 39133 39134 2007-05-11 Oliver Hunt <oliver (a] apple.com> 39135 39136 GDK Build fix 39137 39138 * ChangeLog: 39139 * dom/Document.cpp: 39140 (WebCore::Document::importNode): 39141 39142 2007-05-11 Maciej Stachowiak <mjs (a] apple.com> 39143 39144 Reviewed by Geoff. 39145 39146 - fixed <rdar://problem/5197621> closing second window crashed webkit (13660) 39147 http://bugs.webkit.org/show_bug.cgi?id=13660 39148 39149 No test case; not testable. 39150 39151 * page/mac/FrameMac.mm: 39152 (WebCore::Frame::cleanupPlatformScriptObjects): Check if the interpreter is null; 39153 if so, we don't want to do work that may lazily create it while the Frame is being 39154 destroyed. 39155 39156 2007-05-11 Oliver Hunt <oliver (a] apple.com> 39157 39158 Reviewed by Brady. 39159 39160 <rdar://problem/5017375> WebKit should disable SVG in Dashboard 39161 39162 Prevents an SVG document or element from being created when in 39163 dashboard compatibility mode. 39164 39165 Manually parsing, or using XHR to created a document removes our 39166 ability to detect Dashboard compatibility mode, so we also perform 39167 the check when importing nodes from one document into another. 39168 39169 * dom/DOMImplementation.cpp: 39170 (WebCore::DOMImplementation::createDocument): 39171 Don't create an SVGDocument if we're in dashboard compatibility mode 39172 39173 * dom/Document.cpp: 39174 (WebCore::Document::importNode): 39175 Don't import SVG nodes if we're in dashboard compatibility mode 39176 39177 * ksvg2/scripts/make_names.pl: 39178 Don't create SVG elements for documents that are in dashboard 39179 compatibility mode 39180 39181 2007-05-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 39182 39183 Reviewed by Maciej. 39184 39185 Bug 13676: [cairo/gdk] Provide implementation for ImageBufferCairo 39186 http://bugs.webkit.org/show_bug.cgi?id=13676 39187 39188 There are no test cases that explicitly cover platform/graphics at present. 39189 39190 * platform/graphics/ImageBuffer.h: Add cairo bits 39191 * platform/graphics/cairo/ImageBufferCairo.cpp: Untested implementation of the ImagerBuffer using the image_surface 39192 (WebCore::ImageBuffer::create): Create a reasonable sized surface 39193 (WebCore::ImageBuffer::ImageBuffer): Use a cairo_surface and create a GraphicsContext. GraphicsContext takes the cairo_t ownership 39194 (WebCore::ImageBuffer::~ImageBuffer): Unref the surface 39195 (WebCore::ImageBuffer::context): simply return the GraphicsContext, it should be possible to directly draw on it. 39196 39197 2007-05-11 Mitz Pettel <mitz (a] webkit.org> 39198 39199 Release build fix. 39200 39201 * platform/mac/ShapeArabic.c: 39202 (shapeArabic): 39203 39204 2007-05-11 Geoffrey Garen <ggaren (a] apple.com> 39205 39206 Reviewed by Darin Adler. 39207 39208 Removed +[WebScriptObject scriptObjectForJSObject:frame:] because the 39209 WebScriptObject API has some serious limitations that make it not ready 39210 to be used everywhere the C API is used. Hopefully we can add a good 39211 ObjC API in the future that doesn't suffer from this problem. 39212 39213 Preliminary notes about these limitations are in <rdar://problem/4876466>. 39214 39215 * bindings/objc/WebScriptObject.mm: 39216 * bindings/objc/WebScriptObjectPendingPublic.h: 39217 39218 2007-05-11 Mitz Pettel <mitz (a] webkit.org> 39219 39220 Reviewed by Darin. 39221 39222 - fix http://bugs.webkit.org/show_bug.cgi?id=13635 39223 REGRESSION: Cannot log in to webmail.co.za account 39224 39225 Test: fast/dom/HTMLOptionElement/option-text.html 39226 39227 Despite the specification that the 'text' attribute of HTMLOptionElement 39228 is "the text contained within the option element", other browsers return 39229 the text as displayed in the list box or popup, which is without leading, 39230 trailing and collapsible whitespace. 39231 39232 * html/HTMLOptionElement.cpp: 39233 (WebCore::HTMLOptionElement::text): Moved the code to trim and collapse 39234 whitespace and replace backslashes with the currency symbol into this 39235 function. 39236 (WebCore::HTMLOptionElement::optionText): Left only the code that adds 39237 the leading spaces for grouped options. Removed code that, in quirks mode, 39238 displayed the label if the option element contained no text. That behavior 39239 did not match WinIE and the description of the expected behavior in 39240 fast/forms/HTMLOptionElement_label06.html. 39241 39242 2007-05-11 Mitz Pettel <mitz (a] webkit.org> 39243 39244 Reviewed by Darin. 39245 39246 - fix http://bugs.webkit.org/show_bug.cgi?id=13572 39247 Arabic characters are not correctly joined when using Arial 39248 39249 No tests added because standard fonts do not use the character-based shaping 39250 code path. 39251 39252 Added shapeArabic(), a private version of u_shapeArabic() from ICU, 39253 patched to shape Arabic characters used in Persian, Urdu, Sindhi, etc. 39254 (whose contextual forms belong to the Arabic Presentation Forms-A block). 39255 39256 * WebCore.xcodeproj/project.pbxproj: Added ShapeArabic.{c,h}. 39257 * platform/mac/FontMac.mm: 39258 (WebCore::shapeArabic): Changed to call shapeArabic() instead of u_shapeArabic(). 39259 * platform/mac/ShapeArabic.c: Added. Based on ushape.c from ICU, with 39260 additional shaping data and logic for Arabic Presentation Forms-A. Removed 39261 many options that are not used in WebKit and code that malloc()ed a temporary 39262 buffer and reversed the string. 39263 (changeLamAlef): 39264 (specialChar): 39265 (getLink): 39266 (isTashkeelChar): 39267 (shapeUnicode): 39268 (shapeArabic): 39269 * platform/mac/ShapeArabic.h: Added. 39270 39271 2007-05-11 Darin Adler <darin (a] apple.com> 39272 39273 Reviewed by Mitz. 39274 39275 - fix http://bugs.webkit.org/show_bug.cgi?id=7452 39276 <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com) 39277 39278 - fix http://bugs.webkit.org/show_bug.cgi?id=10657 39279 <rdar://problem/4274588> <wbr> tags are ignored 39280 39281 - fix http://bugs.webkit.org/show_bug.cgi?id=12689 39282 <wbr> :before/:after content causes line break 39283 39284 - fix <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr> 39285 39286 Test: fast/text/wbr-pre.html 39287 Test: fast/text/wbr.html 39288 Test: fast/css-generated-content/wbr-with-before-content.html 39289 Test: fast/parser/parse-wbr.html 39290 39291 * html/HTMLElement.h: 39292 * html/HTMLElement.cpp: 39293 (WebCore::HTMLElement::endTagRequirement): Use the same end tag requirement for a <wbr> 39294 element as for a <br> element, TagStatusForbidden. 39295 (WebCore::HTMLElement::tagPriority): Use the same priority for a <wbr> element as for a 39296 <br> element, 0. 39297 (WebCore::HTMLElement::createRenderer): Added. Create a RenderWordBreak to trigger the 39298 new rendering code paths. 39299 39300 * rendering/RenderFlow.h: Add a virtual isWordBreak so we can detect RenderWordBreak. 39301 39302 * rendering/RenderWordBreak.h: Added. 39303 * rendering/RenderWordBreak.cpp: Added. 39304 39305 * WebCore.pro: Added new files. 39306 * WebCore.xcodeproj/project.pbxproj: Added new files. 39307 * WebCoreSources.bkl: Added new files. 39308 39309 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcInlinePrefWidths): Reset the 39310 line when we hit a <wbr>. 39311 * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Add a line break when 39312 we hit a <wbr>. 39313 39314 * dom/Node.cpp: (Node::createRendererIfNeeded): Fix a null check for the case where 39315 createRenderer returns 0 even though rendererIsNeeded returned true. I can't reproduce 39316 it on demand, but while running layout tests I hit this once. Since there was already 39317 a null check here, I rearranged it so it guards all the code that uses the renderer. 39318 Later we might want to figure out under exactly what circumstances rendererIsNeeded 39319 will return true but createRenderer return 0 and consider eliminating them. 39320 39321 2007-05-11 David Hyatt <hyatt (a] apple.com> 39322 39323 Fix for bug 13675, focus rings don't repaint properly on editable 39324 continuations. 39325 39326 Reviewed by olliej 39327 39328 (WebCore::InlineFlowBox::paint): 39329 * rendering/RenderBlock.cpp: 39330 (WebCore::RenderBlock::paintObject): 39331 (WebCore::continuationOutlineTable): 39332 (WebCore::RenderBlock::addContinuationWithOutline): 39333 (WebCore::RenderBlock::paintContinuationOutlines): 39334 * rendering/RenderBlock.h: 39335 * rendering/RenderBox.cpp: 39336 (WebCore::RenderBox::absoluteClippedOverflowRect): 39337 * rendering/RenderObject.cpp: 39338 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 39339 (WebCore::RenderObject::absoluteOutlineBox): 39340 39341 2007-05-11 Rob Buis <buis (a] kde.org> 39342 39343 Reviewed by Oliver. 39344 39345 Cleanups mostly inspired by Coverage results. 39346 39347 * ksvg2/css/SVGCSSParser.cpp: 39348 (WebCore::CSSParser::parseSVGValue): 39349 (WebCore::CSSParser::parseSVGStrokeDasharray): 39350 * ksvg2/css/SVGRenderStyleDefs.cpp: 39351 (StyleFillData::operator==): 39352 * ksvg2/svg/SVGColor.cpp: 39353 (WebCore::SVGColor::colorFromRGBColorString): 39354 39355 2007-05-11 Holger Freyther <freyther (a] kde.org> 39356 39357 Reviewed by Mark Rowe. 39358 39359 Move libcurl configuration into WebKit.pri so it will be used by GdkLauncher. 39360 39361 * WebCore.pro: 39362 39363 2007-05-10 David Hyatt <hyatt (a] apple.com> 39364 39365 <rdar://problem/5015522> Bounds rectangle of unloaded images is 39366 drawn briefly while loading 39367 39368 When the image is null and has no size, don't draw the grey 39369 rectangles or alt text any more. Wait for an actual error to 39370 occur with the image before we start showing alt text and borders. 39371 39372 (Images with no source set at all will continue to show alt text and 39373 borders immediately.) 39374 39375 Reviewed by bradee-oh 39376 39377 * rendering/RenderImage.cpp: 39378 (WebCore::RenderImage::paint): 39379 39380 2007-05-10 Mitz Pettel <mitz (a] webkit.org> 39381 39382 Reviewed by Darin. 39383 39384 - fix http://bugs.webkit.org/show_bug.cgi?id=13655 39385 Incomplete repaint when text-shadow is used in a render layer with explicit height 39386 39387 Test: fast/repaint/layer-full-repaint.html 39388 39389 Removed custom repaint logic from RenderLayer. repaintAfterLayoutIfNeeded() 39390 knows how to do everything we need now. The only catch is that we cannot 39391 rely on its "do a full repaint if the object needs layout" behavior, since 39392 by the time we call it, the needs layout flag has been reset. The solution 39393 is to cache the need for a full repaint in the layer. 39394 39395 * page/FrameView.cpp: 39396 (WebCore::FrameView::layout): Removed call to checkForRepaintOnResize(). 39397 * rendering/RenderLayer.cpp: 39398 (WebCore::RenderLayer::checkForRepaintOnResize): Removed. 39399 (WebCore::RenderLayer::RenderLayer): Replaced the m_repaintOverflowOnResize 39400 flag with a m_needsFullRepaint flag, which indicates that the layer needs 39401 to do a full repaint in the next call to updateLayerPositions(). 39402 (WebCore::RenderLayer::updateLayerPositions): Simplified the repaint logic. 39403 Either call repaintAfterLayoutIfNeeded() or do a full repaint, depending on 39404 m_needsFullRepaint. 39405 * rendering/RenderLayer.h: 39406 (WebCore::RenderLayer::setNeedsFullRepaint): 39407 * rendering/RenderObject.cpp: 39408 (WebCore::RenderObject::setNeedsLayout): Mark the layer for full repaint. 39409 39410 2007-05-10 Justin Garcia <justin.garcia (a] apple.com> 39411 39412 Reviewed by ggaren 39413 39414 <rdar://problem/5195166> Incorrect proposedRange DOMRange passed to WebViewEditing delegate 39415 39416 In setModifyBias, we must cache the start and the end 39417 because the calls to setBase and setExtent can modify 39418 them (added a testcase). 39419 The temporary SelectionController that we use in modify() to 39420 produce the proposed range that will be passed to 39421 shouldChangeSelectedDOMRange must have the same m_modifyBias 39422 as the original SelectionController, or else when the 39423 modification is performed, setModifyBias can swap the base 39424 and the extent incorrectly (added a testcase). 39425 Renamed m_modifyBias to m_lastChangeWasHorizontalExtension. 39426 Renamed setModifyBias to willBeModified. 39427 39428 * editing/SelectionController.cpp: 39429 (WebCore::SelectionController::SelectionController): 39430 (WebCore::SelectionController::setSelection): 39431 (WebCore::SelectionController::willBeModified): 39432 (WebCore::SelectionController::modify): 39433 * editing/SelectionController.h: 39434 (WebCore::SelectionController::setLastChangeWasHorizontalExtension): 39435 * page/EventHandler.cpp: 39436 (WebCore::EventHandler::handleMousePressEventSingleClick): 39437 (WebCore::EventHandler::updateSelectionForMouseDragOverPosition): 39438 39439 2007-05-10 Geoffrey Garen <ggaren (a] apple.com> 39440 39441 Reviewed by Darin Adler. 39442 39443 "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness, 39444 in the style of WebCore::cache(). 39445 39446 * WebCore.exp: 39447 * history/HistoryItem.cpp: Removed retainIconInDatabase because calling 39448 "retain" in order to release something is really confusing and, now that 39449 iconDatabase() is more terse, we don't need this helper to shorten the 39450 syntax. (The isEmpty() check is also done by the database, so we don't 39451 need it either.) 39452 39453 (WebCore::IconDatabase::~IconDatabase): ASSERT that our destructor isn't 39454 called. We're a singleton, so it's confusing to have tear-down code. 39455 39456 2007-05-10 Adele Peterson <adele (a] apple.com> 39457 39458 Reviewed by Hyatt. 39459 39460 WebCore part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result 39461 39462 Test: fast/overflow/scroll-nested-positioned-layer-in-overflow.html 39463 39464 Merged visibleSelectionRect into selectionRect. selectionRect() now takes an argument to determine 39465 whether or not to return a rect that clips to the visible content. This change makes all of the implementations of selectionRect 39466 consistent by having them all consider the repaint rect when clipping to visible content. 39467 39468 * page/Frame.cpp: 39469 (WebCore::Frame::revealSelection): Call selectionRect with clipToVisibleContent = false, so we can get a rect that's not visible to reveal. 39470 (WebCore::Frame::selectionRect): Added clipToVisibleContent argument, and merged visibleSelectionRect into this method. 39471 (WebCore::Frame::setIsActive): Use selectionRect instead of visibleSelectionRect. 39472 * page/Frame.h: 39473 * page/mac/FrameMac.mm: (WebCore::Frame::selectionImage): Update layout before creating the image. Use selectionRect instead of visibleSelectionRect. 39474 * page/DragController.cpp: (WebCore::dragLocForSelectionDrag): Use selectionRect instead of visibleSelectionRect. 39475 39476 * rendering/RenderBR.h: (WebCore::RenderBR::selectionRect): Updated argument. 39477 * rendering/RenderBlock.h: (WebCore::RenderBlock::selectionRect): ditto. 39478 * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::selectionRect): ditto. 39479 * rendering/RenderSVGInlineText.h: ditto. 39480 * rendering/RenderObject.h: 39481 (WebCore::RenderObject::selectionRect): ditto. 39482 (WebCore::RenderObject::SelectionInfo::SelectionInfo): ditto. 39483 * rendering/RenderView.cpp: 39484 (WebCore::RenderView::selectionRect): ditto. 39485 (WebCore::RenderView::setSelection): ditto. 39486 * rendering/RenderView.h: 39487 39488 * rendering/RenderText.h: 39489 * rendering/RenderText.cpp: (WebCore::RenderText::selectionRect): Only call computeAbsoluteRepaintRect when clipping to visible content. 39490 Otherwise, just adjust the rect to the correct position. 39491 * rendering/RenderListMarker.h: 39492 * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::selectionRect): 39493 To match what we do in RenderText, if we're trying to clip to visible content, just call computeAbsoluteRepaintRect. 39494 * rendering/RenderReplaced.h: 39495 * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::selectionRect): ditto. 39496 39497 * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Check for a parent layer at the beginning, so we can try to scroll all of our parent layers 39498 first, before trying to scroll the top level view. Also, don't try to scroll overflow layers that have -webkit-line-clamp restricting the height. 39499 This will prevent us from revealing text hidden by the slider in Safari RSS. 39500 39501 * WebCore.exp: Update symbols for WebKit. 39502 39503 2007-05-10 David Hyatt <hyatt (a] apple.com> 39504 39505 Fix for: 39506 39507 <rdar://problem/5195272> REGRESSION: broke outline rings for continuations 39508 with empty inline containers 39509 39510 http://bugs.webkit.org/show_bug.cgi?id=13667 39511 39512 Make sure to only include collapsed top/bottom margins of the block portion 39513 of the continuation if we know for sure that we have inline line boxes before 39514 and after that would prevent the collapse from going further. 39515 39516 In plain English: the focus rings were too tall. :) 39517 39518 Reviewed by beth 39519 39520 * rendering/RenderFlow.cpp: 39521 (WebCore::RenderFlow::addFocusRingRects): 39522 39523 2007-05-10 David Hyatt <hyatt (a] apple.com> 39524 39525 Fix for: 39526 39527 <rdar://problem/5067235> REGRESSION: Excessively wide table, impossible to resize 39528 39529 The table used white-space: pre-wrap, which is supported only by WebKit. There 39530 was a bug with the computation of min pref width for pre-wrap text. 39531 39532 Reviewed by mitzpettel 39533 39534 fast/text/white-space/pre-wrap-line-test.html 39535 39536 * rendering/RenderText.cpp: 39537 (WebCore::RenderText::calcPrefWidths): 39538 39539 2007-05-10 Brady Eidson <beidson (a] apple.com> 39540 39541 Reviewed by Oliver 39542 39543 Cleanup from my earlier Java Applet patch. We should keep a central location to query if 39544 a mime type counts as a Java Applet 39545 39546 * html/HTMLObjectElement.cpp: 39547 (WebCore::HTMLObjectElement::containsJavaApplet): Query MimeTypeRegistry on the type 39548 39549 * platform/MimeTypeRegistry.cpp: 39550 (WebCore::MimeTypeRegistry::isSupportedImageMIMEType): Update style 39551 (WebCore::MimeTypeRegistry::isSupportedImageResourceMIMEType): Ditto 39552 (WebCore::MimeTypeRegistry::isSupportedNonImageMIMEType): Ditto 39553 (WebCore::MimeTypeRegistry::isJavaAppletMIMEType): Perform the Java Applet check 39554 * platform/MimeTypeRegistry.h: 39555 39556 * rendering/RenderPartObject.cpp: 39557 (WebCore::RenderPartObject::updateWidget): Query MimeTypeRegistry on the type 39558 39559 2007-05-10 Patti Hoa <patti (a] apple.com> 39560 39561 Reviewed by Darin. 39562 39563 <rdar://problem/4720109> Sentence textMarker methods do not work well with empty lines 39564 39565 * bridge/mac/WebCoreAXObject.mm: 39566 (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]): 39567 (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]): 39568 When a marker position is given, the sentence ax methods automatically shift position by one to make sure 39569 not to ask for the current sentence again. This is generally fine except when the position 39570 shift over an empty line break, which is should be considered a separate sentence. In this case, 39571 if we used the shifted position to ask for sentence boundary, ICU parser is not given the text data 39572 containing the newline to correctly determine the sentence boundary. Since the ax sentence method is 39573 explicitly shifting the position to ask for sentence boundary, it should make sure not to skip over important 39574 character that can be a standalone sentence. 39575 * editing/visible_units.cpp: 39576 (WebCore::nextBoundary): 39577 When determining boundary, don't stop on a collapsed range, such as newline. 39578 Just pick the next valid position to use as boundary. 39579 39580 2007-05-10 Maciej Stachowiak <mjs (a] apple.com> 39581 39582 Reviewed by Oliver. 39583 39584 - WebCore part of fix for: 39585 <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load) 39586 <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465) 39587 39588 The basic approach is to have Frames start out containing an empty document instead of absolutely nothing, 39589 so there is no need to initialize them on demand. Various side effects of that cause both of these bugs. 39590 39591 However, this caused many regressions so I had to fix the fallout. 39592 39593 * WebCore.exp: fix symbol exports 39594 * bindings/js/kjs_window.cpp: 39595 (KJS::createNewWindow): useless "created" bool (we don't need it here) 39596 (KJS::WindowFunc::callAsFunction): detect if we created a new frame, because if so, 39597 we need to initialize the domain (can't count on it not having a document), also 39598 don't try to make a new document for it. 39599 Also, stop properly. 39600 * css/cssstyleselector.cpp: 39601 (WebCore::CSSStyleSelector::CSSStyleSelector): don't count on document having a view here 39602 * html/HTMLObjectElement.cpp: 39603 (WebCore::HTMLObjectElement::isImageType): Ask client, to match how other <object> renderer 39604 decisions are made. 39605 * loader/FrameLoader.cpp: 39606 (WebCore::FrameLoader::FrameLoader): Initialize new data members 39607 (WebCore::FrameLoader::init): Do the slightly tricky sequence of steps to properly make 39608 an empty document with everything hooked up. 39609 (WebCore::FrameLoader::createWindow): Added "created" bool. 39610 (WebCore::FrameLoader::stopLoading): (whitespace change) 39611 (WebCore::FrameLoader::begin): Don't try to create an empty document. 39612 (WebCore::FrameLoader::finishedParsing): If creating an initial empty document, don't 39613 do any of this work. 39614 (WebCore::FrameLoader::checkCompleted): Do checkLoadComplete() as well. 39615 (WebCore::FrameLoader::baseURL): don't check for null document 39616 (WebCore::FrameLoader::baseTarget): ditto 39617 (WebCore::FrameLoader::completeURL): ditto 39618 (WebCore::FrameLoader::didTellBridgeAboutLoad): ditto 39619 (WebCore::FrameLoader::scheduleLocationChange): determine duringLoad differently; doc won't 39620 be null. 39621 (WebCore::FrameLoader::gotoAnchor): don't check for null document 39622 (WebCore::FrameLoader::canTarget): don't check for null document 39623 (WebCore::FrameLoader::stopForUserCancel): new method for explicit stops like window.stop(). 39624 (WebCore::FrameLoader::transitionToCommitted): check for pre-loaded state properly 39625 (WebCore::FrameLoader::createEmptyDocument): removed 39626 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): don't send delegate callbacks when making initial 39627 doc. 39628 (WebCore::FrameLoader::tokenizerProcessedData): Assume document; just checkCompleted now that it 39629 does checkLoadComplete. 39630 (WebCore::FrameLoader::receivedMainResourceError): assume document 39631 (WebCore::FrameLoader::saveDocumentState): Assume there's a document except during initial load 39632 (WebCore::FrameLoader::mainReceivedCompleteError): do checkCompleted, not checkLoadComplete 39633 (WebCore::FrameLoader::continueLoadWithData): assume document 39634 * loader/FrameLoader.h: 39635 * loader/MainResourceLoader.cpp: 39636 (WebCore::MainResourceLoader::receivedError): Add more ref protection and do things in a slightly 39637 different order. 39638 * page/DOMWindow.cpp: 39639 (WebCore::DOMWindow::document): don't force document creation, just assert there is one. 39640 * page/Frame.cpp: 39641 (WebCore::Frame::init): Added init method. 39642 (WebCore::Frame::pageDestroyed): when a frame is removed, make sure to check if the parent is 39643 done loading. 39644 * page/Frame.h: 39645 * page/mac/WebCoreFrameBridge.mm: 39646 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): No need to force 39647 document. 39648 (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): ditto 39649 * platform/graphics/svg/SVGImage.cpp: 39650 (WebCore::SVGImage::dataChanged): init the frame 39651 * rendering/RenderPart.cpp: 39652 (WebCore::RenderPart::updateWidgetPosition): If a subframe needs layout, then lay it out even 39653 if the bounds did not change; the content size might be wrong. 39654 * rendering/RenderTreeAsText.cpp: 39655 (WebCore::externalRepresentation): Don't crash if the frame lacks a view. 39656 39657 2007-05-10 David Hyatt <hyatt (a] apple.com> 39658 39659 Fix for: 39660 39661 <rdar://problem/5146757> REGRESSION: div that wrapped to screen width in 39662 tiger no longer wraps 39663 39664 http://bugs.webkit.org/show_bug.cgi?id=13654 39665 39666 Reviewed by mitz 39667 39668 fast/text/whitespace/normal-after-nowrap-breaking.html 39669 39670 * rendering/RenderBlock.cpp: 39671 (WebCore::RenderBlock::calcInlinePrefWidths): 39672 39673 2007-05-10 David Hyatt <hyatt (a] apple.com> 39674 39675 Fix for: 39676 39677 <rdar://problem/4778099> Links with nested continuations fail to 39678 paint their outlines (11255) 39679 39680 http://bugs.webkit.org/show_bug.cgi?id=11255 39681 39682 Fix multiple bugs with outline painting of continuations to ensure that 39683 all combos work (empty/full inline - block with/without margins - 39684 empty/full inline). 39685 39686 Reviewed by mitz 39687 39688 fast/inline/continuation-outlines.html 39689 39690 * rendering/RenderBlock.cpp: 39691 (WebCore::RenderBlock::paintObject): 39692 * rendering/RenderFlow.cpp: 39693 (WebCore::RenderFlow::addFocusRingRects): 39694 39695 2007-05-10 David Hyatt <hyatt (a] apple.com> 39696 39697 Fix for: 39698 39699 <rdar://problem/5193529> REGRESSION: RTL Overflows scrollbar not showing 39700 when they should be 39701 39702 Fallout from fix for bug 11926. Make sure to restrict the fix to the 39703 RenderView for now, since the full-blown overflow case is pretty involved. 39704 39705 Reviewed by mitzpettel 39706 39707 fast/overflow/unreachable-content-bug-rtl.html 39708 39709 * rendering/RenderBlock.cpp: 39710 (WebCore::RenderBlock::lowestPosition): 39711 (WebCore::RenderBlock::rightmostPosition): 39712 (WebCore::RenderBlock::leftmostPosition): 39713 39714 2007-05-10 Brady Eidson <beidson (a] apple.com> 39715 39716 Reviewed by Oliver 39717 39718 Fix for http://bugs.webkit.org/show_bug.cgi?id=13636 and <rdar://problem/5190816> 39719 39720 When creating the applets collection, be sure to only count Objects if they contain 39721 a java applet 39722 39723 * html/HTMLCollection.cpp: 39724 (WebCore::HTMLCollection::traverseNextItem): Add the qualifier for Objects that 39725 containsJavaApplet() must be true 39726 39727 * html/HTMLObjectElement.cpp: 39728 (WebCore::HTMLObjectElement::containsJavaApplet): Check this Object element and inner 39729 nodes for any Java applets 39730 * html/HTMLObjectElement.h: 39731 39732 2007-05-10 David Hyatt <hyatt (a] apple.com> 39733 39734 Fix for: 39735 39736 <rdar://problem/4694859> SAP: HTML tags with overflow:hidden consume 39737 space on page, do not consume space in Firefox (11926) 39738 39739 http://bugs.webkit.org/show_bug.cgi?id=11926 39740 39741 Make sure that unreachable objects along one axis (e.g., top/left) do not 39742 contribute to the scrollable area in the opposite axis (e.g., right/bottom). 39743 39744 Reviewed by olliej 39745 39746 fast/overflow/unreachable-content-test.html 39747 39748 * rendering/RenderBlock.cpp: 39749 (WebCore::RenderBlock::lowestPosition): 39750 (WebCore::RenderBlock::rightmostPosition): 39751 (WebCore::RenderBlock::leftmostPosition): 39752 39753 2007-05-10 David Hyatt <hyatt (a] apple.com> 39754 39755 Fix for: 39756 39757 <rdar://problem/4656825> REGRESSION: Japanese TV time table widget: 39758 part of the number in background has been cut off. 39759 39760 Now that opacity uses a tight bounding box to clip, we need to make sure 39761 to factor spillout caused by negative letter spacing into our right 39762 overflow. Latch on to the code that does this already for text-stroke 39763 and text-shadow. 39764 39765 Reviewed by olliej 39766 39767 fast/text/letter-spacing-negative-opacity.html 39768 39769 * rendering/InlineFlowBox.cpp: 39770 (WebCore::InlineFlowBox::placeBoxesHorizontally): 39771 39772 2007-05-10 Geoffrey Garen <ggaren (a] apple.com> 39773 39774 Reviewed by Maciej Stachowiak. 39775 39776 More fix-ups to the WebScriptObject/WebScripting APIs, related to 39777 <rdar://problem/5140447> API for fetching JSGlobalContextRef from WebView 39778 or WebFrame 39779 39780 * bindings/objc/WebScriptObject.h: Fully specified the surprising rules for 39781 type conversion between JavaScript and ObjC. 39782 * bindings/objc/WebScriptObject.mm: Added up-call accessor to WebFrame. 39783 This is kind of stinky, but I'm OK with it because eventually all of this 39784 code should move up into WebKit. 39785 (+[WebScriptObject scriptObjectForJSObject:frame:]): 39786 (-[WebScriptObject valueForKey:]): 39787 (-[WebScriptObject JSObject]): 39788 - Added _rootObject check because if _rootObject returns NULL it means 39789 that _imp is no longer GC protected, so it's not safe to use. 39790 - Added _isSafeScript check because that's what WebScriptObject methods 39791 typically do, even though the value of doing so isn't clear to me. 39792 * bindings/objc/WebScriptObjectPendingPublic.h: Added WebFrame* parameter 39793 to -scriptObjectForJSObject:. This is required to wrap JS objects that 39794 are not already in the wrapper cache. It would be nice to remove this 39795 limitation of WebScriptObject some day. 39796 * page/mac/FrameMac.mm: 39797 (WebCore::Frame::cleanupPlatformScriptObjects): Force removal of m_windowScriptObject 39798 from the cache, to avoid retrieving the m_windowScriptObject from the previous 39799 page on a new page load. (It would be non-functional in that case.) 39800 39801 2007-05-10 David Hyatt <hyatt (a] apple.com> 39802 39803 Fix for <rdar://problem/5183697>. 39804 39805 http://bugs.webkit.org/show_bug.cgi?id=13576 39806 39807 Make sure verticalPositionHint is not called on an inline-block from 39808 content inside the inline-block (like text). 39809 39810 Reviewed by olliej 39811 39812 fast/inline-block/inline-block-vertical-align.html 39813 39814 * rendering/RenderObject.cpp: 39815 (WebCore::RenderObject::verticalPositionHint): 39816 * rendering/RenderText.cpp: 39817 (WebCore::RenderText::verticalPositionHint): 39818 * rendering/RenderThemeMac.mm: 39819 (WebCore::RenderThemeMac::setFontFromControlSize): 39820 39821 2007-05-09 Holger Freyther <zecke (a] selfish.org> 39822 39823 Reviewed by Mark Rowe. 39824 39825 Gdk build fix with SVG enabled. Stub out ImageBufferCairo. 39826 39827 * WebCore.pro: Build ImageBufferCairo.cpp 39828 * platform/graphics/cairo/ImageBufferCairo.cpp: Added. 39829 (WebCore::ImageBuffer::create): 39830 (WebCore::ImageBuffer::~ImageBuffer): 39831 (WebCore::ImageBuffer::context): 39832 39833 2007-05-08 Justin Garcia <justin.garcia (a] apple.com> 39834 39835 Reviewed by darin 39836 39837 <rdar://problem/5017613> Style changes don't effect fully selected ToDo content 39838 39839 * editing/ApplyStyleCommand.cpp: 39840 (WebCore::ApplyStyleCommand::applyInlineStyle): 39841 Use a for loop instead of while(1). 39842 Simplify loop termination using Range::pastEndNode. 39843 Don't handle the start.node() == end.node() case 39844 specially, it's unnecessary. 39845 Apply the style change to fully selected plaintext-only 39846 regions, not with wrapper spans inside the region, but 39847 by changing the element's inline style declaration. 39848 Don't descend into nodes whose children we should ignore. 39849 39850 2007-05-09 Adele Peterson <adele (a] apple.com> 39851 39852 Reviewed by Hyatt. 39853 39854 Fix for <rdar://problem/5113578> REGRESSION: textfields that set the height but not the font 39855 look different from IE & FF because the font is small 39856 39857 For plain text fields, don't stretch the inner text box. Center it vertically in the field. 39858 39859 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::layout): 39860 39861 2007-05-09 Atul Mehrotra <atul.mehrotra (a] celunite.com> 39862 39863 Gdk build fix. 39864 39865 * platform/gdk/TemporaryLinkStubs.cpp: 39866 (Editor::newGeneralClipboard): 39867 39868 2007-05-09 Mitz Pettel <mitz (a] webkit.org> 39869 39870 Reviewed by Dave Hyatt. 39871 39872 - fix http://bugs.webkit.org/show_bug.cgi?id=13037 39873 REGRESSION: Copy-on-scroll not reset properly after back/forward navigation 39874 39875 * page/FrameView.cpp: 39876 (WebCore::FrameViewPrivate::FrameViewPrivate): Moved initialization of 39877 m_slowRepaintObjectCount here. 39878 (WebCore::FrameViewPrivate::reset): Do not reset the slow repaint object 39879 count here. 39880 (WebCore::FrameView::useSlowRepaints): 39881 (WebCore::FrameView::addSlowRepaintObject): 39882 (WebCore::FrameView::removeSlowRepaintObject): Added an assertion that the 39883 object count is positive. 39884 * rendering/RenderObject.cpp: 39885 (WebCore::RenderObject::setStyle): Corrected a mix up between old and new 39886 style, which caused the object count to be decremented when it was supposed 39887 to be incremented and vice versa. 39888 39889 2007-05-09 Peter Mller <pm (a] one.com> 39890 39891 Reviewed by Dave Hyatt. 39892 39893 Changed the hardcoded colors that are used for CSS 2.1 system colors. 39894 Previous colors had numerous conflicts in semantic pairs, which 39895 made text invisible in highlight, info and menu colored areas. 39896 The new hardcoded colors are inspired by Aqua. 39897 39898 Ideally these colors should be fetched through AppKit instead, 39899 though I am not sure if it is possible to make a 1:1 mapping 39900 between CSS2.1 system colors and Mac OS X. 39901 39902 * css/cssstyleselector.cpp: 39903 (WebCore::): 39904 39905 2007-05-09 Lars Knoll <lars (a] trolltech.com> 39906 39907 Fix the Qt build. 39908 39909 * editing/qt/EditorQt.cpp: 39910 39911 2007-05-08 Geoffrey Garen <ggaren (a] apple.com> 39912 39913 Reviewed by Darin Adler. 39914 39915 More fix-ups to the WebScriptObject/WebScripting APIs, related to 39916 <rdar://problem/5140447> API for fetching JSGlobalContextRef from WebView 39917 or WebFrame 39918 39919 1. Added -scriptObjectForJSObject: SPI so you can bridge back from JavaScriptCore 39920 to WebScriptObject. 39921 39922 2. Fixed WebScriptObject bridging so that you always get the same WebScriptObject 39923 for a JSObject (like in the DOM). This makes -scriptObjectForJSObject: a 39924 lot more coherent as an API. 39925 39926 * bindings/objc/DOMInternal.mm: Renamed wrapperCache to DOMWrapperCache 39927 to distinguish from the JSWrapperCache. Added typedef for readability. 39928 (WebCore::getDOMWrapper): 39929 (WebCore::addDOMWrapper): 39930 (WebCore::removeDOMWrapper): 39931 * bindings/objc/WebScriptObject.mm: Added JSWrapperCache, which works just 39932 like the DOMWrapperCache. 39933 (WebCore::getJSWrapper): 39934 (WebCore::addJSWrapper): 39935 (WebCore::removeJSWrapper): 39936 (WebCore::createJSWrapper): 39937 (+[WebScriptObject scriptObjectForJSObject:]): This is the new API. It attempts 39938 to return a specific DOM wrapper object, or, barring that, it returns a 39939 generic WebScriptObject. 39940 (+[WebScriptObject scriptObjectForJSObject:originRootObject:rootObject:]): 39941 Added this method to support our old WebScriptObject security and leak 39942 checking model, even though it doesn't work very well. 39943 (-[WebScriptObject _setImp:originRootObject:rootObject:]): 39944 (-[WebScriptObject dealloc]): 39945 (-[WebScriptObject finalize]): 39946 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 39947 * bindings/objc/WebScriptObjectPendingPublic.h: 39948 * bindings/objc/WebScriptObjectPrivate.h: 39949 * page/mac/FrameMac.mm: 39950 (WebCore::Frame::windowScriptObject): Changed to use the new API. This 39951 fixes a bug where the object sent to -windowScriptObjectAvailable: and returned 39952 from -windowScriptObject could not be round-tripped. 39953 39954 2007-05-09 Mark Rowe <mrowe (a] apple.com> 39955 39956 Build fix. 39957 39958 * editing/Editor.cpp: 39959 (WebCore::findFirstGrammarDetailInRange): Use unsigned rather than int. 39960 (WebCore::findFirstBadGrammarInRange): Cast to unsigned in assertion. 39961 (WebCore::isRangeUngrammatical): Remove unused variables. 39962 39963 2007-05-08 Oliver Hunt <oliver (a] apple.com> 39964 39965 Reviewed by Darin. 39966 39967 Fix <rdar://problem/5188938> arc method on Canvas causes hang or crash 39968 39969 Workaround bad behaviour of CGPathAddArc when passed inf as start or 39970 end angles. 39971 39972 * platform/graphics/cg/PathCG.cpp: 39973 (WebCore::Path::addArc): 39974 39975 2007-05-08 Darin Adler <darin (a] apple.com> 39976 39977 Reviewed by Hyatt and Hatcher. 39978 39979 - fix auto-activation code path so Tiger and Leopard aren't different 39980 39981 * platform/mac/WebFontCache.mm: (+[WebFontCache fontWithFamily:traits:size:]): 39982 Do the auto-activation dance first before doing anything else, and ignore the 39983 font that it returns. 39984 39985 2007-05-08 Steve Falkenburg <sfalken (a] apple.com> 39986 39987 Reviewed by Darin. 39988 39989 Moved most spelling/grammar logic to C++. Now calls through to 39990 WebKit to actually invoke NSSpellChecker. 39991 39992 * editing/Editor.cpp: 39993 (WebCore::Editor::ignoreSpelling): Added (ported from EditorMac). 39994 (WebCore::Editor::learnSpelling): Added (ported from EditorMac). 39995 (WebCore::findFirstMisspellingInRange): Added (ported from EditorMac). 39996 (WebCore::paragraphAlignedRangeForRange): Added (ported from EditorMac). 39997 (WebCore::findFirstGrammarDetailInRange): Added (ported from EditorMac). 39998 (WebCore::findFirstBadGrammarInRange): Added (ported from EditorMac). 39999 (WebCore::Editor::advanceToNextMisspelling): Added (ported from EditorMac). 40000 (WebCore::Editor::isSelectionMisspelled): Added (ported from EditorMac). 40001 (WebCore::isRangeUngrammatical): Added (ported from EditorMac). 40002 (WebCore::Editor::isSelectionUngrammatical): Added (ported from EditorMac). 40003 (WebCore::Editor::guessesForUngrammaticalSelection): Added (ported from EditorMac). 40004 (WebCore::Editor::guessesForMisspelledSelection): Added (ported from EditorMac). 40005 (WebCore::Editor::showSpellingGuessPanel): Added (ported from EditorMac). 40006 (WebCore::Editor::spellingPanelIsShowing): Added (ported from EditorMac). 40007 (WebCore::Editor::markMisspellingsAfterTypingToPosition): Added (ported from EditorMac). 40008 (WebCore::markAllMisspellingsInRange): Added (ported from EditorMac). 40009 (WebCore::markAllBadGrammarInRange): Added (ported from EditorMac). 40010 (WebCore::markMisspellingsOrBadGrammar): Added (ported from EditorMac). 40011 (WebCore::Editor::markMisspellings): Added (ported from EditorMac). 40012 (WebCore::Editor::markBadGrammar): Added (ported from EditorMac). 40013 * editing/mac/EditorMac.mm: Removed Objective C version of spelling/grammar calls. 40014 40015 2007-05-08 Steve Falkenburg <sfalken (a] apple.com> 40016 40017 Reviewed by Ada. 40018 40019 Slight modification to last editor method fix. 40020 40021 * bridge/EditorClient.h: 40022 * platform/gdk/EditorClientGdk.cpp: 40023 (WebCore::EditorClientGdk::updateSpellingUIWithGrammarString): 40024 * platform/gdk/EditorClientGdk.h: 40025 * platform/graphics/svg/SVGImageEmptyClients.h: 40026 (WebCore::SVGEmptyEditorClient::updateSpellingUIWithGrammarString): 40027 40028 2007-05-08 Alexey Proskuryakov <ap (a] webkit.org> 40029 40030 Reviewed by Hyatt. 40031 40032 http://bugs.webkit.org/show_bug.cgi?id=13480 40033 window.Attr is undefined 40034 40035 Test: fast/dom/Window/attr-constructor.html 40036 40037 * dom/Attr.idl: 40038 * dom/CDATASection.idl: 40039 * dom/CharacterData.idl: 40040 * dom/Comment.idl: 40041 * dom/DOMImplementation.idl: 40042 * dom/DocumentType.idl: 40043 * dom/Entity.idl: 40044 * dom/EntityReference.idl: 40045 * dom/Notation.idl: 40046 * dom/ProcessingInstruction.idl: 40047 * dom/Text.idl: 40048 Added GenerateConstructor. 40049 40050 * page/DOMWindow.idl: Added constructor properties for DOM interfaces. 40051 40052 2007-05-07 Geoffrey Garen <ggaren (a] apple.com> 40053 40054 Reviewed by Maciej Stachowiak. 40055 40056 Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from 40057 WebView or WebFrame 40058 40059 Added support for new -[WebScriptObject JSObject] and -[WebFrame globalContext] 40060 APIs. 40061 40062 Also fixed some more cases of <rdar://problem/4395622> API: 40063 WebScriptObject.h incorrectly reports that -isSelectorExcludedFromWebScript 40064 returns NO by default, and generally cleaned up that documentation. 40065 40066 * WebCore.exp: A lot of the diff here is from sorting. 40067 * WebCore.xcodeproj/project.pbxproj: 40068 * bindings/objc/WebScriptObject.h: 40069 * bindings/objc/WebScriptObject.mm: 40070 (-[WebScriptObject JSObject]): 40071 * bindings/objc/WebScriptObjectPendingPublic.h: Added. 40072 40073 2007-05-08 Lars Knoll <lars (a] trolltech.com> 40074 40075 Reviewed by Hyatt. 40076 40077 Fix valgrind reported uninitialized memory read. 40078 40079 * rendering/RenderText.cpp: 40080 (WebCore::RenderText::RenderText): 40081 40082 2007-05-07 Justin Garcia <justin.garcia (a] apple.com> 40083 40084 Reviewed by oliver 40085 40086 <rdar://problem/4895428> Can't drag selected ToDo 40087 40088 The user tries to drag a selection by mousing down 40089 on the editable part of a ToDo, which is focusable, 40090 since it is an editable node within non-editable 40091 content. But we focus focusable elements on mouse 40092 down, and focusing the editable piece blows away 40093 the selection and prevents the drag. This is how 40094 IE behaves, but content seems generally difficult 40095 to drag in IE, so this doesn't make it any worse. 40096 40097 Since focus doesn't appear to be cancelable, either 40098 with a DOM event or an editing delegate, I fixed this 40099 by delaying the focus of focusable nodes that are 40100 selected and inside an already focused node. The 40101 node will be focused if the user mouses up without 40102 doing any dragging because the mouse up sets a 40103 selection, which calls setFocusNodeIfNeeded. 40104 40105 * page/EventHandler.cpp: 40106 (WebCore::EventHandler::dispatchMouseEvent): 40107 40108 2007-05-07 Atul Mehrotra <atul.mehrotra (a] celunite.com> 40109 40110 Reviewed by Maciej. 40111 40112 GDK Build fix 40113 40114 * platform/gdk/TemporaryLinkStubs.cpp: 40115 40116 2007-05-07 Oliver Hunt <oliver (a] apple.com> 40117 40118 Reviewed by Maciej. 40119 40120 Correcting comparisons to handle NaN in the same manner 40121 as other Canvas methods. 40122 40123 * html/CanvasRenderingContext2D.cpp: 40124 (WebCore::CanvasRenderingContext2D::arcTo): 40125 (WebCore::CanvasRenderingContext2D::arc): 40126 Correcting arc/arcTo to match the WHAT WG draft. 40127 (WebCore::CanvasRenderingContext2D::rect): 40128 (WebCore::CanvasRenderingContext2D::clearRect): 40129 (WebCore::CanvasRenderingContext2D::fillRect): 40130 (WebCore::CanvasRenderingContext2D::strokeRect): 40131 40132 2007-05-07 David Hyatt <hyatt (a] apple.com> 40133 40134 Add some comments to the glyph/font code (patch from Brett Wilson, tweaked by 40135 me to correct a few bits and to make it forward-compatible with the work 40136 going on in 3315. 40137 40138 Reviewed by me 40139 40140 * ChangeLog: 40141 * platform/Font.cpp: 40142 (WebCore::Font::glyphDataForCharacter): 40143 * platform/GlyphPageTreeNode.cpp: 40144 (WebCore::GlyphPageTreeNode::initializePage): 40145 * platform/GlyphPageTreeNode.h: 40146 40147 2007-05-07 Justin Garcia <justin.garcia (a] apple.com> 40148 40149 Fix layout test failures. 40150 40151 * editing/SelectionController.cpp: 40152 (WebCore::SelectionController::contains): Use comparePositions 40153 instead of Range::comparePoint, because comparePositions can 40154 handle positions inside shadow trees. 40155 40156 2007-05-07 Justin Garcia <justin.garcia (a] apple.com> 40157 40158 Reviewed by darin 40159 40160 <rdar://problem/4895428> Can't drag selected To Do if it is not showing a due date 40161 40162 The code in SelectionController::contains returned false 40163 incorrectly if the selection end just after a table 40164 and the position was inside that table. 40165 40166 * editing/SelectionController.cpp: 40167 (WebCore::SelectionController::contains): Compare the position with the 40168 ends of the selection and then use Range::comparePoint. 40169 40170 2007-05-07 Darin Adler <darin (a] apple.com> 40171 40172 - rolling out setInnerHTML optimization until I can figure out why tests are failing 40173 40174 2007-05-07 Darin Adler <darin (a] apple.com> 40175 40176 Reviewed by Hyatt. 40177 40178 - fix http://bugs.webkit.org/show_bug.cgi?id=13602 40179 Amazon product pages keep repainting over and over again 40180 40181 Optimize setInnerHTML, setOuterHTML, and setInnerText so they don't change the DOM at all 40182 if they don't need to. 40183 40184 Test: fast/dom/HTMLElement/set-inner-outer-optimization.html 40185 40186 * html/HTMLElement.cpp: 40187 (WebCore::equal): Added. Helper function that compares two Text nodes or two NamedAttrMap 40188 attribute maps. 40189 (WebCore::shallowEqual): Added. Helper function that compares two Element nodes or two 40190 arbitrary nodes. 40191 (WebCore::replaceChildrenWithFragment): Added. Helper function used by setInnerHTML and 40192 setInnerText. Optimizes the cases where all the nodes are the same, where both the current 40193 and the new content are single text nodes, and where the current content is a single node 40194 that can be replaced with replaceChild. 40195 (WebCore::replaceChildrenWithText): Added. Helper function used by setInnerText. Optimizes 40196 the case where the current content is a single text node or a single node that can be 40197 replaced with replaceChild. 40198 (WebCore::HTMLElement::setInnerHTML): Changed to call replaceChildrenWithFragment. 40199 (WebCore::HTMLElement::setOuterHTML): Added special case to optimize when the new content 40200 exactly matches the current node. 40201 (WebCore::HTMLElement::setInnerText): Changed to call replaceChildrenWithText in a few 40202 cases instead of doing removeChildren/appendChild. Changed code that was using 40203 DeprecatedString to instead use String. Changed general case to use a document fragment 40204 and replaceChildrenWithFragment. 40205 40206 * dom/CharacterData.cpp: (WebCore::CharacterData::dispatchModifiedEvent): 40207 Fixed bug where we would not dispatch the DOMSubtreeModified event unless someone 40208 was registered for the DOMCharacterDataModified event. Caused trouble in the test. 40209 40210 2007-05-06 Darin Adler <darin (a] apple.com> 40211 40212 - blind try at fixing the Qt build 40213 40214 * platform/qt/TextBreakIteratorQt.cpp: (WebCore::sentenceBreakIterator): 40215 Added a placeholder. 40216 40217 2007-05-06 Darin Adler <darin (a] apple.com> 40218 40219 Reviewed by Hyatt. 40220 40221 - fix http://bugs.webkit.org/show_bug.cgi?id=13537 40222 Canvex example starts rendering strangely after a while 40223 40224 * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): 40225 Don't raise an exception if the source or destination rectangle is empty. 40226 40227 2007-05-06 Darin Adler <darin (a] apple.com> 40228 40229 Reviewed by Hyatt. 40230 40231 - fix <rdar://problem/4585593> REGRESSION: Some 2-byte characters in printed page 40232 header are drawn with too-large font and clipped 40233 40234 Doesn't affect text within web pages, so no layout test. 40235 40236 * platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters): 40237 Base the substitute font on the FontPlatformData rather than the FontDescription. 40238 Before, it was a mix of both. This works properly for fonts where we have no 40239 FontDescription and is also more internally consistent. 40240 40241 2007-05-06 Darin Adler <darin (a] apple.com> 40242 40243 Reviewed by Hyatt. 40244 40245 - http://bugs.webkit.org/show_bug.cgi?id=13606 40246 some functions are virtual that don't need to be 40247 40248 * dom/Node.h: Made first/lastChild be inline functions that call virtual functions. 40249 This lets us hide the functions with another inline function in a derived class, 40250 yet still override the behavior here in the base class by overriding the virtual 40251 functions too. 40252 * dom/Node.cpp: 40253 (WebCore::Node::virtualFirstChild): Renamed virtual functions. There are now 40254 non-virtual inline functions that call these virtual functions. 40255 (WebCore::Node::virtualLastChild): Ditto. 40256 40257 * dom/ContainerNode.h: Added non-virtual first/lastChild functions that hide the ones 40258 inherited from the Node class; these also replace the fastFirst/LastChild functions, 40259 and transparently give callers the faster form if they have a pointer of the right 40260 type. But still override the virtual functions named virtualFirst/LastChild, because 40261 those can still be called through a Node*. Removed the "fast" from the names of 40262 fastSetFirst/LastChild. 40263 * dom/ContainerNode.cpp: 40264 (WebCore::ContainerNode::virtualFirstChild): Renamed virtual functions. There are now 40265 also non-virtual inline versions. 40266 (WebCore::ContainerNode::virtualLastChild): Ditto. 40267 40268 * dom/CharacterData.cpp: Removed implementations of data and length functons. 40269 * dom/CharacterData.h: Made data, setData, length, substringData, appendData, 40270 insertData, deleteData, and replaceData all non-virtual, and made data and length 40271 both be inline. 40272 40273 * dom/NamedAttrMap.h: (WebCore::NamedAttrMap::attributeItem): Removed a null check 40274 from this function. If the length of the map is known to be greater than 0, then 40275 the null check isn't needed. But if the length of the map hasn't been checked at all, 40276 then it's unsafe to call this function since it doesn't range check the array 40277 index. Thus the null check is never needed. I also looked at all callers. 40278 40279 * dom/Attr.cpp: (WebCore::Attr::createTextChild): 40280 * dom/Document.cpp: (WebCore::Document::recalcStyle): 40281 * dom/Element.cpp: (WebCore::Element::recalcStyle): 40282 * ksvg2/svg/SVGElement.cpp: 40283 (WebCore::SVGElement::haveLoadedRequiredResources): 40284 Removed "fast" prefix from calls to fastFirst/LastChild and fastSetFirst/LastChlld. 40285 It's not needed any more -- you still get fast behavior if the pointer has a type 40286 that's ContainerNode or derived from it. 40287 40288 2007-05-06 Mitz Pettel <mitz (a] webkit.org> 40289 40290 Reviewed by Hyatt. 40291 40292 - fix http://bugs.webkit.org/show_bug.cgi?id=13557 40293 Crash when dragging selection over absolutely positioned generated content on block element 40294 40295 Test: fast/css-generated-content/positioned-background-hit-test-crash.html 40296 40297 * rendering/RenderLayer.cpp: 40298 (WebCore::RenderLayer::enclosingElement): Added. Factored out of hitTestLayer(). 40299 (WebCore::RenderLayer::hitTestLayer): Implemented the fix for <rdar://problem/3552346> 40300 from r6106 to the self hit test as well, namely: return the enclosing element 40301 for generated positioned content. 40302 * rendering/RenderLayer.h: 40303 40304 2007-05-06 Alexey Proskuryakov <ap (a] webkit.org> 40305 40306 Reviewed by Darin. 40307 40308 http://bugs.webkit.org/show_bug.cgi?id=13584 40309 <script> code wrongly assumes requests can't fail 40310 40311 Test: fast/loader/unloadable-script.html 40312 40313 * html/HTMLScriptElement.cpp: 40314 (WebCore::HTMLScriptElement::parseMappedAttribute): 40315 (WebCore::HTMLScriptElement::insertedIntoDocument): 40316 Check the return value of requestScript(). 40317 40318 2007-05-06 Alexey Proskuryakov <ap (a] webkit.org> 40319 40320 Reviewed by Darin. 40321 40322 http://bugs.webkit.org/show_bug.cgi?id=13304 40323 REGRESSION(14784): WebKit doesn't dynamically reflect changes to the highlight color in System Preferences 40324 40325 Implemented a notification observer that invalidates cached system colors. 40326 40327 No automated test possible. 40328 40329 * rendering/RenderTheme.cpp: 40330 (WebCore::RenderTheme::activeSelectionBackgroundColor): 40331 (WebCore::RenderTheme::inactiveSelectionBackgroundColor): 40332 (WebCore::RenderTheme::platformColorsDidChange): 40333 * rendering/RenderTheme.h: 40334 * rendering/RenderThemeMac.h: 40335 * rendering/RenderThemeMac.mm: 40336 (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]): 40337 (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]): 40338 (WebCore::theme): 40339 (WebCore::RenderThemeMac::RenderThemeMac): 40340 (WebCore::RenderThemeMac::~RenderThemeMac): 40341 (WebCore::RenderThemeMac::checkbox): 40342 (WebCore::RenderThemeMac::radio): 40343 (WebCore::RenderThemeMac::button): 40344 (WebCore::RenderThemeMac::popupButton): 40345 (WebCore::RenderThemeMac::search): 40346 (WebCore::RenderThemeMac::sliderThumbHorizontal): 40347 (WebCore::RenderThemeMac::sliderThumbVertical): 40348 40349 2007-05-05 Rob Buis <buis (a] kde.org> 40350 40351 Reviewed by Oliver. 40352 40353 http://bugs.webkit.org/show_bug.cgi?id=13592 40354 parseMappedAttribute inconsistency 40355 40356 Do not use local vars in parseMappedAttribute for attr name and value. 40357 40358 * ksvg2/svg/SVGAnimateMotionElement.cpp: 40359 (WebCore::SVGAnimateMotionElement::parseMappedAttribute): 40360 * ksvg2/svg/SVGAnimateTransformElement.cpp: 40361 (WebCore::SVGAnimateTransformElement::parseMappedAttribute): 40362 * ksvg2/svg/SVGAnimationElement.cpp: 40363 (WebCore::SVGAnimationElement::parseMappedAttribute): 40364 * ksvg2/svg/SVGCircleElement.cpp: 40365 (WebCore::SVGCircleElement::parseMappedAttribute): 40366 * ksvg2/svg/SVGClipPathElement.cpp: 40367 (WebCore::SVGClipPathElement::parseMappedAttribute): 40368 * ksvg2/svg/SVGCursorElement.cpp: 40369 (WebCore::SVGCursorElement::parseMappedAttribute): 40370 * ksvg2/svg/SVGEllipseElement.cpp: 40371 (WebCore::SVGEllipseElement::parseMappedAttribute): 40372 * ksvg2/svg/SVGExternalResourcesRequired.cpp: 40373 (WebCore::SVGExternalResourcesRequired::parseMappedAttribute): 40374 * ksvg2/svg/SVGGradientElement.cpp: 40375 (WebCore::SVGGradientElement::parseMappedAttribute): 40376 * ksvg2/svg/SVGImageElement.cpp: 40377 (WebCore::SVGImageElement::parseMappedAttribute): 40378 * ksvg2/svg/SVGLineElement.cpp: 40379 (WebCore::SVGLineElement::parseMappedAttribute): 40380 * ksvg2/svg/SVGLinearGradientElement.cpp: 40381 (WebCore::SVGLinearGradientElement::parseMappedAttribute): 40382 * ksvg2/svg/SVGMarkerElement.cpp: 40383 (WebCore::SVGMarkerElement::parseMappedAttribute): 40384 * ksvg2/svg/SVGMaskElement.cpp: 40385 (WebCore::SVGMaskElement::parseMappedAttribute): 40386 * ksvg2/svg/SVGPathElement.cpp: 40387 (WebCore::SVGPathElement::parseMappedAttribute): 40388 * ksvg2/svg/SVGPatternElement.cpp: 40389 (WebCore::SVGPatternElement::parseMappedAttribute): 40390 * ksvg2/svg/SVGRadialGradientElement.cpp: 40391 (WebCore::SVGRadialGradientElement::parseMappedAttribute): 40392 * ksvg2/svg/SVGRectElement.cpp: 40393 (WebCore::SVGRectElement::parseMappedAttribute): 40394 * ksvg2/svg/SVGSVGElement.cpp: 40395 (WebCore::SVGSVGElement::parseMappedAttribute): 40396 * ksvg2/svg/SVGScriptElement.cpp: 40397 (WebCore::SVGScriptElement::parseMappedAttribute): 40398 * ksvg2/svg/SVGStopElement.cpp: 40399 (WebCore::SVGStopElement::parseMappedAttribute): 40400 * ksvg2/svg/SVGTests.cpp: 40401 (WebCore::SVGTests::parseMappedAttribute): 40402 * ksvg2/svg/SVGTextContentElement.cpp: 40403 (WebCore::SVGTextContentElement::parseMappedAttribute): 40404 * ksvg2/svg/SVGTextPositioningElement.cpp: 40405 (WebCore::SVGTextPositioningElement::parseMappedAttribute): 40406 * ksvg2/svg/SVGUseElement.cpp: 40407 (WebCore::SVGUseElement::parseMappedAttribute): 40408 * ksvg2/svg/SVGViewElement.cpp: 40409 (WebCore::SVGViewElement::parseMappedAttribute): 40410 * ksvg2/svg/SVGZoomAndPan.cpp: 40411 (WebCore::SVGZoomAndPan::parseMappedAttribute): 40412 40413 2007-05-05 Oliver Hunt <oliver (a] apple.com> 40414 40415 Reviewed by Hyatt. 40416 40417 Initialise default fill with Color::black rather than parsing 40418 the string "black" 40419 40420 * ksvg2/svg/SVGPaint.cpp: 40421 (WebCore::SVGPaint::defaultFill): 40422 40423 2007-05-04 Steve Falkenburg <sfalken (a] apple.com> 40424 40425 Reviewed by Oliver. 40426 40427 Use TextBreakIterator for sentence breaking instead of TextBoundaries. 40428 40429 * WebCore.xcodeproj/project.pbxproj: Added TextBreakIeratorInternalICUMac.mm 40430 * editing/visible_units.cpp: 40431 (WebCore::startSentenceBoundary): Call TextBreakIterator instead of TextBoundaries. 40432 (WebCore::endSentenceBoundary): Call TextBreakIterator instead of TextBoundaries. 40433 (WebCore::previousSentencePositionBoundary): Call TextBreakIterator instead of TextBoundaries. 40434 (WebCore::nextSentencePositionBoundary): Call TextBreakIterator instead of TextBoundaries. 40435 * platform/TextBoundaries.h: Removed findSentenceBoundary, findNextSentenceFromIndex. 40436 * platform/TextBreakIterator.h: Added sentenceBreakIterator. 40437 * platform/TextBreakIteratorICU.cpp: 40438 (WebCore::setUpIterator): Add locale parameter (needed to maintain functionality that TextBoundaries code had). 40439 (WebCore::characterBreakIterator): Pass en_us for locale (same as old code). 40440 (WebCore::wordBreakIterator): Pass en_us for locale (same as old code). 40441 (WebCore::lineBreakIterator): Pass en_us for locale (same as old code). 40442 (WebCore::sentenceBreakIterator): Added. 40443 * platform/TextBreakIteratorInternalICU.h: Added. 40444 * platform/gdk/TemporaryLinkStubs.cpp: Removed findNextSentenceFromIndex, findSentenceBoundary. 40445 (WebCore::currentTextBreakLocaleID): Added stub. 40446 * platform/mac/TextBoundaries.mm: Removed currentTextBreakLocaleID, findSentenceBoundary, findNextSentenceFromIndex. 40447 * platform/mac/TextBreakIteratorInternalICUMac.mm: Added. 40448 (WebCore::currentTextBreakLocaleID): Moved from TextBoundaries.mm 40449 * platform/qt/TextBoundaries.cpp: Removed findNextSentenceFromIndex, findSentenceBoundary. 40450 40451 2007-05-04 Adele Peterson <adele (a] apple.com> 40452 40453 Reviewed by Hyatt. 40454 40455 Fix for <rdar://problem/5116871> REGRESSION: Can't select options in widget's listbox 40456 40457 Don't use user-select to determine whether or not options can be selected in listboxes. 40458 This will match Firefox behavior for -moz-user-select. 40459 40460 * html/HTMLSelectElement.cpp: 40461 (WebCore::HTMLSelectElement::canSelectAll): 40462 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 40463 40464 2007-05-04 Geoffrey Garen <ggaren (a] apple.com> 40465 40466 Reviewed by Tim Hatcher. 40467 40468 First step in fixing <rdar://problem/5055182> The back cache has no global cap 40469 40470 Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely 40471 on the underlying back cache. 40472 40473 * WebCore.exp: 40474 * history/HistoryItem.cpp: 40475 (WebCore::HistoryItem::HistoryItem): 40476 * history/HistoryItem.h: 40477 * loader/FrameLoader.cpp: 40478 (WebCore::FrameLoader::purgePageCache): 40479 40480 2007-05-04 Geoffrey Garen <ggaren (a] apple.com> 40481 40482 Reviewed by Brady Eidson. 40483 40484 Removed export of clearPageCache(), since it was unused externally. I plan 40485 to remove its use from WebCore eventually, too. 40486 40487 Removed usesPageCache(), since it was unused and it duplicated pageCacheSize(). 40488 40489 * WebCore.exp: 40490 * history/BackForwardList.cpp: 40491 * history/BackForwardList.h: Moved statics to the top of the class definition. 40492 * loader/FrameLoader.cpp: 40493 (WebCore::FrameLoader::canCachePage): 40494 40495 2007-05-04 Anders Carlsson <andersca (a] apple.com> 40496 40497 Reviewed by Antti. 40498 40499 <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads. 40500 40501 Restore behavior to matching release WebKit by adding a response URL to SubstituteData. If a nil base URL is 40502 passed, set the _request_ URL to "about:blank", but the response URL to a generated "applewebdata" URL. 40503 40504 * loader/FrameLoader.cpp: 40505 (WebCore::FrameLoader::commitProvisionalLoad): 40506 First, check for the SubstituteData's response URL. 40507 40508 (WebCore::FrameLoader::continueAfterNavigationPolicy): 40509 No need to special case applewebdata URLs here, they're only used in the response. 40510 40511 * loader/MainResourceLoader.cpp: 40512 (WebCore::MainResourceLoader::handleDataLoadNow): 40513 If the substitute data has a response URL, use it. 40514 40515 (WebCore::MainResourceLoader::loadNow): 40516 Only load "about:blank" as an empty document if there's no substitute data. 40517 40518 * loader/SubstituteData.h: 40519 (WebCore::SubstituteData::SubstituteData): 40520 (WebCore::SubstituteData::responseURL): 40521 Add responseURL member to SubstituteData. 40522 40523 2007-05-03 Steve Falkenburg <sfalken (a] apple.com> 40524 40525 Reviewed by Oliver. 40526 40527 Add missing user description parameter to spelling-related editor client method. 40528 40529 * bridge/EditorClient.h: 40530 * platform/gdk/EditorClientGdk.cpp: 40531 (WebCore::EditorClientGdk::updateSpellingUIWithGrammarString): 40532 * platform/gdk/EditorClientGdk.h: 40533 * platform/graphics/svg/SVGImageEmptyClients.h: 40534 (WebCore::SVGEmptyEditorClient::updateSpellingUIWithGrammarString): 40535 40536 2007-05-03 Brady Eidson <beidson (a] apple.com> 40537 40538 Reviewed by Oliver 40539 40540 Resolve an outstanding FIXME in Loader::numRequests() 40541 40542 Before, numRequests() would iterate through the list of requests pending load and the list of currently 40543 loading requests and tally up a count matching the current DocLoader. 40544 40545 I noticed while studying and cleaning up the loader code that numRequests() is potentially very hot! 40546 Indeed load a complex site with many resources and multiple frames, and this method gets called very often, 40547 tallying up this number every time. 40548 40549 The FIXME was to keep a collection of Requests mapped to each DocLoader. In reality, since this map would 40550 simply be used for retrieving a count, that was overkill. Keeping a request count in the DocLoader itself 40551 along with maintaining that count in Loader as requests come and go is a much better way to do this. 40552 40553 * loader/DocLoader.cpp: 40554 (WebCore::DocLoader::DocLoader): 40555 (WebCore::DocLoader::incrementRequestCount): 40556 (WebCore::DocLoader::decrementRequestCount): 40557 (WebCore::DocLoader::requestCount): Emulate the defunct Loader::numRequests() 40558 * loader/DocLoader.h: 40559 40560 * loader/FrameLoader.cpp: 40561 (WebCore::numRequests): Call DocLoader::requestCount() directly 40562 (WebCore::FrameLoader::checkCompleted): Use numRequests() 40563 40564 * loader/loader.cpp: 40565 (WebCore::Loader::load): Increment the DocLoader's request count 40566 (WebCore::Loader::servePendingRequests): If the SubresourceLoader failed to create, decrement the count 40567 (WebCore::Loader::didFinishLoading): If the Request is not Multipart, decrement the count 40568 (WebCore::Loader::didFail): If the Request is not Multipart, decrement the count 40569 (WebCore::Loader::didReceiveResponse): If the Request becomes Multipart, decrement the count 40570 (WebCore::Loader::cancelRequests): Decrement the count for the pending requests being tossed, and ASSERT the 40571 count is zero after all requests have been cancelled 40572 * loader/loader.h: 40573 40574 2007-05-03 Geoffrey Garen <ggaren (a] apple.com> 40575 40576 Reviewed by Brady Eidson. 40577 40578 Some cleanup in preparation for fixing <rdar://problem/5055182> The 40579 back/forward cache has no global cap 40580 40581 * loader/FrameLoader.cpp: 40582 (WebCore::FrameLoader::provisionalLoadStarted): Moved "Can I cache this 40583 page?" logic to canCachePage(). Moved "I am caching this page" logic to 40584 cachePageToHistoryItem(). 40585 (WebCore::FrameLoader::canCachePage): Moved above logic here. 40586 (WebCore::FrameLoader::cachePageToHistoryItem): Removed bogus NULL check 40587 and failure return value. Moved above logic here. Don't call setCachedPage() 40588 until the CachedPage is fully constructed. 40589 (WebCore::FrameLoader::purgePageCache): Removed comment that duplicated 40590 the function name. 40591 * loader/FrameLoader.h: 40592 40593 2007-05-03 Justin Garcia <justin.garcia (a] apple.com> 40594 40595 Reviewed by harrison. 40596 40597 <rdar://problem/5120281> CrashTracer: [USER] 1 crash in Mail at WebCore::CSSComputedStyleDeclaration::copyInheritableProperties() const 40598 40599 Problem is that checkAncestor and lastClosed can be nil when createMarkup is called unrendered nodes, and that was not checked for. 40600 40601 * editing/markup.cpp: 40602 (WebCore::createMarkup): 40603 Nil-check checkAncestor and lastClosed. 40604 40605 2007-05-03 Timothy Hatcher <timothy (a] apple.com> 40606 40607 Reviewed by Kevin. 40608 40609 <rdar://problem/5016318> Contextual menu item for opening links is missing in compose windows but present in viewer 40610 40611 Add the Open Link, Open Link in New Window, Download Linked File and Copy Link menu 40612 items to the content editable context menu. 40613 40614 * platform/ContextMenu.cpp: 40615 (WebCore::ContextMenu::populate): 40616 40617 2007-05-03 Holger Freyther <freyther (a] kde.org> 40618 40619 Reviewed by Zack, landed by Simon. 40620 This is bugzilla bug 13499. 40621 40622 * WebCore.pro: Place the Qt port into the qt-port scope, add the Gdk port 40623 40624 2007-05-03 Adele Peterson <adele (a] apple.com> 40625 40626 Use BUILDING_ON_TIGER. 40627 40628 * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): 40629 40630 2007-05-03 Brady Eidson <beidson (a] apple.com> 40631 40632 Reviewed by Darin 40633 40634 Some more minor cleanup that resolves a FIXME and ditches another pointless method 40635 40636 No change in functionality == no layout test 40637 40638 * loader/FrameLoader.cpp: 40639 (WebCore::FrameLoader::commitProvisionalLoad): Updated a comment 40640 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Folded startLoading() into this method 40641 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): continueAfterWillSubmitForm becomes continueLoadAfterWillSubmitForm 40642 * loader/FrameLoader.h: Removed startLoading() 40643 40644 2007-05-03 Adele Peterson <adele (a] apple.com> 40645 40646 Reviewed by Tim Hatcher. 40647 40648 Fix for <rdar://problem/4727607> REGRESSION: KeyScript is deprecated, need a new solution for forcing Roman input for password fields on Leopard 40649 40650 * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): 40651 Use TSMSetDocumentProperty and TSMRemoveDocumentProperty on Leopard disable and enable non-ascii input sources. 40652 40653 2007-05-03 Brady Eidson <beidson (a] apple.com> 40654 40655 Reviewed by Anders 40656 40657 commitProvisionalLoad() was the name of two methods. 40658 One of them was private and only called from one other private place. 40659 This was driving me crazy. I had to change that. 40660 40661 No change in functionality == no layout test 40662 40663 * loader/FrameLoader.cpp: 40664 (WebCore::FrameLoader::transitionToCommitted): roll commitProvisionalLoad() into this method 40665 * loader/FrameLoader.h: Removed commitProvisionalLoad() 40666 40667 2007-05-03 Darin Adler <darin (a] apple.com> 40668 40669 Reviewed by Anders. 40670 40671 - make ICU initialization lazy to speed up application start-up time 40672 (when it includes an initial webpage load) 40673 40674 * platform/TextCodecICU.h: Replaced registerEncodingNames and 40675 registerCodecs with registerBaseEncodingNames, registerBaseCodecs, 40676 registerExtendedEncodingNames, and registerExtendedCodecs. 40677 * platform/TextCodecICU.cpp: 40678 (WebCore::newTextCodecICU): Moved up to the top of the file. 40679 (WebCore::TextCodecICU::registerBaseEncodingNames): Added. Registers 40680 just UTF-8. 40681 (WebCore::TextCodecICU::registerBaseCodecs): Ditto. 40682 (WebCore::TextCodecICU::registerExtendedEncodingNames): Renamed. 40683 (WebCore::TextCodecICU::registerExtendedCodecs): Ditto. 40684 (WebCore::TextCodecICU::createICUConverter): Compare with the name 40685 "GBK" in a way that does not require extending the maps. 40686 40687 * platform/TextEncoding.cpp: 40688 (WebCore::TextEncoding::usesVisualOrdering): Added code so this will 40689 just return false if we haven't used any extended encoding names yet. 40690 The result will be correct, and we won't ask for an encoding name that 40691 will require registering the extended encoding names. 40692 (WebCore::TextEncoding::isJapanese): Ditto. 40693 (WebCore::TextEncoding::backslashAsCurrencySymbol): Ditto, but return 40694 a backslash instead of false. 40695 40696 * platform/TextEncodingRegistry.h: Added a new function named 40697 noExtendedTextEncodingNameUsed. 40698 * platform/TextEncodingRegistry.cpp: 40699 (WebCore::buildBaseTextCodecMaps): Added. Registers the base encodings, 40700 including Latin-1 because it's the default, and the UTF encodings. 40701 (WebCore::extendTextCodecMaps): Added. Registers all the other encodings. 40702 (WebCore::newTextCodec): Removed the all to buildTextCodecMap because 40703 we always build the map when making the canonical encoding name. 40704 (WebCore::atomicCanonicalTextEncodingName): Changed code to build only 40705 the base maps at first, then extend the maps the first time we run into 40706 a name we don't know. 40707 (WebCore::noExtendedTextEncodingNameUsed): Added. 40708 40709 2007-05-03 Mark Rowe <mrowe (a] apple.com> 40710 40711 Qt build fix. In r21185 the Qt version of WebCore::scaleDragImage was 40712 updated to have the incorrect signature. 40713 40714 * platform/qt/DragImageQt.cpp: 40715 (WebCore::scaleDragImage): 40716 40717 2007-05-02 Beth Dakin <bdakin (a] apple.com> 40718 40719 * dom/Node.h: Just fixing a variable name because it's driving me 40720 mad. 40721 40722 2007-05-02 Beth Dakin <bdakin (a] apple.com> 40723 40724 Reviewed by Hyatt. 40725 40726 Fix for <rdar://problem/4513966> Never-ending identical repaint @ 40727 orbitz.com (Safari eating 85% CPU) 40728 40729 We need to be a little bit more savvy about when we do a FULL style 40730 recalc since it can be unnecessary and expensive. 40731 40732 * css/CSSMutableStyleDeclaration.cpp: 40733 (WebCore::CSSMutableStyleDeclaration::setChanged): Now takes a 40734 StyleChangeType as a parameter. 40735 (WebCore::CSSMutableStyleDeclaration::setProperty): Send 40736 InlineStyleChange as the paramter. This is the optimization! 40737 * css/CSSMutableStyleDeclaration.h: setChanged takes a 40738 StyleChangeType as a parameter. 40739 * dom/Document.cpp: setChanged now takes a StyleChangeType instead 40740 of a bool. 40741 (WebCore::Document::recalcStyle): Same. 40742 * dom/Element.cpp: 40743 (WebCore::Element::recalcStyle): This is the fix!! Only set change 40744 to Force is we use descendant rules AND it's a FullStyleChange. 40745 * dom/Node.cpp: m_hasStyle was an unused bit on Node, so this patch 40746 gets rid of it and uses that extra bit for m_changed to be a 40747 StyleChangeType instead of a bool. 40748 (WebCore::Node::Node): 40749 (WebCore::Node::setChanged): 40750 (WebCore::Node::dump): 40751 * dom/Node.h: Same. 40752 (WebCore::): Define the StyleChangeType enum. 40753 (WebCore::Node::hasClass): 40754 (WebCore::Node::changed): 40755 (WebCore::Node::styleChangeType): 40756 (WebCore::Node::setHasClass): 40757 * dom/StyledElement.cpp: 40758 (WebCore::StyledElement::parseMappedAttribute): Don't bother 40759 calling setHasStyle() since m_hasStyle is gone now. It was never 40760 used, and this was the only place it was set. 40761 * dom/Text.cpp: 40762 (WebCore::Text::recalcStyle): setChanged now takes a 40763 StyleChangeType instead of a bool. 40764 * html/HTMLFrameSetElement.cpp: 40765 (WebCore::HTMLFrameSetElement::recalcStyle): Same. 40766 * html/HTMLSelectElement.cpp: 40767 (WebCore::HTMLSelectElement::restoreState): Same. 40768 (WebCore::HTMLSelectElement::reset): Same. 40769 * html/HTMLTextAreaElement.cpp: 40770 (WebCore::HTMLTextAreaElement::setValue): Same. 40771 * ksvg2/misc/SVGTimer.cpp: 40772 (WebCore::SVGTimer::applyAnimations): Same. 40773 * ksvg2/svg/SVGUseElement.cpp: 40774 (WebCore::SVGUseElement::recalcStyle): Same. 40775 * platform/graphics/svg/SVGResource.cpp: 40776 (WebCore::SVGResource::repaintClients): Same. 40777 40778 2007-05-02 David Harrison <harrison (a] apple.com> 40779 40780 Reviewed by Antti. 40781 40782 <rdar://problem/4859132> Grammar must always be checked in entire-sentence chunks, and shouldn't show markers for current sentence 40783 40784 Restore the remainder of the original fix now that blocking bug rdar://5174862 is addressed. 40785 40786 John made the original patch on 2007-04-10, but this fell prey to rdar://5157329. 40787 Justin backed out the whole patch on 2007-04-30 to avoid the crash. 40788 Justin then restored most of the original patch, but used word granularity instead, to keep the build working. 40789 I just addressed the root cause of rdar://5157329 in rdar://5174862. 40790 This patch switches the temp uses of word granularity back to sentence granularity. 40791 40792 * editing/mac/EditorMac.mm: 40793 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 40794 * page/Frame.cpp: 40795 (WebCore::Frame::respondToChangedSelection): 40796 40797 2007-05-02 David Harrison <harrison (a] apple.com> 40798 40799 Reviewed by Antti. 40800 40801 <rdar://problem/5174862> Crash resulting from DeprecatedString::insert() 40802 40803 Test added: editing/selection/move-by-sentence-001.html 40804 40805 * editing/visible_units.cpp: 40806 (WebCore::previousBoundary): 40807 (WebCore::nextBoundary): 40808 Use a UChar Vector instead of DeprecatedString. 40809 Avoid creating an extra string for secure bullet replacement unless it is actually needed. 40810 40811 * platform/DeprecatedString.cpp: 40812 (WebCore::DeprecatedString::insert): 40813 Call forceUnicode() before setLength(), so that only the unicode buffer is resized. 40814 40815 (WebCore::DeprecatedString::setLength): 40816 Adjust the unicode buffer even if the ascii buffer is valid. 40817 40818 2007-05-02 Mitz Pettel <mitz (a] webkit.org> 40819 40820 Reviewed by Brady. 40821 40822 - http://bugs.webkit.org/show_bug.cgi?id=13564 40823 Remove friend class FrameLoader from Frame 40824 40825 No test added since there is no change in functionality. 40826 40827 * loader/FrameLoader.cpp: 40828 (WebCore::FrameLoader::didOpenURL): 40829 (WebCore::FrameLoader::begin): 40830 (WebCore::FrameLoader::open): 40831 * loader/FrameLoader.h: Made clear() private. 40832 * page/Frame.cpp: 40833 (WebCore::Frame::setDocument): Changed the argument into a PassRefPtr. 40834 * page/Frame.h: 40835 * xml/XSLTProcessor.cpp: 40836 (WebCore::XSLTProcessor::createDocumentFromSource): 40837 40838 2007-05-02 Mitz Pettel <mitz (a] webkit.org> 40839 40840 Reviewed by Dave Hyatt. 40841 40842 - fix http://bugs.webkit.org/show_bug.cgi?id=9276 40843 Quirksmode: Image swap resize bug 40844 40845 Test: fast/replaced/image-resize-width.html 40846 40847 * rendering/RenderImage.cpp: 40848 (WebCore::RenderImage::imageChanged): Moved the call to dirtyPrefWidths() 40849 before the call to calcWidth(). 40850 40851 2007-05-02 David Hyatt <hyatt (a] apple.com> 40852 40853 Fix for bug 13566, broken Dashboard widgets. setPrefWidthsDirty did 40854 the wrong thing for text children of a positioned element. 40855 40856 Reviewed by mitz 40857 40858 fast/block/positioning/pref-width-change.html 40859 40860 * rendering/RenderObject.cpp: 40861 (WebCore::RenderObject::setPrefWidthsDirty): 40862 40863 2007-05-01 Darin Adler <darin (a] apple.com> 40864 40865 * rendering/RenderReplaced.cpp: Fix typo in a comment. 40866 40867 2007-05-01 David Hyatt <hyatt (a] apple.com> 40868 40869 Fix for 13558, crash when using absolutely positioned generated content 40870 inside an inline. 40871 40872 Reviewed by darin 40873 40874 fast/css-generated-content/absolute-position-inside-inline.html 40875 40876 * rendering/RenderContainer.cpp: 40877 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 40878 40879 2007-05-01 Justin Garcia <justin.garcia (a] apple.com> 40880 40881 Reviewed by darin 40882 40883 <rdar://problem/5002441> 40884 Pressing space key does nothing above quoted content or a signature 40885 40886 Inserting a space under these circumstances inserts a single 40887 text node containing a regular space and then does a layout. 40888 That space isn't rendered (which is correct). Whitespace 40889 rebalancing is supposed to correct it but failed. It replaces 40890 the space with a non-breaking space, but that change doesn't 40891 dirty line boxes (9441) and so the space isn't rendered. 40892 40893 This workaround turns all incoming spaces into non-breaking 40894 spaces before they're inserted (they're rebalanced after 40895 insertion and turned back into regular spaces if possible). 40896 40897 * editing/InsertTextCommand.cpp: 40898 (WebCore::InsertTextCommand::prepareForTextInsertion): Removed 40899 an old irrelevant FIXME. 40900 (WebCore::InsertTextCommand::input): Turn incoming spaces into 40901 non breaking spaces before inserting them. 40902 40903 2007-05-01 Darin Adler <darin (a] apple.com> 40904 40905 Reviewed by Hyatt. 40906 40907 - fix http://bugs.webkit.org/show_bug.cgi?id=13559 40908 REGRESSION: Canvas aspect ratio is incorrect 40909 40910 - remove intrinsicWidth/Height functions from RenderObject 40911 40912 Test: fast/canvas/canvas-size-change-after-layout.html 40913 40914 * html/HTMLCanvasElement.cpp: 40915 (WebCore::HTMLCanvasElement::createRenderer): Removed code to set 40916 the intrinsic size, because the renderer now takes care of this 40917 in its constructor. 40918 (WebCore::HTMLCanvasElement::reset): Instead of calling the 40919 setIntrinsicWidth/Height functions, call canvasSizeChanged, which 40920 takes care of layout, but only if the size actually changed. Also 40921 call repaint if the contents of the canvas changed. 40922 40923 * rendering/RenderApplet.h: 40924 * rendering/RenderApplet.cpp: (WebCore::RenderApplet::intrinsicSize): 40925 Override the new intrinsicSize function. This override still doesn't 40926 make sense, so left a FIXME in here. 40927 40928 * rendering/RenderBox.h: Added an intrinsicSize function here to replace 40929 the intrinsicWidth/Height functions removed from RenderObject. 40930 * rendering/RenderBox.cpp: 40931 (WebCore::RenderBox::calcReplacedWidthUsing): Use intrinsicSize instead 40932 of intrinsicWidth. 40933 (WebCore::RenderBox::calcReplacedHeightUsing): Ditto, but for height. 40934 40935 * rendering/RenderHTMLCanvas.h: Changed the constructor parameter to be 40936 an HTMLCanvasElement* instead of Node*. Also added a canvasSizeChanged 40937 function. 40938 * rendering/RenderHTMLCanvas.cpp: 40939 (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): Pass an initial intrinsic 40940 size based on the current size of the canvas element. This is now the 40941 responsibility of the renderer and the DOM element calls the canvasSizeChanged 40942 function when the size changes. 40943 (WebCore::RenderHTMLCanvas::paint): Removed checks of the type of the element, 40944 and used the node() function because we don't have to worry about the anonymous 40945 case in this class. 40946 (WebCore::RenderHTMLCanvas::canvasSizeChanged): Added. Changes the size and 40947 then calls setNeedsLayout and setPrefWidthsDirty as needed. I based the logic 40948 here on careful reading of RenderImage::imageChanged. 40949 40950 * rendering/RenderImage.cpp: 40951 (WebCore::RenderImage::RenderImage): Pass a default intrinsic size of 0,0 40952 instead of calling setIntrinsicWidth/Height. 40953 (WebCore::RenderImage::setImageSizeForAltText): Call the new intrinsic size 40954 functions instead of the width/height ones. Simplifies the logic since we 40955 handle both dimensions at once. 40956 (WebCore::RenderImage::imageChanged): Ditto. 40957 (WebCore::RenderImage::layout): Ditto. 40958 (WebCore::RenderImage::calcAspectRatioWidth): Ditto. 40959 (WebCore::RenderImage::calcAspectRatioHeight): Ditto. 40960 40961 * rendering/RenderObject.h: Removed intrinsicWidth/Height virtual functions. 40962 40963 * rendering/RenderReplaced.h: Replaced intrinsicWidth, intrinsicHeight, 40964 setIntrinsicWidth, setIntrinsicHeight, m_intrinsicWidth, and m_intrinsicHeight 40965 with intrinsicSize, setIntrinsicSize, and m_intrinsicSize. 40966 * rendering/RenderReplaced.cpp: 40967 (WebCore::RenderReplaced::RenderReplaced): Added a second contructor that takes 40968 an intrinsic size parameter. Also updated constructor since the intrinsic size 40969 is now an IntSize instead of two integers. 40970 (WebCore::RenderReplaced::intrinsicSize): Added. No point in making this inline 40971 because it's a virtual function. 40972 (WebCore::RenderReplaced::setIntrinsicSize): Added. Didn't make this inline, 40973 partly because in the future we might want this to be more than just a simple 40974 setter function, factoring in common code used in both RenderImage and 40975 RenderHTMLCanvas. 40976 40977 * rendering/RenderWidget.h: Removed a stray using declaration that wasn't needed. 40978 40979 2007-05-01 David Hyatt <hyatt (a] apple.com> 40980 40981 Fix for hang when incorrectly trying to add before/after content to 40982 a <select>. Disallow generated content in all selects and also turn it 40983 off for <input> buttons. 40984 40985 Reviewed by aroben 40986 40987 * rendering/RenderBlock.cpp: 40988 (WebCore::RenderBlock::setStyle): 40989 * rendering/RenderButton.cpp: 40990 (WebCore::RenderButton::canHaveChildren): 40991 * rendering/RenderButton.h: 40992 40993 2007-05-01 Darin Adler <darin (a] apple.com> 40994 40995 Reviewed by Hyatt. 40996 40997 - removed the m_implicit bit from Node, freeing up a bit 40998 40999 - fixed <rdar://problem/5172607> XML parser is creating implicit tbody elements 41000 - fixed <rdar://problem/5172596> HTML-parser-created tbody elements are being 41001 ignored when processing CSS child rules 41002 41003 Test: fast/css/child-selector-implicit-tbody.html 41004 41005 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkSelector): 41006 Removed code that used to look at implicitNode(), which no longer exists. 41007 41008 * css/html4.css: Added a style rule to handle cases where we have a tr 41009 inside a table with no intervening table section. 41010 41011 * dom/Node.h: Removed the bit. 41012 * dom/Node.cpp: 41013 (WebCore::Node::Node): Don't initialize the bit. 41014 (WebCore::Node::dump): Don't dump the bit. 41015 41016 * dom/XMLTokenizer.cpp: 41017 (WebCore::XMLTokenizer::startElementNs): Remove the code that made a 41018 table body element. This is handled in the render tree, the DOM tree 41019 should not be mangled. 41020 (WebCore::XMLTokenizer::endElementNs): Removed code that used to look at 41021 implicitNode(), which no longer exists. 41022 41023 * html/HTMLElementFactory.cpp: (WebCore::tableSectionConstructor): 41024 Removed boolean parameter that was passed to the HTMLTableSectionElement 41025 constructor. 41026 * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Ditto. 41027 * html/HTMLTableElement.cpp: 41028 (WebCore::HTMLTableElement::createTHead): Ditto. 41029 (WebCore::HTMLTableElement::createTFoot): Ditto. 41030 (WebCore::HTMLTableElement::insertRow): Changed to return a PassRefPtr, 41031 because it's possible the row could be removed from the table by JavaScript 41032 code responding to DOM mutation events before the function returns. Just 41033 something I noticed by code inspection. 41034 41035 * html/HTMLTableSectionElement.cpp: 41036 (WebCore::HTMLTableSectionElement::HTMLTableSectionElement): Removed 41037 boolean "implicit" parameter to the constructor. 41038 (WebCore::HTMLTableSectionElement::insertRow): Changed to return a 41039 PassRefPtr for the same reason cited above. 41040 41041 * html/HTMLTableElement.h: Changed the return value of insertRow to be 41042 a PassRefPtr. 41043 * html/HTMLTableSectionElement.h: Ditto. 41044 41045 2007-04-30 David Hyatt <hyatt (a] apple.com> 41046 41047 Fix for bug 12691, generated content and display: table-cell duplicates 41048 content on a size change. Make sure that the code to update before/after 41049 content is smart enough to drill into anonymous containers to find the 41050 old child. 41051 41052 Reviewed by olliej 41053 41054 Added fast/css-generated-content/table-cell-before-content.html 41055 41056 * rendering/RenderBlock.cpp: 41057 (WebCore::RenderBlock::setStyle): 41058 * rendering/RenderButton.cpp: 41059 (WebCore::RenderButton::updateBeforeAfterContent): 41060 * rendering/RenderButton.h: 41061 * rendering/RenderContainer.cpp: 41062 (WebCore::RenderContainer::beforeAfterContainer): 41063 (WebCore::RenderContainer::updateBeforeAfterContent): 41064 (WebCore::RenderContainer::updateBeforeAfterContentForObject): 41065 * rendering/RenderContainer.h: 41066 * rendering/RenderInline.cpp: 41067 (WebCore::RenderInline::setStyle): 41068 (WebCore::RenderInline::addChildToFlow): 41069 (WebCore::RenderInline::splitInlines): 41070 41071 2007-04-30 Jungshik Shin <jungshik.shin (a] gmail.com> 41072 41073 Reviewed by justin 41074 41075 <http://bugs.webkit.org/show_bug.cgi?id=13552> 41076 comment to Range::comparePoint in dom/Range.cpp has 41077 '0xD0' in place of '-': leading to a compiler warning 41078 41079 * dom/Range.cpp: 41080 (WebCore::Range::comparePoint): 41081 41082 2007-04-30 Justin Garcia <justin.garcia (a] apple.com> 41083 41084 Reviewed by darin 41085 41086 <rdar://problem/4875189> List gets deleted when replacing contents 41087 41088 * editing/ReplaceSelectionCommand.cpp: 41089 (WebCore::ReplaceSelectionCommand::doApply): Don't expand 41090 to include elements, like lists, when deleting a selection 41091 to replace it. 41092 41093 2007-04-30 Justin Garcia <justin.garcia (a] apple.com> 41094 41095 Reviewed by ggaren 41096 41097 Buildfix. Leave in grammar checking machinery to 41098 keep WebKit building on other platforms but don't 41099 operate on sentence sized chunks so that we don't 41100 re-introduce 5157329. 41101 41102 * editing/Editor.h: 41103 * editing/mac/EditorMac.mm: 41104 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 41105 (WebCore::markMisspellingsOrBadGrammar): 41106 (WebCore::Editor::markMisspellings): 41107 (WebCore::Editor::markBadGrammar): 41108 * page/Frame.cpp: 41109 (WebCore::Frame::respondToChangedSelection): 41110 41111 2007-04-30 Justin Garcia <justin.garcia (a] apple.com> 41112 41113 Reviewed by darin 41114 41115 <rdar://problem/5168598> 41116 Crash when deleting a link inside an input field 41117 41118 Deletion code tries to update one of its positions to keep 41119 it valid and nullifies it. Later in mergeParagraphs we try 41120 to find out if it's valid by checking to see if it's still in 41121 the document and crash. 41122 41123 The fix is just to not bother keeping the position, 41124 m_upstreamStart, valid, since after the point in the code 41125 under examination, it doesn't need to be valid anymore. 41126 Besides, code to update DeleteSelectionCommand's positions 41127 should go in the functions that handle the content removal 41128 that might invalid them (there are already FIXMEs about this). 41129 41130 Also, users shouldn't be able to insert links (or any rich content) 41131 into plaintext-only regions like text fields, even if those 41132 text fields are inside richly editable regions. This is a 41133 separate bug and is filed as 5171552. 41134 41135 * editing/DeleteSelectionCommand.cpp: 41136 (WebCore::DeleteSelectionCommand::handleGeneralDelete): Don't 41137 bother updating m_upstreamStart. 41138 41139 2007-04-30 Patti Hoa <patti (a] apple.com> 41140 41141 Reviewed by Dave Hyatt. 41142 41143 <rdar://problem/5108546> REGRESSION: Zoom follows keyboard focus does not work 41144 41145 * WebCore.xcodeproj/project.pbxproj: 41146 Add new file SelectionControllerMac.mm 41147 * dom/Document.cpp: 41148 (WebCore::Document::updateSelection): 41149 Move the code to fire off AXSelectedTextChanged notification to a new method notifyAccessibilityForSelectionChange in SelectionControllerMac.mm 41150 * editing/SelectionController.cpp: 41151 (WebCore::SelectionController::setSelection): 41152 call notifyAccessibilityForSelectionChange to handle firing of accessibility notification and zoomFocusChange 41153 * editing/SelectionController.h: 41154 Add notifyAccessibilityForSelectionChange method for Mac platform 41155 * platform/Widget.h: 41156 * platform/mac/WidgetMac.mm: 41157 (WebCore::Widget::convertToScreenCoordinate): 41158 Add a helper routine that takes IntPoint in local coordinate and convert that to screen coordinate 41159 41160 2007-04-30 Justin Garcia <justin.garcia (a] apple.com> 41161 41162 Reviewed by harrison 41163 41164 <rdar://problem/5157329> 41165 REGRESSION: Crash at WTF::fastFree() when arrowing or deleting backward through editable text (13493) 41166 41167 Backing out the changes for 4859132. 41168 41169 * editing/Editor.h: 41170 * editing/mac/EditorMac.mm: 41171 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 41172 (WebCore::Editor::markMisspellings): 41173 * page/Frame.cpp: 41174 (WebCore::Frame::respondToChangedSelection): 41175 41176 2007-04-29 Antti Koivisto <antti (a] apple.com> 41177 41178 Reviewed by Oliver. 41179 41180 Fix <rdar://problem/5169261> 41181 REGRESSION: Google Maps zooming too sensitive when using two fingers on trackpad 41182 41183 Use line based delta values when generating DOM wheel events, use pixel deltas 41184 for scrolling only. 41185 41186 No test case, requires user interaction and specific hardware. 41187 41188 * page/EventHandler.cpp: 41189 (WebCore::EventHandler::handleWheelEvent): 41190 * platform/PlatformWheelEvent.h: 41191 (WebCore::PlatformWheelEvent::continuousDeltaX): 41192 (WebCore::PlatformWheelEvent::continuousDeltaY): 41193 * platform/mac/WheelEventMac.mm: 41194 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 41195 41196 2007-04-29 Oliver Hunt <oliver (a] apple.com> 41197 41198 Reviewed by Brady. 41199 41200 Build fix for experimental features build 41201 41202 * rendering/RenderForeignObject.cpp: 41203 41204 2007-04-29 Mitz Pettel <mitz (a] webkit.org> 41205 41206 Reviewed by Dave Hyatt. 41207 41208 - fix http://bugs.webkit.org/show_bug.cgi?id=13544 41209 REGRESSION (r21120): Member profile frame not erased at Yahoo! Answers 41210 41211 Test: fast/repaint/layer-hide-when-needs-layout.html 41212 41213 * rendering/RenderObject.cpp: 41214 (WebCore::RenderObject::setStyle): If we get a layout hint, we count on 41215 layout() or updateLayerPositions() to repaint. In the case of a layer 41216 going invisible, however, we need to repaint here since neither of the 41217 above will do it. 41218 41219 2007-04-29 Oliver Hunt <oliver (a] apple.com> 41220 41221 Reviewed by Steve. 41222 41223 Fix for <rdar://problem/5126393> REGRESSION (r19672-19697): Safari drag image drags at original size (13261) 41224 41225 Added logic to ensure that when we create the drag image 41226 we're looking at the rendered image size. 41227 41228 * page/DragController.cpp: 41229 (WebCore::DragController::doImageDrag): 41230 Pass the rendered image size to fitDragImageToMaxSize 41231 41232 * platform/DragImage.cpp: 41233 (WebCore::fitDragImageToMaxSize): 41234 Need to do scaling relative to rendered image size 41235 41236 * platform/DragImage.h: 41237 scaleDragImage needs x and y scales to allow for them to be 41238 scaled seperately on a page 41239 41240 * platform/gdk/DragImageGdk.cpp: 41241 (WebCore::scaleDragImage): 41242 Prevent build bustage 41243 41244 * platform/mac/DragImageMac.mm: 41245 (WebCore::scaleDragImage): 41246 scale width and height independently 41247 41248 * platform/qt/DragImageQt.cpp: 41249 (WebCore::scaleDragImage): 41250 Prevent build bustage 41251 41252 2007-04-29 Darin Adler <darin (a] apple.com> 41253 41254 Reviewed by Adele. 41255 41256 - fix the Gmail part of http://bugs.webkit.org/show_bug.cgi?id=12798 41257 and <rdar://problem/4118559> 41258 41259 This patch changes things so that resizing can make things larger than their 41260 initial size, but not smaller. I believe this resolves the problem for Gmail, 41261 but you can still get strange behavior if you have a small right-aligned <textarea>. 41262 41263 * rendering/RenderLayer.cpp: 41264 (WebCore::RenderLayer::resize): Rewrote to use more IntPoint and IntSize and add 41265 in a new minimum-size algorithm. This function now has the side effect of storing 41266 a new minimumSizeForResizing in the element being resized, and respects any existing 41267 minimum as well. 41268 (WebCore::RenderLayer::offsetFromResizeCorner): Reversed this so it converts the 41269 point into coordinates relative to the resize corner, hence negative numbers mean 41270 the point is above and to the left. This is used only in the algorithm above. 41271 41272 * dom/Element.h: Removed unneeded include of Attr.h, and added forward declarations 41273 as needed. Removed all friend declarations; there was no need for any of them. 41274 Tweaked formatting of various declarations and removed unneeded parameter names. 41275 Made as much as possible private, and a couple things public to avoid the need for 41276 friend classes. Added minimumSizeForResizing, setMinimumSizeForResizing, rareData, 41277 and createRareData functions. 41278 41279 * dom/Element.cpp: 41280 (WebCore::rareDataMap): Added. Function to return the single global map. 41281 (WebCore::rareDataFromMap): Added. For use by inlined functions to get the 41282 data from the map in the case where it's present. 41283 (WebCore::ElementRareData::ElementRareData): Added. 41284 (WebCore::Element::~Element): Added code to delete the element from the rare 41285 data map when appropriate. 41286 (WebCore::Element::rareData): Added. 41287 (WebCore::Element::createRareData): Added. 41288 (WebCore::Element::setAttributeNodeNS): Got rid of the old inline version of this, 41289 since it was the sole reason we had to include Attr.h in Element.h. 41290 (WebCore::Element::minimumSizeForResizing): Added. Accesses rare data. 41291 (WebCore::Element::setMinimumSizeForResizing): Ditto. 41292 41293 * dom/Node.h: Renamed the m_specified bit since it's now used for two purposes. 41294 Its new long name is m_attrWasSpecifiedOrElementHasRareData. 41295 41296 * dom/Attr.cpp: (WebCore::Attr::Attr): Updated for bit name change. 41297 * dom/Attr.h: 41298 (WebCore::Attr::specified): Ditto. 41299 (WebCore::Attr::setSpecified): Added, since setting the bit directly is pretty ugly now. 41300 * dom/Document.cpp: (WebCore::Document::adoptNode): Updated for bit name change. 41301 * dom/Node.cpp: 41302 (WebCore::Node::Node): Ditto. 41303 (WebCore::Node::dump): Ditto. 41304 41305 * dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::isReadOnlyNode): Moved out of line, 41306 since this was the sole reason we had to include Element.h in NamedAttrMap.h. 41307 41308 * html/HTMLElement.cpp: 41309 (WebCore::HTMLElement::nodeName): Changed to use tagQName() since that's a public 41310 way to do something that's now private. 41311 (WebCore::HTMLElement::cloneNode): Ditto. 41312 41313 * dom/Attribute.cpp: 41314 * dom/NamedAttrMap.h: 41315 * dom/NamedMappedAttrMap.cpp: 41316 * dom/StyledElement.h: 41317 * html/HTMLTokenizer.h: 41318 * xml/XPathFunctions.cpp: 41319 * xml/XPathStep.cpp: 41320 Updated includes, and other administrivia. 41321 41322 2007-04-29 Mitz Pettel <mitz (a] webkit.org> 41323 41324 Reviewed by Darin and Hyatt. 41325 41326 - http://bugs.webkit.org/show_bug.cgi?id=13487 41327 Implement O(1) absoluteClippedOverflowRect and absoluteOutlineBox during layout for a possible speed gain 41328 41329 Test for a bug fixed by this patch: fast/repaint/intermediate-layout-position-clip.html 41330 41331 By keeping track of the total translation and clip during layout, absolutePosition and 41332 computeAbsoluteRepaintRect become O(1). 41333 41334 * WebCore.pro: Added LayoutState.cpp 41335 * WebCore.vcproj/WebCore/WebCore.vcproj: Added LayoutState.{cpp,h} 41336 * WebCore.xcodeproj/project.pbxproj: Added LayoutState.{cpp,h} 41337 * WebCoreSources.bkl: Added LayoutState.cpp 41338 * page/FrameView.cpp: 41339 (WebCore::FrameView::layout): When doing subtree layout, push an initial layout state for the 41340 layout root. 41341 * rendering/LayoutState.cpp: Added. A LayoutState corresponding to a box consists of the origin of 41342 its coordinate system in view coordinates and possibly the clip rect, in view coordinates, which 41343 applies to its children. 41344 (WebCore::LayoutState::LayoutState): 41345 (WebCore::LayoutState::destroy): 41346 (WebCore::throw): 41347 (WebCore::LayoutState::operator delete): 41348 * rendering/LayoutState.h: Added. 41349 (WebCore::LayoutState::LayoutState): 41350 * rendering/RenderBlock.cpp: 41351 (WebCore::RenderBlock::layoutBlock): Factored out the "only positioned objects" case into 41352 layoutOnlyPositionedObjects(). Added code to push/pop LayoutState, unless we have columns, in 41353 which case we disable/enable LayoutState. Removed the translation by the layout delta 41354 of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and 41355 absoluteOutlineBox(). 41356 (WebCore::RenderBlock::layoutOnlyPositionedObjects): Added this helper function that checks for 41357 and handles the case where only positioned objects need layout. Returns true in that case. 41358 (WebCore::RenderBlock::repaintOverhangingFloats): Disabled LayoutState when repainting floats, since 41359 they may belong to other containers. 41360 (WebCore::RenderBlock::updateFirstLetter): Disabled LayoutState when adding and removing from the 41361 first letter container, since it may be different than ourselves. 41362 * rendering/RenderBlock.h: 41363 * rendering/RenderBox.cpp: 41364 (WebCore::RenderBox::setStyle): Minor cleanup: changed element()->document() to the equivalent document(). 41365 (WebCore::RenderBox::offsetForPositionedInContainer): Added. Factored out common code from 41366 absolutePosition, computeAbsoluteRepaintRect and RenderLayer::updateLayerPosition into this function. 41367 (WebCore::RenderBox::absolutePosition): Added an O(1) code path when this function is called during 41368 layout (and LayoutState has not been disabled). Factored out some code into 41369 offsetForPositionedInContainer. 41370 (WebCore::RenderBox::absoluteClippedOverflowRect): Added the layout delta here, so callers don't need 41371 to. 41372 (WebCore::RenderBox::computeAbsoluteRepaintRect): Added an O(1) code path when this function is called 41373 during layout (and LayoutState has not been disabled). Factored out some code into 41374 offsetForPositionedInContainer. 41375 * rendering/RenderContainer.cpp: 41376 (WebCore::RenderContainer::layout): Added LayoutState push/pop. 41377 * rendering/RenderFlexibleBox.cpp: 41378 (WebCore::RenderFlexibleBox::layoutBlock): Factored out the "only positioned objects" case into 41379 layoutOnlyPositionedObjects(). Added LayoutState push/pop. Removed the translation by the layout delta 41380 of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and 41381 absoluteOutlineBox(). 41382 * rendering/RenderFlow.cpp: 41383 (WebCore::RenderFlow::absoluteClippedOverflowRect): Added an ASSERT. 41384 * rendering/RenderForeignObject.cpp: 41385 (WebCore::RenderForeignObject::layout): Disabled LayoutState because it is incompatible with arbitrary 41386 affine transforms. 41387 * rendering/RenderHTMLCanvas.cpp: 41388 (WebCore::RenderHTMLCanvas::layout): Removed the translation by the layout delta of the old absolute 41389 rects, since that is now integral to absoluteClippedOverflowRect() and absoluteOutlineBox(). 41390 * rendering/RenderImage.cpp: 41391 (WebCore::RenderImage::layout): Ditto. 41392 * rendering/RenderLayer.cpp: 41393 (WebCore::RenderLayer::updateLayerPositions): Added ASSERTs. Factored out some code into 41394 RenderBox::offsetForPositionedInContainer. 41395 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Disabled LayoutState around the call to 41396 scrollToOffset. 41397 * rendering/RenderListItem.cpp: 41398 (WebCore::RenderListItem::updateMarkerLocation): Disabled LayoutState when moving the list marker, since 41399 it can trigger repainting in other containers. 41400 * rendering/RenderObject.cpp: 41401 (WebCore::RenderObject::isRoot): Minor cleanup: changed element()->document() to the equivalent 41402 document(). 41403 (WebCore::RenderObject::computeAbsoluteRepaintRect): Removed 'return' at the end of the function. 41404 (WebCore::RenderObject::container): Reordered to avoid calling isText() twice. 41405 (WebCore::RenderObject::absoluteOutlineBox): Added the layout delta here, so callers don't need to. 41406 * rendering/RenderSVGContainer.cpp: 41407 (WebCore::RenderSVGContainer::layout): Disabled LayoutState because it is incompatible with arbitrary 41408 affine transforms. 41409 * rendering/RenderTable.cpp: 41410 (WebCore::RenderTable::layout): Factored out the "only positioned objects" case into 41411 layoutOnlyPositionedObjects(). Added LayoutState push/pop. Removed the translation by the layout delta 41412 of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and 41413 absoluteOutlineBox(). 41414 * rendering/RenderTableCell.cpp: 41415 (WebCore::RenderTableCell::absoluteClippedOverflowRect): Added the layout delta here, so callers 41416 don't need to. 41417 (WebCore::RenderTableCell::computeAbsoluteRepaintRect): For the O(1) code path, skipped the correction 41418 for the parent row, because RenderTableRow doesn't push a translation into LayoutState. 41419 (WebCore::RenderTableCell::absolutePosition): Ditto. 41420 * rendering/RenderTableRow.cpp: 41421 (WebCore::RenderTableRow::layout): Added LayoutState push/pop. 41422 * rendering/RenderTableSection.cpp: 41423 (WebCore::RenderTableSection::setCellWidths): Added LayoutState push/pop if cells are repainted or 41424 receive layout. 41425 (WebCore::RenderTableSection::calcRowHeight): Ditto. 41426 (WebCore::RenderTableSection::layoutRows): Added LayoutState push/pop. 41427 * rendering/RenderView.cpp: 41428 (WebCore::RenderView::RenderView): 41429 (WebCore::RenderView::layout): Added initial LayoutState setup for the layout. 41430 (WebCore::RenderView::paintBoxDecorations): Minor cleanup: changed element()->document() to the 41431 equivalent document(). 41432 (WebCore::RenderView::repaintViewRectangle): Ditto. 41433 (WebCore::RenderView::pushLayoutState): Added. Pushes initial layout state for subtree layout. 41434 * rendering/RenderView.h: 41435 (WebCore::RenderView::pushLayoutState): 41436 (WebCore::RenderView::popLayoutState): 41437 (WebCore::RenderView::layoutState): 41438 (WebCore::RenderView::disableLayoutState): 41439 (WebCore::RenderView::enableLayoutState): 41440 41441 2007-04-29 David Hyatt <hyatt (a] apple.com> 41442 41443 Fix for bugzilla 13535, regression from positioning cleanup a while 41444 back. Some code got added to compute available width for a relpositioned 41445 inline, only the code meant to be used for inline flows and not inline blocks. 41446 41447 Reviewed by mjs 41448 41449 fast/block/positioning/inline-block-relposition.html 41450 41451 * rendering/RenderBox.cpp: 41452 (WebCore::RenderBox::containingBlockWidthForPositioned): 41453 41454 2007-04-29 Oliver Hunt <oliver (a] apple.com> 41455 41456 Reviewed by Zack. 41457 41458 Implement basic drag and drop support for qt 41459 this allows content and link dragging but does not 41460 provide the DOM data access methods. 41461 41462 * platform/DragData.h: 41463 * platform/qt/ClipboardQt.cpp: 41464 (WebCore::ClipboardQt::ClipboardQt): 41465 (WebCore::ClipboardQt::~ClipboardQt): 41466 (WebCore::ClipboardQt::clearData): 41467 (WebCore::ClipboardQt::clearAllData): 41468 (WebCore::ClipboardQt::setData): 41469 (WebCore::ClipboardQt::declareAndWriteDragImage): 41470 (WebCore::ClipboardQt::writeURL): 41471 (WebCore::ClipboardQt::writeRange): 41472 (WebCore::ClipboardQt::hasData): 41473 * platform/qt/ClipboardQt.h: 41474 (WebCore::ClipboardQt::clipboardData): 41475 (WebCore::ClipboardQt::invalidateWritableData): 41476 * platform/qt/DragDataQt.cpp: 41477 (WebCore::DragData::canSmartReplace): 41478 (WebCore::DragData::containsPlainText): 41479 (WebCore::DragData::asPlainText): 41480 (WebCore::DragData::createClipboard): 41481 (WebCore::DragData::containsCompatibleContent): 41482 (WebCore::DragData::containsURL): 41483 (WebCore::DragData::asURL): 41484 (WebCore::DragData::asFragment): 41485 41486 2007-04-28 Maciej Stachowiak <mjs (a] apple.com> 41487 41488 Reviewed by Darin and Oliver. 41489 41490 - change Document to hold onto Frame* instead of FrameView* 41491 41492 This is an architectural cleanup and a prerequisite to fixing citibank login 41493 in an architecturally sound way. 41494 41495 Some fixups for the page cache: 41496 41497 * history/CachedPage.cpp: 41498 (WebCore::CachedPage::restore): Add an assert that the document's view 41499 matches the cached page's view - this needs to be true by the time this 41500 function is called. 41501 (WebCore::CachedPage::clear): Change assert to require frame matching, not 41502 view matching. 41503 * history/CachedPage.h: 41504 (WebCore::CachedPage::view): Add a way to get the view out. 41505 * loader/FrameLoader.cpp: 41506 (WebCore::FrameLoader::begin): pass Frame, not FrameView, when creating document 41507 (WebCore::FrameLoader::open): restore view based on CachedPage, not Document. 41508 41509 Remaining changes are just straightforward updates based on which 41510 pointer is held or passed: 41511 41512 * dom/DOMImplementation.cpp: 41513 (WebCore::DOMImplementation::createDocument): 41514 (WebCore::DOMImplementation::createHTMLDocument): 41515 * dom/DOMImplementation.h: 41516 * dom/Document.cpp: 41517 (WebCore::Document::Document): 41518 (WebCore::Document::view): 41519 (WebCore::Document::frame): 41520 (WebCore::Document::recalcStyle): 41521 (WebCore::Document::updateLayout): 41522 (WebCore::Document::attach): 41523 (WebCore::Document::detach): 41524 (WebCore::Document::createTokenizer): 41525 (WebCore::Document::recalcStyleSelector): 41526 (WebCore::Document::setInPageCache): 41527 (WebCore::Document::applyXSLTransform): 41528 * dom/Document.h: 41529 * html/HTMLDocument.cpp: 41530 (WebCore::HTMLDocument::HTMLDocument): 41531 * html/HTMLDocument.h: 41532 * html/HTMLViewSourceDocument.cpp: 41533 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): 41534 * html/HTMLViewSourceDocument.h: 41535 * ksvg2/svg/SVGDocument.cpp: 41536 (WebCore::SVGDocument::SVGDocument): 41537 * ksvg2/svg/SVGDocument.h: 41538 * loader/ImageDocument.cpp: 41539 (WebCore::ImageDocument::ImageDocument): 41540 * loader/ImageDocument.h: 41541 * loader/PluginDocument.cpp: 41542 (WebCore::PluginDocument::PluginDocument): 41543 * loader/PluginDocument.h: 41544 * loader/TextDocument.cpp: 41545 (WebCore::TextDocument::TextDocument): 41546 * loader/TextDocument.h: 41547 * xml/XSLTProcessor.cpp: 41548 (WebCore::XSLTProcessor::createDocumentFromSource): 41549 (WebCore::XSLTProcessor::transformToDocument): 41550 * xml/XSLTProcessor.h: 41551 41552 2007-04-28 Adele Peterson <adele (a] apple.com> 41553 41554 RS by Darin. 41555 41556 Update to fix for <rdar://problem/5152299> 41557 41558 Test: fast/events/no-blur-on-enter-button.html 41559 41560 * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::defaultEventHandler): 41561 Don't blur the button when handling the enter key. This matches our new behavior for input elements. 41562 41563 2007-04-28 Adele Peterson <adele (a] apple.com> 41564 41565 Fix by Darin, reviewed by me. 41566 41567 Fix for <rdar://problem/5152299> REGRESSION: <button> elements do not respond to space and return key as similar <input> elements do 41568 41569 Tests: 41570 fast/forms/button-spacebar-click.html 41571 fast/forms/button-enter-click.html 41572 41573 * html/HTMLButtonElement.h: (WebCore::HTMLButtonElement::): Made type enum private. 41574 Removed unnecessary m_value and m_currValue, and unused m_dirty. 41575 * html/HTMLButtonElement.cpp: 41576 (WebCore::HTMLButtonElement::HTMLButtonElement): Removed initialization of m_dirty. 41577 (WebCore::HTMLButtonElement::parseMappedAttribute): Removed case to parse value and accesskey attributes, which don't do anything. 41578 (WebCore::HTMLButtonElement::defaultEventHandler): Removed unnecessary check for button type. 41579 Added cases to handle spacebar and enter keys in the same way that they're handled for <input type=button/reset/submit> buttons. 41580 (WebCore::HTMLButtonElement::isSuccessfulSubmitButton): Shortened comment. 41581 (WebCore::HTMLButtonElement::appendFormData): Use value() instead of m_currValue. Renamed encoding argument to formData. 41582 41583 2007-04-28 Mitz Pettel <mitz (a] webkit.org> 41584 41585 Reviewed by Darin. 41586 41587 - fix http://bugs.webkit.org/show_bug.cgi?id=13501 41588 REGRESSION (r21093): Pasting into text field fails and makes the caret disappear 41589 41590 Test: fast/dynamic/anonymous-block-layer-lost.html 41591 41592 * rendering/RenderBlock.cpp: 41593 (WebCore::RenderBlock::removeChild): Avoid cutting off layers when removing 41594 the anonymous block. 41595 41596 2007-04-28 Mitz Pettel <mitz (a] webkit.org> 41597 41598 Reviewed by Darin. 41599 41600 - fix http://bugs.webkit.org/show_bug.cgi?id=13471 41601 REGRESSION (r21045): Secure keyboard entry mode remains in effect after leaving a password field by submitting 41602 41603 * loader/FrameLoader.cpp: 41604 (WebCore::FrameLoader::clear): Replaced direct access to Frame's d->m_doc 41605 with a call to Frame::setDocument. 41606 (WebCore::FrameLoader::begin): Ditto. 41607 (WebCore::FrameLoader::open): Ditto. 41608 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): Ditto. 41609 (WebCore::FrameLoader::canCachePage): Added a comment. 41610 * manual-tests/secure-keyboard-enabled-after-submit.html: Added. 41611 * page/Frame.cpp: 41612 (WebCore::Frame::setDocument): Reset secure keyboard entry, in case the 41613 old document's focused node has set it. 41614 41615 2007-04-28 Mitz Pettel <mitz (a] webkit.org> 41616 41617 Reviewed by Adele. 41618 41619 - fix http://bugs.webkit.org/show_bug.cgi?id=13379 41620 REGRESSION: Cannot add an option to a selected popup 41621 41622 * manual-tests/update-empty-popup.html: Added. 41623 * platform/mac/PopupMenuMac.mm: 41624 (WebCore::PopupMenu::show): Added a call to the client's hidePopup() 41625 callback before returning in the case that the menu is empty. Otherwise 41626 the client thinks that the menu stayed open. 41627 41628 2007-04-28 Adele Peterson <adele (a] apple.com> 41629 41630 Reviewed by Darin. 41631 41632 Fix for <rdar://problem/4806988> REGRESSION: history.go(0) doesn't reload page (affects buttons at facebook.com) 41633 41634 Test: fast/history/history_reload.html 41635 41636 * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation): 41637 We avoid doing a redirection when going to the same url in a history navigation, but we have to still 41638 schedule a redirection when the number of steps is zero so we can force a reload. 41639 41640 2007-04-28 Alexey Proskuryakov <ap (a] webkit.org> 41641 41642 Reviewed by Darin. 41643 41644 http://bugs.webkit.org/show_bug.cgi?id=13514 41645 REGRESSION (r20997-21003): Crash in WebCore::Node::document 41646 41647 Test: fast/dom/NodeList/childNodes-reset-cache.html 41648 41649 * dom/Node.cpp: 41650 (WebCore::Node::notifyLocalNodeListsChildrenChanged): Reset the common caches for child node 41651 lists. We cannot rely on notifications, since there may be no list objects left around. 41652 41653 * dom/ChildNodeList.cpp: 41654 (WebCore::ChildNodeList::rootNodeChildrenChanged): 41655 * dom/ChildNodeList.h: 41656 Override rootNodeChildrenChanged() with an empty implementation, now that caches are reset 41657 in Node::notifyLocalNodeListsChildrenChanged(). 41658 41659 2007-04-28 Mark Rowe <mrowe (a] apple.com> 41660 41661 Build fix. Change use of nil to 0 in C++ source file. 41662 41663 * editing/Editor.cpp: 41664 (WebCore::Editor::increaseSelectionListLevel): 41665 (WebCore::Editor::increaseSelectionListLevelOrdered): 41666 (WebCore::Editor::increaseSelectionListLevelUnordered): 41667 41668 2007-04-28 Darin Adler <darin (a] apple.com> 41669 41670 Reviewed by Adele. 41671 41672 - fix http://bugs.webkit.org/show_bug.cgi?id=6216 41673 REGRESSION: getElementsByTagNameNS with empty namespace doesn't work 41674 41675 * dom/Node.cpp: 41676 (WebCore::TagNodeList::TagNodeList): Changed parameter to PassRefPtr, tweaked formatting. 41677 (WebCore::TagNodeList::item): Tweaked formatting. 41678 (WebCore::TagNodeList::nodeMatches): Tweaked formatting. 41679 (WebCore::Node::setPrefix): Tweaked formatting. 41680 (WebCore::Node::getElementsByTagNameNS): Added special case to turn empty namespaces into 41681 null namespaces. 41682 41683 2007-04-28 Darin Adler <darin (a] apple.com> 41684 41685 Reviewed by Kevin Decker. 41686 41687 - fix <rdar://problem/5148271> Chinese numbers are incorrect in numbered lists 41688 (including pasting from TextEdit to Mail) 41689 41690 Covered by an existing regression test, which had wrong results checked in. 41691 41692 Hyatt told me not to use the algorithm in the CSS 3 specification, but I didn't listen! 41693 This corrects mistakes there and makes our results match current Firefox. 41694 41695 * rendering/RenderListMarker.cpp: 41696 (WebCore::toCJKIdeographic): Added code to strip off trailing zero digits. 41697 Added special case for zero, since that's the one case where we don't want 41698 to strip off trailing zero digits. Fixed mixed-up logic that would put the 41699 digits in each group backwards. 41700 (WebCore::listMarkerText): Corrected character values for the CJK_IDEOGRAPHIC case. 41701 41702 2007-04-28 Darin Adler <darin (a] apple.com> 41703 41704 Reviewed by Oliver. 41705 41706 - fix <rdar://problem/5138250> REGRESSION (r18245): Changing any one aspect 41707 of a font applies all the aspects to selected text 41708 41709 Since this bug is only visible with the font panel, I don't 41710 think there's any way to make a DumpRenderTree-driven test. 41711 41712 * editing/Editor.cpp: (WebCore::Editor::fontForSelection): 41713 Set hasMultipleFonts properly. The old code had an early exit 41714 that was left over from when hasMultipleFonts was a pointer. 41715 41716 2007-04-27 Mitz Pettel <mitz (a] webkit.org> 41717 41718 Reviewed by Dave Hyatt. 41719 41720 - fix http://bugs.webkit.org/show_bug.cgi?id=13525 41721 Repainting a listbox schedules a relayout 41722 41723 No test possible as there is no change to functionality. 41724 41725 - fix the root cause of http://bugs.webkit.org/show_bug.cgi?id=10862 41726 REGRESSION: Collapsing form input on www.myspace.com 41727 41728 No test possible since text fields are no longer implemented as flexboxes. 41729 41730 * rendering/RenderObject.cpp: 41731 (WebCore::RenderObject::scheduleRelayout): Added a check that the subtree 41732 root is in the tree and not free-floating. 41733 * rendering/bidi.cpp: 41734 (WebCore::RenderBlock::bidiReorderCharacters): Changed addChild and removeChild 41735 to appendChildNode and removeChildNode to save some unnecessary overhead. 41736 These calls still mark the tree for relayout, but the change in scheduleRelayout 41737 ensures that a layout won't be scheduled. 41738 41739 2007-04-27 Patti Hoa <patti (a] apple.com> 41740 41741 Reviewed by Darin. 41742 41743 <rdar://problem/5153017> REPRODUCIBLE ASSERT: range != nil in WebViewFactory.mm:415 -[WebViewFactory startOfTextMarkerRange:] (13354) 41744 41745 * bridge/mac/WebCoreAXObject.mm: 41746 (-[WebCoreAXObject textMarkerRangeForRange:]): 41747 Fix the range length check. It was incorrectly assuming that the max range requested cannot be equal 41748 to the length of the string. Since NSRange location is index based, it's perfectly valid to have the max 41749 range equal to the the text length. 41750 41751 2007-04-27 David Harrison <harrison (a] apple.com> 41752 41753 Reviewed by Darin. 41754 41755 <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail 41756 41757 * WebCore.exp: 41758 * editing/Editor.h: 41759 * editing/Editor.cpp: 41760 (WebCore::Editor::insertOrderedList): 41761 (WebCore::Editor::insertUnorderedList): 41762 (WebCore::Editor::canIncreaseSelectionListLevel): 41763 (WebCore::Editor::canDecreaseSelectionListLevel): 41764 (WebCore::Editor::increaseSelectionListLevel): 41765 (WebCore::Editor::increaseSelectionListLevelOrdered): 41766 (WebCore::Editor::increaseSelectionListLevelUnordered): 41767 (WebCore::Editor::decreaseSelectionListLevel): 41768 Add insertOrderedList() and insertUnorderedList(). 41769 Move existing list management functions from WebCoreFrameBridge. 41770 The level increasing functions now return a PassRefPtr<Node> instead of Node. 41771 Add check for canEditRichly. 41772 41773 - in many other functions, condense the check for nil client(). 41774 41775 * editing/InsertListCommand.h: 41776 * editing/InsertListCommand.cpp: 41777 (WebCore::InsertListCommand::insertList): 41778 (WebCore::InsertListCommand::fixOrphanedListChild): 41779 (WebCore::InsertListCommand::doApply): 41780 Add insertList(), which returns the new list element. 41781 Don't set the list element's ID if the specified ID was an empty string. 41782 41783 * editing/ModifySelectionListLevel.h: 41784 * editing/ModifySelectionListLevel.cpp: 41785 (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType): 41786 (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel): 41787 (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered): 41788 (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered): 41789 Return PassRefPtr<Node> instead of Node. 41790 41791 * page/mac/WebCoreFrameBridge.h: 41792 * page/mac/WebCoreFrameBridge.mm: 41793 Move list management functions to Editor.h and Editor.cpp. 41794 41795 41796 2007-04-27 David Hyatt <hyatt (a] apple.com> 41797 41798 Fix for <rdar://problem/5134254>, toolbar buttons don't work in gmail after double-click. Make sure 41799 to clear out the capturing frame, since you don't get a second up when a double-click happens. 41800 41801 Reviewed by mjs 41802 41803 * page/EventHandler.cpp: 41804 (WebCore::EventHandler::handleMouseDoubleClickEvent): 41805 41806 2007-04-27 Justin Garcia <justin.garcia (a] apple.com> 41807 41808 Reviewed by oliver 41809 41810 <rdar://problem/5164796> 41811 Enable execCommand("CreateLink", ...) for caret selections 41812 41813 * editing/CreateLinkCommand.cpp: 41814 (WebCore::CreateLinkCommand::doApply): For a caret 41815 selection, insert a link at the caret position 41816 with the url as the link text. 41817 * editing/JSEditor.cpp: Enable CreateLink for caret 41818 selections. 41819 41820 2007-04-27 Antti Koivisto <antti (a] apple.com> 41821 41822 Reviewed by Darin, Hyatt. 41823 41824 Fix http://bugs.webkit.org/show_bug.cgi?id=13081 41825 Empty table cells not handled correctly 41826 <rdar://problem/5067926> 41827 41828 To match Firefox and IE, empty table cells with variable width need to be 41829 treated as special case. They generally get zero width. 41830 41831 * rendering/AutoTableLayout.cpp: 41832 (WebCore::AutoTableLayout::recalcColumn): 41833 (WebCore::AutoTableLayout::calcEffectiveWidth): 41834 (WebCore::AutoTableLayout::layout): 41835 * rendering/AutoTableLayout.h: 41836 (WebCore::AutoTableLayout::Layout::Layout): 41837 * rendering/RenderStyle.h: 41838 (WebCore::RenderStyle::hasPadding): 41839 41840 2007-04-27 Rob Buis <buis (a] kde.org> 41841 41842 Reviewed by Oliver. 41843 41844 http://bugs.webkit.org/show_bug.cgi?id=13052 41845 Text not rendered in a second inline SVG element 41846 41847 Correct the rendering of svg text when embedded in non-svg container. 41848 41849 * rendering/RenderSVGText.cpp: 41850 (WebCore::RenderSVGText::paint): 41851 41852 2007-04-27 Mark Rowe <mrowe (a] apple.com> 41853 41854 Reviewed by Maciej. 41855 41856 * WebCore.pro: Remove non-existent paths from qmake files. 41857 41858 2007-04-25 Lars Naesbye Christensen <lars (a] naesbye.dk> 41859 41860 Reviewed by Timothy Hatcher. 41861 41862 http://bugs.webkit.org/show_bug.cgi?id=13477 41863 Bug 13477: Help and context menu cursors need dropshadows. 41864 41865 * Resources/cellCursor.png: 41866 * Resources/contextMenuCursor.png: 41867 * Resources/helpCursor.png: 41868 * platform/mac/CursorMac.mm: 41869 (WebCore::contextMenuCursor): 41870 (WebCore::copyCursor): 41871 (WebCore::progressCursor): 41872 (WebCore::noDropCursor): 41873 41874 2007-04-27 Holger Freyther <freyther (a] kde.org> 41875 41876 Reviewed by Maciej. 41877 41878 Remove unmaintained CMake build system. 41879 41880 * CMakeLists.txt: Removed. 41881 41882 2007-04-26 Matt Perry <mpComplete (a] gmail.com> 41883 41884 Reviewed by Maciej. 41885 41886 Added a version check to hackAroundLibXMLEntityBug, since that bug has 41887 been fixed in recent versions of libxml2. 41888 41889 * dom/XMLTokenizer.cpp: 41890 (WebCore::hackAroundLibXMLEntityBug): 41891 41892 2007-04-26 Christopher Brichford <chrisb (a] adobe.com> 41893 41894 Reviewed by Timothy Hatcher. 41895 41896 - Fix for Bug 13204: Submit initial version of mac project files for apollo 41897 port of WebCore 41898 http://bugs.webkit.org/show_bug.cgi?id=13204 41899 41900 * WebCore.apolloproj/mac/WebCore.Debug.xcconfig: Added. 41901 * WebCore.apolloproj/mac/WebCore.Release.xcconfig: Added. 41902 * WebCore.apolloproj/mac/WebCore.xcconfig: Added. 41903 * WebCore.apolloproj/mac/WebCore.xcodeproj/project.pbxproj: Added. 41904 41905 2007-04-26 Alp Toker <alp (a] atoker.com> 41906 41907 Reviewed by Maciej. 41908 41909 http://bugs.webkit.org/show_bug.cgi?id=13505 41910 Cast loses precision on x86_64 41911 41912 * platform/graphics/cairo/GraphicsContextCairo.cpp: 41913 (WebCore::GraphicsContext::beginTransparencyLayer): 41914 (WebCore::GraphicsContext::endTransparencyLayer): 41915 Use a stack of opacity values instead of Cairo user data. 41916 41917 2007-04-26 Mitz Pettel <mitz (a] webkit.org> 41918 41919 Reviewed by Darin. 41920 41921 - fix http://bugs.webkit.org/show_bug.cgi?id=13500 41922 REGRESSION: Listbox scrollbar does not reflect actual scrolled position when selected option is added after layout 41923 41924 Test: fast/forms/listbox-scrollbar-incremental-load.html 41925 41926 The scroller position was not updated correctly during insertion, since 41927 scrollbar proportions are updated only during layout 41928 41929 * rendering/RenderListBox.cpp: 41930 (WebCore::RenderListBox::selectionChanged): Delay scrolling to reveal the 41931 selection until after layout if m_optionsChanged is set. Layout is 41932 guaranteed to happen soon when the flag is set. 41933 41934 2007-04-26 David Hyatt <hyatt (a] apple.com> 41935 41936 Fix for 13511, crash on a counters page. Make sure that RenderTexts 41937 never get a null StringImpl. I would have added an assert that the length 41938 had to be nonzero also, but unfortunately editing creates empty RenderTexts 41939 because of its EditingText DOM subclass that always forces renderers to be 41940 made. I suppose there is a good reason for this... 41941 41942 Reviewed by aroben 41943 41944 * dom/CharacterData.cpp: 41945 (WebCore::CharacterData::setData): 41946 (WebCore::CharacterData::appendData): 41947 (WebCore::CharacterData::insertData): 41948 (WebCore::CharacterData::deleteData): 41949 (WebCore::CharacterData::replaceData): 41950 * rendering/RenderCounter.cpp: 41951 (WebCore::RenderCounter::RenderCounter): 41952 * rendering/RenderText.cpp: 41953 (WebCore::RenderText::RenderText): 41954 (WebCore::RenderText::trimmedPrefWidths): 41955 (WebCore::RenderText::setTextWithOffset): 41956 (WebCore::RenderText::setTextInternal): 41957 (WebCore::RenderText::setText): 41958 41959 2007-04-26 Alice Liu <alice.liu (a] apple.com> 41960 41961 Reviewed by Oliver. 41962 41963 * editing/SelectionController.cpp: 41964 (WebCore::SelectionController::selectAll): 41965 adding null check 41966 41967 2007-04-26 Justin Garcia <justin.garcia (a] apple.com> 41968 41969 Reviewed by oliver 41970 41971 <rdar://problem/5120591> 41972 Crash when creating a link in Leopard wiki server 41973 41974 * editing/CreateLinkCommand.cpp: 41975 (WebCore::CreateLinkCommand::doApply): Use a RefPtr, 41976 setting the anchor's href can destroy it if there is 41977 an ancestor with a subtree modified event listener. 41978 41979 2007-04-26 Mitz Pettel <mitz (a] webkit.org> 41980 41981 Reviewed by hyatt 41982 41983 - http://bugs.webkit.org/show_bug.cgi?id=13496 41984 Eliminate repaintObjectsBeforeLayout 41985 41986 No tests added since there is no change to functionality. Several 41987 tests in fast/repaint test repainting of objects that move during layout. 41988 41989 * page/FrameView.cpp: 41990 (WebCore::FrameView::layout): 41991 * rendering/RenderBlock.cpp: 41992 (WebCore::RenderBlock::layoutBlockChildren): Removed an early 41993 setNeedsLayout(false). Resetting the bit here prevents the full repaint 41994 that we rely on when we decide not to repaint children that move. 41995 * rendering/RenderBlock.h: 41996 * rendering/RenderObject.cpp: 41997 * rendering/RenderObject.h: 41998 * rendering/RenderTableSection.cpp: 41999 (WebCore::RenderTableSection::setCellWidths): Replaced the call to 42000 repaintObjectsBeforeLayout() if the cell didn't need layout with 42001 an unconditional repaint(). We don't bother with repainting only the 42002 delta between the old and new widths, since by marking the cell for 42003 layout results in a full repaint with the new width anyway. 42004 42005 2007-04-26 David Hyatt <hyatt (a] apple.com> 42006 42007 Fix for 13509. Don't recur to parent inline flows if they have been 42008 marked as needing layout themselves. 42009 42010 Reviewed by adele 42011 42012 * rendering/RenderFlow.cpp: 42013 (WebCore::RenderFlow::dirtyLinesFromChangedChild): 42014 42015 2007-04-26 Matt Perry <mpComplete (a] gmail.com> 42016 42017 Reviewed and landed by Alexey. 42018 42019 http://bugs.webkit.org/show_bug.cgi?id=13495 42020 Crash when referencing an undefined entity in an XHTML document 42021 42022 Test: fast/parser/badentity.xhtml 42023 42024 * dom/XMLTokenizer.cpp: 42025 (WebCore::getEntityHandler): Check for a NULL returned from getXHTMLEntity 42026 42027 2007-04-26 Anders Carlsson <andersca (a] apple.com> 42028 42029 Reviewed by Hyatt. 42030 42031 <rdar://problem/4851944> 42032 REGRESSION: With TOT, BMP images can no longer be opened in the browser window 42033 42034 On Tiger, the MIME type for the com.microsoft.bmp UTI isn't in the registry, so add it manually. 42035 42036 * platform/MimeTypeRegistry.cpp: 42037 (WebCore::initialiseSupportedImageMIMETypes): 42038 42039 2007-04-26 David Hyatt <hyatt (a] apple.com> 42040 42041 Fix for bug 13503, invalidateContainingBlockPrefWidths is 15% of the 42042 nesting PLT. Avoid O(n^2) behavior by including inlines in the minmax 42043 dirty chain. 42044 42045 Reviewed by kevin 42046 42047 * rendering/RenderBlock.cpp: 42048 (WebCore::RenderBlock::calcInlinePrefWidths): 42049 * rendering/RenderObject.cpp: 42050 (WebCore::RenderObject::setPrefWidthsDirty): 42051 (WebCore::RenderObject::invalidateContainerPrefWidths): 42052 * rendering/RenderObject.h: 42053 42054 2007-04-26 Anders Carlsson <andersca (a] apple.com> 42055 42056 Reviewed by Darin. 42057 42058 <rdar://problem/5067925> 42059 Reproducible crash (infinite recursion) with a layout test that submits on unload (13078) 42060 42061 Ask the document loader whether it's loading the main resource, since there are cases where the frame 42062 loader's variable isn't updated correctly. 42063 42064 In the distant future, the frame loader shouldn't have an instance variable but this is the least intrusive fix for now. 42065 42066 I couldn't come up with a good test case for this since it requires running three tests in a row and scheduleLoad didn't work. Also, 42067 calling submit in the onunload prevents any new tests from loading! 42068 42069 * loader/FrameLoader.cpp: 42070 (WebCore::FrameLoader::isLoading): 42071 42072 2007-04-26 Anders Carlsson <andersca (a] apple.com> 42073 42074 ... and fix the build. 42075 42076 * loader/FrameLoader.cpp: 42077 (WebCore::FrameLoader::continueAfterNavigationPolicy): 42078 42079 2007-04-26 Anders Carlsson <andersca (a] apple.com> 42080 42081 Revert the previous change - activeDocumentLoader never returns the policy document loader. 42082 Instead, add a null check for the policy document loader. 42083 42084 * loader/FrameLoader.cpp: 42085 (WebCore::FrameLoader::continueAfterNavigationPolicy): 42086 42087 2007-04-26 Anders Carlsson <andersca (a] apple.com> 42088 42089 Use the active document loader instead of the policy document loader. 42090 42091 * loader/FrameLoader.cpp: 42092 (WebCore::FrameLoader::continueAfterNavigationPolicy): 42093 42094 2007-04-26 Anders Carlsson <andersca (a] apple.com> 42095 42096 Reviewed by Maciej. 42097 42098 <rdar://problem/5049099> documents no longer have a default base URL 42099 42100 Don't call canHandleRequest if we have valid substitute data and the protocol is "applewebdata". 42101 42102 * loader/FrameLoader.cpp: 42103 (WebCore::FrameLoader::continueAfterNavigationPolicy): 42104 42105 2007-04-25 Stephanie Lewis <slewis (a] apple.com> 42106 42107 Reviewed by Darin. 42108 42109 Fix the build for platforms that overload the abs function. 42110 42111 * dom/ChildNodeList.cpp: 42112 (WebCore::ChildNodeList::item): 42113 42114 2007-04-25 David Hyatt <hyatt (a] apple.com> 42115 42116 Fix for bug 13373, make sure to invalidate the pref widths for objects 42117 with percentage padding. 42118 42119 Reviewed by beth 42120 42121 * rendering/RenderBlock.cpp: 42122 (WebCore::RenderBlock::layoutBlockChildren): 42123 (WebCore::RenderBlock::layoutPositionedObjects): 42124 * rendering/bidi.cpp: 42125 (WebCore::RenderBlock::layoutInlineChildren): 42126 42127 2007-04-25 David Harrison <harrison (a] apple.com> 42128 42129 Comment change. Correct the header name in the endif comment. 42130 42131 * editing/FormatBlockCommand.h: 42132 Change InsertListCommand_h to FormatBlockCommand_h. 42133 42134 2007-04-25 Darin Adler <darin (a] apple.com> 42135 42136 Reviewed by Hyatt. 42137 42138 * platform/AtomicString.cpp: (WebCore::AtomicString::add): 42139 Removed unnecessary use of strlen to check if a string is empty. 42140 42141 2007-04-25 Mitz Pettel <mitz (a] webkit.org> 42142 42143 Build fix. 42144 42145 * rendering/RenderListMarker.h: Undeleted the m_text member. 42146 42147 2007-04-25 David Hyatt <hyatt (a] apple.com> 42148 42149 Rearchitect calcPrefWidths. The calculation is now done lazily only when minPrefWidth 42150 or maxPrefWidth are asked for. The result of the calculation is cached. 42151 42152 The new invalidation scheme for pref width invalidation follows the 42153 containing block hierarchy and knows to halt at positioned objects, since 42154 they cannot influence the size of their containers. 42155 42156 Reviewed by darin 42157 42158 * css/cssstyleselector.cpp: 42159 (WebCore::CSSStyleSelector::init): 42160 (WebCore::CSSStyleSelector::initForStyleResolve): 42161 * page/FrameView.cpp: 42162 (WebCore::FrameView::layout): 42163 * rendering/RenderApplet.cpp: 42164 (WebCore::RenderApplet::layout): 42165 * rendering/RenderBlock.cpp: 42166 (WebCore::RenderBlock::makeChildrenNonInline): 42167 (WebCore::RenderBlock::removeChild): 42168 (WebCore::RenderBlock::layout): 42169 (WebCore::RenderBlock::layoutBlock): 42170 (WebCore::RenderBlock::calcPrefWidths): 42171 (WebCore::InlineMinMaxIterator::endOfInline): 42172 (WebCore::shouldGrowTableCellForImage): 42173 (WebCore::RenderBlock::calcInlinePrefWidths): 42174 (WebCore::RenderBlock::calcBlockPrefWidths): 42175 * rendering/RenderBlock.h: 42176 * rendering/RenderBox.cpp: 42177 (WebCore::RenderBox::setStyle): 42178 (WebCore::RenderBox::minPrefWidth): 42179 (WebCore::RenderBox::maxPrefWidth): 42180 (WebCore::RenderBox::calcWidth): 42181 (WebCore::RenderBox::calcWidthUsing): 42182 (WebCore::RenderBox::calcAbsoluteHorizontal): 42183 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 42184 * rendering/RenderBox.h: 42185 * rendering/RenderContainer.cpp: 42186 (WebCore::RenderContainer::removeChildNode): 42187 (WebCore::RenderContainer::appendChildNode): 42188 (WebCore::RenderContainer::insertChildNode): 42189 (WebCore::RenderContainer::layout): 42190 * rendering/RenderContainer.h: 42191 (WebCore::RenderContainer::moveChildNode): 42192 * rendering/RenderCounter.cpp: 42193 (WebCore::RenderCounter::dirtyLineBoxes): 42194 (WebCore::RenderCounter::calcPrefWidths): 42195 * rendering/RenderCounter.h: 42196 * rendering/RenderFileUploadControl.cpp: 42197 (WebCore::RenderFileUploadControl::calcPrefWidths): 42198 * rendering/RenderFlexibleBox.cpp: 42199 (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths): 42200 (WebCore::RenderFlexibleBox::calcVerticalPrefWidths): 42201 (WebCore::RenderFlexibleBox::calcPrefWidths): 42202 (WebCore::RenderFlexibleBox::layoutBlock): 42203 * rendering/RenderForeignObject.cpp: 42204 (WebCore::RenderForeignObject::layout): 42205 * rendering/RenderFrameSet.cpp: 42206 (WebCore::RenderFrameSet::layout): 42207 * rendering/RenderHTMLCanvas.cpp: 42208 (WebCore::RenderHTMLCanvas::layout): 42209 * rendering/RenderImage.cpp: 42210 (WebCore::RenderImage::layout): 42211 * rendering/RenderInline.cpp: 42212 * rendering/RenderInline.h: 42213 * rendering/RenderListBox.cpp: 42214 (WebCore::RenderListBox::updateFromElement): 42215 (WebCore::RenderListBox::calcPrefWidths): 42216 * rendering/RenderListItem.cpp: 42217 (WebCore::firstNonMarkerChild): 42218 (WebCore::RenderListItem::updateMarkerLocation): 42219 (WebCore::RenderListItem::calcPrefWidths): 42220 (WebCore::RenderListItem::layout): 42221 * rendering/RenderListMarker.cpp: 42222 (WebCore::RenderListMarker::layout): 42223 (WebCore::RenderListMarker::calcPrefWidths): 42224 (WebCore::RenderListMarker::updateMargins): 42225 * rendering/RenderListMarker.h: 42226 * rendering/RenderObject.cpp: 42227 (WebCore::RenderObject::RenderObject): 42228 (WebCore::RenderObject::removeChildNode): 42229 (WebCore::RenderObject::moveChildNode): 42230 (WebCore::RenderObject::appendChildNode): 42231 (WebCore::RenderObject::insertChildNode): 42232 (WebCore::RenderObject::setPrefWidthsDirty): 42233 (WebCore::RenderObject::invalidateContainingBlockPrefWidths): 42234 (WebCore::RenderObject::information): 42235 (WebCore::RenderObject::setStyle): 42236 * rendering/RenderObject.h: 42237 (WebCore::RenderObject::layer): 42238 (WebCore::RenderObject::hasLayer): 42239 (WebCore::RenderObject::prefWidthsDirty): 42240 (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc): 42241 (WebCore::RenderObject::setHasLayer): 42242 * rendering/RenderPartObject.cpp: 42243 (WebCore::RenderPartObject::layout): 42244 * rendering/RenderSVGContainer.cpp: 42245 (WebCore::RenderSVGContainer::layout): 42246 * rendering/RenderSVGContainer.h: 42247 * rendering/RenderSVGHiddenContainer.cpp: 42248 * rendering/RenderSVGHiddenContainer.h: 42249 * rendering/RenderSVGText.cpp: 42250 (WebCore::RenderSVGText::layout): 42251 * rendering/RenderTable.cpp: 42252 (WebCore::RenderTable::calcWidth): 42253 (WebCore::RenderTable::layout): 42254 (WebCore::RenderTable::removeChildNode): 42255 * rendering/RenderTable.h: 42256 * rendering/RenderTableRow.cpp: 42257 (WebCore::RenderTableRow::layout): 42258 * rendering/RenderTableSection.cpp: 42259 (WebCore::RenderTableSection::removeChildNode): 42260 * rendering/RenderTableSection.h: 42261 * rendering/RenderText.cpp: 42262 (WebCore::RenderText::trimmedPrefWidths): 42263 (WebCore::isSpaceAccordingToStyle): 42264 (WebCore::RenderText::minPrefWidth): 42265 (WebCore::RenderText::maxPrefWidth): 42266 (WebCore::RenderText::calcPrefWidths): 42267 (WebCore::RenderText::width): 42268 * rendering/RenderText.h: 42269 * rendering/RenderView.cpp: 42270 (WebCore::RenderView::RenderView): 42271 (WebCore::RenderView::calcPrefWidths): 42272 (WebCore::RenderView::layout): 42273 * rendering/RenderWidget.cpp: 42274 (WebCore::RenderWidget::layout): 42275 42276 2007-04-25 Steve Falkenburg <sfalken (a] apple.com> 42277 42278 Reviewed by Adam. 42279 42280 Fix spelling error in spelling method name. 42281 Expose new spelling callback methods to all platforms. 42282 42283 * bridge/EditorClient.h: 42284 * platform/gdk/EditorClientGdk.cpp: 42285 (WebCore::EditorClientGdk::updateSpellingUIWithGrammarString): 42286 * platform/gdk/EditorClientGdk.h: 42287 * platform/graphics/svg/SVGImageEmptyClients.h: 42288 (WebCore::SVGEmptyEditorClient::updateSpellingUIWithGrammarString): 42289 (WebCore::SVGEmptyEditorClient::getGuessesForWord): 42290 42291 2007-04-24 Geoffrey Garen <ggaren (a] apple.com> 42292 42293 Reviewed by Darin Adler, Tim Hatcher. 42294 42295 Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch. 42296 42297 * platform/graphics/mac/GraphicsContextMac.mm: 42298 (WebCore::GraphicsContext::setCompositeOperation): Call -drain instead of 42299 -release, since -release is a no-op in a GC world. 42300 42301 2007-04-25 Alexey Proskuryakov <ap (a] webkit.org> 42302 42303 Reviewed by Darin. 42304 42305 http://bugs.webkit.org/show_bug.cgi?id=13445 42306 NodeList access by index is slow 42307 42308 * dom/ChildNodeList.cpp: 42309 (WebCore::ChildNodeList::item): Support iterating backwards from the last accessed node 42310 or from the last child. 42311 * dom/NodeList.h: Make cachedLength unsigned. 42312 42313 2007-04-26 Mark Rowe <mrowe (a] apple.com> 42314 42315 Gdk build fix. Add missing stub. 42316 42317 * platform/gdk/TemporaryLinkStubs.cpp: 42318 (Editor::advanceToNextMisspelling): 42319 42320 2007-04-25 Rob Buis <buis (a] kde.org> 42321 42322 Reviewed by Darin. 42323 42324 http://bugs.webkit.org/show_bug.cgi?id=12163 42325 SVG text does not appear in a scrolling <div> 42326 42327 Make sure SVG text is painted when scrolling by taking into account the relative offset of the non-SVG parent in the paintInfo rect. 42328 42329 * rendering/RenderSVGContainer.cpp: 42330 (WebCore::RenderSVGContainer::paint): 42331 42332 2007-04-26 Mark Rowe <mrowe (a] apple.com> 42333 42334 Fix non-Mac builds after r21081. 42335 42336 Stub out new Editor methods for Qt and Gdk, and new SVGEmptyEditorClient methods 42337 for all non-Mac builds. 42338 42339 * editing/qt/EditorQt.cpp: 42340 (WebCore::Editor::showSpellingGuessPanel): 42341 (WebCore::Editor::spellingPanelIsShowing): 42342 * page/qt/EventHandlerQt.cpp: 42343 (WebCore::EventHandler::passWheelEventToWidget): 42344 (WebCore::EventHandler::passMousePressEventToScrollbar): 42345 * platform/gdk/TemporaryLinkStubs.cpp: 42346 (Editor::showSpellingGuessPanel): 42347 (Editor::spellingPanelIsShowing): 42348 * platform/graphics/svg/SVGImageEmptyClients.h: 42349 (WebCore::SVGEmptyEditorClient::ignoreWordInSpellDocument): 42350 (WebCore::SVGEmptyEditorClient::learnWord): 42351 (WebCore::SVGEmptyEditorClient::checkSpellingOfString): 42352 (WebCore::SVGEmptyEditorClient::checkGrammarOfString): 42353 (WebCore::SVGEmptyEditorClient::udpateSpellingUIWithGrammarString): 42354 (WebCore::SVGEmptyEditorClient::updateSpellingUIWithMisspelledWord): 42355 (WebCore::SVGEmptyEditorClient::showSpellingUI): 42356 (WebCore::SVGEmptyEditorClient::spellingUIIsShowing): 42357 (WebCore::SVGEmptyEditorClient::getGuessesForWord): 42358 42359 2007-04-25 Anders Carlsson <andersca (a] apple.com> 42360 42361 Reviewed by Ada. 42362 42363 <rdar://problem/5122153> 42364 Crash occurs at WebCore::Frame::loader() when switching to Bookmarks view while loading standalone image 42365 42366 Don't call writeRawData if the data length is 0. (This is checked by the decoder for the non-raw case). 42367 42368 * loader/FrameLoader.cpp: 42369 (WebCore::FrameLoader::write): 42370 42371 2007-04-26 Mark Rowe <mrowe (a] apple.com> 42372 42373 Gdk build fix courtesy of Alp Toker. 42374 42375 * make-generated-sources.sh: Remove conditional logic to ensure the 42376 script exits with the correct exit code. 42377 42378 2007-04-24 Anders Carlsson <andersca (a] apple.com> 42379 42380 Reviewed by Mitz. 42381 42382 <rdar://problem/4869095> 42383 default content type for XMLHttpRequest POSTs changed (breaks Flickrator 0.1 widget) 42384 42385 Use the right MIME type. 42386 42387 * xml/xmlhttprequest.cpp: 42388 (WebCore::XMLHttpRequest::send): 42389 42390 2007-04-24 Darin Adler <darin (a] apple.com> 42391 42392 Reviewed by Maciej. 42393 42394 - second round of preparation for Hyatt's "lazy minMaxWidth" change 42395 http://bugs.webkit.org/show_bug.cgi?id=13431 42396 42397 These are small changes that are either safe to do first, or unrelated to the main 42398 change in Hyatt's patch. 42399 42400 - Preallocate 4 entries each in m_layoutStruct and m_spanCells to save allocation 42401 in AutoTableLayout. 42402 - Add an early exit to RenderFlow::dirtyLinesFromChangedChild. 42403 - Change InlineBox::hasTextChildren() to use a bit directly and never a virtual function. 42404 - Save a virtual function call by using a local bool variable for isTableCell(). 42405 42406 - Fix containingBlock() so it returns 0 for table cells with no parent. 42407 42408 - Change all callers who are getting at layer() as a boolean to use hasLayer(). 42409 - Change if statements to max() function calls (only the ones Hyatt had in his patch). 42410 - Remove some old kdDebug calls. 42411 - Tweak formatting of some code. 42412 - Add const in one place. 42413 42414 * bindings/js/kjs_html.cpp: 42415 (KJS::HTMLElementFunction::callAsFunction): 42416 * page/EventHandler.cpp: 42417 (WebCore::EventHandler::eventMayStartDrag): 42418 * page/Frame.cpp: 42419 (WebCore::Frame::clearTimers): 42420 * rendering/AutoTableLayout.cpp: 42421 (WebCore::AutoTableLayout::recalcColumn): 42422 * rendering/AutoTableLayout.h: 42423 * rendering/InlineBox.h: 42424 (WebCore::InlineBox::InlineBox): 42425 (WebCore::InlineBox::hasTextChildren): 42426 * rendering/InlineFlowBox.cpp: 42427 (WebCore::InlineFlowBox::nodeAtPoint): 42428 * rendering/InlineFlowBox.h: 42429 (WebCore::InlineFlowBox::InlineFlowBox): 42430 * rendering/RenderBlock.cpp: 42431 (WebCore::RenderBlock::layoutBlock): 42432 (WebCore::RenderBlock::repaintOverhangingFloats): 42433 (WebCore::RenderBlock::paintChildren): 42434 (WebCore::RenderBlock::paintFloats): 42435 (WebCore::RenderBlock::fillBlockSelectionGaps): 42436 (WebCore::RenderBlock::insertFloatingObject): 42437 (WebCore::RenderBlock::floatRect): 42438 (WebCore::RenderBlock::lowestPosition): 42439 (WebCore::RenderBlock::rightmostPosition): 42440 (WebCore::RenderBlock::leftmostPosition): 42441 (WebCore::RenderBlock::addOverhangingFloats): 42442 (WebCore::RenderBlock::nodeAtPoint): 42443 (WebCore::RenderBlock::hitTestContents): 42444 (WebCore::RenderBlock::calcPrefWidths): 42445 (WebCore::InlineMinMaxIterator::next): 42446 (WebCore::getBorderPaddingMargin): 42447 (WebCore::RenderBlock::calcInlinePrefWidths): 42448 (WebCore::RenderBlock::calcBlockPrefWidths): 42449 * rendering/RenderContainer.cpp: 42450 (WebCore::RenderContainer::appendChildNode): 42451 (WebCore::RenderContainer::insertChildNode): 42452 * rendering/RenderFlexibleBox.cpp: 42453 (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths): 42454 (WebCore::RenderFlexibleBox::calcVerticalPrefWidths): 42455 * rendering/RenderFlow.cpp: 42456 (WebCore::RenderFlow::dirtyLinesFromChangedChild): 42457 * rendering/RenderLayer.cpp: 42458 (WebCore::RenderLayer::updateVisibilityStatus): 42459 (WebCore::RenderLayer::updateLayerPosition): 42460 * rendering/RenderObject.cpp: 42461 (WebCore::RenderObject::containingBlock): 42462 * rendering/RenderTable.cpp: 42463 (WebCore::RenderTable::paint): 42464 * rendering/RenderTableCell.cpp: 42465 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 42466 * rendering/RenderTableRow.cpp: 42467 (WebCore::RenderTableRow::nodeAtPoint): 42468 (WebCore::RenderTableRow::paint): 42469 * rendering/RenderTableSection.cpp: 42470 (WebCore::RenderTableSection::nodeAtPoint): 42471 * rendering/RenderTreeAsText.cpp: 42472 (WebCore::write): 42473 42474 2007-04-24 Steve Falkenburg <sfalken (a] apple.com> 42475 42476 Reviewed by Darin, Oliver. 42477 42478 Refactor spelling codepaths 42479 42480 * bridge/EditorClient.h: 42481 * page/ContextMenuController.cpp: 42482 (WebCore::ContextMenuController::contextMenuItemSelected): 42483 * platform/ContextMenu.cpp: 42484 (WebCore::ContextMenu::populate): 42485 (WebCore::ContextMenu::checkOrEnableIfNeeded): 42486 * platform/gdk/EditorClientGdk.cpp: 42487 (WebCore::EditorClientGdk::ignoreWordInSpellDocument): 42488 (WebCore::EditorClientGdk::learnWord): 42489 (WebCore::EditorClientGdk::checkSpellingOfString): 42490 (WebCore::EditorClientGdk::checkGrammarOfString): 42491 (WebCore::EditorClientGdk::udpateSpellingUIWithGrammarString): 42492 (WebCore::EditorClientGdk::updateSpellingUIWithMisspelledWord): 42493 (WebCore::EditorClientGdk::showSpellingUI): 42494 (WebCore::EditorClientGdk::spellingUIIsShowing): 42495 (WebCore::EditorClientGdk::getGuessesForWord): 42496 * platform/gdk/EditorClientGdk.h: 42497 42498 2007-04-24 Darin Adler <darin (a] apple.com> 42499 42500 Reviewed by Adele. 42501 42502 - first round of preparation for Hyatt's "lazy minMaxWidth" change 42503 http://bugs.webkit.org/show_bug.cgi?id=13431 42504 42505 This patch limits itself to renaming and making other super-simple 42506 changes so that the above change will be smaller and easier to review 42507 and understand. 42508 42509 Rename: 42510 42511 calcHorizontalMinMaxWidth -> calcHorizontalPrefWidths 42512 calcMinMaxWidth -> calcPrefWidths 42513 calcMinMaxWidthInternal -> calcPrefWidthsInternal 42514 calcVerticalMinMaxWidth -> calcVerticalPrefWidths 42515 setNeedsLayoutAndMinMaxRecalc -> setNeedsLayoutAndPrefWidthsRecalc 42516 trimmedMinMaxWidth -> trimmedPrefWidths 42517 42518 RenderObject::m_maxWidth -> RenderObject::m_maxPrefWidth 42519 RenderObject::m_minWidth -> RenderObject::m_minPrefWidth 42520 RenderObject::maxWidth() -> RenderObject::maxPrefWidth() 42521 RenderObject::minWidth() -> RenderObject::minPrefWidth() 42522 42523 Replace m_minMaxKnown, minMaxKnown(), and setMinMaxKnown() with 42524 m_prefWidthsDirty, prefWidthsDirty(), and setPrefWidthsDirty(), 42525 a boolean with the opposite sense. 42526 42527 Convert some uses of if statements into "max". 42528 42529 Change many uses of layer() to hasLayer(). For now it's just a boolean 42530 version of layer(), but Hyatt's patch makes it faster by using a bit. 42531 42532 Added a guard to use of axObjectCache() to make RenderObject destruction 42533 a little faster for the normal case. 42534 42535 Removed some assertions that will be removed in Hyatt's patch. 42536 42537 Made some functions const that will be const in Hyatt's patch. 42538 42539 Put in some revised comments from Hyatt's patch. 42540 42541 Removed an unneeded nil check from RenderListMarker::setStyle. 42542 42543 Moved RootInlineBox::setHorizontalOverflowPositions and 42544 RootInlineBox::setVerticalSelectionPositions to the RootInlineBox.h 42545 header and marked them inline. 42546 42547 * dom/Document.cpp: 42548 (WebCore::Document::updateStyleSelector): 42549 * html/HTMLTextAreaElement.cpp: 42550 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 42551 * page/Frame.cpp: 42552 (WebCore::Frame::forceLayoutWithPageWidthRange): 42553 * rendering/AutoTableLayout.cpp: 42554 (WebCore::AutoTableLayout::recalcColumn): 42555 (WebCore::AutoTableLayout::calcPrefWidths): 42556 (WebCore::AutoTableLayout::calcEffectiveWidth): 42557 * rendering/AutoTableLayout.h: 42558 * rendering/CounterNode.cpp: 42559 (WebCore::CounterNode::recount): 42560 * rendering/FixedTableLayout.cpp: 42561 (WebCore::FixedTableLayout::calcPrefWidths): 42562 * rendering/FixedTableLayout.h: 42563 * rendering/InlineFlowBox.cpp: 42564 (WebCore::InlineFlowBox::paint): 42565 * rendering/RenderApplet.cpp: 42566 (WebCore::RenderApplet::layout): 42567 * rendering/RenderBlock.cpp: 42568 (WebCore::RenderBlock::removeChild): 42569 (WebCore::RenderBlock::layoutBlock): 42570 (WebCore::RenderBlock::handleCompactChild): 42571 (WebCore::RenderBlock::getClearDelta): 42572 (WebCore::RenderBlock::calcPrefWidths): 42573 (WebCore::RenderBlock::calcInlinePrefWidths): 42574 (WebCore::RenderBlock::calcBlockPrefWidths): 42575 * rendering/RenderBlock.h: 42576 * rendering/RenderBox.cpp: 42577 (WebCore::RenderBox::RenderBox): 42578 (WebCore::RenderBox::nodeAtPoint): 42579 (WebCore::RenderBox::calcWidth): 42580 (WebCore::RenderBox::calcWidthUsing): 42581 (WebCore::RenderBox::calcAbsoluteHorizontal): 42582 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 42583 * rendering/RenderBox.h: 42584 (WebCore::RenderBox::minPrefWidth): 42585 (WebCore::RenderBox::maxPrefWidth): 42586 * rendering/RenderContainer.cpp: 42587 (WebCore::RenderContainer::removeChildNode): 42588 (WebCore::RenderContainer::appendChildNode): 42589 (WebCore::RenderContainer::insertChildNode): 42590 (WebCore::RenderContainer::layout): 42591 * rendering/RenderContainer.h: 42592 (WebCore::RenderContainer::calcPrefWidths): 42593 * rendering/RenderCounter.cpp: 42594 (WebCore::RenderCounter::calcPrefWidths): 42595 * rendering/RenderCounter.h: 42596 * rendering/RenderFieldset.cpp: 42597 (WebCore::RenderFieldset::calcPrefWidths): 42598 * rendering/RenderFieldset.h: 42599 * rendering/RenderFileUploadControl.cpp: 42600 (WebCore::RenderFileUploadControl::calcPrefWidths): 42601 * rendering/RenderFileUploadControl.h: 42602 * rendering/RenderFlexibleBox.cpp: 42603 (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths): 42604 (WebCore::RenderFlexibleBox::calcVerticalPrefWidths): 42605 (WebCore::RenderFlexibleBox::calcPrefWidths): 42606 (WebCore::RenderFlexibleBox::layoutBlock): 42607 (WebCore::RenderFlexibleBox::allowedChildFlex): 42608 * rendering/RenderFlexibleBox.h: 42609 (WebCore::RenderFlexibleBox::hasMultipleLines): 42610 (WebCore::RenderFlexibleBox::isVertical): 42611 (WebCore::RenderFlexibleBox::isHorizontal): 42612 * rendering/RenderFlow.cpp: 42613 (WebCore::RenderFlow::absoluteClippedOverflowRect): 42614 * rendering/RenderForeignObject.cpp: 42615 (WebCore::RenderForeignObject::layout): 42616 * rendering/RenderFrameSet.cpp: 42617 (WebCore::RenderFrameSet::layout): 42618 * rendering/RenderHTMLCanvas.cpp: 42619 (WebCore::RenderHTMLCanvas::layout): 42620 * rendering/RenderImage.cpp: 42621 (WebCore::RenderImage::imageChanged): 42622 (WebCore::RenderImage::layout): 42623 (WebCore::RenderImage::calcPrefWidths): 42624 * rendering/RenderImage.h: 42625 * rendering/RenderInline.cpp: 42626 (WebCore::RenderInline::addChildToFlow): 42627 (WebCore::RenderInline::splitInlines): 42628 (WebCore::RenderInline::splitFlow): 42629 (WebCore::RenderInline::calcPrefWidths): 42630 * rendering/RenderInline.h: 42631 * rendering/RenderListBox.cpp: 42632 (WebCore::RenderListBox::updateFromElement): 42633 (WebCore::RenderListBox::calcPrefWidths): 42634 * rendering/RenderListBox.h: 42635 * rendering/RenderListItem.cpp: 42636 (WebCore::RenderListItem::updateValue): 42637 (WebCore::RenderListItem::updateMarkerLocation): 42638 (WebCore::RenderListItem::calcPrefWidths): 42639 (WebCore::RenderListItem::layout): 42640 (WebCore::RenderListItem::explicitValueChanged): 42641 * rendering/RenderListItem.h: 42642 * rendering/RenderListMarker.cpp: 42643 (WebCore::RenderListMarker::setStyle): 42644 (WebCore::RenderListMarker::layout): 42645 (WebCore::RenderListMarker::imageChanged): 42646 (WebCore::RenderListMarker::calcPrefWidths): 42647 (WebCore::RenderListMarker::calcWidth): 42648 * rendering/RenderListMarker.h: 42649 * rendering/RenderMenuList.cpp: 42650 (WebCore::RenderMenuList::updateOptionsWidth): 42651 (WebCore::RenderMenuList::calcPrefWidths): 42652 * rendering/RenderMenuList.h: 42653 * rendering/RenderObject.cpp: 42654 (WebCore::RenderObject::RenderObject): 42655 (WebCore::addLayers): 42656 (WebCore::RenderObject::removeLayers): 42657 (WebCore::RenderObject::moveLayers): 42658 (WebCore::RenderObject::addAbsoluteRectForLayer): 42659 (WebCore::RenderObject::checkForRepaintDuringLayout): 42660 (WebCore::RenderObject::dump): 42661 (WebCore::RenderObject::setStyle): 42662 (WebCore::RenderObject::destroy): 42663 (WebCore::RenderObject::recalcMinMaxWidths): 42664 * rendering/RenderObject.h: 42665 (WebCore::RenderObject::hasLayer): 42666 (WebCore::RenderObject::prefWidthsDirty): 42667 (WebCore::RenderObject::setPrefWidthsDirty): 42668 (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc): 42669 (WebCore::RenderObject::calcPrefWidths): 42670 (WebCore::RenderObject::minPrefWidth): 42671 (WebCore::RenderObject::maxPrefWidth): 42672 * rendering/RenderPart.cpp: 42673 (WebCore::RenderPart::setWidget): 42674 * rendering/RenderPartObject.cpp: 42675 (WebCore::RenderPartObject::updateWidget): 42676 (WebCore::RenderPartObject::layout): 42677 * rendering/RenderReplaced.cpp: 42678 (WebCore::RenderReplaced::calcPrefWidths): 42679 * rendering/RenderReplaced.h: 42680 * rendering/RenderSVGContainer.cpp: 42681 (WebCore::RenderSVGContainer::calcPrefWidths): 42682 (WebCore::RenderSVGContainer::layout): 42683 * rendering/RenderSVGContainer.h: 42684 * rendering/RenderSVGHiddenContainer.cpp: 42685 (WebCore::RenderSVGHiddenContainer::calcPrefWidths): 42686 * rendering/RenderSVGHiddenContainer.h: 42687 * rendering/RenderSVGText.cpp: 42688 (WebCore::RenderSVGText::layout): 42689 * rendering/RenderSlider.cpp: 42690 (WebCore::RenderSlider::calcPrefWidths): 42691 * rendering/RenderSlider.h: 42692 * rendering/RenderTable.cpp: 42693 (WebCore::RenderTable::calcWidth): 42694 (WebCore::RenderTable::layout): 42695 (WebCore::RenderTable::calcPrefWidths): 42696 (WebCore::RenderTable::splitColumn): 42697 (WebCore::RenderTable::appendColumn): 42698 * rendering/RenderTable.h: 42699 * rendering/RenderTableCell.cpp: 42700 (WebCore::RenderTableCell::updateFromElement): 42701 (WebCore::RenderTableCell::styleOrColWidth): 42702 (WebCore::RenderTableCell::calcPrefWidths): 42703 * rendering/RenderTableCell.h: 42704 * rendering/RenderTableCol.cpp: 42705 (WebCore::RenderTableCol::updateFromElement): 42706 * rendering/RenderTableRow.cpp: 42707 (WebCore::RenderTableRow::layout): 42708 * rendering/RenderTableSection.cpp: 42709 (WebCore::RenderTableSection::paint): 42710 * rendering/RenderText.cpp: 42711 (WebCore::RenderText::trimmedPrefWidths): 42712 (WebCore::RenderText::calcPrefWidths): 42713 (WebCore::RenderText::calcPrefWidthsInternal): 42714 (WebCore::RenderText::setText): 42715 * rendering/RenderText.h: 42716 (WebCore::RenderText::minPrefWidth): 42717 (WebCore::RenderText::maxPrefWidth): 42718 * rendering/RenderTextControl.cpp: 42719 (WebCore::RenderTextControl::calcPrefWidths): 42720 * rendering/RenderTextControl.h: 42721 * rendering/RenderView.cpp: 42722 (WebCore::RenderView::RenderView): 42723 (WebCore::RenderView::calcPrefWidths): 42724 (WebCore::RenderView::layout): 42725 * rendering/RenderView.h: 42726 * rendering/RenderWidget.cpp: 42727 (WebCore::RenderWidget::layout): 42728 * rendering/RootInlineBox.cpp: 42729 * rendering/RootInlineBox.h: 42730 (WebCore::RootInlineBox::setHorizontalOverflowPositions): 42731 (WebCore::RootInlineBox::setVerticalSelectionPositions): 42732 * rendering/TableLayout.h: 42733 42734 2007-04-24 Justin Garcia <justin.garcia (a] apple.com> 42735 42736 Reviewed by oliver 42737 42738 <rdar://problem/5156401> 42739 Crash when dragging text into a link inside a table cell 42740 42741 * editing/CompositeEditCommand.cpp: 42742 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 42743 Don't avoid the anchor if doing so would skip over a line break, that 42744 would put content in the wrong paragraph, which can throw ReplaceSelectionCommand, 42745 which relies on moveParagraphs into infinite recursion. 42746 Renamed the input position. 42747 Don't need to re-fetch the enclosing anchor when preparing to push it down, 42748 since it hasn't changed since the top of the function. 42749 42750 2007-04-24 Timothy Hatcher <timothy (a] apple.com> 42751 42752 Reviewed by Adam. 42753 42754 <rdar://problem/5133011> 64-bit: Attempting to paste copied text in a input field results in a crash at WebCore::Range::startPosition() 42755 42756 Change a couple incorrect uses of LONG_MAX to INT_MAX to match the variable type they are used in. 42757 The LONG_MAX on 64-bit was overflowing the int variables, causing this crash on paste. 42758 42759 * bridge/mac/WebCoreAXObject.mm: 42760 (-[WebCoreAXObject value]): 42761 * editing/TextIterator.cpp: 42762 (WebCore::TextIterator::handleTextNode): 42763 (WebCore::TextIterator::handleTextBox): 42764 42765 2007-04-24 Timothy Hatcher <timothy (a] apple.com> 42766 42767 Reviewed by Adam. 42768 42769 <rdar://problem/4966982> 64-bit: In a unordered list, TYPE=DISC and TYPE=CIRCLE attribute values are ignored 42770 42771 We need to draw our full-circle arcs counter-clockwise, since a clockwise arc from 0 to 2 is no arc at all! 42772 This only worked on 32-bit due to a rounding error in CoreGraphics, causing it to draw a full circle anyway. 42773 42774 * platform/graphics/cg/GraphicsContextCG.cpp: 42775 (WebCore::GraphicsContext::drawEllipse): 42776 42777 2007-04-24 Brady Eidson <beidson (a] apple.com> 42778 42779 Reviewed by Beth, Hyatt, Ada, and Darin 42780 42781 <rdar://problem/5011477> and <rdar://problem/5011514> 42782 Provide support for the icon.db to be moved to a different directory from the old WebKit-style 42783 icons, and remove the old directory if that is the case 42784 42785 Support for this starts in WebCore, where we can use the metadata table in the icon.db to track 42786 whether or not we've ever done the import 42787 42788 * WebCore.exp: 42789 * loader/icon/IconDatabase.cpp: 42790 (WebCore::IconDatabase::defaultDatabaseFilename): Changed to "Icons.db" 42791 (WebCore::IconDatabase::IconDatabase): 42792 (WebCore::IconDatabase::deleteAllPreparedStatements): Delete the new statements added 42793 (WebCore::IconDatabase::imported): Grab this flag from the DB or return the cached flag 42794 (WebCore::IconDatabase::setImported): Store this flag into the DB 42795 (WebCore::IconDatabase::importedQuery): Actually do the DB query for this save 42796 (WebCore::IconDatabase::setImportedQuery): Actually do the DB query for this retrieval 42797 * loader/icon/IconDatabase.h: 42798 42799 2007-04-24 Darin Adler <darin (a] apple.com> 42800 42801 Reviewed by Justin. 42802 42803 - fix <rdar://problem/4356361> Selection after multiple delete 42804 keypresses and undo selects only the last deleted character 42805 42806 Test: editing/undo/undo-combined-delete-boundary.html 42807 Test: editing/undo/undo-combined-delete.html 42808 Test: editing/undo/undo-delete-boundary.html 42809 Test: editing/undo/undo-delete.html 42810 Test: editing/undo/undo-forward-delete-boundary.html 42811 Test: editing/undo/undo-forward-delete.html 42812 42813 * editing/TypingCommand.cpp: 42814 (WebCore::TypingCommand::insertText): Fix obviously-wrong code where there were missing 42815 braces. I couldn't find any real symptom of this, but I think the fix should go in anyway. 42816 All layout tests still pass. 42817 (WebCore::TypingCommand::deleteKeyPressed): Added code to compute a selection that goes 42818 back to the beginning of the composite editing operation. 42819 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. 42820 42821 * editing/Selection.h: 42822 * editing/Selection.cpp: (WebCore::Selection::setWithoutValidation): 42823 Added. Back door to allow setting the ends of a selection without revalidating, 42824 because we need to use it on a selection where the endpoints may no longer be 42825 valid due to mutations done by earlier pieces of the editing operation. 42826 42827 * editing/EditCommand.h: 42828 (WebCore::EditCommand::startingSelection): Return a const& for speed. 42829 (WebCore::EditCommand::endingSelection): Ditto. 42830 42831 2007-04-24 Sam Weinig <sam (a] webkit.org> 42832 42833 Reviewed by Mitz. 42834 42835 - fix for http://bugs.webkit.org/show_bug.cgi?id=13448 42836 REGRESSION: setting an input element's value to JavaScript null gives "null" 42837 42838 Test: fast/forms/input-null.html 42839 42840 * html/HTMLInputElement.idl: Convert JS null to the empty string on setting 42841 DOMString attributes. 42842 42843 2007-04-24 Mitz Pettel <mitz (a] webkit.org> 42844 42845 Reviewed by Dave Hyatt. 42846 42847 - fix http://bugs.webkit.org/show_bug.cgi?id=13453 42848 Control clip isn't applied to children's backgrounds, outlines and floats 42849 42850 Test: fast/forms/control-clip.html 42851 42852 * rendering/RenderBlock.cpp: 42853 (WebCore::RenderBlock::paint): Apply the clip in all phases that paint 42854 children. Split PaintPhaseOutline and PaintPhaseChildBlockBackground into 42855 two phases each, applying the clip only to the children. 42856 * rendering/RenderListBox.cpp: 42857 (WebCore::RenderListBox::paintObject): Treat the scrollbar as part of the 42858 background rather than as a child's background, now that children are 42859 clipped out. 42860 42861 2007-04-24 Benjamin Otte <otte (a] gnome.org> 42862 42863 Reviewed by Mark Rowe. 42864 42865 Gdk build system improvements. 42866 42867 * make-generated-sources.sh: Exit with failure status if make fails. 42868 42869 2007-04-24 Benjamin Otte <otte (a] gnome.org> 42870 42871 Reviewed by Mark Rowe. 42872 42873 Gdk build system improvements. 42874 42875 * Projects/gdk/webcore-gdk.bkl: 42876 fail if running any of the commands failed. In particular 42877 make-generated-sources.sh 42878 42879 2007-04-23 Beth Dakin <bdakin (a] apple.com> 42880 42881 Reviewed by Adam. 42882 42883 Fix for <rdar://problem/5155507> REGRESSION: Crash in 42884 RenderLayer::setHasVisibleContent() 42885 42886 * rendering/RenderContainer.cpp: 42887 (WebCore::RenderContainer::appendChildNode): Must null-check 42888 enclosingLayer() 42889 (WebCore::RenderContainer::insertChildNode): Same. 42890 42891 2007-04-23 David Hyatt <hyatt (a] apple.com> 42892 42893 Fix for bug 13337, deep tag nesting is slow. This patch fixes a number of O(n^2) issues as well as making 42894 a few performance optimizations based off profiling. Details next to each change below. 42895 42896 Note that calcMinMaxWidth being slow is a critical separate piece of this puzzle. Until bug 13430 is fixed, 42897 render tree construction will be O(n^2) (because of the minmaxrecalc bit setting being stupid enough to 42898 always crawl to the root of the tree) and calcMinMaxWidth will waste tons of unnecessary time. 42899 42900 When these fixes are combined with the calcMinMaxWidth fix in 13430, the penguin page specified in 13337 42901 loads in < 2 seconds (down from an infinite hang before). 42902 42903 Reviewed by aroben, ollie 42904 42905 * css/cssstyleselector.cpp: 42906 (WebCore::CSSStyleSelector::locateCousinList): 42907 (WebCore::CSSStyleSelector::locateSharedStyle): 42908 * css/csstyleselector.h 42909 Cap the depth of cousin searching on the shared style optimization. We will be willing to (at most) crawl 42910 up the tree the same distance that we were willing to crawl backwards through sibling lists. Leaving it 42911 uncapped resulted in pathological style resolution for the case of an infinitely nested chain of singletons. 42912 42913 * html/HTMLParser.cpp: 42914 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): 42915 (WebCore::HTMLParser::popBlock): 42916 Cap the number of residual style tags that we are willing to reopen. We will reopen at most 200 42917 residual style tags, since the assumption is that once that many tags are on the stack, you're probably already 42918 every kind of bold, italic, and color of the rainbow. 42919 42920 * rendering/RenderFlow.cpp: 42921 (WebCore::RenderFlow::absoluteClippedOverflowRect): 42922 absoluteClippedOverflowRect can just return the empty rect when the inline flow has no line boxes instead of 42923 doing a bunch of work (and calling containingBlock()) for no reason. 42924 42925 * rendering/RenderInline.cpp: 42926 (WebCore::RenderInline::addChildToFlow): 42927 Remove the useless containingBlock() check from addChildToFlow. Obviously every inline's containing block 42928 is a block flow. 42929 42930 * rendering/bidi.cpp: 42931 (WebCore::inlineWidth): 42932 (WebCore::RenderBlock::createLineBoxes): 42933 Cap the depth of individual line trees to 200. Again the assumption is that once that many open inlines exist 42934 all on one line that there's no way this would be intentional. 42935 42936 2007-04-23 David Hyatt <hyatt (a] apple.com> 42937 42938 Fix for bug 13430, cap inline splitting for continuations to a maximum depth of 200. 42939 42940 Reviewed by olliej, antti 42941 42942 * rendering/RenderInline.cpp: 42943 (WebCore::RenderInline::splitInlines): 42944 42945 2007-04-23 Alp Toker <alp (a] atoker.com> 42946 42947 Gdk build fix. Track EventHandler change made in r21042. 42948 42949 * page/gdk/EventHandlerGdk.cpp: 42950 (WebCore::EventHandler::passWheelEventToWidget): 42951 (WebCore::EventHandler::passMousePressEventToScrollbar): 42952 42953 2007-04-23 Timothy Hatcher <timothy (a] apple.com> 42954 42955 Reviewed by Darin. 42956 42957 <rdar://problem/5024945> -[DOMRange lineBoxRects] doesn't include start and end nodes that have offsets 42958 42959 * rendering/RenderText.cpp: 42960 (WebCore::RenderText::addLineBoxRects): Use min(box->len(), end) instead of special-casing UINT_MAX. 42961 42962 2007-04-23 Adele Peterson <adele (a] apple.com> 42963 42964 Fix by Darin, reviewed by me. 42965 42966 Fix for REGRESSION: Can't upload attachments to bugzilla since the file upload control is reset immediately 42967 http://bugs.webkit.org/show_bug.cgi?id=13461 42968 42969 * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::updateFromElement): 42970 Only clear the FileChooser if the value is empty *and* (not or) the filename is empty. 42971 42972 2007-04-23 Adele Peterson <adele (a] apple.com> 42973 42974 Reviewed by Adam. 42975 42976 Updated fix for <rdar://problem/4887426> Set a reasonable maximum number of recent searches for search menu 42977 42978 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Use a const int maxSavedResults instead of magic number 256. 42979 42980 2007-04-23 Timothy Hatcher <timothy (a] apple.com> 42981 42982 Reviewed by Hyatt. 42983 42984 <rdar://problem/5024945> -[DOMRange lineBoxRects] doesn't include start and end nodes that have offsets 42985 42986 Don't call selectionRect with a -1 end position, instead use the text length. 42987 42988 * rendering/RenderText.cpp: 42989 (WebCore::RenderText::addLineBoxRects): 42990 42991 2007-04-23 Adele Peterson <adele (a] apple.com> 42992 42993 Fixed and reviewed by Darin, Adele, and Oliver. 42994 42995 WebCore part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons 42996 http://bugs.webkit.org/show_bug.cgi?id=13263 42997 42998 * dom/KeyboardEvent.h: (WebCore::KeypressCommand::isEmpty): Added helper method. 42999 43000 2007-04-23 Patti Hoa <patti (a] apple.com> 43001 43002 <rdar://problem/4938364> Attachment button has different string length between attributeStringForRange and stringForRange 43003 <rdar://problem/4939536> AXLengthForTextMarkerRange returns zero length for the range of an attachment 43004 43005 Reviewed by Darin. 43006 43007 * bridge/mac/WebCoreAXObject.mm: 43008 (nsStringForReplacedNode): 43009 Added helper routine to check if the replaced node should be exposed as an attachment character in string representation. 43010 Added an additional check to make sure that text node is not considered a replaced node. 43011 Removed helper routine AXAttributedStringAppendReplaced since half of the functions are now taken care by nsStringForReplacedNode. 43012 The other half is directly used in the doAXAttributedStringForTextMarkerRange method. 43013 (-[WebCoreAXObject doAXStringForTextMarkerRange:]): 43014 (-[WebCoreAXObject doAXAttributedStringForTextMarkerRange:]): 43015 Both string and AttrbributedString methods will now utilize the helper routine nsStringForReplacedNode to return replacement 43016 characters for range occupied by attachment. 43017 43018 2007-04-23 Adele Peterson <adele (a] apple.com> 43019 43020 Reviewed by Oliver. 43021 43022 Fix for <rdar://problem/4887426> Set a reasonable maximum number of recent searches for search menu 43023 43024 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): 43025 Enforce a maximum of 256 saved results for the search field. 43026 43027 2007-04-23 Adele Peterson <adele (a] apple.com> 43028 43029 Reviewed by Hyatt & Adam. 43030 43031 Fix for <rdar://problem/4807799> REGRESSION: calling select() in onSearch handler doesn't work if you hit enter to trigger the event 43032 Fix for <rdar://problem/5153970> onChange doesn't fire when focusing a popup, using type-ahead to select, and leaving 43033 43034 This previous behavior to blur controls when hitting enter was added to achieve the result of firing the change event. Firefox does not 43035 fire blur- just the change event, so this fix will match Firefox behavior. 43036 43037 This also fixes a bug where we didn't fire the change event when using type-ahead selection with the popup menu. 43038 43039 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Fire change event instead of blur event when hitting enter. 43040 43041 * html/HTMLSelectElement.cpp: 43042 (WebCore::HTMLSelectElement::dispatchFocusEvent): Now that we have type-ahead selection for popups that can be opened with the arrow keys, 43043 we should always save the last selection when a popup gets focus, so it can be compared to the current selection when it loses focus. 43044 (WebCore::HTMLSelectElement::dispatchBlurEvent): For the same reasons as above, we should fire onChange for all popups on blur. 43045 43046 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Fire change event instead of blur event when hitting enter. Removed an unnecessary 43047 check for form() before calling menuListOnChange(). Removed an unnecessary check for renderer() and usesMenuList(). 43048 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Remove call to blur. Since list boxes fire the change event immediately after an 43049 action is taken, we don't need to fire anything after hitting enter. 43050 (WebCore::HTMLSelectElement::menuListOnChange): Reset m_lastOnChangeIndex after firing the change event. 43051 43052 2007-04-23 Anders Carlsson <andersca (a] apple.com> 43053 43054 Reviewed by Ada. 43055 43056 <rdar://problem/5061022> 43057 REGRESSION: Acrobat 8 plug-in fails to scroll with trackpad two-finger scroll or mouse wheel (12995) 43058 43059 Pass wheel events to all widgets. 43060 43061 * page/EventHandler.cpp: 43062 (WebCore::EventHandler::handleWheelEvent): 43063 * page/EventHandler.h: 43064 * page/mac/EventHandlerMac.mm: 43065 (WebCore::EventHandler::passWheelEventToWidget): 43066 43067 2007-04-23 Alp Toker <alp (a] atoker.com> 43068 43069 Reviewed by Mark. 43070 43071 Save and restore the context state when beginning and ending a transparency layer. 43072 43073 * platform/graphics/cairo/GraphicsContextCairo.cpp: 43074 (WebCore::GraphicsContext::beginTransparencyLayer): 43075 (WebCore::GraphicsContext::endTransparencyLayer): 43076 43077 2007-04-23 Alp Toker <alp (a] atoker.com> 43078 43079 Reviewed by Mark. 43080 43081 Further implementation and checks. The opacity layer code is not so beautiful 43082 but gets the job done with fewer complications than maintaining our own stack. 43083 43084 * platform/graphics/cairo/GraphicsContextCairo.cpp: 43085 (WebCore::GraphicsContext::translate): 43086 (WebCore::GraphicsContext::setPlatformStrokeThickness): 43087 (WebCore::GraphicsContext::beginTransparencyLayer): 43088 (WebCore::GraphicsContext::endTransparencyLayer): 43089 (WebCore::GraphicsContext::setCompositeOperation): 43090 (WebCore::GraphicsContext::rotate): 43091 (WebCore::GraphicsContext::scale): 43092 43093 2007-04-23 Darin Adler <darin (a] apple.com> 43094 43095 Reviewed by Hyatt. 43096 43097 - rename box-sizing to -webkit-box-sizing 43098 because of <rdar://problem/4667227> REGRESSION: Shifted table on page at 43099 https://us.etrade.com/e/t/home (due to box-sizing) 43100 43101 * css/CSSComputedStyleDeclaration.cpp: 43102 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Rename. 43103 * css/CSSPropertyNames.in: Ditto. 43104 * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Rename and take out comment 43105 explaining why we aren't prefacing with -webkit. 43106 * css/cssstyleselector.cpp: 43107 (WebCore::CSSStyleSelector::applyProperty): Rename. 43108 * css/html4.css: Rename. 43109 * css/quirks.css: Rename. 43110 43111 2007-04-23 Alp Toker <alp (a] atoker.com> 43112 43113 Reviewed by Hyatt. 43114 43115 * platform/graphics/cairo/GraphicsContextCairo.cpp: 43116 (WebCore::GraphicsContext::drawEllipse): 43117 (WebCore::GraphicsContext::drawConvexPolygon): 43118 Fix stroking and filling of ellipses and polygons. 43119 * platform/graphics/cairo/ImageCairo.cpp: 43120 (WebCore::BitmapImage::draw): Make use of a new GraphicsContext 43121 function to simplify the code. 43122 (WebCore::Image::drawPattern): Now implemented. This makes content 43123 with tiled patterns (eg. CSS repeat) render correctly. 43124 * platform/graphics/gdk/ImageGdk.cpp: 43125 (WebCore::Image::drawPattern): Remove old stub. 43126 43127 2007-04-22 Lars Naesbye Christensen <lars (a] naesbye.dk> 43128 43129 Reviewed by Tim Hatcher. 43130 43131 Prettier, more modern 'cell' cursor 43132 http://bugs.webkit.org/show_bug.cgi?id=13441 43133 Also updates past ChangeLog entries to new email address 43134 43135 * ChangeLog: 43136 * ChangeLog-2006-12-31: 43137 * Resources/cellCursor.png: 43138 43139 2007-04-23 Mark Rowe <mrowe (a] apple.com> 43140 43141 Rubber-stamped by Hyatt. 43142 43143 Rename cMaxPenderingSourceLengthInLowBandwidthDisplay to cMaxPendingSourceLengthInLowBandwidthDisplay. 43144 43145 * loader/FrameLoader.cpp: 43146 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 43147 43148 2007-04-22 Maciej Stachowiak <mjs (a] apple.com> 43149 43150 Reviewed by Darin and Geoff. 43151 43152 - move most of Window's data members into a separate private object, to avoid needing 43153 to use the oversize allocator for it 43154 http://bugs.webkit.org/show_bug.cgi?id=13381 43155 43156 It was the only remaining JSObject subclass to use the oversize 43157 allocator on 32-bit platforms, and having oversize objects around 43158 makes garbage collection slower so this would hurt performance 43159 with many tabs/windows open. 43160 43161 No significant effect on JS iBench. 43162 43163 * bindings/js/kjs_events.cpp: 43164 (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): 43165 (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): 43166 (KJS::JSEventListener::JSEventListener): 43167 (KJS::JSEventListener::~JSEventListener): 43168 (KJS::JSLazyEventListener::parseCode): 43169 * bindings/js/kjs_window.cpp: 43170 (KJS::WindowPrivate::WindowPrivate): 43171 (KJS::Window::Window): 43172 (KJS::Window::~Window): 43173 (KJS::Window::location): 43174 (KJS::Window::selection): 43175 (KJS::Window::locationbar): 43176 (KJS::Window::menubar): 43177 (KJS::Window::personalbar): 43178 (KJS::Window::statusbar): 43179 (KJS::Window::toolbar): 43180 (KJS::Window::scrollbars): 43181 (KJS::Window::mark): 43182 (KJS::Window::getValueProperty): 43183 (KJS::Window::findJSEventListener): 43184 (KJS::Window::findJSUnprotectedEventListener): 43185 (KJS::Window::clearHelperObjectProperties): 43186 (KJS::Window::clear): 43187 (KJS::Window::setCurrentEvent): 43188 (KJS::Window::setReturnValueSlot): 43189 (KJS::Window::clearAllTimeouts): 43190 (KJS::Window::installTimeout): 43191 (KJS::Window::pauseTimeouts): 43192 (KJS::Window::resumeTimeouts): 43193 (KJS::Window::clearTimeout): 43194 (KJS::Window::timerFired): 43195 (KJS::Window::disconnectFrame): 43196 (KJS::Window::jsEventListeners): 43197 (KJS::Window::jsHTMLEventListeners): 43198 (KJS::Window::jsUnprotectedEventListeners): 43199 (KJS::Window::jsUnprotectedHTMLEventListeners): 43200 * bindings/js/kjs_window.h: 43201 43202 2007-04-22 David Hyatt <hyatt (a] apple.com> 43203 43204 Fix 1% regression on the PLT. Make sure roundToDevicePixels does no 43205 work when no scale is in effect. 43206 43207 Reviewed by mjs 43208 43209 2007-04-22 Darin Adler <darin (a] apple.com> 43210 43211 Reviewed by Oliver. 43212 43213 - fix small things noticed while looking into a font subsitution bug 43214 43215 * platform/Font.h: (WebCore::Font::operator==): Corrected a misleading comment. 43216 43217 * platform/Font.cpp: 43218 (WebCore::Font::Font): Initialize m_pageZero to 0 in the empty constructor instead 43219 of leaving it uninitialized. Initialize m_fontList for tighter code. Remove unneeded 43220 initialization of RefPtr members to 0. Changed the copy constructor to use initialization 43221 for tighter code. 43222 (WebCore::Font::operator=): Sorted to match the order from the header and the copy 43223 constructor, and removed the uneeded self-assignment check. 43224 43225 2007-04-22 Darin Adler <darin (a] apple.com> 43226 43227 Reviewed by Maciej. 43228 43229 - fix http://bugs.webkit.org/show_bug.cgi?id=5196 43230 <rdar://problem/4537384> input type=file fields with style=display:none do not post 43231 their values (5196) 43232 43233 - fix http://bugs.webkit.org/show_bug.cgi?id=8248 43234 Can not clear file input field 43235 43236 * manual-tests/clear-input-file.html: Added. 43237 43238 * html/HTMLInputElement.cpp: 43239 (WebCore::HTMLInputElement::appendFormData): Remove check that prevents submission of 43240 form data when there is no renderer or the renderer is invisible. While well-intentioned, 43241 the rule does not match the behavior of other web browsers. 43242 (WebCore::HTMLInputElement::setValue): Instead of disallowing all value changes for file 43243 type, allow changes to the empty string. 43244 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Made file type return true 43245 for this. 1) The file type does store its value separate from the value attribute. 43246 2) The code in setInputType() should do the right thing given this new value, according to 43247 my inspection of the code. 3) The code in both reset() and setValue() will work properly 43248 if this is true, which was the motivation for changing it. 43249 43250 * platform/FileChooser.h: Added a clear function. 43251 * platform/FileChooser.cpp: (WebCore::FileChooser::clear): Clear the filename and the icon. 43252 43253 * rendering/RenderFileUploadControl.cpp: 43254 (WebCore::RenderFileUploadControl::valueChanged): Used a local variable to make the code 43255 a little bit more readable (and match the change below). 43256 (WebCore::RenderFileUploadControl::updateFromElement): Used local variables a bit more in 43257 the old code. Added code that will call clear on the FileChooser and repaint if the DOM 43258 element has an empty value and the FileChooser does not. 43259 43260 2007-04-22 Grace Kloba <klobag (a] gmail.com> 43261 43262 Reviewed by Hyatt. 43263 43264 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12279 43265 Implemented two pass loading. Enabled by WTF_USE_LOW_BANDWIDTH_DISPLAY flag. 43266 43267 * dom/Document.cpp: 43268 (WebCore::Document::Document): initialize member variable m_inLowBandwidthDisplay 43269 43270 * dom/Document.h: 43271 (WebCore::Document::haveStylesheetsLoaded): while in low bandwidth display mode, ignore pending style sheets 43272 (WebCore::Document::setDocLoader): 43273 (WebCore::Document::inLowBandwidthDisplay): 43274 (WebCore::Document::setLowBandwidthDisplay): 43275 * html/HTMLTokenizer.cpp: 43276 (WebCore::HTMLTokenizer::scriptHandler): while in low bandwidth display mode, don't execute JavaScript 43277 43278 * loader/Cache.cpp: 43279 (WebCore::Cache::requestResource): while in low bandwidth display mode, don't let style sheet and JavaScript block 43280 43281 * loader/CachedCSSStyleSheet.cpp: 43282 (WebCore::CachedCSSStyleSheet::checkNotify): add notifyFinished() as client may need "this" pointer 43283 43284 * loader/DocLoader.h: 43285 (WebCore::DocLoader::replaceDocument): 43286 * loader/FrameLoader.cpp: 43287 (WebCore::FrameLoader::FrameLoader): 43288 (WebCore::FrameLoader::requestFrame): while in low bandwidth display mode, don't load sub-frame 43289 (WebCore::FrameLoader::stopLoading): 43290 (WebCore::FrameLoader::begin): set to low bandwidth display mode if the top frame is HTML document 43291 (WebCore::FrameLoader::write): 43292 (WebCore::FrameLoader::endIfNotLoading): 43293 (WebCore::FrameLoader::checkCompleted): while in low bandwidth display mode, don't set complete 43294 (WebCore::FrameLoader::requestObject): while in low bandwidth display mode, don't care Object 43295 (WebCore::FrameLoader::addLowBandwidthDisplayRequest): 43296 (WebCore::FrameLoader::removeAllLowbandwidthDisplayRequests): 43297 (WebCore::FrameLoader::notifyFinished): 43298 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 43299 * loader/FrameLoader.h: 43300 (WebCore::FrameLoader::FrameLoader::needToSwitchOutLowBandwidthDisplay): 43301 (WebCore::FrameLoader::FrameLoader::setUseLowBandwidthDisplay): 43302 (WebCore::FrameLoader::FrameLoader::useLowBandwidthDisplay): 43303 43304 2007-04-22 Darin Adler <darin (a] apple.com> 43305 43306 Reviewed by Tim Hatcher. 43307 43308 - fix http://bugs.webkit.org/show_bug.cgi?id=13439 43309 4 problems found in dashboard-region parser and serializer 43310 43311 Test: fast/css/dashboard-region-parser.html 43312 43313 * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): 43314 Fix code that overwrote each additional region with the previous one to 43315 instead build a space-separated list. Check for the case of an identifier 43316 that's invalid, since that's (accidentally) how we represent a region 43317 value that doesn't have explicit top/right/bottom/left values. The old code 43318 would end up writing out four spaces after the region type. 43319 43320 * css/cssparser.cpp: (WebCore::CSSParser::parseDashboardRegions): 43321 Fail to parse if there is something after the "none" identifier or after 43322 the arguments inside the dashboard-region "function". Also replaced code 43323 that produced a identifier with CSS_VAL_INVALID in a roundabout way with 43324 code that does it explicitly. 43325 43326 2007-04-22 Darin Adler <darin (a] apple.com> 43327 43328 Reviewed by Adele. 43329 43330 - support for fix for <rdar://problem/5100240> REGRESSION: Control-O broken 43331 43332 * dom/KeyboardEvent.h: Include a vector of command names in the KeypressCommand object 43333 instead of a single command name. 43334 43335 2007-04-22 Alexey Proskuryakov <ap (a] webkit.org> 43336 43337 Reviewed by Darin. 43338 43339 http://bugs.webkit.org/show_bug.cgi?id=13115 43340 REGRESSION: 1000% performance regression in DOM access by index, which was already slow 43341 43342 * dom/NodeList.h: Move cached data into a separate class, so it can be shared. 43343 43344 * dom/Node.h: Replace the set of registered NodeLists with a struct that also 43345 contains a shared NodeList::Caches (so the size of Node doesn't change). 43346 43347 * dom/NodeList.cpp: 43348 (WebCore::NodeList::NodeList): 43349 (WebCore::NodeList::~NodeList): 43350 (WebCore::NodeList::recursiveLength): 43351 (WebCore::NodeList::itemForwardsFromCurrent): 43352 (WebCore::NodeList::itemBackwardsFromCurrent): 43353 (WebCore::NodeList::recursiveItem): 43354 (WebCore::NodeList::itemWithName): 43355 (WebCore::NodeList::rootNodeChildrenChanged): 43356 (WebCore::NodeList::NodeListInfo::NodeListInfo): 43357 (WebCore::NodeList::NodeListInfo::reset): 43358 * dom/ChildNodeList.cpp: 43359 (WebCore::ChildNodeList::ChildNodeList): 43360 (WebCore::ChildNodeList::length): 43361 (WebCore::ChildNodeList::item): 43362 (WebCore::ChildNodeList::nodeMatches): 43363 * dom/ChildNodeList.h: 43364 * dom/Node.cpp: 43365 (WebCore::Node::childNodes): 43366 (WebCore::Node::registerNodeList): 43367 (WebCore::Node::unregisterNodeList): 43368 (WebCore::Node::notifyLocalNodeListsAttributeChanged): 43369 (WebCore::Node::notifyLocalNodeListsChildrenChanged): 43370 Adjust for the above changes. 43371 43372 2007-04-21 Mitz Pettel <mitz (a] webkit.org> 43373 43374 Reviewed by Darin. 43375 43376 - fix http://bugs.webkit.org/show_bug.cgi?id=13391 43377 REGRESSION (r18819): Incomplete repaint of button text 43378 43379 Test: fast/repaint/control-clip.html 43380 43381 Ignore controls' lightweight clip in repaint rect computation for now. 43382 43383 * rendering/RenderBox.cpp: 43384 (WebCore::RenderBox::computeAbsoluteRepaintRect): 43385 43386 2007-04-21 Darin Adler <darin (a] apple.com> 43387 43388 Reviewed by Adam. 43389 43390 - fix <rdar://problem/4816343> :-khtml-drag CSS pseudo-class changed to :-webkit-drag, need alias 43391 43392 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): 43393 Since Apple documentation claims "-khtml-drag" works, we need to keep it working, 43394 so add it back as an alias. 43395 43396 2007-04-21 Darin Adler <darin (a] apple.com> 43397 43398 Reviewed by Oliver. 43399 43400 - fix <rdar://problem/4782422> REGRESSION: -[stringByEvaluatingJavaScriptFromString] 43401 returns an empty string instead of nil for non-string results 43402 43403 * page/mac/WebCoreFrameBridge.mm: 43404 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): 43405 Added a call to nsStringNilIfEmpty to restore the old behavior. It might be nice to 43406 distinguish the empty string from a non-string result, but there's no obvious way 43407 to do that, and for compatibility it's probably best to just restore the old 43408 behavior instead. 43409 43410 2007-04-21 David Hyatt <hyatt (a] apple.com> 43411 43412 Fix for bug 13432, determineFlowSpacing is O(n^2). 43413 43414 Reviewed by aroben 43415 43416 * rendering/InlineBox.cpp: 43417 (WebCore::InlineBox::nextOnLineExists): 43418 (WebCore::InlineBox::prevOnLineExists): 43419 * rendering/InlineBox.h: 43420 (WebCore::InlineBox::InlineBox): 43421 43422 2007-04-21 Lamar Goddard <lamargoddard (a] gmail.com> 43423 43424 Reviewed by Darin. 43425 43426 Fix for http://bugs.webkit.org/show_bug.cgi?id=5262 43427 <rdar://problem/5018778> 43428 XMLSerializer drops Namespace information 43429 43430 Updated WebCore::markup to output namespace information for elements/attributes whose namespace information 43431 doesn't appear in its scope in the output. 43432 43433 Added test case: fast/dom/serialize-nodes.xhtml 43434 43435 * WebCore/editing/markup.cpp: 43436 (WebCore::createMarkup(const Node*, ...)): Changed call to WebCore::markup to match parameters 43437 (WebCore::markup): Changed recursive call to match tree structure, removed ASSERT and no longer needed includeSiblings parameter. 43438 (WebCore::startMarkup): Added optional parameter to track namespaces in the current scope. 43439 (WebCore::addNamespace): Function to add namespace information to markup. 43440 (WebCore::shouldAddNamespaceAttr): 43441 (WebCore::shouldAddNamespaceElem): Functions that test whether namespace information should be added for a given node. 43442 * WebCore/dom/Document.idl: 43443 (createElementNS): 43444 (createAttributeNS): 43445 (getElementsByTagNameNS): Added [ConvertNullToNullString] to namespaceURI parameter. 43446 * WebCore/dom/Node.cpp: 43447 (Node::getElementsByTagNameNS): removed test for namespaceURI being null as null can be a valid namespace. 43448 43449 2007-04-21 Alexey Proskuryakov <ap (a] webkit.org> 43450 43451 Reviewed by Darin. 43452 43453 http://bugs.webkit.org/show_bug.cgi?id=13300 43454 Reproducible crash opening anekdot.ru 43455 43456 * html/HTMLParser.cpp: 43457 (WebCore::HTMLParser::HTMLParser): 43458 (WebCore::HTMLParser::getNode): 43459 (WebCore::HTMLParser::handleIsindex): 43460 * html/HTMLParser.h: 43461 Made HTMLParser::form a RefPtr, and renamed it to m_currentFormElement. 43462 Made m_currentMapElement a RefPtr. 43463 43464 2007-04-21 Mitz Pettel <mitz (a] webkit.org> 43465 43466 Reviewed by Darin. 43467 43468 - fix http://bugs.webkit.org/show_bug.cgi?id=13353 43469 REGRESSION (r20754-20766): Textarea does not resize when scrollbar is present 43470 43471 Test: fast/overflow/hit-test-overflow-controls.html 43472 43473 * page/EventHandler.cpp: 43474 (WebCore::EventHandler::handleMouseMoveEvent): Avoid activating scrollbars 43475 during layer resize. 43476 * rendering/RenderBlock.cpp: 43477 (WebCore::RenderBlock::isPointInOverflowControl): Renamed isPointInScrollbar 43478 to this, to reflect that it returns true for points in the resize corner 43479 as well. Changed it to call the layer to do the actual work. 43480 (WebCore::RenderBlock::nodeAtPoint): Updated for the above rename. 43481 * rendering/RenderBlock.h: 43482 * rendering/RenderLayer.cpp: 43483 (WebCore::RenderLayer::horizontalScrollbarWidget): Fixed typo in this function's 43484 name (it was horizontaScrollbarWidget). 43485 (WebCore::RenderLayer::hitTestOverflowControls): Added. Returns whether the 43486 hit point is in one of the scrollbars or the resize corner, and updates the 43487 platform scrollbar in the hit test result if a scrollbar was hit. 43488 * rendering/RenderLayer.h: 43489 * rendering/RenderListBox.cpp: 43490 (WebCore::RenderListBox::isPointInOverflowControl): Rename. 43491 * rendering/RenderListBox.h: 43492 43493 2007-04-21 Mitz Pettel <mitz (a] webkit.org> 43494 43495 Reviewed by Darin. 43496 43497 - fix http://bugs.webkit.org/show_bug.cgi?id=13417 43498 Repro crash when the first argument to getMatchedCSSRules is not an element 43499 43500 Test: fast/dom/Window/getMatchedCSSRules-null-crash.html 43501 43502 * css/cssstyleselector.cpp: 43503 (WebCore::CSSStyleSelector::styleRulesForElement): Added null check. 43504 43505 2007-04-21 Mitz Pettel <mitz (a] webkit.org> 43506 43507 Reviewed by Darin. 43508 43509 - fix http://bugs.webkit.org/show_bug.cgi?id=13416 43510 Repro crash after referencing the user stylesheet from JavaScript 43511 43512 No test included because DumpRenderTree does not support setting the user stylesheet. 43513 43514 * css/cssstyleselector.cpp: 43515 (WebCore::CSSStyleSelector::CSSStyleSelector): 43516 (WebCore::CSSStyleSelector::~CSSStyleSelector): 43517 * css/cssstyleselector.h: Made m_userSheet a RefPtr. 43518 43519 2007-04-21 Darin Fisher <darin (a] chromium.org> 43520 43521 Reviewed by Adam. 43522 43523 NPObject should be forward declared using 'struct' instead of 'class' 43524 43525 * page/Frame.h: 43526 43527 2007-04-21 Alp Toker <alp (a] atoker.com> 43528 43529 Gdk build fix. 43530 43531 * platform/gdk/FontPlatformDataGdk.cpp: 43532 (WebCore::FontPlatformData::FontPlatformData): Use the correct casts. 43533 43534 2007-04-20 Brady Eidson <beidson (a] apple.com> 43535 43536 Reviewed by Oliver (Black Sheep) 43537 43538 <rdar://problem/3559794> 43539 [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches 43540 43541 * WebCore.exp: 43542 * history/BackForwardList.cpp: 43543 (WebCore::BackForwardList::BackForwardList): Set the flag to true by default 43544 (WebCore::BackForwardList::addItem): Check the flag and bail if its false 43545 (WebCore::BackForwardList::setCapacity): More correct if it set the m_current to 43546 NoCurrentItemIndex if we're setting capacity to 0 43547 (WebCore::BackForwardList::enabled): 43548 (WebCore::BackForwardList::setEnabled): If we're disabling, cycle capacity to 0 and 43549 back to flush things out 43550 * history/BackForwardList.h: Add enabled(), setEnabled(bool), and m_enabled 43551 43552 2007-04-20 David Hyatt <hyatt (a] apple.com> 43553 43554 Bug 13424, firstLineStyle and verticalPositionHint together take 43555 33% of the time on the new tag nesting PLT. Don't waste time even 43556 looking for first-line styles if no stylesheet used them. 43557 43558 Reviewed by beth 43559 43560 * css/CSSGrammar.y: 43561 * dom/Document.cpp: 43562 (WebCore::Document::Document): 43563 * dom/Document.h: 43564 (WebCore::Document::usesFirstLineRules): 43565 (WebCore::Document::setUsesFirstLineRules): 43566 * rendering/RenderObject.cpp: 43567 (WebCore::RenderObject::verticalPositionHint): 43568 (WebCore::RenderObject::firstLineStyle): 43569 43570 2007-04-20 Peter Kasting <pkasting (a] google.com> 43571 43572 Reviewed by Oliver. 43573 43574 - fix http://bugs.webkit.org/show_bug.cgi?id=13420 43575 43576 * platform/TextEncodingRegistry.cpp: 43577 (WebCore::addToTextEncodingNameMap): Change a pointer comparison to a 43578 strcmp(), since the strings here are not necessarily 43579 pointer-equivalent. 43580 43581 2007-04-20 Darin Adler <darin (a] apple.com> 43582 43583 Reviewed by Geoff Garen and John Sullivan. 43584 43585 - fix <rdar://problem/4671964> document property on <iframe> elements causes problems for SAP application 43586 43587 Test: fast/dom/iframe-document.html 43588 43589 * bindings/js/kjs_html.h: Removed IFrameDocument. 43590 * bindings/js/kjs_html.cpp: (KJS::JSHTMLElement::iFrameGetter): Ditto. 43591 43592 2007-04-19 Alp Toker <alp (a] atoker.com> 43593 43594 Reviewed by Mark. 43595 43596 * platform/gdk/FontGdk.cpp: 43597 (WebCore::Font::drawGlyphs): 43598 * platform/gdk/FontPlatformDataGdk.cpp: 43599 (WebCore::FontPlatformData::FontPlatformData): Fix font support in Gdk port. 43600 43601 2007-04-19 David Hyatt <hyatt (a] apple.com> 43602 43603 Fix for bug 13208, implement word-break. This patch produces a partial 43604 implementation of word-break. word-break: break-all is implemented. In 43605 addition, a custom value, word-break: break-word is added that is a hybrid 43606 of word-wrap: break-word and word-break: break-all (and more useful than 43607 either). 43608 43609 Reviewed by beth 43610 43611 Added fast/text/word-break.html 43612 43613 * css/CSSComputedStyleDeclaration.cpp: 43614 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 43615 * css/CSSPropertyNames.in: 43616 * css/CSSValueKeywords.in: 43617 * css/cssparser.cpp: 43618 (WebCore::CSSParser::parseValue): 43619 * css/cssstyleselector.cpp: 43620 (WebCore::CSSStyleSelector::applyProperty): 43621 * rendering/RenderStyle.cpp: 43622 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 43623 (WebCore::StyleRareInheritedData::operator==): 43624 (WebCore::RenderStyle::diff): 43625 * rendering/RenderStyle.h: 43626 (WebCore::): 43627 (WebCore::RenderStyle::breakWords): 43628 (WebCore::RenderStyle::wordBreak): 43629 (WebCore::RenderStyle::setWordBreak): 43630 (WebCore::RenderStyle::initialWordBreak): 43631 (WebCore::RenderStyle::initialWordWrap): 43632 * rendering/RenderText.cpp: 43633 (WebCore::RenderText::calcMinMaxWidthInternal): 43634 * rendering/RenderTextControl.cpp: 43635 (WebCore::RenderTextControl::createInnerTextStyle): 43636 (WebCore::RenderTextControl::calcHeight): 43637 * rendering/bidi.cpp: 43638 (WebCore::RenderBlock::findNextLineBreak): 43639 43640 2007-04-20 Mark Rowe <mrowe (a] apple.com> 43641 43642 Qt build fix for FreeBSD. 43643 43644 * WebCore.pro: FreeBSD needs HAVE_PTHREAD_NP_H defined. 43645 43646 2007-04-19 Mitz Pettel <mitz (a] webkit.org> 43647 43648 Reviewed by Darin. 43649 43650 - fix http://bugs.webkit.org/show_bug.cgi?id=13403 43651 REGRESSION (r18875-r18899): Can no longer type into search form field after searching and then clicking "back" 43652 43653 The problem was that the page was loaded from the page cache with a subtree 43654 marked for layout and the layout timer stopped (having been stopped when the 43655 page entered the page cache). FrameView::needsLayout() was returning false 43656 which prevented the pending layout from completing. 43657 43658 * page/FrameView.cpp: 43659 (WebCore::FrameView::clear): Removed the call to stop the layout timer, since 43660 reset() does that already. 43661 (WebCore::FrameView::needsLayout): Changed to return true if there's a subtree 43662 pending relayout. 43663 43664 2007-04-19 Justin Garcia <justin.garcia (a] apple.com> 43665 43666 Reviewed by harrison 43667 43668 <rdar://problem/5144139> 43669 On delete, <BR> inserted into non-editable ToDo <TABLE> element 43670 43671 The fact that the br was being inserted at a bad position 43672 (a non-editable position and one inside a table instead of 43673 before it) was fixed in the previous checkin. This change 43674 stops us from inserting a br at all, to fix the bug. 43675 43676 After a delete, we need a placeholder if the selection 43677 started at the start of a paragraph and ended at the end 43678 of a paragraph. But not if it starts just before a table 43679 and ends inside that table. We need placeholders to hold 43680 open emptied out table cells, but that is handled separately. 43681 43682 Also, moved lineBreakExistsAtPosition to htmlediting.cpp 43683 so that it can be used in more places. 43684 43685 * editing/CompositeEditCommand.cpp: 43686 (WebCore::CompositeEditCommand::removePlaceholderAt): 43687 (WebCore::CompositeEditCommand::moveParagraphs): 43688 * editing/DeleteSelectionCommand.cpp: 43689 (WebCore::DeleteSelectionCommand::doApply): 43690 * editing/InsertLineBreakCommand.cpp: 43691 * editing/InsertParagraphSeparatorCommand.cpp: 43692 (WebCore::InsertParagraphSeparatorCommand::doApply): 43693 * editing/htmlediting.cpp: 43694 (WebCore::lineBreakExistsAtPosition): 43695 * editing/htmlediting.h: 43696 43697 2007-04-19 Justin Garcia <justin.garcia (a] apple.com> 43698 43699 Reviewed by harrison 43700 43701 Fixes some issues found while investigating: 43702 <rdar://problem/5144139> On delete, <BR> inserted into non-editable ToDo <TABLE> element 43703 43704 Move the code to handle inserting content before/after 43705 tables for [table, 0/max] to insertNodeAt, so that 43706 all insertions get it, not just some. 43707 Changed insertNodeAt to take in a position instead of a 43708 node and an offset. 43709 43710 * editing/CompositeEditCommand.cpp: 43711 (WebCore::CompositeEditCommand::insertNodeAt): 43712 (WebCore::CompositeEditCommand::insertNodeAtTabSpanPosition): 43713 (WebCore::CompositeEditCommand::insertBlockPlaceholder): 43714 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): 43715 If paragrahStart.node() is an atomic node, insertNodeAt can handle 43716 insertion, we don't need to special case it. 43717 (WebCore::CompositeEditCommand::moveParagraphs): 43718 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 43719 * editing/CompositeEditCommand.h: 43720 * editing/DeleteSelectionCommand.cpp: 43721 (WebCore::DeleteSelectionCommand::mergeParagraphs): 43722 (WebCore::DeleteSelectionCommand::doApply): 43723 * editing/FormatBlockCommand.cpp: 43724 (WebCore::FormatBlockCommand::doApply): 43725 * editing/IndentOutdentCommand.cpp: 43726 (WebCore::IndentOutdentCommand::indentRegion): 43727 (WebCore::IndentOutdentCommand::outdentParagraph): 43728 * editing/InsertLineBreakCommand.cpp: 43729 (WebCore::InsertLineBreakCommand::doApply): 43730 * editing/InsertListCommand.cpp: 43731 (WebCore::InsertListCommand::doApply): 43732 * editing/InsertParagraphSeparatorCommand.cpp: 43733 (WebCore::InsertParagraphSeparatorCommand::doApply): 43734 * editing/InsertTextCommand.cpp: 43735 (WebCore::InsertTextCommand::prepareForTextInsertion): Removed some 43736 dead code that handled insertion at non-editable positions. 43737 (WebCore::InsertTextCommand::insertTab): 43738 * editing/ReplaceSelectionCommand.cpp: 43739 (WebCore::ReplaceSelectionCommand::doApply): 43740 (WebCore::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted): 43741 * editing/ReplaceSelectionCommand.h: 43742 43743 2007-04-19 Mitz Pettel <mitz (a] webkit.org> 43744 43745 Reviewed by Darin. 43746 43747 - fix http://bugs.webkit.org/show_bug.cgi?id=13336 43748 REGRESSION (r20646): editing/execCommand/hilitecolor.html crashes under guardMalloc 43749 43750 Avoid calling selectionRect() and selectionGapRects() on a renderer that needs 43751 layout. 43752 43753 * rendering/RenderBlock.cpp: 43754 (WebCore::RenderBlock::selectionGapRects): 43755 * rendering/RenderBlock.h: 43756 (WebCore::RenderBlock::BlockSelectionInfo::BlockSelectionInfo): 43757 * rendering/RenderListMarker.cpp: 43758 (WebCore::RenderListMarker::selectionRect): 43759 * rendering/RenderObject.h: 43760 (WebCore::RenderObject::SelectionInfo::SelectionInfo): 43761 * rendering/RenderReplaced.cpp: 43762 (WebCore::RenderReplaced::selectionRect): 43763 * rendering/RenderText.cpp: 43764 (WebCore::RenderText::selectionRect): 43765 43766 2007-04-19 Justin Garcia <justin.garcia (a] apple.com> 43767 43768 Reviewed by darin 43769 43770 <rdar://problem/5142012> 43771 GoogleDocs: Crash at WebCore::Range::startPosition() when creating a list from a link 43772 43773 List creation uses moveParagraphs to push content into list items. 43774 Its fragment creation (using createMarkup) incorrectly uses regular 43775 spaces instead of nbsps for spaces that were rendered (11475), which 43776 causes spaces to be collapsed during the move operation. This results 43777 in a call to rangeFromLocationAndLength with a location past the end 43778 of the document. We use the result from rangeFromLocationAndLength 43779 (null) and crash. 43780 43781 Also when moveParagraphs tries to push content into a list item surrounded 43782 by an anchor, it fails because positionAvoidingSpecialElementBoundary avoids 43783 the anchor, which also avoids the list item. This was fixed by pushing 43784 down anchors before avoiding them. 43785 43786 * editing/CompositeEditCommand.cpp: 43787 (WebCore::CompositeEditCommand::pushAnchorElementDown): Remove the 43788 old anchor after we push down clones of it, this is what callers 43789 expect. 43790 (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown): 43791 Call the new enclosingAnchorElement, that takes in a position instead 43792 of a node. 43793 (WebCore::CompositeEditCommand::moveParagraphs): If spaces collapsed 43794 as a result of the move, rangeFromLocationAndLength can return null, 43795 bail and don't try to preserve the selection in that case. 43796 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 43797 Moved from htmlediting.cpp. 43798 Make sure anchors are pushed down before avoiding them so that we don't 43799 also avoid structural elements like lists and blocks. 43800 * editing/CompositeEditCommand.h: 43801 * editing/TypingCommand.cpp: Moved isFirst/LastPositionBefore/AfterTable 43802 to htmlediting.cpp. 43803 * editing/htmlediting.cpp: 43804 Moved positionAvoidingSpecialElementBoundary so that it could call 43805 pushAnchorElementDown. 43806 (WebCore::isFirstPositionAfterTable): Moved here. 43807 (WebCore::isLastPositionBeforeTable): Moved here. 43808 (WebCore::enclosingAnchorElement): Moved here. 43809 (WebCore::enclosingListChild): Removed an extraneous space. 43810 * editing/htmlediting.h: 43811 43812 2007-04-19 Beth Dakin <bdakin (a] apple.com> 43813 43814 Reviewed by Hyatt. 43815 43816 Fix for <rdar://problem/5120889> Sized table cells w/borders not 43817 drawn to correct size 43818 43819 When table cells have children with %-height, the cells were 43820 incorrectly shrinking down to be the size of the child. This 43821 exposed another problem with replaced children and sizing. 43822 43823 * rendering/RenderBox.cpp: 43824 (WebCore::RenderBox::calcReplacedHeightUsing): The exposed problem. 43825 Subtract our borders and padding in the auto or percent table cell 43826 containing block case. 43827 * rendering/RenderTableSection.cpp: 43828 (WebCore::RenderTableSection::layoutRows): When our children can 43829 flex, do not always set the cellTopExtra and cellBottomExtra to 0! 43830 That is bad! We should do the same as the non-flex case. 43831 43832 2007-04-19 Anders Carlsson <andersca (a] apple.com> 43833 43834 Reviewed by Geoff. 43835 43836 http://bugs.webkit.org/show_bug.cgi?id=13333 43837 Support naturalWidth/naturalHeight on image elements 43838 43839 * html/HTMLImageElement.cpp: 43840 (WebCore::HTMLImageElement::naturalWidth): 43841 (WebCore::HTMLImageElement::naturalHeight): 43842 * html/HTMLImageElement.h: 43843 * html/HTMLImageElement.idl: 43844 43845 2007-04-19 Patti Hoa <patti (a] apple.com> 43846 43847 Reviewed by Darin. 43848 - review suggestion for rdar://5145011 code change 43849 43850 * bridge/mac/WebCoreAXObject.mm: 43851 (-[WebCoreAXObject value]): 43852 return early if value attribute is not supported by the attachment view. 43853 43854 2007-04-19 Patti Hoa <patti (a] apple.com> 43855 43856 Reviewed by Darin. 43857 43858 <rdar://problem/5145011> Allow attachment view of web object to handle accessibility actions 43859 43860 * bridge/mac/WebCoreAXObject.mm: 43861 (-[WebCoreAXObject value]): 43862 Only allow asking the attachmentView for value if attachmentView supports this value attribute 43863 (-[WebCoreAXObject title]): 43864 (-[WebCoreAXObject accessibilityAttributeNames]): 43865 Should not return that long list of unrelated attributes for attachmentView. 43866 (-[WebCoreAXObject accessibilityActionNames]): 43867 (-[WebCoreAXObject accessibilityPerformAction:]): 43868 Allow attachmentView a chance to handle actions. 43869 (-[WebCoreAXObject accessibilityParameterizedAttributeNames]): 43870 Should not return that long list of unrelated attributes for attachmentView. 43871 43872 2007-04-19 Mitz Pettel <mitz (a] webkit.org> 43873 43874 Reviewed by Hyatt. 43875 43876 - fix http://bugs.webkit.org/show_bug.cgi?id=13291 43877 REGRESSION (r19595): WebViewDidBeginEditingNotification not posted when focusing with the mouse 43878 43879 Covered by editing tests. 43880 43881 * dom/Document.cpp: 43882 (WebCore::Document::setFocusedNode): Moved the call to Editor::didBeginEditing() 43883 back into here. 43884 * dom/Element.cpp: 43885 (WebCore::Element::updateFocusAppearance): Removed the call to didBeginEditing(). 43886 * html/HTMLInputElement.cpp: 43887 (WebCore::HTMLInputElement::updateFocusAppearance): Ditto. 43888 43889 2007-04-19 Sam Weinig <sam (a] webkit.org> 43890 43891 Reviewed by Darin. 43892 43893 - Patch for http://bugs.webkit.org/show_bug.cgi?id=12249 43894 FCKeditor: <hr>, <ul> and <ol> have id="undefined" 43895 43896 Convert undefined and null to a null string for third argument of 43897 execCommand(); 43898 43899 Test: editing/execCommand/arguments-combinations.html 43900 43901 * WebCore.xcodeproj/project.pbxproj: 43902 * bindings/js/kjs_binding.cpp: 43903 (KJS::valueToStringWithUndefinedOrNullCheck): 43904 * bindings/js/kjs_binding.h: 43905 * bindings/scripts/CodeGeneratorJS.pm: 43906 * dom/Document.idl: 43907 43908 2007-04-19 Alp Toker <alp (a] atoker.com> 43909 43910 Reviewed by hyatt. 43911 43912 * WebCoreSources.bkl: Remove obsolete source file from build. 43913 43914 2007-04-18 Alp Toker <alp (a] atoker.com> 43915 43916 Gdk build fix. Reviewed by Sam Weinig. 43917 43918 Track changes to make GdkLauncher work again. 43919 43920 * WebCoreSources.bkl: 43921 * platform/gdk/ChromeClientGdk.h: 43922 * platform/gdk/TemporaryLinkStubs.cpp: 43923 (ChromeClientGdk::createWindow): 43924 (ChromeClientGdk::createModalDialog): 43925 (Editor::markBadGrammar): 43926 43927 2007-04-17 Brady Eidson <beidson (a] apple.com> 43928 43929 Reviewed by Tim 43930 43931 <rdar://problem/5008925> 43932 Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate 43933 43934 * WebCore.xcodeproj/project.pbxproj: Added ResourceLoaderMac.mm 43935 43936 * loader/FrameLoaderClient.h: Add the willCacheResponse SPI for WebKit to implement 43937 43938 * loader/ResourceLoader.h: 43939 * loader/mac/ResourceLoaderMac.mm: Added. 43940 (WebCore::ResourceLoader::willCacheResponse): Return the new cachedResponse from the client 43941 43942 * platform/graphics/svg/SVGImageEmptyClients.h: 43943 (WebCore::SVGEmptyFrameLoaderClient::willCacheResponse): Stub 43944 43945 * platform/network/ResourceHandleClient.h: 43946 (WebCore::ResourceHandleClient::willCacheResponse): Return the new cachedResponse from the client 43947 43948 * platform/network/mac/ResourceHandleMac.mm: 43949 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Call to get the new 43950 cachedURLResponse before calling for the cache policy 43951 43952 2007-04-18 Darin Adler <darin (a] apple.com> 43953 43954 Reviewed by Hyatt. 43955 43956 - fix http://bugs.webkit.org/show_bug.cgi?id=13375 43957 REGRESSION (r20901): failing fast/overflow/scrollRevealButton.html 43958 43959 * dom/Document.cpp: (WebCore::Document::updateLayout): 43960 If we have a parent frame, update its layout too. 43961 43962 2007-04-18 Alp Toker <alp (a] atoker.com> 43963 43964 Gdk build fix. Reviewed by Mark. 43965 43966 * loader/gdk/FrameLoaderClientGdk.cpp: 43967 (WebCore::FrameLoaderClientGdk::loadedFromCachedPage): 43968 (WebCore::FrameLoaderClientGdk::setDocumentViewFromCachedPage): 43969 (WebCore::FrameLoaderClientGdk::saveDocumentViewToCachedPage): 43970 * loader/gdk/FrameLoaderClientGdk.h: 43971 * platform/gdk/TemporaryLinkStubs.cpp: 43972 (CachedPage::close): Track PageCache to CachedPage refactoring. 43973 43974 2007-04-17 Mitz Pettel <mitz (a] webkit.org> 43975 43976 Reviewed by Darin. 43977 43978 - fix http://bugs.webkit.org/show_bug.cgi?id=13369 43979 REGRESSION (r13366): Invisible table cell background is painted 43980 43981 Test: fast/table/invisible-cell-background.html 43982 43983 * rendering/RenderTableCell.cpp: 43984 (WebCore::RenderTableCell::paintBackgroundsBehindCell): Don't paint any 43985 background if the cell is not visible. This behavior matches WinIE and Opera. 43986 43987 2007-04-17 Justin Garcia <justin.garcia (a] apple.com> 43988 43989 Reviewed by harrison 43990 43991 <rdar://problem/5119244> 43992 Crash when indenting a selected ToDo 43993 43994 indentRegion() was using the old (incorrect) editable root 43995 getter, which returned null for a valid, editable position, 43996 causing the crash. 43997 43998 * editing/IndentOutdentCommand.cpp: 43999 (WebCore::IndentOutdentCommand::indentRegion): 44000 The editable root for a position is editableRootForPosition(p), 44001 not p.node()->rootEditableElement(), because of VisiblePositions 44002 before/after tables, replaced elements and others. 44003 44004 2007-04-17 Justin Garcia <justin.garcia (a] apple.com> 44005 44006 Reviewed by hyatt 44007 44008 <rdar://problem/5138441> 44009 GoogleDocs: Indented text looks like text that's been Quoted 44010 44011 GoogleDocs uses FormatBlock, blockquotes and a style rule 44012 for blockquotes to implement a "Quote Text" feature. Styles 44013 intended only for those blockquotes were added to the 44014 blockquotes that we use for indenting. 44015 44016 * css/html4.css: Removed the webkit-indent-blockquote class rule. 44017 * editing/IndentOutdentCommand.cpp: 44018 (WebCore::createIndentBlockquoteElement): Use custom margins 44019 and turn off border and padding to override author rules for 44020 blockquotes. 44021 44022 2007-04-17 Justin Garcia <justin.garcia (a] apple.com> 44023 44024 Reviewed by darin 44025 44026 <rdar://problem/5136770> 44027 Gmail Editor: Hang when turning a particular multi-line selection into a list 44028 44029 When InsertListCommand pushes content into list items, 44030 it creates an empty list item and then calls moveParagraphs. 44031 But moveParagraphs' selection preservation code fails when 44032 it encounters empty list items (list items w/o placeholders). 44033 This causes InsertListCommand to lose track of where it has 44034 already been performed, which causes the hang. 44035 44036 * editing/InsertListCommand.cpp: 44037 (WebCore::InsertListCommand::doApply): Use brs to hold open 44038 empty list items. 44039 44040 2007-04-17 Darin Adler <darin (a] apple.com> 44041 44042 Oops, rolled that last change out. I'll redo it again later after making 44043 som additional refinments. 44044 44045 2007-04-17 Darin Adler <darin (a] apple.com> 44046 44047 Reviewed by Brady. 44048 44049 - a few baby steps to try to make lockHistory and userGesture less confusing 44050 44051 * page/FrameLoadRequest.h: 44052 (WebCore::FrameLoadRequest::FrameLoadRequest): Add initialization of m_isUserGesture 44053 to true. 44054 (WebCore::FrameLoadRequest::shouldLockHistory): Renamed from lockHistory to avoid having 44055 a getter that sounds like a verb phrase. 44056 (WebCore::FrameLoadRequest::setShouldLockHistory): Ditto. 44057 (WebCore::FrameLoadRequest::isUserGesture): Added. 44058 (WebCore::FrameLoadRequest::setIsUserGesture): Ditto. 44059 44060 * loader/FrameLoader.h: Remove userGesture parameter from load that takes 44061 FrameLoadRequest. Remove default values for lockHistory and userGesture parameters, 44062 since that just makes it more likely we'll forget to pass them in. Remove one of 44063 the overloads of urlSelected, since it's only called one place. 44064 44065 * loader/FrameLoader.cpp: 44066 (WebCore::FrameLoader::createWindow): Remove userGesture parameter, relying on 44067 the true default in FrameLoadRequest. 44068 (WebCore::FrameLoader::urlSelected): Call setShouldLockHistory and setIsUserGesture 44069 on the FrameLoadRequest, and call load directly; also eliminate the other urlSelected 44070 overload since this was the only place it was called. 44071 (WebCore::FrameLoader::load): Remove userGesture parameter, relying on the true 44072 default in FrameLoadRequest. In the other overload, clean up logic to eliminate the 44073 argsReferrer variable and get rid of the userGesture parameter, using the value from 44074 FrameLoadRequest. 44075 (WebCore::FrameLoader::submitForm): Remove userGesture parameter, relying on the value 44076 in the FrameLoadRequest. This actually changes behavior. 44077 44078 * bindings/js/kjs_html.cpp: (KJS::JSHTMLDocument::putValueProperty): Pass 44079 false for userGesture explicitly instead of relying on default argument. 44080 44081 * page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): 44082 Remove userGesture parameter, relying on the true default in FrameLoadRequest. 44083 44084 2007-04-16 David Kilzer <ddkilzer (a] webkit.org> 44085 44086 Reviewed by NOBODY (fixed misspelling). 44087 44088 * manual-tests/containing-block-position-chage.html: Removed. 44089 * manual-tests/containing-block-position-change.html: Added. 44090 44091 2007-04-16 Justin Garcia <justin.garcia (a] apple.com> 44092 44093 Reviewed by darin 44094 44095 <rdar://problem/5134759> 44096 GMail Editor: Hang after pasting underlined text multiple times 44097 44098 The moveParagraphs call that ReplaceSelectionCommand 44099 performs must receive only inline content from createMarkup, 44100 or else it will result in another call to moveParagraphs 44101 when it performs the move, resulting in infinite recursion. 44102 44103 * editing/markup.cpp: 44104 (WebCore::startMarkup): We were only converting a block to 44105 an inline if it had an inline style declaration or styles 44106 coming from matched rules. Cleaned up this code a bit by 44107 handling an element's style separately from its other 44108 attributes. 44109 44110 2007-04-16 Darin Adler <darin (a] apple.com> 44111 44112 - get layout tests going again 44113 44114 * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): 44115 Replace assertion with a runtime check. We can consider changing it back to 44116 an assertion some day, but it's not important. 44117 44118 2007-04-16 Darin Adler <darin (a] apple.com> 44119 44120 Reviewed by John Sullivan. 44121 44122 - fix http://bugs.webkit.org/show_bug.cgi?id=13303 44123 <rdar://problem/5126341> REGRESSION: controls in a background Safari window 44124 maintain active appearance if the address bar has focus (13303) 44125 44126 - fix a related problem where elements could look focused in non-active windows 44127 44128 - simplify secure keyboard entry logic in Frame::setIsActive 44129 44130 * WebCore.exp: Add two new symbols for use by WebKit. 44131 44132 * html/HTMLInputElement.cpp: 44133 (WebCore::HTMLInputElement::dispatchFocusEvent): Call setUseSecureKeyboardEntryWhenActive 44134 rather than calling setSecureKeyboardEntry directly -- does nothing if the frame is not active. 44135 (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto. 44136 44137 * page/Frame.cpp: 44138 (WebCore::Frame::setUseSecureKeyboardEntryWhenActive): Added. Calls 44139 setUseSecureKeyboardEntry only if the frame is active, but also stores away the state, 44140 so that the setIsActive function doesn't have to recompute it. 44141 (WebCore::Frame::setIsActive): Rewrote all the comments in the function. Removed the code 44142 to manage control tints, which are not based on the whether the frame is active but rather 44143 on AppKit's concept of whether the window should have "key appearance". Simplified the 44144 logic about when to call setUseSecureKeyboardEntry by using the value of 44145 m_useSecureKeyboardEntryWhenActive. 44146 (WebCore::FramePrivate::FramePrivate): Initialize m_useSecureKeyboardEntryWhenActive. 44147 * page/Frame.h: Made setSecureKeyboardEntry private and renamed it to 44148 setUseSecureKeyboardEntry, removed isSecureKeyboardEntry, and 44149 added a public setUseSecureKeyboardEntryWhenActive. 44150 * page/FramePrivate.h: Added m_useSecureKeyboardEntryWhenActive. 44151 * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Added an assertion, 44152 and removed isSecureKeyboardEntry(). 44153 44154 * page/FrameView.h: Added updateControlTints. 44155 * page/FrameView.cpp: (WebCore::FrameView::updateControlTints): Added. Code was moved 44156 here from setIsActive for two reasons: (1) it makes more sense in the view class, and 44157 (2) it needs to be called at the appropriate time for AppKit, not when active changes. 44158 44159 * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isFocused): Added an isActive 44160 check here to match the logic in the implementation of the CSS pseudo-state. 44161 * rendering/RenderThemeMac.mm: 44162 (WebCore::RenderThemeMac::updateFocusedState): Use the isFocused function instead of 44163 repeating the logic here. Removed the "need to add a key window test here" comment. 44164 (WebCore::RenderThemeMac::controlSupportsTints): Added a comment about the NSCell 44165 SPI that's related to the _windowChangedKeyState method we now use in WebHTMLView. 44166 44167 2007-04-16 Darin Adler <darin (a] apple.com> 44168 44169 Reviewed by John Sullivan. 44170 44171 - fix http://bugs.webkit.org/show_bug.cgi?id=13227 44172 StringImpl::isLower incorrectly assumes islower returns 1 (it can return any non-0) 44173 44174 * platform/StringImpl.cpp: 44175 (WebCore::StringImpl::isLower): Based on test application results, changed to use && 44176 instead of trying to use & to avoid branches. Use U16_NEXT so we can handle characters 44177 outside the BMP. Improved comments. 44178 (WebCore::StringImpl::lower): Improved comments. 44179 (WebCore::equalIgnoringCase): Changed to use && instead of trying to use & to avoid 44180 branches. Improved comments. Added an assertion about the assumption we're 44181 making that characters in the char* are all ASCII. 44182 44183 2007-04-13 David Kilzer <ddkilzer (a] webkit.org> 44184 44185 Patch and review by hyatt. Testing and landing by ddkilzer. 44186 44187 <rdar://problem/5078866> 44188 tables don't inherit text-align (in strict mode; they're not supposed to in quirks mode) 44189 44190 Test: fast/css/table-text-align-quirk.html 44191 fast/css/table-text-align-strict.html 44192 44193 Previous commit (r20731) removed the wrong property from WebCore/css/html4.css. However, 44194 when the correct property was removed, it caused tables to inherit alignment properties 44195 from tags like <center> and <div align="center">. This is fixed in 44196 WebCore::CSSStyleSelector::adjustRenderStyle() by special-casing tables to reset the 44197 text-align property. 44198 44199 * css/CSSComputedStyleDeclaration.cpp: 44200 (WebCore::valueForTextAlign): Renamed KHTML_CENTER, KHTML_LEFT and KHTML_RIGHT to 44201 WEBKIT_CENTER, WEBKIT_LEFT and WEBKIT_RIGHT. 44202 * css/cssparser.cpp: 44203 (WebCore::CSSParser::parseValue): Ditto. 44204 * css/cssstyleselector.cpp: 44205 (WebCore::CSSStyleSelector::adjustRenderStyle): Tables should not support -webkit-center, 44206 -webkit-left or -webkit-right values for text-align, so reset them back to auto. 44207 * css/html4.css: Removed "text-align: -webkit-auto;" property from tables selector. It 44208 was previously added to css/quirks.css in r20731. 44209 * rendering/RenderBlock.cpp: 44210 (WebCore::RenderBlock::determineHorizontalPosition): Renamed KHTML_* to WEBKIT_*. 44211 * rendering/RenderBox.cpp: 44212 (WebCore::RenderBox::calcHorizontalMargins): Ditto. 44213 * rendering/RenderFlow.cpp: 44214 (WebCore::RenderFlow::caretRect): Ditto. 44215 * rendering/RenderStyle.h: Ditto. 44216 (WebCore::): 44217 * rendering/bidi.cpp: 44218 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto. 44219 44220 2007-04-12 Brady Eidson <beidson (a] apple.com> 44221 44222 Reviewed by Black Sheep 44223 44224 <rdar://problem/4664154> and http://bugs.webkit.org/show_bug.cgi?id=3546 44225 44226 When you click on a link that opens in a new window from within gmail, they first create a new window 44227 with an empty URL, then immediately document.write() into the window to schedule a redirect. 44228 44229 Since the initial page doesn't have a URL associated with it, a history item never gets created. The 44230 reasonable solution? To actually create the history item after the redirect (in updateHistoryForInternalLoad) 44231 44232 * loader/FrameLoader.cpp: 44233 (WebCore::FrameLoader::addHistoryForCurrentLocation): Updates global and B/F history with a new history item 44234 (WebCore::FrameLoader::updateHistoryForStandardLoad): Call addHistoryForCurrentLocation 44235 (WebCore::FrameLoader::updateHistoryForInternalLoad): Call addHistoryForCurrentLocation if there is not already 44236 a current history item 44237 * loader/FrameLoader.h: 44238 44239 2007-04-12 Oliver Hunt <oliver (a] apple.com> 44240 44241 Reviewed by Adam. 44242 44243 This fixes <rdar://problem/5060766> -- Frameset with 44244 an empty frame crashes due to null document. Debug 44245 builds hit the frame->document() assertion in 44246 EventHandler::prepareMouseEvent 44247 44248 This null check seems necessary now, having run through 44249 all the logic on the path to this crash it appears that 44250 we can't avoid this null check. 44251 44252 * page/EventHandler.cpp: 44253 (WebCore::EventHandler::updateDragAndDrop): 44254 44255 2007-04-12 Justin Garcia <justin.garcia (a] apple.com> 44256 44257 Reviewed by darin 44258 44259 <rdar://problem/5131716> 44260 Clicking just before a ToDo doesn't put the caret before the ToDo 44261 44262 * rendering/RenderBlock.cpp: 44263 (WebCore::RenderBlock::positionForCoordinates): 44264 Consider clicks inside the blocks padding, instead of 44265 incorrectly sending them to the position before the block. 44266 44267 2007-04-12 John Sullivan <sullivan (a] apple.com> 44268 44269 Reviewed by Anders 44270 44271 - WebCore part of fix for: 44272 <rdar://problem/5128697> REGRESSION: At least one PDF context menu item isn't appearing on Leopard 44273 44274 * platform/ContextMenuItem.h: 44275 (WebCore::): 44276 add two PDF-related context menu items to enum to keep it in sync with WebKit 44277 44278 * platform/ContextMenu.cpp: 44279 (WebCore::ContextMenu::checkOrEnableIfNeeded): 44280 add the new context menu items to the do-nothing case of a big switch statement 44281 44282 2007-04-12 Simon Hausmann <hausmann (a] kde.org> 44283 44284 Reviewed by Zack. 44285 44286 Fixed drawing of justified text in the Qt port. 44287 44288 * platform/qt/FontQt.cpp: 44289 (Font::drawGlyphs): 44290 44291 2007-04-11 Oliver Hunt <oliver (a] apple.com> 44292 44293 Reviewed by Maciej. 44294 44295 Adding RetainPtr to the many global obj-c pointers we use in 44296 C/C++ methods. This is necessary to prevent GC from collecting 44297 globals we want to keep around. 44298 44299 We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure 44300 obj-c. 44301 44302 Also made the Pasteboard::m_pasteboard a RetainPtr although it 44303 shouldn't be necessary as the only NSPasteboard instances that 44304 should ever be inserted are the system clipboard and dragging 44305 pasteboard. Neither of which should ever be collected. 44306 44307 * page/mac/WebCoreFrameBridge.mm: 44308 (_getPreSmartSet): 44309 (_getPostSmartSet): 44310 * platform/Pasteboard.h: 44311 * platform/graphics/mac/ColorMac.mm: 44312 (WebCore::nsColor): 44313 * platform/graphics/mac/GraphicsContextMac.mm: 44314 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 44315 * platform/mac/FontDataMac.mm: 44316 (WebCore::webFallbackFontFamily): 44317 * platform/mac/PasteboardMac.mm: 44318 (WebCore::writableTypesForURL): 44319 (WebCore::writableTypesForImage): 44320 (WebCore::Pasteboard::clear): 44321 (WebCore::Pasteboard::writeSelection): 44322 (WebCore::Pasteboard::writeURL): 44323 (WebCore::Pasteboard::writeFileWrapperAsRTFDAttachment): 44324 (WebCore::Pasteboard::writeImage): 44325 (WebCore::Pasteboard::canSmartReplace): 44326 (WebCore::Pasteboard::plainText): 44327 (WebCore::Pasteboard::documentFragment): 44328 44329 2007-04-11 Mitz Pettel <mitz (a] webkit.org> 44330 44331 Reviewed by Dave Hyatt. 44332 44333 - fix http://bugs.webkit.org/show_bug.cgi?id=11362 44334 Native popup with size="1" wraps options 44335 44336 Test: fast/forms/menulist-option-wrap.html 44337 44338 * css/html4.css: Added white-space declaration for select[size="0"] and 44339 select[size="1"]. Added border-radius declaration for select. 44340 44341 2007-04-11 Darin Fisher <darin (a] chromium.org> 44342 44343 Reviewed by Maciej. 44344 44345 Add a Frame pointer to ChromeClient methods: 44346 http://bugs.webkit.org/show_bug.cgi?id=13127 44347 44348 * loader/FrameLoader.cpp: 44349 (WebCore::FrameLoader::createWindow): 44350 * page/Chrome.cpp: 44351 (WebCore::Chrome::createWindow): 44352 (WebCore::Chrome::createModalDialog): 44353 * page/Chrome.h: 44354 * page/ChromeClient.h: 44355 * page/ContextMenuController.cpp: 44356 (WebCore::openNewWindow): 44357 * platform/graphics/svg/SVGImageEmptyClients.h: 44358 (WebCore::SVGEmptyChromeClient::createWindow): 44359 (WebCore::SVGEmptyChromeClient::createModalDialog): 44360 44361 2007-04-11 Brady Eidson <beidson (a] apple.com> 44362 44363 Reviewed by Ada 44364 44365 <rdar://problem/5080987> - Crash in DocumentLoader::frameLoader() const 44366 44367 This was free nil checking lost during the ObjC -> C++ conversion 44368 44369 * loader/FrameLoader.cpp: 44370 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Null check the DocumentLoader 44371 44372 2007-04-11 Justin Garcia <justin.garcia (a] apple.com> 44373 44374 Reviewed by harrison 44375 44376 <rdar://problem/5126166> 44377 Deleting selection starting at before ToDo checkbox to end of line, inserts a BR in the subsequent ToDo 44378 44379 If a selection ends in a table cell, we shouldn't perform 44380 a merge after deleting that selection. We have code in 44381 place to prevent those merges, but it failed here. 44382 44383 It fails because the end of the selection was [tableCell, 0], 44384 (normally not a valid VisiblePosition, but valid here 44385 because the table cell is empty). We prevent the merge 44386 if the node of the position at the end of the selection 44387 has an enclosingTableCell. Even though [tableCell, 0] has 44388 an enclosing table cell, the node tableCell doesn't, so 44389 the check fails. 44390 44391 Fixed this by changing enclosingTableCell to take in 44392 a position, instead of a node. The other enclosing element 44393 getters should be changed in this way as well. 44394 44395 * editing/DeleteSelectionCommand.cpp: 44396 (WebCore::DeleteSelectionCommand::initializePositionData): 44397 Call the new enclosingTableCell. 44398 * editing/ReplaceSelectionCommand.cpp: 44399 (WebCore::ReplaceSelectionCommand::shouldMerge): Ditto. 44400 * editing/htmlediting.cpp: 44401 (WebCore::enclosingTableCell): Take in a position instead 44402 of a node. 44403 * editing/htmlediting.h: 44404 44405 2007-04-12 Mark Rowe <mrowe (a] apple.com> 44406 44407 Qt build fix. 44408 44409 * WebCore.pro: 44410 * editing/qt/EditorQt.cpp: 44411 (WebCore::Editor::markBadGrammar): 44412 * history/qt/CachedPageQt.cpp: Added. 44413 (WebCore::CachedPage::close): 44414 * history/qt/PageCacheQt.cpp: Removed. 44415 44416 2007-04-11 Brady Eidson <beidson (a] apple.com> 44417 44418 Reviewed by Antti 44419 44420 <rdar://problem/5125648> and http://bugs.webkit.org/show_bug.cgi?id=13326 44421 44422 Crash opening a link in a new window from Gmail 44423 44424 Problem here is that the currentHistoryItem in the new window is null. This *shouldn't* be the case, 44425 and is the cause of a very long standing bug - 44426 http://bugs.webkit.org/show_bug.cgi?id=3546 - Can't go back to first page in new window opened from gmail 44427 44428 For now, adding a null check prevents this crash and restores the original, long standing regression 44429 44430 * loader/FrameLoader.cpp: 44431 (WebCore::FrameLoader::updateHistoryForInternalLoad): NULL check 44432 44433 2007-04-11 Adam Roben <aroben (a] apple.com> 44434 44435 Reviewed by Anders. 44436 44437 Made image document copying more cross-platform. 44438 44439 All layout tests pass. 44440 44441 * editing/Editor.cpp: 44442 (WebCore::imageNodeFromImageDocument): Added. 44443 (WebCore::Editor::canCopy): Called imageNodeFromImageDocument. 44444 (WebCore::Editor::copy): Ditto. 44445 (WebCore::Editor::copyImage): Updated for changes to Pasteboard. 44446 * platform/Pasteboard.h: Made writeImage more general, which allowed 44447 getting rid of its second incarnation. 44448 * platform/gdk/TemporaryLinkStubs.cpp: 44449 * platform/mac/PasteboardMac.mm: 44450 (WebCore::Pasteboard::writeImage): Collapsed logic from the two 44451 writeImage methods into one. 44452 (Pasteboard::writeImage): Updated for Pasteboard changes. 44453 * platform/qt/PasteboardQt.cpp: 44454 (WebCore::Pasteboard::writeImage): Ditto. 44455 44456 2007-04-11 Darin Adler <darin (a] apple.com> 44457 44458 * css/CSSValueKeywords.in: Fix a comment. 44459 44460 2007-04-09 Justin Garcia <justin.garcia (a] apple.com> 44461 44462 Reviewed by harrison 44463 44464 <rdar://problem/4932260> 44465 Invalid attributed string for attachment range obtained via AXPreviousWordStartTextMarkerForTextMarker 44466 44467 By default, text iterators don't emit anything for replaced 44468 elements. Boundary finding code works around this but has 44469 bugs: replaced elements act as sentence boundaries and the 44470 above bug, where previousBoundary moves past the start of a 44471 word if there is a replaced element just before it. This 44472 patch fixes these issues by treating replaced elements as 44473 punctuation for boundary finding. 44474 44475 * editing/TextIterator.cpp: 44476 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): 44477 Set m_pastStartNode, the node after (in a reverse pre-order traversal) the 44478 last one that should be processed. 44479 (WebCore::SimplifiedBackwardsTextIterator::advance): 44480 Stop at m_pastStartNode. 44481 Iterate over nodes in reverse pre-order (TextIterator traverses in 44482 pre-orer). This makes knowing when to emit characters after nodes vs. when 44483 to emit characters before nodes easier. 44484 Remove the special case for entering a new block, emitting characters 44485 after nodes can now be handled generally, in handleNonTextNode(), because 44486 of the way we traverse. 44487 Set m_handledChildren to false every iteration since we now do traverse in 44488 reverse pre-order. 44489 (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): 44490 Emit a comma for replaced elements. We only use this kind of iterator 44491 for finding boundaries, so we can do this unconditionally. 44492 (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): 44493 Don't use emitNewline, instead specify where the newline should be positioned. 44494 A node is handled before its children, so characters emitted here should 44495 be positioned after the node, not before it. 44496 (WebCore::SimplifiedBackwardsTextIterator::exitNode): 44497 Don't use emitNewline, instead specify where the newline should be positioned. 44498 (WebCore::CharacterIterator::CharacterIterator): 44499 Create a TextIterator that emits content for replaced elements, if requested. 44500 * editing/TextIterator.h: 44501 * editing/visible_units.cpp: 44502 (WebCore::previousBoundary): 44503 Removed replaced element handling code. 44504 If the start of the chunk that contained the boundary was in a non-text 44505 node, then the boundary is not necessarily in that node. Particularly 44506 because it is only the end of the chunk that is guaranteed to be a valid 44507 position in those cases. We must iterate backwards by character from 44508 the end of the chunk to find the boundary. 44509 (WebCore::nextBoundary): Removed replaced element handling code. 44510 44511 2007-04-10 Brady Eidson <beidson (a] apple.com> 44512 44513 Reviewed by Darin 44514 44515 <rdar://problem/4887095> - PageCache and PageState should be combined 44516 44517 These two objects are a relic of when the PageCache was split between WebCore and WebKit 44518 It just makes good sense to combine them now, and the new object is more appropriately 44519 called "CachedPage" 44520 44521 This patch is vast in scope, but simple in depth - anywhere a PageCache or PageState object 44522 was used has been adjusted to use a CachedPage object instead. The most notable change is 44523 that HistoryItem - which always used to have a PageCache object which may or may not have 44524 had a PageState - now may or may not have a CachedPage. This actually simplifies the 44525 HistoryItem code a bit while making the role of CachedPage much more clear. 44526 44527 * WebCore.exp: 44528 * WebCore.xcodeproj/project.pbxproj: 44529 44530 * history/BackForwardList.cpp: 44531 (WebCore::BackForwardList::addItem): 44532 (WebCore::BackForwardList::setCapacity): 44533 (WebCore::BackForwardList::setPageCacheSize): 44534 (WebCore::BackForwardList::clearPageCache): 44535 (WebCore::BackForwardList::close): 44536 44537 * history/PageCache.cpp: Removed. 44538 * history/PageCache.h: Removed. 44539 * page/PageState.cpp: Removed. 44540 * page/PageState.h: Removed. 44541 * history/CachedPage.cpp: Added. 44542 (WebCore::CachedPage::create): 44543 (WebCore::CachedPage::CachedPage): 44544 (WebCore::CachedPage::~CachedPage): 44545 (WebCore::CachedPage::restore): 44546 (WebCore::CachedPage::clear): 44547 (WebCore::CachedPage::setDocumentLoader): 44548 (WebCore::CachedPage::documentLoader): 44549 (WebCore::CachedPage::setTimeStamp): 44550 (WebCore::CachedPage::setTimeStampToNow): 44551 (WebCore::CachedPage::timeStamp): 44552 * history/CachedPage.h: Added. 44553 (WebCore::CachedPage::document): 44554 (WebCore::CachedPage::mousePressNode): 44555 (WebCore::CachedPage::URL): 44556 44557 * history/HistoryItem.cpp: 44558 (WebCore::HistoryItem::HistoryItem): 44559 (WebCore::HistoryItem::setCachedPage): 44560 (WebCore::HistoryItem::setURL): 44561 (WebCore::HistoryItem::alwaysAttemptToUseCachedPage): 44562 (WebCore::HistoryItem::setAlwaysAttemptToUseCachedPage): 44563 (WebCore::HistoryItem::cachedPage): 44564 (WebCore::cachedPagesPendingRelease): 44565 (WebCore::HistoryItem::releaseCachedPagesOrReschedule): 44566 (WebCore::HistoryItem::releaseAllPendingCachedPages): 44567 (WebCore::HistoryItem::scheduleCachedPageForRelease): 44568 * history/HistoryItem.h: 44569 * history/mac/HistoryItemMac.mm: 44570 44571 * history/HistoryItemTimer.cpp: 44572 (WebCore::HistoryItemTimer::HistoryItemTimer): 44573 (WebCore::HistoryItemTimer::callReleaseCachedPagesOrReschedule): 44574 * history/HistoryItemTimer.h: 44575 44576 * history/mac/PageCacheMac.mm: Removed. 44577 * history/mac/CachedPageMac.mm: Added. 44578 (WebCore::CachedPage::close): 44579 (WebCore::CachedPage::setDocumentView): 44580 (WebCore::CachedPage::documentView): 44581 44582 * loader/DocumentLoader.cpp: 44583 (WebCore::DocumentLoader::DocumentLoader): 44584 (WebCore::DocumentLoader::loadFromCachedPage): 44585 (WebCore::DocumentLoader::setLoadingFromCachedPage): 44586 (WebCore::DocumentLoader::isLoadingFromCachedPage): 44587 * loader/DocumentLoader.h: 44588 44589 * loader/FrameLoader.cpp: 44590 (WebCore::FrameLoader::provisionalLoadStarted): 44591 (WebCore::FrameLoader::commitProvisionalLoad): 44592 (WebCore::FrameLoader::transitionToCommitted): 44593 (WebCore::FrameLoader::open): 44594 (WebCore::FrameLoader::startLoading): 44595 (WebCore::FrameLoader::receivedMainResourceError): 44596 (WebCore::FrameLoader::opened): 44597 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 44598 (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): 44599 (WebCore::FrameLoader::cachePageToHistoryItem): 44600 (WebCore::FrameLoader::createHistoryItem): 44601 (WebCore::FrameLoader::purgePageCache): 44602 (WebCore::FrameLoader::invalidateCurrentItemCachedPage): 44603 (WebCore::FrameLoader::loadItem): 44604 (WebCore::FrameLoader::updateHistoryForStandardLoad): 44605 (WebCore::FrameLoader::updateHistoryForClientRedirect): 44606 (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): 44607 (WebCore::FrameLoader::updateHistoryForReload): 44608 (WebCore::FrameLoader::updateHistoryForInternalLoad): 44609 (WebCore::FrameLoader::updateHistoryForCommit): 44610 * loader/FrameLoader.h: 44611 * loader/FrameLoaderClient.h: 44612 44613 * page/mac/WebCoreFrameBridge.h: Got rid of unused WebCorePageCacheStateKey 44614 * page/mac/WebCoreFrameBridge.mm: Ditto 44615 44616 * platform/graphics/svg/SVGImage.cpp: 44617 * platform/graphics/svg/SVGImageEmptyClients.h: Update to reflect the new names 44618 (WebCore::SVGEmptyFrameLoaderClient::loadProvisionalItemFromCachedPage): 44619 (WebCore::SVGEmptyFrameLoaderClient::invalidateCurrentItemCachedPage): 44620 (WebCore::SVGEmptyFrameLoaderClient::loadedFromCachedPage): 44621 (WebCore::SVGEmptyFrameLoaderClient::clearLoadingFromCachedPage): 44622 (WebCore::SVGEmptyFrameLoaderClient::isLoadingFromCachedPage): 44623 (WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromCachedPage): 44624 (WebCore::SVGEmptyFrameLoaderClient::saveDocumentViewToCachedPage): 44625 44626 2007-04-10 Antti Koivisto <antti (a] apple.com> 44627 44628 Reviewed by Hyatt. 44629 44630 Fix <rdar://5057686> 44631 Flex box layout example hangs in WebCore::RenderFlexibleBox::allowedChildFlex 44632 44633 Forcibly distribute remaining pixels if the algorithm is not advancing. 44634 44635 * rendering/RenderFlexibleBox.cpp: 44636 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 44637 (WebCore::RenderFlexibleBox::layoutVerticalBox): 44638 44639 2007-04-11 Mark Rowe <mrowe (a] apple.com> 44640 44641 Build fix. 44642 44643 * bridge/mac/WebCoreAXObject.mm: 44644 (-[WebCoreAXObject accessibilityDescription]): 44645 44646 2007-04-10 Patti Hoa <patti (a] apple.com> 44647 44648 Reviewed by Justin Garcia. 44649 44650 <rdar://problem/5122276> Allow focused frame to fire off notification 44651 Improve accessibility support for Mail WebView embedded Notes. 44652 44653 * bridge/mac/AXObjectCacheMac.mm: 44654 (WebCore::AXObjectCache::postNotification): 44655 The focused document with the selection change should fire the selection changed notification, not the top level document 44656 * bridge/mac/WebCoreAXObject.mm: 44657 (-[WebCoreAXObject accessibilityDescription]): 44658 Allow the name attribute of the html body to be used as the accessibility description 44659 44660 2007-04-09 Geoffrey Garen <ggaren (a] apple.com> 44661 44662 Reviewed by Maciej Stachowiak. 44663 44664 Support for fixing fast/forms/textarea-paste-newline.html. 44665 44666 Changed clients to use new preference specifying whether a Page should 44667 allow pasting through the DOM API, instead of a global flag. 44668 44669 Removed old behavior of always allowing DOM paste in debug builds. In 44670 light of the new preference-based API, that behavior makes no sense anymore. 44671 Instead, developers who want to test paste inside Safari can set the 44672 preference for themselves. 44673 44674 * WebCore.exp: 44675 * editing/CommandByName.cpp: Removed crazy hack to keep an identically 44676 named but invalid copy of the global "pate allowed" flag in this file. 44677 (WebCore::Frame::enabledPaste): 44678 * editing/JSEditor.cpp: Removed "always allow" behavior for debug builds. 44679 (WebCore::JSEditor::queryCommandSupported): 44680 * editing/JSEditor.h: 44681 * page/Settings.cpp: 44682 (WebCore::Settings::setDOMPasteAllowed): 44683 * page/Settings.h: 44684 (WebCore::Settings::isDOMPasteAllowed): 44685 * rendering/RenderTreeAsText.cpp: 44686 (WebCore::externalRepresentation): Removed crazy hack to allow DOM paste 44687 after this function has been called. 44688 44689 2007-04-10 John Sullivan <sullivan (a] apple.com> 44690 44691 Reviewed by Tim Hatcher 44692 44693 - fixed <rdar://problem/4859132> Grammar must always be checked in entire-sentence chunks, 44694 and shouldn't show markers for current sentence 44695 44696 * editing/Editor.h: 44697 add markBadGrammar, now distinct from markMisspellings 44698 44699 * editing/mac/EditorMac.mm: 44700 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 44701 call markMisspellings on one word, and markBadGrammar on entire sentence 44702 (WebCore::markMisspellingsOrBadGrammar): 44703 new static function, extracted from markMisspellings 44704 (WebCore::Editor::markMisspellings): 44705 now calls extracted function 44706 (WebCore::Editor::markBadGrammar): 44707 new method, calls extracted function 44708 44709 * page/Frame.cpp: 44710 (WebCore::Frame::respondToChangedSelection): 44711 update grammar markers for entire new and old sentences 44712 44713 2007-04-09 Anders Carlsson <andersca (a] apple.com> 44714 44715 Reviewed by John. 44716 44717 * WebCore.exp: 44718 Add __ZNK7WebCore11FrameLoader10isCompleteEv. 44719 44720 2007-04-09 Brady Eidson <beidson (a] apple.com> 44721 44722 Reviewed by Darin 44723 44724 Fixes <rdar://4921797> and http://bugs.webkit.org/show_bug.cgi?id=12005 44725 44726 The original regression was to claim that more loads were the result of a "user gesture" than really 44727 were. A lot of the ways a frame load could be kicked off didn't properly set up this flag, and it 44728 wasn't properly propagated and respected where it should've been. 44729 44730 This patch cleans much of that up. One loose end is the "treatAsUserGesture" flag which is a stop 44731 gap measure to keep "slow redirects" working to create a new history item. In the future, we need 44732 to cleanup the meaning and use of "userGesture" and "lockHistory." This includes integrating them 44733 in to FrameLoadRequest and being very clear of what their meaning actually is at different stages of 44734 the Frame load process. 44735 44736 * dom/Document.cpp: 44737 (WebCore::Document::processHttpEquiv): Pass only the delay for the redirect 44738 44739 * html/HTMLAnchorElement.cpp: 44740 (WebCore::HTMLAnchorElement::defaultEventHandler): Pass "lockHistory" false, "userGesture" true 44741 44742 * ksvg2/svg/SVGAElement.cpp: 44743 (WebCore::SVGAElement::defaultEventHandler): Pass "lockHistory" false, "userGesture" true 44744 44745 * loader/FrameLoader.cpp: 44746 (WebCore::ScheduledRedirection::ScheduledRedirection): Figure "lockHistory" and "userGesture" from the 44747 delay here, instead of at 3 other different sites that call this method 44748 (WebCore::FrameLoader::changeLocation): Set userGesture correctly 44749 (WebCore::FrameLoader::urlSelected): Propagate userGesture down 44750 (WebCore::FrameLoader::requestFrame): 44751 (WebCore::FrameLoader::receivedFirstData): 44752 (WebCore::FrameLoader::scheduleRedirection): Pass only the delay here 44753 (WebCore::FrameLoader::redirectionTimerFired): Set userGesture correctly 44754 (WebCore::FrameLoader::load): 44755 (WebCore::FrameLoader::updateHistoryForInternalLoad): Insteading of asserting we aren't a redirect, 44756 handle the case where we *are* a redirect by updating the previous history item 44757 * loader/FrameLoader.h: 44758 44759 2007-04-09 Anders Carlsson <andersca (a] apple.com> 44760 44761 Reviewed by Darin. 44762 44763 <rdar://problem/5120801> 44764 http://bugs.webkit.org/show_bug.cgi?id=13247 44765 Closing a page during slow cloning causes crash in setJSStatusBarText (13247) 44766 44767 * bindings/js/kjs_window.cpp: 44768 (KJS::Window::put): 44769 Return early if m_frame is null. A closed window only has one property, "closed" 44770 so no properties should be settable in that case. 44771 44772 2007-04-09 Andrew Wellington <proton (a] wiretapped.net> 44773 44774 Reviewed by Justin Garcia. 44775 44776 Fix for http://bugs.webkit.org/show_bug.cgi?id=12959 44777 "REGRESSION: Edit -> Copy not enabled on standalone images" 44778 44779 * dom/Document.h: Add support for determining if a document is an image 44780 (WebCore::Document::isImageDocument): 44781 * editing/Editor.cpp: 44782 (WebCore::Editor::canCopy): Image documents are copyable 44783 (WebCore::Editor::copy): If copying an image document, call appropriate pasteboard methods 44784 * loader/ImageDocument.h: 44785 (WebCore::ImageDocument::isImageDocument): Override to return true for image documents 44786 * platform/Pasteboard.h: Add new writeImage function to pasteboard 44787 * platform/mac/PasteboardMac.mm: 44788 (WebCore::Pasteboard::writeImage): Add writeImage implementation that takes Node and URL 44789 * platform/qt/PasteboardQt.cpp: 44790 (WebCore::Pasteboard::writeImage): Stub for Qt implementation of pasteboard 44791 44792 2007-04-08 Oliver Hunt <oliver (a] apple.com> 44793 44794 rs=Adam. 44795 44796 Add ASSERT(selectedRange) to previous change 44797 44798 * platform/mac/PasteboardMac.mm: 44799 (WebCore::Pasteboard::writeSelection): 44800 44801 2007-04-08 Oliver Hunt <oliver (a] apple.com> 44802 44803 rs=Adam. 44804 44805 Fix minor error when writing selection to pasteboard. 44806 This shouldn't have an effect as selectedRange should be the 44807 selected range from source frame, however this is safer. 44808 44809 * platform/mac/PasteboardMac.mm: 44810 (WebCore::Pasteboard::writeSelection): 44811 44812 2007-04-08 David Hyatt <hyatt (a] apple.com> 44813 44814 Fix mouseover/out failing layout tests. 44815 44816 Reviewed by aroben 44817 44818 * page/EventHandler.cpp: 44819 (WebCore::EventHandler::handleMouseMoveEvent): 44820 (WebCore::EventHandler::updateMouseEventTargetNode): 44821 (WebCore::EventHandler::dispatchMouseEvent): 44822 * page/EventHandler.h: 44823 44824 2007-04-08 Oliver Hunt <oliver (a] apple.com> 44825 44826 Reviewed by Adam. 44827 44828 Fix for <rdar://problem/5113621> REGRESSION: Dragging PDF as image does not give any feedback 44829 44830 If we fail when attempting to create a drag image for a dragged 44831 image, we fall back to the appropriate icon. 44832 44833 * page/DragController.cpp: 44834 (WebCore::DragController::doImageDrag): 44835 44836 2007-04-08 Adam Roben <aroben (a] apple.com> 44837 44838 Reviewed by Oliver. 44839 44840 Bestowed the gift of -webkit-dashboard-region upon all platforms, since 44841 there's nothing Mac-specific about it other than the name. This also 44842 allowed me to get rid of FrameViewMac.mm. 44843 44844 Removed a lot of #if PLATFORM(MAC): 44845 44846 * css/CSSComputedStyleDeclaration.cpp: 44847 (WebCore::): 44848 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 44849 * css/CSSPrimitiveValue.cpp: 44850 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 44851 (WebCore::CSSPrimitiveValue::cleanup): 44852 (WebCore::CSSPrimitiveValue::cssText): 44853 * css/CSSPrimitiveValue.h: 44854 (WebCore::CSSPrimitiveValue::getDashboardRegionValue): 44855 (WebCore::CSSPrimitiveValue::): 44856 * css/cssparser.cpp: 44857 (WebCore::CSSParser::parseValue): 44858 (WebCore::CSSParser::parseDashboardRegions): 44859 * css/cssparser.h: 44860 * css/cssstyleselector.cpp: 44861 (WebCore::CSSStyleSelector::applyProperty): 44862 * dom/Document.cpp: 44863 (WebCore::Document::Document): 44864 * dom/Document.h: 44865 * page/Frame.cpp: 44866 (WebCore::Frame::paint): 44867 * page/Frame.h: 44868 * page/FrameView.cpp: 44869 (WebCore::FrameView::layout): 44870 (WebCore::FrameView::updateDashboardRegions): Moved from FrameViewMac.mm. 44871 * page/FrameView.h: 44872 * page/qt/FrameQt.cpp: 44873 (WebCore::Frame::dashboardRegionsChanged): Stubbed out. 44874 * platform/gdk/FrameGdk.cpp: 44875 (WebCore::Frame::dashboardRegionsChanged): Ditto. 44876 * rendering/RenderLayer.cpp: 44877 (WebCore::RenderLayer::scrollToOffset): 44878 (WebCore::RenderLayer::setHasHorizontalScrollbar): 44879 (WebCore::RenderLayer::setHasVerticalScrollbar): 44880 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 44881 * rendering/RenderObject.cpp: 44882 (WebCore::RenderObject::setStyle): 44883 44884 * WebCore.xcodeproj/project.pbxproj: Removed FrameViewMac.mm. 44885 * bridge/mac/FrameViewMac.mm: Removed. 44886 44887 2007-04-08 Mark Rowe <mrowe (a] apple.com> 44888 44889 Qt build fix. 44890 44891 * platform/qt/TemporaryLinkStubs.cpp: 44892 44893 2007-04-06 Geoffrey Garen <ggaren (a] apple.com> 44894 44895 Reviewed by Beth Dakin. 44896 44897 Fixed one more case of <rdar://problem/5112273> REGRESSION(TOT): 44898 Reproducible crash loading an old version of amazon.com as a web archive 44899 44900 * bindings/js/JSXMLHttpRequest.cpp: 44901 (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): 44902 44903 2007-04-06 Oliver Hunt <oliver (a] apple.com> 44904 44905 Reviewed by Adam. 44906 44907 Fix MouseEvent so it's possible to distinguish between 44908 a MouseMouseEvent with NoButton down, and a move with 44909 LeftButton down. It would be nice if the DOM allowed 44910 for NoButton to exist, but it doesn't so this is necessary. 44911 44912 * dom/EventTargetNode.cpp: 44913 (WebCore::EventTargetNode::dispatchMouseEvent): 44914 * dom/MouseEvent.cpp: 44915 (WebCore::MouseEvent::MouseEvent): 44916 (WebCore::MouseEvent::initMouseEvent): 44917 * dom/MouseEvent.h: 44918 (WebCore::MouseEvent::noButton): 44919 44920 2007-04-06 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 44921 44922 Not reviewed - gdk build fix. 44923 44924 * platform/gdk/MouseEventGdk.cpp: 44925 44926 2007-04-06 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 44927 44928 Reviewed by darin. 44929 44930 Coverity fix. Coverity says: 44931 "Event var_deref_op: Variable "info_ptr" tracked as NULL was dereferenced." 44932 44933 * platform/image-decoders/png/pngrutil.c: 44934 (png_handle_gAMA): 44935 44936 2007-04-06 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 44937 44938 Reviewed by darin. 44939 44940 Coverity fix. Coverity says: 44941 "Event var_deref_model: Variable "(this)->clientptr" tracked as NULL was passed to a function that dereferences it." 44942 44943 * platform/image-decoders/gif/GIFImageReader.cpp: 44944 (GIFImageReader::read): 44945 44946 2007-04-06 David Hyatt <hyatt (a] apple.com> 44947 44948 Fix more of the layout test failures caused by fixing the slider layout test failure (sigh). clear() 44949 needs to null out the capturingMouseEventsNode in the case where a mousedown or move while captured 44950 causes a navigation to another page. 44951 44952 * page/EventHandler.cpp: 44953 (WebCore::EventHandler::clear): 44954 (WebCore::EventHandler::handleMouseReleaseEvent): 44955 44956 2007-04-06 David Hyatt <hyatt (a] apple.com> 44957 44958 Fix failing slider layout test. Don't clear the subframe capture unless we really were capturing on a 44959 subframe. 44960 44961 Reviewed by adele, darin 44962 44963 * page/EventHandler.cpp: 44964 (WebCore::EventHandler::handleMouseReleaseEvent): 44965 44966 2007-04-06 Beth Dakin <bdakin (a] apple.com> 44967 44968 Reviewed by Geoff and Darin. 44969 44970 Fix for <rdar://problem/4875433> WebView underlines are too thick 44971 when scaled small 44972 44973 When we have a small scale factor, we should follow the line- 44974 drawing code as if we were printing. Meaning, specifically, that we 44975 should not round to device pixels and we should antialias. 44976 44977 * platform/graphics/cg/GraphicsContextCG.cpp: 44978 (WebCore::GraphicsContext::drawLineForText): 44979 44980 2007-04-06 Geoffrey Garen <ggaren (a] apple.com> 44981 44982 Reviewed by Beth Dakin. 44983 44984 Fixed <rdar://problem/5112273> REGRESSION(TOT): Reproducible crash loading 44985 an old version of amazon.com as a web archive 44986 44987 The problem was JavaScript executing inside a frame with a NULL document. 44988 It's probably a bug that the document was NULL, but we don't want a minor 44989 bug to be a crasher, and we don't want the DOM to depend on the implementation 44990 details of the JS bindings, so I added NULL checks. 44991 44992 * bindings/js/kjs_window.cpp: Call FrameLoader::completeURL instead of 44993 Document::completeURL, since FrameLoader::completeURL is safe against a 44994 NULL document. 44995 (KJS::Window::put): 44996 (KJS::WindowFunc::callAsFunction): 44997 (KJS::Location::put): 44998 (KJS::LocationFunc::callAsFunction): 44999 45000 2007-04-06 David Hyatt <hyatt (a] apple.com> 45001 45002 Fix for bug 13274. Rework mouse events so that subframe capturing works again. Make sure 45003 everything just comes down through the top FrameView even when capturing is in effect. Update 45004 scrollbar handling logic so that scrollbars receive events correctly while capturing is in 45005 effect. Eliminate the notion of widget capture. Fix mouse moves so that they only fire 45006 on the innermost hit frame. 45007 45008 Reviewed by olliej 45009 45010 * page/EventHandler.cpp: 45011 (WebCore::EventHandler::handleMouseDraggedEvent): 45012 (WebCore::subframeForTargetNode): 45013 (WebCore::EventHandler::handleMousePressEvent): 45014 (WebCore::EventHandler::handleMouseMoveEvent): 45015 (WebCore::EventHandler::handleMouseReleaseEvent): 45016 * page/EventHandler.h: 45017 * platform/PopupMenu.h: 45018 (WebCore::PopupMenu::scrollbarCapturingMouse): 45019 (WebCore::PopupMenu::setScrollbarCapturingMouse): 45020 * platform/ScrollBar.h: 45021 (WebCore::Scrollbar::handleMouseReleaseEvent): 45022 * platform/Widget.h: 45023 (WebCore::Widget::geometryChanged): 45024 45025 2007-04-06 Justin Garcia <justin.garcia (a] apple.com> 45026 45027 Reviewed by john 45028 45029 <rdar://problem/5115601> 45030 REGRESSION: Crash deleting a selection that starts in an editable table cell 45031 45032 The selection starts at the start of an editable 45033 root that's embedded in a non-editable ToDo (table). 45034 Removing the selection removes all editable 45035 VisiblePositions from the root. Then, the creation 45036 of mergeDestination fails, and using it causes a crash. 45037 45038 * editing/DeleteSelectionCommand.cpp: 45039 (WebCore::DeleteSelectionCommand::mergeParagraphs): 45040 Nil-check mergeDestination to avoid crashing and 45041 also insert a break in that case at m_upstreamStart, 45042 so that we can create a valid mergeDestination and 45043 perform the merge. 45044 45045 45046 2007-04-06 Mitz Pettel <mitz (a] webkit.org> 45047 45048 Reviewed by Oliver. 45049 45050 Eliminate PlatformMouseEvent::currentEvent. 45051 45052 No test possible (no change to functionality). 45053 45054 * page/EventHandler.cpp: 45055 (WebCore::EventHandler::handleDrag): 45056 * platform/PlatformMouseEvent.h: 45057 * platform/gdk/TemporaryLinkStubs.cpp: 45058 * platform/mac/PlatformMouseEventMac.mm: 45059 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 45060 * platform/qt/PlatformMouseEventQt.cpp: 45061 * platform/win/TemporaryLinkStubs.cpp: 45062 45063 2007-04-05 Oliver Hunt <oliver (a] apple.com> 45064 45065 Reviewed by Maciej. 45066 45067 Fix for rdar://problem/4849948 -- JSCanvasRenderingContext2D::drawImage 45068 crashes when given invalid arguments. 45069 45070 JSCanvasRenderingContext2D frequently casts from JSValue* to JSObject* 45071 and then checks isObject *after* the cast. JSObject::isObject is unsafe 45072 if applied to a JSImmediate value (null, undefined, etc). This patch 45073 corrects the logic in a number of places by performing the isObject check 45074 before casting to JSObject. 45075 45076 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 45077 (WebCore::JSCanvasRenderingContext2D::drawImage): 45078 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): 45079 (WebCore::JSCanvasRenderingContext2D::createPattern): 45080 45081 2007-04-05 Adele Peterson <adele (a] apple.com> 45082 45083 Reviewed by Oliver. 45084 45085 Fix for <rdar://problem/4965597> REGRESSION: mouseup doesn't fire for slider (causes it to always default to max) 45086 45087 Test: fast/forms/slider-mouse-events.html 45088 45089 * page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent): 45090 Since the actual target node of the event can't be a shadow node, set the target node to the capturing node before adjusting it. 45091 45092 2007-04-05 Kevin McCullough <kmccullough (a] apple.com> 45093 45094 Reviewed by Darin. 45095 45096 - Added reportLocalLoadFailed to FrameLoader to send an error to the console when 45097 calls to canLoad fail. 45098 45099 * loader/Cache.cpp: 45100 (WebCore::Cache::requestResource): 45101 * loader/FrameLoader.cpp: 45102 (WebCore::FrameLoader::loadSubframe): 45103 (WebCore::FrameLoader::loadPlugin): 45104 (WebCore::FrameLoader::load): 45105 (WebCore::FrameLoader::reportLocalLoadFailed): 45106 * loader/FrameLoader.h: 45107 * loader/SubresourceLoader.cpp: 45108 (WebCore::SubresourceLoader::create): 45109 45110 2007-04-05 Adele Peterson <adele (a] apple.com> 45111 45112 Reviewed by Maciej. 45113 45114 Add text-align: -webkit-auto for form controls. Buttons already override this property to center their text. 45115 45116 * css/html4.css: 45117 45118 2007-04-05 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 45119 45120 Reviewed by rwlbuis. 45121 45122 Coverity fix. Coverity says: 45123 "Event var_deref_model: Variable "page" tracked as NULL was passed to a function that dereferences it." 45124 45125 * platform/Font.cpp: 45126 (WebCore::Font::glyphDataForCharacter): 45127 45128 2007-04-05 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 45129 45130 Reviewed by darin. 45131 45132 Coverity fix. Coverity says: 45133 "Event var_deref_model: Variable "unicode" tracked as NULL was passed to a 45134 function that dereferences it." 45135 45136 * platform/DeprecatedString.cpp: 45137 (WebCore::DeprecatedString::DeprecatedString): 45138 45139 2007-04-05 Adele Peterson <adele (a] apple.com> 45140 45141 Reviewed by Hyatt. 45142 45143 Fix for <rdar://problem/5113593> REGRESSION: Search fields in RSS pages don't show ibeam cursor 45144 45145 * css/html4.css: Set the cursor values explicitly for input, textarea (to auto), & select (to default). 45146 45147 2007-04-05 David Hyatt <hyatt (a] apple.com> 45148 45149 Fix for <rdar://problem/5078866> tables should only reset text-align 45150 in quirks mode. 45151 45152 Reviewed by beth 45153 45154 * css/html4.css: 45155 * css/quirks.css: 45156 45157 2007-04-05 Adele Peterson <adele (a] apple.com> 45158 45159 Fixing typo that's crashing. 45160 45161 * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): 45162 Use evt instead of null variable k. 45163 45164 2007-04-05 Adele Peterson <adele (a] apple.com> 45165 45166 Reviewed by Hyatt. 45167 45168 Fix for <rdar://problem/5021500> Cursor should stay as pointer when slider is being dragged 45169 45170 Don't set the selection ibeam cursor when there's a node that's capturing mouse events. 45171 45172 * page/EventHandler.cpp: 45173 (WebCore::selectCursor): 45174 (WebCore::EventHandler::handleMouseMoveEvent): 45175 45176 2007-04-05 Geoffrey Garen <ggaren (a] apple.com> 45177 45178 Reviewed by Beth Dakin. 45179 45180 More clean-up while fixing <rdar://problem/5112273> REGRESSION(TOT): 45181 Reproducible crash loading an old version of amazon.com as a web archive 45182 45183 Layout tests pass. 45184 45185 Removed more superfluous document NULL checks. (Node::document() never 45186 returns NULL, and it asserts as much.) 45187 45188 Merged some duplicate editing code into a static inline function. 45189 45190 * page/mac/WebCoreFrameBridge.mm: 45191 (updateRenderingForBindings): Removed superfluous static_cast. 45192 45193 2007-04-05 Adele Peterson <adele (a] apple.com> 45194 45195 Reviewed by Darin. 45196 45197 A little cleanup from my last checkin. Always check if an Event is really a MouseEvent or a KeyboardEvent 45198 before casting it. 45199 45200 * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): 45201 * html/HTMLSelectElement.cpp: 45202 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): 45203 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 45204 * html/HTMLTextFieldInnerElement.cpp: 45205 (WebCore::HTMLSearchFieldResultsButtonElement::defaultEventHandler): 45206 (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): 45207 * ksvg2/svg/SVGAElement.cpp: (WebCore::SVGAElement::defaultEventHandler): 45208 * page/ContextMenuController.cpp: (WebCore::ContextMenuController::handleContextMenuEvent): 45209 * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize): 45210 * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler): 45211 45212 2007-04-05 Geoffrey Garen <ggaren (a] apple.com> 45213 45214 Reviewed by Beth Dakin. 45215 45216 Some clean-up while fixing <rdar://problem/5112273> REGRESSION(TOT): 45217 Reproducible crash loading an old version of amazon.com as a web archive 45218 45219 Removed superfluous document NULL checks. (Node::document() never returns 45220 NULL, and it asserts as much.) 45221 45222 Removed duplicate implementation of displayString. 45223 45224 Layout tests pass. 45225 45226 * bindings/objc/DOMInternal.h: 45227 * bindings/objc/DOMInternal.mm: 45228 * html/HTMLGenericFormElement.cpp: 45229 (WebCore::HTMLGenericFormElement::supportsFocus): 45230 * html/HTMLPlugInElement.cpp: 45231 (WebCore::HTMLPlugInElement::createNPObject): 45232 * platform/ContextMenu.cpp: 45233 (WebCore::ContextMenu::checkOrEnableIfNeeded): 45234 * rendering/HitTestResult.cpp: 45235 (WebCore::displayString): 45236 * rendering/HitTestResult.h: 45237 * rendering/RenderLayer.cpp: 45238 (WebCore::RenderLayer::updateHoverActiveState): 45239 45240 === Safari-5522.6 === 45241 45242 2007-04-05 Oliver Hunt <oliver (a] apple.com> 45243 45244 Reviewed by Adam. 45245 45246 Fix rdar://problem/5030934 -- landscape PDFs embedded as an image are cut off 45247 also fixes scaling of pdf images 45248 45249 PDFDocumentImage was not accounting for page rotation in a number of places 45250 45251 * platform/graphics/cg/PDFDocumentImage.cpp: 45252 (WebCore::PDFDocumentImage::size): 45253 we need to account for rotation of the pdf image effecting our bounds 45254 (WebCore::PDFDocumentImage::draw): 45255 When compensating for flipped coords we need to use the correct rect for the 45256 coordinate space. We can't pass size() to CGContextDrawPDFDocument as it 45257 returns the rotated bounds now -- this is also save the old 45258 FloatSize -> IntSize -> FloatSize conversions. 45259 45260 2007-04-04 Alexey Proskuryakov <ap (a] webkit.org> 45261 45262 Reviewed by Darin. 45263 45264 http://bugs.webkit.org/show_bug.cgi?id=13278 45265 REGRESSION: cannot change SELECT option 45266 45267 Test: fast/forms/option-change-single-selected.html 45268 45269 * html/HTMLSelectElement.cpp: 45270 (WebCore::HTMLSelectElement::setSelectedIndex): If multiple selection is not allowed, 45271 be sure to deselect the previous option. 45272 45273 2007-04-04 Adele Peterson <adele (a] apple.com> 45274 45275 Reviewed by Oliver. 45276 45277 Fix for <rdar://5105009> Prepare for fix to send mousedown and mouseup (but not click) events when right-clicking 45278 45279 * page/EventHandler.cpp: Don't ever send click events for right-clicks. 45280 (WebCore::EventHandler::handleMouseDoubleClickEvent): 45281 (WebCore::EventHandler::handleMouseReleaseEvent): 45282 45283 Check that the mousedown and mouseup are not with the right button before performing default behavior. 45284 * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): 45285 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): 45286 * html/HTMLSelectElement.cpp: 45287 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): 45288 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 45289 * html/HTMLTextFieldInnerElement.cpp: 45290 (WebCore::HTMLSearchFieldResultsButtonElement::defaultEventHandler): 45291 (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): 45292 * ksvg2/svg/SVGAElement.cpp:(WebCore::SVGAElement::defaultEventHandler): 45293 * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize): 45294 * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler): 45295 45296 2007-04-03 Justin Garcia <justin.garcia (a] apple.com> 45297 45298 Reviewed by darin 45299 45300 <rdar://problem/5026848> Can cut/delete ToDo subunits 45301 45302 We were removing non-editable content during a delete. 45303 45304 * editing/DeleteSelectionCommand.cpp: 45305 (WebCore::DeleteSelectionCommand::initializePositionData): 45306 Set m_startRoot and m_endRoot. 45307 (WebCore::DeleteSelectionCommand::removeNode): If a node 45308 is not inside both the start and end roots, remove it only 45309 if it is in editable content. 45310 * editing/DeleteSelectionCommand.h: Added m_startRoot and 45311 m_endRoot, the editable roots that contain the start and end 45312 of the selection, respectively. We consult these every 45313 time we remove a node, and don't want to recompute them 45314 on every call to removeNode(). 45315 45316 2007-04-03 David Hyatt <hyatt (a] apple.com> 45317 45318 Fix for <rdar://problem/5108896>, make sure the assert for setEncodedSize 45319 deals with the error case. 45320 45321 Reviewed by andersca 45322 45323 * loader/CachedResource.cpp: 45324 (WebCore::CachedResource::setEncodedSize): 45325 45326 2007-04-03 Anders Carlsson <andersca (a] apple.com> 45327 45328 Reviewed by Dave Hyatt. 45329 45330 * loader/ImageDocument.cpp: 45331 Don't call error() in stopParsing. 45332 45333 2007-04-03 Justin Garcia <justin.garcia (a] apple.com> 45334 45335 Reviewed by darin 45336 45337 <rdar://problem/5107422> 45338 TOT REGRESSION: Delete key fails to delete text, and cursor disappears in Mail.app 45339 <rdar://problem/5107413> 45340 TOT REGRESSION: Crash deleting text in email (infinite recursion in shouldInsertNode) 45341 45342 * editing/CompositeEditCommand.cpp: 45343 (WebCore::CompositeEditCommand::moveParagraphs): 45344 Back out the call to shouldInsert until we 45345 add WebViewInsertActionMoved, because Mail returns 45346 NO from shouldInsert for WebViewInsertActionPasted 45347 to override our Paste operation. 45348 45349 2007-04-03 Anders Carlsson <andersca (a] apple.com> 45350 45351 Reviewed by Mitz. 45352 45353 Make window.innerWidth/innerHeight include the size of any present scrollbar to match Firefox. 45354 45355 Make document.body.clientWidth/clientHeight return the width/height of the visible content when in 45356 quirks mode to match WinIE. 45357 45358 * bindings/js/kjs_window.cpp: 45359 (KJS::Window::getValueProperty): 45360 Return the width and height of the scroll view, not the visible width and height. 45361 45362 * dom/Element.cpp: 45363 (WebCore::Element::clientWidth): 45364 (WebCore::Element::clientHeight): 45365 Return the visible size if the element is the body element and we're in quirks mode. 45366 45367 2007-04-03 Adele Peterson <adele (a] apple.com> 45368 45369 Reviewed by Darin. 45370 45371 Updated fix for <rdar://problem/5107095> REGRESSION: disabled text color calculations are slowing down launchtime measurements 45372 45373 * platform/graphics/Color.cpp: Moved optimization for lightening black and darkening white into the Color class. 45374 (WebCore::Color::light): 45375 (WebCore::Color::dark): 45376 * rendering/RenderTextControl.cpp: (WebCore::disabledTextColor): Skip the difference calculation for black text, which will always be lightened. 45377 45378 2007-04-03 Anders Carlsson <andersca (a] apple.com> 45379 45380 Reviewed by Tim. 45381 45382 <rdar://problem/4649516> 45383 Turn off slow script dialog or crank up time that makes it come up 45384 45385 * bindings/js/kjs_binding.cpp: 45386 (KJS::ScriptInterpreter::ScriptInterpreter): 45387 Increase the timeout to 10 seconds to match Firefox. 45388 45389 2007-04-03 Mitz Pettel <mitz (a] webkit.org> 45390 45391 Reviewed by Darin. 45392 45393 - fix http://bugs.webkit.org/show_bug.cgi?id=13251 45394 editing/style/fontsize-1.html fails intermittently when run multiple times on Intel, generates incorrect DOM 45395 45396 Covered by existing editing tests. 45397 45398 * css/CSSPrimitiveValue.cpp: 45399 (WebCore::CSSPrimitiveValue::getFloatValue): Added ASSERTs that the requested conversion 45400 is from a scalar type to a scalar type. The intermittent failures in the test were 45401 the result of trying to convert an identifier type to a scalar type. 45402 * editing/ApplyStyleCommand.cpp: 45403 (WebCore::StyleChange::checkForLegacyHTMLStyleChange): Added a check that the 45404 font-size property value is an absolute length. If it is not (such as in the case 45405 of relative units or keywords like "x-large"), then no corresponding 'size' attribute 45406 will be generated for legacy HTML. 45407 45408 2007-04-03 Mitz Pettel <mitz (a] webkit.org> 45409 45410 Reviewed by Darin. 45411 45412 - fix http://bugs.webkit.org/show_bug.cgi?id=13218 45413 <rdar://problem/5095977> 45414 Reproducible crash after call to window.close() 45415 45416 * manual-tests/stale-currentEvent.html: Added. 45417 * page/EventHandler.cpp: 45418 (WebCore::EventHandler::hoverTimerFired): Instead of faking a mouse event, 45419 just hit-test the last mouse event coordinates and update for hover state 45420 changes. This eliminates the use of currentEvent, which can be a non-mouse 45421 event or even a stale event. 45422 45423 2007-04-02 Adele Peterson <adele (a] apple.com> 45424 45425 Reviewed by Maciej. 45426 45427 Fix for <rdar://problem/5107095> REGRESSION: disabled text color calculations are slowing down launchtime measurements 45428 45429 Hardcode disabled text colors for the most common cases- black and white. 45430 45431 * rendering/RenderTextControl.cpp: (WebCore::disabledTextColor): 45432 45433 2007-04-02 David Hyatt <hyatt (a] apple.com> 45434 45435 Fix for <rdar://problem/5105784>, assertion failure in cache. Encoded sizes were being set to 45436 garbage by accident because of a mismatch between derived class and base class constructors. This 45437 patch cleans all of this up and gets rid of expiration date as a concept separate from the response. 45438 45439 Reviewed by anders 45440 45441 * dom/Document.cpp: 45442 (WebCore::Document::processHttpEquiv): 45443 * html/HTMLImageLoader.cpp: 45444 (WebCore::HTMLImageLoader::updateFromElement): 45445 * loader/Cache.cpp: 45446 (WebCore::createResource): 45447 (WebCore::Cache::requestResource): 45448 * loader/Cache.h: 45449 * loader/CachedCSSStyleSheet.cpp: 45450 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): 45451 * loader/CachedCSSStyleSheet.h: 45452 * loader/CachedImage.cpp: 45453 (WebCore::CachedImage::CachedImage): 45454 * loader/CachedImage.h: 45455 * loader/CachedResource.cpp: 45456 (WebCore::CachedResource::CachedResource): 45457 (WebCore::CachedResource::finish): 45458 * loader/CachedResource.h: 45459 * loader/CachedScript.cpp: 45460 (WebCore::CachedScript::CachedScript): 45461 * loader/CachedScript.h: 45462 * loader/CachedXBLDocument.cpp: 45463 (WebCore::CachedXBLDocument::CachedXBLDocument): 45464 * loader/CachedXBLDocument.h: 45465 * loader/CachedXSLStyleSheet.cpp: 45466 (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): 45467 * loader/CachedXSLStyleSheet.h: 45468 * loader/DocLoader.cpp: 45469 (WebCore::DocLoader::DocLoader): 45470 (WebCore::DocLoader::requestResource): 45471 * loader/DocLoader.h: 45472 45473 2007-04-03 Antti Koivisto <antti (a] apple.com> 45474 45475 Reviewed by Hyatt. 45476 45477 Render tree memory savings, part 3 45478 45479 These changes shrink all RenderBlocks by additional 28 bytes. Together with parts 1 and 2 45480 RenderBlock goes from 172 bytes to 128 bytes, a saving of 26%. 45481 45482 - Pack bitfields together in RenderFlow 45483 - Move top/bottom min/max margin values to a struct that is only allocated in case these 45484 variables have non default values. Usually this is <5% of all blocks. 45485 - Move rarely used column variables to hash 45486 45487 * rendering/RenderBlock.cpp: 45488 (WebCore::ColumnInfo::ColumnInfo): 45489 (WebCore::RenderBlock::RenderBlock): 45490 (WebCore::RenderBlock::~RenderBlock): 45491 (WebCore::RenderBlock::layoutBlock): 45492 (WebCore::RenderBlock::collapseMargins): 45493 (WebCore::RenderBlock::clearFloatsIfNeeded): 45494 (WebCore::RenderBlock::setCollapsedBottomMargin): 45495 (WebCore::RenderBlock::layoutBlockChildren): 45496 (WebCore::RenderBlock::paintColumns): 45497 (WebCore::RenderBlock::paintObject): 45498 (WebCore::RenderBlock::fillSelectionGaps): 45499 (WebCore::RenderBlock::lowestPosition): 45500 (WebCore::RenderBlock::rightmostPosition): 45501 (WebCore::RenderBlock::leftmostPosition): 45502 (WebCore::RenderBlock::nodeAtPoint): 45503 (WebCore::RenderBlock::hitTestColumns): 45504 (WebCore::RenderBlock::positionForCoordinates): 45505 (WebCore::RenderBlock::availableWidth): 45506 (WebCore::RenderBlock::calcColumnWidth): 45507 (WebCore::RenderBlock::setDesiredColumnCountAndWidth): 45508 (WebCore::RenderBlock::desiredColumnWidth): 45509 (WebCore::RenderBlock::desiredColumnCount): 45510 (WebCore::RenderBlock::columnRects): 45511 (WebCore::RenderBlock::layoutColumns): 45512 (WebCore::RenderBlock::adjustPointToColumnContents): 45513 (WebCore::RenderBlock::adjustRectForColumns): 45514 (WebCore::RenderBlock::setMaxTopMargins): 45515 (WebCore::RenderBlock::setMaxBottomMargins): 45516 * rendering/RenderBlock.h: 45517 (WebCore::RenderBlock::maxTopMargin): 45518 (WebCore::RenderBlock::maxBottomMargin): 45519 (WebCore::RenderBlock::maxTopPosMargin): 45520 (WebCore::RenderBlock::maxTopNegMargin): 45521 (WebCore::RenderBlock::maxBottomPosMargin): 45522 (WebCore::RenderBlock::maxBottomNegMargin): 45523 (WebCore::RenderBlock::initMaxMarginValues): 45524 (WebCore::RenderBlock::MaxMargin::MaxMargin): 45525 (WebCore::RenderBlock::MaxMargin::topPosDefault): 45526 (WebCore::RenderBlock::MaxMargin::topNegDefault): 45527 (WebCore::RenderBlock::MaxMargin::bottomPosDefault): 45528 (WebCore::RenderBlock::MaxMargin::bottomNegDefault): 45529 * rendering/RenderFlexibleBox.cpp: 45530 (WebCore::RenderFlexibleBox::layoutBlock): 45531 * rendering/RenderFlow.h: 45532 (WebCore::RenderFlow::RenderFlow): 45533 (WebCore::RenderFlow::hasColumns): 45534 * rendering/RenderInline.cpp: 45535 (WebCore::RenderInline::RenderInline): 45536 * rendering/RenderInline.h: 45537 45538 2007-04-03 Antti Koivisto <antti (a] apple.com> 45539 45540 Reviewed by Hyatt. 45541 45542 Fix asserts, these may also be called for rel positioned elements 45543 45544 * rendering/RenderBox.cpp: 45545 (WebCore::RenderBox::setStaticX): 45546 (WebCore::RenderBox::setStaticY): 45547 45548 2007-04-02 David Hyatt <hyatt (a] apple.com> 45549 45550 Throw in an assert to try to track down a problem where an image is being set to a smaller encoded 45551 size. 45552 45553 * loader/CachedResource.cpp: 45554 (WebCore::CachedResource::setEncodedSize): 45555 45556 2007-04-02 Ada Chan <adachan (a] apple.com> 45557 45558 Reviewed by Adele. 45559 45560 <rdar://5105331> Missing null check in Editor::execCommand 45561 Added null check. 45562 45563 * editing/Editor.cpp: 45564 (WebCore::Editor::execCommand): 45565 45566 2007-04-02 Justin Garcia <justin.garcia (a] apple.com> 45567 45568 Reviewed by darin 45569 45570 <rdar://problem/5058163> 45571 Hitting return inserts a new line between two To Dos, but caret is position after second ToDo 45572 45573 * editing/InsertParagraphSeparatorCommand.cpp: 45574 (WebCore::InsertParagraphSeparatorCommand::doApply): 45575 Removed refPos, it was unused. 45576 Don't assume that upstream() moves to a different 45577 node. This assumption caused the line break to 45578 be inserted *after* the caret and a bad position 45579 to be set (added a testcase). 45580 Use isStartOfParagraph instead of checking 45581 for the existence of a br because the line might 45582 be broken by a newline character in text that 45583 preserves newlines. Paragraphs that are created 45584 in other ways, like with blocks, are handled 45585 above (added a testcase). 45586 45587 2007-04-02 David Harrison <harrison (a] apple.com> 45588 45589 Reviewed by Darin. 45590 45591 <rdar://problem/4906488> text attributes are not working for frame based web page 45592 45593 Attribute handling now treats each WebArea as its own world, rather than sometimes 45594 referring back up to the top WebArea. e.g. getting/setting the selection now 45595 operates on the WebArea containing the WebCoreAXObject that is being messaged (self). 45596 The methods that sit above this and are able to go into arbitrary WebAreas 45597 are accessibilityFocusedUIElement and doAXTextMarkerForPosition, allowing VoiceOver 45598 to navigate between frames. 45599 45600 * bridge/mac/WebCoreAXObject.mm: 45601 (-[WebCoreAXObject topRenderer]): 45602 (-[WebCoreAXObject frameView]): 45603 (-[WebCoreAXObject topFrameView]): 45604 Removed topDocument, renamed topView to topFrameView, added frameView. 45605 45606 (-[WebCoreAXObject accessibilityAttributeValue:]): 45607 AXSelectedTextMarkerRange, AXStartTextMarker, and AXEndTextMarker now use 45608 self's WebArea, rather than the top WebArea. 45609 45610 (-[WebCoreAXObject doAXTextMarkerRangeForLine:]): 45611 Use self's WebArea, rather than the top WebArea. 45612 45613 (-[WebCoreAXObject doAXTextMarkerForPosition:]): 45614 Use renamed methods for accessing top WebArea. 45615 45616 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]): 45617 Use renamed methods for accessing self's WebArea. 45618 45619 (AXAttributeStringSetColor): 45620 (AXAttributeStringSetNumber): 45621 (AXAttributeStringSetFont): 45622 (AXAttributeStringSetStyle): 45623 (AXAttributeStringSetElement): 45624 (-[WebCoreAXObject rendererForView:]): 45625 Clean up uses of nil and NULL. 45626 45627 (-[WebCoreAXObject accessibilityFocusedUIElement]): 45628 Find the focused node on the whole page. If there is no focused node, 45629 return the WebArea for the focused document. 45630 45631 (-[WebCoreAXObject doSetAXSelectedTextMarkerRange:]): 45632 Use self's WebArea, rather than the top WebArea. 45633 45634 2007-04-02 Antti Koivisto <antti (a] apple.com> 45635 45636 Fix build. This one was not supposed to be checked in. 45637 45638 * rendering/RenderFlexibleBox.cpp: 45639 (WebCore::RenderFlexibleBox::layoutBlock): 45640 45641 2007-03-30 Antti Koivisto <antti (a] apple.com> 45642 45643 Reviewed by Hyatt. 45644 45645 Render tree memory savings, part 2 45646 45647 - Move staticX and staticY variables to RenderLayer since they are only 45648 applicable to positioned objects 45649 - Move very rarely used overrideSize variable to hash 45650 45651 These changes shrink all box types by 12 bytes 45652 45653 * rendering/RenderBox.cpp: 45654 (WebCore::RenderBox::RenderBox): 45655 (WebCore::RenderBox::destroy): 45656 (WebCore::RenderBox::overrideSize): 45657 (WebCore::RenderBox::setOverrideSize): 45658 (WebCore::RenderBox::overrideWidth): 45659 (WebCore::RenderBox::overrideHeight): 45660 (WebCore::RenderBox::position): 45661 (WebCore::RenderBox::calcWidth): 45662 (WebCore::RenderBox::calcHeight): 45663 (WebCore::RenderBox::staticX): 45664 (WebCore::RenderBox::staticY): 45665 (WebCore::RenderBox::setStaticX): 45666 (WebCore::RenderBox::setStaticY): 45667 (WebCore::RenderBox::calcAbsoluteHorizontal): 45668 (WebCore::RenderBox::calcAbsoluteVertical): 45669 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 45670 (WebCore::RenderBox::calcAbsoluteVerticalReplaced): 45671 * rendering/RenderBox.h: 45672 * rendering/RenderLayer.cpp: 45673 (WebCore::RenderLayer::RenderLayer): 45674 * rendering/RenderLayer.h: 45675 (WebCore::RenderLayer::staticX): 45676 (WebCore::RenderLayer::staticY): 45677 (WebCore::RenderLayer::setStaticX): 45678 (WebCore::RenderLayer::setStaticY): 45679 * rendering/RenderObject.cpp: 45680 (WebCore::RenderObject::RenderObject): 45681 * rendering/RenderObject.h: 45682 (WebCore::): 45683 (WebCore::RenderObject::hasOverrideSize): 45684 (WebCore::RenderObject::setHasOverrideSize): 45685 * rendering/RenderWidget.cpp: 45686 (WebCore::RenderWidget::destroy): 45687 45688 2007-03-31 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 45689 45690 Not reviewed - gdk build fix. 45691 45692 * platform/gdk/TemporaryLinkStubs.cpp: 45693 (Font::selectionRectForComplexText): 45694 (Font::drawComplexText): 45695 45696 2007-03-31 Alexey Proskuryakov <ap (a] webkit.org> 45697 45698 Reviewed by Darin. 45699 45700 http://bugs.webkit.org/show_bug.cgi?id=12778 45701 REGRESSION: Nightly won't load Curl plugin for full page use 45702 45703 * dom/DOMImplementation.cpp: 45704 (WebCore::DOMImplementation::createDocument): Re-order cases to give more priority to plugins. 45705 This also fixes Adobe SVG Viewer and any plugins that register XML MIME types. 45706 Added a case for XHTML to avoid enumerating plugins. 45707 45708 2007-03-31 David Hyatt <hyatt (a] apple.com> 45709 45710 Fix for bug 13234, layout of selected justified text is broken. Rework TextRuns to avoid having 45711 from/to members. Let those be passed in only by the functions that need them (drawing and selection rect). 45712 45713 Reviewed by mitz 45714 45715 fast/text/justified-selection-at-edge.html 45716 45717 * platform/Font.cpp: 45718 (WebCore::WidthIterator::WidthIterator): 45719 (WebCore::WidthIterator::advance): 45720 (WebCore::Font::canUseGlyphCache): 45721 (WebCore::Font::drawSimpleText): 45722 (WebCore::Font::drawText): 45723 (WebCore::Font::floatWidth): 45724 (WebCore::Font::floatWidthForSimpleText): 45725 (WebCore::Font::selectionRectForText): 45726 (WebCore::Font::selectionRectForSimpleText): 45727 (WebCore::Font::offsetForPositionForSimpleText): 45728 * platform/Font.h: 45729 (WebCore::TextRun::m_len): 45730 * platform/graphics/GraphicsContext.cpp: 45731 (WebCore::GraphicsContext::drawText): 45732 (WebCore::GraphicsContext::drawHighlightForText): 45733 * platform/graphics/GraphicsContext.h: 45734 * platform/mac/FontMac.mm: 45735 (WebCore::addDirectionalOverride): 45736 (WebCore::overrideLayoutOperation): 45737 (WebCore::ATSULayoutParameters::initialize): 45738 (WebCore::Font::selectionRectForComplexText): 45739 (WebCore::Font::drawComplexText): 45740 (WebCore::Font::floatWidthForComplexText): 45741 (WebCore::Font::offsetForPositionForComplexText): 45742 * platform/qt/FontQt.cpp: 45743 (WebCore::Font::drawComplexText): 45744 (WebCore::Font::floatWidthForComplexText): 45745 * platform/qt/TemporaryLinkStubs.cpp: 45746 (Font::selectionRectForComplexText): 45747 * rendering/EllipsisBox.cpp: 45748 (WebCore::EllipsisBox::paint): 45749 * rendering/InlineTextBox.cpp: 45750 (WebCore::InlineTextBox::selectionRect): 45751 (WebCore::InlineTextBox::paint): 45752 (WebCore::InlineTextBox::paintSelection): 45753 (WebCore::InlineTextBox::paintMarkedTextBackground): 45754 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 45755 (WebCore::InlineTextBox::paintTextMatchMarker): 45756 (WebCore::InlineTextBox::offsetForPosition): 45757 (WebCore::InlineTextBox::positionForOffset): 45758 * rendering/RenderListMarker.cpp: 45759 (WebCore::RenderListMarker::paint): 45760 (WebCore::RenderListMarker::calcMinMaxWidth): 45761 (WebCore::RenderListMarker::getRelativeMarkerRect): 45762 * rendering/RenderMenuList.cpp: 45763 (WebCore::RenderMenuList::updateOptionsWidth): 45764 * rendering/RenderText.cpp: 45765 (WebCore::RenderText::widthFromCache): 45766 (WebCore::RenderText::width): 45767 45768 2007-03-31 Mitz Pettel <mitz (a] webkit.org> 45769 45770 Reviewed by Darin. 45771 45772 - fix http://bugs.webkit.org/show_bug.cgi?id=13243 45773 <rdar://problem/5103226> 45774 REGRESSION (r20506): Repro crash/assert when using scroll wheel on a list box taller than its contents 45775 45776 * platform/ScrollBar.cpp: 45777 (WebCore::Scrollbar::setValue): Cleaned up a little. 45778 (WebCore::Scrollbar::scroll): Changed to apply the minimum and maximum constraints 45779 in the right order, and cleaned up a little. 45780 45781 2007-03-31 Mitz Pettel <mitz (a] webkit.org> 45782 45783 Reviewed by Darin. 45784 45785 - fix http://bugs.webkit.org/show_bug.cgi?id=13242 45786 REGRESSION: Repro crash when specifying the content property for an image 45787 45788 Test: fast/images/text-content-crash.html 45789 45790 * html/HTMLImageElement.cpp: 45791 (WebCore::HTMLImageElement::parseMappedAttribute): Added a check that the 45792 renderer is an image. 45793 (WebCore::HTMLImageElement::attach): Ditto. 45794 45795 2007-03-31 Mark Rowe <mrowe (a] apple.com> 45796 45797 Reviewed by Darin. 45798 45799 A more correct fix for http://bugs.webkit.org/show_bug.cgi?id=13129 45800 Bug 13129: Democracy Player dies in NSException from WebScriptObject on startup 45801 45802 The previous attempt at a fix in r20343 attempted to conditionally expose the 'count' 45803 method. It did not work which resulted in 'count' always being hidden. This change 45804 disables -[WebScriptObject count] completely until it can be determined whether it is 45805 needed and how to support it without breaking third-party applications. 45806 45807 * bindings/objc/WebScriptObject.mm: 45808 (-[WebScriptObject count]): 45809 * bindings/objc/WebScriptObjectPrivate.h: 45810 45811 2007-03-31 Nicholas Shanks <webkit (a] nickshanks.com> 45812 45813 Reviewed by Adele. 45814 45815 http://bugs.webkit.org/show_bug.cgi?id=13184 45816 HTMLImageElement longdesc should be complete resolved URL 45817 45818 Test: fast/dom/HTMLImageElement/image-longdesc-absolute-url.html 45819 45820 * html/HTMLImageElement.cpp: 45821 (WebCore::HTMLImageElement::longDesc): Return absolute URL. 45822 Behaviour now matches Firefox and Opera. 45823 45824 2007-03-31 Mitz Pettel <mitz (a] webkit.org> 45825 45826 Reviewed by Hyatt. 45827 45828 - fix http://bugs.webkit.org/show_bug.cgi?id=13209 45829 REGRESSION (r18756-18765): Incomplete list marker repaint when resizing list item 45830 45831 Test: fast/repaint/list-marker-2.html 45832 45833 A list marker can increase the horizontal overflow after layoutInlineChildren(), 45834 so made that function return only the vertical bounds of the repaint rect. As the 45835 horizontal bounds, made layoutBlock() just use the overflow bounds after layout. 45836 45837 * rendering/RenderBlock.cpp: 45838 (WebCore::RenderBlock::layoutBlock): 45839 * rendering/RenderBlock.h: 45840 * rendering/bidi.cpp: 45841 (WebCore::RenderBlock::layoutInlineChildren): 45842 45843 2007-03-31 Mitz Pettel <mitz (a] webkit.org> 45844 45845 Reviewed by Hyatt. 45846 45847 - http://bugs.webkit.org/show_bug.cgi?id=13178 45848 Helvetica zero-width space has non-zero width 45849 45850 Test: fast/text/wide-zero-width-space.html 45851 45852 * platform/FontData.cpp: 45853 (WebCore::FontData::FontData): Force the ZERO WIDTH SPACE glyph to have width 45854 0, unless the SPACE character maps to the same glyph. 45855 45856 2007-03-31 Mitz Pettel <mitz (a] webkit.org> 45857 45858 Reviewed by Darin. 45859 45860 - fix http://bugs.webkit.org/show_bug.cgi?id=8016 45861 REPRO: Safari hangs loading 18 MB page (deeply nested DOM tree) 45862 45863 Test: fast/tokenizer/lessthan-terminates-tags-and-attrs.html 45864 45865 * html/HTMLTokenizer.cpp: 45866 (WebCore::HTMLTokenizer::parseTag): Made "<" terminate tag and attribute 45867 names. This matches Firefox. 45868 45869 2007-03-31 Alexey Proskuryakov <ap (a] webkit.org> 45870 45871 Debug build fix. 45872 45873 * xml/XPathValue.cpp: 45874 (WebCore::XPath::): Define Value::adopt. 45875 45876 2007-03-30 Alexey Proskuryakov <ap (a] webkit.org> 45877 45878 Reviewed by Darin. 45879 45880 http://bugs.webkit.org/show_bug.cgi?id=13021 45881 XPath can be very slow 45882 45883 This patch finally makes us faster than Firefox 2.0 on this test case. 45884 45885 * xml/XPathFunctions.cpp: 45886 (WebCore::XPath::FunConcat::evaluate): Use a Vector buffer for faster appending. 45887 (WebCore::XPath::FunId::evaluate): Move the result NodeSet into Value instead of copying it. 45888 (WebCore::XPath::FunLocalName::evaluate): Cosmetic changes. 45889 (WebCore::XPath::FunNamespaceURI::evaluate): Ditto. 45890 (WebCore::XPath::FunName::evaluate): Ditto. 45891 (WebCore::XPath::FunNormalizeSpace::evaluate): Ditto. 45892 45893 * xml/XPathValue.cpp: 45894 (WebCore::XPath::Value::toNodeSet): 45895 (WebCore::XPath::Value::modifiableNodeSet): 45896 (WebCore::XPath::Value::toBoolean): 45897 (WebCore::XPath::Value::toNumber): 45898 (WebCore::XPath::Value::toString): 45899 * xml/XPathValue.h: 45900 (WebCore::XPath::ValueData::ValueData): 45901 (WebCore::XPath::Value::Value): 45902 Made Value copying faster by putting large data members into a separate refcounted ValueData class. 45903 Added provisions for moving a NodeSet in and out of Value without copying. 45904 Made construction safer by moving bool version to a template constructor. 45905 Removed an (almost) unused default constructor. 45906 45907 * xml/XPathPredicate.h: Store a Value for literal string and number expressions to avoid 45908 constructing one each time. 45909 45910 * xml/XPathPath.cpp: 45911 (WebCore::XPath::Filter::evaluate): 45912 (WebCore::XPath::LocationPath::evaluate): 45913 (WebCore::XPath::Path::evaluate): 45914 * xml/XPathPath.h: 45915 * xml/XPathPredicate.cpp: 45916 (WebCore::XPath::NumericOp::evaluate): 45917 (WebCore::XPath::Union::evaluate): 45918 * xml/XPathResult.cpp: 45919 (WebCore::XPathResult::snapshotItem): 45920 * xml/XPathStep.cpp: 45921 (WebCore::XPath::Step::evaluate): 45922 (WebCore::XPath::Step::nodesInAxis): 45923 * xml/XPathStep.h: 45924 Got rid of unnecessary NodeSet copying in many cases. 45925 45926 2007-03-30 Justin Garcia <justin.garcia (a] apple.com> 45927 45928 Reviewed by john 45929 45930 <rdar://problem/5076323> Only one To Do can be created by a selection in a message 45931 45932 When Mail's ToDoify operation called moveToEndOfDocument: 45933 with a selection that started just before a ToDo, we'd 45934 move them to the end of the document, not to the end 45935 of the editable root, because we incorrectly checked 45936 for the editability of positions before ToDos. Then Mail 45937 would refuse to create a ToDo because the selection was 45938 outside of the region where they allowed editing. 45939 45940 * editing/SelectionController.cpp: 45941 (WebCore::SelectionController::modifyExtendingRightForward): 45942 Check the position for editability, not the position's node, 45943 since there are editable positions of the form [node, offset] 45944 where node is contenteditable=false. 45945 Re-use pos. Nothing that happens after it's created can invalidate 45946 it or the position and affinity used to create it. 45947 (WebCore::SelectionController::modifyMovingRightForward): Ditto. 45948 (WebCore::SelectionController::modifyExtendingLeftBackward): Ditto. 45949 (WebCore::SelectionController::modifyMovingLeftBackward): Ditto. 45950 * rendering/RenderBlock.cpp: 45951 (WebCore::RenderBlock::paintCaret): Ditto. 45952 45953 2007-03-30 Adele Peterson <adele (a] apple.com> 45954 45955 Reviewed by Darin. 45956 45957 Added DeleteWordBackward and DeleteWordForward to execCommand. 45958 45959 * editing/Editor.cpp: 45960 (WebCore::execDeleteWordBackward): 45961 (WebCore::execDeleteWordForward): 45962 (WebCore::CommandEntry::): 45963 45964 2007-03-30 Simon Hausmann <hausmann (a] kde.org> 45965 45966 Reviewed by Zack 45967 45968 * WebCore.pro: Fix release Qt builds. 45969 45970 2007-03-30 Antti Koivisto <antti (a] apple.com> 45971 45972 Reviewed by bdash. 45973 45974 Spotted an int that should be float in previous patch. 45975 45976 * platform/Font.cpp: 45977 (WebCore::WidthIterator::advance): 45978 45979 2007-03-30 Antti Koivisto <antti (a] apple.com> 45980 45981 Reviewed by Hyatt. 45982 45983 Render tree memory savings, part 1 45984 45985 - Eliminate caching of monospace char width from RenderText. This optimization is not needed 45986 anymore since Font already caches space width (RenderText -4 bytes) 45987 - Eliminate caching of tab width from RenderBlock. Similary this optimization has become 45988 obsolete (RenderBlock -4 bytes) 45989 45990 * platform/Font.cpp: 45991 (WebCore::WidthIterator::advance): 45992 (WebCore::Font::spaceWidth): 45993 * platform/Font.h: 45994 (WebCore::Font::tabWidth): 45995 * platform/TextStyle.h: 45996 (WebCore::TextStyle::TextStyle): 45997 (WebCore::TextStyle::allowTabs): 45998 * rendering/InlineTextBox.cpp: 45999 (WebCore::InlineTextBox::selectionRect): 46000 (WebCore::InlineTextBox::paint): 46001 (WebCore::InlineTextBox::paintSelection): 46002 (WebCore::InlineTextBox::paintMarkedTextBackground): 46003 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 46004 (WebCore::InlineTextBox::paintTextMatchMarker): 46005 (WebCore::InlineTextBox::offsetForPosition): 46006 (WebCore::InlineTextBox::positionForOffset): 46007 * rendering/RenderBlock.cpp: 46008 (WebCore:::RenderFlow): 46009 (WebCore::RenderBlock::setStyle): 46010 * rendering/RenderBlock.h: 46011 * rendering/RenderObject.cpp: 46012 * rendering/RenderObject.h: 46013 * rendering/RenderText.cpp: 46014 (WebCore::RenderText::RenderText): 46015 (WebCore::RenderText::setStyle): 46016 (WebCore::RenderText::widthFromCache): 46017 (WebCore::RenderText::trimmedMinMaxWidth): 46018 (WebCore::RenderText::calcMinMaxWidthInternal): 46019 (WebCore::RenderText::setTextInternal): 46020 (WebCore::RenderText::width): 46021 * rendering/RenderText.h: 46022 (WebCore::RenderText::allowTabs): 46023 * rendering/bidi.cpp: 46024 46025 2007-03-30 David Hyatt <hyatt (a] apple.com> 46026 46027 Fix (take 2) for bug 4334, flickering when floating elements gain/lose transparency. 46028 46029 Reviewed by mitz 46030 46031 * rendering/RenderBlock.cpp: 46032 * rendering/RenderBlock.h: 46033 * rendering/RenderBox.cpp: 46034 (WebCore::RenderBox::setStyle): 46035 46036 2007-03-29 Mitz Pettel <mitz (a] webkit.org> 46037 46038 Reviewed by Darin. 46039 46040 - fix http://bugs.webkit.org/show_bug.cgi?id=13166 46041 REGRESSION (2005-10-16 - 2005-10-19): Ampersands showing up in the last column of the Gmail contacts table 46042 46043 Test: fast/tokenizer/write-partial-entity.html 46044 46045 * html/HTMLTokenizer.cpp: 46046 (WebCore::HTMLTokenizer::parseTag): Reordered to avoid resetting the buffer position 46047 after script execution which can write to the buffer. 46048 46049 2007-03-29 Justin Garcia <justin.garcia (a] apple.com> 46050 46051 Reviewed by john 46052 46053 <rdar://problem/5099303> Deleting after a ToDo puts the caret in the wrong position 46054 46055 We were failing to create the correct selection 46056 for DeleteSelectionCommand because the selection extension 46057 operations don't skip over non-editable content for editable 46058 selections. 46059 46060 * editing/SelectionController.cpp: 46061 (WebCore::SelectionController::modifyExtendingRightForward): 46062 When extending an editable selection, don't extend into 46063 non-editable content. 46064 (WebCore::SelectionController::modifyExtendingLeftBackward): 46065 Ditto. 46066 46067 2007-03-29 Patti Hoa <patti (a] apple.com> 46068 46069 Reviewed by harrison. 46070 46071 <rdar://problem/4918397> Exception raise inspecting note contents in the background 46072 * WebCore.xcodeproj/project.pbxproj: 46073 * bridge/mac/WebCoreAXObject.mm: 46074 (-[WebCoreAXObject subrole]): 46075 (-[WebCoreAXObject title]): 46076 Check that attachment supports the attribute before requesting it. 46077 46078 2007-03-29 Justin Garcia <justin.garcia (a] apple.com> 46079 46080 Reviewed by john 46081 46082 <rdar://problem/5032066> Delete should work between ToDos 46083 46084 Stop selecting the table when the user attempts to delete 46085 the line break just after it, instead, extend the selection 46086 into the last table cell. 46087 Let deletion merge content into table cells (as long as 46088 its not from another table cell). 46089 Start calling shouldInsertNode:replacingDOMRange:givenAction: 46090 when moving content with moveParagraphs, so that Mail can 46091 modify content before it is moved into a ToDo during a delete. 46092 46093 * editing/CompositeEditCommand.cpp: 46094 (WebCore::CompositeEditCommand::moveParagraphs): Ask the 46095 delegate before performing the move. This will let Mail 46096 prevent styles from entering a ToDo. 46097 Added a FIXME about adding a new WebViewInsertAction 46098 * editing/DeleteSelectionCommand.cpp: 46099 (WebCore::DeleteSelectionCommand::initializePositionData): 46100 Allow merging into table cells from content not in a table. 46101 * editing/SelectionController.cpp: 46102 (WebCore::SelectionController::modifyExtendingRightForward): 46103 Don't select the table when extending by character/word from 46104 just before it. This code was here to make it easier to select 46105 tables in order to delete them, but the deletion UI makes it 46106 largely unnecessary. 46107 (WebCore::SelectionController::modifyExtendingLeftBackward): 46108 Ditto. 46109 * editing/TypingCommand.cpp: 46110 (WebCore::isFirstPositionAfterTable): Added. 46111 (WebCore::isLastPositionBeforeTable): Ditto. 46112 (WebCore::TypingCommand::deleteKeyPressed): When pressing 46113 the delete key with a caret at the beginning of a paragraph 46114 just after a table, move the paragraph into the last table 46115 cell. 46116 Do not do this if it would mean moving a block table. 46117 Removed some old irrelevant comments. 46118 * editing/htmlediting.cpp: Removed unused functions. 46119 * editing/htmlediting.h: 46120 46121 2007-03-29 Adam Treat <adam (a] staikos.net> 46122 46123 Reviewed and committed by George Staikos. 46124 46125 Remove redundant line. 46126 46127 * platform/qt/FontDataQt.cpp: 46128 (WebCore::FontData::platformInit): 46129 46130 2007-03-29 Adam Treat <adam (a] staikos.net> 46131 46132 Reviewed by David Hyatt, committed by George Staikos. 46133 46134 Test: fast/text/justified-selection.html 46135 46136 Take into account the entire run length to get a proper selection. 46137 46138 * platform/Font.cpp: 46139 (WebCore::WidthIterator::WidthIterator): 46140 46141 2007-03-29 David Hyatt <hyatt (a] apple.com> 46142 46143 Fix for <rdar://problem/4545060>, technorati and arstechnica fail because of getComputedStyle not 46144 reporting display:none properly when it is set. This is bugzilla bug 13103. 46145 46146 Reviewed by mitz 46147 46148 * css/CSSComputedStyleDeclaration.cpp: 46149 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 46150 46151 2007-03-28 Oliver Hunt <oliver (a] apple.com> 46152 46153 Reviewed by Hyatt. 46154 46155 Rename DocLoader::setPasteInProgress, etc to more generic 46156 setAllowStaleResources, etc 46157 46158 * editing/Editor.cpp: 46159 (WebCore::Editor::paste): 46160 * loader/DocLoader.cpp: 46161 (WebCore::DocLoader::DocLoader): 46162 (WebCore::DocLoader::checkForReload): 46163 * loader/DocLoader.h: 46164 (WebCore::DocLoader::setAllowStaleResources): 46165 * page/DragController.cpp: 46166 (WebCore::DragController::concludeDrag): 46167 46168 2007-03-28 Oliver Hunt <oliver (a] apple.com> 46169 46170 Reviewed by Anders and Steve. 46171 46172 Add a flag to DocLoader to prevent it from reloading 46173 when performing a paste or drop operation. 46174 46175 Remove m_cachePolicy from CachedResource as it is never used 46176 46177 Fixes rdar://problem/5044366 : REGRESSION: Repro ASSERT failures 46178 dragging image into GMail message in _web_writeImage and 46179 documentFragmentFromDragData 46180 46181 * editing/Editor.cpp: 46182 (WebCore::Editor::paste): 46183 prevent the docloader from reloading resources on paste 46184 * html/HTMLImageLoader.cpp: 46185 (WebCore::HTMLImageLoader::updateFromElement): 46186 * loader/Cache.cpp: 46187 (WebCore::createResource): 46188 * loader/CachedCSSStyleSheet.cpp: 46189 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): 46190 * loader/CachedCSSStyleSheet.h: 46191 * loader/CachedImage.cpp: 46192 (WebCore::CachedImage::CachedImage): 46193 * loader/CachedImage.h: 46194 * loader/CachedResource.cpp: 46195 (WebCore::CachedResource::CachedResource): 46196 * loader/CachedResource.h: 46197 * loader/CachedScript.cpp: 46198 (WebCore::CachedScript::CachedScript): 46199 * loader/CachedScript.h: 46200 * loader/CachedXBLDocument.cpp: 46201 (WebCore::CachedXBLDocument::CachedXBLDocument): 46202 * loader/CachedXBLDocument.h: 46203 * loader/CachedXSLStyleSheet.cpp: 46204 (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): 46205 * loader/CachedXSLStyleSheet.h: 46206 * loader/DocLoader.cpp: 46207 (WebCore::DocLoader::DocLoader): 46208 Tidy up constructor initialise new field 46209 (WebCore::DocLoader::checkForReload): 46210 Prevent reload when pasting 46211 * loader/DocLoader.h: 46212 (WebCore::DocLoader::setPasteInProgress): 46213 new field and setter 46214 * page/DragController.cpp: 46215 (WebCore::DragController::concludeDrag): 46216 prevent the docloader from reloading resources on drop 46217 46218 2007-03-27 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 46219 46220 Not reviewed - fix typo in gdk build. 46221 46222 * platform/gdk/ScrollViewGdk.cpp: 46223 (WebCore::ScrollView::contentsToWindow): 46224 46225 2007-03-28 Maciej Stachowiak <mjs (a] apple.com> 46226 46227 Reviewed by Darin. 46228 46229 - fixed <rdar://problem/4820817> Autoscroll is broken in Mail.app (message jumps around when trying to select text) 46230 46231 Handle scrolling external scrollviews around the webview during 46232 autoscroll or when scrolling into view. 46233 46234 This should also restore performance on BenchJS test 6 lost due to Tim's partial fix. 46235 46236 * page/FrameView.cpp: 46237 (WebCore::FrameView::scrollRectIntoViewRecursively): 46238 * page/FrameView.h: 46239 * platform/ScrollView.h: 46240 * platform/gdk/ScrollViewGdk.cpp: 46241 (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): 46242 (WebCore::ScrollView::scrollRectIntoViewRecursively): 46243 * platform/mac/ScrollViewMac.mm: 46244 (WebCore::ScrollView::visibleContentRect): 46245 (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): 46246 (WebCore::ScrollView::scrollRectIntoViewRecursively): 46247 (WebCore::ScrollView::updateContents): 46248 * platform/qt/ScrollViewQt.cpp: 46249 (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): 46250 (WebCore::ScrollView::scrollRectIntoViewRecursively): 46251 * platform/win/ScrollViewWin.cpp: 46252 (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): 46253 * platform/win/TemporaryLinkStubs.cpp: 46254 (WebCore::ScrollView::scrollRectIntoViewRecursively): 46255 * rendering/RenderLayer.cpp: 46256 (WebCore::RenderLayer::scrollRectToVisible): 46257 46258 2007-03-28 Jungshik Shin <jungshik.shin (a] gmail.com> 46259 46260 Reviewed and landed by Darin 46261 46262 Get rid of some misuses of |islower| and |tolower| for non-ASCII characters. 46263 http://bugs.webkit.org/show_bug.cgi?id=13138 46264 46265 * platform/StringImpl.cpp: 46266 (WebCore::StringImpl::isLower): 46267 (WebCore::StringImpl::lower): 46268 (WebCore::StringImpl::equalIgnoringCase): 46269 46270 2007-03-28 Antti Koivisto <antti (a] apple.com> 46271 46272 Reviewed by Hyatt. 46273 46274 Fix <rdar://problem/5092653> 46275 REGRESSION: Image decoding making scrolling slow 46276 46277 If decoder gave back a null frame (which I think happens regularly if you don't have full frame 46278 data yet for image that does not decode incrementally) m_decodedSize was incremented anyway. This 46279 led to massive growth in calculated image size and eventually made cache prune constantly. 46280 46281 No test, I don't know how to make one for this. 46282 46283 * platform/graphics/BitmapImage.cpp: 46284 (WebCore::BitmapImage::cacheFrame): 46285 46286 2007-03-28 Adele Peterson <adele (a] apple.com> 46287 46288 Reviewed by Kevin M. 46289 46290 WebCore part of fix for <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString 46291 46292 * page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): 46293 Convert return value to a string. This matches the behavior in Safari 2.0. 46294 46295 2007-03-28 Alexey Proskuryakov <ap (a] webkit.org> 46296 46297 Reviewed by Darin. 46298 46299 http://bugs.webkit.org/show_bug.cgi?id=13190 46300 XPath incorrectly handles namespaces on attributes 46301 46302 * xml/XPathStep.cpp: 46303 (WebCore::XPath::Step::nodesInAxis): Added a special case for faster attribute lookup; gives a slight but 46304 measurable performance improvement for bug 13021. 46305 (WebCore::XPath::Step::nodeMatches): Fixed NameTest for attribute nodes. 46306 46307 * xml/XPathStep.h: 46308 (WebCore::XPath::Step::NodeTest::NodeTest): 46309 (WebCore::XPath::Step::NodeTest::namespaceURI): 46310 (WebCore::XPath::Step::nodeTest): 46311 (WebCore::XPath::Step::setNodeTest): 46312 Move m_namespaceURI to NodeTest, where it belongs. Removed unused m_nodeTestData (oops!). 46313 46314 * xml/XPathGrammar.y: 46315 * xml/XPathPath.cpp: 46316 (WebCore::XPath::LocationPath::optimizeStepPair): 46317 Accounted for the above change. 46318 46319 2007-03-28 Oliver Hunt <oliver (a] apple.com> 46320 46321 rs=Hyatt. 46322 46323 Rollout local changes :-/ 46324 46325 * loader/Cache.cpp: 46326 (WebCore::Cache::pruneAllResources): 46327 (WebCore::Cache::remove): 46328 46329 2007-03-28 Oliver Hunt <oliver (a] apple.com> 46330 46331 Reviewed by Hyatt. 46332 46333 Roll out r20511 due to incredible badness 46334 46335 * loader/Cache.cpp: 46336 (WebCore::Cache::pruneAllResources): 46337 (WebCore::Cache::remove): 46338 46339 2007-03-27 Oliver Hunt <oliver (a] apple.com> 46340 46341 Reviewed by Adam. 46342 46343 Don't enforce text-selection drag delay when we are 46344 going to drag an image anyway. 46345 46346 Fixes rdar://problem/4668935 46347 46348 * page/EventHandler.cpp: 46349 (WebCore::EventHandler::handleDrag): 46350 46351 2007-03-27 Justin Garcia <justin.garcia (a] apple.com> 46352 46353 Build fix 46354 46355 * editing/markup.cpp: 46356 (WebCore::startMarkup): 46357 46358 2007-03-27 Justin Garcia <justin.garcia (a] apple.com> 46359 46360 Reviewed by darin 46361 46362 <rdar://problem/5091898> REGRESSION: GMail Editor: A line of underlined text copied with Select All pastes with wrong font family 46363 46364 createMarkup skipped elements if they were blocks 46365 when called from moveParagraphs (because that function 46366 must receive only inline content). This patch adds 46367 code to inline these blocks instead of skipping them 46368 so that we don't lose any of the style that they 46369 contribute to the copied markup. 46370 46371 * editing/markup.cpp: 46372 (WebCore::startMarkup): Add an inlineBlocks option. 46373 Make sure to overwrite display:block coming from 46374 a style sheet or the inline style declaration. 46375 (WebCore::createMarkup): Don't refuse to include a 46376 specialCommonAncestor that's a block if we were asked 46377 to include only inline content, since we can now inline 46378 block elements in startMarkup. 46379 46380 2007-03-27 Adele Peterson <adele (a] apple.com> 46381 46382 Reviewed by Hyatt. 46383 46384 Fix for <rdar://problem/5026141> REGRESSION: Aperture Viewer Flashes when switching from Index Page to Detail page in Web Gallery 46385 46386 This disables the paint that occurs after WebCore finishes loading the document. We should reenable this when we 46387 move the dispatchDidFinishLoad delegate callback to happen around the same time as the JS onload call. See <rdar://problem/5092361>. 46388 46389 * dom/Document.cpp: (WebCore::Document::implicitClose): 46390 46391 2007-03-26 Justin Garcia <justin.garcia (a] apple.com> 46392 46393 Reviewed by darin 46394 46395 <rdar://problem/5065910> REGRESSION: In Mail and GMail, Can't apply color to pasted line of text 46396 <rdar://problem/5084241> After deleting a paragraph of colored text, can't change text color 46397 <rdar://problem/5065605> REGRESSION: Text copied with Select All + Copy loses color on Paste 46398 <rdar://problem/4916887> GMAIL: Can't apply color to text once it becomes indented 46399 46400 * css/CSSComputedStyleDeclaration.cpp: 46401 (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties): 46402 If a node's text fill color is invalid, then its children use 46403 their font-color as their text fill color (they don't inherit 46404 it). Likewise for stroke color. 46405 46406 2007-03-27 Anders Carlsson <acarlsson (a] apple.com> 46407 46408 * platform/ScrollBar.h: 46409 Use wtf/MathExtras.h instead of math.h 46410 46411 2007-03-27 Zack Rusin <zrusin (a] trolltech.com> 46412 46413 Fix the compile - when using math.h functions 46414 actually include the header with them. 46415 46416 * platform/ScrollBar.h: 46417 46418 2007-03-27 Oliver Hunt <oliver (a] apple.com> 46419 46420 Reviewed by Maciej. 46421 46422 The WebArchiver needs all the subresources of a document to be accessible 46423 through the DocLoader, so we can't remove a CachedResource simultaneously 46424 from the global Cache and all DocLoaders, just because it needs to be 46425 reloaded in one. 46426 46427 Fixes rdar://problem/5044366 46428 46429 * loader/Cache.cpp: 46430 (WebCore::Cache::remove): 46431 Don't evict the resource from all DocLoaders 46432 * manual-tests/test-iframes-loading-the-same-resource.html: Added. 46433 Alas it wasn't possible to make a nice layout test, even this manual test 46434 is not entirely deterministic 46435 46436 2007-03-27 Mark Rowe <mrowe (a] apple.com> 46437 46438 Build fix. 46439 46440 * platform/GlyphBuffer.h: 46441 (WebCore::GlyphBuffer::clear): 46442 46443 2007-03-27 Dave Hyatt <hyatt (a] apple.com> 46444 46445 Add support for glyph offsets to the GlyphBuffer. 46446 46447 Reviewed by olliej 46448 46449 * platform/Font.cpp: 46450 (WebCore::Font::drawGlyphBuffer): 46451 * platform/GlyphBuffer.h: 46452 (WebCore::GlyphBuffer::clear): 46453 (WebCore::GlyphBuffer::swap): 46454 (WebCore::GlyphBuffer::offsetAt): 46455 (WebCore::GlyphBuffer::add): 46456 46457 2007-03-27 Antti Koivisto <antti (a] apple.com> 46458 46459 Keep buildbot happy. 46460 46461 * platform/mac/PlatformScrollBarMac.mm: 46462 (WebCore::PlatformScrollbar::scrollbarHit): 46463 46464 2007-03-26 Antti Koivisto <antti (a] apple.com> 46465 46466 Reviewed by Darin. 46467 46468 On Mac, support fine grained wheel events generated by trackpad and Mighty Mouse. 46469 http://bugs.webkit.org/show_bug.cgi?id=13134 46470 <rdar://problem/5076249? 46471 46472 * WebCore.exp: 46473 Export _wkGetWheelEventDeltas 46474 * page/EventHandler.cpp: 46475 (WebCore::EventHandler::handleWheelEvent): 46476 Remove (0, 0) scroll event hack, it is not needed anymore. 46477 Do per-pixel scrolling for fine grained events. 46478 * platform/PlatformWheelEvent.h: 46479 (WebCore::PlatformWheelEvent::isContinuous): 46480 Add new m_isContinuous boolean to indicate fine grained wheel events. 46481 * platform/ScrollBar.cpp: 46482 (WebCore::Scrollbar::Scrollbar): 46483 (WebCore::Scrollbar::setValue): 46484 (WebCore::Scrollbar::setSteps): 46485 (WebCore::Scrollbar::scroll): 46486 * platform/ScrollBar.h: 46487 (WebCore::Scrollbar::value): 46488 Use float to represent current position to support finer grained scrolling. 46489 Add ScrollByPixel, remove ScrollByWheel (which was same as ScrollByLine anyway) 46490 * platform/ScrollTypes.h: 46491 (WebCore::): 46492 * platform/gdk/WheelEventGdk.cpp: 46493 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 46494 Initalize m_isContinuous 46495 * platform/mac/WebCoreSystemInterface.h: 46496 * platform/mac/WebCoreSystemInterface.mm: 46497 Add wkGetWheelEventDeltas for getting fine grained wheel events 46498 * platform/mac/WheelEventMac.mm: 46499 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 46500 Get the wheel deltas using new wkGetWheelEventDeltas interface 46501 * platform/qt/WheelEventQt.cpp: 46502 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 46503 Initalize m_isContinuous 46504 * rendering/RenderListBox.cpp: 46505 (WebCore::RenderListBox::calcHeight): 46506 Pass item height to scrollbar 46507 46508 2007-03-26 Geoffrey Garen <ggaren (a] apple.com> 46509 46510 Reviewed by Darin Adler. 46511 46512 Fixed <rdar://problem/5088234> REGRESSION: Crash occurs at WebCore::Node:: 46513 createRendererIfNeeded() when changing map views with MS Virtual Earth 46514 (http://www.ziprealty.com/) 46515 46516 The cause of the crash was the insertion of a <script> element whose 46517 script removed it from the document. The <script> element would then be 46518 garbage when the insertion routine went on to attach() it. 46519 46520 The solution here is to check that an element is still your child before 46521 trying to attach() it. This matches the style of checks we do elsewhere 46522 in the node insertion and removal code. 46523 46524 * dom/ContainerNode.cpp: 46525 (WebCore::ContainerNode::insertBefore): 46526 (WebCore::ContainerNode::replaceChild): 46527 (WebCore::ContainerNode::appendChild): 46528 46529 2007-03-26 David Carson <dacarson (a] gmail.com> 46530 46531 Reviewed by Darin, landed by Anders. 46532 46533 Manual test case for: REGRESSION (r19559): Java applet crash 46534 http://bugs.webkit.org/show_bug.cgi?id=13142 46535 <rdar://problem/5080340> 46536 46537 * manual-tests/liveconnect-applet-get-boolean.html: Added. 46538 * manual-tests/resources/CheckerApplet.class: Added. 46539 * manual-tests/resources/CheckerApplet.java: Added. 46540 46541 2007-03-26 Mitz Pettel <mitz (a] webkit.org> 46542 46543 Reviewed and landed by Darin. 46544 46545 - fix http://bugs.webkit.org/show_bug.cgi?id=13194 46546 <rdar://problem/5087738> 46547 REGRESSION: Selection rects are wrong for images in search results from images.google.com 46548 46549 Test: fast/replaced/selection-rect-in-table-cell.html 46550 46551 * rendering/RenderReplaced.cpp: 46552 (WebCore::RenderReplaced::selectionRect): 46553 46554 2007-03-26 Geoffrey Garen <ggaren (a] apple.com> 46555 46556 Removed now-stale #includes of <assert.h>. 46557 46558 * WebCorePrefix.h: 46559 * config.h: 46560 * css/CSSGrammar.y: 46561 * platform/Arena.cpp: 46562 * platform/KURL.cpp: 46563 * platform/SegmentedString.h: 46564 * rendering/DataRef.h: 46565 * rendering/RenderArena.cpp: 46566 46567 2007-03-26 Geoffrey Garen <ggaren (a] apple.com> 46568 46569 Reviewed by Kevin McCulough. 46570 46571 Global replace of "assert(" with "ASSERT(" to assist debugging. Removed 46572 one instance of commented-out code containing "assert(" instead of replacing it. 46573 46574 2007-03-25 Antti Koivisto <antti (a] apple.com> 46575 46576 Reviewed by Adam. 46577 46578 Fix <rdar://problem/5049842> 46579 Gmail Editor: Dragging message text in the message body results in a crash at WebCore::Frame::eventHandler() 46580 46581 Null check frame in m_dragTarget, it might be gone already. 46582 46583 * page/EventHandler.cpp: 46584 (WebCore::EventHandler::updateDragAndDrop): 46585 (WebCore::EventHandler::cancelDragAndDrop): 46586 (WebCore::EventHandler::performDragAndDrop): 46587 46588 2007-03-25 Alexey Proskuryakov <ap (a] webkit.org> 46589 46590 Reviewed by Darin. 46591 46592 A partial fix for http://bugs.webkit.org/show_bug.cgi?id=13021 46593 XPath can be very slow 46594 46595 * xml/XPathExpression.cpp: 46596 (WebCore::XPathExpression::evaluate): Reset a reference to the context node, as this may prevent the whole document 46597 from being destroyed in time. 46598 46599 * dom/Attr.cpp: 46600 (WebCore::Attr::createTextChild): Instead of calling appendChild(), just do the few operations it really needs to perform. 46601 * dom/ContainerNode.h: 46602 (WebCore::ContainerNode::fastSetFirstChild): 46603 (WebCore::ContainerNode::fastSetLastChild): 46604 Added operations that let Attr hack internal ContainerNode data (evil, but fast!). 46605 46606 * xml/XPathStep.cpp: 46607 (WebCore::XPath::Step::evaluate): 46608 (WebCore::XPath::Step::nodesInAxis): 46609 (WebCore::XPath::Step::nodeMatches): 46610 * xml/XPathStep.h: 46611 Merged node testing into axis enumeration. This saves a lot of Vector resizing and passing, and is necessary for future 46612 optimizations (sometimes, we can just pick the single result node instead of enumerating and filtering the whole axis). 46613 46614 2007-03-24 Mitz Pettel <mitz (a] webkit.org> 46615 46616 Reviewed by Darin. 46617 46618 - fix http://bugs.webkit.org/show_bug.cgi?id=13156 46619 REGRESSION (r19621): Pasting breakable content where wrapped line is too long to fit in a textarea fails to draw a horizontal scrollbar 46620 46621 Test: fast/text/midword-break-after-breakable-char.html 46622 46623 Breaking in the middle of the word 46624 is allowed only if no breaking opportunity between words has occurred yet. The 46625 first position on the line should not be considered "between words" even if 46626 it is a breaking opportunity. 46627 46628 * rendering/bidi.cpp: 46629 (WebCore::RenderBlock::findNextLineBreak): Changed according to the above. Also 46630 cleaned up a couple of lines. 46631 46632 2007-03-24 David Hyatt <hyatt (a] apple.com> 46633 46634 Fix for bugzilla bug 13187, place a hard limit on the amount of decoded data that WebCore will keep 46635 around even on live pages (pages being displayed in tabs/windows or in the back/forward cache). 46636 Images will decode to paint and once the decoded data exceeds the cache size, the decoded data will be 46637 tossed. 46638 46639 Refine the flushing algorithm to apply the two-pass decode/evict model to each LRU-SP queue individually, rather 46640 than to all the lists at once. This allows the cache to evict large encoded resources before flushing small 46641 or frequently accessed decoded onces. 46642 46643 Added information on live/decoded data to the cache statistics. 46644 46645 Reviewed by darin 46646 46647 * loader/Cache.cpp: 46648 (WebCore::Cache::Cache): 46649 (WebCore::Cache::pruneLiveResources): 46650 (WebCore::Cache::pruneAllResources): 46651 (WebCore::Cache::setMaximumSize): 46652 (WebCore::Cache::remove): 46653 (WebCore::Cache::lruListFor): 46654 (WebCore::Cache::removeFromLRUList): 46655 (WebCore::Cache::insertInLRUList): 46656 (WebCore::Cache::liveLRUListFor): 46657 (WebCore::Cache::removeFromLiveResourcesList): 46658 (WebCore::Cache::insertInLiveResourcesList): 46659 (WebCore::Cache::addToLiveResourcesSize): 46660 (WebCore::Cache::removeFromLiveResourcesSize): 46661 (WebCore::Cache::adjustSize): 46662 (WebCore::Cache::getStatistics): 46663 * loader/Cache.h: 46664 (WebCore::Cache::TypeStatistic::TypeStatistic): 46665 * loader/CachedImage.cpp: 46666 (WebCore::CachedImage::decodedSizeWillChange): 46667 (WebCore::CachedImage::decodedSizeChanged): 46668 * loader/CachedImage.h: 46669 * loader/CachedResource.cpp: 46670 (WebCore::CachedResource::CachedResource): 46671 (WebCore::CachedResource::ref): 46672 (WebCore::CachedResource::deref): 46673 (WebCore::CachedResource::setEncodedSize): 46674 (WebCore::CachedResource::liveResourceAccessed): 46675 * loader/CachedResource.h: 46676 (WebCore::CachedResource::liveAccessCount): 46677 (WebCore::CachedResource::resetLiveAccessCount): 46678 (WebCore::CachedResource::increaseLiveAccessCount): 46679 * platform/graphics/BitmapImage.cpp: 46680 (WebCore::BitmapImage::destroyDecodedData): 46681 (WebCore::BitmapImage::cacheFrame): 46682 * platform/graphics/ImageObserver.h: 46683 * rendering/RenderBox.cpp: 46684 (WebCore::RenderBox::paintBackgroundExtended): 46685 * rendering/RenderImage.cpp: 46686 (WebCore::RenderImage::paint): 46687 * rendering/RenderListMarker.cpp: 46688 (WebCore::RenderListMarker::paint): 46689 * rendering/RenderObject.cpp: 46690 (WebCore::RenderObject::paintBorderImage): 46691 46692 2007-03-24 Darin Adler <darin (a] apple.com> 46693 46694 Reviewed by Mitz. 46695 46696 - fix http://bugs.webkit.org/show_bug.cgi?id=13123 46697 CSS selectors that use :lang, :not, and namespaces do not serialize correctly 46698 46699 Test: fast/css/css-selector-text.html 46700 46701 * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText): Add the namespace 46702 prefix for tag or attribute names, the sub-selector for :not, and the argument 46703 for :lang. 46704 46705 2007-03-24 Brady Eidson <beidson (a] apple.com> 46706 46707 Reviewed by Adam 46708 46709 <rdar://problem/5086210> - Move RetainPtr to WTF 46710 46711 * ForwardingHeaders/wtf/RetainPtr.h: Added. 46712 * WebCore.xcodeproj/project.pbxproj: Removed WebCore/RetainPtr.h 46713 46714 * history/HistoryItem.h: Changed #include to <wtf/RetainPtr.h> 46715 * history/PageCache.h: Ditto 46716 * page/mac/WebCoreFrameBridge.mm: Ditto 46717 * platform/ContextMenu.h: Ditto 46718 * platform/ContextMenuItem.h: Ditto 46719 * platform/DragImage.h: Ditto 46720 * platform/FileChooser.h: Ditto 46721 * platform/PlatformKeyboardEvent.h: Ditto 46722 * platform/PopupMenu.h: Ditto 46723 * platform/SharedBuffer.h: Ditto 46724 * platform/cf/RetainPtr.h: Removed. 46725 * platform/graphics/Icon.h: Changed #include 46726 * platform/mac/ClipboardMac.h: Ditto 46727 * platform/mac/PasteboardMac.mm: Ditto 46728 * platform/mac/WidgetMac.mm: Ditto 46729 * platform/network/AuthenticationChallenge.h: Ditto 46730 * platform/network/ResourceError.h: Ditto 46731 * platform/network/ResourceHandle.h: Ditto 46732 * platform/network/ResourceRequest.h: Ditto 46733 * platform/network/ResourceResponse.h: Ditto 46734 * rendering/RenderThemeMac.mm: Ditto 46735 46736 2007-03-24 Mitz Pettel <mitz (a] webkit.org> 46737 46738 Fix for <rdar://problem/5086797>, layoutPending is now reporting incorrect results, which will lead 46739 to all sorts of layout issues. This is in bugzilla as 13179. 46740 46741 Reviewed by hyatt 46742 46743 - fix http://bugs.webkit.org/show_bug.cgi?id=13179 46744 REGRESSION (r20410): In debug builds, loading a certain page is suspended until redisplay is forced 46745 46746 Moved the root->needsLayout() check from layoutPending() to needsLayout() 46747 to restore the behavior before r20324. 46748 46749 * page/FrameView.cpp: 46750 (WebCore::FrameView::layoutPending): 46751 (WebCore::FrameView::needsLayout): 46752 46753 2007-03-24 Mitz Pettel <mitz (a] webkit.org> 46754 46755 Reviewed by Adele. 46756 46757 - fix http://bugs.webkit.org/show_bug.cgi?id=13180 46758 <rdar://problem/5084478> 46759 Another debug build crash from ASSERTION FAILED: !needsLayout() 46760 46761 No test possible because updateRendering() is always called after script 46762 execution. 46763 46764 * page/FrameView.cpp: 46765 (WebCore::FrameView::layout): Get the layout root after calling recalcStyle() 46766 since a style recalc may result in needing to do start layout at the root. 46767 46768 2007-03-24 Nikolas Zimmermann <zimmermann (a] kde.org> 46769 46770 Not reviewed. Build fix. 46771 46772 Fix FloatRect vs. IntRect confusion. 46773 46774 * rendering/RenderSVGImage.cpp: 46775 (WebCore::RenderSVGImage::nodeAtPoint): 46776 46777 2007-03-25 Mark Rowe <mrowe (a] apple.com> 46778 46779 Fix incorrect radar number. 46780 46781 * platform/network/mac/ResourceHandleMac.mm: 46782 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): 46783 46784 2007-03-23 Nikolas Zimmermann <zimmermann (a] kde.org> 46785 46786 Reviewed by Oliver. 46787 46788 Fix all known RenderSVGImage problems. 46789 46790 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12126 (RenderSVGImage seems to suffer from integer overflow) 46791 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12442 (raster images disappearing during script execution (SVG)) 46792 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12572 (WebKit does not properly invalidate image region after image load) 46793 46794 Added test: svg/custom/scrolling-embedded-svg-file-image-repaint-problem.html 46795 46796 In RenderSVGImage::paint, do not call shouldPaint() as this will never work properly for SVG renderers, as shouldPaint 46797 doesn't take into account any special SVG transformation (localTransform/absoluteTransform). Just remove the call. 46798 46799 Fix hit detection on RenderSVGImage - it didn't work properly at all. No idea why I didn't notice before. 46800 Thanks Andreas Neumann once again for writing excellent bug reports and pointing me to them :-) 46801 46802 The carto.net navigation tools work as expected now, and also the "dock like" image effect example. 46803 46804 * rendering/RenderSVGImage.cpp: 46805 (WebCore::RenderSVGImage::paint): 46806 (WebCore::RenderSVGImage::nodeAtPoint): 46807 46808 2007-03-24 Mitz Pettel <mitz (a] webkit.org> 46809 46810 Reviewed by Dave Hyatt. 46811 46812 - http://bugs.webkit.org/show_bug.cgi?id=13177 46813 Suppress control characters in the ATSUI code path 46814 46815 * platform/mac/FontMac.mm: 46816 (WebCore::overrideLayoutOperation): 46817 (WebCore::ATSULayoutParameters::initialize): 46818 46819 2007-03-24 David Hyatt <hyatt (a] apple.com> 46820 46821 Fix for <rdar://problem/5086400>, images scrolled offscreen continue to animate. Safari 2 would 46822 halt animations when images were no longer visible. 46823 46824 Reviewed by mjs, olliej 46825 46826 * platform/graphics/BitmapImage.cpp: 46827 (WebCore::BitmapImage::advanceAnimation): 46828 46829 2007-03-24 David Hyatt <hyatt (a] apple.com> 46830 46831 Fix for <rdar://problem/508328>, sluggish text entry in search field. Make sure 46832 our size actually changed before we decide to do a full repaint because of background/border 46833 complexities. 46834 46835 Reviewed by aroben 46836 46837 * rendering/RenderObject.cpp: 46838 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 46839 46840 2007-03-23 Dave Hyatt <hyatt (a] apple.com> 46841 46842 Fix for <rdar://problem/5048219>, spurious glyphs in gmail. This is bugzilla bug 13136, which 46843 will remain open to cover patching the complex text path. 46844 46845 Reviewed by aroben 46846 46847 * platform/Font.cpp: 46848 (WebCore::Font::glyphDataForCharacter): 46849 * platform/Font.h: 46850 (WebCore::Font::treatAsZeroWidthSpace): 46851 * platform/GlyphPageTreeNode.cpp: 46852 (WebCore::GlyphPageTreeNode::initializePage): 46853 46854 2007-03-23 Mitz Pettel <mitz (a] webkit.org> 46855 46856 Reviewed by Adele. 46857 46858 - fix http://bugs.webkit.org/show_bug.cgi?id=13153 46859 REGRESSION: Visual highlighting of pre-populated blank line in textarea is broken 46860 46861 - fix a bug where selecting across a soft line break did not highlight to 46862 the end of the first line if it contained skipped whitespace 46863 46864 Test: fast/text/selection-hard-linebreak.html 46865 46866 * rendering/InlineTextBox.cpp: 46867 (WebCore::InlineTextBox::selectionState): Changed to treat a selection that ends on the 46868 end of a hard line break as if it ends after the line break. Fixed the case of a selection 46869 that starts and ends in the same text object as the box but does not intersect it 46870 to return SelectionNone instead of selectionBoth. 46871 46872 2007-03-23 Mitz Pettel <mitz (a] webkit.org> 46873 46874 Reviewed by Adele. 46875 46876 - fix http://bugs.webkit.org/show_bug.cgi?id=13124 46877 REGRESSION: Reproducible crash in Widget::getView 46878 46879 Test: fast/frames/hover-timer-crash.html 46880 46881 * page/Frame.cpp: 46882 (WebCore::Frame::setView): Added a call to EventHandler::clear(). 46883 46884 2007-03-23 Justin Garcia <justin.garcia (a] apple.com> 46885 46886 Reviewed by adele 46887 46888 <rdar://problem/5078739> 46889 Crash in in ReplaceSelectionCommand if the fragment contains only a style span 46890 46891 * editing/ReplaceSelectionCommand.cpp: 46892 (WebCore::ReplaceSelectionCommand::doApply): Check 46893 for an empty fragment after removing a redundant 46894 style span instead of before. 46895 46896 2007-03-23 David Hyatt <hyatt (a] apple.com> 46897 46898 <rdar://problem/5085063> 46899 46900 Fix non-looping animation on cuteoverload.com. Just always flush 46901 decoded data for large animated images to avoid our cache getting 46902 out of sync with the image source. 46903 46904 Reviewed by ggaren 46905 46906 * platform/graphics/BitmapImage.cpp: 46907 (WebCore::BitmapImage::advanceAnimation): 46908 46909 2007-03-23 Adele Peterson <adele (a] apple.com> 46910 46911 Reviewed by Darin. 46912 46913 Fix for <rdar://problem/5061024> REGRESSION: Returning false from onkeypress event on Input is ignored when key is Tab 46914 http://bugs.webkit.org/show_bug.cgi?id= 13020 46915 46916 No known way to add a layout test for this. We would need a way to know exactly how the event was consumed. 46917 46918 * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): 46919 If the keypress event has its default behavior prevented, then we should consider the keydown event handled. 46920 46921 2007-03-23 Justin Garcia <justin.garcia (a] apple.com> 46922 46923 Reviewed by darin 46924 46925 <rdar://problem/5080333> 46926 REGRESSION: Selection changes when changing the alignment of an image 46927 46928 Regression occurred when we started using moveParagraphs 46929 to move content in applyBlockStyle. moveParagraphs 46930 moves by copying, deleting and reinserting content, and 46931 so must be accompanied by selection preservation code. 46932 That code uses rangeFromLocationAndLength and rangeLength, 46933 which use TextIterators, which don't emit anything for images 46934 and other replaced elements, causing this bug. 46935 46936 * editing/ApplyStyleCommand.cpp: 46937 (WebCore::ApplyStyleCommand::applyBlockStyle): Ask rangeLength 46938 and rangeFromLocationAndLength to request that their 46939 TextIterators emit spaces for replaced elements. 46940 Use rangeCompliantEquivalent()s when creating a Range from 46941 VisiblePositions, since some VisiblePositions have illegal 46942 deepEquivalent()s. 46943 * editing/CompositeEditCommand.cpp: 46944 (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 46945 * editing/TextIterator.cpp: 46946 (WebCore::TextIterator::TextIterator): 46947 (WebCore::TextIterator::handleReplacedElement): Emit 46948 a space if requested. 46949 (WebCore::TextIterator::representNodeOffsetZero): Emit 46950 ranges before m_node, not around m_lastTextNode. These 46951 ranges should represent the part of the document associated 46952 with the emitted character. 46953 (WebCore::TextIterator::rangeLength): Take in the new bool. 46954 (WebCore::TextIterator::rangeFromLocationAndLength): Ditto. 46955 Also, don't loop an extra time after finding the end of the 46956 range when we're looking for zero length ranges. This appeared 46957 to be a workaround for the bugs fixed in representNodeOffsetZero 46958 in this patch. 46959 * editing/TextIterator.h: 46960 46961 2007-03-24 Mark Rowe <mrowe (a] apple.com> 46962 46963 Rubber-stamped by Darin. 46964 46965 * Configurations/WebCore.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS. 46966 46967 2007-03-23 Darin Adler <darin (a] apple.com> 46968 46969 * html/HTMLBodyElement.cpp: Fix comment typo. 46970 46971 2007-03-23 Adam Treat <adam (a] staikos.net> 46972 46973 Reviewed and committed by George. 46974 46975 Patch from Adam Treat to make the Qt build work without SVG and XSLT. 46976 XMLNames is required in any case. 46977 46978 * WebCore.pro: 46979 46980 2007-03-23 Darin Adler <darin (a] apple.com> 46981 46982 Reviewed by Hyatt. 46983 46984 - <rdar://problem/5074439> handle margins on frame and iframe elements 46985 without involving FrameView, FrameLoader, etc. 46986 46987 * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::insertedIntoDocument): 46988 Grab the margin from the frame directly here. There was no real benefit 46989 to doing this via FrameView. Later we can delete quite a bit of unneeded code 46990 here and in WebKit that exists only to set up the margin values in FrameView, 46991 which are now unused. 46992 46993 2007-03-23 Adele Peterson <adele (a] apple.com> 46994 46995 Reviewed by Darin. 46996 46997 Fix for <rdar://problem/5080428> REGRESSION: getting value for hidden input element fails after the fix for Bug 11866 46998 http://bugs.webkit.org/show_bug.cgi?id=13121 46999 47000 Rolled out the change for 11866 that made hidden input elements store the value separately from the value attribute. 47001 Added an m_originalValue field that gets set when the element is done being parsed (in closeRenderer). In reset, 47002 use the m_originalValue for hidden input elements. 47003 47004 * html/HTMLInputElement.cpp: 47005 (WebCore::HTMLInputElement::closeRenderer): 47006 (WebCore::HTMLInputElement::reset): 47007 (WebCore::HTMLInputElement::setValue): 47008 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): 47009 * html/HTMLInputElement.h: 47010 47011 2007-03-23 Mitz Pettel <mitz (a] webkit.org> 47012 47013 Reviewed by Dave Hyatt. 47014 47015 - fix http://bugs.webkit.org/show_bug.cgi?id=13157 47016 <rdar://problem/5083995> 47017 List markers positioned incorrectly and don't repaint properly on Oxford homepage 47018 47019 Test: fast/lists/marker-image-error.html 47020 47021 * rendering/RenderListMarker.cpp: 47022 (WebCore::RenderListMarker::imageChanged): Mark ourselves for relayout if 47023 the image failed to load, since that means we will use a bullet instead. 47024 47025 2007-03-23 Zack Rusin <zrusin (a] trolltech.com> 47026 47027 Fix the compile. 47028 47029 * platform/graphics/qt/ImageSourceQt.cpp: 47030 47031 2007-03-22 Dave Hyatt <hyatt (a] apple.com> 47032 47033 Fix for <rdar://problem/5083072>. 47034 47035 * page/Frame.cpp: 47036 (WebCore::Frame::setPrinting): 47037 (WebCore::Frame::forceLayoutWithPageWidthRange): 47038 * page/Frame.h: 47039 * page/mac/WebCoreFrameBridge.mm: 47040 (-[WebCoreFrameBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): 47041 47042 2007-03-22 Anders Carlsson <acarlsson (a] apple.com> 47043 47044 Reviewed by Ada. 47045 47046 <rdar://problem/5074974> 47047 CrashTracer: [USER] repro crash in Safari at com.apple.WebCore: WebCore::FrameLoader::activeDocumentLoader const + 6 47048 47049 * loader/mac/NetscapePlugInStreamLoaderMac.mm: 47050 (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): 47051 Don't use ResourceResponse:isHTTP here since that only looks at the protocol instead of if the response came from a 47052 HTTP server (and not a web archive). 47053 47054 2007-03-22 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 47055 47056 Not reviewed - gdk build fix. 47057 47058 * platform/graphics/cairo/ImageSourceCairo.cpp: 47059 47060 2007-03-22 Dave Hyatt <hyatt (a] apple.com> 47061 47062 Fix for <rdar://problem/5083473>. Make sure wheeling still forwards to the frame view even 47063 when no node is hit. Technically not ever hitting a node is a regression from the RenderView 47064 size changes (making it be the size of the initial containing block according to CSS2.1), but 47065 we should still handle this case gracefully in case it comes up again. 47066 47067 Reviewed by olliej 47068 47069 * page/EventHandler.cpp: 47070 (WebCore::EventHandler::handleWheelEvent): 47071 47072 2007-03-22 Justin Garcia <justin.garcia (a] apple.com> 47073 47074 Reviewed by kevin 47075 47076 <rdar://problem/5081257> 47077 REGRESSION: New Mail signatures start out empty 47078 47079 * editing/VisiblePosition.cpp: 47080 (WebCore::VisiblePosition::canonicalPosition): Allow 47081 descent from positions inside the document into an 47082 editable body. 47083 47084 2007-03-22 Brady Eidson <beidson (a] apple.com> 47085 47086 Reviewed by Adele and John 47087 47088 <rdar://5043528> - Prepare for new API 47089 47090 * platform/network/ResourceHandle.cpp: 47091 (WebCore::ResourceHandle::clearAuthentication): Clear CF type 47092 47093 2007-03-22 Beth Dakin <bdakin (a] apple.com> 47094 47095 Patch by Hyatt, reviewed and committed by me. 47096 47097 Does not reproduce consistently, so a layout test does not seem 47098 possible. 47099 47100 Fix for <rdar://problem/5082421> Constantly hitting ASSERT(! 47101 needsLayout()) in RenderView::paint() 47102 47103 * page/FrameView.cpp: 47104 (WebCore::FrameView::layoutPending): It is not enough to ask if the 47105 layout timer is active. There may be times that we don't have a 47106 body yet so we cannot schedule layout yet, but the root still needs 47107 layout. 47108 47109 2007-03-22 John Sullivan <sullivan (a] apple.com> 47110 47111 Reviewed by Darin 47112 47113 Followup for recent fix to 5079700, found by assertion added to Safari. 47114 47115 * page/mac/FrameMac.mm: 47116 (WebCore::Frame::searchForLabelsBeforeElement): 47117 Fixed another place in this method where an empty NSString was being returned instead of nil. 47118 Cleaned up the style a little too. 47119 47120 2007-03-22 David Hyatt <hyatt (a] apple.com> 47121 47122 Remove unnecessary destroyFrameAtIndex call. Now that we throw away 47123 the image source, it is no longer needed. 47124 47125 Reviewed by beth 47126 47127 * platform/graphics/BitmapImage.cpp: 47128 (WebCore::BitmapImage::destroyDecodedData): 47129 47130 2007-03-22 David Harrison <harrison (a] apple.com> 47131 47132 Reviewed by Geoff, Darin. 47133 47134 <rdar://problem/5077892> In RapidWeaver 3.5.1, a crash occurs when attempting to load Safari Bookmarks in iMedia Browser 47135 47136 * platform/mac/ThreadCheck.mm: 47137 (WebCore::_WebCoreThreadViolationCheck): 47138 Change default on Tiger to NSLog rather than raise an exception. 47139 47140 2007-03-22 Darin Adler <darin (a] apple.com> 47141 47142 Reviewed by Brady. 47143 47144 - use binary_search instead of hash table; slightly better performance and 47145 less memory use 47146 47147 * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::portAllowed): 47148 Use binary_search. 47149 47150 2007-03-22 Darin Adler <darin (a] apple.com> 47151 47152 Reviewed by Adele. 47153 47154 - fix <rdar://problem/5074630> detachChildren call should move from WebKit to WebCore 47155 47156 * loader/FrameLoader.cpp: (WebCore::FrameLoader::setDocumentLoader): 47157 Add a call to detachChildren() after the call to prepareForDataSourceReplacement(). 47158 There was no reason for this crucial loading step to be left to the client. 47159 47160 2007-03-22 David Hyatt <hyatt (a] apple.com> 47161 47162 Minor refactoring and cleanup of the bridge calls that want to control layout settings on the RenderView. 47163 Have the bridge talk through the FrameView instead of just asking for the RenderView directly. 47164 47165 Add an assert to help catch situations where the RenderView needs layout at paint time, since this is a known 47166 catastrophic scenario that will (much of the time) result in a crash in RenderTableSection::paint. 47167 47168 Reviewed by aroben 47169 47170 * page/FrameView.cpp: 47171 (WebCore::FrameView::adjustViewSize): 47172 (WebCore::FrameView::needsLayout): 47173 (WebCore::FrameView::setNeedsLayout): 47174 * page/FrameView.h: 47175 * page/mac/WebCoreFrameBridge.mm: 47176 (-[WebCoreFrameBridge needsLayout]): 47177 (-[WebCoreFrameBridge setNeedsLayout]): 47178 * rendering/RenderView.cpp: 47179 (WebCore::RenderView::paint): 47180 47181 2007-03-21 Geoffrey Garen <ggaren (a] apple.com> 47182 47183 Reviewed by Beth Dakin. 47184 47185 Re-worked the fix in r20375. 'M' and 'm' are not the only commands that 47186 accept "extra" coordinates -- virtually all commands accept them. 47187 47188 * ksvg2/svg/SVGParserUtilities.cpp: 47189 (WebCore::SVGPathParser::parseSVG): 47190 47191 2007-03-21 David Harrison <harrison (a] apple.com> 47192 47193 Reviewed by hyatt. 47194 47195 <rdar://problem/5072460> CrashTracer: [USER] 1 crashes in Xcode at com.apple.ImageIO.framework: getBandProcPNG + 168 47196 47197 An NSData object was being alloc/init'd, then returned callers who cast the pointer as a 47198 CFDataRef, including calling CFRelease on it. The problem is that under garbage collection, the NS 47199 retain count is ignored (it's always 0), but the CFRetain and CFRelease are not ignored. This 47200 caused the object to be over-released. The solution that works in both GC and non-GC is to "transfer" 47201 the initial NS retain count to the CF retain count, using HardRetainWithNSRelease. 47202 47203 The creator of the NSData was SharedBuffer::createNSData. The callers were PDFDocumentImage::dataChanged() 47204 and ImageSource::setData(). This particular crash involved the ImageSource::setData() case. 47205 47206 * platform/SharedBuffer.h: 47207 Declare createCFData(). 47208 47209 * platform/graphics/cg/ImageSourceCG.cpp: 47210 (WebCore::ImageSource::setData): 47211 Call createCFData instead of createNSData. 47212 47213 * platform/graphics/cg/PDFDocumentImage.cpp: 47214 (WebCore::PDFDocumentImage::dataChanged): 47215 Call createCFData instead of createNSData. 47216 47217 * platform/mac/SharedBufferMac.mm: 47218 (WebCore::SharedBuffer::createCFData): 47219 Implement createCFData(). Use HardRetainWithNSRelease for gc safety. 47220 47221 2007-03-21 Mitz Pettel <mitz (a] webkit.org> 47222 47223 Reviewed by Darin. 47224 47225 - fix http://bugs.webkit.org/show_bug.cgi?id=13145 47226 Regression: Scrollbar not resizing after display none 47227 47228 Test: fast/dynamic/view-overflow.html 47229 47230 * rendering/RenderView.cpp: 47231 (WebCore::RenderView::layout): Reset overflowHeight() and overflowWidth() 47232 before calling docHeight() and docWidth(), since the former act as a lower 47233 bound for the latter. 47234 47235 2007-03-21 Geoffrey Garen <ggaren (a] apple.com> 47236 47237 Reviewed by Beth Dakin. 47238 47239 A little cleanup based work I've been doing on the SVG parsers. 47240 47241 * ksvg2/svg/SVGParserUtilities.h: 47242 (WebCore::skipString): 47243 * ksvg2/svg/SVGPreserveAspectRatio.cpp: Moved checkString into 47244 SVGParserUtilities.h, so it could be with all its friends. Renamed 47245 "checkString" to "skipString" to match the rest of the code and to be 47246 clear about which functions move the buffer pointer. 47247 (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): 47248 * ksvg2/svg/SVGTransformable.cpp: 47249 (WebCore::SVGTransformable::parseTransformAttribute): Changed gotos into 47250 returns. Removed unnecessary magic number. 47251 47252 2007-03-21 Geoffrey Garen <ggaren (a] apple.com> 47253 47254 Reviewed by Beth Dakin. 47255 47256 Fixed <rdar://problem/5078471> SVG rgb color parser runs past end of 47257 buffer when running fuzzing test 47258 47259 * ksvg2/svg/SVGColor.cpp: 47260 (WebCore::parseNumberOrPercent): Check for past the end condition. 47261 (WebCore::SVGColor::colorFromRGBColorString): Reversed "read past end 47262 of buffer, then check if you're past the end" logic. 47263 47264 2007-03-21 Geoffrey Garen <ggaren (a] apple.com> 47265 47266 Reviewed by Beth Dakin. 47267 47268 Fixed <rdar://problem/5079410> SVG path parser hangs, exhausts memory when 47269 running fuzzer test 47270 47271 * ksvg2/svg/SVGParserUtilities.cpp: 47272 (WebCore::SVGPathParser::parseSVG): Don't assume that extra digits are 47273 always preceded by an 'M' or an 'm'. 47274 47275 2007-03-21 John Sullivan <sullivan (a] apple.com> 47276 47277 Reviewed by Adam 47278 47279 - fixed <rdar://problem/5079700> REGRESSION (r19702): Name/password aren't autofilled 47280 or saved for .Mac homepage login 47281 47282 * page/mac/FrameMac.mm: 47283 (WebCore::Frame::searchForLabelsBeforeElement): 47284 don't count empty strings as valid results 47285 47286 2007-03-21 Justin Garcia <justin.garcia (a] apple.com> 47287 47288 Reviewed by darin 47289 47290 * editing/markup.cpp: 47291 (WebCore::styleFromMatchedRulesAndInlineDecl): 47292 Release the RefPtr to avoid increasing/decreasing 47293 the refcount unnecessarily. 47294 (WebCore::propertyMissingOrEqualToNone): Added and used 47295 instead of converting values to strings. 47296 (WebCore::elementHasTextDecorationProperty): 47297 (WebCore::createMarkup): 47298 47299 2007-03-21 Justin Garcia <justin.garcia (a] apple.com> 47300 47301 Reviewed by oliver 47302 47303 <rdar://problem/5075944> 47304 REGRESSION: Partially selected underlined content pastes as plain text 47305 47306 We stopped adding markup for all the ancestors 47307 of lastClosed up to the commonAncestorBlock 47308 because it was adding a lot of unnecessary markup. 47309 This caused us to lose underlining when copying a 47310 partially selected underlined element (even though 47311 we put all styles that the copied markup inherits 47312 into a style span, because the text-decoration 47313 isn't inheritable). 47314 47315 * editing/markup.cpp: 47316 (WebCore::styleFromMatchedRulesAndInlineDecl): Moved 47317 code here. 47318 (WebCore::elementHasTextDecorationProperty): Added. 47319 (WebCore::createMarkup): If the copied markup has a 47320 text-decoration because some common ancestor has 47321 a text-decoration property set, include that ancestor 47322 and all its descendants in the copied markup. 47323 47324 2007-03-21 Oliver Hunt <oliver (a] apple.com> 47325 47326 Reviewed by Antti. 47327 47328 Update a few SVG attribute parsers to be more defensive against 47329 reading beyond the end of input. 47330 47331 Fixes rdar://problem/5077218 -- SVG transform parser runs past 47332 end of buffer when running fuzzing test 47333 47334 * ksvg2/svg/SVGParserUtilities.cpp: 47335 (WebCore::SVGPathParser::parseSVG): 47336 * ksvg2/svg/SVGParserUtilities.h: 47337 (WebCore::skipOptionalSpacesOrDelimiter): 47338 * ksvg2/svg/SVGTransformable.cpp: 47339 (WebCore::parseTransformParamList): 47340 (WebCore::SVGTransformable::parseTransformAttribute): 47341 47342 2007-03-21 Alexey Proskuryakov <ap (a] webkit.org> 47343 47344 Reviewed by Mitz. 47345 47346 http://bugs.webkit.org/show_bug.cgi?id=13140 47347 Crash after loading SVG fragment with XMLHttpRequest (Yosemite Map Geology Layer) 47348 47349 Test: svg/carto.net/frameless-svg-parse-error.html 47350 47351 * ksvg2/misc/SVGDocumentExtensions.cpp: 47352 (WebCore::SVGDocumentExtensions::reportError): Added a null check. 47353 (WebCore::SVGDocumentExtensions::reportWarning): Ditto. 47354 47355 2007-03-21 Beth Dakin <bdakin (a] apple.com> 47356 47357 Reviewed by Geoff. 47358 47359 Fix for <rdar://problem/5072678> Crash in 47360 RenderLayer::scrollRectToVisible with MallocScribble enabled 47361 47362 I tried to fix this earlier today but my fix caused a regression 47363 scrolling through RSS pages. It turns out that sometimes scroll 47364 events need to propagate immediately, and sometimes they must be 47365 delayed or they risk deleting objects that are expected to be 47366 around after the event has propagated. Mitz's original fix made 47367 sheduleEvent() only delay events that happen during layout. This 47368 fix marks two other places in addition to layout where events also 47369 need to be delayed. These two places are places that were marked 47370 with FIXMEs that Mitz removed in his original patch. (There was a 47371 third FIXME in RenderLayer::updateScrollInfoAfterLayout() but that 47372 case is only called through layout and is covered by Mitz's 47373 original patch.) 47374 47375 * page/FrameView.cpp: 47376 (WebCore::FrameView::~FrameView): Added assertion. 47377 (WebCore::FrameView::layout): Call new functions to increment and 47378 decrement the queued events count. 47379 (WebCore::FrameView::pauseScheduledEvents): 47380 (WebCore::FrameView::resumeScheduledEvents): Decrement queued 47381 events count and dispatch events if the count has zeroed. 47382 * page/FrameView.h: 47383 * rendering/RenderLayer.cpp: 47384 (WebCore::RenderLayer::scrollRectToVisible): 47385 (WebCore::Marquee::start): 47386 47387 2007-03-21 Mitz Pettel <mitz (a] webkit.org> 47388 47389 Reviewed by John Sullivan. 47390 47391 - fix http://bugs.webkit.org/show_bug.cgi?id=13130 47392 REGRESSION: Sometimes a frame resizer keeps following the mouse after mouseup 47393 47394 * rendering/RenderFrameSet.cpp: 47395 (WebCore::RenderFrameSet::userResize): Reordered the code to allow resizing 47396 to be terminated by a mouseup event regardless of whether the frameset needs 47397 layout. 47398 47399 2007-03-20 Anders Carlsson <acarlsson (a] apple.com> 47400 47401 Reviewed by Oliver. 47402 47403 <rdar://problem/5077252> 47404 In NetNewsWire 2.1.1 and 3.0d62, a crash occurs after triple-clicking a link on the page 47405 47406 * loader/FrameLoader.cpp: 47407 (WebCore::FrameLoader::load): 47408 Move the m_inStopAllLoaders check to the load function that's common for loading a request or substitute data. 47409 47410 2007-03-20 Brady Eidson <beidson (a] apple.com> 47411 47412 Reviewed by Anders. 47413 47414 <rdar://problem/5073391> and http://bugs.webkit.org/show_bug.cgi?id=13137 47415 47416 Crash in IconDatabase when private browsing is enabled. 47417 47418 The problem was caused by http://trac.webkit.org/projects/webkit/changeset/20182 47419 which changed many uses of char[] and Vector<char> to SharedBuffer. The patch 47420 tended to literally replace a Vector<char> with RefPtr<SharedBuffers> but forgot 47421 to enforce the concept that Vector<char>'s always exist, whereas RefPtr<SharedBuffers> 47422 can be null. This led to derefs. 47423 47424 I took the opportunity to rework the iconDB functions to live in a SharedBuffer 47425 world, as that didn't exist when they were originally written - now they just return 47426 SharedBuffers instead of taking a Vector<char>& as a parameter 47427 47428 * loader/icon/IconDatabase.cpp: 47429 (WebCore::IconDatabase::imageDataForIconURL): Return a SharedBuffer 47430 (WebCore::IconDatabase::iconForPageURL): Null check the SharedBuffer before asking 47431 it if it's empty 47432 (WebCore::IconDatabase::imageDataForIconURLQuery): Return a new SharedBuffer 47433 47434 * loader/icon/IconDatabase.h: Return SharedBuffer's instead of taking Vector<char>&'s 47435 47436 2007-03-20 Adam Roben <aroben (a] apple.com> 47437 47438 Rubberstamped by Adele. 47439 47440 Roll out r20348 because it was causing crashes. 47441 47442 * page/FrameView.cpp: 47443 (WebCore::FrameViewPrivate::FrameViewPrivate): 47444 (WebCore::FrameView::layout): 47445 (WebCore::FrameView::scheduleEvent): 47446 47447 2007-03-20 Timothy Hatcher <timothy (a] apple.com> 47448 47449 Reviewed by Kevin Decker. 47450 47451 Rolling out part of r19828 that caused a scrolling regression in Mail. 47452 47453 <rdar://problem/4820817> Message jumps around when trying to select text 47454 47455 * platform/mac/ScrollViewMac.mm: 47456 (WebCore::ScrollView::visibleContentRect): 47457 (WebCore::ScrollView::updateContents): 47458 47459 2007-03-20 Brady Eidson <beidson (a] apple.com> 47460 47461 Reviewed by John 47462 47463 <rdar://5071341> - Crash in IconLoader::finishLoading() 47464 47465 Though the reproducibility of the crash is still elusive, there's been a crasher likely uncovered 47466 Hyatt's recent caching changings to the IconLoader. This crash tends to hit on sites without favicons, 47467 that serve up complex 404 pages, often when the load is cancelled or redirected. Occasionally, it *seems* 47468 the IconLoader is getting failed/cancelled twice. 47469 47470 This patch adds some assertions and a "fail gracefully in a release build" check that will have to 47471 serve us until we know more about the cause. 47472 47473 * loader/icon/IconLoader.cpp: 47474 (WebCore::IconLoader::didFail): Add an assertion to catch this case 47475 (WebCore::IconLoader::finishLoading): Add an assertion to catch the case, and fail 47476 gracefully in debug builds. Also add an efficiency check to not commit to the DB if there is no 47477 IconURL 47478 47479 2007-03-20 Antti Koivisto <antti (a] apple.com> 47480 47481 Reviewed by Darin. 47482 47483 - fix http://bugs.webkit.org/show_bug.cgi?id=10747 47484 REGRESSION: Using two fingers on a trackpad to scroll inside a text area makes the whole page move 47485 <rdar://problem/5045710> 47486 47487 Eat smooth scroll events in WebCore if pointer is over scrollable area. Not 47488 really a good fix, smooth scrolling should be supported properly. It should do for now. 47489 47490 * page/EventHandler.cpp: 47491 (WebCore::EventHandler::handleWheelEvent): 47492 * rendering/RenderListBox.cpp: 47493 (WebCore::RenderListBox::isScrollable): 47494 * rendering/RenderListBox.h: 47495 * rendering/RenderObject.cpp: 47496 (WebCore::RenderObject::isScrollable): 47497 * rendering/RenderObject.h: 47498 * rendering/RenderTextControl.cpp: 47499 (WebCore::RenderTextControl::isScrollable): 47500 * rendering/RenderTextControl.h: 47501 47502 2007-03-20 Beth Dakin <bdakin (a] apple.com> 47503 47504 Reviewed by Geoff. 47505 47506 Covered by existing test case. 47507 47508 Fix for <rdar://problem/5072678> Crash in 47509 RenderLayer::scrollRectToVisible with MallocScribble enabled 47510 47511 This removes some code that was added with http://bugs.webkit.org/ 47512 show_bug.cgi?id=8360. This code was not needed to fix that bug, but 47513 the idea behind it was that there are times when it is safe for 47514 scheduleEvent() to propagate the event immediately. The 47515 MallocScribble crash revealed that this assumption was a bit too 47516 broad; the cause of the crash was that we were propagating events 47517 immediately when it was not safe. Mitz and I discussed this online 47518 and we agree that the safest solution is to revert to the old 47519 behavior here, and always delay the propagation of the event. 47520 47521 * page/FrameView.cpp: 47522 (WebCore::FrameViewPrivate::FrameViewPrivate): 47523 (WebCore::FrameView::layout): 47524 (WebCore::FrameView::scheduleEvent): 47525 47526 2007-03-20 Brady Eidson <beidson (a] apple.com> 47527 47528 Reviewed by John Sullivan 47529 47530 Add some very helpful logging to the IconLoader's SubresourceLoaderClient impl. 47531 47532 * loader/icon/IconLoader.cpp: 47533 (WebCore::IconLoader::didReceiveResponse): 47534 (WebCore::IconLoader::didReceiveData): 47535 (WebCore::IconLoader::didFail): 47536 (WebCore::IconLoader::didFinishLoading): 47537 47538 2007-03-20 Justin Garcia <justin.garcia (a] apple.com> 47539 47540 Reviewed by darin 47541 47542 <rdar://problem/5071074> 47543 REGRESSION: Links are pasted as plain text at certain positions 47544 47545 moveParagraphs calls createMarkup without annotation, which leaves 47546 out anchor elements that aren't fully selected. 47547 47548 * editing/CompositeEditCommand.cpp: 47549 (WebCore::CompositeEditCommand::moveParagraphs): We don't want 47550 createMarkup to do full annotation here. Doing so could include 47551 special ancestor blocks, which would prevent the copied content 47552 from appearing in the destination paragraph when it's re-inserted. 47553 Annotation would also inline styles from style sheets, which is 47554 unnecessary because the content is being moved to the same 47555 document it's being moved from. 47556 Added a new bool to createMarkup that when true allows markup for 47557 special ancestors as long as they are inline when annotation is off. 47558 * editing/markup.cpp: 47559 (WebCore::createMarkup): Don't set specialCommonAncestor if annotation 47560 is off, unless it's inline and we've been told it's ok to include such 47561 elements. 47562 * editing/markup.h: 47563 47564 2007-03-20 Alexey Proskuryakov <ap (a] webkit.org> 47565 47566 Reviewed by Darin. 47567 47568 http://bugs.webkit.org/show_bug.cgi?id=12497 47569 Implement XPath result ordering. 47570 47571 XPath::NodeVector typedef is replaced with a real XPath::NodeSet class that knows how 47572 to sort itself, and can remember whether it has been already sorted. 47573 47574 * CMakeLists.txt: 47575 * WebCore.pro: 47576 * WebCore.xcodeproj/project.pbxproj: 47577 * WebCoreSources.bkl: 47578 Added XPathNodeSet files. 47579 47580 * xml/XPathExpression.cpp: Fixed includes. 47581 47582 * xml/XPathFunctions.cpp: 47583 (WebCore::XPath::FunId::evaluate): Mark the resulting node-set as unsorted. 47584 (WebCore::XPath::FunLocalName::evaluate): Replacing NodeVector with NodeSet. 47585 (WebCore::XPath::FunNamespaceURI::evaluate): Ditto. 47586 (WebCore::XPath::FunName::evaluate): Ditto. 47587 (WebCore::XPath::FunCount::evaluate): Ditto. 47588 (WebCore::XPath::FunSum::evaluate): Ditto. 47589 47590 * xml/XPathNodeSet.cpp: Added. 47591 (WebCore::XPath::parentWithDepth): 47592 (WebCore::XPath::sortBlock): 47593 (WebCore::XPath::NodeSet::sort): Sort the node-set in document order. 47594 (WebCore::XPath::NodeSet::reverse): Reverse the order (useful for making axes such as 47595 parent or ancestor sorted). 47596 (WebCore::XPath::NodeSet::firstNode): Returns the first node in document order; currently 47597 implemented via fully sorting the node-set, but this can obviously be optimized. 47598 (WebCore::XPath::NodeSet::anyNode): Added for symmetry with firstNode(). 47599 47600 * xml/XPathNodeSet.h: Added. 47601 (WebCore::XPath::NodeSet::NodeSet): 47602 (WebCore::XPath::NodeSet::operator=): 47603 (WebCore::XPath::NodeSet::size): 47604 (WebCore::XPath::NodeSet::isEmpty): 47605 (WebCore::XPath::NodeSet::operator[]): 47606 (WebCore::XPath::NodeSet::reserveCapacity): 47607 (WebCore::XPath::NodeSet::clear): 47608 (WebCore::XPath::NodeSet::swap): 47609 (WebCore::XPath::NodeSet::append): 47610 (WebCore::XPath::NodeSet::markSorted): 47611 (WebCore::XPath::NodeSet::isSorted): 47612 Most of these methods just call Vector counterparts. 47613 47614 * xml/XPathParser.cpp: Updated the copyright notice. 47615 47616 * xml/XPathPath.cpp: 47617 (WebCore::XPath::Filter::evaluate): Replacing NodeVector with NodeSet. 47618 (WebCore::XPath::Path::evaluate): Ditto. 47619 (WebCore::XPath::LocationPath::evaluate): Replacing NodeVector with NodeSet. This function 47620 always marks the result as unsorted, because it is hard to tell whether a step breaks node order. 47621 Identifying and implementing special cases when it is not necessary to do so is an important 47622 future optimization. 47623 47624 * xml/XPathPath.h: Replacing NodeVector with NodeSet. 47625 * xml/XPathPredicate.cpp: 47626 (WebCore::XPath::EqTestOp::compare): Replacing NodeVector with NodeSet. 47627 (WebCore::XPath::Union::evaluate): Replacing NodeVector with NodeSet. Currently, Union just 47628 marks the result as unordered; we can consider using merge sort to avoid this. 47629 47630 * xml/XPathResult.cpp: 47631 (WebCore::XPathResult::XPathResult): Replacing NodeVector with NodeSet. 47632 (WebCore::XPathResult::singleNodeValue): Ditto. 47633 (WebCore::XPathResult::snapshotLength): Ditto. 47634 (WebCore::XPathResult::iterateNext): Ditto. 47635 (WebCore::XPathResult::snapshotItem): Ditto. 47636 (WebCore::XPathResult::convertTo): Ditto. Sort the result when requested to. 47637 47638 * xml/XPathResult.h: Replacing NodeVector with NodeSet. 47639 47640 * xml/XPathStep.cpp: 47641 (WebCore::XPath::Step::evaluate): If the input is not sorted, mark the output as such, too. 47642 (WebCore::XPath::Step::nodesInAxis): Fixed a number of bugs when enumerating with an 47643 attribute context node. 47644 (WebCore::XPath::Step::nodeTestMatches): Replacing NodeVector with NodeSet. 47645 * xml/XPathStep.h: Ditto. 47646 47647 * xml/XPathUtil.cpp: 47648 (WebCore::XPath::isValidContextNode): XPath data model doesn't put attribute data into child 47649 nodes, so passing such node as a context could cause problems. 47650 47651 * xml/XPathUtil.h: Removed NodeVector typedef. 47652 47653 * xml/XPathValue.cpp: 47654 (WebCore::XPath::Value::Value): 47655 (WebCore::XPath::Value::toNodeSet): 47656 (WebCore::XPath::Value::toBoolean): 47657 (WebCore::XPath::Value::toNumber): 47658 (WebCore::XPath::Value::toString): 47659 * xml/XPathValue.h: 47660 (WebCore::XPath::Value::): 47661 (WebCore::XPath::Value::isNodeSet): 47662 Replacing NodeVector with NodeSet. 47663 47664 2007-03-21 Mark Rowe <mrowe (a] apple.com> 47665 47666 Build fix. 47667 47668 * bindings/objc/WebScriptObject.mm: 47669 (-[WebScriptObject methodForSelector:]): 47670 (-[WebScriptObject respondsToSelector:]): 47671 47672 2007-03-21 Mark Rowe <mrowe (a] apple.com> 47673 47674 Reviewed by Tim Hatcher. 47675 47676 Fix for http://bugs.webkit.org/show_bug.cgi?id=13129. 47677 Bug 13129: Democracy Player dies in NSException from WebScriptObject on startup. 47678 47679 Some cross-language scripting bridges use the presence of -(int)count to determine 47680 whether to treat objects as sequence-like. All WebScriptObject's exposed this method 47681 which lead to non-collection WebScriptObject's being mishandled by PyObjC. We now 47682 expose -count only when the object we wrap looks like a collection from a JavaScript 47683 point of view (eg, it has a length property). 47684 47685 * bindings/objc/WebScriptObject.mm: 47686 (-[WebScriptObject _shouldRespondToCount]): 47687 (-[WebScriptObject methodForSelector:]): 47688 (-[WebScriptObject respondsToSelector:]): 47689 (-[WebScriptObject _count]): 47690 * bindings/objc/WebScriptObjectPrivate.h: 47691 47692 2007-03-20 Darin Adler <darin (a] apple.com> 47693 47694 * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): 47695 Fix obvious typo in the change from last night -- forgot to assign to the variable. 47696 47697 2007-03-20 Dave Hyatt <hyatt (a] apple.com> 47698 47699 Refactor fonts a bit for portability. 47700 47701 Reviewed by aroben 47702 47703 * platform/Font.cpp: 47704 (WebCore::Font::drawSimpleText): 47705 (WebCore::Font::drawGlyphBuffer): 47706 (WebCore::Font::floatWidthForSimpleText): 47707 * platform/Font.h: 47708 * platform/FontData.h: 47709 (WebCore::FontData::isSystemFont): 47710 (WebCore::FontData::scriptCache): 47711 * platform/GlyphBuffer.h: 47712 (WebCore::GlyphBuffer::add): 47713 47714 2007-03-20 Anders Carlsson <acarlsson (a] apple.com> 47715 47716 Reviewed by Adam. 47717 47718 Stub out a couple of CFNetwork backend functions. 47719 47720 * platform/network/ResourceHandle.h: 47721 47722 2007-03-19 Oliver Hunt <oliver (a] apple.com> 47723 47724 Reviewed by Ada. 47725 47726 Protect against possibility of JS detaching a frame (and losing its view) 47727 midway through a mouse move. 47728 47729 * page/EventHandler.cpp: 47730 (WebCore::EventHandler::handleMouseMoveEvent): 47731 47732 2007-03-19 Alexey Proskuryakov <ap (a] webkit.org> 47733 47734 Reviewed by Darin. 47735 47736 http://bugs.webkit.org/show_bug.cgi?id=13107 47737 XPath should raise an exception when trying to parse an unknown function 47738 47739 Test: fast/xpath/invalid-functions.html 47740 47741 * xml/XPathFunctions.cpp: 47742 (WebCore::XPath::createFunction): Return 0 if the function couldn't be created. 47743 * xml/XPathGrammar.y: Handle nulls returned from createFunction(). 47744 47745 2007-03-19 Adele Peterson <adele (a] apple.com> 47746 47747 Reviewed by Beth. 47748 47749 Fix for http://bugs.webkit.org/show_bug.cgi?id=13087 47750 <rdar://problem/5064316> REGRESSION: Allow setting the checked attribute in js and in markup for unnamed radio buttons (dominos.com) 47751 47752 Test: fast/forms/radio_checked_name.html 47753 47754 We were matching a WinIE quirk that does not allow a user to check and uncheck an unnamed radio button. But they still 47755 allow the checked attribute to be set in html, and changed in javascript. So this change matches that behavior. 47756 47757 * html/HTMLInputElement.cpp: 47758 (WebCore::HTMLInputElement::parseMappedAttribute): We no longer need a special call to setChecked when parsing the name 47759 attribute, since we setChecked will now work with unnamed radio buttons. 47760 (WebCore::HTMLInputElement::preDispatchEventHandler): Added comment. 47761 (WebCore::HTMLInputElement::setChecked): Don't check for the unnamed radio button case here. 47762 (WebCore::HTMLInputElement::postDispatchEventHandler): Don't call setChecked for unnamed radio buttons. 47763 (WebCore::HTMLInputElement::defaultEventHandler): ditto. 47764 47765 2007-03-19 Adam Roben <aroben (a] apple.com> 47766 47767 Rubberstamped by Oliver. 47768 47769 * bridge/JavaScriptStatistics.cpp: Added missing header for 47770 correctness. 47771 47772 2007-03-19 Andrew Wellington <proton (a] wiretapped.net> 47773 47774 Reviewed by Maciej. 47775 47776 Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html) 47777 47778 * WebCore.xcodeproj/project.pbxproj: 47779 47780 2007-03-19 Justin Garcia <justin.garcia (a] apple.com> 47781 47782 Reviewed by darin 47783 47784 <rdar://problem/5071074> 47785 REGRESSION: Links that aren't fully selected copy and paste as only text 47786 47787 We stopped adding markup for all commonAncestorBlocks 47788 and the ancestors of lastClosed up to them because it 47789 was adding a lot of unnecessary markup. 47790 47791 * editing/markup.cpp: 47792 (WebCore::createMarkup): Also include markup for nodes 47793 up to an enclosing anchor. Cleaned up the code for 47794 including special common ancestors a bit. 47795 47796 2007-03-19 Nikolas Zimmermann <zimmermann (a] kde.org> 47797 47798 Reviewed by Lars Knoll. 47799 47800 Fix crash when opening a SVG document which contains SVG elements, but no <svg> root element. 47801 Moving the mouse was crashing WebKit. Fixes svg/hixie/dynamic/006.xml. 47802 47803 * rendering/RenderObject.cpp: 47804 (WebCore::RenderObject::updateHitTestResult): 47805 47806 2007-03-19 Mitz Pettel <mitz (a] webkit.org> 47807 47808 Reviewed by Hyatt. 47809 47810 - fix http://bugs.webkit.org/show_bug.cgi?id=13117 47811 REGRESSION (r14658): Flickering text fields when updating via javascript 47812 47813 * page/Frame.cpp: 47814 (WebCore::Frame::forceLayout): Added a flag to allow partial relayout. 47815 * page/Frame.h: 47816 * page/mac/WebCoreFrameBridge.mm: 47817 (-[WebCoreFrameBridge forceLayoutAdjustingViewSize:]): Allow partial relayout 47818 if not adjusting view size. 47819 (-[WebCoreFrameBridge needsLayout]): Changed to check for pending subtree 47820 layout instead of just whether the root needs layout. 47821 47822 2007-03-18 Nikolas Zimmermann <zimmermann (a] kde.org> 47823 47824 Reviewed by Maciej. 47825 47826 Make JS function calls on POD-types (ie. SVGLength) take effect. 47827 Calling ie. newValueInSpecifiedUnits on SVGLength works as expected. 47828 47829 This worked fine before we switched to SVGLength POD type, so this 47830 can be considered as P1 regression fix. 47831 47832 Partly fix svg/hixie/dynamic/005-broken.svg. We match Opera now though 47833 it's not yet completly fixed. Setting baseVal attribute on SVGAnimatedString 47834 doesn't work as expected - needs a seperated fix. 47835 47836 * bindings/scripts/CodeGeneratorJS.pm: 47837 47838 2007-03-19 Adele Peterson <adele (a] apple.com> 47839 47840 Reviewed by Adam. 47841 47842 Adding comments and a little cleanup from my last checkin. 47843 47844 * html/HTMLSelectElement.cpp: 47845 (WebCore::HTMLSelectElement::setSelectedIndex): Removed commented out assert. Added comment about how we use onChange. 47846 (WebCore::HTMLSelectElement::selectAll): Added comment about how we use saveLastSelection and onChange. 47847 (WebCore::HTMLSelectElement::dispatchFocusEvent): ditto. 47848 (WebCore::HTMLSelectElement::dispatchBlurEvent): ditto. 47849 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): ditto. 47850 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto. 47851 (WebCore::HTMLSelectElement::menuListOnChange): Added assert that usesMenuList() is true. 47852 (WebCore::HTMLSelectElement::listBoxOnChange): Added assert that usesMenuList() is false. 47853 (WebCore::HTMLSelectElement::saveLastSelection): Added early return for menu lists. 47854 47855 2007-03-19 Mitz Pettel <mitz (a] webkit.org> 47856 47857 Reviewed by Tim Hatcher. 47858 47859 - fix http://bugs.webkit.org/show_bug.cgi?id=13091 47860 REGRESSION (r20075): Wrong text style and pixel break in Apple Store Locator HUD 47861 47862 Test: fast/innerHTML/additional-inline-style.html 47863 47864 * editing/markup.cpp: 47865 (WebCore::startMarkup): Changed to add inline style based on CSS rules only 47866 in AnnotateForInterchange mode. 47867 47868 2007-03-19 Zack Rusin <zrusin (a] trolltech.com> 47869 47870 Compile fix. 47871 47872 * platform/qt/ScrollViewQt.cpp: 47873 (WebCore::ScrollView::update): 47874 47875 2007-03-19 Adam Roben <aroben (a] apple.com> 47876 47877 Reviewed by Hyatt and Maciej. 47878 47879 Renamed WebCoreJavaScript to JavaScriptStatistics and made it C++ as 47880 part of <rdar://problem/5071653>. 47881 47882 All layout tests pass. 47883 47884 * WebCore.exp: Updated. 47885 * WebCore.xcodeproj/project.pbxproj: Updated. 47886 * bridge/JavaScriptStatistics.cpp: Moved from 47887 bridge/mac/WebCoreJavaScript.mm, and converted to C++. 47888 (WebCore::collect): 47889 (WebCore::JavaScriptStatistics::objectCount): 47890 (WebCore::JavaScriptStatistics::interpreterCount): 47891 (WebCore::JavaScriptStatistics::protectedObjectCount): 47892 (WebCore::JavaScriptStatistics::rootObjectTypeCounts): 47893 (WebCore::JavaScriptStatistics::garbageCollect): 47894 (WebCore::JavaScriptStatistics::garbageCollectOnAlternateThread): 47895 (WebCore::JavaScriptStatistics::shouldPrintExceptions): 47896 (WebCore::JavaScriptStatistics::setShouldPrintExceptions): 47897 * bridge/JavaScriptStatistics.h: Added. 47898 * bridge/mac/WebCoreJavaScript.h: Removed. 47899 * bridge/mac/WebCoreJavaScript.mm: Removed. 47900 47901 2007-03-18 Maciej Stachowiak <mjs (a] apple.com> 47902 47903 Reviewed by Mark. 47904 47905 - avoid static construction (and global variable access) in a smarter, more portable way, 47906 to later enable MUTLI_THREAD mode to work on other platforms and compilers. 47907 47908 * bindings/js/JSCustomXPathNSResolver.cpp: 47909 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 47910 * bindings/js/JSHTMLInputElementBase.cpp: 47911 (WebCore::JSHTMLInputElementBaseFunction::JSHTMLInputElementBaseFunction): 47912 * bindings/js/JSHTMLOptionElementConstructor.cpp: 47913 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): 47914 * bindings/js/JSXMLHttpRequest.cpp: 47915 (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp): 47916 * bindings/js/JSXSLTProcessor.cpp: 47917 (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp): 47918 * bindings/js/kjs_dom.cpp: 47919 (KJS::DOMNamedNodeMap::getOwnPropertySlot): 47920 (KJS::DOMNamedNodesCollection::getOwnPropertySlot): 47921 * bindings/js/kjs_events.cpp: 47922 (KJS::JSAbstractEventListener::handleEvent): 47923 * bindings/js/kjs_html.cpp: 47924 (KJS::HTMLElementFunction::HTMLElementFunction): 47925 (KJS::JSHTMLCollection::getOwnPropertySlot): 47926 * bindings/js/kjs_window.cpp: 47927 (KJS::ScheduledAction::execute): 47928 * bindings/objc/WebScriptObject.mm: 47929 * bindings/scripts/CodeGeneratorJS.pm: 47930 47931 2007-03-18 Andrew Wellington <proton (a] wiretapped.net> 47932 47933 Reviewed by Mark Rowe 47934 47935 Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html) 47936 47937 * WebCore.xcodeproj/project.pbxproj: 47938 47939 2007-03-18 David Hyatt <hyatt (a] apple.com> 47940 47941 Fix for REGRESSION bug 13108, frame borders being painted when they shouldn't be. Rework both frame borders 47942 and resizing to be more like other browsers. 47943 47944 Reviewed by ggaren 47945 47946 fast/frames/no-frame-borders.html 47947 47948 * html/HTMLFrameElement.cpp: 47949 (WebCore::HTMLFrameElement::HTMLFrameElement): 47950 (WebCore::HTMLFrameElement::attach): 47951 (WebCore::HTMLFrameElement::parseMappedAttribute): 47952 * html/HTMLFrameElement.h: 47953 (WebCore::HTMLFrameElement::hasFrameBorder): 47954 * html/HTMLFrameElementBase.cpp: 47955 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): 47956 (WebCore::HTMLFrameElementBase::parseMappedAttribute): 47957 * html/HTMLFrameElementBase.h: 47958 * html/HTMLFrameSetElement.cpp: 47959 (WebCore::HTMLFrameSetElement::attach): 47960 * html/HTMLFrameSetElement.h: 47961 (WebCore::HTMLFrameSetElement::hasFrameBorder): 47962 * html/HTMLIFrameElement.cpp: 47963 (WebCore::HTMLIFrameElement::HTMLIFrameElement): 47964 * rendering/RenderFrame.cpp: 47965 (WebCore::RenderFrame::edgeInfo): 47966 * rendering/RenderFrame.h: 47967 * rendering/RenderFrameSet.cpp: 47968 (WebCore::RenderFrameSet::paint): 47969 (WebCore::RenderFrameSet::GridAxis::resize): 47970 (WebCore::RenderFrameSet::fillFromEdgeInfo): 47971 (WebCore::RenderFrameSet::computeEdgeInfo): 47972 (WebCore::RenderFrameSet::edgeInfo): 47973 (WebCore::RenderFrameSet::layout): 47974 (WebCore::RenderFrameSet::startResizing): 47975 (WebCore::RenderFrameSet::continueResizing): 47976 (WebCore::RenderFrameSet::canResizeRow): 47977 (WebCore::RenderFrameSet::canResizeColumn): 47978 (WebCore::RenderFrameSet::splitPosition): 47979 (WebCore::RenderFrameSet::hitTestSplit): 47980 (WebCore::RenderFrameSet::dump): 47981 * rendering/RenderFrameSet.h: 47982 (WebCore::): 47983 (WebCore::FrameEdgeInfo::FrameEdgeInfo): 47984 (WebCore::FrameEdgeInfo::preventResize): 47985 (WebCore::FrameEdgeInfo::allowBorder): 47986 (WebCore::FrameEdgeInfo::setPreventResize): 47987 (WebCore::FrameEdgeInfo::setAllowBorder): 47988 47989 2007-03-19 Mark Rowe <mrowe (a] apple.com> 47990 47991 Rubber-stamped by Brady. 47992 47993 Update references to bugzilla.opendarwin.org with bugs.webkit.org. 47994 47995 * ChangeLog: 47996 * WebCore.vcproj/WebCore/build-generated-files.sh: 47997 * manual-tests/ATSU-bad-layout.html: 47998 * manual-tests/accidental-strict-mode.html: 47999 * manual-tests/applet-param-no-name.html: 48000 * manual-tests/bidi-parens.html: 48001 * manual-tests/bugzilla-3855.html: 48002 * manual-tests/bugzilla-4840.html: 48003 * manual-tests/bugzilla-6821.html: 48004 * manual-tests/containing-block-position-chage.html: 48005 * manual-tests/contenteditable-link.html: 48006 * manual-tests/css3-cursor-fallback-quirks.html: 48007 * manual-tests/css3-cursor-fallback-strict.html: 48008 * manual-tests/custom-cursors.html: 48009 * manual-tests/dictionary-scrolled-iframe.html: 48010 * manual-tests/dom-manipulation-on-resize.html: 48011 * manual-tests/drag-image-to-address-bar.html: 48012 * manual-tests/empty-link-target.html: 48013 * manual-tests/empty-title-popup.html: 48014 * manual-tests/first-line-style-crash.html: 48015 * manual-tests/invalid-mouse-event.html: 48016 * manual-tests/left-overflow-repaint.html: 48017 * manual-tests/linkjump-3.html: 48018 * manual-tests/log-keypress-events.html: 48019 * manual-tests/named-window-blank-target.html: 48020 * manual-tests/plain-text-paste.html: 48021 * manual-tests/plugin-controller-datasource.html: 48022 * manual-tests/pre-tab-selection-rect.html: 48023 * manual-tests/redirection-target.html: 48024 * manual-tests/redraw-page-cache-visited-links.html: 48025 * manual-tests/reset-initiatedDrag.html: 48026 * manual-tests/resources/named-window-blank-target-step2.html: 48027 * manual-tests/resources/named-window-blank-target-step3.html: 48028 * manual-tests/resources/named-window-blank-target-step4.html: 48029 * manual-tests/resources/redraw-page-cache-visited-links-2.html: 48030 * manual-tests/scrollbar-hittest.html: 48031 * manual-tests/scrollbar-hittest2.html: 48032 * manual-tests/subview-click-assertion.html: 48033 * manual-tests/tabbing-input-google.html: 48034 * manual-tests/text-field-autoscroll.html: 48035 * manual-tests/textarea-after-stylesheet-link.html: 48036 * manual-tests/textarea-focus.html: 48037 * manual-tests/whitespace-pre-affinity.html: 48038 48039 2007-03-18 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 48040 48041 Not reviewed - gdk build fix. 48042 48043 * platform/gdk/ScrollViewGdk.cpp: 48044 (WebCore::ScrollView::update): add a stub 48045 48046 2007-03-18 Brady Eidson <beidson (a] apple.com> 48047 48048 Reviewed by Hyatt 48049 48050 http://bugs.webkit.org/show_bug.cgi?id=13111 48051 When stopped a load before it completes, partial images become the 48052 broken image icon 48053 48054 * loader/loader.cpp: 48055 (WebCore::Loader::didFail): Split off into a method that knows the 48056 difference between failed and cancelled. If a load is cancelled, 48057 don't call error() on the object - only remove it from the cache 48058 (WebCore::Loader::cancelRequests): Call didFail(loader, true) 48059 * loader/loader.h: Added didFail(SubresourceLoader*, bool cancelled) 48060 48061 2007-03-18 Mitz Pettel <mitz (a] webkit.org> 48062 48063 Reviewed by Adele. 48064 48065 - fix http://bugs.webkit.org/show_bug.cgi?id=13101 48066 REGRESSION (NativeTextField): Specifying word-wrap:break-word makes text field wrap 48067 48068 Test: fast/forms/input-text-word-wrap.html 48069 48070 * rendering/RenderTextControl.cpp: 48071 (WebCore::RenderTextControl::createInnerTextStyle): Force the inner block to 48072 'word-wrap:normal'. 48073 48074 2007-03-18 Dan Waylonis <waylonis (a] mac.com> 48075 48076 Reviewed by Tim Hatcher. 48077 48078 Fix http://bugs.webkit.org/show_bug.cgi?id=13005 48079 Bug 13005: WebScriptObject +throwException needs NULL check. 48080 48081 Add checking for NULL interpreter before throwing exception. 48082 48083 * bindings/objc/WebScriptObject.mm: 48084 (+[WebScriptObject throwException:]): 48085 48086 2007-03-18 Geoffrey Garen <ggaren (a] apple.com> 48087 48088 Reviewed by Oliver Hunt. 48089 48090 Fixed http://bugs.webkit.org/show_bug.cgi?id=13106 48091 REGRESSION: Incomplete document.all implementation breaks abtelectronics.com 48092 (Style Change Through JavaScript Blanks Content) 48093 48094 When indexing into collections, treat the empty string as an invalid argument, 48095 instead of the number 0. 48096 48097 * bindings/js/kjs_html.cpp: 48098 (KJS::JSHTMLCollection::getOwnPropertySlot): 48099 (KJS::JSHTMLCollection::callAsFunction): 48100 (KJS::JSHTMLCollectionPrototypeFunction::callAsFunction): 48101 48102 2007-03-18 David Hyatt <hyatt (a] apple.com> 48103 48104 Use fillRect instead of drawLine, since drawLine has some odd behavior (it's only used for borders). 48105 48106 Reviewed by aroben 48107 48108 * platform/graphics/IntRect.h: 48109 * rendering/RenderFrameSet.cpp: 48110 (WebCore::RenderFrameSet::paintColumnBorder): 48111 (WebCore::RenderFrameSet::paintRowBorder): 48112 48113 2007-03-18 David Hyatt <hyatt (a] apple.com> 48114 48115 Change the frameborder color to be light gray for framesets. 48116 48117 Reviewed by aroben 48118 48119 * rendering/RenderFrameSet.cpp: 48120 (WebCore::borderFillColor): 48121 (WebCore::RenderFrameSet::paintColumnBorder): 48122 (WebCore::RenderFrameSet::paintRowBorder): 48123 48124 2007-03-18 David Hyatt <hyatt (a] apple.com> 48125 48126 Make iframes work properly with frameborder="0". 48127 48128 Reviewed by aroben 48129 48130 * html/HTMLIFrameElement.cpp: 48131 (WebCore::HTMLIFrameElement::mapToEntry): 48132 (WebCore::HTMLIFrameElement::parseMappedAttribute): 48133 48134 2007-03-18 David Hyatt <hyatt (a] apple.com> 48135 48136 Add a 2px border by default to <iframe>s for compatibility with other browsers. 48137 48138 Reviewed by aroben 48139 48140 * css/html4.css: 48141 48142 2007-03-18 David Hyatt <hyatt (a] apple.com> 48143 48144 Move frame borders out of WebKit and into WebCore. 48145 48146 Reviewed by aroben, olliej 48147 48148 * bridge/mac/FrameViewMac.mm: 48149 * css/html4.css: 48150 * html/HTMLFrameSetElement.cpp: 48151 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement): 48152 (WebCore::HTMLFrameSetElement::mapToEntry): 48153 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 48154 (WebCore::HTMLFrameSetElement::attach): 48155 * html/HTMLFrameSetElement.h: 48156 (WebCore::HTMLFrameSetElement::hasBorderColor): 48157 * page/FrameView.cpp: 48158 (WebCore::FrameViewPrivate::FrameViewPrivate): 48159 * page/FrameView.h: 48160 * page/mac/WebCoreFrameBridge.h: 48161 * platform/graphics/IntRect.h: 48162 (WebCore::IntRect::topLeft): 48163 (WebCore::IntRect::topRight): 48164 (WebCore::IntRect::bottomLeft): 48165 (WebCore::IntRect::bottomRight): 48166 * rendering/RenderFrame.cpp: 48167 (WebCore::RenderFrame::viewCleared): 48168 * rendering/RenderFrameSet.cpp: 48169 (WebCore::borderStartEdgeColor): 48170 (WebCore::borderEndEdgeColor): 48171 (WebCore::RenderFrameSet::paintColumnBorder): 48172 (WebCore::RenderFrameSet::paintRowBorder): 48173 (WebCore::RenderFrameSet::paint): 48174 * rendering/RenderFrameSet.h: 48175 * rendering/RenderPartObject.cpp: 48176 (WebCore::RenderPartObject::viewCleared): 48177 * rendering/RenderView.cpp: 48178 (WebCore::RenderView::repaintViewRectangle): 48179 48180 2007-03-17 David Hyatt <hyatt (a] apple.com> 48181 48182 Make onload do an explicit paint when a top-level document is ready (to ensure that a first paint always 48183 happens before any timers set by the onload can fire). 48184 48185 Reviewed by aroben 48186 48187 * dom/Document.cpp: 48188 (WebCore::Document::implicitClose): 48189 * platform/ScrollView.h: 48190 * platform/mac/ScrollViewMac.mm: 48191 (WebCore::ScrollView::update): 48192 48193 2007-03-17 Dave Hyatt <hyatt (a] apple.com> 48194 48195 Prevent starvation of user input and painting when processing timers. 48196 If we are already in the processing of a custom timer message, don't allow that 48197 processing to do another PostMessage. Force SetTimer to be used instead. 48198 48199 Reviewed by ggaren 48200 48201 * platform/win/SharedTimerWin.cpp: 48202 (WebCore::TimerWindowWndProc): 48203 (WebCore::setSharedTimerFireTime): 48204 48205 2007-03-17 Geoffrey Garen <ggaren (a] apple.com> 48206 48207 Reviewed by Beth Dakin. 48208 48209 Fixed <rdar://problem/5070967> REGRESSION (r20211): Repro crash when 48210 closing View Source window 48211 48212 I award myself 0 points, and may God have mercy on my soul. 48213 48214 * bindings/js/kjs_proxy.cpp: 48215 (WebCore::KJSProxy::~KJSProxy): 48216 48217 2007-03-17 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 48218 48219 Not reviewed - gdk build fix. 48220 48221 * platform/gdk/TemporaryLinkStubs.cpp: 48222 (Pasteboard::writeURL): 48223 48224 2007-03-17 David Hyatt <hyatt (a] apple.com> 48225 48226 Fix tiny PLT regression. Don't examine the border/background data for RenderImage when images change 48227 unless we actually have a border/background. 48228 48229 Reviewed by Brady 48230 48231 * rendering/RenderImage.cpp: 48232 (WebCore::RenderImage::imageChanged): 48233 48234 2007-03-17 Nikolas Zimmermann <zimmermann (a] kde.org> 48235 48236 Reviewed by Sam Weinig. 48237 48238 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13046 (CSS styles on hover and focus are broken for <use>) 48239 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12838 (SVG <use> CSS styles broken) 48240 Added test: svg/custom/use-css-events.svg 48241 48242 In general this fixes the peepo.co.uk website. 48243 48244 Forgot to pass the actual StyleChange to the recalcStyle() function, 48245 when calling it on the shadow tree root element. 48246 48247 * ksvg2/svg/SVGUseElement.cpp: 48248 (WebCore::SVGUseElement::recalcStyle): 48249 48250 2007-03-17 Timothy Hatcher <timothy (a] apple.com> 48251 48252 Reviewed by Mark Rowe. 48253 48254 Made Version.xcconfig smarter when building for different configurations. 48255 Now uses the 522+ OpenSource version for Debug and Release, while using the 48256 full 522.4 version for Production builds. The system prefix is also computed 48257 based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard. 48258 48259 * Configurations/Version.xcconfig: 48260 * Configurations/WebCore.xcconfig: 48261 48262 2007-03-17 Antti Koivisto <antti (a] apple.com> 48263 48264 Reviewed by Adele. 48265 48266 Fix http://bugs.webkit.org/show_bug.cgi?id=12595 48267 REGRESSION: Can't add item to cart at lnt.com (JS type error) 48268 <rdar://problem/4722863> 48269 48270 Emulate Firefox behavior where form elements accessed by a name 48271 can be accessed with that name later even if the name changes or 48272 even if element is removed from the document. 48273 48274 This is loosely based on Darin's earlier patch for the same problem but 48275 is much less expansive. It takes somewhat different approach to more closely 48276 mimic Firefox behavior. Includes expanded test case. 48277 48278 * bindings/js/JSHTMLFormElementCustom.cpp: 48279 (WebCore::JSHTMLFormElement::canGetItemsForName): 48280 Use new the HTMLFormElement::getNamedElements() method 48281 (WebCore::JSHTMLFormElement::nameGetter): 48282 Use new the HTMLFormElement::getNamedElements() method 48283 * html/HTMLFormElement.cpp: 48284 (WebCore::HTMLFormElement::HTMLFormElement): 48285 (WebCore::HTMLFormElement::~HTMLFormElement): 48286 (WebCore::HTMLFormElement::elementForAlias): 48287 (WebCore::HTMLFormElement::addElementAlias): 48288 Maintain a map of known element aliases 48289 (WebCore::HTMLFormElement::getNamedElements): 48290 Get a list of elements matching the name, based both their 48291 current names and known aliases (earlier names). 48292 Keep the alias list in sync. 48293 * html/HTMLFormElement.h: 48294 48295 2007-03-17 Adele Peterson <adele (a] apple.com> 48296 48297 Reviewed by Hyatt. 48298 48299 Fix for <rdar://problem/4990050> REGRESSION: onchange gets fired when clicking on a programmatically selected element in a listbox 48300 http://bugs.webkit.org/show_bug.cgi?id=12725 48301 48302 Test: updated fast/forms/listbox-onchange.html 48303 48304 Added HTMLSelectElement::saveLastSelection that is called before changing a selection that could result 48305 in onChange being called. m_lastOnChangeIndex and m_lastOnChangeSelection no longer have to be up-to date all the time, 48306 they just have to be up-to-date before we execute an action that may trigger onChange. 48307 48308 * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::setSelectedState): Added. 48309 The HTMLSelectElement will only set an option's selected state with this method. This ensures 48310 that notifyOptionSelected won't get called when the call originates from the select element. 48311 * html/HTMLOptionElement.h: 48312 48313 * html/HTMLSelectElement.cpp: 48314 (WebCore::HTMLSelectElement::deselectItems): Calls setSelectedState. 48315 (WebCore::HTMLSelectElement::setSelectedIndex): ditto. Don't update the last selection variables here. Scroll to the new selection. 48316 The scrolling call used to only be in notifyOptionSelected. There's no reason we shouldn't scroll when the selection is set through 48317 the HTMLSelectElement. 48318 (WebCore::HTMLSelectElement::setValue): Call setSelectedIndex to update all options selected state. 48319 (WebCore::HTMLSelectElement::restoreState): Call setSelectedState. 48320 (WebCore::HTMLSelectElement::selectAll): Call saveLastSelection before making the selection, and calling onChange. 48321 (WebCore::HTMLSelectElement::recalcListItems): Call setSelectedState. Don't need to save selection here anymore, 48322 since it will get saved before we call onChange. 48323 (WebCore::HTMLSelectElement::reset): ditto. 48324 (WebCore::HTMLSelectElement::dispatchFocusEvent): Added. Call saveLastSelection for menu lists, since onChange can be fired 48325 on blur. 48326 (WebCore::HTMLSelectElement::dispatchBlurEvent): Call menuListOnChange. 48327 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Call saveLastSelection before showing the popup window. 48328 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Call saveLastSelection during mousedown (to prepare for an 48329 onchange during mouseup, or after autoscroll). 48330 (WebCore::HTMLSelectElement::updateListBoxSelection): Call setSelectedState. 48331 48332 (WebCore::HTMLSelectElement::menuListOnChange): Added. Compares the m_lastOnChangeIndex to the selectedIndex(). 48333 (WebCore::HTMLSelectElement::listBoxOnChange): Move the m_lastOnChangeSelection creation to saveLastSelection. 48334 (WebCore::HTMLSelectElement::saveLastSelection): Added. Sets m_lastOnChangeIndex or m_lastOnChangeSelection. 48335 * html/HTMLSelectElement.h: 48336 * platform/PopupMenu.h: 48337 48338 2007-03-16 Oliver Hunt <oliver (a] apple.com> 48339 48340 Reviewed by Hyatt. 48341 48342 The old canSaveAsWebArchive call was necessary as stand alone 48343 images used to be rendered by ImageDocument. 48344 48345 Fixes rdar://problem/5061252 48346 48347 * dom/Clipboard.cpp: 48348 * dom/Clipboard.h: 48349 (WebCore::Clipboard::setDragHasStarted): 48350 * page/DragClient.h: 48351 (WebCore::DragClient::declareAndWriteDragImage): 48352 * platform/mac/ClipboardMac.mm: 48353 (WebCore::ClipboardMac::declareAndWriteDragImage): 48354 48355 2007-03-16 Anders Carlsson <acarlsson (a] apple.com> 48356 48357 Reviewed by Maciej. 48358 48359 <rdar://problem/4869095> 48360 default content type changed for XMLHttpRequest POSTs changed (breaks Flickrator 0.1 widget) 48361 48362 * xml/xmlhttprequest.cpp: 48363 (WebCore::XMLHttpRequest::send): 48364 48365 2007-03-16 Brady Eidson <beidson (a] apple.com> 48366 48367 Rubberstamped by Tim Hatcher 48368 48369 Update the hash table header for Window object properties 48370 48371 * bindings/js/kjs_window.cpp: 48372 48373 2007-03-16 Brady Eidson <beidson (a] apple.com> 48374 48375 Reviewed by Anders 48376 48377 <rdar://problem/5061826> and 48378 http://bugs.webkit.org/show_bug.cgi?id=12863 48379 Implement window.stop() 48380 48381 * bindings/js/kjs_window.cpp: 48382 (KJS::WindowFunc::callAsFunction): Add case Window::Stop 48383 * bindings/js/kjs_window.h: 48384 (KJS::Window::): Add "Stop" 48385 48386 2007-03-16 Geoffrey Garen <ggaren (a] apple.com> 48387 48388 Reviewed by Brady Eidson. 48389 48390 Fixed dir creation to account for already existing dirs and missing leading 48391 dirs in path. 48392 48393 * loader/icon/IconDatabase.cpp: 48394 (WebCore::makeAllDirectories): 48395 48396 2007-03-16 David Hyatt <hyatt (a] apple.com> 48397 48398 Fix for 13084, assertion failure in the Cache. Convert the client list 48399 to a HashCountedSet so that multiple refs and derefs are allowed. 48400 48401 Fix RenderImage so that if it has the same image used as a background/border 48402 and as the foreground that it will repaint properly (can be tested using 48403 border-image and a foreground image). 48404 48405 Optimize list marker so that it doesn't waste time in the base class method, 48406 since list markers don't support background or border images. 48407 48408 Reviewed by andersca 48409 48410 * ChangeLog: 48411 * loader/CachedResource.cpp: 48412 (WebCore::CachedResource::ref): 48413 * loader/CachedResource.h: 48414 * loader/CachedResourceClientWalker.cpp: 48415 (WebCore::CachedResourceClientWalker::CachedResourceClientWalker): 48416 * loader/CachedResourceClientWalker.h: 48417 * rendering/RenderImage.cpp: 48418 (WebCore::RenderImage::imageChanged): 48419 * rendering/RenderListMarker.cpp: 48420 (WebCore::RenderListMarker::imageChanged): 48421 48422 2007-03-16 Geoffrey Garen <ggaren (a] apple.com> 48423 48424 Reviewed by Anders Carlsson. 48425 48426 Fixed <rdar://problem/5065399> REGRESSION: leaks in Frame::bindingRootObject 48427 seen on buildbot 48428 48429 The problem was that we were initializing the same WebScriptObject twice. 48430 This caused it to leak its original set of ivars. 48431 48432 I think some refactoring could prevent this situation from arising in the 48433 first place, but I'm just adding a check at the call site for now, to do 48434 the simplest thing. 48435 48436 * bindings/objc/WebScriptObject.mm: 48437 (-[WebScriptObject _setImp:originRootObject:rootObject:]): Added ASSERTs 48438 against multiple calls. 48439 48440 * bindings/objc/WebScriptObjectPrivate.h: Renamed _initializeWithObjectImp 48441 to setImp because "init" vs "initialize" was a too subtle indication that 48442 one was a Cocoa initializer and one was not. 48443 48444 2007-03-16 Lars Knoll <lars (a] trolltech.com> 48445 48446 don't use #import in .cpp files. 48447 48448 * editing/qt/EditorQt.cpp: 48449 48450 2007-03-16 Lars Knoll <lars (a] trolltech.com> 48451 48452 Fix the Qt build once again. 48453 48454 * platform/qt/PasteboardQt.cpp: 48455 (WebCore::Pasteboard::Pasteboard): 48456 (WebCore::Pasteboard::writeSelection): 48457 (WebCore::Pasteboard::plainText): 48458 (WebCore::Pasteboard::documentFragment): 48459 (WebCore::Pasteboard::writeURL): 48460 (WebCore::Pasteboard::writeImage): 48461 (WebCore::Pasteboard::clear): 48462 48463 2007-03-15 Shrikant Gangoda <shrikant.gangoda (a] celunite.com> 48464 48465 Gdk build fix. 48466 48467 * loader/gdk/FrameLoaderClientGdk.cpp: 48468 (WebCore::FrameLoaderClientGdk::blockedError): 48469 * loader/gdk/FrameLoaderClientGdk.h: 48470 48471 2007-03-15 Beth Dakin <bdakin (a] apple.com> 48472 48473 Reviewed by Geoff. 48474 48475 Fix for http://bugs.webkit.org/show_bug.cgi?id=13088 REGRESSION 48476 (r19761-19779): Copy image no longer includes image address 48477 (rdar://5067927) 48478 48479 writeURL() does not need an isImage parameter. Now that it accepts 48480 the types as a parameter, we can just declare the appropriate image 48481 types within writeImage and send them to writeURL(). Also, 48482 declaring the types twice is what broke this. 48483 48484 * platform/Pasteboard.h: 48485 * platform/mac/PasteboardMac.mm: 48486 (WebCore::Pasteboard::writeURL): 48487 (WebCore::Pasteboard::writeImage): 48488 48489 2007-03-15 Adele Peterson <adele (a] apple.com> 48490 48491 Reviewed by Kevin Decker. 48492 48493 Fix for <rdar://problem/4926179> Text in menulist control should never update if menu is open 48494 48495 * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement): 48496 Only setTextFromOption if the menu isn't visible. 48497 48498 2007-03-15 Brady Eidson <beidson (a] apple.com> 48499 48500 Reviewed by Oliver 48501 48502 A few platform specific tweaks 48503 48504 * platform/cf/RetainPtr.h: 48505 (WebCore::RetainPtr::releaseRef): Fixed releaseRef to work with CF 48506 48507 * platform/network/ResourceHandle.h: Added a "releaseRef" style call 48508 48509 2007-03-15 Maciej Stachowiak <mjs (a] apple.com> 48510 48511 Reviewed by Geoff and Steve. 48512 48513 * config.h: Remove unneeded hack. 48514 48515 2007-03-15 Justin Garcia <justin.garcia (a] apple.com> 48516 48517 Reviewed by john 48518 48519 <rdar://problem/5062376> 48520 REGRESSION: In Mail and Gmail, can't change alignment to text after it has been applied 48521 48522 Bring back the remove step in applyBlockStyle. It's 48523 necessary because addBlockStyleIfNeeded assumes that 48524 the properties it adds aren't already on the block that 48525 it adds them to. 48526 48527 * editing/ApplyStyleCommand.cpp: 48528 (WebCore::ApplyStyleCommand::applyBlockStyle): 48529 Bring back the remove step (added a testcase). 48530 Don't do the add step if m_removeOnly is true (no testcase 48531 because there aren't any clients using removeOnly functionality 48532 to remove styles yet, only styled elemets). 48533 Moved the code for creating new blocks up one level 48534 to this function so that we can pass blocks to removeCSSStyle. 48535 When converting VisiblePositions to indices and vice versa, 48536 use the highest node in the shadow tree if we're in one as 48537 the scope (working on a testcase). 48538 (WebCore::ApplyStyleCommand::addBlockStyle): Moved code to 48539 applyBlockStyle. 48540 * editing/ApplyStyleCommand.h: 48541 48542 2007-03-15 Brady Eidson <beidson (a] apple.com> 48543 48544 Reviewed by Maciej 48545 48546 <rdar://problem/4429701> 48547 Implements a port blocking black list that matches Firefox's 48548 48549 * loader/FrameLoader.cpp: 48550 (WebCore::FrameLoader::blockedError): Call through to the client for blockedError 48551 * loader/FrameLoader.h: 48552 48553 * loader/FrameLoaderClient.h: Get the "port blocked" error for the current platform 48554 48555 * loader/ResourceLoader.cpp: 48556 (WebCore::ResourceLoader::wasBlocked): ResourceHandleClient method to pass on the didFail(error) 48557 (WebCore::ResourceLoader::blockedError): Following the pattern of "CancelledError()", get the 48558 error to fail with for the didFail() call 48559 * loader/ResourceLoader.h: 48560 48561 * platform/graphics/svg/SVGImageEmptyClients.h: 48562 (WebCore::SVGEmptyFrameLoaderClient::blockedError): Added stub 48563 48564 * platform/network/ResourceHandle.cpp: 48565 (WebCore::ResourceHandle::create): If the port is blocked, create the handle but schedule it for 48566 deferred failure on a timer 48567 (WebCore::ResourceHandle::scheduleBlockedFailure): Do the timer scheduling 48568 (WebCore::ResourceHandle::fireBlockedFailure): Fire the timer here 48569 (WebCore::ResourceHandle::portAllowed): Implements checking of Mozilla's 48570 * platform/network/ResourceHandle.h: 48571 * platform/network/ResourceHandleClient.h: 48572 (WebCore::ResourceHandleClient::wasBlocked): Virtual for clients to get the "blocked" message 48573 48574 2007-03-15 Beth Dakin <bdakin (a] apple.com> 48575 48576 Reviewed by Hyatt. 48577 48578 Fix for <rdar://problem/5065396> REGRESSION: leaks in 48579 RenderBlock::layoutInlineChildren seen on buildbot 48580 48581 This leak appeared after http://trac.webkit.org/projects/webkit/ 48582 changeset/20188. This change shifted line boxes around in 48583 removeChild(). But since removeChild() calls 48584 setNeedsLayoutAndMinMaxRecalc(), all of the line boxes will be 48585 removed once we actually lay out anyway. So this patch fixes the 48586 leak by deleting the line boxes instead of shifting them around. 48587 48588 * editing/IndentOutdentCommand.cpp: 48589 (WebCore::IndentOutdentCommand::outdentParagraph): Call into 48590 updateLayout(). This fixes an assertion I got in editing/ 48591 execCommand/4976800.html This is very similar to the line box fix I 48592 made recently (http://trac.webkit.org/projects/webkit/changeset/ 48593 20177). We need to update layout before relying on VisiblePositions 48594 after removing a node. 48595 * rendering/RenderBlock.cpp: 48596 (WebCore::RenderBlock::deleteLinesForBlock): New helper function 48597 since this functionality is needed in three places now. 48598 (WebCore::RenderBlock::makeChildrenNonInline): Call into new 48599 deleteLinesForBlock(). 48600 (WebCore::RenderBlock::removeChild): Same. 48601 * rendering/RenderBlock.h: 48602 48603 2007-03-15 Timothy Hatcher <timothy (a] apple.com> 48604 48605 Reviewed by John. 48606 48607 * Factored out most of our common build settings into .xcconfig files. Anything that was common in 48608 each build configuration was factored out into the shared .xcconfig file. 48609 * Adds a Version.xcconfig file to define the current framework version, to be used in other places. 48610 * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist. 48611 * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION). 48612 48613 * Configurations/Base.xcconfig: Added. 48614 * Configurations/DebugRelease.xcconfig: Added. 48615 * Configurations/Version.xcconfig: Added. 48616 * Configurations/WebCore.xcconfig: Added. 48617 * Info.plist: 48618 * WebCore.xcodeproj/project.pbxproj: 48619 48620 2007-03-15 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 48621 48622 Not reviewed - gdk build fixes. 48623 48624 * platform/gdk/EditorClientGdk.cpp: 48625 (WebCore::EditorClientGdk::handleKeypress): 48626 * platform/graphics/cairo/ImageSourceCairo.cpp: 48627 (WebCore::ImageSource::setData): 48628 * platform/graphics/gdk/ImageGdk.cpp: 48629 (WebCore::Image::loadPlatformResource): 48630 48631 2007-03-14 Justin Garcia <justin.garcia (a] apple.com> 48632 48633 Reviewed by john 48634 48635 ~2x speed up of 5k rich text paste: 48636 http://shakespeare.mit.edu/hamlet/full.html 48637 48638 * editing/ReplaceSelectionCommand.cpp: 48639 (WebCore::ReplaceSelectionCommand::doApply): Remove the top 48640 level style span if it's unnecessary before inserting 48641 into the document, it's faster than doing it after. 48642 * editing/ReplaceSelectionCommand.h: Exposed 48643 ReplacementFragment::removeNodePreservingChildren so that 48644 the style span can be removed using non-undoable removes, 48645 like the rest of the removes done on the ReplacementFragment. 48646 * editing/markup.cpp: 48647 (WebCore::createMarkup): Make the style span the top level 48648 element, otherwise it's useless. This also facilitates the 48649 optimization mentioned above. 48650 When including markup for a fully selected root, include markup 48651 for all the nodes beneath that fully selected root, to preserve 48652 the structure and appearance of the copied markup. Did this 48653 by merging with the code for adding markup for descendants of 48654 special commonAncestorBlocks. 48655 48656 2007-03-15 Beth Dakin <bdakin (a] apple.com> 48657 48658 Rubber-stamped by Adele. 48659 48660 Rolling out http://trac.webkit.org/projects/webkit/changeset/20148 48661 (which is a fix for http://bugs.webkit.org/show_bug.cgi?id=12595 48662 and rdar://4722863) because it causes a horrible memory-trasher. 48663 48664 * bindings/js/JSHTMLFormElementCustom.cpp: 48665 (WebCore::JSHTMLFormElement::canGetItemsForName): 48666 (WebCore::JSHTMLFormElement::nameGetter): 48667 * bindings/js/kjs_dom.cpp: 48668 (KJS::): 48669 (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection): 48670 (KJS::DOMNamedNodesCollection::lengthGetter): 48671 (KJS::DOMNamedNodesCollection::indexGetter): 48672 (KJS::DOMNamedNodesCollection::getOwnPropertySlot): 48673 * bindings/js/kjs_dom.h: 48674 (KJS::DOMNamedNodesCollection::classInfo): 48675 * bindings/js/kjs_html.cpp: 48676 (KJS::JSHTMLCollection::getNamedItems): 48677 * dom/ChildNodeList.cpp: 48678 (WebCore::ChildNodeList::ChildNodeList): 48679 (WebCore::ChildNodeList::length): 48680 (WebCore::ChildNodeList::item): 48681 (WebCore::ChildNodeList::nodeMatches): 48682 * dom/ChildNodeList.h: 48683 * dom/NameNodeList.cpp: 48684 (WebCore::NameNodeList::NameNodeList): 48685 (WebCore::NameNodeList::item): 48686 (WebCore::NameNodeList::nodeMatches): 48687 * dom/NameNodeList.h: 48688 (WebCore::NameNodeList::rootNodeAttributeChanged): 48689 * dom/Node.cpp: 48690 (WebCore::TagNodeList::TagNodeList): 48691 (WebCore::TagNodeList::nodeMatches): 48692 (WebCore::Node::registerNodeList): 48693 (WebCore::Node::unregisterNodeList): 48694 * dom/Node.h: 48695 * dom/NodeList.cpp: 48696 (WebCore::NodeList::NodeList): 48697 (WebCore::NodeList::~NodeList): 48698 (WebCore::NodeList::recursiveLength): 48699 (WebCore::NodeList::itemForwardsFromCurrent): 48700 (WebCore::NodeList::itemBackwardsFromCurrent): 48701 (WebCore::NodeList::recursiveItem): 48702 (WebCore::NodeList::itemWithName): 48703 (WebCore::NodeList::rootNodeChildrenChanged): 48704 * dom/NodeList.h: 48705 (WebCore::NodeList::rootNodeAttributeChanged): 48706 * html/HTMLFormElement.cpp: 48707 (WebCore::HTMLFormElement::HTMLFormElement): 48708 (WebCore::HTMLFormElement::~HTMLFormElement): 48709 (WebCore::HTMLFormElement::formData): 48710 (WebCore::HTMLFormElement::parseMappedAttribute): 48711 (WebCore::HTMLFormElement::removeFormElement): 48712 * html/HTMLFormElement.h: 48713 * html/HTMLGenericFormElement.cpp: 48714 (WebCore::HTMLGenericFormElement::parseMappedAttribute): 48715 (WebCore::HTMLGenericFormElement::insertedIntoTree): 48716 * html/HTMLGenericFormElement.h: 48717 * html/HTMLInputElement.cpp: 48718 (WebCore::HTMLInputElement::parseMappedAttribute): 48719 48720 2007-03-15 Geoffrey Garen <ggaren (a] apple.com> 48721 48722 Added an assert to help catch a bug. Hopefully someone will hit it! 48723 48724 * bindings/js/kjs_proxy.cpp: 48725 (WebCore::KJSProxy::~KJSProxy): 48726 48727 2007-03-14 Oliver Hunt <oliver (a] apple.com> 48728 48729 Reviewed by Adele. 48730 48731 Fix for rdar://problem/5061737. 48732 48733 This was a regression from the original Objective-C -> C++ conversion 48734 for the drag logic. We don't need to call Range::startNode as we just 48735 need the document that contains the range. 48736 48737 * page/DragController.cpp: 48738 (WebCore::documentFragmentFromDragData): 48739 48740 2007-03-14 Mitz Pettel <mitz (a] webkit.org> 48741 48742 Reviewed by Hyatt. 48743 48744 - http://bugs.webkit.org/show_bug.cgi?id=13071 48745 REGRESSION: Plain text files no longer wrap lines longer than the width of the browser window 48746 48747 Test: fast/loader/text-document-wrapping.html 48748 48749 * loader/TextDocument.cpp: 48750 (WebCore::TextTokenizer::write): Specified word-wrap:break-word for the <pre> element. 48751 48752 2007-03-14 Mitz Pettel <mitz (a] webkit.org> 48753 48754 Reviewed by Hyatt. 48755 48756 - fix http://bugs.webkit.org/show_bug.cgi?id=13072 48757 REGRESSION (r15617): white-space: pre-wrap breaks off the last character of a wide word 48758 48759 Test: fast/text/whitespace/pre-wrap-last-char.html 48760 48761 * rendering/bidi.cpp: 48762 (WebCore::RenderBlock::findNextLineBreak): Undid the change from r15617. 48763 48764 2007-03-14 David Hyatt <hyatt (a] apple.com> 48765 48766 Add asserts to help catch double refs and double derefs of CachedResources. 48767 48768 Reviewed by mjs 48769 48770 * loader/CachedResource.cpp: 48771 (WebCore::CachedResource::ref): 48772 (WebCore::CachedResource::deref): 48773 48774 2007-03-14 Alice Liu <alice.liu (a] apple.com> 48775 48776 Rubber-stamped by Hyatt. 48777 48778 Adding null check to prevent the crash that happens on 2nd run of iBench HTML load test 48779 48780 * loader/icon/IconDataCache.cpp: 48781 (WebCore::IconDataCache::writeToDatabase): 48782 48783 === Safari-5522.4 === 48784 48785 2007-03-14 Adele Peterson <adele (a] apple.com> 48786 48787 Reviewed by Adam. 48788 48789 Fix for <rdar://problem/5062898> REGRESSION: autocomplete window in text fields doesn't come up 48790 48791 When we moved the initialization of a bunch of variables in the HTMLFormElement constructor, m_autocomplete accidently got initialized to false. 48792 48793 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): 48794 48795 2007-03-14 Steve Falkenburg <sfalken (a] apple.com> 48796 48797 Reviewed by Adam. 48798 48799 Added missing null check in case this is called on a subframe 48800 that hasn't started loading. 48801 48802 * page/Frame.cpp: 48803 (WebCore::Frame::setMarkedTextMatchesAreHighlighted): Check for a null document. 48804 48805 2007-03-14 Antti Koivisto <antti (a] apple.com> 48806 48807 Reviewed by Geoff. 48808 48809 Fix http://bugs.webkit.org/show_bug.cgi?id=13060 48810 REGRESSION: Repro ASSERT failure in Cache::adjustSize running layout tests 48811 <rdar://5060208> 48812 48813 Script evaluation may have dereffed the CachedScript object already, causing double deref and 48814 eventually m_liveResourcesSize underflow. 48815 48816 * html/HTMLScriptElement.cpp: 48817 (WebCore::HTMLScriptElement::notifyFinished): 48818 48819 2007-03-14 Adele Peterson <adele (a] apple.com> 48820 48821 Reviewed by Darin. 48822 48823 Added InsertTab, InsertBacktab, InsertLineBreak, and InsertNewline to the editing command table. 48824 Added Event parameter to execCommand, and to all of the enabled and exec functions. Right now, 48825 the event is only used by the newly added commands. But in the future, many (and possibly all) of 48826 these editing commands will need to consider the event so they are applied to the correct selection. 48827 48828 * WebCore.exp: 48829 * editing/Editor.cpp: 48830 (WebCore::execCopy): 48831 (WebCore::execCut): 48832 (WebCore::execDelete): 48833 (WebCore::execBackwardDelete): 48834 (WebCore::execForwardDelete): 48835 (WebCore::execMoveBackward): 48836 (WebCore::execMoveBackwardAndModifySelection): 48837 (WebCore::execMoveUpByPageAndModifyCaret): 48838 (WebCore::execMoveDown): 48839 (WebCore::execMoveDownAndModifySelection): 48840 (WebCore::execMoveForward): 48841 (WebCore::execMoveForwardAndModifySelection): 48842 (WebCore::execMoveDownByPageAndModifyCaret): 48843 (WebCore::execMoveLeft): 48844 (WebCore::execMoveLeftAndModifySelection): 48845 (WebCore::execMoveRight): 48846 (WebCore::execMoveRightAndModifySelection): 48847 (WebCore::execMoveToBeginningOfDocument): 48848 (WebCore::execMoveToBeginningOfDocumentAndModifySelection): 48849 (WebCore::execMoveToBeginningOfSentence): 48850 (WebCore::execMoveToBeginningOfSentenceAndModifySelection): 48851 (WebCore::execMoveToBeginningOfLine): 48852 (WebCore::execMoveToBeginningOfLineAndModifySelection): 48853 (WebCore::execMoveToBeginningOfParagraph): 48854 (WebCore::execMoveToBeginningOfParagraphAndModifySelection): 48855 (WebCore::execMoveToEndOfDocument): 48856 (WebCore::execMoveToEndOfDocumentAndModifySelection): 48857 (WebCore::execMoveToEndOfSentence): 48858 (WebCore::execMoveToEndOfSentenceAndModifySelection): 48859 (WebCore::execMoveToEndOfLine): 48860 (WebCore::execMoveToEndOfLineAndModifySelection): 48861 (WebCore::execMoveToEndOfParagraph): 48862 (WebCore::execMoveToEndOfParagraphAndModifySelection): 48863 (WebCore::execMoveParagraphBackwardAndModifySelection): 48864 (WebCore::execMoveParagraphForwardAndModifySelection): 48865 (WebCore::execMoveUp): 48866 (WebCore::execMoveUpAndModifySelection): 48867 (WebCore::execMoveWordBackward): 48868 (WebCore::execMoveWordBackwardAndModifySelection): 48869 (WebCore::execMoveWordForward): 48870 (WebCore::execMoveWordForwardAndModifySelection): 48871 (WebCore::execMoveWordLeft): 48872 (WebCore::execMoveWordLeftAndModifySelection): 48873 (WebCore::execMoveWordRight): 48874 (WebCore::execMoveWordRightAndModifySelection): 48875 (WebCore::execPaste): 48876 (WebCore::execSelectAll): 48877 (WebCore::execToggleBold): 48878 (WebCore::execToggleItalic): 48879 (WebCore::execRedo): 48880 (WebCore::execUndo): 48881 (WebCore::execInsertTab): 48882 (WebCore::execInsertBacktab): 48883 (WebCore::execInsertNewline): 48884 (WebCore::execInsertLineBreak): 48885 (WebCore::enabled): 48886 (WebCore::canPaste): 48887 (WebCore::hasEditableSelection): 48888 (WebCore::hasEditableRangeSelection): 48889 (WebCore::hasRangeSelection): 48890 (WebCore::hasRichlyEditableSelection): 48891 (WebCore::canRedo): 48892 (WebCore::canUndo): 48893 (WebCore::CommandEntry::): 48894 (WebCore::Editor::toggleBold): 48895 48896 (WebCore::Editor::execCommand): Added optional event parameter. 48897 (WebCore::Editor::insertText): Added. Calls handleTextInputEvent. 48898 (WebCore::Editor::insertTextWithoutSendingTextEvent): Renamed from insertText. 48899 Performs the actual insertion without dispatching any event. 48900 * editing/Editor.h: 48901 * page/EventHandler.cpp: (WebCore::EventHandler::defaultTextInputEventHandler): 48902 Call insertTextWithoutSendingTextEvent. 48903 48904 2007-03-14 Justin Garcia <justin.garcia (a] apple.com> 48905 48906 Reviewed by darin 48907 48908 ~3x speedup pasting 5k lines of rich text: 48909 http://shakespeare.mit.edu/hamlet/full.html 48910 ~2x speedup pasting 10k lines of plain text 48911 48912 * css/CSSComputedStyleDeclaration.cpp: 48913 (WebCore::computedStyle): Added for convenience. 48914 * css/CSSComputedStyleDeclaration.h: 48915 * editing/ReplaceSelectionCommand.cpp: 48916 (WebCore::ReplaceSelectionCommand::removeRedundantStyles): 48917 The code that pushed down the top level style span had 48918 a bug in it that made it do unnecessary work. Instead of 48919 fixing the bug I removed the code because it was used to 48920 help see more redundancies in second level style spans, but 48921 createMarkup now *only* creates a top level style span. 48922 Only remove redundant styles from style spans and only remove 48923 unstyled elements if they are style spans. FF doesn't 48924 remove redundant styles from elements, or remove redundant 48925 font tags on copy/paste. We could offer this functionality 48926 through a separate "cleanup" command. 48927 * editing/markup.cpp: 48928 (WebCore::createMarkup): Only add markup for ancestors of 48929 lastClosed if we're including markup for acommonAncestorBlock 48930 (we do this for commonAncestorBlocks like tables and lists), 48931 otherwise it's unnecessary/redundant. 48932 48933 2007-03-14 Anders Carlsson <acarlsson (a] apple.com> 48934 48935 Reviewed by Ada. 48936 48937 Make sure to call ResourceLoader::didReceiveData to ensure that there's a shared buffer with the resource 48938 data, since SubresourceLoaderClients now make use of that buffer. 48939 48940 * loader/SubresourceLoader.cpp: 48941 (WebCore::SubresourceLoader::didReceiveData): 48942 48943 2007-03-14 Administrator <acarlsson (a] apple.com> 48944 48945 Get the size from the shared buffer. 48946 48947 * platform/graphics/cg/ImageSourceCG.cpp: 48948 (WebCore::ImageSource::setData): 48949 * platform/graphics/cg/PDFDocumentImage.cpp: 48950 (WebCore::PDFDocumentImage::dataChanged): 48951 48952 2007-03-14 Mitz Pettel <mitz (a] webkit.org> 48953 48954 Reviewed by Hyatt, thumbs up by Darin. 48955 48956 - fix http://bugs.webkit.org/show_bug.cgi?id=12782 48957 Reproducible crash in BidiContext::deref 48958 48959 Test: fast/dynamic/anonymous-block-orphaned-lines.html 48960 48961 * rendering/InlineBox.cpp: 48962 (WebCore::InlineBox::root): Added an assertion that we return a root inline box. 48963 * rendering/RenderBlock.cpp: 48964 (WebCore::RenderBlock::removeChild): Added code to adopt the line boxes of 48965 anonymous blocks being destroyed instead of leaving them orphaned, which 48966 is what caused this crash. The boxes will be deleted on the next layout, but 48967 this ensures consistency in the mean time. 48968 48969 2007-03-14 Lars Knoll <lars (a] trolltech.com> 48970 48971 Reviewed by Antti. 48972 48973 Fix the Qt build. 48974 Add a getter to SharedBuffer that returns a reference to the internal 48975 Vector to avoid an extra copy of the data. 48976 48977 * platform/SharedBuffer.h: 48978 (WebCore::SharedBuffer::buffer): 48979 * platform/graphics/qt/ImageQt.cpp: 48980 (WebCore::Image::loadPlatformResource): 48981 * platform/graphics/qt/ImageSourceQt.cpp: 48982 (WebCore::detectImageFormat): 48983 (WebCore::createDecoder): 48984 (WebCore::ImageSource::setData): 48985 48986 2007-03-14 Antti Koivisto <antti (a] apple.com> 48987 48988 Reviewed by Mitz. 48989 48990 Fix <rdar://problem/5058774> 48991 REGRESSION: In Mail, caret appears oversized when typing in a To Do note 48992 48993 Horizontal and vertical were switched. Was regression from 48994 http://trac.webkit.org/projects/webkit/changeset/20103 48995 48996 * rendering/RootInlineBox.cpp: 48997 (WebCore::RootInlineBox::addHighlightOverflow): 48998 48999 2007-03-14 David Hyatt <hyatt (a] apple.com> 49000 49001 Tweak the data() functions of stylesheets and scripts to be internally consistent. 49002 49003 * loader/CachedCSSStyleSheet.cpp: 49004 (WebCore::CachedCSSStyleSheet::data): 49005 * loader/CachedScript.cpp: 49006 (WebCore::CachedScript::data): 49007 * loader/CachedXSLStyleSheet.cpp: 49008 (WebCore::CachedXSLStyleSheet::data): 49009 49010 2007-03-14 David Hyatt <hyatt (a] apple.com> 49011 49012 Fix Radar 5050688. 49013 49014 For large animated GIFs, destroy and recreate the source for every animation frame. This keeps 49015 the memory consumption down while giant images are animating. 49016 49017 Reviewed by andersca 49018 49019 * platform/graphics/BitmapImage.cpp: 49020 (WebCore::BitmapImage::BitmapImage): 49021 (WebCore::BitmapImage::destroyDecodedData): 49022 (WebCore::BitmapImage::dataChanged): 49023 (WebCore::BitmapImage::advanceAnimation): 49024 * platform/graphics/BitmapImage.h: 49025 49026 2007-03-14 David Hyatt <hyatt (a] apple.com> 49027 49028 Make sure to use CFDataCreateWithBytesNoCopy where we can. 49029 49030 Reviewed by andersca 49031 49032 * platform/graphics/cg/ImageSourceCG.cpp: 49033 (WebCore::ImageSource::setData): 49034 * platform/graphics/cg/PDFDocumentImage.cpp: 49035 (WebCore::PDFDocumentImage::dataChanged): 49036 49037 2007-03-13 David Hyatt <hyatt (a] apple.com> 49038 49039 Fix for bugzilla bug 13050 and also radar p1 5050645. 49040 49041 This patch reworks resource loading to avoid having redundant buffers in the icon database and in cached 49042 images in the WebCore cache. It also avoids overcopying in top-level image documents and in the icon 49043 database. 49044 49045 There is now only one SharedBuffer for a resource and everybody observes that buffer now instead of ever 49046 making their own. Even ImageIO uses the SharedBuffer while decoding. 49047 49048 The page in 13050 dropped from 145mb down to 45mb of memory use with this change for a stunning savings 49049 of 100mb. 49050 49051 Reviewed by olliej, mjs 49052 49053 * WebCore.exp: 49054 * loader/CachedCSSStyleSheet.cpp: 49055 (WebCore::CachedCSSStyleSheet::data): 49056 * loader/CachedCSSStyleSheet.h: 49057 * loader/CachedImage.cpp: 49058 (WebCore::CachedImage::data): 49059 * loader/CachedImage.h: 49060 * loader/CachedResource.cpp: 49061 (WebCore::CachedResource::CachedResource): 49062 (WebCore::CachedResource::~CachedResource): 49063 * loader/CachedResource.h: 49064 (WebCore::CachedResource::data): 49065 * loader/CachedScript.cpp: 49066 (WebCore::CachedScript::data): 49067 * loader/CachedScript.h: 49068 * loader/CachedXSLStyleSheet.cpp: 49069 (WebCore::CachedXSLStyleSheet::data): 49070 * loader/CachedXSLStyleSheet.h: 49071 * loader/DocLoader.cpp: 49072 (WebCore::DocLoader::checkCacheObjectStatus): 49073 * loader/ImageDocument.cpp: 49074 (WebCore::ImageTokenizer::writeRawData): 49075 (WebCore::ImageTokenizer::finish): 49076 * loader/icon/IconDataCache.cpp: 49077 (WebCore::IconDataCache::setImageData): 49078 (WebCore::IconDataCache::writeToDatabase): 49079 * loader/icon/IconDataCache.h: 49080 * loader/icon/IconDatabase.cpp: 49081 (WebCore::IconDatabase::imageDataForIconURL): 49082 (WebCore::IconDatabase::iconForPageURL): 49083 (WebCore::IconDatabase::setIconDataForIconURL): 49084 (WebCore::IconDatabase::setHaveNoIconForIconURL): 49085 (WebCore::IconDatabase::imageDataForIconURLQuery): 49086 * loader/icon/IconDatabase.h: 49087 * loader/icon/IconLoader.cpp: 49088 (WebCore::IconLoader::startLoading): 49089 (WebCore::IconLoader::didReceiveResponse): 49090 (WebCore::IconLoader::didReceiveData): 49091 (WebCore::IconLoader::didFail): 49092 (WebCore::IconLoader::finishLoading): 49093 (WebCore::IconLoader::clearLoadingState): 49094 * loader/icon/IconLoader.h: 49095 * loader/icon/SQLStatement.cpp: 49096 (WebCore::SQLStatement::getColumnBlobAsVector): 49097 (WebCore::SQLStatement::isExpired): 49098 * loader/icon/SQLStatement.h: 49099 * loader/loader.cpp: 49100 (WebCore::Loader::didFinishLoading): 49101 (WebCore::Loader::didReceiveData): 49102 * page/mac/WebCoreFrameBridge.mm: 49103 (-[WebCoreFrameBridge getData:andResponse:forURL:]): 49104 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): 49105 * platform/SharedBuffer.h: 49106 (WebCore::SharedBuffer::isEmpty): 49107 * platform/graphics/BitmapImage.cpp: 49108 (WebCore::BitmapImage::destroyDecodedData): 49109 (WebCore::BitmapImage::dataChanged): 49110 * platform/graphics/BitmapImage.h: 49111 * platform/graphics/Image.cpp: 49112 (WebCore::Image::setData): 49113 * platform/graphics/Image.h: 49114 (WebCore::Image::dataChanged): 49115 (WebCore::Image::data): 49116 * platform/graphics/ImageSource.h: 49117 * platform/graphics/cg/ImageSourceCG.cpp: 49118 (WebCore::ImageSource::setData): 49119 * platform/graphics/cg/PDFDocumentImage.cpp: 49120 (WebCore::PDFDocumentImage::dataChanged): 49121 * platform/graphics/cg/PDFDocumentImage.h: 49122 * platform/graphics/mac/ImageMac.mm: 49123 (WebCore::Image::loadPlatformResource): 49124 * platform/graphics/svg/SVGImage.cpp: 49125 (WebCore::SVGImage::setData): 49126 * platform/mac/PasteboardMac.mm: 49127 (WebCore::fileWrapperForImage): 49128 49129 2007-03-13 Justin Garcia <justin.garcia (a] apple.com> 49130 49131 Reviewed by darin 49132 49133 <rdar://problem/5046875> 49134 Gmail Editor: Applying alignment to selected text in message also applies alignment to signature 49135 49136 * editing/ApplyStyleCommand.cpp: 49137 (WebCore::ApplyStyleCommand::doApply): Don't call applyBlockStyle unless 49138 there is a block style to apply. 49139 (WebCore::ApplyStyleCommand::applyBlockStyle): Don't do the remove step. 49140 It was unnecessary and removed properties from blocks that could contain 49141 content outside the range being operated on (added a testcase). 49142 (WebCore::ApplyStyleCommand::addBlockStyleIfNeeded): Used an early return 49143 instead of if-nesting. 49144 * editing/ApplyStyleCommand.h: 49145 * editing/CompositeEditCommand.cpp: 49146 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): 49147 Return the new block, if one was created. Use moveParagraphs to move 49148 paragraphs into the new block, instead of moving nodes. The old code moved 49149 too much (added a testcase). 49150 * editing/CompositeEditCommand.h: 49151 49152 2007-03-13 Oliver Hunt <oliver (a] apple.com> 49153 49154 Reviewed by Brady. 49155 49156 To fix <rdar://problem/5044366> we now pass a NSString 49157 representation of the URL extracted with _web_originalDataAsString 49158 instead of relying on [NSURL absoluteString] in the bridge 49159 49160 * page/mac/WebCoreFrameBridge.h: 49161 * page/mac/WebCoreFrameBridge.mm: 49162 (-[WebCoreFrameBridge getData:andResponse:forURL:]): 49163 49164 2007-03-13 Brady Eidson <beidson (a] apple.com> 49165 49166 Reviewed by Anders 49167 49168 <rdar://problem/5048818> - REGRESSION: Incompletely loaded resources being saved to the object cache 49169 49170 Due to a subtle change in loader behavior back in 10904, we would stop all loaders before calling 49171 didFail() on them in the Cache loader. As a result, we basically cleared all of the Subresource Loaders 49172 out of the Cache loader before more properly failing them as errored out. The result? Partially loaded 49173 resources being cached. 49174 49175 Since Loader::didFail() both calls error() on the object *and* removes the loader, the solution is to call 49176 didFail() for all cancelled loaders instead of *only* removing them from the set of active loaders. 49177 49178 In addition, pages that didn't completely load were being saved to the back/forward cache. To fix that, 49179 I added a null check on the DocumentLoader's error to see if the page ended in an error, or did indeed 49180 completely load. 49181 49182 Note that the layout test for this - if possible - will require other enhancements including possibly adding 49183 support for window.stop(). That task is documented in <rdar://problem/5061826> 49184 49185 * loader/FrameLoader.cpp: 49186 (WebCore::FrameLoader::provisionalLoadStarted): Fixed a few bugs relating to my original BFCache rewrite to 49187 more perfectly restore the original behavior - including only caching HTML documents via the 49188 m_client->canCachePage() call 49189 (WebCore::FrameLoader::canCachePage): Don't make the call to m_client->canCachePage() as that serves a different 49190 purpose 49191 - Check the mainDocumentError to see if the load ended in error as a further criteria in determining the 49192 cachability of a page 49193 49194 * loader/loader.cpp: 49195 (WebCore::Loader::cancelRequests): Call didFail(cancelledError()) instead of just removing the loaders from the 49196 loaders-in-progress set. This adds the effect of properly cleaning up the cached object. 49197 49198 2007-03-13 Beth Dakin <bdakin (a] apple.com> 49199 49200 Rendering part reviewed by Hyatt. Editing part consulted with and 49201 rubber stamped by Justin and Harrison. 49202 49203 Fix for <rdar://problem/5025925> A hang occurs in Safari when 49204 attempting to print page at http://www.pcadvisor.co.uk 49205 49206 * rendering/RenderBlock.cpp: 49207 (WebCore::RenderBlock::makeChildrenNonInline): 49208 RenderBlock::makeChildrenNonInline() takes a block's inline 49209 children and turns them into block children. If the children had 49210 line boxes, those boxes were being leaked. In the layout test I 49211 added with the change (and at pcadvisor.co.uk during printing) 49212 children were being made non-inline, and then they were being made 49213 inline again. This meant that some of the children ended up 49214 pointing to totally stale line boxes that are normally just leaked. 49215 This caused an infinite loop in RenderFlow::destroy(). This patch 49216 simply deletes everyone's line boxes in 49217 RenderBlock::makeChildrenNonInline() 49218 49219 * editing/InsertParagraphSeparatorCommand.cpp: 49220 (WebCore::InsertParagraphSeparatorCommand::doApply): The other part 49221 of this fix is that I added a call to updateLayout in 49222 InsertParagraphSeparatorCommand::doApply(). One layout test 49223 (editing/spelling/spelling.html) was changed by my patch to 49224 RenderBlock. doApply() inserts a node into the render tree. In at 49225 least one case in spelling.html, that caused some line boxes to be 49226 deleted. Back in doApply() this meant that the RenderTree was out- 49227 of-date, and we mistakenly thought we were at the end of the 49228 paragraph. This caused us to insert a RenderBR() at the end of the 49229 tree instead of an empty RenderText(). No one seems to know exactly 49230 why we insert either, or if the change is necessarily a problem. It 49231 is clear, though, that the RenderTree in doApply() is out-of-date 49232 after inserting the node and deleting some line boxes, so it seems 49233 prudent to call into updateLayout(). 49234 49235 2007-03-13 Adam Roben <aroben (a] apple.com> 49236 49237 Reviewed by Anders. 49238 49239 * platform/FontData.h: Added m_isSystemFont parameter to match NSFont. 49240 49241 2007-03-13 Beth Dakin <bdakin (a] apple.com> 49242 49243 Reviewed by Maciej. 49244 49245 Export DocumentLoader::setFrame(). Part of fix for <rdar:// 49246 problem/4277074> 8F32: Help Viewer crashed on clicking link - 49247 KHTMLView::viewportMouseReleaseEvent (12647) 49248 49249 * WebCore.exp: 49250 49251 2007-03-13 Darin Adler <darin (a] apple.com> 49252 49253 Reviewed by Maciej. 49254 49255 - fix http://bugs.webkit.org/show_bug.cgi?id=12794 49256 <rdar://problem/5028154> REGRESSION: TripTik planner at aaa.com never 49257 finishes loading due to unclosed canvas tag (12794) 49258 49259 Change <canvas> elements so that their contents are parsed normally, 49260 but not rendered. This change fixes the bug, because normal parsing 49261 rules close the <canvas> element in that case. The special parser 49262 stuff was just getting in the way. 49263 49264 Also do some basic cleanup to the HTML parser. This was motivated by 49265 an earlier version of this patch that made even more changes to the 49266 parser, but the cleanup is still worth landing. 49267 49268 Test: fast/canvas/canvas-hides-fallback.html 49269 Test: fast/canvas/script-inside-canvas-fallback.html 49270 Test: fast/canvas/unclosed-canvas-1.html 49271 Test: fast/canvas/unclosed-canvas-2.html 49272 Test: fast/canvas/unclosed-canvas-3.html 49273 Test: fast/canvas/unclosed-canvas-4.html 49274 49275 * html/HTMLCanvasElement.h: Added a data member to keep track of whether the 49276 renderer is a RenderHTMLCanvas or not. 49277 * html/HTMLCanvasElement.cpp: 49278 (WebCore::HTMLCanvasElement::createRenderer): If JavaScript is enabled, create 49279 a RenderHTMLCanvas. If it's not, let the default code create the default type 49280 of renderer, which will result in fallback content being visible. The 49281 RenderHTMLCanvas class already hides all of its children. Set the m_rendererIsCanvas 49282 boolean accordingly. Since the actual storage for the canvas is allocated lazily 49283 when you actually get a drawing context, we don't need to do anything special 49284 to prevent it when JavaScript is disabled; the relevant functions won't be called. 49285 (WebCore::HTMLCanvasElement::reset): Protect the code that manipulates the 49286 RenderHTMLCanvas with a check of m_rendererIsCanvas. This is the only code inside 49287 the DOM element that relies on the renderer type. 49288 49289 * html/HTMLParser.h: Removed unneeded includes. Marked HTMLParser as 49290 Noncopyable. Changed the Document parameter to the constructor to instead 49291 be HTMLDocument. Renamed discard_until to m_skipModeTag for clarity. 49292 Removed unused noSpaces function and unneeded public doc() function. 49293 Moved data members all down to the end so you can see them together in order. 49294 Renamed map to m_currentMapElement and isindex to m_isindexElement. 49295 Removed unused end and headLoaded data members. Renamed m_fragment to 49296 m_isParsingFragment to make it clearer that it's a boolean, not a fragment. 49297 49298 * html/HTMLParser.cpp: 49299 (WebCore::HTMLParser::HTMLParser): Changed to use member construction 49300 syntax instead of calling reset(). This is especially helpful in the 49301 fragment case, where calling reset() later on is illegal, so not using 49302 it in the constructor lets us assert. 49303 (WebCore::HTMLParser::~HTMLParser): Did an explicit deref instead of 49304 calling setCurrent for its side effect. 49305 (WebCore::HTMLParser::reset): Updated for member name changes and removal 49306 and to use document instead of doc(). 49307 (WebCore::HTMLParser::setCurrent): Use document instead of doc(). 49308 (WebCore::HTMLParser::setSkipMode): Added. No longer inline. Now sets the 49309 m_inCanvasBeforeFirstOpenTag data member to false. 49310 (WebCore::HTMLParser::parseToken): Tightened up the skip mode logic at the 49311 top of the function, and added a FIXME about the strange case there where 49312 we don't skip yet stay in skip mode. Updated for renaming and doc(). 49313 (WebCore::HTMLParser::insertNode): Updated for renaming and doc(). 49314 (WebCore::HTMLParser::handleError): Ditto. 49315 (WebCore::HTMLParser::framesetCreateErrorCheck): Ditto. 49316 (WebCore::HTMLParser::isindexCreateErrorCheck): Changed to use RefPtr. 49317 (WebCore::HTMLParser::noscriptCreateErrorCheck): Updated for renaming and doc(). 49318 (WebCore::HTMLParser::mapCreateErrorCheck): Ditto. 49319 (WebCore::HTMLParser::getNode): Removed the special case for canvas here. 49320 Canvas fallback is now handled in the DOM, not the parser. Updated for 49321 renaming and doc(). 49322 (WebCore::HTMLParser::allowNestedRedundantTag): Changed a #define into a C++ 49323 constant. 49324 (WebCore::HTMLParser::processCloseTag): Updated for renaming and doc(). 49325 (WebCore::HTMLParser::isInline): Ditto. 49326 (WebCore::HTMLParser::tagIsOnStack): Added. Used by new canvas logic. 49327 (WebCore::HTMLParser::popBlock): Updated for renaming and doc(). Also renamed 49328 the local variable Elem to elem. 49329 (WebCore::HTMLParser::createHead): Ditto. 49330 (WebCore::HTMLParser::handleIsindex): Changed to use RefPtr. 49331 (WebCore::HTMLParser::startBody): Updated for renaming and doc(). 49332 (WebCore::HTMLParser::finished): Ditto. 49333 49334 2007-03-13 David Hyatt <hyatt (a] apple.com> 49335 49336 Two more cleanup fixes to the cache. Don't call destroyDecodedData in the BitmapImage destructor, since 49337 clearing the image source and calling setData on it again causes it to do an extra copy of the encoded 49338 data. Since we're about to be destroyed this is just wasteful. 49339 49340 When the cache prunes, don't allow it to destroy the decoded data of an image that is still actively loading, 49341 since we've established that ImageIO can actually crash if you yank the rug out from under it like that. 49342 49343 Reviewed by ggaren 49344 49345 * loader/Cache.cpp: 49346 (WebCore::Cache::prune): 49347 * platform/graphics/BitmapImage.cpp: 49348 (WebCore::BitmapImage::~BitmapImage): 49349 49350 2007-03-13 Anders Carlsson <acarlsson (a] apple.com> 49351 49352 Try fixing the Qt build. 49353 49354 * editing/Editor.h: 49355 (WebCore::Editor::setStartNewKillRingSequence): 49356 49357 2007-03-13 David Harrison <harrison (a] apple.com> 49358 49359 Reviewed by Justin. 49360 49361 <rdar://problem/5031181> cntl-k at end of paragraph adds nothing to the kill ring 49362 <rdar://problem/5031189> REGRESSION: cntl-y yanks only the most recently killed content 49363 49364 For rdar://5031181, properly extend the selection before the killring handling, and 49365 make sure plainText of that selection returns a linefeed. 49366 49367 For rdar://5031189, restore Editor::deleteRange() code that continued current killring, 49368 even though the range deletion implicitly stopped it via changing the selection. 49369 49370 A byproduct of this change is the elimination of RUNDFINDER vs CONTENT TextIterator. The 49371 only difference between the two was whether to emit a newline when the range started 49372 with a blockflow element. No callers actually need that any more. 49373 49374 Tests added: 49375 * editing/pasteboard/emacs-ctrl-k-y-001-expected.checksum: Added. 49376 * editing/pasteboard/emacs-ctrl-k-y-001-expected.png: Added. 49377 * editing/pasteboard/emacs-ctrl-k-y-001-expected.txt: Added. 49378 * editing/pasteboard/emacs-ctrl-k-y-001.html: Added. 49379 49380 * editing/Editor.cpp: 49381 (WebCore::Editor::deleteRange): 49382 Clear the "start new kill ring sequence" setting, because it was set to true 49383 when the selection was updated by deleting the range. 49384 49385 (WebCore::Editor::deleteWithDirection): 49386 If extending the selection to the end of paragraph resulted in a caret selection, 49387 extend by character, to handle the case when the selection started as a caret at 49388 the end of paragraph. 49389 49390 * editing/TextIterator.cpp: 49391 (WebCore::TextIterator::TextIterator): 49392 Initialize new member variables for tracking handling of the beginning of the range. 49393 49394 (WebCore::TextIterator::advance): 49395 Call representNodeOffsetZero on the m_endContainer. 49396 Move visibility checks into handleTextNode and handleReplacedElement. 49397 49398 (WebCore::TextIterator::handleTextNode): 49399 (WebCore::TextIterator::handleTextBox): 49400 Call emitText. 49401 49402 (WebCore::TextIterator::handleReplacedElement): 49403 Moved visibility check into here. 49404 49405 (WebCore::shouldEmitNewlinesBeforeAndAfterNode): 49406 49407 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): 49408 (WebCore::TextIterator::representNodeOffsetZero): 49409 New. Emits proper sequence when encountering offset 0 of a node, including the 49410 m_endContainer. Started with code from handleNonTextNode. 49411 49412 (WebCore::TextIterator::handleNonTextNode): 49413 Call representNodeOffsetZero. 49414 49415 (WebCore::TextIterator::exitNode): 49416 Similar to shouldRepresentNodeOffsetZero, do not emit the newline if the node 49417 was collapsed, and before any other emitted content. 49418 49419 (WebCore::TextIterator::emitCharacter): 49420 49421 (WebCore::TextIterator::emitText): 49422 New. Consolidates code used by handleText and handleTextBox. 49423 49424 (WebCore::CharacterIterator::CharacterIterator): 49425 Removed RUNFINDER. 49426 49427 (WebCore::WordAwareIterator::WordAwareIterator): 49428 Removed RUNFINDER. 49429 49430 (WebCore::WordAwareIterator::advance): 49431 Formatting. 49432 49433 (WebCore::TextIterator::rangeLength): 49434 Formatting. 49435 49436 * editing/TextIterator.h: 49437 Added member variables for tracking handling of the beginning of the range. 49438 Eliminated concept of RUNDFINDER vs CONTENT TextIterator. 49439 49440 * editing/visible_units.cpp: 49441 (WebCore::nextBoundary): 49442 Eliminated concept of RUNDFINDER vs CONTENT TextIterator. 49443 49444 2007-03-13 David Hyatt <hyatt (a] apple.com> 49445 49446 Clean up the null image case in CachedImage::data to make sure the size totals will stay accurate. 49447 I'm not convinced this case can even be hit, but I'm cleaning it up just in case. 49448 49449 * loader/CachedImage.cpp: 49450 (WebCore::CachedImage::data): 49451 49452 2007-03-13 David Hyatt <hyatt (a] apple.com> 49453 49454 Reorder the call to allReferencesRemoved, since otherwise the live object size will become 49455 incorrect. 49456 49457 * loader/CachedResource.cpp: 49458 (WebCore::CachedResource::deref): 49459 49460 2007-03-13 Antti Koivisto <antti (a] apple.com> 49461 49462 Reviewed by Darin. 49463 49464 Fix http://bugs.webkit.org/show_bug.cgi?id=11083 49465 REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area 49466 <rdar://problem/4757650> 49467 49468 Allow inserting tabs in designMode. Backtab behaves like before (matches FF). 49469 49470 * page/EventHandler.cpp: 49471 (WebCore::EventHandler::defaultTabEventHandler): 49472 49473 2007-03-13 David Hyatt <hyatt (a] apple.com> 49474 49475 Fix two counting errors in the decoded size of objects in the WebCore cache. We need to explicitly 49476 destroy decoded data when clearing out a partially loaded image that had an error, since the destructor 49477 (although it does destroy the data) disconnects the observer so that the notification doesn't happen. 49478 49479 Some CachedImages aren't in the cache (like image documents). When the decoded size of such an image 49480 changes we should not notify the cache, since - newsflash - we aren't actually in it. 49481 49482 Reviewed by ggaren 49483 49484 * loader/CachedImage.cpp: 49485 (WebCore::CachedImage::clear): 49486 (WebCore::CachedImage::decodedSizeChanged): 49487 49488 2007-03-13 Darin Adler <darin (a] apple.com> 49489 49490 Reviewed by Tim Hatcher and John Sullivan. 49491 49492 - fix <rdar://problem/4915303> CrashTracer: 36 crashes in Safari at 49493 com.apple.AppKit: -[NSView getRectsBeingDrawn:count:] + 502 49494 49495 * page/mac/FrameMac.mm: (WebCore::Frame::imageFromRect): 49496 This was calling drawRect: directly, but NSView's getRectsBeingDrawn:count: 49497 method was never really safe to call unless it was AppKit that called your 49498 drawRect: method. Changed it to call drawSingleRect: instead. A little ugly, 49499 but seems to work and will almost certainly fix the bug. 49500 49501 2007-03-13 Nikolas Zimmermann <zimmermann (a] kde.org> 49502 49503 Reviewed by Maciej. 49504 49505 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12974 49506 49507 Call forgetGenericContext in JSSVGPathSeg destructor, otherwhise 49508 we'll hit an ASSERT in a debug build, when running svg/custom/js-update-path-changes.svg 49509 a few dozen times in a single WebKit instance. The ASSERT is good and just warns that 49510 there was already a generic context pointer registered, and the new "to be registered" 49511 object already exists, but pointing to a different object. That's because garbage collection 49512 calls the JSSVGPathSeg destructor, but that didn't cleanup the generic context map. 49513 49514 Only JSSVGPathSeg is hit by this problem, as it's the only non SVGAnimated* type 49515 using the generic context system while using a custom JSSVGPathSegList implementation. 49516 49517 Also cleanup JSSVGPathSegListCustom code to call the static forgetGenericContext 49518 method instead of doing the same using custom code. 49519 49520 * bindings/js/JSSVGPathSegListCustom.cpp: 49521 (WebCore::removeFromPathSegContextMap): 49522 (WebCore::JSSVGPathSegList::clear): 49523 (WebCore::JSSVGPathSegList::removeItem): 49524 * bindings/scripts/CodeGeneratorJS.pm: 49525 49526 2007-03-13 Darin Adler <darin (a] apple.com> 49527 49528 Reviewed by Adele. 49529 49530 - fix http://bugs.webkit.org/show_bug.cgi?id=12595 49531 <rdar://problem/4722863> REGRESSION: Can't add item to cart at lnt.com 49532 (JS type error) (12595) 49533 49534 Test: fast/forms/old-names.html 49535 49536 * bindings/js/JSHTMLFormElementCustom.cpp: 49537 (WebCore::JSHTMLFormElement::canGetItemsForName): If the form collection has 49538 nothing for a given name, try the form's oldNamedElement function. 49539 (WebCore::JSHTMLFormElement::nameGetter): Ditto. 49540 49541 * bindings/js/kjs_dom.h: Removed the DOMNamedNodesCollection. Instead we will use 49542 a class derived from NodeList. 49543 * bindings/js/kjs_dom.cpp: Ditto. 49544 49545 * bindings/js/kjs_html.cpp: 49546 (KJS::VectorNodeList::VectorNodeList): Added. Constructor for a new class derived 49547 from NodeList to be used for the named items result from a collection -- uses a 49548 vector of node pointers. 49549 (KJS::VectorNodeList::length): Added. 49550 (KJS::VectorNodeList::item): Added. 49551 (KJS::JSHTMLCollection::getNamedItems): Use VectorNodeList and the existing wrapper 49552 for NodeList rather than a custom JavaScript class, DOMNamedNodesCollection. 49553 49554 * dom/ChildNodeList.h: 49555 * dom/ChildNodeList.cpp: 49556 (WebCore::ChildNodeList::ChildNodeList): Updated to derive from TreeNodeList, 49557 since NodeList is now a simpler class. 49558 (WebCore::ChildNodeList::elementMatches): Updated for name and parameter change. 49559 49560 * dom/NameNodeList.h: 49561 * dom/NameNodeList.cpp: 49562 (WebCore::NameNodeList::NameNodeList): Updated to derive from TreeNodeList, 49563 since NodeList is now a simpler class. 49564 (WebCore::NameNodeList::rootNodeAttributeChanged): Updated for name and 49565 parameter change. 49566 49567 * dom/Node.h: Change register/unregister functions to take TreeNodeList. 49568 * dom/Node.cpp: 49569 (WebCore::TagNodeList::TagNodeList): Updated to derive from TreeNodeList, 49570 since NodeList is now a simpler abstract class. 49571 (WebCore::TagNodeList::elementMatches): Updated for name and parameter change. 49572 (WebCore::Node::registerNodeList): Changed type from NodeList to TreeNodeList. 49573 (WebCore::Node::unregisterNodeList): Ditto. 49574 49575 * dom/NodeList.h: Broke NodeList into a simpler base class and a derived class 49576 with the machinery for iterating a tree, called TreeNodeList. 49577 * dom/NodeList.cpp: 49578 (WebCore::NodeList::~NodeList): Added. 49579 (WebCore::NodeList::itemWithName): Factored out of the old itemWithName. 49580 (WebCore::TreeNodeList::TreeNodeList): Renamed from NodeList. 49581 (WebCore::TreeNodeList::~TreeNodeList): Ditto. 49582 (WebCore::TreeNodeList::recursiveLength): Ditto. 49583 (WebCore::TreeNodeList::itemForwardsFromCurrent): Ditto. 49584 (WebCore::TreeNodeList::itemBackwardsFromCurrent): Ditto. 49585 (WebCore::TreeNodeList::recursiveItem): Ditto. 49586 (WebCore::TreeNodeList::itemWithName): Factored half of this into this function, 49587 the other half in NodeList::itemWithName. 49588 (WebCore::TreeNodeList::rootNodeAttributeChanged): Added. No longer inline. 49589 (WebCore::TreeNodeList::rootNodeChildrenChanged): Renamed from NodeList. 49590 49591 * html/HTMLFormElement.h: Added formElementNameChanged and oldNamedElement 49592 fucntions, and a map called m_oldNames. Also removed m_boundary, which I 49593 thought I had already done. 49594 * html/HTMLFormElement.cpp: 49595 (WebCore::HTMLFormElement::HTMLFormElement): Initialize m_oldNames to 0. 49596 Switched the rest of the members to initialization syntax. 49597 (WebCore::HTMLFormElement::~HTMLFormElement): Delete m_oldNames. 49598 (WebCore::HTMLFormElement::formElementNameChanged): Added. Stores a reference 49599 to one element under each of its old names. 49600 (WebCore::HTMLFormElement::oldNamedElement): Added. Returns the old element 49601 that once had a given name. 49602 49603 * html/HTMLGenericFormElement.h: 49604 * html/HTMLGenericFormElement.cpp: 49605 (WebCore::HTMLGenericFormElement::parseMappedAttribute): When the name 49606 attribute changes, tell the form about the old name. 49607 (WebCore::HTMLGenericFormElement::insertedIntoTree): When telling a form 49608 about an element, also store away the old name so that we can use it 49609 when the name changes later. 49610 49611 * html/HTMLInputElement.cpp: 49612 (WebCore::HTMLInputElement::parseMappedAttribute): Added a call to the 49613 base class in the nameAttr case, so the code in HTMLGenericFormElement 49614 above will get called in the input element case. 49615 49616 2007-03-13 Antti Koivisto <antti (a] apple.com> 49617 49618 Reviewed by Alexey. 49619 49620 Alexey spotted a DOS by using string of 64k unbreakable character in 49621 fix for http://bugs.webkit.org/show_bug.cgi?id=12833 49622 49623 * dom/Text.cpp: 49624 (WebCore::Text::createWithLengthLimit): 49625 49626 2007-03-13 Lars Knoll <lars (a] trolltech.com> 49627 49628 Fix the Qt build 49629 49630 * WebCore.pro: 49631 49632 2007-03-13 Rob Buis <buis (a] kde.org> 49633 49634 Reviewed by Darin. 49635 49636 http://bugs.webkit.org/show_bug.cgi?id=12576 49637 WebKit does not support xlink:show attributes 49638 49639 Make an exception for non-empty targets, these should be opened 49640 in a new window, unless the value is _self. 49641 49642 * ksvg2/svg/SVGAElement.cpp: 49643 (WebCore::SVGAElement::defaultEventHandler): 49644 49645 2007-03-13 David Hyatt <hyatt (a] apple.com> 49646 49647 - fix cache issues seen in http://bugs.webkit.org/show_bug.cgi?id=13050 49648 6 objects and ~200MB leaked after opening then closing tab 49649 <rdar://problem/5058714> 49650 49651 Double the encoded size of images for now. We do this to account for a bug in ImageIO where they hold 49652 a separate copy of image data. See <rdar://problem/5050645>. 49653 49654 Reviewed by aroben. 49655 49656 * loader/CachedImage.cpp: 49657 (WebCore::CachedImage::data): 49658 49659 2007-03-12 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 49660 49661 Not reviewed - gdk build fix. 49662 49663 * platform/gdk/TemporaryLinkStubs.cpp: 49664 (SearchPopupMenu::enabled): add missing stub. 49665 49666 2007-03-12 David Kilzer <ddkilzer (a] kilzer.net> 49667 49668 Reviewed by Darin. 49669 49670 - fix http://bugs.webkit.org/show_bug.cgi?id=13045 49671 REGRESSION: Blackboard CourseWare Error with Nightlies after Mar 8 49672 49673 * html/HTMLFormElement.cpp: 49674 (WebCore::getUniqueBoundaryString): Speculative fix: remove dashes from 49675 the boundary prefix that appear after non-dash characters. 49676 49677 2007-03-12 Mitz Pettel <mitz (a] webkit.org> 49678 49679 Reviewed by Anders. 49680 49681 - fix http://bugs.webkit.org/show_bug.cgi?id=13015 49682 REGRESSION (r17233-r17241): Repro crash when leaving a page whose unload handler submits a form 49683 49684 Test: fast/loader/onunload-form-submit-crash-2.html 49685 49686 * loader/DocumentLoader.cpp: 49687 (WebCore::DocumentLoader::finishedLoading): Added null check. 49688 49689 2007-03-12 Anders Carlsson <acarlsson (a] apple.com> 49690 49691 Reviewed by Darin. 49692 49693 <rdar://problem/4900071> 49694 http://bugs.webkit.org/show_bug.cgi?id=6454 49695 ASSERTION: Navigating 'back' in frameset: !_private->previousItem (6454) 49696 49697 Change back the behavior of checkLoadComplete to traverse the entire frame tree instead of 49698 just the parent frames of the current frame. This is needed in order to reset the previous history item 49699 for all frames when doing a frame navigation. (This was changed in revision 11819) 49700 49701 * loader/FrameLoader.cpp: 49702 (WebCore::FrameLoader::recursiveCheckLoadComplete): 49703 (WebCore::FrameLoader::checkLoadComplete): 49704 * loader/FrameLoader.h: 49705 49706 2007-03-12 Justin Garcia <justin.garcia (a] apple.com> 49707 49708 Reviewed by darin 49709 49710 <rdar://problem/5056619> 49711 REGRESSION: Gmail Editor: Dragging text into Reply (textarea) field results in a crash at WebCore::InsertNodeBeforeCommand::doApply() 49712 49713 * editing/SelectionController.cpp: 49714 (WebCore::removingNodeRemovesPosition): Added. 49715 (WebCore::SelectionController::nodeWillBeRemoved): Clear the 49716 selection if it's inside a shadow tree. 49717 * page/DragController.cpp: 49718 (WebCore::setSelectionToDragCaret): Return false to signal to 49719 clients that a drop shouldn't be performed if the second attempt 49720 to set a selection ends up in non-editable content. 49721 49722 2007-03-12 Darin Adler <darin (a] apple.com> 49723 49724 Reviewed by Tim Hatcher. 49725 49726 - fixed JavaScript wrapper classes to be correct for a variety of cases 49727 that a new test uncovered: was broken for at least 5 classes 49728 49729 - fixed Objective-C wrapper classes to be correct for a variety of cases 49730 that a test case uncovered: was broken for ast least 50 classes 49731 49732 - added missing DOM API for creating OverflowEvent and WheelEvent instances 49733 49734 Test: fast/dom/wrapper-classes.html 49735 49736 * DerivedSources.make: Added missing bindings: HTMLCanvasElement for ObjC, 49737 CDATASection, Comment, and EntityReference for JavaScript. 49738 * WebCore.xcodeproj/project.pbxproj: Added those new generated files. 49739 49740 * bindings/js/JSHTMLElementWrapperFactory.cpp: 49741 (WebCore::createJSHTMLWrapper): Corrected the wrapper classes for <keygen>, 49742 which needs an HTMLSelectElement wrapper, and <xmp>, which needs an 49743 HTMLPreElement wrapper. 49744 49745 * bindings/objc/DOMInternal.h: Updated for new naming scheme. 49746 Also moved createDOMWrapper from the KJS namespace to the WebCore namespace. 49747 * bindings/objc/DOMUtility.mm: 49748 (KJS::createDOMWrapper): Broke the core function into a separate one, and 49749 left it in the KJS namespace because Objective-C++ rules make it impossible 49750 for it to work in the WebCore namespace. Used a macro-based implementation 49751 to cut down on repeated code, and added missing cases for Counter, 49752 HTMLOptionsCollection, Range, XPathExpression, XPathResult, Event, RGBColor, 49753 Rect, Window, DOMImplementation, NodeIterator, TreeWalker, and HTMLCollection. 49754 (WebCore::createDOMWrapper): The other half of the function. 49755 49756 * bindings/objc/DOM.mm: 49757 (WebCore::createElementClassMap): Corrected the wrapper classes for 49758 <canvas>, which needs a DOMHTMLCanvasElement wrapper, <del>, which needs 49759 a DOMHTMLModElement wrapper, <embed>, which needs a DOMHTMLEmbedElement 49760 wrapper, <ins>, which needs a DOMHTMLModElement wrapper, <th>, which needs 49761 a DOMHTMLTableCellElement wrapper, and <xmp>, which needs an 49762 DOMHTMLPreElement wrapper. 49763 (+[DOMNode _wrapNode:]): Updated for new naming scheme. 49764 (+[DOMNode _wrapEventTarget:]): Ditto. 49765 (+[DOMNodeFilter _wrapNodeFilter:]): Ditto. 49766 (ObjCNodeFilterCondition::acceptNode): Ditto. 49767 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): Ditto. 49768 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): Ditto. 49769 (WebCore::ObjCEventListener::handleEvent): Ditto. 49770 49771 * dom/Document.cpp: (WebCore::Document::createEvent): 49772 Added cases for OverflowEvent and WheelEvent. 49773 49774 * dom/OverflowEvent.h: Added empty constructor and initOverflowEvent. 49775 * dom/OverflowEvent.cpp: 49776 (WebCore::OverflowEvent::OverflowEvent): Added. 49777 (WebCore::OverflowEvent::initOverflowEvent): Added. 49778 * dom/OverflowEvent.idl: Added initOverflowEvent. 49779 49780 * bindings/objc/PublicDOMInterfaces.h: Added initOverflowEvent. 49781 49782 * bindings/objc/DOMCSS.mm: 49783 (+[DOMStyleSheet _wrapStyleSheet:]): Updated for new naming scheme. 49784 (+[DOMCSSRule _wrapCSSRule:]): Corrected wrapper for CSSUnknownRule. 49785 (+[DOMCSSValue _wrapCSSValue:]): Updated for new naming scheme. 49786 49787 * bindings/js/kjs_css.h: 49788 (KJS::DOMRGBColor::impl): Added. Used when making an ObjC wrapper. 49789 (KJS::DOMRect::impl): Ditto. 49790 49791 * bindings/js/kjs_dom.cpp: (KJS::toJS): Corrected the wrapper classes for 49792 CDATASection, Comment, and EntityReference. 49793 49794 * bindings/js/kjs_html.cpp: Corrected the class name for HTMLElement 49795 (was "DOMHTMLElement") and HTMLCollection (was "Collection"). 49796 49797 * bindings/objc/DOMImplementationFront.h: 49798 * bindings/objc/DOMImplementationFront.cpp: 49799 (WebCore::implementationFront): Added new overload that returns a front given 49800 a JavaScript wrapper. Needed by the code that makes the Objective-C wrapper. 49801 49802 * bindings/objc/WebScriptObject.mm: 49803 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 49804 Updated since createDOMWrapper is now in the WebCore namespace. 49805 49806 * bindings/scripts/CodeGeneratorObjC.pm: Update the naming scheme for the 49807 wrapper creation functions to use _wrapElement: rather then _elementWith: 49808 style. Removed now-unneeded special cases for things that needed to stay 49809 upper-case, since we don't have to do the whole lcfirst thing. 49810 49811 * html/HTMLCanvasElement.idl: Added #if so we can successfully generate the 49812 Objective-C wrapper for this class, even though we can't yet handle the 49813 DOMObject return type. 49814 49815 * html/HTMLOptionsCollection.idl: Added GenerateNativeConverter so we get 49816 an appropriate toJS function. 49817 49818 * bindings/objc/DOMEvents.mm: 49819 (+[DOMEvent _wrapEvent:]): 49820 * bindings/objc/DOMHTML.mm: 49821 (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]): 49822 (-[DOMHTMLDocument createDocumentFragmentWithText:]): 49823 * bindings/objc/DOMObject.mm: 49824 (-[DOMObject sheet]): 49825 * bindings/objc/DOMRGBColor.mm: 49826 (-[DOMRGBColor red]): 49827 (-[DOMRGBColor green]): 49828 (-[DOMRGBColor blue]): 49829 (-[DOMRGBColor alpha]): 49830 (+[DOMRGBColor _wrapRGBColor:]): 49831 * bindings/objc/DOMSVGPathSegInternal.mm: 49832 (+[DOMSVGPathSeg _wrapSVGPathSeg:]): 49833 * bindings/objc/DOMXPath.mm: 49834 (+[DOMNativeXPathNSResolver _wrapXPathNSResolver:]): 49835 * page/mac/WebCoreFrameBridge.mm: 49836 (-[WebCoreFrameBridge nodesFromList:]): 49837 (-[WebCoreFrameBridge elementWithName:inForm:]): 49838 (-[WebCoreFrameBridge formForElement:]): 49839 (-[WebCoreFrameBridge currentForm]): 49840 (-[WebCoreFrameBridge controlsInForm:]): 49841 (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]): 49842 (-[WebCoreFrameBridge convertNSRangeToDOMRange:]): 49843 (-[WebCoreFrameBridge markDOMRange]): 49844 (-[WebCoreFrameBridge markedTextDOMRange]): 49845 (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): 49846 (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): 49847 (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): 49848 (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): 49849 (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): 49850 (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]): 49851 (-[WebCoreFrameBridge increaseSelectionListLevel]): 49852 (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]): 49853 (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]): 49854 (-[WebCoreFrameBridge dragCaretDOMRange]): 49855 (-[WebCoreFrameBridge editableDOMRangeForPoint:]): 49856 (-[WebCoreFrameBridge characterRangeAtPoint:]): 49857 (-[WebCoreFrameBridge typingStyle]): 49858 (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]): 49859 * platform/mac/ClipboardMac.mm: 49860 (WebCore::ClipboardMac::declareAndWriteDragImage): 49861 * platform/mac/PasteboardMac.mm: 49862 (WebCore::Pasteboard::writeSelection): 49863 Updated for new naming scheme. 49864 49865 2007-03-12 Timothy Hatcher <timothy (a] apple.com> 49866 49867 Reviewed by Darin. 49868 49869 <rdar://problem/4990691> REGRESSION: Selecting text in Adium's Messages field causes horizontal shift 49870 49871 Corrected the recursive point conversion and scrolling done in scrollPointRecursively to use the 49872 document view of each NSClipView. 49873 49874 * platform/mac/ScrollViewMac.mm: 49875 (WebCore::ScrollView::scrollPointRecursively): Call convertPoint:fromView: on the document views, 49876 not the clip views as we encounter them. Then call constrainScrollPoint: on the converted point to 49877 constrain to the document view bounds. And finally call scrollPoint: on the document view, not the clip view. 49878 49879 2007-03-12 Antti Koivisto <antti (a] apple.com> 49880 49881 Reviewed by Alexey. 49882 49883 Fix http://bugs.webkit.org/show_bug.cgi?id=12833 49884 REGRESSION: Selecting text in 6.6MB txt file is sluggish as of the Feb 19th nightly 49885 <rdar://problem/5028159> 49886 49887 Divide large text blocks (>64kB) over multiple text nodes. This limits linebox searches to 49888 a manageable subset. 49889 49890 * dom/Text.cpp: 49891 (WebCore::Text::createWithLengthLimit): 49892 * dom/Text.h: 49893 * html/HTMLParser.cpp: 49894 (WebCore::HTMLParser::parseToken): 49895 * loader/TextDocument.cpp: 49896 (WebCore::TextTokenizer::write): 49897 49898 2007-03-12 David Hyatt <hyatt (a] apple.com> 49899 49900 Fix a regression in printing. Printer fonts need to be part of the 49901 font cache key, since printer fonts have different glyph widths. 49902 (Integer antialiasing is used for screen fonts but not for printer fonts.) 49903 49904 Reviewed by aroben 49905 49906 * platform/FontCache.cpp: 49907 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 49908 (WebCore::FontPlatformDataCacheKey::operator==): 49909 (WebCore::computeHash): 49910 (WebCore::FontCache::getCachedFontPlatformData): 49911 49912 2007-03-12 Lars Knoll <lars (a] trolltech.com> 49913 49914 add missing symbol to fix the Qt build again. 49915 49916 * platform/qt/SearchPopupMenuQt.cpp: 49917 (WebCore::SearchPopupMenu::enabled): 49918 49919 2007-03-12 Adele Peterson <adele (a] apple.com> 49920 49921 Reviewed by Oliver. 49922 49923 Adding the ability to enable or disable a SearchPopupMenu. 49924 49925 * platform/SearchPopupMenu.h: 49926 * platform/mac/SearchPopupMenuMac.mm: (WebCore::SearchPopupMenu::enabled): 49927 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::showPopup): 49928 49929 2007-03-12 Rob Buis <buis (a] kde.org> 49930 49931 Reviewed by Nikolas Zimmermann. 49932 49933 http://bugs.webkit.org/show_bug.cgi?id=12500 49934 SVG fails to correctly handle all link style selectors 49935 http://bugs.webkit.org/show_bug.cgi?id=12567 49936 <text> elements ignore <a> children 49937 49938 Allow <a> inside svg text and handle xlink:show. 49939 49940 * ksvg2/svg/SVGAElement.cpp: 49941 (WebCore::SVGAElement::createRenderer): 49942 (WebCore::SVGAElement::defaultEventHandler): 49943 (WebCore::SVGAElement::childShouldCreateRenderer): 49944 * ksvg2/svg/SVGAElement.h: 49945 * ksvg2/svg/SVGElement.h: 49946 (WebCore::SVGElement::isTextContent): 49947 * ksvg2/svg/SVGTextContentElement.h: 49948 (WebCore::SVGTextContentElement::isTextContent): 49949 * ksvg2/svg/SVGTextElement.cpp: 49950 (WebCore::SVGTextElement::childShouldCreateRenderer): 49951 * rendering/SVGInlineFlowBox.cpp: 49952 (WebCore::translateBox): 49953 (WebCore::placePositionedBoxesHorizontally): 49954 (WebCore::placeBoxesVerticallyWithAbsBaseline): 49955 49956 2007-03-12 Adele Peterson <adele (a] apple.com> 49957 49958 Reviewed by Oliver. 49959 49960 Add a missing parameter to the constructor. 49961 49962 * platform/PlatformKeyboardEvent.h: 49963 * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 49964 49965 2007-03-12 Lars Knoll <lars (a] trolltech.com> 49966 49967 Fix the Qt build. I still get crashes though :/ 49968 49969 * platform/graphics/qt/ImageDecoderQt.cpp: 49970 (WebCore::ImageDecoderQt::clearFrame): 49971 * platform/graphics/qt/ImageDecoderQt.h: 49972 * platform/graphics/qt/ImageSourceQt.cpp: 49973 (WebCore::ImageSource::setData): 49974 (WebCore::ImageSource::frameIsCompleteAtIndex): 49975 (WebCore::ImageSource::clear): 49976 (WebCore::ImageSource::destroyFrameAtIndex): 49977 * platform/qt/ClipboardQt.cpp: 49978 (WebCore::ClipboardQt::ClipboardQt): 49979 * platform/qt/ClipboardQt.h: 49980 * platform/qt/DragDataQt.cpp: 49981 (WebCore::DragData::createClipboard): 49982 49983 2007-03-11 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 49984 49985 Not reviewed - gdk build fixes. 49986 49987 * platform/gdk/EditorClientGdk.cpp: 49988 (WebCore::EditorClientGdk::respondToChangedSelection): add stub 49989 * platform/gdk/EditorClientGdk.h: 49990 * platform/gdk/FrameGdk.cpp: 49991 * platform/gdk/TemporaryLinkStubs.cpp: 49992 (Editor::markMisspellings): add stub 49993 49994 2007-03-11 Alexey Proskuryakov <ap (a] webkit.org> 49995 49996 Reviewed by Adele. 49997 49998 http://bugs.webkit.org/show_bug.cgi?id=12560 49999 W3C XPath test Text_Nodes.svg fails 50000 50001 * xml/XPathStep.cpp: 50002 (WebCore::XPath::Step::nodeTestMatches): Revert the fix, as the behavior doesn't appear 50003 all that desirable as it did at first glance. 50004 50005 2007-03-11 Oliver Hunt <oliver (a] apple.com> 50006 50007 Reviewed by hyatt. 50008 50009 Fix for <rdar://problem/5055690> ASSERTION failure on drop into 50010 editable element with content changed on drop 50011 50012 After setting the selection for a drop into an editable region 50013 we make sure the we succeeded. If we didn't we assume a focus handler 50014 or similar altered the element contents and try again, if the second 50015 attempt fails we bail out. 50016 50017 * page/DragController.cpp: 50018 (WebCore::setSelectionToDragCaret): 50019 (WebCore::DragController::concludeDrag): 50020 50021 2007-03-11 Oliver Hunt <oliver (a] apple.com> 50022 50023 Reviewed by Adele. 50024 50025 Moving Frame{Mac}::respondToChangedSelection to Frame.cpp 50026 Added new EditorClient method to handle old bridge function 50027 50028 * bridge/EditorClient.h: 50029 Added respondToChangedSelection to replace old bridge function 50030 * editing/Editor.cpp: 50031 (WebCore::Editor::respondToChangedSelection): 50032 Add client call to replace old bridge call from Frame::respondToChangedSelection 50033 * editing/SelectionController.cpp: 50034 (WebCore::SelectionController::setSelection): 50035 No longer directly call Editor as Frame::respondToChangedSelection 50036 makes the call 50037 * page/Frame.cpp: 50038 (WebCore::Frame::respondToChangedSelection): 50039 Moved from FrameMac, replaced bridge call with call to Editor 50040 * page/mac/FrameMac.mm: 50041 Moved respondToChangedSelection to Frame.cpp 50042 * page/mac/WebCoreFrameBridge.h: 50043 Removed respondToChangedSelection from bridge 50044 * page/qt/FrameQt.cpp: 50045 Remove stub method for respondToChangedSelection 50046 50047 2007-03-11 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 50048 50049 Reviewed by Brady Eidson. 50050 50051 Linux/gdk fix. 50052 50053 * loader/gdk/FrameLoaderClientGdk.cpp: 50054 (WebCore::FrameLoaderClientGdk::shouldGoToHistoryItem): return true so 50055 that FrameLoader:goBackOrForwards() works. 50056 50057 2007-03-10 Geoffrey Garen <ggaren (a] apple.com> 50058 50059 Reviewed by Darin Adler. 50060 50061 Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and 50062 JSCore causes a hang @ www.panoramas.dk 50063 50064 See JavaScriptCore ChangeLog for details. 50065 50066 * bindings/objc/WebScriptObject.mm: 50067 (_didExecute): Added helpful ASSERT. 50068 (+[WebScriptObject throwException:]): Added missing JSLock. 50069 50070 2007-03-11 Antti Koivisto <antti (a] apple.com> 50071 50072 Reviewed by Hyatt. 50073 50074 Optimize linebox memory consumption: 50075 - move all bitfields to baseclass compacting them 50076 - make InlineTextBox::m_truncation unsigned short and make it relative to m_start 50077 - remove extremely rarely used EllipsisBox pointer from RootInlineBox and instead 50078 use a global hashmap to store it if needed 50079 - use minimum required number of bits to store BidiStatus enum variables in RootInlineBox 50080 - move overflow variables in RootInlineBox to a separate struct that is instantiated 50081 only if any of the variables is set to a value that can't trivially be derived from 50082 box x, y, width and height 50083 50084 As a result line box objects shrink: 50085 InlineBox: 44 -> 44 bytes 50086 InlineTextBox: 68 -> 60 bytes 50087 InlineFlowBox: 68 -> 64 bytes 50088 RootInlineBox: 128 -> 88 bytes 50089 50090 The optimizations possiblity was noticed when debugging http://bugs.webkit.org/show_bug.cgi?id=12833 50091 Bug 12833: REGRESSION: Selecting text in 6.6MB txt file is sluggish as of the Feb 19th nightly 50092 <rdar://problem/5028159> 50093 50094 On that page the patch saves 11.5MB or some 21% of linebox memory consumption. It also 50095 actually improves selection performance somewhat by improving memory locality. 50096 50097 * rendering/InlineBox.h: 50098 (WebCore::InlineBox::InlineBox): 50099 * rendering/InlineFlowBox.h: 50100 (WebCore::InlineFlowBox::InlineFlowBox): 50101 * rendering/InlineTextBox.cpp: 50102 (WebCore::InlineTextBox::placeEllipsisBox): 50103 (WebCore::InlineTextBox::nodeAtPoint): 50104 (WebCore::InlineTextBox::paint): 50105 (WebCore::InlineTextBox::paintDecoration): 50106 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 50107 (WebCore::InlineTextBox::paintMarkedTextUnderline): 50108 * rendering/InlineTextBox.h: 50109 (WebCore::InlineTextBox::InlineTextBox): 50110 * rendering/RootInlineBox.cpp: 50111 (WebCore::throw): 50112 (WebCore::RootInlineBox::Overflow::operator delete): 50113 (WebCore::RootInlineBox::Overflow::destroy): 50114 (WebCore::RootInlineBox::destroy): 50115 (WebCore::RootInlineBox::detachEllipsisBox): 50116 (WebCore::RootInlineBox::clearTruncation): 50117 (WebCore::RootInlineBox::placeEllipsis): 50118 (WebCore::RootInlineBox::paintEllipsisBox): 50119 (WebCore::RootInlineBox::addHighlightOverflow): 50120 (WebCore::RootInlineBox::nodeAtPoint): 50121 (WebCore::RootInlineBox::adjustPosition): 50122 (WebCore::RootInlineBox::selectionTop): 50123 (WebCore::RootInlineBox::setLineBreakInfo): 50124 (WebCore::RootInlineBox::ellipsisBox): 50125 (WebCore::RootInlineBox::setVerticalOverflowPositions): 50126 (WebCore::RootInlineBox::setHorizontalOverflowPositions): 50127 (WebCore::RootInlineBox::setVerticalSelectionPositions): 50128 * rendering/RootInlineBox.h: 50129 (WebCore::RootInlineBox::RootInlineBox): 50130 (WebCore::RootInlineBox::topOverflow): 50131 (WebCore::RootInlineBox::bottomOverflow): 50132 (WebCore::RootInlineBox::leftOverflow): 50133 (WebCore::RootInlineBox::rightOverflow): 50134 (WebCore::RootInlineBox::lineBreakBidiStatus): 50135 (WebCore::RootInlineBox::selectionBottom): 50136 (WebCore::RootInlineBox::Overflow::Overflow): 50137 50138 2007-03-11 Alexey Proskuryakov <ap (a] webkit.org> 50139 50140 Reviewed by Darin. 50141 50142 A partial fix for http://bugs.webkit.org/show_bug.cgi?id=13021 50143 XPath can be very slow 50144 50145 * xml/XPathExpression.cpp: 50146 (WebCore::XPathExpression::evaluate): Cache evaluationContext in a local variable. 50147 50148 * xml/XPathExpressionNode.cpp: 50149 (WebCore::XPath::Expression::evaluationContext): 50150 * xml/XPathExpressionNode.h: 50151 (WebCore::XPath::Expression::addSubExpression): 50152 (WebCore::XPath::Expression::subExprCount): 50153 (WebCore::XPath::Expression::subExpr): 50154 * xml/XPathFunctions.cpp: 50155 * xml/XPathFunctions.h: 50156 (WebCore::XPath::Function::setName): 50157 (WebCore::XPath::Function::arg): 50158 (WebCore::XPath::Function::argCount): 50159 (WebCore::XPath::Function::name): 50160 Made one-liners critical for performance inline. 50161 50162 * xml/XPathGrammar.y: Fully parse NodeTests, so that strings are no longer passed for what is 50163 essentially an enum. Use LocationPath accessors to add steps, instead of directly manipulating 50164 internal data members. 50165 50166 * xml/XPathParser.cpp: 50167 (WebCore::XPath::Parser::parseStatement): 50168 (WebCore::XPath::Parser::registerNodeTest): 50169 (WebCore::XPath::Parser::deleteNodeTest): 50170 * xml/XPathParser.h: 50171 Added support methods for changes in XPathGrammar.y. 50172 50173 * xml/XPathPath.cpp: 50174 (WebCore::XPath::Filter::evaluate): Cache evaluationContext in a local variable. Use swap() to avoid 50175 performing vector assignments. 50176 (WebCore::XPath::LocationPath::evaluate): Use swap() to avoid performing vector assignments. 50177 (WebCore::XPath::LocationPath::optimizeStepPair): This new method is called during LocationPath construction, 50178 to simplify the path as it's being built. Currently, the only optimized case is "//*" - it is a basis for 50179 important operations that cannot be efficiently written in XPath 1.0, but can be optimized with a little bit 50180 of XPath 2.0. 50181 (WebCore::XPath::LocationPath::appendStep): A new accessor that modifies m_steps and calls optimizeStepPair(). 50182 (WebCore::XPath::LocationPath::insertFirstStep): Ditto. 50183 * xml/XPathPath.h: 50184 (WebCore::XPath::LocationPath::setAbsolute): A new accessor. 50185 50186 * xml/XPathStep.h: 50187 (WebCore::XPath::Step::NodeTest::): 50188 (WebCore::XPath::Step::NodeTest::NodeTest): 50189 (WebCore::XPath::Step::NodeTest::kind): 50190 (WebCore::XPath::Step::NodeTest::data): 50191 Step::NodeTest is a new sub-class that represents a fully parsed NodeTest. 50192 (WebCore::XPath::Step::axis): 50193 (WebCore::XPath::Step::nodeTest): 50194 (WebCore::XPath::Step::nodeTestData): 50195 (WebCore::XPath::Step::namespaceURI): 50196 (WebCore::XPath::Step::predicates): 50197 (WebCore::XPath::Step::setAxis): 50198 (WebCore::XPath::Step::setNodeTest): 50199 (WebCore::XPath::Step::setNodeTestData): 50200 (WebCore::XPath::Step::setNamespaceURI): 50201 (WebCore::XPath::Step::setPredicates): 50202 New accessors that let optimizeStepPair() manipulate Step data. 50203 50204 * xml/XPathStep.cpp: 50205 (WebCore::XPath::Step::Step): Use the new NodeTest class. 50206 (WebCore::XPath::Step::evaluate): Cache evaluationContext in a local variable. Use swap() to avoid 50207 performing unneeded vector assignments. 50208 (WebCore::XPath::Step::nodesInAxis): Cosmetic changes. 50209 (WebCore::XPath::Step::nodeTestMatches): Use NodeTest instead of parsing the test from string each time. 50210 Added a partial implementation of XPath 2.0 element() node test. 50211 50212 2007-03-10 Alexey Proskuryakov <ap (a] webkit.org> 50213 50214 Reviewed by Darin. 50215 50216 http://bugs.webkit.org/show_bug.cgi?id=12249 50217 FCKeditor: <hr>, <ul> and <ol> have id="undefined" 50218 50219 This fixes the attached reduction, but not the original issue. 50220 50221 Test: editing/execCommand/default-parameters.html 50222 50223 * dom/Document.h: 50224 * dom/Document.idl: 50225 Make second and third execCommand() parameters optional. 50226 50227 2007-03-10 Adele Peterson <adele (a] apple.com> 50228 50229 Reviewed by Maciej. 50230 50231 Fix for http://bugs.webkit.org/show_bug.cgi?id=13028 50232 REGRESSION: textField:doCommandBySelector:inFrame: not being called properly 50233 50234 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): 50235 Before calling the base class defaultEventHandler, which will call handleKeypress, call doTextFieldCommandFromEvent. 50236 50237 2007-03-10 Mitz Pettel <mitz (a] webkit.org> 50238 50239 Reviewed by Darin. 50240 50241 - fix http://bugs.webkit.org/show_bug.cgi?id=13013 50242 REGRESSION: Selection box does not scroll to where the focus jumps when pressing an alphanumeric key 50243 50244 Test: fast/forms/listbox-typeahead-scroll.html 50245 50246 * html/HTMLSelectElement.cpp: 50247 (WebCore::HTMLSelectElement::setSelectedIndex): Reordered to set the active selection's 50248 anchor and end before selecting the option, since the active selection is used to 50249 decide where to scroll when the selection is made. 50250 (WebCore::HTMLSelectElement::defaultEventHandler): Removed redundant check. 50251 50252 2007-03-10 Mitz Pettel <mitz (a] webkit.org> 50253 50254 Reviewed by Darin. 50255 50256 - fix http://bugs.webkit.org/show_bug.cgi?id=12973 50257 REGRESSION: Reproducible assert while loading this test file if css is already in the cache 50258 50259 Test: fast/dom/css-cached-import-rule.html 50260 50261 Replaced some direct calls to document->stylesheetLoaded() with calls to 50262 the sheet's checkLoaded(). The latter calls back to the element's sheetLoaded() -- 50263 which notifies the document of the load -- and then updates the sheet's 50264 loadCompleted() flag, ensuring that it stays in sync with whether the stylesheet 50265 is still considered pending by the document. 50266 50267 * dom/ProcessingInstruction.cpp: 50268 (WebCore::ProcessingInstruction::parseStyleSheet): 50269 * dom/StyleElement.cpp: 50270 (WebCore::StyleElement::childrenChanged): 50271 * html/HTMLLinkElement.cpp: 50272 (WebCore::HTMLLinkElement::process): 50273 (WebCore::HTMLLinkElement::setCSSStyleSheet): 50274 * ksvg2/svg/SVGStyleElement.cpp: 50275 (WebCore::SVGStyleElement::sheetLoaded): 50276 * ksvg2/svg/SVGStyleElement.h: 50277 50278 2007-03-10 David Kilzer <ddkilzer (a] webkit.org> 50279 50280 Reviewed by Darin. 50281 50282 - fix http://bugs.webkit.org/show_bug.cgi?id=9609 50283 REGRESSION: Missing image icon needs to be moved back to WebKit 50284 50285 * WebCore.exp: Export WebCore::Image::loadPlatformResource(const char*) for use in 50286 [WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]. 50287 50288 2007-03-09 Darin Adler <darin (a] apple.com> 50289 50290 Reviewed by Justin. 50291 50292 - fix http://bugs.webkit.org/show_bug.cgi?id=8928 50293 <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a 50294 contenteditable region in an XHTML document (8928) 50295 50296 Test: editing/pasteboard/paste-xml.xhtml 50297 50298 * editing/markup.cpp: (WebCore::createFragmentFromMarkup): Added a check for 0 50299 here, since createContextualFragment can return 0 for XML documents that fail 50300 to parse. In my testing, callers all seem equipped to handle 0. 50301 50302 2007-03-09 Mitz Pettel <mitz (a] webkit.org> 50303 50304 Reviewed by Darin. 50305 50306 - fix http://bugs.webkit.org/show_bug.cgi?id=9929 50307 REGRESSION: crash on logging in on mijnpostbank.nl 50308 50309 Test: http/tests/misc/onload-remove-iframe-crash-2.html 50310 50311 The resulted from an iframe's load event handler removing the iframe 50312 from the document. 50313 50314 * dom/Document.cpp: 50315 (WebCore::Document::implicitClose): Bail out early if an event handler 50316 removed the frame. 50317 * loader/FrameLoader.cpp: 50318 (WebCore::FrameLoader::FrameLoader): 50319 (WebCore::FrameLoader::clear): 50320 (WebCore::FrameLoader::checkCompleted): Protect the frame from deletion 50321 by event handlers. 50322 (WebCore::FrameLoader::checkCompletedTimerFired): 50323 (WebCore::FrameLoader::scheduleCheckCompleted): 50324 (WebCore::FrameLoader::detachFromParent): Schedule a completion check 50325 on the parent (in case the child is what has been keeping it from completing). 50326 * loader/FrameLoader.h: 50327 50328 2007-03-08 David Kilzer <ddkilzer (a] webkit.org> 50329 50330 Reviewed by Beth. 50331 50332 - fix http://bugs.webkit.org/show_bug.cgi?id=13019 50333 REGRESSION (r20074): Forms don't submit on a variety of websites 50334 50335 No tests added since LayoutTests/fast/forms/document-write.html was timing out 50336 and causing a layout test failure. 50337 50338 * html/HTMLFormElement.cpp: 50339 (WebCore::HTMLFormElement::submit): Removed stray code. 50340 50341 2007-03-08 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 50342 50343 Not reviewed - gdk build fix. 50344 50345 * platform/graphics/cairo/ImageSourceCairo.cpp: 50346 (WebCore::ImageSource::frameIsCompleteAtIndex): add empty stub 50347 50348 2007-03-08 Justin Garcia <justin.garcia (a] apple.com> 50349 50350 Reviewed by harrison 50351 50352 <rdar://problem/4903193> 50353 On particular page, Copy is so slow it seems like a hang 50354 50355 ~2x speedup copying: 50356 http://shakespeare.mit.edu/henryviii/full.html 50357 Also produces less bloated markup. 50358 50359 * editing/markup.cpp: 50360 (WebCore::startMarkup): Don't wrap text nodes in style spans. 50361 For Elements, don't inline styles inherited from ancestors. 50362 (WebCore::createMarkup): No longer necessary to find 50363 the root's default style and pass it to startMarkup. 50364 Add a wrapper span around the markup with the styles 50365 that all nodes in the markup inherit (the inheritable 50366 styles from the common ancestor container's computed style). 50367 Added a FIXME about unecessary markup for inline ancestors 50368 up to the commonAncestorBlock. 50369 50370 2007-03-08 Darin Adler <darin (a] apple.com> 50371 50372 Reviewed by Adele. 50373 50374 - <rdar://problem/4470381> multipart/form-data boundary security vulnerability 50375 50376 By making the form data boundary a string with some random data in it, we reduce 50377 the possibility that anyone could take advantage of it by creating a file that 50378 intentionally has the boundary string in it. 50379 50380 * html/HTMLFormElement.h: Removed boundary(), setBoundary(), and m_boundary. 50381 Marked a lot more stuff private. 50382 * html/HTMLFormElement.cpp: 50383 (WebCore::HTMLFormElement::HTMLFormElement): Removed code to initialize 50384 m_boundary. 50385 (WebCore::randomNumber): Added. Function that returns a random number, including 50386 seeding the random number generator the first time it's called. For now, usees the more 50387 random function random() on Mac OS X and the more-standard rand() on other platforms. 50388 (WebCore::HTMLFormElement::formData): Take a parameter with the form boundary string, 50389 and use that instead of m_boundary. 50390 (WebCore::getUniqueBoundaryString): Added. Makes a boundary string using random numbers 50391 and base 64 encoding. 50392 (WebCore::HTMLFormElement::submit): Call getUniqueBoundaryString and pass the boundary 50393 string into formData for multipart form posts. 50394 50395 2007-03-08 Maciej Stachowiak <mjs (a] apple.com> 50396 50397 Reviewed by Adele. 50398 50399 <rdar://problem/4646563> REGRESSION: Unable to send text message from Verizon text message website: vtext.com (12588) 50400 http://bugs.webkit.org/show_bug.cgi?id=12588 50401 50402 Carefully revised which focus operations restore previous selection, which clear it, and which 50403 select the whole control contents. 50404 50405 Tests: 50406 fast/forms/focus-selection-input.html 50407 fast/forms/focus-selection-textarea.html 50408 50409 * dom/Element.cpp: 50410 (WebCore::Element::focus): 50411 * dom/Element.h: 50412 * html/HTMLInputElement.cpp: 50413 (WebCore::HTMLInputElement::focus): 50414 (WebCore::HTMLInputElement::accessKeyAction): 50415 * html/HTMLInputElement.h: 50416 * html/HTMLLabelElement.cpp: 50417 (WebCore::HTMLLabelElement::focus): 50418 (WebCore::HTMLLabelElement::accessKeyAction): 50419 * html/HTMLLabelElement.h: 50420 * html/HTMLLegendElement.cpp: 50421 (WebCore::HTMLLegendElement::focus): 50422 * html/HTMLLegendElement.h: 50423 * html/HTMLTextAreaElement.cpp: 50424 (WebCore::HTMLTextAreaElement::focus): 50425 * html/HTMLTextAreaElement.h: 50426 * page/FocusController.cpp: 50427 (WebCore::FocusController::advanceFocus): 50428 50429 2007-03-08 Justin Garcia <justin.garcia (a] apple.com> 50430 50431 Reviewed by harrison 50432 50433 <http://bugs.webkit.org/show_bug.cgi?id=12244> 50434 FCKeditor: Find dialog doesn't work 50435 50436 * bindings/js/kjs_window.cpp: 50437 (KJS::Window::find): Added. This function doesn't yet 50438 support whole word searches, searching in subframes, or 50439 opening the find dialog. 50440 (KJS::WindowFunc::callAsFunction): 50441 * bindings/js/kjs_window.h: 50442 (KJS::Window::): 50443 50444 2007-03-08 David Hyatt <hyatt (a] apple.com> 50445 50446 Fix regression from throwing away frames of large animated images. Alter 50447 animated images so that they refuse to advance the animation until the 50448 current displayed frame has been fully decoded. 50449 50450 Reviewed by ggaren 50451 50452 * platform/graphics/BitmapImage.cpp: 50453 (WebCore::BitmapImage::startAnimation): 50454 (WebCore::BitmapImage::advanceAnimation): 50455 * platform/graphics/ImageSource.h: 50456 * platform/graphics/cg/ImageSourceCG.cpp: 50457 (WebCore::ImageSource::frameIsCompleteAtIndex): 50458 50459 2007-03-08 David Hyatt <hyatt (a] apple.com> 50460 50461 Fix 2% performance regression on the PLT. Increase the large animated 50462 image cutoff from 1MB to 5MB. 50463 50464 In addition when pruning we will aggressively discard image sources. 50465 50466 Reviewed by ggaren 50467 50468 * platform/graphics/BitmapImage.cpp: 50469 (WebCore::BitmapImage::destroyDecodedData): 50470 50471 2007-03-08 Timothy Hatcher <timothy (a] apple.com> 50472 50473 Reviewed by John. 50474 50475 <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context 50476 50477 Pass the RenderObject's node to customHighlightLineRect and paintCustomHighlight. 50478 50479 * page/Frame.h: 50480 * page/mac/FrameMac.mm: 50481 (WebCore::Frame::customHighlightLineRect): 50482 (WebCore::Frame::paintCustomHighlight): 50483 * page/mac/WebCoreFrameBridge.h: 50484 * rendering/InlineTextBox.cpp: 50485 (WebCore::InlineTextBox::paintCustomHighlight): 50486 * rendering/RenderBox.cpp: 50487 (WebCore::RenderBox::paintCustomHighlight): 50488 * rendering/RootInlineBox.cpp: 50489 (WebCore::RootInlineBox::addHighlightOverflow): 50490 (WebCore::RootInlineBox::paintCustomHighlight): 50491 50492 2007-03-08 Justin Garcia <justin.garcia (a] apple.com> 50493 50494 Reviewed by harrison 50495 50496 <http://bugs.webkit.org/show_bug.cgi?id=13000> 50497 Range.createContextualFragment is not supported 50498 50499 * dom/Range.cpp: 50500 (WebCore::Range::createContextualFragment): The 50501 "startContainer" may not be a container, if the 50502 range starts inside text. In that case, look 50503 to the parent of the start node for an HTMLElement. 50504 50505 2007-03-08 Justin Garcia <justin.garcia (a] apple.com> 50506 50507 Reviewed by harrison 50508 50509 <rdar://problem/5049671> 50510 Gmail Editor: With linked text, Remove Formatting doesn't always remove underline 50511 50512 * editing/Editor.cpp: 50513 (WebCore::Editor::removeFormattingAndStyle): Clear removed 50514 anchors after the deletion. 50515 50516 2007-03-08 David Kilzer <ddkilzer (a] webkit.org> 50517 50518 Reviewed by NOBODY (build fix). 50519 50520 Added missing file for r20059: 50521 <rdar://problem/4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail. 50522 50523 File was taken from this svn repository which contained versions of ucnv.h and ucnv_err.h 50524 that were identical to ours: 50525 http://source.icu-project.org/repos/icu/icu/tags/release-3-2/source/common/unicode/ucnv_cb.h 50526 50527 * icu/unicode/ucnv_cb.h: Added. 50528 50529 2007-03-08 Shrikant Gangoda <shrikant.gangoda (a] celunite.com> 50530 50531 Gdk build fix. 50532 50533 * platform/graphics/cairo/ImageSourceCairo.cpp: 50534 (WebCore::ImageSource::~ImageSource): 50535 (WebCore::ImageSource::clear): 50536 50537 2007-03-08 Oliver Hunt <oliver (a] apple.com> 50538 50539 Reviewed by Adam. 50540 50541 To match old TEC behaviour when using ICU we need to use 50542 a few manual fallback encodings for the GBK/EUC-CN charsets 50543 50544 <rdar://problem/4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail. 50545 50546 * platform/TextCodecICU.cpp: 50547 (WebCore::TextCodecICU::TextCodecICU): 50548 (WebCore::TextCodecICU::createICUConverter): 50549 (WebCore::gbkEscapes): 50550 (WebCore::gbkCallbackEscape): 50551 (WebCore::gbkCallbackSubstitute): 50552 (WebCore::TextCodecICU::encode): 50553 * platform/TextCodecICU.h: 50554 (WebCore::TextCodecICU::needsGBKFallbacks): 50555 (WebCore::TextCodecICU::setNeedsGBKFallbacks): 50556 50557 2007-03-08 Alexey Proskuryakov <ap (a] webkit.org> 50558 50559 Build fix. 50560 50561 * xml/XPathUtil.cpp: 50562 (WebCore::XPath::stringValue): 50563 50564 2007-03-08 David Hyatt <hyatt (a] apple.com> 50565 50566 This patch dramatically reduces the memory consumed by animated images. For large animated GIFs (defined for 50567 now as >1mb in terms of decoded frame buffer size), we will now aggressively flush previous frames of the 50568 animated GIF and just re-decode them on the fly if the animation loops. 50569 50570 Whenever a large animated GIF has its animation reset, we will also just throw out everything and start 50571 the animation over (in order to get rid of any cached detritus held in the ImageSource). 50572 50573 With this patch and the sample GIF used to test, WebKit's memory consumption went from 160MB down to 16MB. 50574 50575 Reviewed by mjs 50576 50577 * platform/graphics/BitmapImage.cpp: 50578 (WebCore::BitmapImage::destroyDecodedData): 50579 (WebCore::BitmapImage::resetAnimation): 50580 (WebCore::BitmapImage::advanceAnimation): 50581 * platform/graphics/ImageSource.h: 50582 * platform/graphics/cg/ImageSourceCG.cpp: 50583 (WebCore::ImageSource::~ImageSource): 50584 (WebCore::ImageSource::clear): 50585 50586 2007-03-08 Alexey Proskuryakov <ap (a] webkit.org> 50587 50588 Reviewed by Darin. 50589 50590 http://bugs.webkit.org/show_bug.cgi?id=13006 50591 XPath string-value is broken for some node types 50592 50593 Test: fast/xpath/string-value.html 50594 50595 * xml/XPathUtil.cpp: 50596 (WebCore::XPath::stringValue): Fix it :-) 50597 50598 2007-03-07 Anders Carlsson <acarlsson (a] apple.com> 50599 50600 Reviewed by Adam. 50601 50602 <rdar://problem/4981000> 50603 http://bugs.webkit.org/show_bug.cgi?id=12634 50604 REGRESSION: crash loading web archive (12634) 50605 50606 The reason this bug wasn't always reproducible is that it involved sending an event to a plugin while 50607 the page was loading. Before we send the event to the plugin we defer loads. The problem was that 50608 MainResourceLoader::setDefersLoad would not work with data loads. 50609 50610 * loader/DocumentLoader.cpp: 50611 (WebCore::DocumentLoader::setRequest): 50612 Only set m_committed to false if we also have a valid unreachable URL. 50613 50614 * loader/MainResourceLoader.cpp: 50615 (WebCore::MainResourceLoader::setDefersLoading): 50616 Make sure to stop and start data loads. 50617 50618 2007-03-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 50619 50620 Not reviewed. 50621 50622 Gdk build fixes. 50623 50624 * platform/gdk/EditorClientGdk.cpp: 50625 (WebCore::EditorClientGdk::handleKeypress): renamed 50626 (WebCore::EditorClientGdk::handleInputMethodKeypress): add a stub 50627 * platform/gdk/EditorClientGdk.h: 50628 * platform/graphics/cairo/ImageSourceCairo.cpp: 50629 (WebCore::ImageSource::destroyFrameAtIndex): add a stub 50630 50631 2007-03-07 Alexey Proskuryakov <ap (a] webkit.org> 50632 50633 Reviewed by Darin. 50634 50635 http://bugs.webkit.org/show_bug.cgi?id=13004 50636 Repeatedly calling XPathExpression.evaluate() causes crashes or memory leaks 50637 50638 Removed XPath::Expression::optimize() and related methods, since they were buggy and almost useless. 50639 Merged doEvaluate() into evaluate(), since this was all evaluate() was doing after the above changes. 50640 50641 Test: fast/xpath/evaluate-twice.html 50642 50643 * xml/XPathExpression.cpp: 50644 (WebCore::XPathExpression::evaluate): 50645 * xml/XPathExpressionNode.cpp: 50646 (WebCore::XPath::Expression::Expression): 50647 (WebCore::XPath::Expression::~Expression): 50648 * xml/XPathExpressionNode.h: 50649 * xml/XPathFunctions.cpp: 50650 (WebCore::XPath::FunLast::evaluate): 50651 (WebCore::XPath::FunPosition::evaluate): 50652 (WebCore::XPath::FunId::evaluate): 50653 (WebCore::XPath::FunLocalName::evaluate): 50654 (WebCore::XPath::FunNamespaceURI::evaluate): 50655 (WebCore::XPath::FunName::evaluate): 50656 (WebCore::XPath::FunCount::evaluate): 50657 (WebCore::XPath::FunString::evaluate): 50658 (WebCore::XPath::FunConcat::evaluate): 50659 (WebCore::XPath::FunStartsWith::evaluate): 50660 (WebCore::XPath::FunContains::evaluate): 50661 (WebCore::XPath::FunSubstringBefore::evaluate): 50662 (WebCore::XPath::FunSubstringAfter::evaluate): 50663 (WebCore::XPath::FunSubstring::evaluate): 50664 (WebCore::XPath::FunStringLength::evaluate): 50665 (WebCore::XPath::FunNormalizeSpace::evaluate): 50666 (WebCore::XPath::FunTranslate::evaluate): 50667 (WebCore::XPath::FunBoolean::evaluate): 50668 (WebCore::XPath::FunNot::evaluate): 50669 (WebCore::XPath::FunTrue::evaluate): 50670 (WebCore::XPath::FunLang::evaluate): 50671 (WebCore::XPath::FunFalse::evaluate): 50672 (WebCore::XPath::FunNumber::evaluate): 50673 (WebCore::XPath::FunSum::evaluate): 50674 (WebCore::XPath::FunFloor::evaluate): 50675 (WebCore::XPath::FunCeiling::evaluate): 50676 (WebCore::XPath::FunRound::evaluate): 50677 * xml/XPathPath.cpp: 50678 (WebCore::XPath::Filter::evaluate): 50679 (WebCore::XPath::LocationPath::evaluate): 50680 (WebCore::XPath::Path::evaluate): 50681 * xml/XPathPath.h: 50682 * xml/XPathPredicate.cpp: 50683 (WebCore::XPath::Number::evaluate): 50684 (WebCore::XPath::StringExpression::evaluate): 50685 (WebCore::XPath::Negative::evaluate): 50686 (WebCore::XPath::NumericOp::evaluate): 50687 (WebCore::XPath::EqTestOp::evaluate): 50688 (WebCore::XPath::LogicalOp::evaluate): 50689 (WebCore::XPath::Union::evaluate): 50690 * xml/XPathPredicate.h: 50691 * xml/XPathStep.cpp: 50692 * xml/XPathStep.h: 50693 * xml/XPathVariableReference.cpp: 50694 (WebCore::XPath::VariableReference::evaluate): 50695 * xml/XPathVariableReference.h: 50696 50697 2007-03-07 Sam Weinig <sam (a] webkit.org> 50698 50699 Reviewed by Tim H. 50700 50701 Remove unused #import from Objective-C bindings and cleanup the order of #imports. 50702 50703 * bindings/scripts/CodeGeneratorObjC.pm: 50704 50705 2007-03-07 Sam Weinig <sam (a] webkit.org> 50706 50707 Reviewed by Tim H. 50708 50709 Make sure the baseURI attribute generates for private Objective-C bindings. 50710 50711 * dom/Node.idl: 50712 50713 2007-03-07 Anders Carlsson <acarlsson (a] apple.com> 50714 50715 Reviewed by Maciej. 50716 50717 <rdar://problem/4874059> 50718 REGRESSION: Painter IX:register - Crash in WebCore:: ResourceLoader::willSendRequest() 50719 50720 If a load is done from inside of an error delegate method that is called because we cancel another load, 50721 the first load should be ignored since this is what shipping WebKit does. 50722 50723 (Actually, it does load the page in the data source but doesn't do anything with it since the data source 50724 won't have a web frame). 50725 50726 * loader/FrameLoader.cpp: 50727 (WebCore::FrameLoader::load): 50728 Just bail out if m_isStoppingLoad is true. 50729 50730 2007-03-07 David Hyatt <hyatt (a] apple.com> 50731 50732 Use CGImageRelease instead of CFRelease. 50733 50734 Reviewed by aroben 50735 50736 * platform/graphics/cg/ImageCG.cpp: 50737 (WebCore::FrameData::clear): 50738 * platform/graphics/cg/ImageSourceCG.cpp: 50739 (WebCore::ImageSource::destroyFrameAtIndex): 50740 50741 2007-03-07 David Hyatt <hyatt (a] apple.com> 50742 50743 Fix a regression where the cache size overflows because of a double 50744 subtraction per resource when they got removed from the cache. Add an 50745 assert to adjustSize to detect this case in the future. 50746 50747 Fix ImageSourceCG so that when we flush decoded data from our cache that 50748 we also flush it from the ImageSource. 50749 50750 Reviewed by mjs 50751 50752 * loader/Cache.cpp: 50753 (WebCore::Cache::adjustSize): 50754 * platform/graphics/BitmapImage.cpp: 50755 (WebCore::BitmapImage::~BitmapImage): 50756 (WebCore::BitmapImage::destroyDecodedData): 50757 * platform/graphics/Image.h: 50758 * platform/graphics/ImageSource.h: 50759 * platform/graphics/cg/ImageSourceCG.cpp: 50760 (WebCore::ImageSource::setData): 50761 (WebCore::ImageSource::destroyFrameAtIndex): 50762 50763 2007-03-07 Mitz Pettel <mitz (a] webkit.org> 50764 50765 Reviewed by Darin. 50766 50767 - fix http://bugs.webkit.org/show_bug.cgi?id=13002 50768 Incomplete repaint of inset outlines 50769 50770 Test: fast/repaint/outline-inset.html 50771 50772 * rendering/RenderObject.cpp: 50773 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 50774 50775 2007-03-07 Oliver Hunt <oliver (a] apple.com> 50776 50777 Reviewed by Antti. 50778 50779 Reset mouse down/drag state variables on mouse button release 50780 50781 Fixes <rdar://problem/5044654>: Drag out of some QuickTime plug-ins converting into image drag 50782 50783 * page/EventHandler.cpp: 50784 (WebCore::EventHandler::handleMouseReleaseEvent): 50785 50786 2007-03-07 Adele Peterson <adele (a] apple.com> 50787 50788 Reviewed by Darin. 50789 50790 WebCore part of fix for: 50791 http://bugs.webkit.org/show_bug.cgi?id=10871 50792 http://bugs.webkit.org/show_bug.cgi?id=12677 50793 <rdar://problem/4823129> REGRESSION: IME key events different in nightly 50794 <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri 50795 50796 * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Call handleInputMethodKeypress before actually dispatching the keypress event 50797 so that input methods have a chance to handle the event. 50798 If the input method handles the event (by marking or unmarking text), then we don't need to send the keypress event. 50799 If an input method doesn't handle the event, then we'll save the data we need to perform the correct action (like what text to insert or what selector to use) 50800 when we dispatch the keypress event. 50801 50802 * dom/KeyboardEvent.h: Added Mac-specific KeypressCommand struct, so we can store command info during handleInputMethodKeypress, and use it during handleKeypress. 50803 (WebCore::KeyboardEvent::keypressCommand): 50804 (WebCore::KeyboardEvent::setKeypressCommand): 50805 50806 * bridge/EditorClient.h: 50807 * editing/Editor.cpp: 50808 (WebCore::Editor::handleKeypress): Changed handleKeyPress to handleKeypress. 50809 (WebCore::Editor::handleInputMethodKeypress): Added. 50810 * editing/Editor.h: 50811 50812 * platform/graphics/svg/SVGImageEmptyClients.h: 50813 (WebCore::SVGEmptyEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress. 50814 (WebCore::SVGEmptyEditorClient::handleInputMethodKeypress): Added. 50815 50816 2007-03-07 Rob Buis <buis (a] kde.org> 50817 50818 Reviewed by Darin. 50819 50820 http://bugs.webkit.org/show_bug.cgi?id=12579 50821 WebKit fails SVG xml:base test 50822 50823 Implement DOM3 properties baseURI and documentURI to fix 50824 the testcase in bug 12579. 50825 50826 * bindings/js/kjs_dom.cpp: 50827 (KJS::DOMNode::getValueProperty): 50828 * bindings/js/kjs_domnode.h: 50829 (KJS::DOMNode::): 50830 * dom/Document.cpp: 50831 (WebCore::Document::documentURI): 50832 (WebCore::Document::setDocumentURI): 50833 (WebCore::Document::baseURI): 50834 * dom/Document.h: 50835 * dom/Document.idl: 50836 * dom/DocumentType.cpp: 50837 (WebCore::DocumentType::baseURI): 50838 * dom/DocumentType.h: 50839 * dom/Element.cpp: 50840 (WebCore::Element::baseURI): 50841 * dom/Element.h: 50842 * dom/Node.cpp: 50843 (WebCore::Node::baseURI): 50844 * dom/Node.h: 50845 * ksvg2/misc/SVGImageLoader.cpp: 50846 (WebCore::SVGImageLoader::updateFromElement): 50847 * ksvg2/svg/SVGImageElement.cpp: 50848 (WebCore::SVGImageElement::parseMappedAttribute): 50849 (WebCore::SVGImageElement::attach): 50850 50851 2007-03-07 Anders Carlsson <acarlsson (a] apple.com> 50852 50853 Reviewed by Brady. 50854 50855 Remove some methods in FrameLoader that just calls down to the active document loader. Since each 50856 resource loader now has a pointer to its document loader, we can just call directly to the 50857 document loader. 50858 50859 * WebCore.exp: 50860 * loader/FrameLoader.cpp: 50861 * loader/FrameLoader.h: 50862 * loader/MainResourceLoader.cpp: 50863 (WebCore::MainResourceLoader::willSendRequest): 50864 (WebCore::MainResourceLoader::didReceiveResponse): 50865 * loader/SubresourceLoader.cpp: 50866 (WebCore::SubresourceLoader::SubresourceLoader): 50867 (WebCore::SubresourceLoader::didFinishLoading): 50868 (WebCore::SubresourceLoader::didFail): 50869 (WebCore::SubresourceLoader::didCancel): 50870 * loader/mac/NetscapePlugInStreamLoaderMac.mm: 50871 (WebCore::NetscapePlugInStreamLoader::didFinishLoading): 50872 (WebCore::NetscapePlugInStreamLoader::didFail): 50873 (WebCore::NetscapePlugInStreamLoader::didCancel): 50874 50875 2007-03-06 Geoffrey Garen <ggaren (a] apple.com> 50876 50877 Reviewed by Maciej Stachowiak. 50878 50879 Fixed <rdar://problem/4576242> | http://bugs.webkit.org/show_bug.cgi?id=12586 50880 PAC file: malloc deadlock sometimes causes a hang @ www.apple.com/pro/profiles/ (12586) 50881 50882 No test because this is very difficult to repro, and the new ASSERTs in 50883 JavaScriptCore catch the underlying cause while running normal layout tests. 50884 50885 This is a modified version of r14752 on the branch. 50886 50887 The fix is to use a bit inside each node, instead of a hash table, to track 50888 which node subtrees are in the process of being marked. This avoids a call 50889 to malloc inside mark(). 50890 50891 * bindings/js/kjs_binding.cpp: 50892 (KJS::domObjects): 50893 (KJS::domNodesPerDocument): 50894 * bindings/js/kjs_dom.cpp: 50895 (KJS::DOMNode::mark): 50896 * dom/Node.cpp: 50897 (WebCore::Node::Node): 50898 * dom/Node.h: 50899 50900 2007-03-06 David Hyatt <hyatt (a] apple.com> 50901 50902 This patch reworks the WebCore memory cache to significantly reduce the amount of memory consumed by 50903 images in the cache and to enhance the accuracy of the cache size as an absolute bound for the objects 50904 contained within it. WebCore's memory use over time should significantly improve as a result of these 50905 changes. 50906 50907 Cached resources now have both an encoded size (the original data stream) and a decoded size (an estimate of 50908 the amount of memory consumed by an expanded version of that resource, e.g., the decoded frames of an image). 50909 Both sizes now count towards the total size of the object and towards the allowed memory cache total. 50910 50911 By including both totals the reported size of resources will now be larger, and the cache will therefore become 50912 much more aggressive about flushing. 50913 50914 Objects are stored in size-adjusted and popularity-aware LRU lists as before, but encoded size is now always 50915 used when determining the correct LRU list. 50916 50917 The flush algorithm for the memory cache has been rewritten to first destroy decoded data before evicting 50918 resources. By being able to compact its resources without evicting them, the memory cache can now hold many more 50919 unique resources (encoded) in the same amount of space. Depending on how much of a hit we want to take from 50920 re-decoding images, the memory cache could in theory have its size significantly reduced now while still holding 50921 more resources than it did at the larger size! 50922 50923 Reviewed by mjs 50924 50925 * WebCore.xcodeproj/project.pbxproj: 50926 * loader/Cache.cpp: 50927 (WebCore::Cache::requestResource): 50928 (WebCore::Cache::prune): 50929 (WebCore::Cache::remove): 50930 (WebCore::Cache::lruListFor): 50931 (WebCore::Cache::adjustSize): 50932 * loader/Cache.h: 50933 * loader/CachedCSSStyleSheet.cpp: 50934 (WebCore::CachedCSSStyleSheet::data): 50935 * loader/CachedImage.cpp: 50936 (WebCore::CachedImage::CachedImage): 50937 (WebCore::CachedImage::allReferencesRemoved): 50938 (WebCore::CachedImage::clear): 50939 (WebCore::CachedImage::data): 50940 (WebCore::CachedImage::destroyDecodedData): 50941 (WebCore::CachedImage::decodedSize): 50942 (WebCore::CachedImage::decodedSizeChanged): 50943 (WebCore::CachedImage::shouldPauseAnimation): 50944 * loader/CachedImage.h: 50945 * loader/CachedResource.cpp: 50946 (WebCore::CachedResource::CachedResource): 50947 (WebCore::CachedResource::deref): 50948 (WebCore::CachedResource::setEncodedSize): 50949 * loader/CachedResource.h: 50950 (WebCore::CachedResource::allReferencesRemoved): 50951 (WebCore::CachedResource::size): 50952 (WebCore::CachedResource::encodedSize): 50953 (WebCore::CachedResource::decodedSize): 50954 (WebCore::CachedResource::destroyDecodedData): 50955 * loader/CachedScript.cpp: 50956 (WebCore::CachedScript::data): 50957 * loader/CachedXSLStyleSheet.cpp: 50958 (WebCore::CachedXSLStyleSheet::data): 50959 * platform/graphics/BitmapImage.cpp: 50960 (WebCore::BitmapImage::BitmapImage): 50961 (WebCore::BitmapImage::~BitmapImage): 50962 (WebCore::BitmapImage::destroyDecodedData): 50963 (WebCore::BitmapImage::pruneDecodedDataIfNeeded): 50964 (WebCore::BitmapImage::cacheFrame): 50965 (WebCore::BitmapImage::setNativeData): 50966 (WebCore::BitmapImage::shouldAnimate): 50967 (WebCore::BitmapImage::advanceAnimation): 50968 * platform/graphics/BitmapImage.h: 50969 (WebCore::BitmapImage::decodedSize): 50970 * platform/graphics/Image.cpp: 50971 (WebCore::Image::Image): 50972 * platform/graphics/Image.h: 50973 (WebCore::Image::destroyDecodedData): 50974 (WebCore::Image::decodedSize): 50975 (WebCore::Image::imageObserver): 50976 * platform/graphics/ImageAnimationObserver.h: Removed. 50977 * platform/graphics/ImageObserver.h: Added. 50978 (WebCore::ImageObserver::~ImageObserver): 50979 * platform/graphics/svg/SVGImage.cpp: 50980 (WebCore::SVGImage::SVGImage): 50981 * platform/graphics/svg/SVGImage.h: 50982 50983 2007-03-06 Alexey Proskuryakov <ap (a] webkit.org> 50984 50985 Reviewed by Sam Weinig. 50986 50987 http://bugs.webkit.org/show_bug.cgi?id=12987 50988 Fix and import 4XPath test_numeric_expr.html 50989 50990 * xml/XPathPredicate.cpp: 50991 (WebCore::XPath::Negative::doEvaluate): Convert the argument to number. 50992 (WebCore::XPath::NumericOp::doEvaluate): Convert the arguments to numbers. Use a correct operation for mod. 50993 * xml/XPathStep.cpp: 50994 (WebCore::XPath::Step::nodesInAxis): Do not append parent node if there is none. 50995 * xml/XPathValue.cpp: 50996 (WebCore::XPath::Value::toNumber): Do not convert to DeprecatedString just to trim whitespace and to convert to double. 50997 * platform/DeprecatedString.cpp: 50998 (WebCore::DeprecatedStringData::makeAscii): Added a FIXME about unreliable makeAscii() behavior. 50999 51000 2007-03-06 Maciej Stachowiak <mjs (a] apple.com> 51001 51002 Reviewed by Adele. 51003 51004 <rdar://problem/4619663> REGRESSION (NativePopup): Popup menu doesn't draw at the correct vertical position (9816) 51005 51006 * platform/mac/PopupMenuMac.mm: 51007 (WebCore::PopupMenu::show): Make a temporary dummy view with the 51008 passed in rect, since AppKit will use the view bounds to determine 51009 what area to exclude when popping up a menu moved to the top of 51010 the screen. 51011 51012 2007-03-06 Geoffrey Garen <ggaren (a] apple.com> 51013 51014 Reviewed by Maciej Stachowiak. 51015 51016 Fixed all known crashers exposed by run-webkit-tests --threaded [*]. See 51017 JavaScriptCore ChangeLog for more details. 51018 51019 * bindings/js/kjs_binding.cpp: 51020 (KJS::domNodesPerDocument): Added thread safety ASSERT. 51021 (KJS::ScriptInterpreter::mark): Removed obsolete logic for marking unsafe 51022 objects when collecting on a secondary thread. The Collector takes care 51023 of this now. 51024 51025 * bindings/js/kjs_binding.h: 51026 (KJS::DOMObject::DOMObject): Used new API for specifying that WebCore 51027 objects should be garbage collected on the main thread only. 51028 51029 * bindings/js/kjs_window.cpp: 51030 (KJS::ScheduledAction::execute): Moved JSLock to cover implementedsCall() call, 51031 which, for some subclasses, ends up allocating garbage collected objects. 51032 (This fix was speculative. I didn't actually see a crash from this.) 51033 (KJS::Window::timerFired): Added JSLock around ScheduleAction destruction, 51034 since it destroys a KJS::List. 51035 51036 * bindings/objc/WebScriptObject.mm: 51037 (-[WebScriptObject setException:]): Added JSLock. (This fix was speculative. 51038 I didn't actually see a crash from this.) 51039 51040 * bridge/mac/WebCoreScriptDebugger.mm: 51041 (-[WebCoreScriptCallFrame evaluateWebScript:]): Added JSLock. (This fix 51042 was speculative. I didn't actually see a crash from this.) 51043 51044 * dom/Document.cpp: 51045 (WebCore::Document::~Document): Added JSLock around modification to 51046 domNodesPerDocument(), which can be accessed concurrently during garbage 51047 collection. 51048 * dom/Node.cpp: 51049 (WebCore::Node::setDocument): ditto. 51050 51051 [*] fast/js/toString-stack-overflow.html is an exception. --threaded mode 51052 crashes this test because it causes the garbage collector to run frequently, 51053 and this test crashes if you happen to garbage collect while it's running. 51054 This is a known issue with stack overflow during the mark phase. It's 51055 not related to threading. 51056 51057 2007-03-06 Mark Rowe <mrowe (a] apple.com> 51058 51059 Reviewed by Sam Weinig. 51060 51061 Fix http://bugs.webkit.org/show_bug.cgi?id=12942 51062 Bug 12942: ASSERTION FAILURE: qantas.com.au changing selected item in <select> via JS 51063 51064 Test: fast/dom/select-selectedIndex-bug-12942.html. 51065 51066 * html/HTMLSelectElement.cpp: 51067 (WebCore::HTMLSelectElement::recalcListItems): Reset m_lastOnChangeIndex when recalculating list items. 51068 * html/HTMLSelectElement.h: 51069 51070 2007-03-06 Brady Eidson <beidson (a] apple.com> 51071 51072 Rubberstamped by Kevin Decker 51073 51074 20,000! 51075 51076 * ChangeLog: Point out revision 20,000 51077 51078 2007-03-06 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 51079 51080 Not reviewed. 51081 51082 Gdk build fix. 51083 51084 * loader/gdk/FrameLoaderClientGdk.cpp: update userAgent() signature. 51085 (WebCore::FrameLoaderClientGdk::userAgent): 51086 * loader/gdk/FrameLoaderClientGdk.h: ditto. 51087 51088 2007-03-06 Mitz Pettel <mitz (a] webkit.org> 51089 51090 Reviewed by Adele. 51091 51092 - fix http://bugs.webkit.org/show_bug.cgi?id=12986 51093 REGRESSION(NativeListBox): Listboxes not updated when resized dynamically 51094 51095 Test: fast/forms/select-change-listbox-size.html 51096 51097 * html/HTMLSelectElement.cpp: 51098 (WebCore::HTMLSelectElement::parseMappedAttribute): Reattach on list box size change. 51099 51100 2007-03-06 Mitz Pettel <mitz (a] webkit.org> 51101 51102 Reviewed by Dave Hyatt. 51103 51104 - fix http://bugs.webkit.org/show_bug.cgi?id=12885 51105 REGRESSION (r19696): Incomplete background repaint 51106 51107 Tests: fast/repaint/content-into-overflow.html 51108 fast/repaint/overflow-into-content.html 51109 51110 Changed repaintAfterLayoutIfNeeded() to take, in addition to the clipped overflow 51111 rect, the unclipped border box plus outline, and to repaint any areas that 51112 were added or removed from that box, in addition to any areas added or removed 51113 from the clipped overflow rect. 51114 51115 * platform/graphics/svg/SVGResourceMarker.cpp: 51116 (WebCore::SVGResourceMarker::draw): 51117 * rendering/RenderBlock.cpp: 51118 (WebCore::RenderBlock::layoutBlock): 51119 * rendering/RenderBox.cpp: 51120 (WebCore::RenderBox::absoluteClippedOverflowRect): Renamed getAbsoluteRepaintRect() to 51121 this. 51122 * rendering/RenderBox.h: 51123 * rendering/RenderFlexibleBox.cpp: 51124 (WebCore::RenderFlexibleBox::layoutBlock): 51125 * rendering/RenderFlow.cpp: 51126 (WebCore::RenderFlow::absoluteClippedOverflowRect): 51127 * rendering/RenderFlow.h: 51128 * rendering/RenderForeignObject.cpp: 51129 (WebCore::RenderForeignObject::layout): 51130 * rendering/RenderHTMLCanvas.cpp: 51131 (WebCore::RenderHTMLCanvas::layout): 51132 * rendering/RenderImage.cpp: 51133 (WebCore::RenderImage::layout): 51134 * rendering/RenderLayer.cpp: 51135 (WebCore::RenderLayer::RenderLayer): 51136 (WebCore::RenderLayer::checkForRepaintOnResize): 51137 (WebCore::RenderLayer::updateLayerPositions): 51138 * rendering/RenderLayer.h: 51139 * rendering/RenderObject.cpp: 51140 (WebCore::RenderObject::repaint): 51141 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 51142 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline): 51143 (WebCore::RenderObject::absoluteClippedOverflowRect): 51144 (WebCore::RenderObject::absoluteOutlineBox): 51145 * rendering/RenderObject.h: 51146 * rendering/RenderPath.cpp: 51147 (WebCore::RenderPath::layout): 51148 (WebCore::RenderPath::absoluteClippedOverflowRect): 51149 (WebCore::RenderPath::absoluteRects): 51150 (WebCore::RenderPath::drawMarkersIfNeeded): 51151 * rendering/RenderPath.h: 51152 * rendering/RenderSVGContainer.cpp: 51153 (WebCore::RenderSVGContainer::layout): 51154 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect): 51155 (WebCore::RenderSVGContainer::absoluteRects): 51156 * rendering/RenderSVGContainer.h: 51157 * rendering/RenderSVGHiddenContainer.cpp: 51158 (WebCore::RenderSVGHiddenContainer::absoluteClippedOverflowRect): 51159 * rendering/RenderSVGHiddenContainer.h: 51160 * rendering/RenderSVGImage.cpp: 51161 (WebCore::RenderSVGImage::imageChanged): 51162 (WebCore::RenderSVGImage::absoluteClippedOverflowRect): 51163 (WebCore::RenderSVGImage::absoluteRects): 51164 * rendering/RenderSVGImage.h: 51165 * rendering/RenderSVGText.cpp: 51166 (WebCore::RenderSVGText::absoluteClippedOverflowRect): 51167 (WebCore::RenderSVGText::layout): 51168 (WebCore::RenderSVGText::absoluteRects): 51169 * rendering/RenderSVGText.h: 51170 * rendering/RenderTable.cpp: 51171 (WebCore::RenderTable::layout): 51172 * rendering/RenderTableCell.cpp: 51173 (WebCore::RenderTableCell::absoluteClippedOverflowRect): 51174 * rendering/RenderTableCell.h: 51175 * rendering/RenderTableCol.cpp: 51176 (WebCore::RenderTableCol::absoluteClippedOverflowRect): 51177 * rendering/RenderTableCol.h: 51178 * rendering/RenderTableRow.cpp: 51179 (WebCore::RenderTableRow::absoluteClippedOverflowRect): 51180 * rendering/RenderTableRow.h: 51181 * rendering/RenderText.cpp: 51182 (WebCore::RenderText::absoluteClippedOverflowRect): 51183 * rendering/RenderText.h: 51184 51185 2007-03-06 Feng Qian <feng (a] chromium.org> 51186 51187 Reviewed by Maciej. 51188 51189 - fixed http://bugs.webkit.org/show_bug.cgi?id=12720 51190 Bug 12720: Re-defining window.location.toString function keeps re-loading forever 51191 51192 * bindings/js/kjs_window.cpp: 51193 Disallow replacing functions in LocationTable, and return early without updating URL. 51194 51195 2007-03-06 Kevin McCullough <kmccullough (a] apple.com> 51196 51197 Reviewed by Darin. 51198 51199 <http://bugs.webkit.org/show_bug.cgi?id=12686> 51200 REGRESSION: Bloglines.com Feeds tab cannot expand folders in TOT 51201 - Now all class constructors implement implementsHasInstance. 51202 51203 * bindings/scripts/CodeGeneratorJS.pm: 51204 51205 2007-03-07 Nikolas Zimmermann <zimmermann (a] kde.org> 51206 51207 Reviewed by Rob & Oliver. 51208 51209 Preparations for the new SVG text engine. 51210 51211 Handle baseline-shift / kerning css values correctly. 51212 Recognize missing svg presentation attribute "font-size-adjust". 51213 Add all missing svg<->css property mappings in mapToEntry(). 51214 51215 Doesn't affect any layout test (as these properties are not used w/o my text patch). 51216 While I'm at it, unify the macro names (RS_ -> SVG_RS_) & cleanup style a bit. 51217 51218 * ksvg2/css/CSSPropertyNames.in: 51219 * ksvg2/css/SVGCSSParser.cpp: 51220 (WebCore::CSSParser::parseSVGValue): 51221 * ksvg2/css/SVGCSSStyleSelector.cpp: 51222 (WebCore::CSSStyleSelector::applySVGProperty): 51223 * ksvg2/css/SVGRenderStyle.cpp: 51224 (WebCore::SVGRenderStyle::SVGRenderStyle): 51225 (WebCore::SVGRenderStyle::operator==): 51226 (WebCore::SVGRenderStyle::inheritedNotEqual): 51227 (WebCore::SVGRenderStyle::inheritFrom): 51228 * ksvg2/css/SVGRenderStyle.h: 51229 (WebCore::SVGRenderStyle::NonInheritedFlags::): 51230 (WebCore::SVGRenderStyle::setBitDefaults): 51231 * ksvg2/css/SVGRenderStyleDefs.cpp: 51232 (StyleTextData::StyleTextData): 51233 (StyleTextData::operator==): 51234 (StyleMiscData::StyleMiscData): 51235 (StyleMiscData::operator==): 51236 * ksvg2/css/SVGRenderStyleDefs.h: 51237 (WebCore::): 51238 (WebCore::StyleTextData::operator!=): 51239 * ksvg2/svg/SVGStyledElement.cpp: 51240 (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName): 51241 51242 2007-03-06 Justin Garcia <justin.garcia (a] apple.com> 51243 51244 Reviewed by kevin 51245 51246 <http://bugs.webkit.org/show_bug.cgi?id=12245> 51247 FCKeditor: Remove Format sometimes doesn't work 51248 <rdar://problem/4786404> 51249 Underline style is not removed from selection after performing Remove Format 51250 51251 * editing/Editor.cpp: 51252 (WebCore::Editor::removeFormattingAndStyle): Re-wrote this. 51253 51254 2007-03-07 Nikolas Zimmermann <zimmermann (a] kde.org> 51255 51256 Reviewed by Oliver. 51257 51258 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12979 51259 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12981 51260 51261 Guard against registering pending resources with empty id. 51262 Be careful with calling recalcStyle() in SVGUseElement, when change is "Detach" we 51263 have to use special code, as calling attach() on the shadow tree root element will crash, 51264 because it has no (direct) parent node, only a shadow parent node element. 51265 51266 * ksvg2/misc/SVGDocumentExtensions.cpp: 51267 (WebCore::SVGDocumentExtensions::addPendingResource): 51268 * ksvg2/svg/SVGUseElement.cpp: 51269 (WebCore::SVGUseElement::recalcStyle): 51270 51271 2007-03-06 Kevin Decker <kdecker (a] apple.com> 51272 51273 Reviewed by Adele. 51274 51275 Fixed: <rdar://problem/5041660> REGRESSION: <keygen> element broken, prevents users from signing up for Thawte email certs 51276 51277 * bindings/objc/DOM.mm: 51278 (WebCore::createElementClassMap): Added <keygen> to the DOM bindings so it can be accessed from Objective-C. 51279 * css/html4.css: Apply the look of the <select> element to <keygen>. 51280 * html/HTMLElementFactory.cpp: 51281 (WebCore::keygenConstructor): Added. 51282 (WebCore::createFunctionMap): Added keygen. 51283 * html/HTMLSelectElement.cpp: Made const typeAheadTimeout variable static const. 51284 (WebCore::HTMLSelectElement::HTMLSelectElement): Fix both HTMLSelectElement constructors to initialize the 51285 same number of member variables. The fact that some fields were not initialized could (and would) crash the 51286 keygen element when selecting different items. Also removed m_typedString(String()) from the constructor 51287 initialization because this is not needed. 51288 51289 2007-03-06 Kevin McCullough <kmccullough (a] apple.com> 51290 51291 Reviewed by Darin. 51292 51293 - Rename a function to clarify its purpose. 51294 51295 * WebCore.exp: 51296 * loader/FrameLoader.cpp: 51297 (WebCore::FrameLoader::registerURLSchemeAsLocal): 51298 * loader/FrameLoader.h: 51299 51300 2007-03-06 Adam Roben <aroben (a] apple.com> 51301 51302 Build fix. 51303 51304 * WebCore.exp: Updated symbols. 51305 51306 2007-03-06 Adam Roben <aroben (a] apple.com> 51307 51308 Reviewed by Anders. 51309 51310 Added a parameter to all StringTruncator methods to specify whether 51311 rounding hacks should be on or off. 51312 51313 No layout test possible. 51314 51315 * platform/StringTruncator.cpp: 51316 (WebCore::stringWidth): Added disableRoundingHacks parameter. 51317 (WebCore::truncateString): Ditto. 51318 (WebCore::StringTruncator::centerTruncate): Ditto. 51319 (WebCore::StringTruncator::rightTruncate): Ditto. 51320 (WebCore::StringTruncator::width): Ditto. 51321 * platform/StringTruncator.h: Ditto. 51322 * platform/mac/FileChooserMac.mm: 51323 (WebCore::FileChooser::basenameForWidth): Pass in false to 51324 centerTruncate so that the truncation matches the way the text will be 51325 rendered. 51326 51327 2007-03-06 Anders Carlsson <acarlsson (a] apple.com> 51328 51329 Reviewed by Maciej. 51330 51331 <rdar://problem/5035045> 51332 REGRESSION: WebKit browser doesn't display image at http://www.metoffice.gov.uk/weather/satellite/index.html 51333 51334 It turns out WinIE does allow you to access images by their id as special document properties. However, this is only 51335 allowed when the element also has a name attribute. The value of the name attribute is ignored and can even be empty! 51336 51337 * bindings/js/kjs_html.cpp: 51338 (KJS::JSHTMLDocument::namedItemGetter): 51339 Return jsUndefined() if the collection is empty. 51340 51341 * html/HTMLImageElement.cpp: 51342 (WebCore::HTMLImageElement::parseMappedAttribute): 51343 (WebCore::HTMLImageElement::insertedIntoDocument): 51344 (WebCore::HTMLImageElement::removedFromDocument): 51345 * html/HTMLImageElement.h: 51346 Add the id attribute value to the extra named item map. 51347 51348 * html/HTMLNameCollection.cpp: 51349 (WebCore::HTMLNameCollection::traverseNextItem): 51350 Check for images with name attributes that match, as well as elements with id attributes that match where 51351 the element also has a name attribute. 51352 51353 2007-03-06 Anders Carlsson <acarlsson (a] apple.com> 51354 51355 Reviewed by Adam. 51356 51357 WebCore part of patch to make it possible to have different user agents for different URLs. 51358 51359 * bindings/js/kjs_navigator.cpp: 51360 (KJS::Navigator::getValueProperty): 51361 * bindings/js/kjs_proxy.cpp: 51362 (WebCore::KJSProxy::initScriptIfNeeded): 51363 * loader/DocumentLoader.cpp: 51364 (WebCore::DocumentLoader::setLoading): 51365 * loader/FrameLoader.cpp: 51366 (WebCore::FrameLoader::userAgent): 51367 (WebCore::FrameLoader::loadResourceSynchronously): 51368 (WebCore::FrameLoader::applyUserAgent): 51369 * loader/FrameLoader.h: 51370 * loader/FrameLoaderClient.h: 51371 * platform/graphics/svg/SVGImageEmptyClients.h: 51372 (WebCore::SVGEmptyFrameLoaderClient::userAgent): 51373 51374 2007-03-05 Kevin McCullough <kmccullough (a] apple.com> 51375 51376 Reviewed by Mark and Dave H. 51377 51378 - rdar://problem/5038491 51379 An oversight of the security fix that prevented remote from loading local is that it 51380 prevents user style sheets when the site is remote. This fixes that. 51381 51382 * loader/Cache.cpp: Propogate and check user style sheet flag. 51383 (WebCore::createResource): 51384 (WebCore::Cache::requestResource): 51385 * loader/Cache.h: Propogate user style sheet flag. 51386 * loader/CachedCSSStyleSheet.cpp: Propogate user style sheet flag. 51387 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): 51388 * loader/CachedCSSStyleSheet.h: Propogate user style sheet flag. 51389 * loader/DocLoader.cpp: Propogate user style sheet flag. 51390 (WebCore::DocLoader::requestResource): 51391 * loader/SubresourceLoader.cpp: Propogate and check user style sheet flag. 51392 (WebCore::SubresourceLoader::create): 51393 * loader/SubresourceLoader.h: Add check for user style sheet flag. 51394 * loader/loader.cpp: Propogate user style sheet flag. 51395 (WebCore::Loader::load): 51396 (WebCore::Loader::servePendingRequests): 51397 * loader/loader.h: Propogate user style sheet flag. 51398 51399 2007-03-06 Nikolas Zimmermann <zimmermann (a] kde.org> 51400 51401 Reviewed by Darin. 51402 51403 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12936 (Master bug used to track all current use problems.) 51404 51405 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12926 (transform attribute not respected in nested <use> elements) 51406 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12267 (getElementById broken for <use>) 51407 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12916 (use instance in symbol definition does not work) 51408 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12917 (mouseout event does not occur after scaling use instance) 51409 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12838 (SVG <use> DOM broken for script) 51410 51411 Added test: svg/custom/use-nested-transform.svg 51412 Added test: svg/custom/struct-use-09-b.svg (not yet official W3C-SVG-1.1 testcase) 51413 Fixes test: svg/custom/use-elementInstance-event-target.svg (rectangle now turns green on first click) 51414 51415 Fix all (except one) known <use> bug. The remaining bug (12630) is not crucical at all. 51416 Enable <use> again as default SVG feature, as discussed on webkit-dev. 51417 51418 dom/Element.cpp needed following tweak: set hasParentStyle to true, if there is no parentNode 51419 available - which happens for <use> nodes, as it's a shadow node. This fixes recalcStyle behaviour. 51420 Override recalcStyle() in SVGUseElement, and properly forward the call to the shadow tree root element. 51421 The shadow tree now receives proper style updates (without having to recreate the whole tree!). 51422 51423 Override attributeChanged() in SVGUseElement and only call notifyAttributeChange if one of x/y/width/height/xlink:href 51424 attribute changed - otherwhise we'll end up recreating the tree for every transform/style/(non-existing-attribute) change. 51425 51426 Do not override transform in nested use situations, but correctly append (right-sided) the translation of the <use> element. 51427 Some cosmetic fixes: don't add transform="translate(0 0)" attributes if both x/y values are null in the shadow tree. 51428 51429 Factor out logic for replacing symbol/svg tags in the shadow tree, and also invoke it during expandUseElementsInShadowTree - 51430 otherwhise <symbol><use xlink:href="#someOtherSymbol"></symbol> the <use> gets expanded to a <symbol>. Though no one expands 51431 the <symbol> element - and we're end up in hitting an assertion. Avoid that. 51432 51433 * bindings/js/JSSVGElementWrapperFactory.cpp: 51434 * bindings/js/kjs_dom.cpp: 51435 (KJS::toJS): 51436 * bindings/objc/DOM.mm: 51437 (WebCore::createElementClassMap): 51438 * dom/Element.cpp: 51439 (WebCore::Element::recalcStyle): 51440 * ksvg2/svg/SVGElement.cpp: 51441 (WebCore::shadowTreeParentElementForShadowTreeElement): 51442 (WebCore::SVGElement::dispatchEvent): 51443 * ksvg2/svg/SVGElementInstance.cpp: 51444 * ksvg2/svg/SVGElementInstance.h: 51445 * ksvg2/svg/SVGElementInstance.idl: 51446 * ksvg2/svg/SVGElementInstanceList.cpp: 51447 * ksvg2/svg/SVGElementInstanceList.h: 51448 * ksvg2/svg/SVGElementInstanceList.idl: 51449 * ksvg2/svg/SVGStyledElement.cpp: 51450 (WebCore::SVGStyledElement::notifyAttributeChange): 51451 (WebCore::SVGStyledElement::updateElementInstance): 51452 * ksvg2/svg/SVGStyledElement.h: 51453 * ksvg2/svg/SVGUseElement.cpp: 51454 (WebCore::SVGUseElement::attributeChanged): 51455 (WebCore::SVGUseElement::notifyAttributeChange): 51456 (WebCore::SVGUseElement::recalcStyle): 51457 (WebCore::SVGUseElement::buildPendingResource): 51458 (WebCore::SVGUseElement::buildShadowTreeForSymbolTag): 51459 (WebCore::SVGUseElement::alterShadowTreeForSVGTag): 51460 (WebCore::SVGUseElement::buildShadowTree): 51461 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 51462 (WebCore::SVGUseElement::attachShadowTree): 51463 * ksvg2/svg/SVGUseElement.h: 51464 * ksvg2/svg/SVGUseElement.idl: 51465 * ksvg2/svg/svgtags.in: 51466 51467 2007-03-05 Brady Eidson <beidson (a] apple.com> 51468 51469 Reviewed by John 51470 51471 Fixes <rdar://problem/4974258> 51472 Adds some key null checking 51473 51474 * bindings/js/kjs_html.cpp: 51475 (KJS::JSHTMLElement::implementsCall): Null check doc/frame 51476 * bindings/objc/DOMInternal.mm: 51477 (-[WebScriptObject _initializeScriptDOMNodeImp]): Null check doc/frame 51478 51479 2007-03-06 Nikolas Zimmermann <zimmermann (a] kde.org> 51480 51481 Reviewed by Darin. 51482 51483 Path::normalAngleAtLength() / Path::pointAtLength() don't work correctly. 51484 pointAtLength() was not implemented, basically and normalAngleAtLength() 51485 had a bug in the tangent slope calculation. 51486 51487 The normalAngleAtLength() stuff can only be tested with my local textPath support. 51488 New LayoutTest: svg/custom/path-textPath-simulation.svg 51489 51490 * platform/graphics/Path.cpp: 51491 (WebCore::pathLengthApplierFunction): 51492 * platform/graphics/PathTraversalState.cpp: 51493 (WebCore::PathTraversalState::quadraticBezierTo): 51494 (WebCore::PathTraversalState::cubicBezierTo): 51495 * platform/graphics/PathTraversalState.h: 51496 (WebCore::PathTraversalState::): 51497 51498 2007-03-05 Alexey Proskuryakov <ap (a] webkit.org> 51499 51500 Reviewed by Darin. 51501 51502 http://bugs.webkit.org/show_bug.cgi?id=12970 51503 Fix and import 4XPath test_core_functions.html test 51504 51505 * xml/XPathExpression.cpp: 51506 (WebCore::XPathExpression::evaluate): Fully initialize the evaluation context. 51507 51508 * xml/XPathFunctions.cpp: 51509 (WebCore::XPath::FunSubstring::doEvaluate): Fixed handling of edge cases. 51510 (WebCore::XPath::FunRound::round): Reimplemented to match the spec; exposed FunRound::round() to be used in 51511 other functions. 51512 51513 2007-03-05 Alexey Proskuryakov <ap (a] webkit.org> 51514 51515 Reviewed by Darin. 51516 51517 http://bugs.webkit.org/show_bug.cgi?id=12954 51518 XPath relative operations are implemented incorrectly 51519 51520 * xml/XPathPredicate.cpp: 51521 (WebCore::XPath::NumericOp::doEvaluate): 51522 (WebCore::XPath::EqTestOp::compare): 51523 (WebCore::XPath::EqTestOp::doEvaluate): 51524 Reimplemented relative equality operations to match the spec. 51525 51526 * xml/XPathPredicate.h: 51527 (WebCore::XPath::NumericOp::): 51528 (WebCore::XPath::EqTestOp::): 51529 Moved relative operations to EqTestOp. 51530 51531 * xml/XPathGrammar.y: 51532 * xml/XPathParser.cpp: 51533 (WebCore::XPath::Parser::nextTokenInternal): 51534 (WebCore::XPath::Parser::lex): 51535 Adapted for the above changes. 51536 51537 2007-03-05 Mark Rowe <mrowe (a] apple.com> 51538 51539 Reviewed by Lars. 51540 51541 Fix http://bugs.webkit.org/show_bug.cgi?id=12947 51542 Bug 12947: REGRESSION: ASSERTION FAILED: maxWidth >= 0 in StringTruncator.cpp:109 in WebCore::truncateString() 51543 51544 Handle nil window correctly in toUserSpace and toDeviceSpace. On Intel Macs a message to nil that returns a 51545 float will return 0.0. We use this as the divisor in calculating a scale factor, which results in NaN being 51546 introduced into our rect. 51547 51548 * platform/mac/ScreenMac.mm: 51549 (WebCore::toUserSpace): 51550 (WebCore::toDeviceSpace): 51551 51552 2007-03-05 Rob Buis <buis (a] kde.org> 51553 51554 Reviewed by Darin. 51555 51556 http://bugs.webkit.org/show_bug.cgi?id=12868 51557 parts of the CSS classes in this simple SVG example are not applied 51558 51559 Make sure the xml stylesheets are parsed in strict mode. 51560 51561 * dom/ProcessingInstruction.cpp: 51562 (WebCore::ProcessingInstruction::parseStyleSheet): 51563 51564 2007-03-04 Adele Peterson <adele (a] apple.com> 51565 51566 Reviewed by Darin. 51567 51568 Change to dispatch the keypress event during the defaultEventHandler for keydown events. This matches IE behavior. 51569 This is preparation for fixing event dispatch with input methods (http://bugs.webkit.org/show_bug.cgi?id=10871) 51570 51571 Test: fast/events/keydown-keypress-preventDefault.html 51572 51573 * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): Call the defaultKeyboardEventHandler for keydown events. 51574 * page/EventHandler.cpp: 51575 (WebCore::eventTargetNodeForDocument): Return 0 instead of false since the return type in EventTargetNode. 51576 (WebCore::EventHandler::keyEvent): Removed dispatch of keypress event, since this is now done in the default event handler. 51577 (WebCore::EventHandler::defaultKeyboardEventHandler): For keydown events, create and dispatch a keypress event. 51578 51579 2007-03-04 Alexey Proskuryakov <ap (a] webkit.org> 51580 51581 Reviewed by Nikolas Zimmermann (yay!). 51582 51583 http://bugs.webkit.org/show_bug.cgi?id=12962 51584 4XPath tests crash on lang() function 51585 51586 Covered by 4XPath tests, to be landed later. 51587 51588 * platform/StringImpl.cpp: 51589 (WebCore::StringImpl::reverseFind): Do not crash with empty strings. 51590 * xml/XPathFunctions.cpp: 51591 (WebCore::XPath::FunLang::doEvaluate): Do not crash when an element has no 51592 attributes. Use a proper namespace for xml:lang (not sure where "xms" came from). 51593 Rewrote the algorithm for suffix removing to match the spec. 51594 51595 2007-03-02 Anders Carlsson <acarlsson (a] apple.com> 51596 51597 Reviewed by Darin. 51598 51599 <rdar://problem/5028165> 51600 http://bugs.webkit.org/show_bug.cgi?id=12915 51601 REGRESSION: XMLHttpRequest.abort() does not stop loading (12915) 51602 51603 * loader/DocumentLoader.cpp: 51604 (WebCore::DocumentLoader::stopLoading): 51605 Save the value of m_loading since calling FrameLoader::stopLoading could set it to false. 51606 51607 * loader/SubresourceLoader.cpp: 51608 (WebCore::SubresourceLoader::didCancel): 51609 * loader/SubresourceLoader.h: 51610 Get rid of didCancel now, it's not needed anymore. 51611 51612 * xml/xmlhttprequest.cpp: 51613 (WebCore::XMLHttpRequest::abort): 51614 Call cancel() instead of stopLoading(). Also, set m_aborted to true so the XMLHttpRequest object 51615 won't be dereferenced in didFail when aborting. 51616 51617 2007-03-04 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 51618 51619 Reviewed by Nikolas Zimmermann. 51620 51621 Move ScrollView stubs to ScrollViewGdk.cpp 51622 51623 * platform/gdk/FrameGdk.h: remove comment that no longer makes sense 51624 * platform/gdk/ScrollViewGdk.cpp: 51625 (WebCore::ScrollView::addChild): 51626 (WebCore::ScrollView::removeChild): 51627 (WebCore::ScrollView::scrollPointRecursively): 51628 (WebCore::ScrollView::inWindow): 51629 (WebCore::ScrollView::wheelEvent): 51630 (WebCore::ScrollView::updateScrollbars): 51631 (WebCore::ScrollView::updateScrollInfo): 51632 (WebCore::ScrollView::windowToContents): 51633 (WebCore::ScrollView::contentsToWindow): 51634 (WebCore::ScrollView::scrollbarUnderMouse): 51635 * platform/gdk/TemporaryLinkStubs.cpp: 51636 51637 2007-03-02 Kevin McCullough <kmccullough (a] apple.com> 51638 51639 Reviewed by Geoff. 51640 51641 - rdar://problem/4922454 51642 - This fixes a security issue by making remote referrers not able to access local 51643 resources, unless they register their schemes to be treated as local. The result is 51644 that those schemes can access local resources and cannot be accessed by remote 51645 referrers. 51646 Because this behavior is new a link-on-or-after check is made to determine if the 51647 app should use the older, less safe, behavior. 51648 51649 * WebCore.exp: added exported functions 51650 * bindings/objc/DOM.mm: consolodated function to base class 51651 (-[DOMElement image]): 51652 (-[DOMElement _imageTIFFRepresentation]): 51653 * dom/Document.cpp: Cache the document's ability to load local resources. 51654 (WebCore::Document::Document): 51655 (WebCore::Document::setURL): 51656 (WebCore::Document::shouldBeAllowedToLoadLocalResources): 51657 (WebCore::Document::stylesheetLoaded): 51658 * dom/Document.h: Cache the docuent's ability to load local resources. 51659 (WebCore::Document::getPendingSheet): 51660 (WebCore::Document::isAllowedToLoadLocalResources): 51661 * html/HTMLImageLoader.cpp: Moved functionality into base class. 51662 (WebCore::HTMLImageLoader::updateFromElement): 51663 (WebCore::HTMLImageLoader::dispatchLoadEvent): 51664 * html/HTMLLinkElement.cpp: Handles null returns correctly now. 51665 * html/HTMLTokenizer.cpp: Moved functionality into base class. 51666 (WebCore::HTMLTokenizer::notifyFinished): 51667 * ksvg2/misc/SVGImageLoader.cpp: Moved functionality into base class. 51668 (WebCore::SVGImageLoader::dispatchLoadEvent): 51669 * loader/Cache.cpp: Checks if the cached resource can be loaded. 51670 (WebCore::Cache::requestResource): 51671 * loader/CachedCSSStyleSheet.cpp: Moved functionality into base class. 51672 (WebCore::CachedCSSStyleSheet::ref): 51673 (WebCore::CachedCSSStyleSheet::error): 51674 * loader/CachedImage.cpp: Moved functionality into base class. 51675 (WebCore::CachedImage::CachedImage): 51676 * loader/CachedImage.h: Moved functionality into base class. 51677 (WebCore::CachedImage::canRender): 51678 * loader/CachedResource.cpp: Cache if the CachedResource should be treated as local 51679 (WebCore::CachedResource::CachedResource): 51680 * loader/CachedResource.h: Moved functionality into base class. 51681 (WebCore::CachedResource::errorOccurred): 51682 (WebCore::CachedResource::shouldTreatAsLocal): 51683 * loader/CachedScript.cpp: Moved functionality into base class. 51684 (WebCore::CachedScript::CachedScript): 51685 * loader/CachedScript.h: Moved functionality into base class. 51686 (WebCore::CachedScript::schedule): 51687 * loader/CachedXBLDocument.cpp: Moved functionality into base class. 51688 (WebCore::CachedXBLDocument::error): 51689 * loader/CachedXSLStyleSheet.cpp: Moved functionality into base class. 51690 (WebCore::CachedXSLStyleSheet::error): 51691 * loader/FrameLoader.cpp: See comments for each function below. 51692 (WebCore::FrameLoader::loadSubframe): Use new canLoad. 51693 (WebCore::FrameLoader::restrictAccessToLocal): return value of linked-on-or-after check. 51694 (WebCore::FrameLoader::setRestrictAccessToLocal): set value for linked-on-or-after check. 51695 (WebCore::localSchemes): Return set of schemes that are to be treated as local. 51696 (WebCore::FrameLoader::loadPlugin): Use new canLoad. 51697 (WebCore::FrameLoader::canLoad): Now multiple functions that each do the same work but some can take advantage of the cached values, if they were computed previously. 51698 (WebCore::FrameLoader::shouldHideReferrer): Extracted out the logic to determine if the referrer should be hidden so it is only calculated when needed. 51699 (WebCore::FrameLoader::loadResourceSynchronously): No longer calls canLoad to get hideReferrer info. 51700 (WebCore::FrameLoader::registerSchemeAsLocal): Functionality to register a scheme to be treated as local. 51701 (WebCore::FrameLoader::treatURLAsLocal): Given a URL this function determines if it should be treated as local. 51702 * loader/FrameLoader.h: Declared functions for this security fix. See above. 51703 * loader/MainResourceLoader.cpp: Optized order of bools to regain performance. 51704 (WebCore::MainResourceLoader::continueAfterContentPolicy): 51705 * loader/SubresourceLoader.cpp: Now restricts remote from loading local resources. 51706 (WebCore::SubresourceLoader::create): 51707 * page/EventHandler.cpp: Moved functionality into base class. 51708 (WebCore::selectCursor): 51709 * platform/KURL.cpp: KURLs need to check all the registered schemes now. 51710 (WebCore::KURL::isLocalFile): 51711 * rendering/HitTestResult.cpp: Moved functionality into base class. 51712 (WebCore::HitTestResult::image): 51713 * rendering/RenderImage.cpp: Moved functionality into base class. 51714 (WebCore::RenderImage::setCachedImage): 51715 (WebCore::RenderImage::imageChanged): 51716 (WebCore::RenderImage::paint): 51717 (WebCore::RenderImage::layout): 51718 (WebCore::RenderImage::calcAspectRatioWidth): 51719 (WebCore::RenderImage::calcAspectRatioHeight): 51720 * rendering/RenderImage.h: Moved functionality into base class. 51721 (WebCore::RenderImage::errorOccurred): 51722 * rendering/RenderListItem.cpp: Moved functionality into base class. 51723 (WebCore::RenderListItem::setStyle): 51724 * rendering/RenderListMarker.cpp: Moved functionality into base class. 51725 (WebCore::RenderListMarker::isImage): 51726 * xml/xmlhttprequest.cpp: Check doc's cached value instead of determining independently. 51727 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): 51728 51729 2007-03-02 Justin Garcia <justin.garcia (a] apple.com> 51730 51731 Reviewed by kevin 51732 51733 <rdar://problem/5028447> 51734 REGRESSION: Gmail Editor: Copied message text pastes at the wrong font size 51735 51736 * editing/markup.cpp: 51737 (WebCore::createMarkup): The style of the div that holds 51738 a fully selected body's styles didn't include styles inherited 51739 from the body's ancestors. 51740 51741 2007-03-02 Justin Garcia <justin.garcia (a] apple.com> 51742 51743 Reviewed by harrison 51744 51745 <rdar://problem/4545040> 51746 innerHTML does not HTML-escape text nodes inside PRE elements 51747 <rdar://problem/5027857> 51748 Pasting into Mail from Safari's view-source window renders the HTML 51749 51750 * editing/HTMLInterchange.cpp: 51751 (WebCore::convertHTMLTextToInterchangeFormat): Send this function 51752 the node that the text comes from as a parameter. It shouldn't convert 51753 '\n's to spaces/nbsps if the text is coming from text where newlines are 51754 preserved. 51755 * editing/HTMLInterchange.h: 51756 * editing/markup.cpp: 51757 (WebCore::startMarkup): Escape text inside the children of PREs. 51758 51759 2007-03-02 Sam Weinig <sam (a] webkit.org> 51760 51761 Reviewed by Anders. 51762 51763 Try to fix the Qt build. 51764 51765 * platform/qt/TemporaryLinkStubs.cpp: Add stubs. 51766 (WebCore::searchMenuNoRecentSearchesText): 51767 (WebCore::searchMenuRecentSearchesText): 51768 (WebCore::searchMenuClearRecentSearchesText): 51769 (WebCore::AXWebAreaText): 51770 (WebCore::AXLinkText): 51771 (WebCore::AXListMarkerText): 51772 (WebCore::AXImageMapText): 51773 (WebCore::AXHeadingText): 51774 51775 2007-03-02 David Harrison <harrison (a] apple.com> 51776 51777 Suggested by Darin. 51778 51779 A more efficient solution to rdar://4961431. 51780 51781 * bridge/mac/WebCoreAXObject.mm: 51782 (-[WebCoreAXObject accessibilityIsIgnored]): 51783 51784 2007-03-01 Justin Garcia <justin.garcia (a] apple.com> 51785 51786 Reviewed by john 51787 51788 <rdar://problem/5032095> 51789 Gmail Editor: Copied text pastes on a new line instead of current line 51790 51791 Start merge failed to occur because positionAtStartOfInsertedContent 51792 had a bug. 51793 51794 * editing/ReplaceSelectionCommand.cpp: 51795 (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): 51796 Was failing when inserting <span><div>foo/div></span>. Return the 51797 inserted content's first VisiblePosition. 51798 51799 2007-03-02 Dave Hyatt <hyatt (a] apple.com> 51800 51801 Fix crasher in glyph map code (buffer overrun). 51802 51803 Reviewed by darin 51804 51805 * platform/win/GlyphPageTreeNodeWin.cpp: 51806 (WebCore::GlyphPage::fill): 51807 51808 2007-03-01 Antti Koivisto <antti (a] apple.com> 51809 51810 Reviewed by Maciej. 51811 51812 Fix for http://bugs.webkit.org/show_bug.cgi?id=12895 51813 REGRESSION: imagemap: pointer cursor is shown everywhere 51814 <rdar://problem/5028163> 51815 51816 Image with imagemap should never itself be URLElement in hit test results. 51817 51818 No layout test, cursor state can't be captured. 51819 51820 * rendering/RenderLayer.cpp: 51821 (WebCore::RenderLayer::hitTest): 51822 51823 2007-03-01 Antti Koivisto <antti (a] apple.com> 51824 51825 Reviewed by Maciej. 51826 51827 Fix http://bugs.webkit.org/show_bug.cgi?id=12690 51828 REGRESSION: can not log in to bank of america with TOT webkit 51829 <rdar://problem/4990044> 51830 51831 and http://bugs.webkit.org/show_bug.cgi?id=12604 51832 REGRESSION: After closing the "Would you like to save password" sheet, the form fails 51833 to submit automatically at http://www.mac.com/WebObjects/HomePage.woa 51834 <rdar://problem/4871752> 51835 51836 and http://bugs.webkit.org/show_bug.cgi?id=12020 51837 REGRESSION: Flickr uploading broken 51838 <rdar://problem/4928662> 51839 51840 Turn protection against multiple forms submission back on. This approach is buggy 51841 but it is way better than not having it at all. Not protecting against this 51842 breaks number of major sites. 51843 51844 * bridge/mac/WebCoreAXObject.mm: 51845 (-[WebCoreAXObject accessibilityPerformAction:]): 51846 * loader/FrameLoader.cpp: 51847 (WebCore::FrameLoader::resetMultipleFormSubmissionProtection): 51848 (WebCore::FrameLoader::submitForm): 51849 (WebCore::FrameLoader::receivedMainResourceError): 51850 * loader/FrameLoader.h: 51851 * page/EventHandler.cpp: 51852 (WebCore::EventHandler::keyEvent): 51853 * page/Frame.cpp: 51854 (WebCore::Frame::setView): 51855 * page/mac/EventHandlerMac.mm: 51856 (WebCore::EventHandler::mouseDown): 51857 51858 2007-03-01 Kevin McCullough <kmccullough (a] apple.com> 51859 51860 Reviewed by Adam. 51861 51862 - Added the test case: external-script-URL-location.html 51863 - Fix an issue where the url of a document is null after an open if the document 51864 has no parent. 51865 51866 * dom/Document.cpp: 51867 (WebCore::Document::open): 51868 51869 2007-03-01 Anders Carlsson <acarlsson (a] apple.com> 51870 51871 Reviewed by Darin. 51872 51873 <rdar://problem/4960250> 51874 http://bugs.webkit.org/show_bug.cgi?id=11627 51875 REGRESSION: Reproducible crash at IMDb in WebCore::FrameLoader::stopLoadingSubframes 51876 51877 In rare cases, we could end up calling checkLoadComplete twice for the same frame. This would cause the 51878 didFailProvisionalLoad delegate method to be called twice for the same frame, and also cause the provisional document loader 51879 to be reset to null when other code wasn't expecting it. 51880 51881 This regressed in revision 10904 with the fix for <rdar://problem/4184719>. The fix is to only call stopLoading on the frame 51882 if either the document loader is loading, or the document is still being parsed. I've verified that the bug is still fixed and 51883 that no leaks occur. 51884 51885 * loader/DocumentLoader.cpp: 51886 (WebCore::DocumentLoader::stopLoading): 51887 51888 2007-03-01 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 51889 51890 Reviewed by Darin. 51891 51892 Fix ARM crash due to accessing non-4-byte-aligned memory 51893 as 32-bit values. 51894 51895 * platform/AtomicString.cpp: 51896 (WebCore::UCharBufferTranslator::equal): 51897 51898 2007-03-01 David Harrison <harrison (a] apple.com> 51899 51900 Reviewed by Darin. 51901 51902 <rdar://problem/5033905> Have the DOM secondary thread check raise an exception by default 51903 51904 * platform/mac/ThreadCheck.mm: 51905 (WebCore::_WebCoreThreadViolationCheck): 51906 Initialize threadViolationIsException to true. 51907 51908 2007-03-01 Brady Eidson <beidson (a] apple.com> 51909 51910 Reviewed by Darin 51911 51912 <rdar://problem/5030628> - Crash opening a new window with the 51913 "New windows open to the same page" pref set 51914 51915 * history/HistoryItem.cpp: 51916 (WebCore::HistoryItem::HistoryItem): Set the m_subItems vector capacity correctly 51917 51918 2007-03-01 Alexey Proskuryakov <ap (a] webkit.org> 51919 51920 Reviewed by Maciej. 51921 51922 http://bugs.webkit.org/show_bug.cgi?id=12801 51923 Assertion failure in createMarkup() (root) when doing Select All, Copy in an SVG document 51924 51925 Test: editing/pasteboard/createMarkup-assert.xml 51926 51927 * editing/markup.cpp: 51928 (WebCore::createMarkup): Removed the assertion, because it's wrong in a non-HTML world. 51929 51930 2007-02-28 Adam Roben <aroben (a] apple.com> 51931 51932 Reviewed by Oliver and Hyatt. 51933 51934 Fix <rdar://problem/5024233> Crash while using Find on empty document 51935 51936 No layout test possible, as this involves a null document. 51937 51938 * dom/Range.cpp: 51939 (WebCore::rangeOfContents): Added an ASSERT. 51940 * page/Frame.cpp: 51941 (WebCore::Frame::findString): Added a null-check for document(). 51942 (WebCore::Frame::markAllMatchesForText): Ditto. 51943 51944 2007-02-28 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 51945 51946 Not reviewed - simple gdk build fix. 51947 51948 Add stubs for newly introduced localized strings. 51949 51950 * platform/gdk/TemporaryLinkStubs.cpp: 51951 (WebCore::searchMenuNoRecentSearchesText): 51952 (WebCore::searchMenuRecentSearchesText): 51953 (WebCore::searchMenuClearRecentSearchesText): 51954 51955 2007-02-28 Brady Eidson <beidson (a] apple.com> 51956 51957 Reviewed by Beth 51958 51959 Move the Thread Safety Check functions into their own header for export to WebKit 51960 51961 * WebCore.exp: Export the function 51962 * WebCore.xcodeproj/project.pbxproj: 51963 * bindings/scripts/CodeGeneratorObjC.pm: Include the new header 51964 * platform/Logging.h: Move stuff to ThreadCheck.h 51965 * platform/ThreadCheck.h: Added. 51966 * platform/mac/LoggingMac.mm: Move stuff to ThreadCheck.mm 51967 * platform/mac/ThreadCheck.mm: Added. 51968 (WebCore::_WebCoreThreadViolationCheck): 51969 (WebCoreReportThreadViolation): 51970 51971 2007-02-28 Beth Dakin <bdakin (a] apple.com> 51972 51973 Reviewed by Brady. 51974 51975 Fix for http://bugs.webkit.org/show_bug.cgi?id=12923 REGRESSION: 51976 Assertion failure copying standalone image 51977 51978 * platform/mac/PasteboardMac.mm: 51979 (WebCore::Pasteboard::writeImage): Use the CachedImage as the 51980 resource. This makes more sense anyway. There is no need to null- 51981 check the renderer or the CachedImage since we return early if 51982 there is no Image* and the HitTestResult::image() function checks 51983 for these things. 51984 51985 2007-02-28 Adele Peterson <adele (a] apple.com> 51986 51987 Reviewed by Beth. 51988 51989 Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized 51990 and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized 51991 51992 Use localized strings from WebKit instead of hard coded strings. 51993 51994 * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject roleDescription]): 51995 * page/mac/WebCoreViewFactory.h: 51996 * platform/LocalizedStrings.h: 51997 * platform/mac/LocalizedStringsMac.mm: 51998 (WebCore::searchMenuNoRecentSearchesText): 51999 (WebCore::searchMenuRecentSearchesText): 52000 (WebCore::searchMenuClearRecentSearchesText): 52001 (WebCore::AXWebAreaText): 52002 (WebCore::AXLinkText): 52003 (WebCore::AXListMarkerText): 52004 (WebCore::AXImageMapText): 52005 (WebCore::AXHeadingText): 52006 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::itemText): 52007 52008 2007-02-27 Antti Koivisto <antti (a] apple.com> 52009 52010 Reviewed by Maciej. 52011 52012 - fix http://bugs.webkit.org/show_bug.cgi?id=12911 52013 GoogleDocs: Ordered lists don't update immediately when start attribute changed 52014 52015 Update list marker value when start attribute changes. 52016 52017 * html/HTMLOListElement.cpp: 52018 (WebCore::HTMLOListElement::parseMappedAttribute): 52019 52020 2007-02-28 Nikolas Zimmermann <zimmermann (a] kde.org> 52021 52022 Reviewed by Maciej. 52023 52024 Corrected the use of the new ENABLE() macros in some ksvg2/svg files. 52025 Add new build-webkit flags "--(no-)xpath" / "--(no-)xslt", to be able 52026 to switch off build features easily. Also add "--(no-)svg-experimental-features" 52027 flag, to be able to test filters/animations/use/foreignObject easily. 52028 52029 * DerivedSources.make: 52030 * ksvg2/scripts/make_names.pl: 52031 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: 52032 * ksvg2/svg/SVGStyledElement.cpp: 52033 * ksvg2/svg/SVGUseElement.cpp: 52034 52035 2007-02-28 Rob Buis <buis (a] kde.org> 52036 52037 Reviewed by Maciej. 52038 52039 http://bugs.webkit.org/show_bug.cgi?id=12609 52040 Any SVG element will create renderers even when children of HTML elements 52041 52042 Allow creation of svg renderers only when parent is SVG, except for 52043 the <svg> element. 52044 52045 * ksvg2/svg/SVGAElement.h: 52046 * ksvg2/svg/SVGAnimationElement.h: 52047 * ksvg2/svg/SVGCircleElement.h: 52048 * ksvg2/svg/SVGClipPathElement.h: 52049 (WebCore::SVGClipPathElement::rendererIsNeeded): 52050 * ksvg2/svg/SVGDefsElement.cpp: 52051 * ksvg2/svg/SVGDefsElement.h: 52052 * ksvg2/svg/SVGDescElement.h: 52053 (WebCore::SVGDescElement::rendererIsNeeded): 52054 * ksvg2/svg/SVGElement.cpp: 52055 * ksvg2/svg/SVGEllipseElement.h: 52056 * ksvg2/svg/SVGFilterElement.h: 52057 (WebCore::SVGFilterElement::rendererIsNeeded): 52058 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: 52059 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded): 52060 * ksvg2/svg/SVGForeignObjectElement.h: 52061 * ksvg2/svg/SVGGElement.h: 52062 * ksvg2/svg/SVGGradientElement.h: 52063 * ksvg2/svg/SVGImageElement.h: 52064 * ksvg2/svg/SVGLineElement.h: 52065 * ksvg2/svg/SVGMarkerElement.h: 52066 * ksvg2/svg/SVGMaskElement.h: 52067 * ksvg2/svg/SVGPathElement.h: 52068 * ksvg2/svg/SVGPatternElement.h: 52069 * ksvg2/svg/SVGPolyElement.h: 52070 * ksvg2/svg/SVGRectElement.h: 52071 * ksvg2/svg/SVGStopElement.h: 52072 * ksvg2/svg/SVGStyledElement.cpp: 52073 (WebCore::SVGStyledElement::rendererIsNeeded): 52074 * ksvg2/svg/SVGStyledElement.h: 52075 * ksvg2/svg/SVGSwitchElement.h: 52076 * ksvg2/svg/SVGSymbolElement.h: 52077 (WebCore::SVGSymbolElement::rendererIsNeeded): 52078 * ksvg2/svg/SVGTRefElement.h: 52079 * ksvg2/svg/SVGTSpanElement.h: 52080 * ksvg2/svg/SVGTextElement.h: 52081 * ksvg2/svg/SVGTitleElement.h: 52082 (WebCore::SVGTitleElement::rendererIsNeeded): 52083 * ksvg2/svg/SVGUseElement.h: 52084 * ksvg2/svg/SVGViewElement.h: 52085 (WebCore::SVGViewElement::rendererIsNeeded): 52086 52087 2007-02-28 Rob Buis <buis (a] kde.org> 52088 52089 Reviewed by Maciej. 52090 52091 http://bugs.webkit.org/show_bug.cgi?id=12913 52092 Markers do not render in webkit when it misses markerWidth or markerHeight attribute 52093 52094 Set defaults for markerWidth/markerHeight so markers that do not specify them render. 52095 52096 * ksvg2/svg/SVGMarkerElement.cpp: 52097 (WebCore::SVGMarkerElement::SVGMarkerElement): 52098 52099 2007-02-27 Anders Carlsson <acarlsson (a] apple.com> 52100 52101 * loader/ResourceLoader.cpp: 52102 (WebCore::ResourceLoader::~ResourceLoader): 52103 Remove comment. 52104 52105 2007-02-27 Justin Garcia <justin.garcia (a] apple.com> 52106 52107 Reviewed by oliver 52108 52109 <rdar://problem/5027300> 52110 REGRESSION: Images inserted with align left/right are lost 52111 52112 * editing/ReplaceSelectionCommand.cpp: 52113 (WebCore::ReplaceSelectionCommand::shouldMerge): 52114 Don't attempt to merge to or from a position before 52115 or after a block because it will be a no-op and 52116 lead to infinite recursion. 52117 In this case it instead resulted in content loss because 52118 of bugs in start/endOfParagraph (5027702). 52119 * editing/visible_units.cpp: Added two FIXMEs for 52120 the problems with start/endOfParagraph. 52121 52122 2007-02-27 Anders Carlsson <acarlsson (a] apple.com> 52123 52124 Reviewed by Geoff. 52125 52126 Make resource load delegate methods pass the right document loader. 52127 52128 * loader/FrameLoader.cpp: 52129 (WebCore::FrameLoader::willSendRequest): 52130 (WebCore::FrameLoader::didReceiveResponse): 52131 (WebCore::FrameLoader::didReceiveData): 52132 (WebCore::FrameLoader::didFailToLoad): 52133 (WebCore::FrameLoader::didFinishLoad): 52134 (WebCore::FrameLoader::didReceiveAuthenticationChallenge): 52135 (WebCore::FrameLoader::didCancelAuthenticationChallenge): 52136 Use the resource loader's document loader instead of the active one. 52137 52138 * loader/MainResourceLoader.cpp: 52139 (WebCore::MainResourceLoader::receivedError): 52140 Make it so we send the frame load delegate method before the resource load delegate method. 52141 This was a regression from 2.0 and was caused by the fix to rdar://problem/4609195. Because the way the loader 52142 now works, both delegate methods will be called. 52143 52144 * loader/ResourceLoader.cpp: 52145 (WebCore::ResourceLoader::ResourceLoader): 52146 * loader/ResourceLoader.h: 52147 (WebCore::ResourceLoader::documentLoader): 52148 Add document loader pointer to ResourceLoader. 52149 52150 2007-02-27 Mitz Pettel <mitz (a] webkit.org> 52151 52152 Reviewed by Hyatt. 52153 52154 - fix http://bugs.webkit.org/show_bug.cgi?id=12910 52155 REGRESSION (r18756-r18765): list-bullet doesn't redraw properly when changing the list's content using JavaScript 52156 52157 Test: fast/repaint/list-marker.html 52158 52159 * rendering/RenderListItem.cpp: 52160 (WebCore::RenderListItem::positionListMarker): Add the marker to the visual 52161 overflow of all its ancestor blocks up to the list item. This needs to be 52162 done here since the marker is positioned only after those blocks have been 52163 laid out. 52164 52165 2007-02-27 Antti Koivisto <antti (a] apple.com> 52166 52167 Reviewed by Hyatt. 52168 52169 - fix http://bugs.webkit.org/show_bug.cgi?id=12918 52170 REGRESSION: Google Finance dropdown Flickers 52171 <rdar://4988039> 52172 52173 If a node dies while mouse is over it, it is still supposed to receive 52174 mouseout event (wasn't case in Tiger webkit). However this event should 52175 not propagate to any other nodes. This patch matches Firefox behavior in 52176 this respect. 52177 52178 * dom/EventTargetNode.cpp: 52179 (WebCore::EventTargetNode::dispatchGenericEvent): 52180 52181 2007-02-27 Geoffrey Garen <ggaren (a] apple.com> 52182 52183 Reviewed by Maciej Stachowiak. 52184 52185 Fixed http://bugs.webkit.org/show_bug.cgi?id=12659 | <rdar://problem/4954306> 52186 JS objects not collected after closing window @ ebay.com/maps.google.com 52187 52188 Garbage collect in the KJSProxy destructor, after clearing our reference 52189 to the interpreter, because that's when the interpreter has torn down fully. 52190 52191 (Technically speaking, we can't *prove* that we have the only reference to 52192 our interpreter, but that's how it works in practice, and manual garbage 52193 collection is just an opportunistic optimization, so it's OK for it to 52194 work in practice even if it can't be proven in theory.) 52195 52196 Layout tests pass. No leaks reported. 52197 52198 * bindings/js/kjs_proxy.cpp: 52199 (WebCore::KJSProxy::~KJSProxy): 52200 * bindings/js/kjs_proxy.h: 52201 * page/Page.cpp: 52202 (WebCore::Page::~Page): Merged pageDestroyed() calls. Moved debug-only 52203 code to the bottom. 52204 * page/Frame.cpp: 52205 (WebCore::Frame::~Frame): Don't call getObject() because globalObject() 52206 returns a JSObject* already, and the call can leave a pointer to the Window 52207 object on the stack. Don't check for NULL because it is an invariant of 52208 JavaScriptCore that no JSObject* can be NULL. Do use a volatile pointer 52209 for w because the 'w = 0' assignment just screams to the compiler, "Don't 52210 generate any code for me!" 52211 52212 2007-02-27 Rob Buis <buis (a] kde.org> 52213 52214 Reviewed by David Hyatt. 52215 52216 http://bugs.webkit.org/show_bug.cgi?id=4128 52217 !important is ignored in inline styling. 52218 52219 Handle properties with !important flag better in inline 52220 style declarations. 52221 52222 * css/CSSMutableStyleDeclaration.cpp: 52223 (WebCore::CSSMutableStyleDeclaration::addParsedProperties): 52224 52225 2007-02-27 David Hyatt <hyatt (a] apple.com> 52226 52227 Bug 11435. Make sure RenderViews always paintBoxDecorations. They used to before I removed RenderView's 52228 paint method. This fix restores the original behavior. 52229 52230 Reviewed by mitz 52231 52232 * rendering/RenderBox.cpp: 52233 (WebCore::RenderBox::setStyle): 52234 52235 2007-02-27 David Hyatt <hyatt (a] apple.com> 52236 52237 Fix for bug 12094, make sure setMinMaxKnown starts off false for the weird/rare case of empty 52238 plaintext documents (which really are buggy and should be fixed to generate root elements). 52239 52240 Reviewed by mitz 52241 52242 * rendering/RenderView.cpp: 52243 (WebCore::RenderView::RenderView): 52244 52245 2007-02-27 Matt Perry <mpcomplete (a] chromium.org> 52246 52247 Reviewed by Darin. 52248 52249 Fixed the case where a BackForwardList of capacity==1 would grow without bound. 52250 52251 * history/BackForwardList.cpp: 52252 (WebCore::BackForwardList::addItem): 52253 52254 2007-02-22 Lars Naesbye Christensen <lars (a] naesbye.dk> 52255 52256 Reviewed by Maciej. 52257 52258 http://bugs.webkit.org/show_bug.cgi?id=12848 52259 Help cursor should have a white outline 52260 52261 * Resources/helpCursor.png: 52262 52263 2007-02-27 Alexey Proskuryakov <ap (a] webkit.org> 52264 52265 Reviewed by Maciej. 52266 52267 http://bugs.webkit.org/show_bug.cgi?id=12594 52268 REGRESSION: Strange highlight in active input area 52269 52270 No automated test possible. 52271 52272 * rendering/InlineTextBox.cpp: 52273 (WebCore::InlineTextBox::paint): Restore a check lost in r12792. 52274 52275 2007-02-27 Darin Adler <darin (a] apple.com> 52276 52277 Reviewed by Mitz. 52278 52279 - fix http://bugs.webkit.org/show_bug.cgi?id=12908 52280 crash in http/tests/incremental/frame-focus-before-load.html 52281 52282 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::focusDocumentView): 52283 Add null checks. 52284 52285 2007-02-27 Darin Adler <darin (a] apple.com> 52286 52287 Reviewed by Alexey. 52288 52289 - fix http://bugs.webkit.org/show_bug.cgi?id=12909 52290 should use ICU, not TEC, for MacRoman decoding 52291 52292 * platform/TextCodecICU.cpp: (WebCore::TextCodecICU::registerEncodingNames): 52293 Add "macroman" as an alias for "macintosh". We have seen that in use in mail, 52294 although I'm not sure it's used on the web. 52295 52296 * platform/mac/mac-encodings.txt: Remove MacRoman line, which was added back 52297 as part of the patch for bug 4971226. But by adding it to this file rather 52298 than the ICU codec, we get it only on Mac OS X. And long term we are trying to 52299 get rid of the use of TEC entirely, so we want this file to be as empty as 52300 possible. 52301 52302 2007-02-27 Rob Buis <buis (a] kde.org> 52303 52304 Reviewed by Maciej. 52305 52306 http://bugs.webkit.org/show_bug.cgi?id=12905 52307 Not all svg shapes should support markers 52308 52309 Restrict marker usage to svg shapes polyline, polygon, line and path. 52310 52311 * ksvg2/svg/SVGLineElement.h: 52312 (WebCore::SVGLineElement::supportsMarkers): 52313 * ksvg2/svg/SVGPathElement.h: 52314 (WebCore::SVGPathElement::supportsMarkers): 52315 * ksvg2/svg/SVGPolyElement.h: 52316 (WebCore::SVGPolyElement::supportsMarkers): 52317 * ksvg2/svg/SVGStyledElement.h: 52318 (WebCore::SVGStyledElement::supportsMarkers): 52319 * rendering/RenderPath.cpp: 52320 (WebCore::RenderPath::paint): 52321 52322 2007-02-26 Adele Peterson <adele (a] apple.com> 52323 52324 Reviewed by Lars. 52325 52326 Fix for http://bugs.webkit.org/show_bug.cgi?id=12902 52327 <rdar://problem/5012679> REGRESSION: Pressing return key doesn't 52328 move caret to next line after applying a font color in GMail 52329 52330 Test: fast/frames/iframe-window-focus-2.html 52331 52332 * page/EventHandler.h: Make focusDocumentView public. 52333 * page/Frame.cpp: (WebCore::Frame::focusWindow): Instead of just setting the focused frame, 52334 we should set also focus the document view. The bug here was that since the subframe view 52335 wasn't the first responder, the key down event was going to the wrong frame. 52336 52337 2007-02-26 Maciej Stachowiak <mjs (a] apple.com> 52338 52339 Reviewed by Oliver. 52340 52341 - fixed <rdar://problem/4946881> Recursive loop with <marker> not caught, crashes in WebCore::SVGPaintServer::draw (11244) 52342 http://bugs.webkit.org/show_bug.cgi?id=11244 52343 52344 * platform/graphics/svg/SVGResourceMarker.cpp: 52345 (WebCore::SVGResourceMarker::draw): Use a HashSet to guard against 52346 reference cycles. 52347 52348 2007-02-26 Maciej Stachowiak <mjs (a] apple.com> 52349 52350 Reviewed by Kevin McCullough. 52351 52352 - fix Qt build for earlier SVG changes. 52353 52354 * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: 52355 52356 2007-02-26 Oliver Hunt <oliver (a] apple.com> 52357 52358 Reviewed by Maciej. 52359 52360 Fix for <rdar://problem/4827378>: Canvas with large height 52361 uses lots of memory, computer almost stops responding 52362 52363 Put cap on maximum area of canvas, size is similar too the 52364 maximum size allowed by firefox (firefox seems to to cut off 52365 at area == 32767 * 9358). 52366 52367 Also protect renderer against the possibility of a null context 52368 (this was triggering a CG warning) 52369 52370 * html/HTMLCanvasElement.cpp: 52371 (WebCore::HTMLCanvasElement::createDrawingContext): 52372 Apply maximum canvas area 52373 (WebCore::HTMLCanvasElement::createPlatformImage): 52374 Protect against null CG Context 52375 52376 2007-02-26 Mitz Pettel <mitz (a] webkit.org> 52377 52378 Reviewed by Antti Koivisto. 52379 52380 - fix http://bugs.webkit.org/show_bug.cgi?id=12899 52381 Ordered lists not updating dynamically with new styles 52382 52383 Test: fast/lists/list-style-type-dynamic-change.html 52384 52385 * rendering/RenderListMarker.cpp: 52386 (WebCore::RenderListMarker::setStyle): Made changing the marker type trigger 52387 updating of the marker. 52388 52389 2007-02-26 Adele Peterson <adele (a] apple.com> 52390 52391 Reviewed by Maciej. 52392 52393 Fix for <rdar://problem/5012761> REGRESSION: form submit invokes wrong event handler 52394 52395 Test: fast/events/submit-reset-nested-bubble.html 52396 52397 * dom/EventTargetNode.h: Made handleLocalEvents virtual. 52398 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::handleLocalEvents): If we're 52399 not in the capture phase, and the target is a different form, and we're handling 52400 the submitEvent or the resetEvent, then stop propagation of the event. This matches 52401 Firefox behavior. You can only get in this situation if misnested tags cause 52402 forms to be nested. 52403 * html/HTMLFormElement.h: Added handleLocalEvents. 52404 52405 2007-02-26 Darin Adler <darin (a] apple.com> 52406 52407 Reviewed by Oliver Hunt. 52408 52409 - <rdar://problem/5021555> TextCodecICU does not use fallback mappings; it should 52410 52411 * platform/TextCodecICU.cpp: (WebCore::TextCodecICU::createICUConverter): 52412 Added a call to ucnv_setFallback(TRUE). 52413 52414 2007-02-26 Oliver Hunt <oliver (a] apple.com> 52415 52416 Reviewed by Adam. 52417 52418 Fix for rdar://problem/5021127 52419 52420 Need to add null check to node -- original Obj-C didn't need 52421 the null check due to the Obj-C null messaging semantics 52422 52423 * editing/Editor.cpp: 52424 (WebCore::Editor::shouldInsertFragment): 52425 52426 2007-02-26 David Hyatt <hyatt (a] apple.com> 52427 52428 Make text files render using white-space: pre-wrap instead of white-space: pre. 52429 52430 Reviewed by aroben 52431 52432 * loader/TextDocument.cpp: 52433 (WebCore::TextTokenizer::write): 52434 52435 2007-02-26 David Hyatt <hyatt (a] apple.com> 52436 52437 Back out the change to add fullyClippedContentRect. The layout test 52438 was actually showing more correct results. 52439 52440 * page/Frame.cpp: 52441 (WebCore::Frame::visibleSelectionRect): 52442 (WebCore::Frame::setIsActive): 52443 (WebCore::Frame::markAllMatchesForText): 52444 * platform/ScrollView.h: 52445 * platform/mac/ScrollViewMac.mm: 52446 * rendering/RenderLayer.cpp: 52447 (WebCore::RenderLayer::scrollRectToVisible): 52448 52449 2007-02-26 David Hyatt <hyatt (a] apple.com> 52450 52451 Add support for a new property called -webkit-border-fit. This property 52452 has two values: border and lines. The "border" value means the border and 52453 background paint normally at the border box level. The "lines" value indicates 52454 that the border and background should shrink dynamically to snugly hug the 52455 line boxes of normal flow descendants. 52456 52457 Reviewed by darin 52458 52459 fast/borders/border-fit.html 52460 52461 * WebCore.xcodeproj/project.pbxproj: 52462 * css/CSSComputedStyleDeclaration.cpp: 52463 (WebCore::): 52464 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 52465 * css/CSSPropertyNames.in: 52466 * css/CSSValueKeywords.in: 52467 * css/cssparser.cpp: 52468 (WebCore::CSSParser::parseValue): 52469 * css/cssstyleselector.cpp: 52470 (WebCore::CSSStyleSelector::applyProperty): 52471 * rendering/RenderBlock.cpp: 52472 (WebCore::RenderBlock::adjustForBorderFit): 52473 (WebCore::RenderBlock::borderFitAdjust): 52474 * rendering/RenderBlock.h: 52475 * rendering/RenderBox.cpp: 52476 (WebCore::RenderBox::paintBoxDecorations): 52477 * rendering/RenderBox.h: 52478 (WebCore::RenderBox::borderFitAdjust): 52479 * rendering/RenderStyle.cpp: 52480 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 52481 (WebCore::StyleRareNonInheritedData::operator==): 52482 (WebCore::RenderStyle::diff): 52483 * rendering/RenderStyle.h: 52484 (WebCore::): 52485 (WebCore::RenderStyle::borderFit): 52486 (WebCore::RenderStyle::setBorderFit): 52487 (WebCore::RenderStyle::initialBorderFit): 52488 52489 2007-02-26 Adam Roben <aroben (a] apple.com> 52490 52491 Reviewed by Darin. 52492 52493 Build fix. 52494 52495 * rendering/RenderTreeAsText.cpp: Can't use #ifndef with ENABLE() macro. 52496 52497 2007-02-26 Adele Peterson <adele (a] apple.com> 52498 52499 Reviewed by Adam. 52500 52501 Fix for <rdar://problem/4990700> Safari always crashes when attempting to edit/view 52502 Yahoo pipes in WebCore::HTMLSelectElement::optionToListIndex 52503 52504 Test: fast/forms/select-out-of-bounds-index.html 52505 52506 * html/HTMLSelectElement.cpp: 52507 (WebCore::HTMLSelectElement::setSelectedIndex): If we're about to deselect all options, then set m_lastOnChangeIndex to -1. 52508 (WebCore::HTMLSelectElement::optionToListIndex): Moved listSize to a local variable. Rewrote using a simpler for-loop to prevent out-of-bounds errors. 52509 52510 2007-02-26 Anders Carlsson <acarlsson (a] apple.com> 52511 52512 Reviewed by Geoff. 52513 52514 <rdar://problem/4816376> 52515 REGRESSION: NetNewsWire 3.0 - Crashes in WebDocumentLoaderMac::attachToFrame() (12674) 52516 52517 * loader/FrameLoader.cpp: 52518 (WebCore::FrameLoader::reload): 52519 Remove call to setPolicyDocumentLoader here, it's set by the ::load function that we end up calling. 52520 52521 2007-02-26 Maciej Stachowiak <mjs (a] apple.com> 52522 52523 Reviewed by Lars. 52524 52525 - fixed <rdar://problem/5021698> Disable experimental SVG features (12883) 52526 52527 I added an ENABLE_SVG_EXPERIMENTAL_FEATURES define to guard all use of the experimental 52528 features, and used it to guard relevant tag names, elements, JS bindings and renderers. 52529 52530 I also converted all the existing optional feature defines to 52531 ENABLE_FOO instead of FOO_SUPPORT since that is the more standard 52532 way to do it in open source projects and works with the handy new 52533 ENABLE() macro. 52534 52535 * CMakeLists.txt: 52536 * DerivedSources.make: 52537 * Projects/gdk/webcore-gdk.bkl: 52538 * WebCore.pro: 52539 * WebCore.vcproj/WebCore/WebCore.vcproj: 52540 * WebCore.vcproj/WebCore/build-generated-files.sh: 52541 * WebCore.xcodeproj/project.pbxproj: 52542 * bindings/js/JSCustomXPathNSResolver.cpp: 52543 * bindings/js/JSCustomXPathNSResolver.h: 52544 * bindings/js/JSSVGElementWrapperFactory.cpp: 52545 * bindings/js/JSSVGElementWrapperFactory.h: 52546 * bindings/js/JSSVGMatrixCustom.cpp: 52547 * bindings/js/JSSVGPODTypeWrapper.h: 52548 * bindings/js/JSSVGPathSegCustom.cpp: 52549 * bindings/js/JSSVGPathSegListCustom.cpp: 52550 * bindings/js/JSSVGPointListCustom.cpp: 52551 * bindings/js/JSXSLTProcessor.cpp: 52552 * bindings/js/JSXSLTProcessor.h: 52553 * bindings/js/kjs_binding.cpp: 52554 (KJS::setDOMException): 52555 * bindings/js/kjs_css.cpp: 52556 (KJS::toJS): 52557 * bindings/js/kjs_dom.cpp: 52558 (KJS::toJS): 52559 * bindings/js/kjs_html.cpp: 52560 (KJS::HTMLElementFunction::callAsFunction): 52561 * bindings/js/kjs_proxy.cpp: 52562 * bindings/js/kjs_proxy.h: 52563 * bindings/js/kjs_window.cpp: 52564 (KJS::Window::getValueProperty): 52565 * bindings/objc/DOM.mm: 52566 (WebCore::createElementClassMap): 52567 (+[DOMNode _nodeWith:]): 52568 * bindings/objc/DOMCSS.mm: 52569 (+[DOMCSSValue _CSSValueWith:]): 52570 * bindings/objc/DOMCustomXPathNSResolver.h: 52571 * bindings/objc/DOMCustomXPathNSResolver.mm: 52572 * bindings/objc/DOMEvents.mm: 52573 (+[DOMEvent _eventWith:]): 52574 * bindings/objc/DOMInternal.h: 52575 * bindings/objc/DOMSVGPathSegInternal.mm: 52576 * bindings/objc/DOMXPath.mm: 52577 * bindings/objc/ExceptionHandlers.mm: 52578 (WebCore::raiseDOMException): 52579 * bindings/objc/PublicDOMInterfaces.h: 52580 * bindings/scripts/CodeGeneratorJS.pm: 52581 * bindings/scripts/CodeGeneratorObjC.pm: 52582 * config.h: 52583 * css/CSSGrammar.y: 52584 * css/CSSStyleDeclaration.cpp: 52585 (WebCore::propertyID): 52586 * css/StyleBase.h: 52587 * css/cssparser.cpp: 52588 (WebCore::CSSParser::parseValue): 52589 * css/cssparser.h: 52590 * css/cssstyleselector.cpp: 52591 (WebCore::CSSStyleSelector::loadDefaultStyle): 52592 (WebCore::CSSStyleSelector::initForStyleResolve): 52593 (WebCore::checkPseudoState): 52594 (WebCore::CSSStyleSelector::adjustRenderStyle): 52595 (WebCore::CSSStyleSelector::applyProperty): 52596 * css/cssstyleselector.h: 52597 * dom/DOMImplementation.cpp: 52598 (WebCore::DOMImplementation::hasFeature): 52599 (WebCore::DOMImplementation::createDocument): 52600 * dom/Document.cpp: 52601 (WebCore::Document::Document): 52602 (WebCore::Document::~Document): 52603 (WebCore::Document::createElement): 52604 (WebCore::Document::implicitClose): 52605 (WebCore::Document::recalcStyleSelector): 52606 (WebCore::Document::createEvent): 52607 * dom/Document.h: 52608 * dom/Document.idl: 52609 * dom/Event.cpp: 52610 * dom/Event.h: 52611 * dom/EventTarget.cpp: 52612 * dom/EventTarget.h: 52613 * dom/MappedAttributeEntry.h: 52614 (WebCore::): 52615 * dom/Node.cpp: 52616 (WebCore::Node::createRendererIfNeeded): 52617 (WebCore::Node::shadowAncestorNode): 52618 * dom/Node.h: 52619 * dom/ProcessingInstruction.cpp: 52620 (WebCore::ProcessingInstruction::ProcessingInstruction): 52621 (WebCore::ProcessingInstruction::checkStyleSheet): 52622 (WebCore::ProcessingInstruction::setCSSStyleSheet): 52623 * dom/ProcessingInstruction.h: 52624 * dom/Text.cpp: 52625 (WebCore::Text::createRenderer): 52626 * dom/XMLTokenizer.cpp: 52627 (WebCore::XMLTokenizer::startElementNs): 52628 (WebCore::XMLTokenizer::endElementNs): 52629 (WebCore::XMLTokenizer::processingInstruction): 52630 (WebCore::XMLTokenizer::end): 52631 (WebCore::XMLTokenizer::insertErrorMessageBlock): 52632 * dom/XMLTokenizer.h: 52633 * html/HTMLEmbedElement.cpp: 52634 * html/HTMLEmbedElement.h: 52635 * html/HTMLObjectElement.cpp: 52636 * html/HTMLObjectElement.h: 52637 * ksvg2/css/SVGCSSParser.cpp: 52638 * ksvg2/css/SVGCSSStyleSelector.cpp: 52639 * ksvg2/css/SVGRenderStyle.cpp: 52640 * ksvg2/css/SVGRenderStyle.h: 52641 * ksvg2/css/SVGRenderStyleDefs.cpp: 52642 * ksvg2/css/SVGRenderStyleDefs.h: 52643 * ksvg2/events/JSSVGLazyEventListener.cpp: 52644 * ksvg2/events/JSSVGLazyEventListener.h: 52645 * ksvg2/events/SVGZoomEvent.cpp: 52646 * ksvg2/events/SVGZoomEvent.h: 52647 * ksvg2/misc/KCanvasRenderingStyle.cpp: 52648 * ksvg2/misc/KCanvasRenderingStyle.h: 52649 * ksvg2/misc/PointerEventsHitRules.cpp: 52650 * ksvg2/misc/PointerEventsHitRules.h: 52651 * ksvg2/misc/SVGDocumentExtensions.cpp: 52652 * ksvg2/misc/SVGDocumentExtensions.h: 52653 * ksvg2/misc/SVGImageLoader.cpp: 52654 * ksvg2/misc/SVGImageLoader.h: 52655 * ksvg2/misc/SVGTimer.cpp: 52656 * ksvg2/misc/SVGTimer.h: 52657 * ksvg2/misc/TimeScheduler.cpp: 52658 * ksvg2/misc/TimeScheduler.h: 52659 * ksvg2/scripts/make_names.pl: 52660 * ksvg2/svg/ColorDistance.cpp: 52661 * ksvg2/svg/ColorDistance.h: 52662 * ksvg2/svg/GradientAttributes.h: 52663 * ksvg2/svg/LinearGradientAttributes.h: 52664 * ksvg2/svg/PatternAttributes.h: 52665 * ksvg2/svg/RadialGradientAttributes.h: 52666 * ksvg2/svg/SVGAElement.cpp: 52667 * ksvg2/svg/SVGAElement.h: 52668 * ksvg2/svg/SVGAngle.cpp: 52669 * ksvg2/svg/SVGAngle.h: 52670 * ksvg2/svg/SVGAnimateColorElement.cpp: 52671 * ksvg2/svg/SVGAnimateColorElement.h: 52672 * ksvg2/svg/SVGAnimateElement.cpp: 52673 * ksvg2/svg/SVGAnimateElement.h: 52674 * ksvg2/svg/SVGAnimateElement.idl: 52675 * ksvg2/svg/SVGAnimateMotionElement.cpp: 52676 * ksvg2/svg/SVGAnimateMotionElement.h: 52677 * ksvg2/svg/SVGAnimateTransformElement.cpp: 52678 * ksvg2/svg/SVGAnimateTransformElement.h: 52679 * ksvg2/svg/SVGAnimateTransformElement.idl: 52680 * ksvg2/svg/SVGAnimatedPathData.cpp: 52681 * ksvg2/svg/SVGAnimatedPathData.h: 52682 * ksvg2/svg/SVGAnimatedPoints.cpp: 52683 * ksvg2/svg/SVGAnimatedPoints.h: 52684 * ksvg2/svg/SVGAnimatedTemplate.h: 52685 * ksvg2/svg/SVGAnimationElement.cpp: 52686 * ksvg2/svg/SVGAnimationElement.h: 52687 * ksvg2/svg/SVGCircleElement.cpp: 52688 * ksvg2/svg/SVGCircleElement.h: 52689 * ksvg2/svg/SVGClipPathElement.cpp: 52690 * ksvg2/svg/SVGClipPathElement.h: 52691 * ksvg2/svg/SVGColor.cpp: 52692 * ksvg2/svg/SVGColor.h: 52693 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: 52694 * ksvg2/svg/SVGComponentTransferFunctionElement.h: 52695 * ksvg2/svg/SVGCursorElement.cpp: 52696 * ksvg2/svg/SVGCursorElement.h: 52697 * ksvg2/svg/SVGDefsElement.cpp: 52698 * ksvg2/svg/SVGDefsElement.h: 52699 * ksvg2/svg/SVGDescElement.cpp: 52700 * ksvg2/svg/SVGDescElement.h: 52701 * ksvg2/svg/SVGDocument.cpp: 52702 * ksvg2/svg/SVGDocument.h: 52703 * ksvg2/svg/SVGElement.cpp: 52704 (WebCore::SVGElement::dispatchEvent): 52705 * ksvg2/svg/SVGElement.h: 52706 * ksvg2/svg/SVGElementInstance.cpp: 52707 * ksvg2/svg/SVGElementInstance.h: 52708 * ksvg2/svg/SVGElementInstance.idl: 52709 * ksvg2/svg/SVGElementInstanceList.cpp: 52710 * ksvg2/svg/SVGElementInstanceList.h: 52711 * ksvg2/svg/SVGElementInstanceList.idl: 52712 * ksvg2/svg/SVGEllipseElement.cpp: 52713 * ksvg2/svg/SVGEllipseElement.h: 52714 * ksvg2/svg/SVGException.h: 52715 * ksvg2/svg/SVGExternalResourcesRequired.cpp: 52716 * ksvg2/svg/SVGExternalResourcesRequired.h: 52717 * ksvg2/svg/SVGFEBlendElement.cpp: 52718 * ksvg2/svg/SVGFEBlendElement.h: 52719 * ksvg2/svg/SVGFEBlendElement.idl: 52720 * ksvg2/svg/SVGFEColorMatrixElement.cpp: 52721 * ksvg2/svg/SVGFEColorMatrixElement.h: 52722 * ksvg2/svg/SVGFEColorMatrixElement.idl: 52723 * ksvg2/svg/SVGFEComponentTransferElement.cpp: 52724 * ksvg2/svg/SVGFEComponentTransferElement.h: 52725 * ksvg2/svg/SVGFEComponentTransferElement.idl: 52726 * ksvg2/svg/SVGFECompositeElement.cpp: 52727 * ksvg2/svg/SVGFECompositeElement.h: 52728 * ksvg2/svg/SVGFECompositeElement.idl: 52729 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: 52730 * ksvg2/svg/SVGFEDiffuseLightingElement.h: 52731 * ksvg2/svg/SVGFEDiffuseLightingElement.idl: 52732 * ksvg2/svg/SVGFEDisplacementMapElement.cpp: 52733 * ksvg2/svg/SVGFEDisplacementMapElement.h: 52734 * ksvg2/svg/SVGFEDisplacementMapElement.idl: 52735 * ksvg2/svg/SVGFEDistantLightElement.cpp: 52736 * ksvg2/svg/SVGFEDistantLightElement.h: 52737 * ksvg2/svg/SVGFEDistantLightElement.idl: 52738 * ksvg2/svg/SVGFEFloodElement.cpp: 52739 * ksvg2/svg/SVGFEFloodElement.h: 52740 * ksvg2/svg/SVGFEFloodElement.idl: 52741 * ksvg2/svg/SVGFEFuncAElement.cpp: 52742 * ksvg2/svg/SVGFEFuncAElement.h: 52743 * ksvg2/svg/SVGFEFuncAElement.idl: 52744 * ksvg2/svg/SVGFEFuncBElement.cpp: 52745 * ksvg2/svg/SVGFEFuncBElement.h: 52746 * ksvg2/svg/SVGFEFuncBElement.idl: 52747 * ksvg2/svg/SVGFEFuncGElement.cpp: 52748 * ksvg2/svg/SVGFEFuncGElement.h: 52749 * ksvg2/svg/SVGFEFuncGElement.idl: 52750 * ksvg2/svg/SVGFEFuncRElement.cpp: 52751 * ksvg2/svg/SVGFEFuncRElement.h: 52752 * ksvg2/svg/SVGFEFuncRElement.idl: 52753 * ksvg2/svg/SVGFEGaussianBlurElement.cpp: 52754 * ksvg2/svg/SVGFEGaussianBlurElement.h: 52755 * ksvg2/svg/SVGFEGaussianBlurElement.idl: 52756 * ksvg2/svg/SVGFEImageElement.cpp: 52757 * ksvg2/svg/SVGFEImageElement.h: 52758 * ksvg2/svg/SVGFEImageElement.idl: 52759 * ksvg2/svg/SVGFELightElement.cpp: 52760 * ksvg2/svg/SVGFELightElement.h: 52761 * ksvg2/svg/SVGFEMergeElement.cpp: 52762 * ksvg2/svg/SVGFEMergeElement.h: 52763 * ksvg2/svg/SVGFEMergeElement.idl: 52764 * ksvg2/svg/SVGFEMergeNodeElement.cpp: 52765 * ksvg2/svg/SVGFEMergeNodeElement.h: 52766 * ksvg2/svg/SVGFEMergeNodeElement.idl: 52767 * ksvg2/svg/SVGFEOffsetElement.cpp: 52768 * ksvg2/svg/SVGFEOffsetElement.h: 52769 * ksvg2/svg/SVGFEOffsetElement.idl: 52770 * ksvg2/svg/SVGFEPointLightElement.cpp: 52771 * ksvg2/svg/SVGFEPointLightElement.h: 52772 * ksvg2/svg/SVGFEPointLightElement.idl: 52773 * ksvg2/svg/SVGFESpecularLightingElement.cpp: 52774 * ksvg2/svg/SVGFESpecularLightingElement.h: 52775 * ksvg2/svg/SVGFESpecularLightingElement.idl: 52776 * ksvg2/svg/SVGFESpotLightElement.cpp: 52777 * ksvg2/svg/SVGFESpotLightElement.h: 52778 * ksvg2/svg/SVGFESpotLightElement.idl: 52779 * ksvg2/svg/SVGFETileElement.cpp: 52780 * ksvg2/svg/SVGFETileElement.h: 52781 * ksvg2/svg/SVGFETileElement.idl: 52782 * ksvg2/svg/SVGFETurbulenceElement.cpp: 52783 * ksvg2/svg/SVGFETurbulenceElement.h: 52784 * ksvg2/svg/SVGFETurbulenceElement.idl: 52785 * ksvg2/svg/SVGFilterElement.cpp: 52786 * ksvg2/svg/SVGFilterElement.h: 52787 * ksvg2/svg/SVGFilterElement.idl: 52788 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: 52789 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: 52790 * ksvg2/svg/SVGFitToViewBox.cpp: 52791 * ksvg2/svg/SVGFitToViewBox.h: 52792 * ksvg2/svg/SVGForeignObjectElement.cpp: 52793 * ksvg2/svg/SVGForeignObjectElement.h: 52794 * ksvg2/svg/SVGForeignObjectElement.idl: 52795 * ksvg2/svg/SVGGElement.cpp: 52796 * ksvg2/svg/SVGGElement.h: 52797 * ksvg2/svg/SVGGradientElement.cpp: 52798 * ksvg2/svg/SVGGradientElement.h: 52799 * ksvg2/svg/SVGImageElement.cpp: 52800 * ksvg2/svg/SVGImageElement.h: 52801 * ksvg2/svg/SVGLangSpace.cpp: 52802 * ksvg2/svg/SVGLangSpace.h: 52803 * ksvg2/svg/SVGLength.cpp: 52804 * ksvg2/svg/SVGLength.h: 52805 * ksvg2/svg/SVGLengthList.cpp: 52806 * ksvg2/svg/SVGLengthList.h: 52807 * ksvg2/svg/SVGLineElement.cpp: 52808 * ksvg2/svg/SVGLineElement.h: 52809 * ksvg2/svg/SVGLinearGradientElement.cpp: 52810 * ksvg2/svg/SVGLinearGradientElement.h: 52811 * ksvg2/svg/SVGList.h: 52812 * ksvg2/svg/SVGListTraits.h: 52813 * ksvg2/svg/SVGLocatable.cpp: 52814 (WebCore::SVGLocatable::nearestViewportElement): 52815 (WebCore::SVGLocatable::farthestViewportElement): 52816 * ksvg2/svg/SVGLocatable.h: 52817 * ksvg2/svg/SVGMPathElement.cpp: 52818 * ksvg2/svg/SVGMPathElement.h: 52819 * ksvg2/svg/SVGMarkerElement.cpp: 52820 * ksvg2/svg/SVGMarkerElement.h: 52821 * ksvg2/svg/SVGMaskElement.cpp: 52822 * ksvg2/svg/SVGMaskElement.h: 52823 * ksvg2/svg/SVGMetadataElement.cpp: 52824 * ksvg2/svg/SVGMetadataElement.h: 52825 * ksvg2/svg/SVGNumberList.cpp: 52826 * ksvg2/svg/SVGNumberList.h: 52827 * ksvg2/svg/SVGPaint.cpp: 52828 * ksvg2/svg/SVGPaint.h: 52829 * ksvg2/svg/SVGParserUtilities.cpp: 52830 * ksvg2/svg/SVGParserUtilities.h: 52831 * ksvg2/svg/SVGPathElement.cpp: 52832 * ksvg2/svg/SVGPathElement.h: 52833 * ksvg2/svg/SVGPathSeg.h: 52834 * ksvg2/svg/SVGPathSegArc.cpp: 52835 * ksvg2/svg/SVGPathSegArc.h: 52836 * ksvg2/svg/SVGPathSegClosePath.cpp: 52837 * ksvg2/svg/SVGPathSegClosePath.h: 52838 * ksvg2/svg/SVGPathSegCurvetoCubic.cpp: 52839 * ksvg2/svg/SVGPathSegCurvetoCubic.h: 52840 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: 52841 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: 52842 * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: 52843 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: 52844 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: 52845 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: 52846 * ksvg2/svg/SVGPathSegLineto.cpp: 52847 * ksvg2/svg/SVGPathSegLineto.h: 52848 * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: 52849 * ksvg2/svg/SVGPathSegLinetoHorizontal.h: 52850 * ksvg2/svg/SVGPathSegLinetoVertical.cpp: 52851 * ksvg2/svg/SVGPathSegLinetoVertical.h: 52852 * ksvg2/svg/SVGPathSegList.cpp: 52853 * ksvg2/svg/SVGPathSegList.h: 52854 * ksvg2/svg/SVGPathSegMoveto.cpp: 52855 * ksvg2/svg/SVGPathSegMoveto.h: 52856 * ksvg2/svg/SVGPatternElement.cpp: 52857 * ksvg2/svg/SVGPatternElement.h: 52858 * ksvg2/svg/SVGPointList.cpp: 52859 * ksvg2/svg/SVGPointList.h: 52860 * ksvg2/svg/SVGPolyElement.cpp: 52861 * ksvg2/svg/SVGPolyElement.h: 52862 * ksvg2/svg/SVGPolygonElement.cpp: 52863 * ksvg2/svg/SVGPolygonElement.h: 52864 * ksvg2/svg/SVGPolylineElement.cpp: 52865 * ksvg2/svg/SVGPolylineElement.h: 52866 * ksvg2/svg/SVGPreserveAspectRatio.cpp: 52867 * ksvg2/svg/SVGPreserveAspectRatio.h: 52868 * ksvg2/svg/SVGRadialGradientElement.cpp: 52869 * ksvg2/svg/SVGRadialGradientElement.h: 52870 * ksvg2/svg/SVGRectElement.cpp: 52871 * ksvg2/svg/SVGRectElement.h: 52872 * ksvg2/svg/SVGRenderingIntent.h: 52873 * ksvg2/svg/SVGSVGElement.cpp: 52874 * ksvg2/svg/SVGSVGElement.h: 52875 * ksvg2/svg/SVGScriptElement.cpp: 52876 * ksvg2/svg/SVGScriptElement.h: 52877 * ksvg2/svg/SVGSetElement.cpp: 52878 * ksvg2/svg/SVGSetElement.h: 52879 * ksvg2/svg/SVGStopElement.cpp: 52880 * ksvg2/svg/SVGStopElement.h: 52881 * ksvg2/svg/SVGStringList.cpp: 52882 * ksvg2/svg/SVGStringList.h: 52883 * ksvg2/svg/SVGStylable.cpp: 52884 * ksvg2/svg/SVGStylable.h: 52885 * ksvg2/svg/SVGStyleElement.cpp: 52886 * ksvg2/svg/SVGStyleElement.h: 52887 * ksvg2/svg/SVGStyledElement.cpp: 52888 (WebCore::SVGStyledElement::notifyAttributeChange): 52889 * ksvg2/svg/SVGStyledElement.h: 52890 * ksvg2/svg/SVGStyledLocatableElement.cpp: 52891 * ksvg2/svg/SVGStyledLocatableElement.h: 52892 * ksvg2/svg/SVGStyledTransformableElement.cpp: 52893 * ksvg2/svg/SVGStyledTransformableElement.h: 52894 * ksvg2/svg/SVGSwitchElement.cpp: 52895 * ksvg2/svg/SVGSwitchElement.h: 52896 * ksvg2/svg/SVGSymbolElement.cpp: 52897 * ksvg2/svg/SVGSymbolElement.h: 52898 * ksvg2/svg/SVGTRefElement.cpp: 52899 * ksvg2/svg/SVGTRefElement.h: 52900 * ksvg2/svg/SVGTSpanElement.cpp: 52901 * ksvg2/svg/SVGTSpanElement.h: 52902 * ksvg2/svg/SVGTests.cpp: 52903 * ksvg2/svg/SVGTests.h: 52904 * ksvg2/svg/SVGTextContentElement.cpp: 52905 * ksvg2/svg/SVGTextContentElement.h: 52906 * ksvg2/svg/SVGTextElement.cpp: 52907 * ksvg2/svg/SVGTextElement.h: 52908 * ksvg2/svg/SVGTextPositioningElement.cpp: 52909 * ksvg2/svg/SVGTextPositioningElement.h: 52910 * ksvg2/svg/SVGTitleElement.cpp: 52911 * ksvg2/svg/SVGTitleElement.h: 52912 * ksvg2/svg/SVGTransform.cpp: 52913 * ksvg2/svg/SVGTransform.h: 52914 * ksvg2/svg/SVGTransformDistance.cpp: 52915 * ksvg2/svg/SVGTransformDistance.h: 52916 * ksvg2/svg/SVGTransformList.cpp: 52917 * ksvg2/svg/SVGTransformList.h: 52918 * ksvg2/svg/SVGTransformable.cpp: 52919 * ksvg2/svg/SVGTransformable.h: 52920 * ksvg2/svg/SVGURIReference.cpp: 52921 * ksvg2/svg/SVGURIReference.h: 52922 * ksvg2/svg/SVGUnitTypes.h: 52923 * ksvg2/svg/SVGUseElement.cpp: 52924 * ksvg2/svg/SVGUseElement.h: 52925 * ksvg2/svg/SVGUseElement.idl: 52926 * ksvg2/svg/SVGViewElement.cpp: 52927 * ksvg2/svg/SVGViewElement.h: 52928 * ksvg2/svg/SVGZoomAndPan.cpp: 52929 * ksvg2/svg/SVGZoomAndPan.h: 52930 * ksvg2/svg/svgtags.in: 52931 * loader/Cache.cpp: 52932 (WebCore::createResource): 52933 (WebCore::Cache::getStatistics): 52934 * loader/Cache.h: 52935 * loader/CachedImage.cpp: 52936 (WebCore::CachedImage::createImage): 52937 * loader/CachedResource.h: 52938 (WebCore::CachedResource::): 52939 * loader/CachedResourceClient.h: 52940 * loader/CachedXBLDocument.cpp: 52941 * loader/CachedXBLDocument.h: 52942 * loader/CachedXSLStyleSheet.cpp: 52943 * loader/CachedXSLStyleSheet.h: 52944 * loader/DocLoader.cpp: 52945 * loader/DocLoader.h: 52946 * page/DOMWindow.idl: 52947 * page/EventHandler.cpp: 52948 (WebCore::EventHandler::handleMouseMoveEvent): 52949 (WebCore::selectCursor): 52950 * page/Frame.cpp: 52951 (WebCore::Frame::Frame): 52952 * page/PageState.cpp: 52953 (WebCore::PageState::PageState): 52954 (WebCore::PageState::restore): 52955 * platform/MimeTypeRegistry.cpp: 52956 (WebCore::initialiseSupportedNonImageMimeTypes): 52957 * platform/graphics/FloatPoint3D.cpp: 52958 * platform/graphics/FloatPoint3D.h: 52959 * platform/graphics/ImageBuffer.cpp: 52960 (WebCore::ImageBuffer::renderSubtreeToImage): 52961 * platform/graphics/svg/SVGImage.cpp: 52962 * platform/graphics/svg/SVGImage.h: 52963 * platform/graphics/svg/SVGImageEmptyClients.h: 52964 * platform/graphics/svg/SVGPaintServer.cpp: 52965 * platform/graphics/svg/SVGPaintServer.h: 52966 * platform/graphics/svg/SVGPaintServerGradient.cpp: 52967 * platform/graphics/svg/SVGPaintServerGradient.h: 52968 * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: 52969 * platform/graphics/svg/SVGPaintServerLinearGradient.h: 52970 * platform/graphics/svg/SVGPaintServerPattern.cpp: 52971 * platform/graphics/svg/SVGPaintServerPattern.h: 52972 * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: 52973 * platform/graphics/svg/SVGPaintServerRadialGradient.h: 52974 * platform/graphics/svg/SVGPaintServerSolid.cpp: 52975 * platform/graphics/svg/SVGPaintServerSolid.h: 52976 * platform/graphics/svg/SVGResource.cpp: 52977 * platform/graphics/svg/SVGResource.h: 52978 * platform/graphics/svg/SVGResourceClipper.cpp: 52979 * platform/graphics/svg/SVGResourceClipper.h: 52980 * platform/graphics/svg/SVGResourceFilter.cpp: 52981 * platform/graphics/svg/SVGResourceFilter.h: 52982 * platform/graphics/svg/SVGResourceMarker.cpp: 52983 * platform/graphics/svg/SVGResourceMarker.h: 52984 * platform/graphics/svg/SVGResourceMasker.cpp: 52985 * platform/graphics/svg/SVGResourceMasker.h: 52986 * platform/graphics/svg/cg/CgSupport.cpp: 52987 * platform/graphics/svg/cg/CgSupport.h: 52988 * platform/graphics/svg/cg/RenderPathCg.cpp: 52989 * platform/graphics/svg/cg/SVGPaintServerCg.cpp: 52990 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 52991 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: 52992 * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: 52993 * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: 52994 * platform/graphics/svg/cg/SVGResourceFilterCg.mm: 52995 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: 52996 * platform/graphics/svg/filters/SVGDistantLightSource.h: 52997 * platform/graphics/svg/filters/SVGFEBlend.cpp: 52998 * platform/graphics/svg/filters/SVGFEBlend.h: 52999 * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: 53000 * platform/graphics/svg/filters/SVGFEColorMatrix.h: 53001 * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: 53002 * platform/graphics/svg/filters/SVGFEComponentTransfer.h: 53003 * platform/graphics/svg/filters/SVGFEComposite.cpp: 53004 * platform/graphics/svg/filters/SVGFEComposite.h: 53005 * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: 53006 * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: 53007 * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: 53008 * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: 53009 * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: 53010 * platform/graphics/svg/filters/SVGFEDisplacementMap.h: 53011 * platform/graphics/svg/filters/SVGFEFlood.cpp: 53012 * platform/graphics/svg/filters/SVGFEFlood.h: 53013 * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: 53014 * platform/graphics/svg/filters/SVGFEGaussianBlur.h: 53015 * platform/graphics/svg/filters/SVGFEImage.cpp: 53016 * platform/graphics/svg/filters/SVGFEImage.h: 53017 * platform/graphics/svg/filters/SVGFEMerge.cpp: 53018 * platform/graphics/svg/filters/SVGFEMerge.h: 53019 * platform/graphics/svg/filters/SVGFEMorphology.cpp: 53020 * platform/graphics/svg/filters/SVGFEMorphology.h: 53021 * platform/graphics/svg/filters/SVGFEOffset.cpp: 53022 * platform/graphics/svg/filters/SVGFEOffset.h: 53023 * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: 53024 * platform/graphics/svg/filters/SVGFESpecularLighting.h: 53025 * platform/graphics/svg/filters/SVGFETile.h: 53026 * platform/graphics/svg/filters/SVGFETurbulence.cpp: 53027 * platform/graphics/svg/filters/SVGFETurbulence.h: 53028 * platform/graphics/svg/filters/SVGFilterEffect.cpp: 53029 * platform/graphics/svg/filters/SVGFilterEffect.h: 53030 * platform/graphics/svg/filters/SVGLightSource.cpp: 53031 * platform/graphics/svg/filters/SVGLightSource.h: 53032 * platform/graphics/svg/filters/SVGPointLightSource.h: 53033 * platform/graphics/svg/filters/SVGSpotLightSource.h: 53034 * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: 53035 * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: 53036 * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: 53037 * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: 53038 * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: 53039 * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: 53040 * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: 53041 * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: 53042 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: 53043 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: 53044 * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: 53045 * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: 53046 * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: 53047 * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: 53048 * platform/graphics/svg/filters/cg/SVGFETileCg.mm: 53049 * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: 53050 * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: 53051 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: 53052 * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: 53053 * platform/graphics/svg/qt/SVGPaintServerQt.cpp: 53054 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: 53055 * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: 53056 * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: 53057 * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: 53058 * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: 53059 * rendering/HitTestResult.cpp: 53060 (WebCore::HitTestResult::absoluteImageURL): 53061 (WebCore::HitTestResult::absoluteLinkURL): 53062 (WebCore::HitTestResult::isLiveLink): 53063 * rendering/RenderForeignObject.cpp: 53064 * rendering/RenderForeignObject.h: 53065 * rendering/RenderLayer.cpp: 53066 (WebCore::RenderLayer::isTransparent): 53067 * rendering/RenderObject.cpp: 53068 (WebCore::RenderObject::containingBlock): 53069 * rendering/RenderObject.h: 53070 * rendering/RenderPath.cpp: 53071 * rendering/RenderPath.h: 53072 * rendering/RenderSVGBlock.cpp: 53073 * rendering/RenderSVGBlock.h: 53074 * rendering/RenderSVGContainer.cpp: 53075 * rendering/RenderSVGContainer.h: 53076 * rendering/RenderSVGGradientStop.cpp: 53077 * rendering/RenderSVGGradientStop.h: 53078 * rendering/RenderSVGHiddenContainer.cpp: 53079 * rendering/RenderSVGHiddenContainer.h: 53080 * rendering/RenderSVGImage.cpp: 53081 * rendering/RenderSVGImage.h: 53082 * rendering/RenderSVGInline.cpp: 53083 * rendering/RenderSVGInline.h: 53084 * rendering/RenderSVGInlineText.cpp: 53085 * rendering/RenderSVGInlineText.h: 53086 * rendering/RenderSVGTSpan.cpp: 53087 * rendering/RenderSVGTSpan.h: 53088 * rendering/RenderSVGText.cpp: 53089 * rendering/RenderSVGText.h: 53090 * rendering/RenderStyle.cpp: 53091 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 53092 (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData): 53093 (WebCore::StyleRareNonInheritedData::operator==): 53094 (WebCore::RenderStyle::RenderStyle): 53095 (WebCore::RenderStyle::inheritFrom): 53096 (WebCore::RenderStyle::operator==): 53097 (WebCore::RenderStyle::inheritedNotEqual): 53098 (WebCore::RenderStyle::diff): 53099 * rendering/RenderStyle.h: 53100 * rendering/RenderText.cpp: 53101 (WebCore::RenderText::setStyle): 53102 (WebCore::RenderText::setTextInternal): 53103 * rendering/RenderTreeAsText.cpp: 53104 (WebCore::write): 53105 (WebCore::externalRepresentation): 53106 * rendering/SVGInlineFlowBox.cpp: 53107 * rendering/SVGInlineFlowBox.h: 53108 * rendering/SVGRenderTreeAsText.cpp: 53109 * rendering/SVGRenderTreeAsText.h: 53110 * rendering/SVGRootInlineBox.cpp: 53111 * rendering/SVGRootInlineBox.h: 53112 * rendering/bidi.cpp: 53113 (WebCore::shouldPreserveNewline): 53114 (WebCore::RenderBlock::findNextLineBreak): 53115 * webcore-base.bkl: 53116 * xml/NativeXPathNSResolver.cpp: 53117 * xml/NativeXPathNSResolver.h: 53118 * xml/XPathEvaluator.cpp: 53119 * xml/XPathEvaluator.h: 53120 * xml/XPathExpression.cpp: 53121 * xml/XPathExpression.h: 53122 * xml/XPathExpressionNode.cpp: 53123 * xml/XPathExpressionNode.h: 53124 * xml/XPathFunctions.cpp: 53125 * xml/XPathFunctions.h: 53126 * xml/XPathGrammar.y: 53127 * xml/XPathNSResolver.cpp: 53128 * xml/XPathNSResolver.h: 53129 * xml/XPathNamespace.cpp: 53130 * xml/XPathNamespace.h: 53131 * xml/XPathParser.cpp: 53132 * xml/XPathParser.h: 53133 * xml/XPathPath.cpp: 53134 * xml/XPathPath.h: 53135 * xml/XPathPredicate.cpp: 53136 * xml/XPathPredicate.h: 53137 * xml/XPathResult.cpp: 53138 * xml/XPathResult.h: 53139 * xml/XPathStep.cpp: 53140 * xml/XPathStep.h: 53141 * xml/XPathUtil.cpp: 53142 * xml/XPathUtil.h: 53143 * xml/XPathValue.cpp: 53144 * xml/XPathValue.h: 53145 * xml/XPathVariableReference.cpp: 53146 * xml/XPathVariableReference.h: 53147 * xml/XSLImportRule.cpp: 53148 * xml/XSLImportRule.h: 53149 * xml/XSLStyleSheet.cpp: 53150 * xml/XSLStyleSheet.h: 53151 * xml/XSLTProcessor.cpp: 53152 * xml/XSLTProcessor.h: 53153 53154 2007-02-25 Mitz Pettel <mitz (a] webkit.org> 53155 53156 Reviewed by David Hyatt. 53157 53158 - fix http://bugs.webkit.org/show_bug.cgi?id=12886 53159 Crash with Scriptalicious javascript library 53160 53161 Test: fast/dynamic/float-withdrawal.html 53162 53163 * rendering/RenderBlock.cpp: 53164 (WebCore::RenderBlock::layoutBlockChildren): Detect when a child block had 53165 intruding floats in a previous layout, and in that case force it to relayout. 53166 53167 2007-02-25 David Hyatt <hyatt (a] apple.com> 53168 53169 Revert my change to the default fill color. Just set the color to transparent explicitly when 53170 drawing textarea resizer frames. 53171 53172 * platform/graphics/GraphicsContext.cpp: 53173 (WebCore::GraphicsContextState::GraphicsContextState): 53174 * rendering/RenderLayer.cpp: 53175 (WebCore::RenderLayer::paintOverflowControls): 53176 53177 2007-02-25 Sam Weinig <sam (a] webkit.org> 53178 53179 Update forgotten files. 53180 53181 * rendering/RenderLayer.cpp: 53182 (WebCore::RenderLayer::updateLayerPosition): 53183 53184 2007-02-25 David Hyatt <hyatt (a] apple.com> 53185 53186 Fix for regression caused by changing the containing block of positioned elements with no positioned ancestor 53187 to be the initial containing block (represented in our tree by the RenderView). Rework RenderView's layout 53188 to have very few special cases. Now it will just relayout its children when the width/height of the 53189 view actually changes. Positioned elements no longer get a special additional layout, since width/height 53190 adjustments are caught by the base class already anyway. 53191 53192 Reviewed by mjs, darin 53193 53194 * rendering/RenderBlock.cpp: 53195 (WebCore::RenderBlock::layoutBlock): 53196 * rendering/RenderFlexibleBox.cpp: 53197 (WebCore::RenderFlexibleBox::layoutBlock): 53198 (WebCore::RenderFlexibleBox::layoutVerticalBox): 53199 * rendering/RenderView.cpp: 53200 (WebCore::RenderView::RenderView): 53201 (WebCore::RenderView::layout): 53202 * rendering/RenderView.h: 53203 53204 2007-02-25 Maciej Stachowiak <mjs (a] apple.com> 53205 53206 Not reviewed, build fix. 53207 53208 - fix build breakage 53209 53210 * platform/gdk/ScrollViewGdk.cpp: 53211 (WebCore::ScrollView::fullyClippedContentRect): 53212 * platform/qt/ScrollViewQt.cpp: 53213 (WebCore::ScrollView::fullyClippedContentRect): 53214 53215 2007-02-24 Maciej Stachowiak <mjs (a] apple.com> 53216 53217 Reviewed by Adam. 53218 53219 - fixed layout test failure in fast/overflow/scrollRevealButton 53220 53221 I added a new ScrollView method, fullyClippedContentRect, that vies the content rect 53222 as clipped by all ancestor scroll views, not just this one. Currently it only works 53223 correctly on mac however. visibleContentRect, only accounting for the clipping from 53224 this particular scroll view, is sufficient for most purposes. 53225 53226 * page/Frame.cpp: 53227 (WebCore::Frame::visibleSelectionRect): 53228 (WebCore::Frame::setIsActive): 53229 (WebCore::Frame::markAllMatchesForText): 53230 * platform/ScrollView.h: 53231 * platform/gdk/ScrollViewGdk.cpp: 53232 (WebCore::ScrolView::fullyClippedContentRect): 53233 * platform/mac/ScrollViewMac.mm: 53234 (WebCore::ScrollView::fullyClippedContentRect): 53235 * platform/qt/ScrollViewQt.cpp: 53236 (WebCore::ScrolView::fullyClippedContentRect): 53237 * rendering/RenderLayer.cpp: 53238 (WebCore::RenderLayer::scrollRectToVisible): 53239 53240 2007-02-24 Adam Roben <aroben (a] apple.com> 53241 53242 Reviewed by Steve. 53243 53244 "Look Up in Dictionary" context menu item should be Mac-only for now, 53245 since it's only implemented on that platform (<rdar://problem/5021468>) 53246 53247 * platform/ContextMenu.cpp: 53248 (WebCore::ContextMenu::populate): Wrap all instances of the dictionary 53249 menu item in #if PLATFORM(MAC). 53250 53251 2007-02-24 Geoffrey Garen <ggaren (a] apple.com> 53252 53253 Reviewed by Darin Adler. 53254 53255 Fixed <rdar://problem/4987649> leaks in BidiRun::operator new seen while 53256 running WebKit unit tests 53257 53258 In bidi.cpp, some functions allocate BidiRuns and put them in a global data 53259 structure, while others uses the BidiRuns in the global data structure. 53260 The caller is responsible for knowing which functions may allocate runs 53261 and which may use them, and calling deleteBidiRuns() at the appropriate time. 53262 53263 The fix is to add some calls to deleteBidiRuns() where they were missing. 53264 53265 I also added a BidiRun counter because these two leaks were introduced by 53266 our two bidi.cpp experts, so the odds that leaks will creep in again 53267 in the future seem pretty high. 53268 53269 * rendering/bidi.cpp: 53270 (WebCore::RenderBlock::bidiReorderCharacters): Added missing call to 53271 deleteBidiRuns(). 53272 (WebCore::BidiRunCounter::~BidiRunCounter): 53273 (WebCore::BidiRun::operator delete): 53274 (WebCore::RenderBlock::layoutInlineChildren): Added missing call to 53275 deleteBidiRuns(). Moved call to deleteBidiRuns() to same scope as call to 53276 bidiReorderLine(), to emphasize that they go together like new/delete. 53277 In theory, the old code was just as good, but I didn't want to rely on 53278 theory. 53279 53280 2007-02-24 David Harrison <harrison (a] apple.com> 53281 53282 Reviewed by Kevin. 53283 53284 <rdar://problem/4961431> Image with empty string alt tag should be ignored 53285 53286 * bridge/mac/WebCoreAXObject.mm: 53287 (-[WebCoreAXObject accessibilityIsIgnored]): 53288 Ignore img element that has an alt attribute, but that string is empty. 53289 53290 2007-02-24 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 53291 53292 Reviewed by Adam Roben. 53293 53294 Gdk improvements. 53295 53296 * platform/gdk/FrameGdk.cpp: only scroll on keydown, not both keydown and keyup. 53297 (WebCore::FrameGdk::keyPress): 53298 (WebCore::FrameGdk::handleGdkEvent): 53299 (WebCore::Frame::print): 53300 (WebCore::Frame::issueTransposeCommand): 53301 (WebCore::Frame::respondToChangedSelection): 53302 (WebCore::Frame::cleanupPlatformScriptObjects): 53303 (WebCore::Frame::dragImageForSelection): 53304 * platform/network/gdk/ResourceHandleManager.cpp: don't free memory that 53305 doesn't belong to us. 53306 (WebCore::ResourceHandleManager::downloadTimerCallback): 53307 53308 2007-02-23 Kevin Decker <kdecker (a] apple.com> 53309 53310 Reviewed by Anders. 53311 53312 Fixed: <rdar://problem/4971226> REGRESSION: Replying to closed HTML mail message does not quote original body (12503) 53313 53314 There were two problems here: 53315 53316 * page/mac/WebCoreFrameBridge.mm: 53317 (+[WebCoreFrameBridge stringWithData:textEncodingName:]): The old code said "if there is no text encoding name than 53318 assume WindowsLatin1 (iso-8859-1) and try to decode that". That's not sufficient because it doesn't handle the fallback 53319 case for unknown encodings. This method will now attempt to decode using WindowsLatin1 for unknown encoding types. 53320 * platform/mac/mac-encodings.txt: Added the missing "macroman" encoding type. 53321 53322 2007-02-23 Mitz Pettel <mitz (a] webkit.org> 53323 53324 Reviewed by Maciej. 53325 53326 - fix http://bugs.webkit.org/show_bug.cgi?id=12856 53327 REGRESSION (r13685): Canceling the suggestion popup does not revert the change 53328 53329 * editing/ReplaceSelectionCommand.cpp: 53330 (WebCore::ReplaceSelectionCommand::doApply): If the fragment to be inserted 53331 is empty, first delete the selection, and only then bail out. 53332 53333 2007-02-23 Anders Carlsson <acarlsson (a] apple.com> 53334 53335 Reviewed by Adam. 53336 53337 <rdar://problem/5001923> 53338 REGRESSION: Crash when navigating forward from an error page in WebFrameLoaderClient::dispatchDidReceiveContentLength 53339 53340 Fix an error that was introduced in revision r18541. We should check if the provisional document loader 53341 has an unreachable URL, not the actual document loader. 53342 53343 * loader/FrameLoader.cpp: 53344 (WebCore::FrameLoader::updateHistoryForCommit): 53345 53346 2007-02-23 Mitz Pettel <mitz (a] webkit.org> 53347 53348 Reviewed by Darin. 53349 53350 - fix http://bugs.webkit.org/show_bug.cgi?id=12823 53351 REGRESSION(r16968-16977): unable to prevent selection by cancelling "selectstart" event 53352 53353 Test: fast/events/selectstart-during-autoscroll.html 53354 53355 * rendering/RenderLayer.cpp: 53356 (WebCore::RenderLayer::autoscroll): Invoke the renderer's shouldSelect() -- 53357 which dispatches the selection DOM event and gives it a chance to cancel 53358 the selection -- before updating the selection during autoscroll. 53359 53360 2007-02-23 Oliver Hunt <oliver (a] apple.com> 53361 53362 Reviewed by Adam. 53363 53364 Fix for http://bugs.webkit.org/show_bug.cgi?id=12870 53365 53366 It turns out short circuiting DragData::containsURL() was bad 53367 53368 * manual-tests/directory-drop-on-view.html: Added. 53369 * platform/mac/DragDataMac.mm: 53370 (WebCore::DragData::containsURL): 53371 53372 2007-02-23 Maciej Stachowiak <mjs (a] apple.com> 53373 53374 Reviewed by Mitz. 53375 53376 - 12.5% speedup on BenchJS test 6 53377 Partial fix for http://bugs.webkit.org/show_bug.cgi?id=12866 53378 53379 It turns out that calling documentVisibleRect on an NSScrollView is pretty expensive, 53380 and calling visibleRect even more so. Take measures to call them less often. 53381 53382 * platform/mac/ScrollViewMac.mm: 53383 (WebCore::ScrollView::visibleContentRect): Use documentVisibleRect when possible. 53384 (WebCore::ScrollView::updateContents): Use visibleContentRect to be able to use 53385 documentVisibleRect when possible. 53386 * rendering/RenderView.cpp: 53387 (WebCore::RenderView::repaintViewRectangle): Don't get or intersect with viewRect 53388 if we don't have a parent frame, since the ScrollView will do that anyway. Also, 53389 don't get contentX and contentY separately since they are in the viewRect already. 53390 (WebCore::RenderView::viewRect): Use visibleContentRect instead of getting each 53391 coordinate individually, to avoid calling documentVisibleRect repeatedly. 53392 53393 2007-02-23 Maciej Stachowiak <mjs (a] apple.com> 53394 53395 Reviewed by Mitz. 53396 53397 - 2% speedup on BenchJS test 6 53398 Partial fix for http://bugs.webkit.org/show_bug.cgi?id=12866 53399 53400 * css/CSSPrimitiveValue.cpp: 53401 (WebCore::CSSPrimitiveValue::cssText): Use format() instead of 53402 number() followed by append of a constant string. 53403 53404 2007-02-22 George Staikos <staikos (a] kde.org> 53405 53406 Fix the Qt build. 53407 53408 * platform/qt/ClipboardQt.cpp: 53409 (WebCore::ClipboardQt::ClipboardQt): 53410 53411 2007-02-22 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 53412 53413 Reviewed by Adam Roben, who never sleeps. 53414 53415 To avoid code duplication, move notImplementedGdk() macro to a separate 53416 header file. Remove existing notImplementedGdk() macros and replace 53417 remaining notImplemented() to notImplementedGdk() in gdk code. 53418 53419 * loader/gdk/DocumentLoaderGdk.cpp: 53420 (WebCore::DocumentLoader::getResponseModifiedHeader): 53421 * loader/gdk/FrameLoaderClientGdk.cpp: 53422 (WebCore::FrameLoaderClientGdk::hasWebView): 53423 (WebCore::FrameLoaderClientGdk::hasFrameView): 53424 * page/gdk/ContextMenuClientGdk.cpp: 53425 (WebCore::ContextMenuClientGdk::contextMenuDestroyed): 53426 (WebCore::ContextMenuClientGdk::getCustomMenuFromDefaultItems): 53427 (WebCore::ContextMenuClientGdk::contextMenuItemSelected): 53428 (WebCore::ContextMenuClientGdk::downloadURL): 53429 (WebCore::ContextMenuClientGdk::copyImageToClipboard): 53430 (WebCore::ContextMenuClientGdk::searchWithGoogle): 53431 (WebCore::ContextMenuClientGdk::lookUpInDictionary): 53432 (WebCore::ContextMenuClientGdk::speak): 53433 (WebCore::ContextMenuClientGdk::stopSpeaking): 53434 * page/gdk/EventHandlerGdk.cpp: 53435 * platform/gdk/CursorGdk.cpp: 53436 (WebCore::Cursor::Cursor): 53437 * platform/gdk/EditorClientGdk.cpp: 53438 * platform/gdk/NotImplementedGdk.h: Added. 53439 * platform/gdk/PopupMenuGdk.cpp: 53440 (WebCore::PopupMenu::PopupMenu): 53441 (WebCore::PopupMenu::~PopupMenu): 53442 (WebCore::PopupMenu::show): 53443 (WebCore::PopupMenu::hide): 53444 (WebCore::PopupMenu::updateFromElement): 53445 * platform/gdk/RenderThemeGdk.cpp: 53446 * platform/gdk/ScreenGdk.cpp: 53447 (WebCore::screenDepth): 53448 (WebCore::screenDepthPerComponent): 53449 (WebCore::screenIsMonochrome): 53450 (WebCore::screenRect): 53451 (WebCore::screenAvailableRect): 53452 * platform/gdk/TemporaryLinkStubs.cpp: 53453 * platform/graphics/gdk/ImageGdk.cpp: 53454 (WebCore::Image::drawPattern): 53455 * platform/network/gdk/ResourceHandleCurl.cpp: 53456 (WebCore::ResourceHandle::setDefersLoading): 53457 * platform/network/gdk/ResourceHandleManager.cpp: 53458 (WebCore::ResourceHandleManager::setupPUT): 53459 (WebCore::ResourceHandleManager::setupPOST): 53460 53461 2007-02-22 Feng Qian <feng (a] chromium.org> 53462 53463 Reviewed by Maciej. 53464 53465 - Patch for http://bugs.webkit.org/show_bug.cgi?id=12850 53466 Leaks >10k objects 53467 53468 and 53469 53470 - http://bugs.webkit.org/show_bug.cgi?id=12853 53471 add a EventListener leak counter 53472 53473 Problem: RemoveEventListener leaks memory if the listener is not 53474 registered. 53475 Fix: Added Window::findJSEventListener function w/o creating a 53476 JSEventListener; Renamed getJSEventListener to findOrCreateJSEventListener; 53477 53478 As an enhancement, added a leak counter for EventListeners. 53479 53480 Added a test case, LayoutTests/fast/events/remove-event-listener.html. 53481 53482 * WebCore/bindings/js/kjs_dom.cpp: 53483 * WebCore/bindings/js/kjs_window.h: 53484 * WebCore/bindings/js/kjs_window.cpp: 53485 * WebCore/bindings/js/kjs_event.cpp: Add a leak counter. 53486 * WebCore/bindings/js/JSXMLHttpRequest.cpp: 53487 * LayoutTests/fast/events/remove-event-listener.html: 53488 53489 2007-02-22 Anders Carlsson <acarlsson (a] apple.com> 53490 53491 Reviewed by Geoff. 53492 53493 <rdar://problem/4998203> 53494 REGRESSION: Back-forward list gets messed up when navigating to error pages with back-forward cache turned off 53495 53496 * loader/FrameLoader.cpp: 53497 (WebCore::FrameLoader::load): 53498 Remove call to setPolicyDocumentLoader(), the policy document loader is set immediately after, and setting it before 53499 calling shouldReloadToHandleUnreachableURL causes us to get the wrong URL. 53500 53501 (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL): 53502 Check if the unreachable URL is equal to the document loader's request. 53503 53504 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 53505 Check the provisional document loader's unreachable URL. 53506 53507 2007-02-22 Justin Garcia <justin.garcia (a] apple.com> 53508 53509 Reviewed by darin 53510 53511 <rdar://problem/5007143> 53512 REGRESSION: WebKit doesn't remember horizontal position of caret when moving forward by line 53513 53514 * editing/SelectionController.cpp: 53515 (WebCore::SelectionController::SelectionController): Initialize 53516 m_xPosForVerticalArrowNavigation. 53517 (WebCore::SelectionController::setSelection): Call the new setter. 53518 (WebCore::SelectionController::modifyMovingRightForward): For line 53519 and paragraph granularities, use the saved xPosForVerticalArrowNavigation 53520 even if the old selection was a range. Use the x position of the 53521 *start*, not the end of the selection if there is no saved 53522 xPosForVerticalArrowNavigation. This matches TextEdit's behavior. 53523 (WebCore::SelectionController::modifyMovingLeftBackward): For line 53524 and paragraph granularities, use the saved xPosForVerticalArrowNavigation 53525 even if the old selection was a range. 53526 (WebCore::SelectionController::modify): Preserve the xPosForVerticalArrowNavigation 53527 for line and paragraph granularities. 53528 (WebCore::SelectionController::xPosForVerticalArrowNavigation): Removed 53529 the recalc bool because it is now always false. 53530 (WebCore::SelectionController::setXPosForVerticalArrowNavigation): Added. 53531 * editing/SelectionController.h: Moved m_xPosForVerticalArrowNavigation 53532 from Frame. 53533 * page/Frame.cpp: Moved m_xPosForVerticalArrowNavigation to SelectionController. 53534 * page/Frame.h: Ditto. 53535 * page/FramePrivate.h: Ditto. 53536 53537 2007-02-22 Beth Dakin <bdakin (a] apple.com> 53538 53539 Reviewed by Adam. Manual test added. 53540 53541 Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION: 53542 Unable to prevent default context menu from appearing. <rdar:// 53543 problem/5017416> 53544 53545 This problem appeared because of two facets of the current context 53546 menu design. First, all context menu events are now considered to 53547 be "swallowed" since we take care of building up the regular 53548 context menu through the defaultEventHandler(). Second, the context 53549 menu controller holds onto it's context menu until a new one is 53550 created. There would be logistical problems changing this since 53551 AppKit relies on the menu being around for as long as it is 53552 visible on the screen and we don't get any notification once the 53553 menu is popped-down. 53554 53555 This patch fixes the problem by giving WebKit a way to clear the 53556 controller's context menu. WebKit now clears the menu before it 53557 propagates a new context menu event through the DOM. 53558 53559 * WebCore.exp: 53560 * manual-tests/DOMContextMenuEvent.html: Added. 53561 * page/ContextMenuController.cpp: 53562 (WebCore::ContextMenuController::clearContextMenu): 53563 * page/ContextMenuController.h: 53564 53565 2007-02-22 John Sullivan <sullivan (a] apple.com> 53566 53567 Reviewed by Kevin and Adele 53568 53569 - fixed <rdar://problem/4129417> Need final art for textarea's resize corner 53570 53571 This probably broke some layout pixel tests since the image changed. I'm going to 53572 track those down in a moment (non-trivial since there are a bunch failing for other 53573 reasons). 53574 53575 * Resources/textAreaResizeCorner.tiff: 53576 new art 53577 53578 * Resources/deleteButton.tiff: 53579 * Resources/deleteButtonPressed.tiff: 53580 these got smaller when I ran compress-tiffs on this directory 53581 53582 2007-02-22 Oliver Hunt <oliver (a] apple.com> 53583 53584 Reviewed by Ada, Lou and Steve. 53585 53586 Moving basic components of ClipboardMac to Clipboard, 53587 last of the basic common code merge will come later (namely setting the 53588 drag element/image). 53589 53590 Tidying up in DragController including a few bad PassRefPtr uses and 53591 removing unnecessary accessors. Also initialise fields properly to 53592 fix <rdar:/problems/5014889> 53593 53594 * dom/Clipboard.cpp: 53595 (WebCore::Clipboard::Clipboard): 53596 New constructor 53597 53598 * dom/Clipboard.h: 53599 (WebCore::Clipboard::isForDragging): 53600 (WebCore::Clipboard::dragLocation): 53601 (WebCore::Clipboard::dragImage): 53602 (WebCore::Clipboard::dragImageElement): 53603 Exposing common data 53604 53605 * page/DragController.cpp: 53606 (WebCore::DragController::DragController): 53607 Initialise m_isHandlingDrag (oops) 53608 (WebCore::documentFragmentFromDragData): 53609 (WebCore::DragController::tryDocumentDrag): 53610 Fixing PassRefPtr misuse 53611 (WebCore::DragController::canProcessDrag): 53612 (WebCore::DragController::startDrag): 53613 (WebCore::DragController::doSystemDrag): 53614 Make sure we're using the correct coordinate space 53615 53616 * page/EventHandler.cpp: 53617 (WebCore::EventHandler::handleDrag): 53618 Reset drag source correctly 53619 53620 * platform/mac/ClipboardMac.h: 53621 * platform/mac/ClipboardMac.mm: 53622 (WebCore::ClipboardMac::ClipboardMac): 53623 update constructor to use new Clipboard constructor 53624 53625 2007-02-22 Adele Peterson <adele (a] apple.com> 53626 53627 Reviewed by Darin. 53628 53629 Fix for <rdar://problem/5014970> 9A374: Tabs don't work in the message body 53630 53631 Test: fast/events/keypress-insert-tab.html 53632 53633 * page/EventHandler.cpp: (WebCore::EventHandler::defaultTextInputEventHandler): 53634 If the defaultTabEventHandler doesn't handle the event, then go on to the insertText case. 53635 53636 2007-02-22 Timothy Hatcher <timothy (a] apple.com> 53637 53638 Reviewed by Darin. 53639 53640 <rdar://problem/4948887> REGRESSION: Correct differences in public DOM API that inadvertently changed in Leopard 53641 53642 * bindings/objc/PublicDOMInterfaces.h: Changes return types for two size properties, adds deprecated DOMEventTarget methods. 53643 * bindings/scripts/CodeGeneratorObjC.pm: Fixed public API checking for protocols, adds support for ConvertToString. 53644 * dom/EventTarget.idl: Marks addEventListener and removeEventListener with the OldStyleObjC attribute. 53645 * html/HTMLBaseFontElement.idl: Changes the size property to a DOMString for ObjC only. 53646 * html/HTMLInputElement.idl: Changes the size property to a DOMString for ObjC only. 53647 * html/HTMLOptionsCollection.idl: Changes the length property to be unsigned. 53648 53649 2007-02-22 Adele Peterson <adele (a] apple.com> 53650 53651 Reviewed by John. 53652 53653 Fix <rdar://problem/5016969> REGRESSION: "Check Spelling As You Type" context menu item is never checked 53654 53655 * platform/ContextMenu.cpp: (WebCore::ContextMenu::checkOrEnableIfNeeded): Set shouldCheck for ContextMenuItemTagCheckSpellingWhileTyping. 53656 53657 2007-02-22 Antti Koivisto <antti (a] apple.com> 53658 53659 Reviewed by Darin. 53660 53661 - fix http://bugs.webkit.org/show_bug.cgi?id=11447 53662 REGRESSION(NativeListBox): List not scrolled to preselected option 53663 <rdar://problem/4957463> 53664 53665 Initiate scroll when selected <option> is added to <select>. 53666 53667 * html/HTMLOptionElement.cpp: 53668 (WebCore::HTMLOptionElement::insertedIntoDocument): 53669 * html/HTMLOptionElement.h: 53670 * html/HTMLSelectElement.cpp: 53671 (WebCore::HTMLSelectElement::notifyOptionSelected): 53672 (WebCore::HTMLSelectElement::updateListBoxSelection): 53673 (WebCore::HTMLSelectElement::scrollToSelection): 53674 * html/HTMLSelectElement.h: 53675 53676 2007-02-22 Zack Rusin <zrusin (a] trolltech.com> 53677 53678 Reviewed by Lars 53679 53680 Fix sites with fixed positioned backgrounds. 53681 53682 * platform/qt/ScrollViewQt.cpp: 53683 (WebCore::ScrollView::setStaticBackground): 53684 53685 2007-02-22 Zack Rusin <zrusin (a] trolltech.com> 53686 53687 Reviewed by Lars 53688 53689 Properly implement canvas/scrollview's. Get 53690 rid of ScrollViewCanvas and replace it with 53691 a tailor abstractscrollview (now in qwebframe). 53692 Scrolling of pages is finally completely smooth. 53693 53694 * WebCore.pro: 53695 * platform/ScrollView.h: 53696 * platform/qt/ScrollViewCanvasQt.cpp: Removed. 53697 * platform/qt/ScrollViewCanvasQt.h: Removed. 53698 * platform/qt/ScrollViewQt.cpp: 53699 (WebCore::ScrollView::ScrollView): 53700 (WebCore::ScrollView::setScrollArea): 53701 (WebCore::ScrollView::updateContents): 53702 (WebCore::ScrollView::resizeContents): 53703 (WebCore::ScrollView::contentsWidth): 53704 (WebCore::ScrollView::contentsHeight): 53705 (WebCore::ScrollView::contentsToWindow): 53706 (WebCore::ScrollView::windowToContents): 53707 (WebCore::ScrollView::addChild): 53708 * platform/qt/WidgetQt.cpp: 53709 (WebCore::WidgetPrivate::canvas): 53710 (WebCore::WidgetPrivate::parentScroll): 53711 (WebCore::WidgetPrivate::setGeometry): 53712 (WebCore::WidgetPrivate::geometry): 53713 (WebCore::Widget::frameGeometry): 53714 (WebCore::Widget::setQWidget): 53715 (WebCore::Widget::setFrameGeometry): 53716 53717 2007-02-21 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 53718 53719 Reviewed by Adam Roben. 53720 53721 Improve notImplemented() macro for gdk. Rename to notImplementedGdk() to 53722 give it a unique name (so that it doesn't clash with notImplemented() 53723 for other platforms). 53724 Make it print a given warning only once, so that frequently called 53725 functions don't clutter the output. 53726 Don't print the warning if DISABLE_NI_WARNING env variable is set. 53727 53728 * loader/gdk/FrameLoaderClientGdk.cpp: 53729 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveAuthenticationChallenge): 53730 (WebCore::FrameLoaderClientGdk::dispatchDidCancelAuthenticationChallenge): 53731 (WebCore::FrameLoaderClientGdk::dispatchWillSendRequest): 53732 (WebCore::FrameLoaderClientGdk::assignIdentifierToInitialRequest): 53733 (WebCore::FrameLoaderClientGdk::createPlugin): 53734 (WebCore::FrameLoaderClientGdk::createFrame): 53735 (WebCore::FrameLoaderClientGdk::redirectDataToPlugin): 53736 (WebCore::FrameLoaderClientGdk::createJavaAppletWidget): 53737 (WebCore::FrameLoaderClientGdk::objectContentType): 53738 (WebCore::FrameLoaderClientGdk::overrideMediaType): 53739 (WebCore::FrameLoaderClientGdk::windowObjectCleared): 53740 (WebCore::FrameLoaderClientGdk::hasWebView): 53741 (WebCore::FrameLoaderClientGdk::hasFrameView): 53742 (WebCore::FrameLoaderClientGdk::frameLoadCompleted): 53743 (WebCore::FrameLoaderClientGdk::saveViewStateToItem): 53744 (WebCore::FrameLoaderClientGdk::restoreViewState): 53745 (WebCore::FrameLoaderClientGdk::privateBrowsingEnabled): 53746 (WebCore::FrameLoaderClientGdk::makeDocumentView): 53747 (WebCore::FrameLoaderClientGdk::makeRepresentation): 53748 (WebCore::FrameLoaderClientGdk::forceLayout): 53749 (WebCore::FrameLoaderClientGdk::forceLayoutForNonHTML): 53750 (WebCore::FrameLoaderClientGdk::setCopiesOnScroll): 53751 (WebCore::FrameLoaderClientGdk::detachedFromParent1): 53752 (WebCore::FrameLoaderClientGdk::detachedFromParent2): 53753 (WebCore::FrameLoaderClientGdk::detachedFromParent3): 53754 (WebCore::FrameLoaderClientGdk::detachedFromParent4): 53755 (WebCore::FrameLoaderClientGdk::loadedFromPageCache): 53756 (WebCore::FrameLoaderClientGdk::dispatchDidHandleOnloadEvents): 53757 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveServerRedirectForProvisionalLoad): 53758 (WebCore::FrameLoaderClientGdk::dispatchDidCancelClientRedirect): 53759 (WebCore::FrameLoaderClientGdk::dispatchWillPerformClientRedirect): 53760 (WebCore::FrameLoaderClientGdk::dispatchDidChangeLocationWithinPage): 53761 (WebCore::FrameLoaderClientGdk::dispatchWillClose): 53762 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveIcon): 53763 (WebCore::FrameLoaderClientGdk::dispatchDidStartProvisionalLoad): 53764 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveTitle): 53765 (WebCore::FrameLoaderClientGdk::dispatchDidCommitLoad): 53766 (WebCore::FrameLoaderClientGdk::dispatchDidFinishDocumentLoad): 53767 (WebCore::FrameLoaderClientGdk::dispatchDidFirstLayout): 53768 (WebCore::FrameLoaderClientGdk::dispatchShow): 53769 (WebCore::FrameLoaderClientGdk::cancelPolicyCheck): 53770 (WebCore::FrameLoaderClientGdk::dispatchDidLoadMainResource): 53771 (WebCore::FrameLoaderClientGdk::revertToProvisionalState): 53772 (WebCore::FrameLoaderClientGdk::clearUnarchivingState): 53773 (WebCore::FrameLoaderClientGdk::willChangeTitle): 53774 (WebCore::FrameLoaderClientGdk::finishedLoading): 53775 (WebCore::FrameLoaderClientGdk::finalSetupForReplace): 53776 (WebCore::FrameLoaderClientGdk::setDefersLoading): 53777 (WebCore::FrameLoaderClientGdk::isArchiveLoadPending): 53778 (WebCore::FrameLoaderClientGdk::cancelPendingArchiveLoad): 53779 (WebCore::FrameLoaderClientGdk::clearArchivedResources): 53780 (WebCore::FrameLoaderClientGdk::canHandleRequest): 53781 (WebCore::FrameLoaderClientGdk::canShowMIMEType): 53782 (WebCore::FrameLoaderClientGdk::representationExistsForURLScheme): 53783 (WebCore::FrameLoaderClientGdk::generatedMIMETypeForURLScheme): 53784 (WebCore::FrameLoaderClientGdk::provisionalLoadStarted): 53785 (WebCore::FrameLoaderClientGdk::didFinishLoad): 53786 (WebCore::FrameLoaderClientGdk::prepareForDataSourceReplacement): 53787 (WebCore::FrameLoaderClientGdk::setTitle): 53788 (WebCore::FrameLoaderClientGdk::setDocumentViewFromPageCache): 53789 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveContentLength): 53790 (WebCore::FrameLoaderClientGdk::dispatchDidFinishLoading): 53791 (WebCore::FrameLoaderClientGdk::dispatchDidFailLoading): 53792 (WebCore::FrameLoaderClientGdk::dispatchDidLoadResourceFromMemoryCache): 53793 (WebCore::FrameLoaderClientGdk::dispatchDidFailProvisionalLoad): 53794 (WebCore::FrameLoaderClientGdk::dispatchDidFailLoad): 53795 (WebCore::FrameLoaderClientGdk::download): 53796 (WebCore::FrameLoaderClientGdk::cancelledError): 53797 (WebCore::FrameLoaderClientGdk::cannotShowURLError): 53798 (WebCore::FrameLoaderClientGdk::interruptForPolicyChangeError): 53799 (WebCore::FrameLoaderClientGdk::cannotShowMIMETypeError): 53800 (WebCore::FrameLoaderClientGdk::fileDoesNotExistError): 53801 (WebCore::FrameLoaderClientGdk::shouldFallBack): 53802 (WebCore::FrameLoaderClientGdk::willUseArchive): 53803 (WebCore::FrameLoaderClientGdk::saveDocumentViewToPageCache): 53804 (WebCore::FrameLoaderClientGdk::canCachePage): 53805 (WebCore::FrameLoaderClientGdk::dispatchCreatePage): 53806 (WebCore::FrameLoaderClientGdk::dispatchUnableToImplementPolicy): 53807 (WebCore::FrameLoaderClientGdk::setMainDocumentError): 53808 (WebCore::FrameLoaderClientGdk::startDownload): 53809 (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForStandardLoad): 53810 (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForReload): 53811 (WebCore::FrameLoaderClientGdk::shouldGoToHistoryItem): 53812 * page/gdk/EventHandlerGdk.cpp: 53813 (WebCore::EventHandler::passMouseDownEventToWidget): 53814 (WebCore::EventHandler::eventActivatedView): 53815 (WebCore::EventHandler::passSubframeEventToSubframe): 53816 (WebCore::EventHandler::passWheelEventToWidget): 53817 (WebCore::EventHandler::createDraggingClipboard): 53818 * platform/gdk/EditorClientGdk.cpp: 53819 (WebCore::EditorClientGdk::shouldDeleteRange): 53820 (WebCore::EditorClientGdk::isContinuousSpellCheckingEnabled): 53821 (WebCore::EditorClientGdk::isGrammarCheckingEnabled): 53822 (WebCore::EditorClientGdk::spellCheckerDocumentTag): 53823 (WebCore::EditorClientGdk::shouldBeginEditing): 53824 (WebCore::EditorClientGdk::shouldEndEditing): 53825 (WebCore::EditorClientGdk::shouldInsertText): 53826 (WebCore::EditorClientGdk::shouldChangeSelectedRange): 53827 (WebCore::EditorClientGdk::shouldApplyStyle): 53828 (WebCore::EditorClientGdk::didBeginEditing): 53829 (WebCore::EditorClientGdk::respondToChangedContents): 53830 (WebCore::EditorClientGdk::didEndEditing): 53831 (WebCore::EditorClientGdk::didWriteSelectionToPasteboard): 53832 (WebCore::EditorClientGdk::didSetSelectionTypesForPasteboard): 53833 (WebCore::EditorClientGdk::selectWordBeforeMenuEvent): 53834 (WebCore::EditorClientGdk::isEditable): 53835 (WebCore::EditorClientGdk::registerCommandForUndo): 53836 (WebCore::EditorClientGdk::registerCommandForRedo): 53837 (WebCore::EditorClientGdk::clearUndoRedoOperations): 53838 (WebCore::EditorClientGdk::canUndo): 53839 (WebCore::EditorClientGdk::canRedo): 53840 (WebCore::EditorClientGdk::undo): 53841 (WebCore::EditorClientGdk::redo): 53842 (WebCore::EditorClientGdk::shouldInsertNode): 53843 (WebCore::EditorClientGdk::pageDestroyed): 53844 (WebCore::EditorClientGdk::smartInsertDeleteEnabled): 53845 (WebCore::EditorClientGdk::toggleContinuousSpellChecking): 53846 (WebCore::EditorClientGdk::textFieldDidBeginEditing): 53847 (WebCore::EditorClientGdk::textFieldDidEndEditing): 53848 (WebCore::EditorClientGdk::textDidChangeInTextField): 53849 (WebCore::EditorClientGdk::doTextFieldCommandFromEvent): 53850 (WebCore::EditorClientGdk::textWillBeDeletedInTextField): 53851 (WebCore::EditorClientGdk::textDidChangeInTextArea): 53852 * platform/gdk/RenderThemeGdk.cpp: 53853 (WebCore::RenderThemeGdk::setCheckboxSize): 53854 (WebCore::RenderThemeGdk::setRadioSize): 53855 (WebCore::RenderThemeGdk::adjustTextFieldStyle): 53856 * platform/gdk/TemporaryLinkStubs.cpp: 53857 (FrameView::updateBorder): 53858 (Widget::setEnabled): 53859 (Widget::isEnabled): 53860 (Widget::focusPolicy): 53861 (Widget::enableFlushDrawing): 53862 (Widget::disableFlushDrawing): 53863 (Widget::lockDrawingFocus): 53864 (Widget::unlockDrawingFocus): 53865 (Widget::removeFromParent): 53866 (Widget::paint): 53867 (Widget::setIsSelected): 53868 (Widget::invalidate): 53869 (Widget::invalidateRect): 53870 (PlatformMouseEvent::PlatformMouseEvent): 53871 (WebCore::findNextSentenceFromIndex): 53872 (WebCore::findSentenceBoundary): 53873 (WebCore::findNextWordFromIndex): 53874 (ChromeClientGdk::chromeDestroyed): 53875 (ChromeClientGdk::windowRect): 53876 (ChromeClientGdk::setWindowRect): 53877 (ChromeClientGdk::pageRect): 53878 (ChromeClientGdk::scaleFactor): 53879 (ChromeClientGdk::focus): 53880 (ChromeClientGdk::unfocus): 53881 (ChromeClientGdk::createWindow): 53882 (ChromeClientGdk::createModalDialog): 53883 (ChromeClientGdk::show): 53884 (ChromeClientGdk::canRunModal): 53885 (ChromeClientGdk::runModal): 53886 (ChromeClientGdk::setToolbarsVisible): 53887 (ChromeClientGdk::toolbarsVisible): 53888 (ChromeClientGdk::setStatusbarVisible): 53889 (ChromeClientGdk::statusbarVisible): 53890 (ChromeClientGdk::setScrollbarsVisible): 53891 (ChromeClientGdk::scrollbarsVisible): 53892 (ChromeClientGdk::setMenubarVisible): 53893 (ChromeClientGdk::menubarVisible): 53894 (ChromeClientGdk::setResizable): 53895 (ChromeClientGdk::closeWindowSoon): 53896 (ChromeClientGdk::canTakeFocus): 53897 (ChromeClientGdk::takeFocus): 53898 (ChromeClientGdk::canRunBeforeUnloadConfirmPanel): 53899 (ChromeClientGdk::addMessageToConsole): 53900 (ChromeClientGdk::runBeforeUnloadConfirmPanel): 53901 (ChromeClientGdk::runJavaScriptAlert): 53902 (ChromeClientGdk::runJavaScriptConfirm): 53903 (ChromeClientGdk::runJavaScriptPrompt): 53904 (ChromeClientGdk::setStatusbarText): 53905 (ChromeClientGdk::shouldInterruptJavaScript): 53906 (ChromeClientGdk::tabsToLinks): 53907 (ChromeClientGdk::windowResizerRect): 53908 (ChromeClientGdk::addToDirtyRegion): 53909 (ChromeClientGdk::scrollBackingStore): 53910 (ChromeClientGdk::updateBackingStore): 53911 (PlugInInfoStore::createPluginInfoForPluginAtIndex): 53912 (PlugInInfoStore::pluginCount): 53913 (WebCore::PlugInInfoStore::supportsMIMEType): 53914 (WebCore::refreshPlugins): 53915 (SearchPopupMenu::saveRecentSearches): 53916 (SearchPopupMenu::loadRecentSearches): 53917 (SearchPopupMenu::SearchPopupMenu): 53918 (PlatformScrollbar::PlatformScrollbar): 53919 (PlatformScrollbar::~PlatformScrollbar): 53920 (PlatformScrollbar::setEnabled): 53921 (PlatformScrollbar::paint): 53922 (PlatformScrollbar::updateThumbPosition): 53923 (PlatformScrollbar::updateThumbProportion): 53924 (PlatformScrollbar::setRect): 53925 (FileChooser::FileChooser): 53926 (FileChooser::~FileChooser): 53927 (FileChooser::openFileChooser): 53928 (FileChooser::basenameForWidth): 53929 (ResourceHandle::willLoadFromCache): 53930 (ResourceHandle::loadsBlocked): 53931 (ResourceHandle::loadResourceSynchronously): 53932 (Icon::Icon): 53933 (Icon::~Icon): 53934 (Icon::newIconForFile): 53935 (Icon::paint): 53936 (Font::drawComplexText): 53937 (Font::floatWidthForComplexText): 53938 (Font::offsetForPositionForComplexText): 53939 (PageCache::close): 53940 (Editor::ignoreSpelling): 53941 (Editor::learnSpelling): 53942 (Editor::isSelectionUngrammatical): 53943 (Editor::isSelectionMisspelled): 53944 (Editor::guessesForMisspelledSelection): 53945 (Editor::guessesForUngrammaticalSelection): 53946 (Editor::markMisspellingsAfterTypingToPosition): 53947 (Editor::newGeneralClipboard): 53948 (Pasteboard::generalPasteboard): 53949 (Pasteboard::writeSelection): 53950 (Pasteboard::writeURL): 53951 (Pasteboard::writeImage): 53952 (Pasteboard::clear): 53953 (Pasteboard::canSmartReplace): 53954 (Pasteboard::documentFragment): 53955 (Pasteboard::plainText): 53956 (Pasteboard::Pasteboard): 53957 (Pasteboard::~Pasteboard): 53958 (ContextMenu::ContextMenu): 53959 (ContextMenu::~ContextMenu): 53960 (ContextMenu::appendItem): 53961 (ContextMenuItem::ContextMenuItem): 53962 (ContextMenuItem::~ContextMenuItem): 53963 (ContextMenuItem::releasePlatformDescription): 53964 (ContextMenuItem::type): 53965 (ContextMenuItem::setType): 53966 (ContextMenuItem::action): 53967 (ContextMenuItem::setAction): 53968 (ContextMenuItem::title): 53969 (ContextMenuItem::setTitle): 53970 (ContextMenuItem::platformSubMenu): 53971 (ContextMenuItem::setSubMenu): 53972 (ContextMenuItem::setChecked): 53973 (ContextMenuItem::setEnabled): 53974 (WebCore::supportedKeySizes): 53975 (WebCore::systemBeep): 53976 (WebCore::userIdleTime): 53977 53978 2007-02-21 Antti Koivisto <antti (a] apple.com> 53979 53980 Reviewed by Hyatt. 53981 53982 - fix http://bugs.webkit.org/show_bug.cgi?id=12820 53983 REGRESSION (r19706): Caret not painted after popup, failing editing/pasteboard/4641033 53984 53985 Yet another attempt to figure out exactly who should paint the caret. 53986 53987 * editing/SelectionController.cpp: 53988 (WebCore::SelectionController::isInsideNode): 53989 * editing/SelectionController.h: 53990 * rendering/RenderBlock.cpp: 53991 (WebCore::RenderBlock::paintCaret): 53992 53993 2007-02-21 Mitz Pettel <mitz (a] webkit.org> 53994 53995 Reviewed by Hyatt. 53996 53997 - fix http://bugs.webkit.org/show_bug.cgi?id=12818 53998 REGRESSION (r19148): shacknews.com does not render completely 53999 54000 Test: fast/dynamic/staticY-marking-parents-regression.html 54001 54002 Changed calls to setChildNeedsLayout(true) during layout to 54003 setChildNeedsLayout(true, false). Prior to r19148, the default behavior 54004 of marking containers did not matter because the caller was the container 54005 and was already marked, but r19148 added marking of the parent of 54006 objects with static Y, which can be different from the caller and not 54007 necessarily marked already. 54008 54009 * rendering/RenderBlock.cpp: 54010 (WebCore::RenderBlock::collapseMargins): 54011 (WebCore::RenderBlock::clearFloatsIfNeeded): 54012 (WebCore::RenderBlock::layoutBlockChildren): 54013 * rendering/RenderBox.cpp: 54014 (WebCore::RenderBox::setStaticY): 54015 * rendering/RenderFlexibleBox.cpp: 54016 (WebCore::RenderFlexibleBox::layoutVerticalBox): 54017 54018 2007-02-21 Brady Eidson <beidson (a] apple.com> 54019 54020 Reviewed by Dave Harrison 54021 54022 <rdar://problem/5014313> - Crash in FrameLoader::restoreScrollPositionAndViewState() 54023 after regaining network connection 54024 54025 * loader/FrameLoader.cpp: 54026 (WebCore::FrameLoader::restoreScrollPositionAndViewState): Leave an assertion for debug 54027 build exploration, but gracefully handle the release build case 54028 54029 2007-02-21 Timothy Hatcher <timothy (a] apple.com> 54030 54031 Rubber-stamped by Darin. 54032 54033 * bindings/objc/PublicDOMInterfaces.h: Add missing classes that are really public. 54034 Also adds the deprecated selector for getComputedStyle: on DOMDocument. 54035 54036 2007-02-21 Justin Garcia <justin.garcia (a] apple.com> 54037 54038 Reviewed by john 54039 54040 <rdar://problem/5012665> 54041 Removing indent from list moves the caret to the line below 54042 54043 Selection preservation during indent, outdent and list 54044 operations uses rangeFromLocationAndLength. Ranges returned 54045 by rangeFromLocationAndLength were incorrect for locations 54046 just before the line breaks that are emitted after blocks. 54047 This is because TextIterator emitted bad ranges for these line 54048 breaks (ranges that started and ended *after* the block). 54049 The fix corrects the start but not the end. This is acceptible 54050 because there is code in rangeFromLocationAndLength that corrects 54051 the ends of runs using the start of the run and VisiblePosition 54052 creation. 54053 54054 * editing/TextIterator.cpp: 54055 (WebCore::TextIterator::exitNode): Emit a position *inside* 54056 the block, after its contents. 54057 54058 2007-02-21 Adele Peterson <adele (a] apple.com> 54059 54060 Reviewed by Darin. 54061 54062 Fix for <rdar://problem/4999030> Indexing into select element to get to items in the options collection is broken 54063 54064 Test: fast/forms/select-index-setter.html 54065 54066 Added indexSetter for HTMLSelectElement. 54067 54068 * WebCore.xcodeproj/project.pbxproj: Added JSHTMLSelectElementCustom.h 54069 54070 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::indexSetter): 54071 Moved code to selectIndexSetter so it can be shared between these classes. 54072 * bindings/js/JSHTMLSelectElementCustom.cpp: 54073 (WebCore::selectIndexSetter): Added. Moved from JSHTMLOptionsCollection::indexSetter. 54074 (WebCore::JSHTMLSelectElement::indexSetter): Calls selectIndexSetter. 54075 * bindings/js/JSHTMLSelectElementCustom.h: Added. 54076 * html/HTMLSelectElement.idl: Added HasCustomIndexSetter keyword. 54077 54078 * bindings/scripts/CodeGeneratorJS.pm: When generating "put" methods, if the propertyName is a number, call the indexSetter first, 54079 and then call the version of lookupPut that will also try to use the parent's lookup table. This matches the order of our 54080 old code, before we autogenerated the JSHTMLSelectElement class. 54081 54082 2007-02-21 George Staikos <staikos (a] kde.org> 54083 54084 Reviewed by Zack. 54085 54086 Add files to the build. 54087 54088 * WebCore.pro: 54089 54090 2007-02-21 Zack Rusin <zrusin (a] trolltech.com> 54091 54092 Reviewed by Lars 54093 54094 Implementing popups for the Qt platform. 54095 54096 * WebCore.pro: 54097 * platform/PopupMenu.h: 54098 * platform/Widget.h: 54099 * platform/qt/PopupMenuQt.cpp: 54100 (WebCore::PopupMenu::PopupMenu): 54101 (WebCore::PopupMenu::clear): 54102 (WebCore::PopupMenu::populate): 54103 (WebCore::PopupMenu::show): 54104 (WebCore::PopupMenu::hide): 54105 * platform/qt/QWebPopup.cpp: Added. 54106 (WebCore::QWebPopup::QWebPopup): 54107 (WebCore::QWebPopup::exec): 54108 (WebCore::QWebPopup::hideEvent): 54109 (WebCore::QWebPopup::activeChanged): 54110 * platform/qt/QWebPopup.h: Added. 54111 * platform/qt/WidgetQt.cpp: 54112 (WebCore::Widget::canvas): 54113 54114 2007-02-21 George Staikos <staikos (a] kde.org> 54115 54116 Reviewed by Zack. 54117 54118 Remove unneeded hack now. 54119 54120 * platform/qt/RenderThemeQt.cpp: 54121 (WebCore::RenderThemeQt::setCheckboxSize): 54122 54123 2007-02-21 Zack Rusin <zrusin (a] trolltech.com> 54124 54125 Reviewed by Lars 54126 54127 Fix rendering of lineedits and remove the spurious 54128 padding on push-buttons. 54129 54130 * platform/qt/RenderThemeQt.cpp: 54131 (WebCore::RenderThemeQt::baselinePosition): 54132 (WebCore::RenderThemeQt::adjustTextFieldStyle): 54133 (WebCore::RenderThemeQt::sizeForFont): 54134 (WebCore::RenderThemeQt::setButtonPadding): 54135 54136 2007-02-21 Zack Rusin <zrusin (a] trolltech.com> 54137 54138 Fix compilation. 54139 54140 * platform/qt/PasteboardQt.cpp: 54141 (WebCore::Pasteboard::writeURL): 54142 (WebCore::Pasteboard::writeImage): 54143 54144 2007-02-20 Adam Roben <aroben (a] apple.com> 54145 54146 Preemptive build fix. 54147 54148 * platform/mac/FontCacheMac.mm: Remove unused (and non-existent) header. 54149 54150 2007-02-20 Adam Roben <aroben (a] apple.com> 54151 54152 Fix the build the right way. 54153 54154 * platform/StringTruncator.cpp: 54155 (WebCore::truncateString): Keep all widths as floats. 54156 54157 2007-02-20 Beth Dakin <bdakin (a] apple.com> 54158 54159 Reviewed by Maciej. 54160 54161 Implement writeImage() on Pasteboard so that the context menus can 54162 call into the editor for the "Copy image" command instead of 54163 calling across the clients. 54164 54165 * WebCore.exp: 54166 * WebCore.xcodeproj/project.pbxproj: 54167 * editing/Editor.cpp: 54168 (WebCore::Editor::copyImage): Call into the Pasteboard. 54169 * editing/Editor.h: 54170 * loader/mac/LoaderNSURLExtras.h: A new NSURL extra needed inside 54171 WebCore. 54172 * loader/mac/LoaderNSURLExtras.m: Made this file Objective-C++ 54173 (from Objective-C) since the call into the MIMETypeRegistry will 54174 return a Vector. 54175 (urlByRemovingComponent): Cast to build as Obj-C++ 54176 (urlWithDataRelativeToURL): Same. 54177 (vectorContainsString): Helper. 54178 (suggestedFilenameWithMIMEType): New function. 54179 * page/ContextMenuClient.h: Remove copyImageToClipboard() 54180 * page/ContextMenuController.cpp: 54181 (WebCore::ContextMenuController::contextMenuItemSelected): Call 54182 into the editor instead of the client. 54183 * page/mac/WebCoreViewFactory.h: New localized String. 54184 * platform/LocalizedStrings.h: Same. 54185 * platform/MimeTypeRegistry.h: Expose two additional functions for 54186 MIMEType information from WebCore System Interface. 54187 * platform/Pasteboard.h: 54188 * platform/SharedBuffer.h: Make platformData() and platformDataSize 54189 () public since they are needed to write the image to the 54190 pasteboard. 54191 * platform/mac/LocalizedStringsMac.mm: New localized string. 54192 (WebCore::copyImageUnknownFileLabel): 54193 * platform/mac/MimeTypeRegistryMac.mm: 54194 (WebCore::MimeTypeRegistry::getExtensionsForMIMEType): 54195 (WebCore::MimeTypeRegistry::getPreferredExtensionForMIMEType): 54196 * platform/mac/PasteboardMac.mm: 54197 (WebCore::writableTypesForImage): 54198 (WebCore::Pasteboard::writeURL): Write the correct types if the url 54199 is for an image. 54200 (WebCore::fileWrapperForImage): 54201 (WebCore::Pasteboard::writeFileWrapperAsRTFDAttachment): 54202 (WebCore::Pasteboard::writeImage): 54203 * platform/mac/WebCoreNSStringExtras.h: Added. Some the the 54204 NSStringExtras that were in WebKit are now needed by WebCore. To 54205 avoid having two copies of these functions, I just moved the 54206 implementations to WebCore. The WebKit functions just call into 54207 WebCore. 54208 * platform/mac/WebCoreNSStringExtras.mm: Added. 54209 (hasCaseInsensitiveSuffix): 54210 (hasCaseInsensitiveSubstring): 54211 (filenameByFixingIllegalCharacters): 54212 * platform/mac/WebCoreSystemInterface.h: 54213 wkGetPreferredExtensionForMIMEType and wkGetExtensionsForMIMEType 54214 are now needed in WebCore as well as WebKit. 54215 * platform/mac/WebCoreSystemInterface.mm: 54216 54217 2007-02-20 Adam Roben <aroben (a] apple.com> 54218 54219 Build fix. 54220 54221 * platform/StringTruncator.cpp: 54222 (WebCore::truncateString): Added explicit casts. 54223 54224 2007-02-20 Adam Roben <aroben (a] apple.com> 54225 54226 Reviewed by Darin and Anders. 54227 54228 Fix <rdar://problem/4736215> Make WebCoreStringTruncator use WebCore types 54229 54230 * WebCore.exp: Updated symbols. 54231 * WebCore.xcodeproj/project.pbxproj: Updated file names. 54232 * bridge/mac/WebCoreStringTruncator.h: Removed. 54233 * bridge/mac/WebCoreStringTruncator.mm: Removed. 54234 * platform/StringTruncator.cpp: Added. Moved from bridge/mac/WebCoreStringTruncator.mm. 54235 (WebCore::textBreakAtOrPreceding): Added. 54236 (WebCore::boundedTextBreakFollowing): Added. 54237 (WebCore::centerTruncateToBuffer): 54238 (WebCore::rightTruncateToBuffer): 54239 (WebCore::stringWidth): Now takes a const Font& instead of a Font*. 54240 (WebCore::truncateString): 54241 (WebCore::StringTruncator::centerTruncate): 54242 (WebCore::StringTruncator::rightTruncate): 54243 (WebCore::StringTruncator::width): 54244 * platform/StringTruncator.h: Added. 54245 * platform/TextBreakIterator.h: Added isTextBreak declaration. 54246 * platform/TextBreakIteratorICU.cpp: 54247 (WebCore::isTextBreak): Implemented. 54248 * platform/mac/FileChooserMac.mm: 54249 (WebCore::FileChooser::basenameForWidth): Updated for changes to WebCoreStringTruncator. 54250 * platform/qt/TextBreakIteratorQt.cpp: 54251 (WebCore::isTextBreak): Stubbed out. 54252 54253 2007-02-20 Justin Garcia <justin.garcia (a] apple.com> 54254 54255 Reviewed by harrison 54256 54257 <rdar://problem/5006779> 54258 REGRESSION: Paste and Match Style of quoted text onto empty line yields quoted text 54259 54260 We decided to change the copy/paste behavior in both 54261 the Paste and the Paste and Match Style cases. 54262 54263 * editing/markup.cpp: 54264 (WebCore::createMarkup): Don't add mail blockquote wrappers 54265 unless the user selected one or more paragraphs. 54266 54267 2007-02-20 Timothy Hatcher <timothy (a] apple.com> 54268 54269 Reviewed by Mark Rowe. 54270 54271 <rdar://problem/4912899> WebCore project ObjC @property cleanup 54272 54273 * bindings/objc/DOMObject.h: Add the new style @property 54274 * bindings/objc/PublicDOMInterfaces.h: Update to the new style @property 54275 * bindings/scripts/CodeGeneratorObjC.pm: Export both new and old style @properties 54276 54277 2007-02-20 Timothy Hatcher <timothy (a] apple.com> 54278 54279 Reviewed by Sam Weinig. 54280 54281 <rdar://problem/5007248> need to export symbols for DOM exception constants 54282 54283 * WebCore.exp: Adds DOMEventException, DOMException, DOMRangeException, DOMXPathException 54284 54285 2007-02-20 Timothy Hatcher <timothy (a] apple.com> 54286 54287 Reviewed by Darin. 54288 54289 <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed 54290 54291 Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes 54292 that have a finalizer that needs called on the main thread. 54293 54294 * WebCore.exp: 54295 * WebCore.xcodeproj/project.pbxproj: 54296 * bindings/objc/WebScriptObject.mm: 54297 (+[WebScriptObject initialize]): 54298 * bridge/mac/WebCoreScriptDebugger.mm: 54299 (+[WebCoreScriptDebugger initialize]): 54300 * platform/mac/SharedBufferMac.mm: 54301 (+[SharedBufferData initialize]): 54302 * platform/mac/WebCoreObjCExtras.c: Added. 54303 (WebCoreObjCFinalizeOnMainThread): 54304 * platform/mac/WebCoreObjCExtras.h: Added. 54305 54306 2007-02-20 Geoffrey Garen <ggaren (a] apple.com> 54307 54308 Not not reviewed by Mitz Pettel. 54309 54310 Fixed http://bugs.webkit.org/show_bug.cgi?id=12827 | <rdar://problem/5006671> 54311 REGRESSION: -[DOMCSSStyleDeclaration setValue:forKey:] doesn't have an 54312 immediate effect 54313 54314 Let's just pretend this never happened. 54315 54316 I attempted a layout test but I couldn't get the old code to fail because 54317 there's no obvious way to isolate the ObjC bindings in a test that's 54318 controlled by JS. 54319 54320 * bindings/objc/WebScriptObject.mm: 54321 (_didExecute): 54322 54323 2007-02-20 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 54324 54325 Reviewed by Maciej S. 54326 54327 Gdk build fixes for recent refactorings. 54328 54329 * Projects/gdk/webcore-gdk.bkl: 54330 * WebCoreSources.bkl: 54331 * page/gdk/DragControllerGdk.cpp: 54332 (WebCore::DragController::dragOperation): 54333 (WebCore::DragController::maxDragImageSize): 54334 * page/gdk/EventHandlerGdk.cpp: 54335 (WebCore::EventHandler::createDraggingClipboard): 54336 * platform/DragImage.h: 54337 * platform/gdk/ChromeClientGdk.h: 54338 * platform/gdk/CursorGdk.cpp: 54339 (WebCore::verticalTextCursor): 54340 (WebCore::cellCursor): 54341 (WebCore::contextMenuCursor): 54342 (WebCore::noDropCursor): 54343 (WebCore::copyCursor): 54344 (WebCore::progressCursor): 54345 (WebCore::aliasCursor): 54346 (WebCore::noneCursor): 54347 (WebCore::notAllowedCursor): 54348 * platform/gdk/EditorClientGdk.cpp: 54349 (WebCore::EditorClientGdk::shouldChangeSelectedRange): 54350 (WebCore::EditorClientGdk::isEditable): 54351 (WebCore::EditorClientGdk::textFieldDidBeginEditing): 54352 (WebCore::EditorClientGdk::textFieldDidEndEditing): 54353 (WebCore::EditorClientGdk::textDidChangeInTextField): 54354 (WebCore::EditorClientGdk::doTextFieldCommandFromEvent): 54355 (WebCore::EditorClientGdk::textWillBeDeletedInTextField): 54356 (WebCore::EditorClientGdk::textDidChangeInTextArea): 54357 * platform/gdk/EditorClientGdk.h: 54358 * platform/gdk/FrameGdk.cpp: 54359 (WebCore::Frame::print): 54360 (WebCore::Frame::issueTransposeCommand): 54361 (WebCore::Frame::respondToChangedSelection): 54362 (WebCore::Frame::cleanupPlatformScriptObjects): 54363 (WebCore::Frame::isCharacterSmartReplaceExempt): 54364 (WebCore::Frame::dragImageForSelection): 54365 * platform/gdk/FrameGdk.h: 54366 * platform/gdk/MimeTypeRegistryGdk.cpp: Added. 54367 * platform/gdk/TemporaryLinkStubs.cpp: 54368 (ChromeClientGdk::tabsToLinks): 54369 (ChromeClientGdk::windowResizerRect): 54370 (ChromeClientGdk::addToDirtyRegion): 54371 (ChromeClientGdk::scrollBackingStore): 54372 (ChromeClientGdk::updateBackingStore): 54373 * webcore-base.bkl: 54374 54375 2007-02-20 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 54376 54377 Reviewed by Darin. 54378 54379 Allow over-writting Product, ProductSub, Vendor and VendorSub 54380 js properties via #define WEBCORE_NAVIGATOR_* 54381 54382 * bindings/js/kjs_navigator.cpp: 54383 (KJS::Navigator::getValueProperty): 54384 54385 2007-02-20 Darin Adler <darin (a] apple.com> 54386 54387 Reviewed by Anders. 54388 54389 - prepare to fix some "stop loading" bugs by moving state from the 54390 FrameLoader class to the DocumentLoader class 54391 54392 * WebCore.exp: Update since cancelMainResourceLoad is now on the document loader. 54393 54394 * html/HTMLDocument.h: 54395 * html/HTMLDocument.cpp: 54396 (WebCore::HTMLDocument::HTMLDocument): Removed unused bodyElement and htmlElement 54397 data members. 54398 (WebCore::HTMLDocument::lastModified): Call getResponseModifiedHeader directly on 54399 the document loader. 54400 54401 * loader/DocumentLoader.h: Moved m_mainResourceLoader, m_subresourceLoaders, and 54402 m_plugInStreamLoaders here. 54403 * loader/DocumentLoader.cpp: 54404 (WebCore::cancelAll): Moved here from FrameLoader. 54405 (WebCore::setAllDefersLoading): Ditto. 54406 (WebCore::DocumentLoader::mainResourceData): Moved the body of FrameLoader's 54407 mainResourceData function here. 54408 (WebCore::DocumentLoader::stopLoading): Replaced calls to hasMainResourceLoader 54409 and cancelMainResourceLoad with code that works directly on m_mainResourceLoader. 54410 Call the stop functions moved from FrameLoader here on ourselves. 54411 (WebCore::DocumentLoader::setupForReplaceByMIMEType): Ditto. 54412 (WebCore::DocumentLoader::setPrimaryLoadComplete): Moved the code to store the 54413 main resource data here; it doesn't require separate functions. 54414 (WebCore::DocumentLoader::isLoadingInAPISense): Removed call to isLoadingSubresources 54415 and instead just check if the m_subresourceLoaders set is empty. 54416 (WebCore::DocumentLoader::setDefersLoading): Moved code here from FrameLoader. 54417 (WebCore::DocumentLoader::stopLoadingPlugIns): Ditto. 54418 (WebCore::DocumentLoader::stopLoadingSubresources): Ditto. 54419 (WebCore::DocumentLoader::addSubresourceLoader): Ditto. 54420 (WebCore::DocumentLoader::removeSubresourceLoader): Ditto. 54421 (WebCore::DocumentLoader::addPlugInStreamLoader): Ditto. 54422 (WebCore::DocumentLoader::removePlugInStreamLoader): Ditto. 54423 (WebCore::DocumentLoader::isLoadingSubresources): Ditto. 54424 (WebCore::DocumentLoader::isLoadingPlugIns): Ditto. 54425 (WebCore::DocumentLoader::startLoadingMainResource): Ditto. 54426 (WebCore::DocumentLoader::cancelMainResourceLoad): Ditto. 54427 54428 * loader/FrameLoader.h: Removed stopLoadingPlugIns, stopLoadingSubresources, 54429 cancelMainResourceLoad, hasMainResourceLoader, isLoadingSubresources, 54430 mainResourceData, releaseMainResourceLoader, lastModified, startLoadingMainResource, 54431 isLoadingPlugIns, m_mainResourceLoader, m_subresourceLoaders, m_plugInStreamLoaders, 54432 m_responseRefreshHeader, and m_responseModifiedHeader. 54433 * loader/FrameLoader.cpp: 54434 (WebCore::FrameLoader::setDefersLoading): Call setDefersLoading on all the document 54435 loaders. 54436 (WebCore::FrameLoader::stopLoading): Get rid of code to set m_responseRefreshHeader 54437 and m_responseModifiedHeader. 54438 (WebCore::FrameLoader::receivedFirstData): Call httpHeaderField on the response 54439 here to get the Refresh, instead of storing it in a data member. 54440 (WebCore::FrameLoader::addPlugInStreamLoader): Change to just call this on the 54441 document loader. 54442 (WebCore::FrameLoader::removePlugInStreamLoader): Ditto. 54443 (WebCore::FrameLoader::isLoading): Change to call isLoadingSubresources and 54444 isLoadingPlugIns on the document loader. 54445 (WebCore::FrameLoader::addSubresourceLoader): Change to just call this on the 54446 document loader. 54447 (WebCore::FrameLoader::removeSubresourceLoader): Ditto. 54448 (WebCore::FrameLoader::commitProvisionalLoad): Call stopLoadingSubresources and 54449 stopLoadingPlugIns on the document loader. Removed code to set 54450 m_responseModifiedHeader. 54451 (WebCore::FrameLoader::startLoading): Call isLoadingMainResource and 54452 startLoadingMainResource on the document loader. 54453 54454 * loader/ImageDocument.cpp: (WebCore::ImageTokenizer::finish): Call 54455 mainResourceData() on the document loader instead of the frame loader. 54456 54457 - other changes 54458 54459 * loader/DocLoader.cpp: 54460 (WebCore::DocLoader::checkCacheObjectStatus): Fixed indentation. 54461 54462 2007-02-20 Zack Rusin <zrusin (a] trolltech.com> 54463 54464 Reviewed by Lars 54465 54466 Fix focus handling and make the forms 54467 work as expected. 54468 54469 * platform/qt/ScrollViewQt.cpp: 54470 (WebCore::ScrollView::setScrollArea): 54471 * platform/qt/WidgetQt.cpp: 54472 (WebCore::WidgetPrivate::WidgetPrivate): 54473 (WebCore::WidgetPrivate::canvas): 54474 (WebCore::Widget::hasFocus): 54475 (WebCore::Widget::setFocus): 54476 (WebCore::Widget::clearFocus): 54477 (WebCore::Widget::setFont): 54478 (WebCore::Widget::setQWidget): 54479 (WebCore::Widget::focusPolicy): 54480 54481 2007-02-20 Mitz Pettel <mitz (a] webkit.org> 54482 54483 Reviewed by Darin and then Sam. 54484 54485 - fix http://bugs.webkit.org/show_bug.cgi?id=10735 54486 Clicking in SVG results causes WebKit to consume 100% CPU for several minutes 54487 54488 No test since there is no change in functionality. 54489 54490 * CMakeLists.txt: 54491 * WebCore.pro: 54492 * WebCore.xcodeproj/project.pbxproj: Added PositionIterator.{cpp,h}. 54493 * WebCoreSources.bkl: 54494 * dom/Position.cpp: 54495 (WebCore::Position::Position): Added converting constructor from 54496 PositionIterator. 54497 (WebCore::Position::previous): Changed assert() to ASSERT(). 54498 (WebCore::Position::next): Ditto. 54499 (WebCore::isStreamer): Changed the argument to a PositionIterator. 54500 (WebCore::Position::upstream): Changed to use PositionIterator. 54501 (WebCore::Position::downstream): Ditto. 54502 (WebCore::Position::inRenderedText): Made public. 54503 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): Changed 54504 into a static member function. 54505 (WebCore::Position::nodeIsUserSelectNone): Ditto. 54506 * dom/Position.h: 54507 * dom/PositionIterator.cpp: Added. A Position iterator with constant-time 54508 increment, decrement, and several predicates on the Position it is at. 54509 Conversion to/from Position is O(n) in the offset. 54510 (WebCore::PositionIterator::increment): 54511 (WebCore::PositionIterator::decrement): 54512 (WebCore::PositionIterator::atStart): 54513 (WebCore::PositionIterator::atEnd): 54514 (WebCore::PositionIterator::atStartOfNode): 54515 (WebCore::PositionIterator::atEndOfNode): 54516 (WebCore::PositionIterator::isCandidate): 54517 * dom/PositionIterator.h: Added. 54518 (WebCore::PositionIterator::PositionIterator): 54519 (WebCore::PositionIterator::node): 54520 (WebCore::PositionIterator::offsetInLeafNode): 54521 * editing/htmlediting.cpp: 54522 (WebCore::nextCandidate): Changed to use PositionIterator. 54523 (WebCore::previousCandidate): Changed to use PositionIterator. 54524 54525 2007-02-20 Rob Buis <buis (a] kde.org> 54526 54527 Reviewed by Darin. 54528 54529 http://bugs.webkit.org/show_bug.cgi?id=12439 54530 SVG parser complains about points attribute in polygon and polyline element 54531 54532 Return true when the parsed points specification is valid. 54533 54534 * ksvg2/svg/SVGParserUtilities.cpp: 54535 (WebCore::parseNumber): 54536 (WebCore::SVGPolyParser::parsePoints): 54537 * ksvg2/svg/SVGPolyElement.cpp: 54538 (WebCore::SVGPolyElement::parseMappedAttribute): 54539 54540 2007-02-20 Zack Rusin <zrusin (a] trolltech.com> 54541 54542 Reviewed by Lars 54543 54544 Make editing of forms work plus make sure that non-void methods 54545 always return something. 54546 54547 * WebCore.pro: 54548 * loader/qt/DocumentLoaderQt.cpp: 54549 (WebCore::DocumentLoader::getResponseModifiedHeader): 54550 * platform/qt/ClipboardQt.cpp: 54551 (WebCore::ClipboardQt::setData): 54552 54553 2007-02-20 Zack Rusin <zrusin (a] trolltech.com> 54554 54555 Reviewed by Lars 54556 54557 Refactor and fix the implementation of theming of 54558 form elements on the Qt platform. 54559 54560 * platform/qt/RenderThemeQt.cpp: 54561 (WebCore::theme): 54562 (WebCore::RenderThemeQt::RenderThemeQt): 54563 (WebCore::RenderThemeQt::supportsHover): 54564 (WebCore::RenderThemeQt::supportsFocusRing): 54565 (WebCore::RenderThemeQt::baselinePosition): 54566 (WebCore::RenderThemeQt::controlSupportsTints): 54567 (WebCore::RenderThemeQt::supportsControlTints): 54568 (WebCore::RenderThemeQt::adjustRepaintRect): 54569 (WebCore::RenderThemeQt::paintResizeControl): 54570 (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor): 54571 (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor): 54572 (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor): 54573 (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor): 54574 (WebCore::RenderThemeQt::systemFont): 54575 (WebCore::RenderThemeQt::minimumMenuListSize): 54576 (WebCore::RenderThemeQt::adjustSliderThumbSize): 54577 (WebCore::RenderThemeQt::paintCheckbox): 54578 (WebCore::RenderThemeQt::paintRadio): 54579 (WebCore::RenderThemeQt::setRadioSize): 54580 (WebCore::RenderThemeQt::adjustButtonStyle): 54581 (WebCore::RenderThemeQt::setButtonSize): 54582 (WebCore::RenderThemeQt::adjustTextFieldStyle): 54583 (WebCore::RenderThemeQt::adjustMenuListStyle): 54584 (WebCore::RenderThemeQt::paintMenuList): 54585 (WebCore::RenderThemeQt::paintMenuListButton): 54586 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 54587 (WebCore::RenderThemeQt::paintSliderTrack): 54588 (WebCore::RenderThemeQt::paintSliderThumb): 54589 (WebCore::RenderThemeQt::paintSearchField): 54590 (WebCore::RenderThemeQt::adjustSearchFieldStyle): 54591 (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): 54592 (WebCore::RenderThemeQt::paintSearchFieldCancelButton): 54593 (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle): 54594 (WebCore::RenderThemeQt::paintSearchFieldDecoration): 54595 (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle): 54596 (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration): 54597 (WebCore::RenderThemeQt::supportsFocus): 54598 (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo): 54599 (WebCore::RenderThemeQt::applyTheme): 54600 (WebCore::RenderThemeQt::setSizeFromFont): 54601 (WebCore::RenderThemeQt::sizeForFont): 54602 (WebCore::RenderThemeQt::setButtonPadding): 54603 (WebCore::RenderThemeQt::setPopupPadding): 54604 (WebCore::RenderThemeQt::setPrimitiveSize): 54605 * platform/qt/RenderThemeQt.h: Added. 54606 54607 2007-02-19 Lars Naesbye Christensen <lars (a] naesbye.dk> 54608 54609 Reviewed by Maciej. 54610 54611 http://bugs.webkit.org/show_bug.cgi?id=12815 54612 Two image files not included in project file 54613 54614 * WebCore.xcodeproj/project.pbxproj: Added crossHairCursor.png and 54615 notAllowedCursor.png. 54616 54617 2007-02-19 Geoffrey Garen <ggaren (a] apple.com> 54618 54619 Reviewed by Adam Roben. 54620 54621 Fixed some leaks in RenderThemeMac. 54622 54623 No test case because 'leaks' can't detect these leaks inside DRT, even if 54624 DRT forces the WebView to paint. ('leaks' can detect these leaks inside 54625 Safari. Weird.) 54626 54627 * rendering/RenderThemeMac.h: 54628 - Renamed data members to m_*, to match our style guidelines. 54629 - Renamed *Is* to is**, to match our style guidelines. 54630 - Removed a few unnecessary data members. 54631 - Made cached values like m_checkbox mutable, since they can change 54632 inside functions that don't change the logical state of a RenderTheme 54633 object. (The alternative was to make some const functions non-const.) 54634 54635 (WebCore::RenderThemeMac::paintMenuList): Took CFType pointers that just 54636 used to leak and placed them in RetainPtrs. 54637 (WebCore::RenderThemeMac::paintMenuListButtonGradients): ditto 54638 54639 Factored inline implementations of lazy initialization into these accessor 54640 functions, for better encapsulation: 54641 54642 (WebCore::RenderThemeMac::checkbox): 54643 (WebCore::RenderThemeMac::radio): 54644 (WebCore::RenderThemeMac::button): 54645 (WebCore::RenderThemeMac::popupButton): 54646 (WebCore::RenderThemeMac::search): 54647 (WebCore::RenderThemeMac::sliderThumbHorizontal): The inline version of 54648 this initialization used to confuse the retained data member with a local 54649 stack value, causing both a leak and a failure to initialize. Fixed now. 54650 (WebCore::RenderThemeMac::sliderThumbVertical): ditto 54651 (WebCore::RenderThemeMac::resizeCornerImage): 54652 54653 2007-02-19 Mitz Pettel <mitz (a] webkit.org> 54654 54655 Reviewed by Hyatt. 54656 54657 - fix http://bugs.webkit.org/show_bug.cgi?id=12817 54658 REGRESSION (r18634): Table border-collapse problems with right margin 54659 54660 Test: fast/repaint/table-outer-border.html 54661 54662 * rendering/RenderTable.cpp: 54663 (WebCore::RenderTable::layout): Reordered to initialize horizontal overflow 54664 after table sections have computed their outer horizontal borders. 54665 54666 2007-02-19 John Sullivan <sullivan (a] apple.com> 54667 54668 Reviewed by Darin 54669 54670 - fixed <rdar://problem/4613701> REGRESSION: A line break in the source HTML of a link becomes visible after drag & drop 54671 54672 * page/DragController.cpp: 54673 (WebCore::DragController::startDrag): 54674 Call simplifyWhiteSpace() on the proposed link title to match what's displayed on the web page, instead of using the 54675 raw source HTML text. 54676 54677 2007-02-19 David Hyatt <hyatt (a] apple.com> 54678 54679 Fix for Radar 4981605, regression where button grows randomly when a select is 54680 opened. With the new form controls, the WinIE quirk for using line width 54681 ended up being used for them more. 54682 54683 This patch removes the quirk after verifying that Firefox doesn't implement 54684 the quirk at all. usesLineWidth is being renamed to shrinksToAvoidFloats to 54685 make it clear that the new method only applies to block objects that avoid floats 54686 and that have auto width. 54687 54688 Also fixed a regression where whitespace after a floating <select> at the start 54689 of a block got incorrectly rendered. Make sure skipWhitespace always skips 54690 through floating/positioned elements regardless of the whitespace setting (this 54691 way the white-space:pre value on floating <select>s doesn't cause trouble). 54692 54693 Reviewed by darin 54694 54695 fast/block/float/float-avoidance.html 54696 54697 * rendering/RenderBlock.cpp: 54698 (WebCore::RenderBlock::collapseMargins): 54699 (WebCore::RenderBlock::clearFloatsIfNeeded): 54700 (WebCore::RenderBlock::layoutBlockChildren): 54701 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): 54702 * rendering/RenderBox.cpp: 54703 (WebCore::RenderBox::containingBlockWidth): 54704 * rendering/RenderObject.cpp: 54705 (WebCore::RenderObject::shrinkToAvoidFloats): 54706 * rendering/RenderObject.h: 54707 * rendering/bidi.cpp: 54708 (WebCore::RenderBlock::skipWhitespace): 54709 54710 2007-02-19 Zalan Bujtas <zbujtas (a] gmail.com> 54711 54712 Reviewed by Darin. 54713 54714 Update stylesheet href, when document's baseUrl changes. It needs 54715 update when the stylesheet is constructed before the parser hits the base tag. 54716 http://bugs.webkit.org/show_bug.cgi?id=12214 54717 54718 * css/StyleSheet.h: 54719 (WebCore::StyleSheet::setHref): 54720 * dom/Document.cpp: 54721 (WebCore::Document::setBaseURL): 54722 * dom/Document.h: 54723 54724 2007-02-19 Mitz Pettel <mitz (a] webkit.org> 54725 54726 Reviewed by Adam. 54727 54728 - fix http://bugs.webkit.org/show_bug.cgi?id=11518 54729 REGRESSION (r14376): View Source not available after Back navigation from a non-HTML page 54730 54731 The FrameLoader's responseMIMEType was not being updated when a page was 54732 brought back from the page cache. 54733 54734 Moved the line that updates the MIME type from commitProvisionalLoad() to 54735 transitionToCommitted(). 54736 54737 * loader/FrameLoader.cpp: 54738 (WebCore::FrameLoader::commitProvisionalLoad): 54739 (WebCore::FrameLoader::transitionToCommitted): 54740 54741 2007-02-19 Anders Carlsson <acarlsson (a] apple.com> 54742 54743 Reviewed by Oliver. 54744 54745 Make DragController::maxDragImageSize a function to get rid of the global initializer. 54746 54747 * page/DragController.cpp: 54748 (WebCore::DragController::doImageDrag): 54749 * page/DragController.h: 54750 * page/mac/DragControllerMac.mm: 54751 (WebCore::DragController::maxDragImageSize): 54752 * page/qt/DragControllerQt.cpp: 54753 (WebCore::DragController::maxDragImageSize): 54754 54755 2007-02-19 Darin Adler <darin (a] apple.com> 54756 54757 Reviewed by Hyatt. 54758 54759 - <rdar://problem/5006414> REGRESSION: Crash occurs at WebCore::Frame::loader() 54760 when loading AFL Ladder widget 54761 54762 * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::openURL): 54763 Add missing null check so this fails without crashing when called on an element 54764 that's no longer in a frame. 54765 54766 2007-02-19 Antti Koivisto <antti (a] apple.com> 54767 54768 Reviewed by Mitz. 54769 54770 - fix for http://bugs.webkit.org/show_bug.cgi?id=10990 54771 REGRESSION: Pressing a pop-up's access key doesn't focus it 54772 <rdar://problem/4823138> 54773 54774 Focus the select element too in accessKeyAction. 54775 54776 * html/HTMLSelectElement.cpp: 54777 (WebCore::HTMLSelectElement::accessKeyAction): 54778 54779 2007-02-18 Antti Koivisto <antti (a] apple.com> 54780 54781 Reviewed by Hyatt. 54782 54783 - really fix http://bugs.webkit.org/show_bug.cgi?id=11974 54784 REGRESSION: Caret drawn over input when smaller than font size on initial focus 54785 <rdar://problem/4960258> 54786 54787 Avoid double painting caret when it is on a block element. 54788 54789 Layout test for this already went in previous try (it only fails in pixel mode) in r19626. 54790 54791 * rendering/RenderBlock.cpp: 54792 (WebCore::RenderBlock::paintCaret): 54793 54794 2007-02-19 Lars Knoll <lars (a] trolltech.com> 54795 54796 Added a one line patch from Olliej to create the 54797 clipboard on demand (to stop things from crashing), 54798 and added lots of notImplemented() warnings all 54799 over the place. 54800 54801 * platform/qt/ClipboardQt.cpp: 54802 (WebCore::ClipboardQt::ClipboardQt): 54803 (WebCore::ClipboardQt::clearData): 54804 (WebCore::ClipboardQt::clearAllData): 54805 (WebCore::ClipboardQt::getData): 54806 (WebCore::ClipboardQt::setData): 54807 (WebCore::ClipboardQt::types): 54808 (WebCore::ClipboardQt::dragLocation): 54809 (WebCore::ClipboardQt::dragImage): 54810 (WebCore::ClipboardQt::setDragImage): 54811 (WebCore::ClipboardQt::dragImageElement): 54812 (WebCore::ClipboardQt::setDragImageElement): 54813 (WebCore::ClipboardQt::createDragImage): 54814 (WebCore::ClipboardQt::declareAndWriteDragImage): 54815 (WebCore::ClipboardQt::writeURL): 54816 (WebCore::ClipboardQt::writeRange): 54817 (WebCore::ClipboardQt::hasData): 54818 * platform/qt/DragDataQt.cpp: 54819 (WebCore::DragData::canSmartReplace): 54820 (WebCore::DragData::containsColor): 54821 (WebCore::DragData::containsPlainText): 54822 (WebCore::DragData::asPlainText): 54823 (WebCore::DragData::asColor): 54824 (WebCore::DragData::createClipboard): 54825 (WebCore::DragData::containsCompatibleContent): 54826 (WebCore::DragData::containsURL): 54827 (WebCore::DragData::asURL): 54828 (WebCore::DragData::asFragment): 54829 54830 2007-02-19 Lars Knoll <lars (a] trolltech.com> 54831 54832 Compile again. 54833 54834 * platform/qt/ClipboardQt.cpp: 54835 (WebCore::ClipboardQt::types): 54836 54837 2007-02-17 Lars Knoll <lars (a] trolltech.com> 54838 54839 Reviewed by Maciej. 54840 54841 Additional coding by Maciej, additional review by Oliver. 54842 54843 Get rid of the FrameMac and FrameQt classes. Instead 54844 move all methods into Frame directly, and implement 54845 some platform specific methods in foo/FrameFoo.cpp. 54846 54847 Some general cleanup in Frame: 54848 * Move some methods out of Frame, to the place where they 54849 belong. 54850 * Unify the different ways of creating the JavaScript wrappers 54851 for <object>, <embed> and <applet> 54852 * Some cleanup of the WebCoreFrameBridge 54853 54854 * ForwardingHeaders/bindings/NP_jsobject.h: Added. 54855 * ForwardingHeaders/bindings/npruntime_impl.h: Added. 54856 * ForwardingHeaders/bindings/runtime_root.h: Added. 54857 * WebCore.exp: 54858 * WebCore.xcodeproj/project.pbxproj: 54859 * bindings/js/kjs_binding.cpp: 54860 (KJS::ScriptInterpreter::shouldInterruptScript): 54861 * bindings/objc/DOM.mm: 54862 (-[DOMNode KJS::Bindings::]): 54863 * bindings/objc/DOMInternal.mm: 54864 (-[WebScriptObject _initializeScriptDOMNodeImp]): 54865 * bridge/EditorClient.h: 54866 * bridge/mac/FrameViewMac.mm: 54867 (WebCore::FrameView::updateBorder): 54868 (WebCore::FrameView::updateDashboardRegions): 54869 * bridge/mac/WebCoreAXObject.mm: 54870 (-[WebCoreAXObject rendererForView:]): 54871 * dom/Position.cpp: 54872 (WebCore::Position::next): 54873 * editing/CommandByName.cpp: 54874 (WebCore::Frame::execCopy): 54875 (WebCore::Frame::execCut): 54876 (WebCore::Frame::execPaste): 54877 * editing/Editor.cpp: 54878 (WebCore::Editor::canEdit): 54879 (WebCore::Editor::pasteWithPasteboard): 54880 (WebCore::Editor::paste): 54881 (WebCore::Editor::pasteAsPlainText): 54882 * editing/Editor.h: 54883 * editing/JSEditor.cpp: 54884 * html/HTMLAppletElement.cpp: 54885 (WebCore::HTMLAppletElement::getInstance): 54886 * html/HTMLEmbedElement.cpp: 54887 (WebCore::HTMLEmbedElement::getInstance): 54888 * html/HTMLFormElement.cpp: 54889 (WebCore::HTMLFormElement::formData): 54890 * html/HTMLObjectElement.cpp: 54891 (WebCore::HTMLObjectElement::getInstance): 54892 * loader/FrameLoader.cpp: 54893 (WebCore::FrameLoader::clear): 54894 (WebCore::FrameLoader::detachFromParent): 54895 * loader/mac/ImageDocumentMac.mm: 54896 (WebCore::finishImageLoad): 54897 * loader/qt/DocumentLoaderQt.cpp: 54898 * page/Chrome.cpp: 54899 (WebCore::Chrome::shouldInterruptJavaScript): 54900 * page/Chrome.h: 54901 * page/ChromeClient.h: 54902 * page/Frame.cpp: 54903 (WebCore::Frame::~Frame): 54904 (WebCore::Frame::markedTextRange): 54905 (WebCore::Frame::shouldChangeSelection): 54906 (WebCore::Frame::shouldDeleteSelection): 54907 (WebCore::Frame::isContentEditable): 54908 (WebCore::Frame::setSecureKeyboardEntry): 54909 (WebCore::Frame::isSecureKeyboardEntry): 54910 (WebCore::Frame::bindingRootObject): 54911 (WebCore::Frame::createRootObject): 54912 (WebCore::Frame::windowScriptNPObject): 54913 (WebCore::Frame::cleanupScriptObjects): 54914 (WebCore::FramePrivate::FramePrivate): 54915 * page/Frame.h: 54916 * page/FramePrivate.h: 54917 * page/FrameView.h: 54918 * page/mac/EventHandlerMac.mm: 54919 (WebCore::EventHandler::tabsToLinks): 54920 (WebCore::EventHandler::tabsToAllControls): 54921 (WebCore::EventHandler::focusDocumentView): 54922 (WebCore::EventHandler::passMouseDownEventToWidget): 54923 (WebCore::EventHandler::handleDrag): 54924 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): 54925 (WebCore::EventHandler::keyboardUIMode): 54926 * page/mac/FrameMac.h: Removed. 54927 * page/mac/FrameMac.mm: 54928 (WebCore::Frame::setBridge): 54929 (WebCore::Frame::bridge): 54930 (WebCore::Frame::searchForLabelsAboveCell): 54931 (WebCore::Frame::searchForLabelsBeforeElement): 54932 (WebCore::Frame::matchLabelsAgainstElement): 54933 (WebCore::Frame::focusWindow): 54934 (WebCore::Frame::unfocusWindow): 54935 (WebCore::Frame::imageFromRect): 54936 (WebCore::Frame::selectionImage): 54937 (WebCore::Frame::snapshotDragImage): 54938 (WebCore::Frame::fontAttributesForSelectionStart): 54939 (WebCore::Frame::baseWritingDirectionForSelectionStart): 54940 (WebCore::Frame::print): 54941 (WebCore::Frame::issuePasteCommand): 54942 (WebCore::Frame::issueTransposeCommand): 54943 (WebCore::Frame::respondToChangedSelection): 54944 (WebCore::Frame::textFieldDidBeginEditing): 54945 (WebCore::Frame::textFieldDidEndEditing): 54946 (WebCore::Frame::textDidChangeInTextField): 54947 (WebCore::Frame::textDidChangeInTextArea): 54948 (WebCore::Frame::doTextFieldCommandFromEvent): 54949 (WebCore::Frame::textWillBeDeletedInTextField): 54950 (WebCore::Frame::setSecureKeyboardEntry): 54951 (WebCore::Frame::isSecureKeyboardEntry): 54952 (WebCore::Frame::setMarkedTextRange): 54953 (WebCore::Frame::dashboardRegionsDictionary): 54954 (WebCore::Frame::dashboardRegionsChanged): 54955 (WebCore::Frame::willPopupMenu): 54956 (WebCore::Frame::isCharacterSmartReplaceExempt): 54957 (WebCore::Frame::setNeedsReapplyStyles): 54958 (WebCore::Frame::customHighlightLineRect): 54959 (WebCore::Frame::paintCustomHighlight): 54960 (WebCore::Frame::createScriptInstanceForWidget): 54961 (WebCore::Frame::windowScriptObject): 54962 (WebCore::Frame::cleanupPlatformScriptObjects): 54963 * page/mac/WebCoreFrameBridge.h: 54964 * page/mac/WebCoreFrameBridge.mm: 54965 (createRootObject): 54966 (bridge): 54967 (-[WebCoreFrameBridge _frame]): 54968 * page/qt/EventHandlerQt.cpp: 54969 * page/qt/FrameQt.cpp: 54970 (WebCore::Frame::unfocusWindow): 54971 (WebCore::Frame::focusWindow): 54972 (WebCore::Frame::issueTransposeCommand): 54973 (WebCore::Frame::respondToChangedSelection): 54974 (WebCore::Frame::print): 54975 (WebCore::Frame::createScriptInstanceForWidget): 54976 (WebCore::Frame::cleanupPlatformScriptObjects): 54977 (WebCore::Frame::isCharacterSmartReplaceExempt): 54978 * page/qt/FrameQt.h: Removed. 54979 * platform/MimeTypeRegistry.h: 54980 * platform/graphics/svg/SVGImage.cpp: 54981 (WebCore::SVGImage::setData): 54982 * platform/graphics/svg/SVGImageEmptyClients.h: 54983 (WebCore::SVGEmptyChromeClient::shouldInterruptJavaScript): 54984 (WebCore::SVGEmptyEditorClient::shouldChangeSelectedRange): 54985 * platform/mac/ClipboardMac.h: 54986 * platform/mac/ClipboardMac.mm: 54987 (WebCore::ClipboardMac::ClipboardMac): 54988 * platform/mac/FileChooserMac.mm: 54989 (-[OpenPanelController beginSheetWithFrame:]): 54990 * platform/mac/MimeTypeRegistryMac.mm: 54991 (WebCore::MimeTypeRegistry::getMIMETypeForPath): 54992 * platform/mac/PopupMenuMac.mm: 54993 (WebCore::PopupMenu::show): 54994 * platform/mac/WidgetMac.mm: 54995 (WebCore::Widget::setFocus): 54996 (WebCore::Widget::setIsSelected): 54997 * platform/network/mac/ResourceHandleMac.mm: 54998 * platform/network/qt/ResourceHandleManagerQt.cpp: 54999 * platform/network/qt/ResourceHandleQt.cpp: 55000 (WebCore::ResourceHandle::start): 55001 * platform/qt/MimeTypeRegistryQt.cpp: 55002 (WebCore::MimeTypeRegistry::getMIMETypeForPath): 55003 * platform/qt/PopupMenuQt.cpp: 55004 * platform/qt/ScrollViewCanvasQt.cpp: 55005 * platform/qt/ScrollViewQt.cpp: 55006 * platform/win/TemporaryLinkStubs.cpp: 55007 * rendering/InlineTextBox.cpp: 55008 (WebCore::InlineTextBox::paintCustomHighlight): 55009 * rendering/RenderBox.cpp: 55010 (WebCore::RenderBox::paintCustomHighlight): 55011 * rendering/RootInlineBox.cpp: 55012 (WebCore::RootInlineBox::addHighlightOverflow): 55013 (WebCore::RootInlineBox::paintCustomHighlight): 55014 55015 2007-02-18 Oliver Hunt <oliver (a] apple.com> 55016 55017 Reviewed by NOBODY (Buildfix). 55018 55019 Oops, missed a 'const' 55020 55021 * platform/qt/ClipboardQt.h: 55022 55023 2007-02-18 Oliver Hunt <oliver (a] apple.com> 55024 55025 Reviewed by Adam. 55026 55027 Adding stubbed out implementation of Clipboard for Qt to stop 55028 it crashing whenever someone drags the mouse. 55029 55030 * WebCore.pro: 55031 * page/qt/EventHandlerQt.cpp: 55032 (WebCore::EventHandler::createDraggingClipboard): 55033 * platform/qt/ClipboardQt.cpp: Added. 55034 (WebCore::ClipboardQt::ClipboardQt): 55035 (WebCore::ClipboardQt::clearData): 55036 (WebCore::ClipboardQt::clearAllData): 55037 (WebCore::ClipboardQt::getData): 55038 (WebCore::ClipboardQt::setData): 55039 (WebCore::ClipboardQt::types): 55040 (WebCore::ClipboardQt::dragLocation): 55041 (WebCore::ClipboardQt::dragImage): 55042 (WebCore::ClipboardQt::setDragImage): 55043 (WebCore::ClipboardQt::dragImageElement): 55044 (WebCore::ClipboardQt::setDragImageElement): 55045 (WebCore::ClipboardQt::createDragImage): 55046 (WebCore::ClipboardQt::declareAndWriteDragImage): 55047 (WebCore::ClipboardQt::writeURL): 55048 (WebCore::ClipboardQt::writeRange): 55049 (WebCore::ClipboardQt::hasData): 55050 * platform/qt/ClipboardQt.h: Added. 55051 (WebCore::ClipboardQt::~ClipboardQt): 55052 (WebCore::ClipboardQt::isForDragging): 55053 55054 2007-02-18 Oliver Hunt <oliver (a] apple.com> 55055 55056 Reviewed by Adam. 55057 55058 Don't even attempt to do a document based drag if there isn't a document 55059 Fixes rdar://problem/4960109 55060 55061 * page/DragController.cpp: 55062 (WebCore::DragController::tryDocumentDrag): 55063 Null check m_document 55064 (WebCore::DragController::tryDHTMLDrag): 55065 ASSERT(m_document) -- tryDocumentDrag is the only 55066 thing that will ever call us, but lets play it safe 55067 55068 2007-02-18 Adam Roben <aroben (a] apple.com> 55069 55070 Reviewed by Hyatt. 55071 55072 A little preparation for <rdar://problem/5006872>. 55073 55074 * platform/PopupMenu.h: 55075 55076 2007-02-18 Alexey Proskuryakov <ap (a] webkit.org> 55077 55078 Reviewed by Adele. 55079 55080 http://bugs.webkit.org/show_bug.cgi?id=12807 55081 XPath incorrectly converts NaN to boolean 55082 55083 Test: fast/xpath/nan-to-boolean.html 55084 55085 * xml/XPathValue.cpp: 55086 (WebCore::XPath::Value::toBoolean): Convert NaN to false. 55087 * xml/XPathFunctions.cpp: 55088 (WebCore::XPath::FunSubstringAfter::doEvaluate): Fix substring-after to actually work. 55089 55090 2007-02-18 Mitz Pettel <mitz (a] webkit.org> 55091 55092 Reviewed by Hyatt. 55093 55094 - fix http://bugs.webkit.org/show_bug.cgi?id=12123 55095 REGRESSION: Incomplete repaint of floats' overflows 55096 55097 Tests: fast/repaint/float-overflow.html 55098 fast/repaint/float-overflow-right.html 55099 fast/repaint/table-cell-vertical-overflow.html 55100 55101 - fix http://bugs.webkit.org/show_bug.cgi?id=10116 55102 REGRESSION: Menu item drawn 2 pixels short on WWDC 2006 Attendee Site 55103 55104 Reflected in existing test results. 55105 55106 Unified floats and overflow for the purposes of painting and hit-testing. 55107 Overhanging and overflowing floats are now factored into a block's overflow 55108 unless their painting has been propagated to an ancestor. 55109 55110 Changed table cells to no longer expand to enclose overflow, thus making 55111 it purely "visual overflow", having no effect on layout in WebCore. It 55112 still determines scrolling dimensions. 55113 55114 * rendering/InlineFlowBox.cpp: 55115 (WebCore::InlineFlowBox::placeBoxesHorizontally): Include inline blocks' 55116 horizontal overflow in the inline box's dimensions. 55117 * rendering/RenderBlock.cpp: 55118 (WebCore::RenderBlock::layoutBlock): Removed the expand to enclose overflows 55119 behavior. Added code to add this block's floats (and their overflow) to its 55120 overflow rect if it is not in a block formatting context. Otherwise, the 55121 inclusion of floats in the overflow is deferred until this block's parent 55122 examines its floats and possibly adopts overhanging floats. 55123 (WebCore::RenderBlock::layoutBlockChildren): 55124 (WebCore::RenderBlock::paint): 55125 (WebCore::RenderBlock::floatRect): Made non-virtual and changed to return an empty 55126 rect if there are no floats or the floats are clipped, instead of returning the border 55127 box. 55128 (WebCore::RenderBlock::addOverhangingFloats): Any floats of the child that 55129 are not to be painted by the parent are added to the child's overflow rect. 55130 (WebCore::RenderBlock::addVisualOverflow): Added. Adjusts the overflow 55131 bounds to include the given rect. 55132 (WebCore::RenderBlock::nodeAtPoint): 55133 * rendering/RenderBlock.h: 55134 * rendering/RenderFlexibleBox.cpp: 55135 (WebCore::RenderFlexibleBox::layoutBlock): 55136 (WebCore::RenderFlexibleBox::layoutHorizontalBox): After placing a normal 55137 child, add its floats to its overflow, since painting of floats does not 55138 propagate to flexible boxes. 55139 (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto. 55140 * rendering/RenderForeignObject.cpp: 55141 (WebCore::RenderForeignObject::layout): 55142 * rendering/RenderHTMLCanvas.cpp: 55143 (WebCore::RenderHTMLCanvas::layout): 55144 * rendering/RenderImage.cpp: 55145 (WebCore::RenderImage::layout): 55146 * rendering/RenderLayer.cpp: 55147 (WebCore::RenderLayer::updateLayerPositions): 55148 (WebCore::RenderLayer::absoluteBoundingBox): 55149 * rendering/RenderLayer.h: 55150 * rendering/RenderObject.cpp: 55151 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 55152 * rendering/RenderObject.h: 55153 (WebCore::RenderObject::expandsToEncloseOverhangingFloats): 55154 * rendering/RenderPath.cpp: 55155 (WebCore::RenderPath::layout): 55156 * rendering/RenderSVGContainer.cpp: 55157 (WebCore::RenderSVGContainer::layout): 55158 * rendering/RenderSVGText.cpp: 55159 (WebCore::RenderSVGText::layout): 55160 * rendering/RenderTable.h: Removed the override of overflowHeight() since now tables can have 55161 vertical overflow. 55162 * rendering/RenderTableCell.cpp: 55163 (WebCore::RenderTableCell::paint): Made sure that overflow is repainted. 55164 * rendering/RenderTableCell.h: 55165 (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats): Removed. 55166 * rendering/RenderTableSection.cpp: 55167 (WebCore::RenderTableSection::RenderTableSection): 55168 (WebCore::RenderTableSection::layoutRows): Factor in vertical overflow from cells. 55169 (WebCore::RenderTableSection::paint): 55170 * rendering/RenderTableSection.h: 55171 (WebCore::RenderTableSection::overflowHeight): 55172 (WebCore::RenderTableSection::overflowTop): 55173 55174 2007-02-18 Oliver Hunt <oliver (a] apple.com> 55175 55176 Reviewed by NOBODY (Buildfix). 55177 55178 Build fix for the build fix -- can't call something that isn't a function 55179 55180 * platform/qt/CursorQt.cpp: 55181 (WebCore::notAllowedCursor): 55182 55183 2007-02-18 Oliver Hunt <oliver (a] apple.com> 55184 55185 Reviewed by NOBODY (Build fix). 55186 55187 Adding platform/DragImage.cpp and platform/qt/DragImageQt.cpp to the Qt 55188 project files 55189 55190 Stubbed method for WebCore::notAllowedCursor -- not sure what it should return, 55191 have returned blank cursor, possibly needs to return something else 55192 55193 * WebCore.pro: 55194 * platform/qt/CursorQt.cpp: 55195 (WebCore::notAllowedCursor): 55196 55197 2007-02-18 Oliver Hunt <oliver (a] apple.com> 55198 55199 Reviewed by NOBODY (Buildfix). 55200 55201 Sigh, obnoxious occasional auto conversion from float to int 55202 55203 * platform/mac/ClipboardMac.mm: 55204 (WebCore::ClipboardMac::createDragImage): 55205 55206 2007-02-18 Alexey Proskuryakov <ap (a] webkit.org> 55207 55208 Reviewed by Hyatt. 55209 55210 http://bugs.webkit.org/show_bug.cgi?id=12799 55211 REGRESSION: Webpage doesn't load correctly (www.cincinnati.com 55212 redirects to the wrong URL) 55213 55214 Test: http/tests/misc/refresh-meta-with-newline.html 55215 55216 * platform/network/HTTPParsers.cpp: 55217 (WebCore::skipWhiteSpace): 55218 (WebCore::parseHTTPRefresh): 55219 * platform/network/HTTPParsers.h: 55220 In HTML, all characters with codes <= 0x20 are whitespace, while in 55221 HTTP, only space and tab are such. 55222 55223 * dom/Document.cpp: 55224 (WebCore::Document::processHttpEquiv): 55225 * loader/FrameLoader.cpp: 55226 (WebCore::FrameLoader::receivedFirstData): 55227 Pass parseHTTPRefresh() a flag telling about the source of data. 55228 55229 2007-02-18 Oliver Hunt <oliver (a] apple.com> 55230 55231 Reviewed by NOBODY (Build fix). 55232 55233 Buld fix -- surprisingly RetainPtr doesn't exist on Qt 55234 55235 * platform/DragImage.h: 55236 55237 2007-02-18 Oliver Hunt <oliver (a] apple.com> 55238 55239 Reviewed by Adam. 55240 55241 More drag and drop migration, now the entirety of the 55242 drag initiation logic has been rendered platform independent 55243 This has required a number of new interfaces, and a reasonable 55244 amount of logic migration. 55245 55246 As a side effect, this patch also fixes rdar://problem/4945341 55247 55248 There are some basic Qt stubs that should stop the build from failing, 55249 however the absence of ClipboardQt means any attempt to initiate a drag 55250 may cause a crash. 55251 55252 * WebCore.exp: 55253 Exporting new symbols 55254 55255 * WebCore.xcodeproj/project.pbxproj: 55256 New files 55257 55258 * dom/Clipboard.cpp: 55259 (WebCore::Clipboard::canSaveAsWebArchive): 55260 Migrated from WebKit 55261 55262 * dom/Clipboard.h: 55263 Added more methods to allow Clipboard to be used as a 55264 platform independent container for drag and drop 55265 55266 * page/DragClient.h: 55267 (WebCore::DragClient::declareAndWriteDragImage): 55268 This is a mac only helper function, so i've made it have an empty implementation, 55269 that way we won't need a PLATFORM(MAC) block in SVGImageEmptyClients 55270 55271 * page/DragController.cpp: 55272 (WebCore::DragController::dragExited): 55273 (WebCore::DragController::performDrag): 55274 (WebCore::DragController::tryDocumentDrag): 55275 (WebCore::DragController::tryDHTMLDrag): 55276 Using RefPtrs now 55277 (WebCore::getCachedImage): 55278 (WebCore::getImage): 55279 Helper functions 55280 (WebCore::dragLocForDHTMLDrag): 55281 (WebCore::dragLocForSelectionDrag): 55282 (WebCore::DragController::startDrag): 55283 (WebCore::DragController::doImageDrag): 55284 (WebCore::DragController::doSystemDrag): 55285 Logic that generates drag images and clipboard content, and 55286 initiates the actual system drag operation 55287 55288 * page/DragController.h: 55289 Method and variable declarations 55290 55291 * page/EventHandler.cpp: 55292 (WebCore::EventHandler::handleDrag): 55293 handleDrag is now platform independent 55294 (WebCore::EventHandler::handleTextInputEvent): 55295 formatting 55296 55297 * page/EventHandler.h: 55298 (WebCore::EventHandler::eventLoopHandleMouseDragged): 55299 Forgot to define this stub function 55300 55301 * page/Frame.h: 55302 Declaring dragImageForSelection to provide drag image for selected content 55303 55304 * page/mac/DragControllerMac.mm: 55305 Defining drag images control vars 55306 55307 * page/mac/EventHandlerMac.mm: 55308 (WebCore::EventHandler::createDraggingClipboard): 55309 Migrated old clipboard creation to here 55310 55311 * page/mac/FrameMac.mm: 55312 (WebCore::Frame::dragImageForSelection): 55313 Wrap FrameMac::selectionImage 55314 55315 * page/qt/DragControllerQt.cpp: 55316 Defining drag images control vars 55317 55318 * page/qt/EventHandlerQt.cpp: 55319 (WebCore::EventHandler::createDraggingClipboard): 55320 stub 55321 55322 * page/qt/FrameQt.cpp: 55323 (WebCore::Frame::dragImageForSelection): 55324 stub 55325 55326 * platform/DragImage.cpp: Added. 55327 (WebCore::fitDragImageToMaxSize): 55328 (WebCore::createDragImageForSelection): 55329 Platform independent processing for drag images 55330 55331 * platform/DragImage.h: Added. 55332 Declaring typedefs and wrapper functions to abstract the handling 55333 of drag images 55334 55335 * platform/Pasteboard.h: 55336 Declaring extracted writeURL and writeSelection methods 55337 55338 * platform/graphics/svg/SVGImageEmptyClients.h: 55339 (WebCore::SVGEmptyDragClient::willPerformDragSourceAction): 55340 (WebCore::SVGEmptyDragClient::startDrag): 55341 (WebCore::SVGEmptyDragClient::createDragImageForLink): 55342 Stubs FTW! 55343 55344 * platform/mac/ClipboardMac.h: 55345 (WebCore::ClipboardMac::pasteboard): 55346 Provide accessor for underlying NSPasteboard 55347 55348 * platform/mac/ClipboardMac.mm: 55349 (WebCore::ClipboardMac::hasData): 55350 (WebCore::ClipboardMac::writeRange): 55351 (WebCore::ClipboardMac::writeURL): 55352 (WebCore::ClipboardMac::declareAndWriteDragImage): 55353 (WebCore::ClipboardMac::createDragImage): 55354 Implemented new Clipboarid functionality. 55355 (WebCore::ClipboardMac::dragNSImage): 55356 Made this a const method 55357 55358 * platform/mac/DragImageMac.mm: Added. 55359 (WebCore::dragImageSize): 55360 (WebCore::deleteDragImage): 55361 (WebCore::scaleDragImage): 55362 (WebCore::dissolveDragImageToFraction): 55363 (WebCore::createDragImageFromImage): 55364 (WebCore::createDragImageIconForCachedImage): 55365 Implemented platform specific DragImage functions 55366 55367 * platform/mac/PasteboardMac.mm: 55368 (WebCore::writeSelection): 55369 (WebCore::Pasteboard::writeSelection): 55370 (WebCore::writeURL): 55371 (WebCore::Pasteboard::writeURL): 55372 Extracted member implementations of these functions, so that 55373 Clipboard could also make use of this functionality. 55374 Pasteboard methods now call the new non-member implementations. 55375 Also fixed implementations to respect the list of requested types. 55376 55377 * platform/qt/DragImageQt.cpp: Added. 55378 (WebCore::dragImageSize): 55379 (WebCore::deleteDragImage): 55380 (WebCore::scaleDragImage): 55381 (WebCore::dissolveDragImageToFraction): 55382 (WebCore::createDragImageFromImage): 55383 (WebCore::createDragImageIconForCachedImage): 55384 Stubs 55385 55386 2007-02-17 David Hyatt <hyatt (a] apple.com> 55387 55388 Fix textarea resizers to not fill with black by making sure the fill color starts off as 55389 transparent instead of black. 55390 55391 Reviewed by aroben 55392 55393 * platform/graphics/GraphicsContext.cpp: 55394 (WebCore::GraphicsContextState::GraphicsContextState): 55395 55396 2007-02-17 Lars Knoll <lars (a] trolltech.com> 55397 55398 Reviewed by Adam. 55399 55400 fix http://bugs.webkit.org/show_bug.cgi?id=11476 55401 <rdar://problem/4960247> REGRESSION: Nesting the IMG tag inside of a 55402 MAP fails to render correctly in ToT 55403 55404 Test: fast/images/image-in-map.html 55405 55406 * html/HTMLMapElement.cpp: 55407 (WebCore::HTMLMapElement::checkDTD): 55408 55409 2007-02-17 Alexey Proskuryakov <ap (a] webkit.org> 55410 55411 Reviewed by Maciej. 55412 55413 http://bugs.webkit.org/show_bug.cgi?id=12733 55414 XPath namespace is attached to a wrong step 55415 55416 * xml/XPathGrammar.y: NAMETEST is different from other NodeTests in that its 55417 resulting type is an expanded name, rather than a string. It is not really possible 55418 to store the namespace inside Parser, because it gets used in wrong steps then. 55419 55420 * xml/XPathParser.cpp: 55421 (WebCore::XPath::Parser::expandQName): 55422 * xml/XPathParser.h: 55423 Moved code that expands a QName from XPathGrammar.y. Removed m_currentNamespaceURI. 55424 55425 * xml/XPathStep.cpp: 55426 (WebCore::XPath::Step::Step): 55427 * xml/XPathStep.h: 55428 Added a constructor that takes a namespace. 55429 55430 2007-02-17 Mitz Pettel <mitz (a] webkit.org> 55431 55432 Reviewed by Maciej. 55433 55434 - fix http://bugs.webkit.org/show_bug.cgi?id=12479 55435 ASSERTION FAILURE: resource->inCache() in WebCore::Cache::remove 55436 55437 Test: fast/loader/simultaneous-reloads-assert.html 55438 55439 * loader/Cache.cpp: 55440 (WebCore::Cache::remove): Replaced the assertion with a check whether the 55441 resource is in the cache. The resource could have been removed from the cache 55442 as a result of a reload occurring simultaneously in a different document. 55443 55444 2007-02-12 Lars Naesbye Christensen <lars (a] naesbye.dk> 55445 55446 Reviewed by Adam. 55447 55448 Fix for http://bugs.webkit.org/show_bug.cgi?id=12711 55449 Prettier and more distinct cursors 55450 55451 * Resources/crossHairCursor.png: Added. 55452 * Resources/northEastSouthWestResizeCursor.png: 55453 * Resources/northWestSouthEastResizeCursor.png: 55454 * Resources/notAllowedCursor.png: Added. 55455 * page/EventHandler.cpp: (WebCore::selectCursor): 55456 * platform/Cursor.h: 55457 * platform/mac/CursorMac.mm: 55458 (WebCore::crossCursor): 55459 (WebCore::notAllowedCursor): 55460 55461 2007-02-16 Mitz Pettel <mitz (a] webkit.org> 55462 55463 Reviewed by Darin. 55464 55465 - fix http://bugs.webkit.org/show_bug.cgi?id=12780 55466 REGRESSION (r19341-r19385): Reproducible crash in "onselectstart" event 55467 55468 Test: fast/events/shadow-boundary-crossing.html 55469 55470 * dom/EventTargetNode.cpp: 55471 (WebCore::EventTargetNode::dispatchGenericEvent): Changed to use the new 55472 eventParentNode() function for constructing the chain of ancestors for 55473 capture and bubbling. 55474 * dom/Node.h: 55475 (WebCore::Node::eventParentNode): Added. Returns the node's parent for the 55476 purpose of of event capture and bubbling. The base class implementation is 55477 to return the parent node. 55478 * ksvg2/svg/SVGElement.h: 55479 (WebCore::SVGElement::eventParentNode): Added. Since in SVG events bubble 55480 to and can be captured across the shadow DOM boundary, returns the shadow parent 55481 for shadow nodes. 55482 55483 2007-02-17 Dave Hyatt <hyatt (a] apple.com> 55484 55485 Change how textarea resizers paint to more closely match the way the main window resizer paints. 55486 55487 Reviewed by olliej 55488 55489 * rendering/RenderLayer.cpp: 55490 (WebCore::RenderLayer::paintOverflowControls): 55491 55492 2007-02-17 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 55493 55494 Reviewed by Adam Roben. 55495 55496 Fix crashes on ARM due to different struct packing. Based on a patch 55497 from Mike Emmel. 55498 55499 * platform/DeprecatedString.cpp: compile-time assert to make sure sizeof(DeprecatedChar) == 2 55500 * platform/DeprecatedString.h: pack DeprecatedChar struct to ensure that 55501 sizeof(DeprecatedChar) == 2. Move _internalBuffer in DeprecatedStringData 55502 to the end, to avoid crashes on ARM due to different struct packing. 55503 55504 2007-02-16 Adele Peterson <adele (a] apple.com> 55505 55506 Reviewed by Mitz. 55507 55508 Fix for http://bugs.webkit.org/show_bug.cgi?id=11534 55509 <rdar://problem/4946947> REGRESSION: Readonly text fields don't scroll when selecting content 55510 55511 Test: fast/forms/input-readonly-autoscroll.html 55512 55513 Implemented autoscroll methods for RenderTextControl, so this works on non-editable text controls. 55514 55515 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::autoscroll): 55516 * rendering/RenderTextControl.h: (WebCore::RenderTextControl::shouldAutoscroll): 55517 55518 2007-02-17 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 55519 55520 Reviewed by Adam Roben. 55521 55522 Curl networking improvements inspired by Mike Emmel's patches in 55523 http://bugs.webkit.org/show_bug.cgi?id=11332. 55524 Fix FrameLoaderClientGdk due to changed FrameLoaderClient API. 55525 55526 * loader/gdk/FrameLoaderClientGdk.cpp: Massage for changed API. 55527 (WebCore::FrameLoaderClientGdk::saveViewStateToItem): 55528 (WebCore::FrameLoaderClientGdk::restoreViewState): 55529 (WebCore::FrameLoaderClientGdk::generatedMIMETypeForURLScheme): 55530 (WebCore::FrameLoaderClientGdk::willUseArchive): 55531 * loader/gdk/FrameLoaderClientGdk.h: Ditto. 55532 * platform/network/ResourceHandleInternal.h: Remember url and custom headers 55533 for the request lifetime and free them at the end. 55534 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 55535 * platform/network/gdk/ResourceHandleCurl.cpp: Ditto. 55536 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 55537 * platform/network/gdk/ResourceHandleManager.cpp: url improvements: 55538 - remove m_useSimple code-path since it wasn't used anywhere 55539 - don't use hashmap for keeping track of outstanding jobs - curl does it anyway 55540 - set custom headers from request 55541 - enable gzip and deflate through Accept-Encoding 55542 - setup curl to share cookies and DNS cache between requests 55543 - enable persisting of cookies in a file (if client provides file name 55544 for cookies via ResourceHandleManager::setCookieJarFileName()) 55545 (WebCore::ResourceHandleManager::ResourceHandleManager): 55546 (WebCore::ResourceHandleManager::setCookieJarFileName): 55547 (WebCore::ResourceHandleManager::downloadTimerCallback): 55548 (WebCore::ResourceHandleManager::removeFromCurl): 55549 (WebCore::ResourceHandleManager::setupPUT): 55550 (WebCore::ResourceHandleManager::setupPOST): 55551 (WebCore::ResourceHandleManager::add): 55552 (WebCore::ResourceHandleManager::cancel): 55553 * platform/network/gdk/ResourceHandleManager.h: 55554 55555 2007-02-17 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 55556 55557 Reviewed by Adam Roben. 55558 55559 Gdk fixes. 55560 55561 * page/gdk/EventHandlerGdk.cpp: Comment out chatty message. 55562 (WebCore::EventHandler::handleDrag): 55563 * platform/gdk/EditorClientGdk.cpp: Enable entering text into text field. 55564 (WebCore::EditorClientGdk::shouldInsertText): 55565 55566 2007-02-16 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 55567 55568 Reviewed by Adam Roben. 55569 55570 Move Path implementation from TemporaryLinkStubs.cpp to 55571 its own file. 55572 Implement setLineCap, setLineJoin and setMiterLimit for 55573 cairo's GraphicsContext. 55574 55575 * WebCoreSources.bkl: 55576 * platform/gdk/TemporaryLinkStubs.cpp: 55577 * platform/graphics/cairo/GraphicsContextCairo.cpp: 55578 (WebCore::GraphicsContext::setPlatformFillColor): 55579 (WebCore::GraphicsContext::setPlatformStrokeColor): 55580 (WebCore::GraphicsContext::setLineCap): 55581 (WebCore::GraphicsContext::setLineJoin): 55582 (WebCore::GraphicsContext::setMiterLimit): 55583 * platform/graphics/cairo/PathCairo.cpp: Added. 55584 (WebCore::Path::Path): 55585 (WebCore::Path::~Path): 55586 (WebCore::Path::contains): 55587 (WebCore::Path::translate): 55588 (WebCore::Path::boundingRect): 55589 (WebCore::Path::operator=): 55590 (WebCore::Path::clear): 55591 (WebCore::Path::moveTo): 55592 (WebCore::Path::addLineTo): 55593 (WebCore::Path::addQuadCurveTo): 55594 (WebCore::Path::addBezierCurveTo): 55595 (WebCore::Path::addArcTo): 55596 (WebCore::Path::closeSubpath): 55597 (WebCore::Path::addArc): 55598 (WebCore::Path::addRect): 55599 (WebCore::Path::addEllipse): 55600 (WebCore::Path::transform): 55601 (WebCore::Path::apply): 55602 55603 2007-02-16 Ada Chan <adachan (a] apple.com> 55604 55605 Reviewed by Adam and Maciej. 55606 55607 Use a RefPtr to store the old hover node. 55608 55609 * rendering/RenderLayer.cpp: 55610 (WebCore::RenderLayer::updateHoverActiveState): 55611 55612 2007-02-16 Darin Adler <darin (a] apple.com> 55613 55614 Reviewed by Adele. 55615 55616 - fix <rdar://problem/4990864> ASSERT in FormDelegate.m while dragging text between frames 55617 55618 This symptom is specific to Safari, so no layout test. 55619 55620 * editing/DeleteSelectionCommand.cpp: 55621 (WebCore::DeleteSelectionCommand::doApply): Only call textWillBeDeletedInTextField if the 55622 text field is focused. 55623 * html/HTMLInputElement.cpp: 55624 (WebCore::HTMLInputElement::aboutToUnload): Only call textFieldDidEndEditing if the text 55625 field is focused. 55626 (WebCore::HTMLInputElement::dispatchBlurEvent): Remove unneeded type cast. 55627 (WebCore::HTMLInputElement::defaultEventHandler): Only call doTextFieldCommandFromEvent if 55628 the text field is focused. 55629 * rendering/RenderTextControl.cpp: 55630 (WebCore::RenderTextControl::subtreeHasChanged): Only call textDidChangeInTextArea, 55631 textFieldDidBeginEditing, and textDidChangeInTextField if the element is focused. 55632 55633 2007-02-16 Anders Carlsson <acarlsson (a] apple.com> 55634 55635 Reviewed by Adam. 55636 55637 <rdar://problem/4943985> 55638 REGRESSION: Dragging standalone images to Finder fails to download the image file 55639 55640 Set the data and response on the image resource. Also, since this is platform-independent we don't need to do it in 55641 ImageDocumentMac.mm 55642 55643 * loader/ImageDocument.cpp: 55644 (WebCore::ImageTokenizer::finish): 55645 * loader/mac/ImageDocumentMac.h: 55646 * loader/mac/ImageDocumentMac.mm: 55647 (WebCore::finishImageLoad): 55648 55649 2007-02-16 David Harrison <harrison (a] apple.com> 55650 55651 Reviewed by Adam. 55652 55653 <rdar://problem/5004746> Need mechanism to protect against WebKit calls from secondary threads (DOM APIs) 55654 55655 * platform/mac/LoggingMac.mm: 55656 (WebCore::_WebCoreThreadViolationCheck): 55657 Change the default to log the violations. 55658 55659 2007-02-16 Adele Peterson <adele (a] apple.com> 55660 55661 Reviewed by Mitz. 55662 55663 Fixed: http://bugs.webkit.org/show_bug.cgi?id=12768 55664 <rdar://problem/4995250> REGRESSION: Crash occurs at WebCore::RenderLayer::scrollToOffset() when leaving page that has focus in field 55665 55666 No test case added. This crash doesn't occur in DumpRenderTree because the B/F cache is turned off. 55667 55668 * dom/Node.cpp: (WebCore::Node::willRemove): Check that the document is not in the page cache before 55669 55670 * dom/Element.cpp: (WebCore::Element::updateFocusAppearance): Added restorePreviousSelection argument, with appropriate default values. 55671 * dom/Element.h: ditto. 55672 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::updateFocusAppearance): ditto. 55673 * html/HTMLInputElement.h: ditto. 55674 * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateFocusAppearance): ditto. 55675 * html/HTMLTextAreaElement.h: ditto. 55676 55677 * page/PageState.cpp: (WebCore::PageState::restore): Call updateFocusAppearance on the focused node for this page. Pass true for the 55678 restorePreviousSelection argument. 55679 55680 * rendering/RenderLayer.cpp: Added ASSERTS and nil checks on the RenderView. It shouldn't be null, but if it is, 55681 we'll fail silently on release builds. 55682 (WebCore::RenderLayer::updateLayerPositions): 55683 (WebCore::RenderLayer::scrollToOffset): 55684 (WebCore::RenderLayer::windowClipRect): 55685 (WebCore::RenderLayer::calculateClipRects): 55686 (WebCore::RenderLayer::calculateRects): 55687 (WebCore::RenderLayer::intersectsDamageRect): 55688 (WebCore::RenderLayer::absoluteBoundingBox): 55689 55690 2007-02-16 Anders Carlsson <acarlsson (a] apple.com> 55691 55692 Reviewed by Darin. 55693 55694 <rdar://problem/4993055> auto_refcount_underflow_error: WebCore::FrameLoader::continueAfterNavigationPolicy () over-releases under GC 55695 55696 Add ::adoptNS and ::adoptCF methods to RetainPtr to indicate what type of reference to adopt. 55697 55698 * platform/cf/RetainPtr.h: 55699 (WebCore::): 55700 (WebCore::adoptNSReference): 55701 (WebCore::RetainPtr::RetainPtr): 55702 (WebCore::::adoptCF): 55703 (WebCore::::adoptNS): 55704 * platform/mac/FileChooserMac.mm: 55705 (WebCore::FileChooser::FileChooser): 55706 * platform/network/mac/ResourceErrorMac.mm: 55707 (WebCore::ResourceError::operator NSError*): 55708 * platform/network/mac/ResourceRequestMac.mm: 55709 (WebCore::ResourceRequest::doUpdatePlatformRequest): 55710 * platform/network/mac/ResourceResponseMac.mm: 55711 (WebCore::ResourceResponse::nsURLResponse): 55712 55713 2007-02-15 Brady Eidson <beidson (a] apple.com> 55714 55715 Reviewed by Lost Objective-C Hippyness (or hippiness) 55716 55717 Oh boy, did I ever botch this one up... 55718 55719 * loader/FrameLoader.cpp: 55720 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem): Null check the FrameView 55721 55722 2007-02-15 Brady Eidson <beidson (a] apple.com> 55723 55724 Reviewed by Adam's complaint 55725 55726 Adam wanted me to do an early return, instead. 55727 55728 * loader/FrameLoader.cpp: 55729 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem): 55730 55731 2007-02-15 Brady Eidson <beidson (a] apple.com> 55732 55733 Reviewed by Adele 55734 55735 Forgot to bring the null check with me when I backed this code out of 55736 the FrameLoaderClient 55737 55738 * loader/FrameLoader.cpp: 55739 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem): null check the HistoryItem 55740 55741 2007-02-15 Brady Eidson <beidson (a] apple.com> 55742 55743 Reviewed by Adam 55744 55745 Save scroll state for back/forward navigation in FrameLoader, not the client 55746 55747 * loader/FrameLoader.cpp: 55748 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem): Actually save the scroll position 55749 here instead of asking the FrameLoaderClient 55750 (WebCore::FrameLoader::restoreScrollPositionAndViewState): Ditto 55751 55752 * loader/FrameLoaderClient.h: Renamed/repurposed 2 methods 55753 55754 * platform/graphics/svg/SVGImageEmptyClients.h: 55755 (WebCore::SVGEmptyFrameLoaderClient::restoreViewState): Ditto 55756 (WebCore::SVGEmptyFrameLoaderClient::saveViewStateToItem): Ditto 55757 55758 2007-02-15 Justin Garcia <justin.garcia (a] apple.com> 55759 55760 Reviewed by harrison 55761 55762 <rdar://problem/4989774> 55763 REGRESSION: Pasting a image into a plain text message can place image on a new line 55764 55765 <span><img><span><img></span></span> will appear as two 55766 images on different lines because of a layout/rendering 55767 bug. This patch avoids the bug by producing cleaner 55768 markup so that the paste code can safely remove the style 55769 spans. 55770 55771 * editing/markup.cpp: 55772 (WebCore::createMarkup): Get the default style from the 55773 editable root or body instead of the document element. 55774 This produces cleaner markup since we don't inline the 55775 root's styles. 55776 55777 2007-02-15 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 55778 55779 Reviewed by Adam Roben. 55780 55781 Add gdk version of ContextMenuClient based on qt version. 55782 55783 * WebCoreSources.bkl: 55784 * page/gdk/ContextMenuClientGdk.cpp: Added. 55785 (WebCore::ContextMenuClientGdk::contextMenuDestroyed): 55786 (WebCore::ContextMenuClientGdk::getCustomMenuFromDefaultItems): 55787 (WebCore::ContextMenuClientGdk::contextMenuItemSelected): 55788 (WebCore::ContextMenuClientGdk::downloadURL): 55789 (WebCore::ContextMenuClientGdk::copyImageToClipboard): 55790 (WebCore::ContextMenuClientGdk::searchWithGoogle): 55791 (WebCore::ContextMenuClientGdk::lookUpInDictionary): 55792 (WebCore::ContextMenuClientGdk::speak): 55793 (WebCore::ContextMenuClientGdk::stopSpeaking): 55794 * page/gdk/ContextMenuClientGdk.h: Added. 55795 * webcore-base.bkl: curl is needed when building webcore_base files. 55796 55797 2007-02-15 Kevin Decker <kdecker (a] apple.com> 55798 55799 Reviewed by Darin. 55800 55801 Fixed: <rdar://problem/4983883> Background of a .mov window should not be white 55802 55803 * loader/PluginDocument.cpp: 55804 (WebCore::PluginTokenizer::createDocumentStructure): Set a background color of gray 55805 for full frame plug-ins, which makes it easier on the eyes. It's also the same 55806 gray that PDFKit uses, too. 55807 55808 2007-02-15 Mitz Pettel <mitz (a] webkit.org> 55809 55810 Reviewed by Darin. 55811 55812 - fix http://bugs.webkit.org/show_bug.cgi?id=12625 55813 REGRESSION: Crash when closing the web inspector with text selected 55814 55815 The problem was that selectionRect() was being called on a render tree that 55816 had pending style changes. The changes were committed as a side effect in 55817 the middle of traversing the render tree, and the current object got 55818 deleted as a result. The solution is to update the render tree before 55819 starting to traverse it. 55820 55821 The inspector was affected because it makes style changes in response to 55822 an AppKit notification that's sent right before the windowDidResignKey: 55823 notification, under which WebKit calls selectionRect(). I couldn't recreate 55824 the same conditions (having uncommitted style changes in the tree when the 55825 window becomes inactive) using HTML/JS in Safari, hence the lack of 55826 a regression test to go with this patch. 55827 55828 * rendering/RenderView.cpp: 55829 (WebCore::RenderView::selectionRect): Added call to updateRendering(). 55830 55831 2007-02-15 Mitz Pettel <mitz (a] webkit.org> 55832 55833 Reviewed by Darin. 55834 55835 - fix http://bugs.webkit.org/show_bug.cgi?id=10127 55836 REGRESSION: Crash undoing delete in textarea 55837 55838 Document::removeMarkers() was using a Vector iterator (which is just a 55839 pointer) and inserting into the Vector at the same time, which made the 55840 iterator invalid as the Vector's data buffer was relocated. 55841 55842 Replaced all instances of Vector<DocumentMarker>::iterator with indices. 55843 55844 * dom/Document.cpp: 55845 (WebCore::Document::addMarker): 55846 (WebCore::Document::copyMarkers): 55847 (WebCore::Document::removeMarkers): 55848 (WebCore::Document::repaintMarkers): 55849 (WebCore::Document::shiftMarkers): 55850 55851 2007-02-15 Mitz Pettel <mitz (a] webkit.org> 55852 55853 Reviewed by Darin. 55854 55855 - http://bugs.webkit.org/show_bug.cgi?id=12777 55856 REGRESSION (r18574): User profile pages display incorrectly at ebay.ca 55857 55858 Fixes existing layout tests: tables/mozilla/bugs/bug45486.html 55859 tables/mozilla_expected_failures/core/col_span2.html 55860 55861 * rendering/AutoTableLayout.cpp: 55862 (WebCore::AutoTableLayout::calcEffectiveWidth): Fixed a mismatch between which 55863 columns count as percentage columns when adding up the total percent and 55864 which columns count as percentage columns when converting non-percentage 55865 columns to effectively-percentage. 55866 55867 2007-02-14 Mitz Pettel <mitz (a] webkit.org> 55868 55869 Reviewed by Sam Weinig! 55870 55871 - fix http://bugs.webkit.org/show_bug.cgi?id=12773 55872 REGRESSION (r19490): Crash on ipx-server.de 55873 55874 * manual-tests/background-image-change-in-page-cache.html: Added. 55875 * rendering/RenderBox.cpp: 55876 (WebCore::RenderBox::imageChanged): Bail out if the object is not in a view, 55877 which can happen if the document is in the page cache and the same cached 55878 image used for its background is also being used in another document that 55879 is currently in view. 55880 55881 2007-02-14 Adam Roben <aroben (a] apple.com> 55882 55883 Reviewed by Darin. 55884 55885 Fix http://bugs.webkit.org/show_bug.cgi?id=12517 55886 <rdar://problem/4971227> REGRESSION: Tab order incorrect when input 55887 inside frame/iframe gets initial focus (12517) 55888 55889 Test: fast/events/frame-programmatic-focus.html 55890 55891 * dom/Element.cpp: 55892 (WebCore::Element::focus): Call FocusController::setFocusedNode to set 55893 the focus for the whole page. 55894 * html/HTMLInputElement.cpp: 55895 (WebCore::HTMLInputElement::focus): Ditto. 55896 * html/HTMLTextAreaElement.cpp: 55897 (WebCore::HTMLTextAreaElement::focus): Ditto. 55898 * page/EventHandler.cpp: 55899 (WebCore::EventHandler::handleTextInputEvent): Send the textInput 55900 event to the same target that was sent the keypress event before it. 55901 * page/FocusController.cpp: 55902 (WebCore::FocusController::advanceFocus): Added a FIXME. 55903 (WebCore::FocusController::setFocusedNode): Added. Sets the focused 55904 node for a whole page. 55905 * page/FocusController.h: Added declaration. 55906 * platform/cf/RetainPtr.h: Removed unused pointer_cast functions. 55907 55908 2007-02-14 Justin Garcia <justin.garcia (a] apple.com> 55909 55910 Reviewed by adele 55911 55912 <rdar://problem/4976800> 55913 Outdent combines 2 separate strings on 2 different lines 55914 55915 * editing/IndentOutdentCommand.cpp: 55916 (WebCore::IndentOutdentCommand::outdentParagraph): Add line breaks 55917 if removing the indented node causes content before or after it to 55918 collapse into the same paragraph as its content. 55919 55920 2007-02-14 Justin Garcia <justin.garcia (a] apple.com> 55921 55922 Reviewed by adele 55923 55924 <rdar://problem/4960120> 55925 REGRESSION: First Enter key ignored on initial focus of textarea after page load (11967) 55926 55927 We'd insert a newline, but into an empty div. We need two newlines 55928 in that case. 55929 55930 * editing/InsertLineBreakCommand.cpp: 55931 (WebCore::lineBreakExistsAtPosition): Returns true if there is a 55932 br or a '\n' in text that preserves newlines at the incoming position. 55933 (WebCore::InsertLineBreakCommand::doApply): Fixed to handle the empty 55934 block case, the anonymous block case. 55935 55936 2007-02-14 Darin Adler <darin (a] apple.com> 55937 55938 Reviewed by Hyatt. 55939 55940 - test or http://bugs.webkit.org/show_bug.cgi?id=12417 55941 <rdar://problem/4990046> REGRESSION: pressing "Return" in a <select> 55942 box does not submit the form (12697) 55943 55944 Test: fast/forms/select-enter-key.html 55945 55946 * html/HTMLSelectElement.cpp: 55947 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 55948 Add code to submit when someone hits the Enter key. 55949 55950 2007-02-14 Anders Carlsson <acarlsson (a] apple.com> 55951 55952 Reviewed by Darin. 55953 55954 <rdar://problem/4960112> 55955 http://bugs.webkit.org/show_bug.cgi?id=12417 55956 REGRESSION: "Are you sure you want to send a form again?" sheet is displayed twice (validator.w3.org) 55957 55958 The problem was that doing a reload would cause the "Cache-Control" HTTP header to be set on the request _after_ the first 55959 navigation policy delegate callback was called. This would break the request equality check that's used to prevent multiple policy 55960 delegate callbacks from getting called for the same request. The solution is to set the header as early as possible. 55961 55962 This patch also fixes some bugs in the ResourceRequest equality operator. 55963 55964 * loader/FrameLoader.cpp: 55965 (WebCore::FrameLoader::reload): 55966 Set the "Cache-Control" header field on the request here. 55967 55968 * platform/network/FormData.h: 55969 (WebCore::operator==): 55970 Short-circuit if the pointers are the same. 55971 55972 * platform/network/ResourceRequest.cpp: 55973 (WebCore::operator==): 55974 Check the equality of the objects, not the pointers. 55975 55976 2007-02-14 David Hyatt <hyatt (a] apple.com> 55977 55978 Move setPlatformData out of FontFallbackListMac.mm and delete the file. The function was completely 55979 cross-platform already. 55980 55981 Reviewed by Ada 55982 55983 * WebCore.xcodeproj/project.pbxproj: 55984 * platform/FontFallbackList.cpp: 55985 (WebCore::FontFallbackList::setPlatformFont): 55986 55987 2007-02-14 David Hyatt <hyatt (a] apple.com> 55988 55989 Make the Font constructor that takes a FontPlatformData cross-platform, since the implementation was already 55990 completely cross-platform. 55991 55992 Reviewed by Ada 55993 55994 * platform/Font.cpp: 55995 (WebCore::Font::Font): 55996 * platform/Font.h: 55997 * platform/mac/FontMac.mm: 55998 55999 2007-02-14 Antti Koivisto <antti (a] apple.com> 56000 56001 Reverting http://bugs.webkit.org/show_bug.cgi?id=11974, it causes repainting problems in some cases. 56002 56003 * rendering/RenderTextControl.h: 56004 (WebCore::RenderTextControl::avoidsFloats): 56005 56006 2007-02-14 Antti Koivisto <antti (a] apple.com> 56007 56008 Reviewed by Maciej. 56009 56010 - fix http://bugs.webkit.org/show_bug.cgi?id=11974 56011 REGRESSION: Caret drawn over input when smaller than font size on initial focus 56012 <rdar://problem/4960258> 56013 56014 Set controlClip for non-search text controls. 56015 56016 * rendering/RenderTextControl.h: 56017 (WebCore::RenderTextControl::hasControlClip): 56018 56019 2007-02-14 Mitz Pettel <mitz (a] webkit.org> 56020 56021 Reviewed by Hyatt. 56022 56023 - fix http://bugs.webkit.org/show_bug.cgi?id=12726 56024 REGRESSION (r12073): Text wraps in the middle of a word instead of wrapping at the space before the word 56025 56026 Test: fast/text/break-word.html 56027 56028 The wrapW variable used to keep track of the width of the characters scanned 56029 so far by adding up the widths of individual characters. Because of the 56030 rounding hack, the total ended up being bigger than the width of the same characters 56031 when measured together as a single run. 56032 56033 The fix is to use wrapW only as an upper bound, and once it overflows the line's width, 56034 fall back on measuring everything from the beginning of the line as one run. 56035 56036 * rendering/bidi.cpp: 56037 (WebCore::RenderBlock::findNextLineBreak): Implemented the above fix, including not measuring 56038 additional single characters once wrapW overflows the line. Also moved the assignment 56039 to breakNBSP out of the loop since it is constant for the entire text object, made breakWords and 56040 midWordBreak update only when they might change, and cleaned up a few things. 56041 56042 2007-02-14 Antti Koivisto <antti (a] apple.com> 56043 56044 Reviewed by Hyatt. 56045 56046 - fix http://bugs.webkit.org/show_bug.cgi?id=11923 56047 REGRESSION: Placeholder text in password field shows as bullets 56048 <rdar://problem/4960257> 56049 56050 Disable textSecurity when placeholder is visible. 56051 56052 * rendering/RenderTextControl.cpp: 56053 (WebCore::RenderTextControl::updatePlaceholder): 56054 56055 2007-02-13 Alexey Proskuryakov <ap (a] webkit.org> 56056 56057 Reviewed by Mark Rowe. 56058 56059 http://bugs.webkit.org/show_bug.cgi?id=12763 56060 REGRESSION: button title is displayed incorrectly at quotes.burntelectrons.org 56061 56062 Test: fast/parser/entities-in-attributes.xhtml 56063 56064 * dom/XMLTokenizer.cpp: 56065 (WebCore::getEntityHandler): Set a correct type for the found entity (I'm not really 56066 sure if XML_INTERNAL_GENERAL_ENTITY is _the_ correct one, but it fixes the problem). 56067 56068 2007-02-13 Darin Adler <darin (a] apple.com> 56069 56070 Reviewed by Hyatt. 56071 56072 - removed some bogus names (Hyatt smacked me since this doesn't fix a P1) 56073 56074 * dom/EventNames.h: Removed half-implemented khtmlDragdrop and khtmlMove 56075 (you could add listeners, but nobody ever sent the events). Renamed the 56076 other two khtml-prefixed internal event names to use the webkit prefix. 56077 56078 * bindings/js/kjs_dom.cpp: 56079 (KJS::DOMEventTargetNode::getValueProperty): Removed ondragdrop and onmove. 56080 (KJS::DOMEventTargetNode::putValueProperty): Ditto. 56081 * bindings/js/kjs_dom.h: 56082 * bindings/js/kjs_window.cpp: 56083 (KJS::Window::getValueProperty): Ditto. 56084 (KJS::Window::put): Ditto. 56085 * bindings/js/kjs_window.h: 56086 56087 * dom/BeforeTextInsertedEvent.cpp: 56088 (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent): Renamed to webkit. 56089 * editing/Editor.cpp: 56090 (WebCore::dispatchEditableContentChangedEvents): Ditto. 56091 * editing/ReplaceSelectionCommand.cpp: 56092 (WebCore::ReplacementFragment::ReplacementFragment): Ditto. 56093 * html/HTMLTextFieldInnerElement.cpp: 56094 (WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler): Ditto. 56095 56096 2007-02-13 Darin Adler <darin (a] apple.com> 56097 56098 Rubber stamped by Maciej. 56099 56100 * dom/EventNames.h: Resort names. Removed unused names. 56101 56102 2007-02-13 Anders Carlsson <acarlsson (a] apple.com> 56103 56104 Reviewed by Kevin Decker. 56105 56106 <rdar://problem/4990049> 56107 http://bugs.webkit.org/show_bug.cgi?id=12718 56108 REGRESSION: Segmentation fault when loading abc.go.com (12718) 56109 56110 The problem is that redirecting to about:blank causes the delegate to be released even though the load wasn't finished. 56111 This is usally not a problem since NSURLConnection retains its delegate. However, the proxy delegate does not retain _it's_ 56112 delegate. The solution is to make releaseDelegate clear out the proxy delegate's delegate. 56113 56114 * platform/network/mac/ResourceHandleMac.mm: 56115 (WebCore::ResourceHandle::releaseDelegate): 56116 If there's a proxy, nil out its delegate too. 56117 56118 2007-02-13 Matt Perry <mpcomplete (a] chromium.org> 56119 56120 Reviewed by Darin. 56121 56122 - fix for http://bugs.webkit.org/show_bug.cgi?id=12750 56123 Vector operator== was not defined correctly. It returned void, 56124 did not accept const Vectors, and used an int instead of size_t. 56125 56126 * rendering/RenderStyle.h: Added a != operator for StyleDashboardRegion. 56127 The only reason this compiled before was that the comparing two vectors 56128 with a != was simply comparing the pointers. 56129 56130 2007-02-13 Darin Adler <darin (a] apple.com> 56131 56132 - roll out fix for <rdar://problem/4874059> REGRESSION: Painter IX:register - 56133 Crash in WebCore:: ResourceLoader::willSendRequest() 56134 56135 This fix was causing a crash in at least one layout test. 56136 56137 * loader/FrameLoader.cpp: 56138 (WebCore::FrameLoader::stopAllLoaders): 56139 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 56140 56141 2007-02-13 Mitz Pettel <mitz (a] webkit.org> 56142 56143 Reviewed by Hyatt. 56144 56145 - fix http://bugs.webkit.org/show_bug.cgi?id=12746 56146 REGRESSION (r13853): List item's first line overflows containing div 56147 56148 Test: fast/lists/item-not-in-list-line-wrapping.html 56149 56150 * rendering/bidi.cpp: 56151 (WebCore::RenderBlock::findNextLineBreak): Use the list marker's isInside() 56152 instead of looking at its style()->listStylePosition(), since if the 56153 list item is not in a list, the marker is inside regardless of the style. 56154 56155 2007-02-13 Rob Buis <buis (a] kde.org> 56156 56157 Reviewed by Maciej. 56158 56159 http://bugs.webkit.org/show_bug.cgi?id=12578 56160 WebKit incorrectly strokes zero-width/height rectangles 56161 56162 Create an empty path when encountering zero-width/height rectangles, similar to circles with zero radius. 56163 56164 * platform/graphics/Path.cpp: 56165 (WebCore::Path::createRectangle): 56166 56167 2007-02-13 Rob Buis <buis (a] kde.org> 56168 56169 Reviewed by Maciej. 56170 56171 Remove SVGDOMImplementation from the project. 56172 56173 * CMakeLists.txt: 56174 * WebCore.pro: 56175 * ksvg2/svg/SVGDOMImplementation.cpp: Removed. 56176 * ksvg2/svg/SVGDOMImplementation.h: Removed. 56177 56178 2007-02-13 Brady Eidson <beidson (a] apple.com> 56179 56180 Reviewed by Maciej and Adam 56181 56182 Fixes <rdar://problem/4985497> - Crash when opening a new window to "Same Page" 56183 56184 * loader/FrameLoader.cpp: 56185 (WebCore::FrameLoader::loadItem): Null check documentLoader() since if we're a brand new 56186 WebView, cloning the history of another view, we have no documentLoader() 56187 56188 2007-02-12 Antti Koivisto <antti (a] apple.com> 56189 56190 Reviewed by Maciej. 56191 56192 -fix REGRESSION: <select disabled size="5"> listbox cannot be scrolled 56193 http://bugs.webkit.org/show_bug.cgi?id=11852 56194 <rdar://problem/4960129> 56195 56196 Pass mouse press events to scrollbars even if event is swallowed. 56197 56198 No layout test, DumpRenderTree eventSender can't hit scrollbars. 56199 56200 * page/EventHandler.cpp: 56201 (WebCore::EventHandler::handleMousePressEvent): 56202 56203 2007-02-12 David Hyatt <hyatt (a] apple.com> 56204 56205 Fix for bug 12149 (Radar Bug#4928692), external CSS causes incomplete 56206 text field focus. 56207 56208 Make sure to clear out the focus node in willRemove() rather than in 56209 detach(), since detach/attach caused by style recalc should not affect 56210 the focused node. 56211 56212 Reviewed by aroben 56213 56214 * dom/ContainerNode.cpp: 56215 (WebCore::ContainerNode::willRemove): 56216 * dom/Document.cpp: 56217 (WebCore::Document::focusedNodeRemoved): 56218 (WebCore::Document::setFocusedNode): 56219 * dom/Document.h: 56220 * dom/Element.cpp: 56221 (WebCore::Element::updateFocusAppearance): 56222 * dom/Node.cpp: 56223 (WebCore::Node::willRemove): 56224 (WebCore::Node::detach): 56225 * html/HTMLInputElement.cpp: 56226 (WebCore::HTMLInputElement::updateFocusAppearance): 56227 56228 2007-02-12 Kevin McCullough <kmccullough (a] apple.com> 56229 56230 - reverting fix for rdar://problem/4922454 because it caused regressions 56231 and performance problems 56232 56233 * bindings/objc/DOM.mm: 56234 (-[DOMElement image]): 56235 (-[DOMElement _imageTIFFRepresentation]): 56236 * dom/XMLTokenizer.cpp: 56237 (WebCore::XMLTokenizer::notifyFinished): 56238 * html/HTMLImageLoader.cpp: 56239 (WebCore::HTMLImageLoader::dispatchLoadEvent): 56240 * html/HTMLTokenizer.cpp: 56241 (WebCore::HTMLTokenizer::reset): 56242 (WebCore::HTMLTokenizer::notifyFinished): 56243 * ksvg2/misc/SVGImageLoader.cpp: 56244 (WebCore::SVGImageLoader::dispatchLoadEvent): 56245 * loader/Cache.cpp: 56246 (WebCore::Cache::requestResource): 56247 (WebCore::Cache::remove): 56248 * loader/CachedImage.h: 56249 (WebCore::CachedImage::canRender): 56250 (WebCore::CachedImage::isErrorImage): 56251 * loader/CachedResource.h: 56252 * loader/CachedScript.h: 56253 (WebCore::CachedScript::errorOccurred): 56254 * loader/DocLoader.cpp: 56255 (WebCore::DocLoader::requestResource): 56256 (WebCore::DocLoader::setLoadInProgress): 56257 * loader/FrameLoader.cpp: 56258 (WebCore::FrameLoader::canLoad): 56259 * page/EventHandler.cpp: 56260 (WebCore::selectCursor): 56261 * rendering/HitTestResult.cpp: 56262 (WebCore::HitTestResult::image): 56263 * rendering/RenderImage.cpp: 56264 (WebCore::RenderImage::setCachedImage): 56265 (WebCore::RenderImage::imageChanged): 56266 (WebCore::RenderImage::paint): 56267 (WebCore::RenderImage::layout): 56268 (WebCore::RenderImage::calcAspectRatioWidth): 56269 (WebCore::RenderImage::calcAspectRatioHeight): 56270 * rendering/RenderImage.h: 56271 (WebCore::RenderImage::isErrorImage): 56272 * rendering/RenderListItem.cpp: 56273 (WebCore::RenderListItem::setStyle): 56274 * rendering/RenderListMarker.cpp: 56275 (WebCore::RenderListMarker::isImage): 56276 56277 2007-02-12 Mitz Pettel <mitz (a] webkit.org> 56278 56279 Reviewed by Dave Hyatt. 56280 56281 - fix http://bugs.webkit.org/show_bug.cgi?id=12123 56282 REGRESSION: Incomplete repaint of floats' overflows 56283 56284 Tests: fast/repaint/float-overflow.html 56285 fast/repaint/float-overflow-right.html 56286 56287 - fix http://bugs.webkit.org/show_bug.cgi?id=10116 56288 REGRESSION: Menu item drawn 2 pixels short on WWDC 2006 Attendee Site 56289 56290 Reflected in existing test results. 56291 56292 Unified floats and overflow for the purposes of painting and hit-testing. 56293 Overhanging and overflowing floats are now factored into a block's overflow 56294 unless their painting has been propagated to an ancestor. 56295 56296 Changed table cells to no longer expand to enclose overflow, thus making 56297 it purely "visual overflow", having no effect on layout in WebCore. It 56298 still determines scrolling dimensions. 56299 56300 * rendering/InlineFlowBox.cpp: 56301 (WebCore::InlineFlowBox::placeBoxesHorizontally): Include inline blocks' 56302 horizontal overflow in the inline box's dimensions. 56303 * rendering/RenderBlock.cpp: 56304 (WebCore::RenderBlock::layoutBlock): Removed the expand to enclose overflows 56305 behavior. Added code to add this block's floats (and their overflow) to its 56306 overflow rect if it is not in a block formatting context. Otherwise, the 56307 inclusion of floats in the overflow is deferred until this block's parent 56308 examines its floats and possibly adopts overhanging floats. 56309 (WebCore::RenderBlock::layoutBlockChildren): 56310 (WebCore::RenderBlock::paint): 56311 (WebCore::RenderBlock::floatRect): Changed to return an empty rect if there 56312 are no floats or the floats are clipped, instead of returning the border box. 56313 (WebCore::RenderBlock::addOverhangingFloats): Any floats of the child that 56314 are not to be painted by the parent are added to the child's overflow rect. 56315 (WebCore::RenderBlock::addVisualOverflow): Added. Adjusts the overflow 56316 bounds to include the given rect. 56317 (WebCore::RenderBlock::nodeAtPoint): 56318 * rendering/RenderBlock.h: 56319 * rendering/RenderFlexibleBox.cpp: 56320 (WebCore::RenderFlexibleBox::layoutBlock): 56321 (WebCore::RenderFlexibleBox::layoutHorizontalBox): After placing a normal 56322 child, add its floats to its overflow, since painting of floats does not 56323 propagate to flexible boxes. 56324 (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto. 56325 * rendering/RenderForeignObject.cpp: 56326 (WebCore::RenderForeignObject::layout): 56327 * rendering/RenderHTMLCanvas.cpp: 56328 (WebCore::RenderHTMLCanvas::layout): 56329 * rendering/RenderImage.cpp: 56330 (WebCore::RenderImage::layout): 56331 * rendering/RenderLayer.cpp: 56332 (WebCore::RenderLayer::updateLayerPositions): 56333 (WebCore::RenderLayer::absoluteBoundingBox): 56334 * rendering/RenderLayer.h: 56335 * rendering/RenderObject.cpp: 56336 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 56337 * rendering/RenderObject.h: 56338 (WebCore::RenderObject::expandsToEncloseOverhangingFloats): 56339 * rendering/RenderPath.cpp: 56340 (WebCore::RenderPath::layout): 56341 * rendering/RenderSVGContainer.cpp: 56342 (WebCore::RenderSVGContainer::layout): 56343 * rendering/RenderSVGText.cpp: 56344 (WebCore::RenderSVGText::layout): 56345 * rendering/RenderTable.cpp: 56346 (WebCore::RenderTable::layout): 56347 * rendering/RenderTableCell.h: 56348 (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats): 56349 56350 2007-02-12 Darin Adler <darin (a] apple.com> 56351 56352 Reviewed by Hyatt. 56353 56354 - fix http://bugs.webkit.org/show_bug.cgi?id=12668 56355 <rdar://problem/4893344> REGRESSION: underline not visible for the international 56356 input inline hole in most text fields (12668) 56357 56358 - fix bug where overline and line-through were 1px lower than we intended 56359 56360 * platform/graphics/GraphicsContext.h: Removed unneeded y offset parameter. 56361 * platform/graphics/cairo/GraphicsContextCairo.cpp: 56362 (WebCore::GraphicsContext::drawLineForText): Removed bogus y offset and +1. 56363 * platform/graphics/cg/GraphicsContextCG.cpp: 56364 (WebCore::GraphicsContext::drawLineForText): Ditto. 56365 * platform/graphics/qt/GraphicsContextQt.cpp: 56366 (WebCore::GraphicsContext::drawLineForText): Ditto. 56367 56368 * rendering/InlineFlowBox.cpp: 56369 (WebCore::InlineFlowBox::paintTextDecorations): Added the "+1" that used to be 56370 inside drawLineForText to the underline-drawing code. Changed the other callers 56371 of drawLineForText to include the y offset in the y coordinate. 56372 * rendering/InlineTextBox.cpp: 56373 (WebCore::InlineTextBox::paintDecoration): Ditto. Also renamed _tx and _ty to 56374 remove the gratuitious underscores. 56375 (WebCore::InlineTextBox::paintMarkedTextUnderline): Made the default thickness 56376 be 1px instead of 0 (which ends up being roughly 1px in the CG code path anyway). 56377 Fixed the code computing the position to put the underline at the bottom of the 56378 line (different from regular underlines which are put 1px under the baseline). 56379 The old code used to put the underline 1px further down in the thick case, and 56380 2px further down in the non-thick case. Both of those are bad, because they 56381 could be completely clipped out in many cases. 56382 56383 2007-02-12 Anders Carlsson <acarlsson (a] apple.com> 56384 56385 Reviewed by Darin. 56386 56387 <rdar://problem/4846962> 56388 Aperture: Aperture 1.5 - DOM exception occurs when exporting a web gallery 56389 56390 * dom/ContainerNode.cpp: 56391 (WebCore::ContainerNode::replaceChild): 56392 Call checkReplaceChild here. 56393 56394 * dom/Document.cpp: 56395 (WebCore::Document::canReplaceChild): 56396 * dom/Document.h: 56397 Add implementation of canReplaceChild that makes sure that doing the replacement won't cause 56398 more than one element and document type node to end up in the document. 56399 56400 * dom/Node.cpp: 56401 (WebCore::Node::canReplaceChild): 56402 Base implementation of canReplaceChild. 56403 56404 (WebCore::Node::checkReplaceChild): 56405 New function that does what checAddChild does but calls canReplaceChild. 56406 56407 2007-02-12 Kevin Decker <kdecker (a] apple.com> 56408 56409 Reviewed by Anders. 56410 56411 Fixed: <rdar://problem/4874059> REGRESSION: Painter IX:register - Crash in WebCore:: ResourceLoader::willSendRequest() 56412 56413 What happened here was that a WebDataSource was being dealloced *while* a load for that resource is still in progress. 56414 56415 * loader/FrameLoader.cpp: 56416 (WebCore::FrameLoader::stopAllLoaders): Calling stopAllLoaders cancels loads and informs the frame load delegate accordingly. 56417 The delegate however may decide to kick off a new provisional load as the result of the cancel. Therefore a local variable 56418 for the provisional and main doucment loader is introduced, and we now only nil out the provisional loader if the local and 56419 member provisional variables represent the exact same load. 56420 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Added the same check here, too. 56421 56422 2007-02-12 Lars Knoll <lars (a] trolltech.com> 56423 56424 Reviewed by Mitz. 56425 56426 Do not create child renderers for table column groups 56427 if the child has not a table column display type. 56428 56429 * dom/Node.cpp: 56430 (WebCore::Node::createRendererIfNeeded): 56431 * rendering/RenderObject.h: 56432 (WebCore::RenderObject::isChildAllowed): 56433 * rendering/RenderTableCol.cpp: 56434 (WebCore::RenderTableCol::isChildAllowed): 56435 * rendering/RenderTableCol.h: 56436 56437 2007-02-12 Antti Koivisto <antti (a] apple.com> 56438 56439 Reviewed by Mitz 56440 56441 Fix assertion failure in layout test. 56442 56443 * html/HTMLMapElement.cpp: 56444 (WebCore::HTMLMapElement::parseMappedAttribute): 56445 56446 2007-02-12 Kevin McCulough <kmccullough (a] apple.com> 56447 56448 Reviewed by Brady. 56449 56450 - Fixing a performance regression caused by r19500. The heart of the matter 56451 is that we now call canLoad on every resource request even ones in the cache, 56452 to avoid a security issue. So I could not take out the canLoad call, but I 56453 but I could try to make it more efficient. 56454 56455 * loader/DocLoader.cpp: 56456 (WebCore::DocLoader::requestResource): 56457 (WebCore::DocLoader::setLoadInProgress): 56458 * loader/FrameLoader.cpp: 56459 (WebCore::FrameLoader::canLoad): 56460 56461 2007-02-12 Darin Adler <darin (a] apple.com> 56462 56463 Reviewed by Oliver. 56464 56465 - fix http://bugs.webkit.org/show_bug.cgi?id=12677 56466 <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm 56467 a clause in kotoeri (12677) 56468 56469 - fix http://bugs.webkit.org/show_bug.cgi?id=12596 56470 <rdar://problem/4794346> REGRESSION: Tab key shifts form field focus instead of 56471 navigating prediction window (12596) 56472 56473 - fix http://bugs.webkit.org/show_bug.cgi?id=10010 56474 <rdar://problem/4822935> REGRESSION: Pressing Return with unconfirmed text in 56475 Hangul inserts carriage return (10010) 56476 56477 - fix http://bugs.webkit.org/show_bug.cgi?id=12531 56478 <rdar://problem/4975126> REGRESSION: Inline text input types repeated keys in 56479 latest nightly (r19336) (12531) 56480 56481 - fix http://bugs.webkit.org/show_bug.cgi?id=12539 56482 <rdar://problem/4975130> REGRESSION: Pressing Backspace while in inline input 56483 area moves to the previous page in history (12539) 56484 56485 This area still needs work because keypress events are being sent for all the 56486 events before they go to the input methods, and it seems that this is not 56487 compatible with what other browsers do and with what sites assume. That's covered 56488 by this bug: 56489 56490 http://bugs.webkit.org/show_bug.cgi?id=10871 56491 <rdar://problem/4823129> REGRESSION: IME key events different in nightly (10871) 56492 56493 which is still open. 56494 56495 * bindings/objc/ExceptionHandlers.h: Remove selectRange helper that doesn't really 56496 belong here, and also isn't needed since the callers don't want to raise ObjC 56497 exceptions. 56498 * bindings/objc/ExceptionHandlers.mm: Ditto. Also removed unneeded external globals 56499 that aren't exported anyway and unneeded includes. 56500 56501 * bridge/EditorClient.h: Added Mac-specific function, markedTextAbandoned. Long term 56502 this might move into platform instead, but it's fine to have it on the client for now 56503 as long as it doesn't cause trouble for platforms other than Mac. 56504 56505 * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): Since 56506 all the event handling code in this function is intended to run on the node itself, 56507 not parent nodes, check and do nothing if this event is bubbling up from another 56508 node. Added code to call a function on EventHandler for default handling of text 56509 input events. 56510 56511 * dom/KeyboardEvent.h: 56512 * dom/KeyboardEvent.cpp: (WebCore::findKeyboardEvent): Added. Just like the 56513 findUIEventWithKeyState function, but specific to keyboard events. 56514 56515 * dom/TextEvent.h: Added isLineBreak and isBackTab flags so that we can carry 56516 additional information about what a text input event is trying to do, but still 56517 go through the DOM event machinery. 56518 * dom/TextEvent.cpp: Ditto. 56519 56520 * editing/Editor.h: 56521 * editing/Editor.cpp: 56522 (WebCore::Editor::handleKeyPress): Removed unneeded check of isCaretOrRange, since 56523 isContentEditable already checks that. 56524 (WebCore::Editor::canEdit): Ditto. 56525 (WebCore::Editor::canEditRichly): Ditto. 56526 (WebCore::Editor::canPaste): Changed to call canEdit for brevity. 56527 (WebCore::Editor::replaceSelectionWithText): Changed to take a const String&. 56528 (WebCore::Editor::shouldInsertText): Ditto. 56529 (WebCore::hasEditableSelection): Removed unneeded check of isCaretOrRange, since 56530 isContentEditable already checks that. 56531 (WebCore::Editor::Editor): Initialize the new m_ignoreMarkedTextSelectionChange 56532 flag. Moved here from WebHTMLView. 56533 (WebCore::Editor::insertText): Moved most of the code from -[WebHTMLView insertText:] 56534 here, since this needs to be done in response to a text input event and we don't want 56535 to go back over the WebKit side for that. 56536 (WebCore::Editor::insertLineBreak): Added. Moved here from -[WebHTMLView insertLineBreak:] 56537 for the same reason -- needs to be done in response to text input events. 56538 (WebCore::Editor::insertParagraphSeparator): Ditto. 56539 (WebCore::Editor::selectMarkedText): Added. Used by insertText. 56540 (WebCore::Editor::discardMarkedText): Added. Used by insertText. 56541 (WebCore::Editor::unmarkText): Added. Used by insertText. 56542 * editing/mac/EditorMac.mm: 56543 (WebCore::Editor::unmarkText): Added. Used by insertText. 56544 56545 * html/HTMLInputElement.cpp: 56546 (WebCore::HTMLInputElement::canHaveSelection): Changed to use isTextField to avoid repeating 56547 the switch statement. 56548 (WebCore::HTMLInputElement::selectionStart): Ditto. 56549 (WebCore::HTMLInputElement::selectionEnd): Ditto. 56550 (WebCore::HTMLInputElement::setSelectionStart): Ditto. 56551 (WebCore::HTMLInputElement::setSelectionEnd): Ditto. 56552 (WebCore::HTMLInputElement::select): Ditto. 56553 (WebCore::HTMLInputElement::setSelectionRange): Ditto. 56554 (WebCore::HTMLInputElement::createRenderer): Resorted cases alphaebtically. 56555 (WebCore::HTMLInputElement::defaultEventHandler): Added code to make hitting return cause the 56556 form to be submitted when it comes through as a text input event. This is now the normal case 56557 on Macintosh, because enter key presses normally turn into this. In addition, change the other 56558 event handling to run only after trying the base defaultEventHandler. That makes the key 56559 handling done in EventTargetNode take precedence over the event handling here for editable text 56560 fields, which is what we want. This gets rid of the need for the hack where we check 56561 inputManagerHasMarkedText and suppress the handling of the enter key. 56562 56563 * page/EventHandler.h: Removed unneeded includes. Moved EventHandlerDragState down into the 56564 private part of the class. Changed sendContextMenuEvent to take a const&. Added new 56565 handleTextInputEvent and defaultTextInputEventHandler functions. Made eventLoopHandleMouseUp 56566 and eventLoopHandleMouseDragged private. Added private defaultTabEventHandler function. 56567 * page/EventHandler.cpp: 56568 (WebCore::EventHandler::sendContextMenuEvent): Changed parameter to be a const&. 56569 (WebCore::EventHandler::defaultKeyboardEventHandler): Rearranged things so that the key bindings 56570 handling in handleKeyPress comes before special tab event handling. In cases where the tab turns 56571 into text to insert, we now handle it in the text input event handler. 56572 (WebCore::EventHandler::handleTextInputEvent): Added. Creates and dispatches a text input event. 56573 (WebCore::EventHandler::defaultTextInputEventHandler): Added. Inserts text, but has special cases 56574 for the tab and newline character cases. 56575 (WebCore::EventHandler::defaultTabEventHandler): Added. Shared by the tab-handling code in 56576 the keyboard event and text input event handlers. 56577 * page/mac/EventHandlerMac.mm: Tweak formatting, remove some unused functions. 56578 56579 * page/FocusController.h: Removed unnneded includes and forwards, and added an overload of 56580 advanceFocus that takes a FocusDirection parameter. 56581 * page/FocusController.cpp: (WebCore::FocusController::advanceFocus): Changed to allow a 0 for 56582 the event pointer. Also added a version where the direction is passed explicitly, to be used 56583 for cases where we want to tab backward even if the event doesn't have a shift modifier key set. 56584 56585 * platform/graphics/svg/SVGImageEmptyClients.h: Updated for change to EditorClient. 56586 This should really probably just use 0 for the EditorClient. 56587 56588 * WebCore.exp: Update both for newly used and no-longer-used entry points. 56589 56590 * page/mac/WebCoreFrameBridge.h: 56591 * page/mac/WebCoreFrameBridge.mm: Removed two unused methods. 56592 56593 2007-02-12 Antti Koivisto <antti (a] apple.com> 56594 56595 Reviewed by Darin. 56596 56597 - fixed Imagemap not clickable in www.toptenbooks.net/ 56598 http://bugs.webkit.org/show_bug.cgi?id=12738 56599 56600 Make imagemap names case insensitive in HTML mode 56601 56602 * dom/Document.cpp: 56603 (WebCore::Document::getImageMap): 56604 * html/HTMLMapElement.cpp: 56605 (WebCore::HTMLMapElement::parseMappedAttribute): 56606 56607 2007-02-12 Maciej Stachowiak <mjs (a] apple.com> 56608 56609 Reviewed by Antti. 56610 56611 - fixed <rdar://problem/4928675> REGRESSION: Crash in CGBlt_copyBytes under WebCore::Font::drawGlyphs (12083) 56612 http://bugs.webkit.org/show_bug.cgi?id=12083 56613 56614 Test: fast/text/text-shadow-extreme-value.html 56615 56616 * platform/graphics/cg/GraphicsContextCG.cpp: 56617 (WebCore::GraphicsContext::setShadow): Clamp shadow value to 1000px, anything more seems to 56618 make CG unhappy. 56619 56620 2007-02-11 Brady Eidson <beidson (a] apple.com> 56621 56622 Reviewed by Maciej. 56623 56624 First in what will be a series of HistoryItem enhancements to help debugging 56625 56626 * history/HistoryItem.cpp: 56627 (WebCore::HistoryItem::showTree): 56628 (WebCore::HistoryItem::showTreeWithIndent): 56629 (showTree): Outside of WebCore namespace, and extern "C" - to make even the 56630 DWARF debugger able to find it... *sigh* 56631 * history/HistoryItem.h: 56632 56633 2007-02-11 Eric Seidel <eric (a] webkit.org> 56634 56635 Reviewed by Anders. 56636 56637 - fixed <rdar://problem/4975133> ASSERT failure and crash right-clicking on image in SVG use test 56638 http://bugs.webkit.org/show_bug.cgi?id=12580 56639 56640 Test: svg/cust/use-events-crash.svg 56641 56642 * bindings/js/kjs_dom.cpp: 56643 (KJS::toJS): 56644 * ksvg2/svg/SVGElementInstance.cpp: 56645 (WebCore::SVGElementInstance::toNode): 56646 * ksvg2/svg/SVGElementInstance.h: 56647 56648 2007-02-11 Mitz Pettel <mitz (a] webkit.org> 56649 56650 Reviewed by Maciej. 56651 56652 - fix http://bugs.webkit.org/show_bug.cgi?id=10144 56653 REGRESSION: Reproducible assertion failure in DeleteSelectionCommand::fixupWhitespace() 56654 56655 Test: fast/text/delete-hard-break-character.html 56656 56657 The bug was caused by not updating a line whose line break object and offset 56658 has been deleted. When deleting text, all lines containing the deleted text 56659 are marked dirty. However, if the first character being deleted is a newline 56660 which serves as a hard line break for the previous line, then that line will 56661 not be marked, and since it will be a clean line ending with a line break, 56662 relayout will begin at the next line. The fix is to check for this when 56663 determining where to relayout from. 56664 56665 * rendering/bidi.cpp: 56666 (WebCore::RenderBlock::determineStartPosition): Changed the condition for 56667 including the last clean line in relayout to include the case where the 56668 last clean line ends with a line break, but that line break is a newline that 56669 has been deleted. 56670 56671 2007-02-12 Antti Koivisto <antti (a] apple.com> 56672 56673 Reviewed by Maciej. 56674 56675 REGRESSION: Google Calendar cell highlight misplaced 56676 http://bugs.webkit.org/show_bug.cgi?id=12687 56677 56678 Make offsetLeft/offsetTop/offsetParent behavior match Firefox. 56679 56680 * rendering/RenderObject.cpp: 56681 (WebCore::RenderObject::offsetLeft): 56682 (WebCore::RenderObject::offsetTop): 56683 (WebCore::RenderObject::offsetParent): 56684 56685 2007-02-10 Antti Koivisto <antti (a] apple.com> 56686 56687 Reviewed by Maciej. 56688 56689 - fixed REGRESSION: No day/week scrollbar in Google Calendar 56690 http://bugs.webkit.org/show_bug.cgi?id=11985 56691 56692 Make sure overflow:auto scrollbars are always enabled. If they were overflow:scroll 56693 and dynamically changed to auto they might still be disabled. 56694 56695 * rendering/RenderLayer.cpp: 56696 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 56697 56698 2007-02-11 Alexey Proskuryakov <ap (a] webkit.org> 56699 56700 Reviewed by Hyatt. 56701 56702 http://bugs.webkit.org/show_bug.cgi?id=12581 56703 XPath //title shouldn't match <title> in XHTML 56704 56705 Test: fast/xpath/ensure-null-namespace.xhtml 56706 56707 * xml/XPathStep.cpp: 56708 (WebCore::XPath::Step::nodeTestMatches): Only let a null namespace match any for HTML. 56709 56710 2007-02-10 Alexey Proskuryakov <ap (a] webkit.org> 56711 56712 Reviewed by Adam. 56713 56714 http://bugs.webkit.org/show_bug.cgi?id=12701 56715 REGRESSION: After javascript, onChange not triggered when selecting same option 56716 56717 * html/HTMLSelectElement.cpp: 56718 (WebCore::HTMLSelectElement::setSelectedIndex): Remember m_lastOnChangeIndex value, 56719 as it can change from setSelected() now. 56720 (WebCore::HTMLSelectElement::notifyOptionSelected): Update m_lastOnChangeIndex. 56721 56722 * manual-tests/select-onchange-after-js.html: Added. Also tests for bug 11402. 56723 56724 2007-02-10 David Carson <dacarson (a] gmail.com>` 56725 56726 Reviewed by Maciej. 56727 56728 Manual tests for http://bugs.webkit.org/show_bug.cgi?id=12636 56729 Call different Java methods that take a variety of Array parameters 56730 from Javascript, passing a Javascript array. 56731 56732 * manual-tests/liveconnect-applet-array-parameters.html: Added. 56733 * manual-tests/resources/ArrayParameterTestApplet.class: Added. 56734 * manual-tests/resources/ArrayParameterTestApplet.java: Added. 56735 56736 2007-02-10 Alexey Proskuryakov <ap (a] webkit.org> 56737 56738 Reviewed by Maciej. 56739 56740 http://bugs.webkit.org/show_bug.cgi?id=12724 56741 Crash when enumerating XPath namespace axis 56742 56743 * xml/XPathStep.cpp: 56744 (WebCore::XPath::Step::nodesInAxis): Namespace axis enumeration was broken in that it crashed, and also in that 56745 it returned attribute nodes instead of XPath namespace ones. Removed it altogether. 56746 56747 2007-02-10 Mitz Pettel <mitz (a] webkit.org> 56748 56749 Reviewed by Adam. 56750 56751 - fix http://bugs.webkit.org/show_bug.cgi?id=12565 56752 ASSERTION failure on some declarative animations <rdar://problem/4975132> 56753 56754 * ksvg2/svg/SVGAnimationElement.cpp: 56755 (WebCore::parseValues): Changed the string length math to avoid truncating 56756 the last character of each value. 56757 * manual-tests/svg-animation-parseValues.svg: Added. 56758 56759 2007-02-10 Mitz Pettel <mitz (a] webkit.org> 56760 56761 Reviewed by Adam. 56762 56763 - fix http://bugs.webkit.org/show_bug.cgi?id=11621 56764 REGRESSION (Native slider): slider thumb not updated when the mouse is dragged/released out of range 56765 56766 No automated test case because dumping the render tree updates layer positions anyway. 56767 56768 * manual-tests/slider-thumb-tracking.html: Added. 56769 * rendering/RenderSlider.cpp: 56770 (WebCore::RenderSlider::setCurrentPosition): Added call to updateLayerPosition() 56771 for the thumb's layer. 56772 56773 2007-02-09 Brady Eidson <beidson (a] apple.com> 56774 56775 Reviewed by Maciej 56776 56777 <rdar://problem/4965133> WebKit sends file:// url referrers 56778 56779 * loader/SubresourceLoader.cpp: 56780 (WebCore::SubresourceLoader::create): In SubresourceLoader::create(), we make a copy of the original request 56781 to use for the load. We then call FrameLoader::canLoad() which tells us if we should hide the referer. Before 56782 this fix if it said to hide the referrer, we would simply not apply a new referrer to our copy of the request. 56783 But if the original request already had a referrer, so did our copy. We simply have to clear the referrer from 56784 the copied request. 56785 56786 2007-02-10 Maciej Stachowiak <mjs (a] apple.com> 56787 56788 Reviewed by me, patch from Feng Qian (cleaned up by me some). 56789 56790 - fixed <rdar://problem/4988091> objects attached to Window not cleared (memory leak) 56791 56792 Test case: fast/dom/Window/window-appendages-cleared.html 56793 56794 * bindings/js/kjs_window.cpp: 56795 (KJS::Window::clearHelperObjectProperties): 56796 (KJS::Window::clear): 56797 * bindings/js/kjs_window.h: 56798 56799 2007-02-09 Brady Eidson <beidson (a] apple.com> 56800 56801 Reviewed by Tim Hatcher 56802 56803 <rdar://problem/4985497> - Plugs a potential null DocumentLoader deref when 56804 transitioning out of the Bookmarks View 56805 56806 * loader/FrameLoader.cpp: 56807 (WebCore::FrameLoader::recursiveGoToItem): add a null check 56808 56809 2007-02-09 Beth Dakin <bdakin (a] apple.com> 56810 56811 Rubber-stamped by John . . . and Adam. 56812 56813 * page/ContextMenuController.cpp: 56814 (WebCore::ContextMenuController::contextMenuItemSelected): Missing 56815 break. 56816 56817 2007-02-09 Justin Garcia <justin.garcia (a] apple.com> 56818 56819 Reviewed by darin 56820 56821 <rdar://problem/4975120> 56822 REGRESSION: double-cursor after switching window away/back (11770) 56823 <http://bugs.webkit.org/show_bug.cgi?id=11328> 56824 Gmail Editor: Caret can simultaneously appear in both the TO: and message body fields 56825 56826 * page/mac/WebCoreFrameBridge.h: Removed two unused methods 56827 left over from the old form control implementation. 56828 56829 2007-02-09 John Sullivan <sullivan (a] apple.com> 56830 56831 * rendering/bidi.cpp: 56832 (WebCore::bidiNext): 56833 At Darin's suggestion, moved the "next = 0" line from my previous patch to the start of the loop body 56834 56835 2007-02-09 Justin Garcia <justin.garcia (a] apple.com> 56836 56837 Reviewed by john 56838 56839 <rdar://problem/4960116> 56840 REGRESSION: Nightly Safari crashes in WebCore::SelectionController::xPosForVerticalArrowNavigation (12416) 56841 56842 * editing/SelectionController.cpp: 56843 (WebCore::SelectionController::xPosForVerticalArrowNavigation): 56844 Null check. VisiblePosition creation can fail if a node that 56845 contains the selection was made invisible after the selection 56846 was made and before this function is called during a selection 56847 modification operation. 56848 56849 2007-02-09 Justin Garcia <justin.garcia (a] apple.com> 56850 56851 Reviewed by john 56852 56853 <rdar://problem/4983858> 56854 REGRESSION: In a new mail message, attempting to select a single word causes the selection to extend to the previous line 56855 56856 * editing/TextIterator.cpp: 56857 (WebCore::SimplifiedBackwardsTextIterator::exitNode): 56858 We recently split shouldEmitNewlineForNode into 56859 shouldEmitNewline{Before, After}Node, so this function now 56860 needs an implementation that is different from 56861 SimplifiedBackwardsTextIterator::handleNonTextNode. The 56862 difference is that we must call shouldEmit*BeforeNode 56863 instead of shouldEmit*AfterNode since we are a) exiting 56864 nodes and b) moving backward. 56865 56866 2007-02-09 Justin Garcia <justin.garcia (a] apple.com> 56867 56868 Reviewed by john 56869 56870 <rdar://problem/4916541> 56871 Some of the selection isn't preserved during an Indent opreration 56872 56873 * editing/IndentOutdentCommand.cpp: 56874 (WebCore::indexForVisiblePosition): Added. 56875 (WebCore::IndentOutdentCommand::indentRegion): Use rangeLength 56876 and rangeFromLocationAndLength to restore the selection after 56877 the repeated moveParagraph calls necessary to perform indent are 56878 finished. 56879 56880 2007-02-09 John Sullivan <sullivan (a] apple.com> 56881 56882 Reviewed by Kevin Decker 56883 56884 - fixed <rdar://problem/4960095> REPRODUCIBLE HANG: WebKit freezes when printing as PDF 56885 a certain kind of code (12449) 56886 56887 No test case because I don't know how to make the bug occur without printing. 56888 56889 * rendering/bidi.cpp: 56890 (WebCore::bidiNext): 56891 reset loop's "next" variable after using it; we were setting "current" to the same value 56892 of "next" each subsequent time through the loop, which is not helpful. 56893 56894 2007-02-09 Darin Adler <darin (a] apple.com> 56895 56896 Reviewed by Adele. 56897 56898 - Add TextEvent to the DOM (based on the proposed DOM level 3) 56899 to be used to fix some international input bugs soon. 56900 At this point, we don't send any text events. 56901 56902 - Remove some obsolete files. 56903 56904 * CMakeLists.txt: 56905 * WebCore.pro: 56906 * WebCore.xcodeproj/project.pbxproj: 56907 * WebCoreSources.bkl: 56908 Add new files, remove obsolete files. 56909 56910 * DerivedSources.make: Add TextEvent to the Objective-C and JavaScript bindings lists. 56911 * WebCore.exp: Export DOMTextEvent Objective-C wrapper. 56912 56913 * bindings/js/kjs_events.cpp: (KJS::toJS): Added TextEvent to the list of Event subclasses 56914 so we make the right kind of JS wrapper. 56915 * bindings/objc/DOMEvents.mm: (+[DOMEvent _eventWith:]): Same thing, for Objective-C. 56916 56917 * bindings/objc/DOMInternal.h: Added DOMTextEventInternal.h. 56918 56919 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::hasFeature): 56920 Added "TextEvents", "3.0" to the list of things we'll answer true for 56921 (as specified in the DOM Level 3 documentation). 56922 This isn't so great until we actually send textInput events, but that's coming soon. 56923 56924 * dom/Document.cpp: (WebCore::Document::createEvent): Add "TextEvent" as a way to make 56925 a TextEvent (as specified in the DOM Level 3 documentation). 56926 56927 * dom/Event.h: 56928 * dom/Event.cpp: (WebCore::Event::isTextEvent): Added virtual function to be used 56929 for runtime type checking of Event objects (as for other event types). 56930 56931 * dom/TextEvent.cpp: Added. 56932 * dom/TextEvent.h: Added. 56933 * dom/TextEvent.idl: Added. 56934 56935 * platform/mac/WebCoreWidgetHolder.h: Removed. 56936 * rendering/CounterListItem.h: Removed. 56937 * rendering/CounterResetNode.cpp: Removed. 56938 * rendering/CounterResetNode.h: Removed. 56939 56940 2007-02-09 Anders Carlsson <acarlsson (a] apple.com> 56941 56942 Reviewed by Geoff. 56943 56944 <rdar://problem/4816376> 56945 REGRESSION: NetNewsWire 3.0 - Crashes in WebDocumentLoaderMac::attachToFrame() (12674) 56946 56947 The bug was that the NNW policy delegate never calls back on the policy listener so we'll try to do a load 56948 while there's a policy decision underway. The extra call to setPolicyDocumentLoader would cause a detached (and deallocated) 56949 WebDataSource to be reattached and thus causing a crash. 56950 56951 * loader/FrameLoader.cpp: 56952 (WebCore::FrameLoader::load): 56953 Remove extra call to setPolicyDocumentLoader. 56954 56955 2007-02-09 Beth Dakin <bdakin (a] apple.com> 56956 56957 Reviewed by Darin. 56958 56959 Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text 56960 blinks when mouse is moved, and is invisible otherwise 56961 56962 Acrobat 8 was relying on a WebKit bug that was fixed about a year 56963 ago with r12753. The bug was that we would not reload a page if the 56964 source of an iframe was set to the same value it already was. Now 56965 that we have fixed the bug, Acrobat constantly reloads their EULA, 56966 making it blinky and impossible to read. 56967 56968 No layout test since the fix is to add an Acrobat-specific quirk. 56969 56970 * WebCore.exp: 56971 * html/HTMLFrameElementBase.cpp: 56972 (WebCore::HTMLFrameElementBase::setLocation): If the new url is the 56973 same as the old one and we are honoring the Acrobat quirk, don't do 56974 anything. 56975 * page/Settings.cpp: 56976 (WebCore::Settings::Settings): 56977 (WebCore::Settings::setNeedsAcrobatFrameReloadingQuirk): 56978 * page/Settings.h: 56979 (WebCore::Settings::needsAcrobatFrameReloadingQuirk): 56980 56981 2007-02-09 Brady Eidson <beidson (a] apple.com> 56982 56983 Rubberstamped by Dave Harrison 56984 56985 Disable the thread-check assertion in WebCore, as well as Webkit 56986 56987 * WebCore.xcodeproj/project.pbxproj: 56988 56989 2007-02-08 Anders Carlsson <acarlsson (a] apple.com> 56990 56991 Reviewed by Geoff. 56992 56993 No need to pause timeout checks anymore. 56994 56995 * bindings/js/kjs_window.cpp: 56996 (KJS::WindowFunc::callAsFunction): 56997 56998 2007-02-09 John Sullivan <sullivan (a] apple.com> 56999 57000 Reviewed by Beth 57001 57002 - WebCore part of fix for radar 4939636, problems with context menu items and binaries linked 57003 against WebKit 2.0. 57004 57005 * platform/ContextMenuItem.h: 57006 (WebCore::): 57007 Tweaked comment; bumped enum value for new SPI tags to avoid conflict with pre-3.0 SPI tag values. 57008 57009 2007-02-09 Nicholas Shanks <webkit (a] nickshanks.com> 57010 57011 Reviewed by Dave Hyatt. 57012 57013 Removed broken recognition of :last-* and :only-* selectors 57014 57015 * css/CSSGrammar.y: 57016 * css/CSSSelector.cpp: 57017 (WebCore::CSSSelector::extractPseudoType): 57018 * css/CSSSelector.h: 57019 (WebCore::CSSSelector::): 57020 * css/cssstyleselector.cpp: 57021 (WebCore::CSSStyleSelector::checkOneSelector): 57022 57023 2007-02-09 Maciej Stachowiak <mjs (a] apple.com> 57024 57025 Reviewed by Mark. 57026 57027 <rdar://problem/4980176> 57028 57029 * page/Frame.cpp: 57030 (WebCore::Frame::pageDestroyed): Since this frame is getting 57031 disconnected from its page, ensure it is not the focus node. 57032 57033 2007-02-09 Krzysztof <kkowalczyk (a] gmail.com> 57034 57035 Reviewed by Maciej. 57036 57037 gdklauncher crashes when compiled with NDEBUG defined. 57038 57039 * Projects/gdk/webcore-gdk.bkl: 57040 57041 2007-02-09 Maciej Stachowiak <mjs (a] apple.com> 57042 57043 Reviewed by Mitz. 57044 57045 <rdar://problem/4971224> REGRESSION: ASSERT in WebCore with Mail (12491) 57046 http://bugs.webkit.org/show_bug.cgi?id=12491 57047 57048 No test case. Not testable since there is no way to do substitute 57049 data loads from layout tests. 57050 57051 * loader/MainResourceLoader.cpp: 57052 (WebCore::MainResourceLoader::continueAfterContentPolicy): Don't dispatch data load 57053 callback when loading empty data. 57054 57055 2007-02-09 Mark Rowe <mrowe (a] apple.com> 57056 57057 Reviewed by Maciej. 57058 57059 http://bugs.webkit.org/show_bug.cgi?id=12705 57060 REGRESSION: Crash with user stylesheet set 57061 57062 Allow the Frame::canLoad check to skipped so that user stylesheets can be loaded in remote documents. 57063 57064 * ChangeLog: 57065 * loader/DocLoader.cpp: 57066 (WebCore::DocLoader::requestCSSStyleSheet): Skip canLoad check if this is a user stylesheet. 57067 (WebCore::DocLoader::requestUserCSSStyleSheet): 57068 (WebCore::DocLoader::requestResource): Allow canLoad check to be skipped. 57069 * loader/DocLoader.h: 57070 * page/Frame.cpp: 57071 (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): 57072 57073 2007-02-08 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57074 57075 Reviewed by Darin. 57076 57077 Linux/gdk build fixes. 57078 57079 * Projects/gdk/webcore-gdk.bkl: Account for file renaming. 57080 * platform/gdk/KeyEventGdk.cpp: Make gdk's tab key recognized as tab so that 57081 keyboard link walking works on gdk. 57082 (WebCore::keyIdentifierForGdkKeyCode): 57083 57084 2007-02-08 Adele Peterson <adele (a] apple.com> 57085 57086 Reviewed by Brady. 57087 57088 Fix for http://bugs.webkit.org/show_bug.cgi?id=12599 57089 <rdar://problem/4973507> REGRESSION: When replying in Gmail, the caret disappears when you start to type (12599) 57090 57091 When a frame's window was focused, the page didn't get updated about the new frame getting focus. 57092 This was causing handleKeyPress to fail because it kept getting a selection for the wrong frame (which wasn't editable). 57093 57094 Test: fast/frames/iframe-window-focus.html 57095 57096 * page/Frame.cpp: 57097 (WebCore::Frame::focusWindow): 57098 (WebCore::Frame::unfocusWindow): 57099 * page/Frame.h: 57100 * page/mac/FrameMac.mm: 57101 (WebCore::FrameMac::focusWindow): 57102 (WebCore::FrameMac::unfocusWindow): 57103 57104 2007-02-08 Adele Peterson <adele (a] apple.com> 57105 57106 Reviewed by Brady. 57107 57108 Fix for http://bugs.webkit.org/show_bug.cgi?id=12480 57109 <rdar://problem/4971222> REGRESSION (NativeListBox): Deselecting option causes list to jump to top 57110 57111 Test: fast/forms/listbox-deselect-scroll.html 57112 57113 * html/HTMLSelectElement.cpp: 57114 (WebCore::HTMLSelectElement::activeSelectionStartListIndex): Added. Returns the index for the active selection. If there is no active selection, 57115 it returns the first selected index. 57116 (WebCore::HTMLSelectElement::activeSelectionEndListIndex): Added. If there is no active selection, it returns the last selected index. 57117 * html/HTMLSelectElement.h: 57118 * rendering/RenderListBox.cpp: (WebCore::RenderListBox::scrollToRevealSelection): Instead of using the first and last selected indices, 57119 use the active selection indices to determine which item to reveal. This way, when you're selecting with the keyboard, or the mouse, 57120 no unnecessary scrolling will occur if the end of your active selection is already visible. 57121 57122 2007-02-08 Adele Peterson <adele (a] apple.com> 57123 57124 Reviewed by Hyatt. 57125 57126 Fix for <rdar://problem/4963411> Items of SELECT element are incorrectly highlighted when display:block is set 57127 57128 Test: fast/forms/select-block-background.html 57129 57130 * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintObject): 57131 Paint the item backgrounds during the PaintPhaseChildBlockBackground or PaintPhaseChildBlockBackgrounds phase. 57132 57133 2007-02-08 Mitz Pettel <mitz (a] webkit.org> 57134 57135 Reviewed by Adele. 57136 57137 - fix http://bugs.webkit.org/show_bug.cgi?id=11047 57138 REGRESSION: Empty options cause the entire select to collapse 57139 57140 Test: fast/forms/select-empty-option-height.html 57141 57142 - fix http://bugs.webkit.org/show_bug.cgi?id=10783 57143 REGRESSION (r16044): Clicking a popup changes layout around it 57144 57145 * rendering/RenderMenuList.cpp: 57146 (WebCore::RenderMenuList::setText): If the option text is empty, use a RenderBR 57147 as inner text, to ensure that the inner div has line height. 57148 57149 2007-02-08 Geoffrey Garen <ggaren (a] apple.com> 57150 57151 Reviewed by Beth Dakin. 57152 57153 Added a hard counter for SubresourceLoaders because the leaks tool now 57154 ignores them. 57155 57156 * loader/SubresourceLoader.cpp: 57157 (WebCore::): 57158 (WebCore::SubresourceLoaderCounter::~SubresourceLoaderCounter): 57159 (WebCore::SubresourceLoader::SubresourceLoader): 57160 (WebCore::SubresourceLoader::~SubresourceLoader): 57161 * page/Frame.cpp: Removed unnecessary #define 57162 57163 2007-02-08 Geoffrey Garen <ggaren (a] apple.com> 57164 57165 Reviewed by Beth Dakin. 57166 57167 Fixed <rdar://problem/4982374> CSSComputedStyleDeclaration::getPropertyCSSValue 57168 leak reported by buildbot 57169 57170 The leak was a typo: "new" instead of "return new". I also generously 57171 deployed RefPtr in places that were holding ref-counted objects in 57172 bare pointers. 57173 57174 * css/CSSComputedStyleDeclaration.cpp: 57175 (WebCore::valueForShadow): 57176 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 57177 57178 2007-02-08 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57179 57180 Reviewed by Adam Roben. 57181 57182 Linux/gdk build fixes. 57183 57184 * platform/gdk/EditorClientGdk.cpp: Added. Based on qt version. 57185 (WebCore::EditorClientGdk::shouldDeleteRange): 57186 (WebCore::EditorClientGdk::shouldShowDeleteInterface): 57187 (WebCore::EditorClientGdk::isContinuousSpellCheckingEnabled): 57188 (WebCore::EditorClientGdk::isGrammarCheckingEnabled): 57189 (WebCore::EditorClientGdk::spellCheckerDocumentTag): 57190 (WebCore::EditorClientGdk::shouldBeginEditing): 57191 (WebCore::EditorClientGdk::shouldEndEditing): 57192 (WebCore::EditorClientGdk::shouldInsertText): 57193 (WebCore::EditorClientGdk::shouldApplyStyle): 57194 (WebCore::EditorClientGdk::didBeginEditing): 57195 (WebCore::EditorClientGdk::respondToChangedContents): 57196 (WebCore::EditorClientGdk::didEndEditing): 57197 (WebCore::EditorClientGdk::didWriteSelectionToPasteboard): 57198 (WebCore::EditorClientGdk::didSetSelectionTypesForPasteboard): 57199 (WebCore::EditorClientGdk::selectWordBeforeMenuEvent): 57200 (WebCore::EditorClientGdk::isEditable): 57201 (WebCore::EditorClientGdk::registerCommandForUndo): 57202 (WebCore::EditorClientGdk::registerCommandForRedo): 57203 (WebCore::EditorClientGdk::clearUndoRedoOperations): 57204 (WebCore::EditorClientGdk::canUndo): 57205 (WebCore::EditorClientGdk::canRedo): 57206 (WebCore::EditorClientGdk::undo): 57207 (WebCore::EditorClientGdk::redo): 57208 (WebCore::EditorClientGdk::shouldInsertNode): 57209 (WebCore::EditorClientGdk::pageDestroyed): 57210 (WebCore::EditorClientGdk::smartInsertDeleteEnabled): 57211 (WebCore::EditorClientGdk::toggleContinuousSpellChecking): 57212 (WebCore::EditorClientGdk::toggleGrammarChecking): 57213 (WebCore::EditorClientGdk::handleKeyPress): 57214 (WebCore::EditorClientGdk::EditorClientGdk): 57215 (WebCore::EditorClientGdk::setPage): 57216 * platform/gdk/EditorClientGdk.h: Added. Ditto. 57217 * platform/gdk/FrameGdk.cpp: Add exitAfterLoading and dumpRenderTreeAfterLoading 57218 as small debugging features. Remove FrameGdkClient as no other platform has Frame*Client 57219 anymore. Adjust for new APIs. 57220 (WebCore::FrameGdk::FrameGdk): 57221 (WebCore::FrameGdk::onDidFinishLoad): 57222 (WebCore::FrameGdk::dumpRenderTree): 57223 (WebCore::FrameGdk::keyPress): 57224 (WebCore::FrameGdk::handleGdkEvent): 57225 (WebCore::FrameGdk::focusWindow): 57226 (WebCore::FrameGdk::unfocusWindow): 57227 (WebCore::FrameGdk::getObjectInstanceForWidget): 57228 (WebCore::FrameGdk::getEmbedInstanceForWidget): 57229 (WebCore::FrameGdk::bindingRootObject): 57230 (WebCore::FrameGdk::print): 57231 (WebCore::FrameGdk::getAppletInstanceForWidget): 57232 (WebCore::FrameGdk::issueCutCommand): 57233 (WebCore::FrameGdk::issueCopyCommand): 57234 (WebCore::FrameGdk::issuePasteCommand): 57235 (WebCore::FrameGdk::issueTransposeCommand): 57236 (WebCore::FrameGdk::issuePasteAndMatchStyleCommand): 57237 (WebCore::FrameGdk::markedTextRange): 57238 (WebCore::FrameGdk::shouldChangeSelection): 57239 (WebCore::FrameGdk::respondToChangedSelection): 57240 (WebCore::FrameGdk::mimeTypeForFileName): 57241 * platform/gdk/FrameGdk.h: Ditto. 57242 (WebCore::FrameGdk::setExitAfterLoading): 57243 (WebCore::FrameGdk::exitAfterLoading): 57244 (WebCore::FrameGdk::setDumpRenderTreeAfterLoading): 57245 (WebCore::FrameGdk::dumpRenderTreeAfterLoading): 57246 (WebCore::GdkFrame): 57247 * platform/gdk/TemporaryLinkStubs.cpp: Adjust to new APIs. Small cleanups. 57248 (FrameView::updateBorder): 57249 (Widget::setEnabled): 57250 (Widget::isEnabled): 57251 (Widget::enableFlushDrawing): 57252 (Widget::removeFromParent): 57253 (Widget::paint): 57254 (Widget::setIsSelected): 57255 (Widget::invalidate): 57256 (Widget::invalidateRect): 57257 (PlatformMouseEvent::PlatformMouseEvent): 57258 (WebCore::findWordBoundary): 57259 (ChromeClientGdk::chromeDestroyed): 57260 (ChromeClientGdk::closeWindowSoon): 57261 (ChromeClientGdk::canTakeFocus): 57262 (ChromeClientGdk::takeFocus): 57263 (ChromeClientGdk::canRunBeforeUnloadConfirmPanel): 57264 (ChromeClientGdk::addMessageToConsole): 57265 (ChromeClientGdk::runBeforeUnloadConfirmPanel): 57266 (ChromeClientGdk::runJavaScriptAlert): 57267 (ChromeClientGdk::runJavaScriptConfirm): 57268 (ChromeClientGdk::runJavaScriptPrompt): 57269 (ChromeClientGdk::setStatusbarText): 57270 (ChromeClientGdk::shouldInterruptJavaScript): 57271 (WebCore::inputElementAltText): 57272 (WebCore::resetButtonDefaultLabel): 57273 (WebCore::searchableIndexIntroduction): 57274 (WebCore::fileButtonChooseFileLabel): 57275 (WebCore::fileButtonNoFileSelectedLabel): 57276 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 57277 (WebCore::contextMenuItemTagDownloadLinkToDisk): 57278 (WebCore::contextMenuItemTagCopyLinkToClipboard): 57279 (WebCore::contextMenuItemTagOpenImageInNewWindow): 57280 (WebCore::contextMenuItemTagDownloadImageToDisk): 57281 (WebCore::contextMenuItemTagCopyImageToClipboard): 57282 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 57283 (WebCore::contextMenuItemTagCopy): 57284 (WebCore::contextMenuItemTagGoBack): 57285 (WebCore::contextMenuItemTagGoForward): 57286 (WebCore::contextMenuItemTagStop): 57287 (WebCore::contextMenuItemTagReload): 57288 (WebCore::contextMenuItemTagCut): 57289 (WebCore::contextMenuItemTagPaste): 57290 (WebCore::contextMenuItemTagNoGuessesFound): 57291 (WebCore::contextMenuItemTagIgnoreSpelling): 57292 (WebCore::contextMenuItemTagLearnSpelling): 57293 (WebCore::contextMenuItemTagSearchWeb): 57294 (WebCore::contextMenuItemTagLookUpInDictionary): 57295 (WebCore::contextMenuItemTagOpenLink): 57296 (WebCore::contextMenuItemTagIgnoreGrammar): 57297 (WebCore::contextMenuItemTagSpellingMenu): 57298 (WebCore::contextMenuItemTagShowSpellingPanel): 57299 (WebCore::contextMenuItemTagCheckSpelling): 57300 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 57301 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 57302 (WebCore::contextMenuItemTagFontMenu): 57303 (WebCore::contextMenuItemTagBold): 57304 (WebCore::contextMenuItemTagItalic): 57305 (WebCore::contextMenuItemTagUnderline): 57306 (WebCore::contextMenuItemTagOutline): 57307 (WebCore::contextMenuItemTagWritingDirectionMenu): 57308 (WebCore::contextMenuItemTagDefaultDirection): 57309 (WebCore::contextMenuItemTagLeftToRight): 57310 (WebCore::contextMenuItemTagRightToLeft): 57311 (PlugInInfoStore::createPluginInfoForPluginAtIndex): 57312 (PlugInInfoStore::pluginCount): 57313 (WebCore::PlugInInfoStore::supportsMIMEType): 57314 (WebCore::refreshPlugins): 57315 (SearchPopupMenu::saveRecentSearches): 57316 (SearchPopupMenu::loadRecentSearches): 57317 (SearchPopupMenu::SearchPopupMenu): 57318 (Path::apply): 57319 (PlatformScrollbar::PlatformScrollbar): 57320 (PlatformScrollbar::~PlatformScrollbar): 57321 (PlatformScrollbar::width): 57322 (PlatformScrollbar::height): 57323 (PlatformScrollbar::setEnabled): 57324 (PlatformScrollbar::paint): 57325 (PlatformScrollbar::updateThumbPosition): 57326 (PlatformScrollbar::updateThumbProportion): 57327 (PlatformScrollbar::setRect): 57328 (ResourceHandle::willLoadFromCache): 57329 (ResourceHandle::loadsBlocked): 57330 (ResourceHandle::loadResourceSynchronously): 57331 (PageCache::close): 57332 (Editor::ignoreSpelling): 57333 (Editor::learnSpelling): 57334 (Editor::isSelectionUngrammatical): 57335 (Editor::isSelectionMisspelled): 57336 (Editor::guessesForMisspelledSelection): 57337 (Editor::guessesForUngrammaticalSelection): 57338 (Editor::markMisspellingsAfterTypingToPosition): 57339 (Editor::newGeneralClipboard): 57340 (Pasteboard::generalPasteboard): 57341 (Pasteboard::writeSelection): 57342 (Pasteboard::writeURL): 57343 (Pasteboard::clear): 57344 (Pasteboard::canSmartReplace): 57345 (Pasteboard::documentFragment): 57346 (Pasteboard::plainText): 57347 (Pasteboard::Pasteboard): 57348 (Pasteboard::~Pasteboard): 57349 (ContextMenu::ContextMenu): 57350 (ContextMenu::~ContextMenu): 57351 (ContextMenu::appendItem): 57352 (ContextMenu::setPlatformDescription): 57353 (ContextMenu::platformDescription): 57354 (ContextMenuItem::ContextMenuItem): 57355 (ContextMenuItem::~ContextMenuItem): 57356 (ContextMenuItem::releasePlatformDescription): 57357 (ContextMenuItem::type): 57358 (ContextMenuItem::setType): 57359 (ContextMenuItem::action): 57360 (ContextMenuItem::setAction): 57361 (ContextMenuItem::title): 57362 (ContextMenuItem::setTitle): 57363 (ContextMenuItem::platformSubMenu): 57364 (ContextMenuItem::setSubMenu): 57365 (ContextMenuItem::setChecked): 57366 (ContextMenuItem::setEnabled): 57367 (WebCore::systemBeep): 57368 (WebCore::userIdleTime): 57369 57370 2007-02-08 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57371 57372 Reviewed by Adam Roben. 57373 57374 Linux/gdk build fixes. 57375 57376 * platform/GlyphPageTreeNode.h: Fix header guard name. 57377 * platform/gdk/ChromeClientGdk.h: 57378 * platform/gdk/CursorGdk.cpp: 57379 (WebCore::verticalTextCursor): 57380 (WebCore::cellCursor): 57381 (WebCore::contextMenuCursor): 57382 (WebCore::noDropCursor): 57383 (WebCore::copyCursor): 57384 (WebCore::progressCursor): 57385 (WebCore::aliasCursor): 57386 * platform/gdk/MouseEventGdk.cpp: 57387 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 57388 * platform/gdk/PageGdk.cpp: Removed. No longer used. 57389 * platform/gdk/RenderThemeGdk.cpp: 57390 (WebCore::RenderThemeGdk::getThemeData): 57391 (WebCore::RenderThemeGdk::setCheckboxSize): 57392 (WebCore::RenderThemeGdk::paintCheckbox): 57393 (WebCore::RenderThemeGdk::setRadioSize): 57394 (WebCore::RenderThemeGdk::paintRadio): 57395 (WebCore::RenderThemeGdk::paintButton): 57396 (WebCore::RenderThemeGdk::adjustTextFieldStyle): 57397 (WebCore::RenderThemeGdk::paintTextField): 57398 (WebCore::RenderThemeGdk::paintTextArea): 57399 (WebCore::RenderThemeGdk::systemFont): 57400 * platform/gdk/RenderThemeGdk.h: 57401 * platform/gdk/ScreenGdk.cpp: 57402 (WebCore::screenDepth): 57403 (WebCore::screenDepthPerComponent): 57404 (WebCore::screenIsMonochrome): 57405 (WebCore::screenRect): 57406 (WebCore::screenAvailableRect): 57407 57408 2007-02-08 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57409 57410 Reviewed by Adam Roben. 57411 57412 Linux/gdk build fixes for cairo. 57413 57414 * platform/graphics/GraphicsContext.cpp: 57415 * platform/graphics/cairo/GraphicsContextCairo.cpp: 57416 (WebCore::GraphicsContext::GraphicsContext): 57417 (WebCore::GraphicsContext::strokeArc): 57418 (WebCore::GraphicsContext::drawFocusRing): 57419 (WebCore::GraphicsContext::setFocusRingClip): 57420 (WebCore::GraphicsContext::clearFocusRingClip): 57421 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 57422 (WebCore::GraphicsContext::origin): 57423 (WebCore::GraphicsContext::setPlatformFillColor): 57424 (WebCore::GraphicsContext::setPlatformStrokeColor): 57425 (WebCore::GraphicsContext::setPlatformStrokeThickness): 57426 (WebCore::GraphicsContext::setPlatformStrokeStyle): 57427 (WebCore::GraphicsContext::setPlatformFont): 57428 (WebCore::GraphicsContext::setURLForRect): 57429 (WebCore::GraphicsContext::addRoundedRectClip): 57430 (WebCore::GraphicsContext::addInnerRoundedRectClip): 57431 (WebCore::GraphicsContext::setShadow): 57432 (WebCore::GraphicsContext::clearShadow): 57433 (WebCore::GraphicsContext::beginTransparencyLayer): 57434 (WebCore::GraphicsContext::endTransparencyLayer): 57435 (WebCore::GraphicsContext::clearRect): 57436 (WebCore::GraphicsContext::strokeRect): 57437 (WebCore::GraphicsContext::setLineCap): 57438 (WebCore::GraphicsContext::setLineJoin): 57439 (WebCore::GraphicsContext::setMiterLimit): 57440 (WebCore::GraphicsContext::setAlpha): 57441 (WebCore::toCairoOperator): 57442 (WebCore::GraphicsContext::setCompositeOperation): 57443 (WebCore::GraphicsContext::clip): 57444 (WebCore::GraphicsContext::rotate): 57445 (WebCore::GraphicsContext::scale): 57446 (WebCore::GraphicsContext::clipOut): 57447 (WebCore::GraphicsContext::clipOutEllipseInRect): 57448 (WebCore::GraphicsContext::fillRoundedRect): 57449 57450 2007-02-08 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57451 57452 Reviewed by Adam Roben. 57453 57454 Linux/gdk build fixes. 57455 57456 * Projects/gdk/webcore-gdk.bkl: 57457 * WebCoreSources.bkl: 57458 * webcore-base.bkl: 57459 57460 2007-02-08 Brady Eidson <beidson (a] apple.com> 57461 57462 Reviewed by Tim Hatcher 57463 57464 Tweaked the thread violation behavior to be disabled by default, and to provide 57465 an easy breakpoint to set. 57466 The possibilities for the "WebCoreThreadCheck" user defaults key are - 57467 - The value "None" disables thread checking 57468 - The value "Log" causes an NSLog on a violation 57469 - The value "Exception" causes exceptions to be raised on a violation 57470 57471 * platform/Logging.h: 57472 * platform/mac/LoggingMac.mm: 57473 (WebCore::_WebCoreThreadViolationCheck): 57474 (WebCoreReportThreadViolation): In the global namespace, making breakpoints cake! 57475 57476 2007-02-08 Brady Eidson <beidson (a] apple.com> 57477 57478 Reviewed by Tim Hatcher 57479 57480 <rdar://problem/4983515> Need mechanism to protect against WebKit calls from secondary threads 57481 This initial landing is a conservative move until we can be certain of performance impact. 57482 By writing to the user defaults key @"WebCoreThreadCheck" for the WebKit app you're running - 57483 - The value "None" disables thread checking 57484 - The value "Exception" causes exceptions to be raised on a violation 57485 - The default is to do the check, and NSLog each violation 57486 57487 * bindings/objc/ExceptionHandlers.h: Add a "Is Main Thread" assert macro 57488 * bindings/scripts/CodeGeneratorObjC.pm: Use new mechanism in allocs and deallocs for now 57489 57490 * platform/Logging.h: Added WebCoreThreadViolationCheck macro 57491 * platform/mac/LoggingMac.mm: 57492 (WebCore::_WebCoreThreadViolationCheck): Check for main-threadedness, and do some stuff 57493 57494 2007-02-08 Kevin McCullough <KMcCullough (a] apple.com> 57495 57496 Reviewed by Maciej, Darin, and Mark. 57497 57498 rdar://problem/4922454 57499 - Prevents remote sites from executing local scripts. 57500 57501 * bindings/objc/DOM.mm: - renamed a function that is now in the base class 57502 (-[DOMElement image]): 57503 (-[DOMElement _imageTIFFRepresentation]): 57504 * dom/XMLTokenizer.cpp: - removed needless asserts 57505 (WebCore::XMLTokenizer::notifyFinished): 57506 * html/HTMLImageLoader.cpp: - renamed a function that is now in the base class 57507 (WebCore::HTMLImageLoader::dispatchLoadEvent): 57508 * html/HTMLTokenizer.cpp: - removed needless asserts 57509 (WebCore::HTMLTokenizer::reset): 57510 (WebCore::HTMLTokenizer::notifyFinished): 57511 * ksvg2/misc/SVGImageLoader.cpp: - renamed a function that is now in the base class 57512 (WebCore::SVGImageLoader::dispatchLoadEvent): 57513 * loader/Cache.cpp: - return early if an error occured 57514 (WebCore::Cache::requestResource): 57515 (WebCore::Cache::remove): 57516 * loader/CachedImage.h: - renamed a function that is now in the base class 57517 (WebCore::CachedImage::canRender): 57518 * loader/CachedResource.h: - renamed a function that is now in the base class 57519 (WebCore::CachedResource::errorOccurred): 57520 * loader/CachedScript.h: - renamed a function that is now in the base class 57521 (WebCore::CachedScript::schedule): 57522 * loader/DocLoader.cpp: - The heart of the fix, prevents resources from being created or retrieved from the cache if a remote site is requesting the local resource. 57523 (WebCore::DocLoader::requestResource): 57524 (WebCore::DocLoader::setLoadInProgress): 57525 * page/EventHandler.cpp: - renamed a function that is now in the base class 57526 (WebCore::selectCursor): 57527 * rendering/HitTestResult.cpp: - renamed a function that is now in the base class 57528 (WebCore::HitTestResult::image): 57529 * rendering/RenderImage.cpp: - renamed a function that is now in the base class 57530 (WebCore::RenderImage::setCachedImage): 57531 (WebCore::RenderImage::imageChanged): 57532 (WebCore::RenderImage::paint): 57533 (WebCore::RenderImage::layout): 57534 (WebCore::RenderImage::calcAspectRatioWidth): 57535 (WebCore::RenderImage::calcAspectRatioHeight): 57536 * rendering/RenderImage.h: - renamed a function that is now in the base class 57537 (WebCore::RenderImage::errorOccurred): 57538 * rendering/RenderListItem.cpp: - renamed a function that is now in the base class 57539 (WebCore::RenderListItem::setStyle): 57540 * rendering/RenderListMarker.cpp: - renamed a function that is now in the base class 57541 (WebCore::RenderListMarker::isImage): 57542 57543 2007-02-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57544 57545 Reviewed by Maciej. 57546 57547 Add updateGeometry() to gdk's ScrollView. Needed to fix resizing of the window 57548 in gdk. 57549 57550 * platform/ScrollView.h: 57551 * platform/gdk/ScrollViewGdk.cpp: 57552 (WebCore::ScrollView::updateGeometry): 57553 (WebCore::ScrollView::setDrawable): 57554 57555 2007-02-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57556 57557 Reviewed by Maciej. 57558 57559 Linux/gdk build fixes. 57560 57561 * platform/ContextMenuItem.h: 57562 * platform/PlatformMenuDescription.h: 57563 * platform/gdk/PopupMenuGdk.cpp: Added. Renamed from RenderPopupMenuGdk.cpp for 57564 consistency with other platforms. 57565 (WebCore::PopupMenu::PopupMenu): 57566 (WebCore::PopupMenu::~PopupMenu): 57567 * platform/gdk/RenderPopupMenuGdk.cpp: Removed. 57568 * platform/gdk/RenderPopupMenuGdk.h: Removed. 57569 57570 2007-02-07 Mitz Pettel <mitz (a] webkit.org> 57571 57572 Reviewed by Maciej. 57573 57574 - fix http://bugs.webkit.org/show_bug.cgi?id=12608 57575 Incorrect min. width calculation of a series of floats with clear:both and white-space:nowrap 57576 57577 Test: fast/block/float/nowrap-clear-min-width.html 57578 57579 * rendering/RenderBlock.cpp: 57580 (WebCore::RenderBlock::calcInlineMinMaxWidth): 57581 57582 2007-02-07 Mitz Pettel <mitz (a] webkit.org> 57583 57584 Reviewed by Dave Hyatt. 57585 57586 - fix http://bugs.webkit.org/show_bug.cgi?id=10522 57587 REGRESSION: Incomplete repaint after table relayout that decreases height 57588 57589 Test: fast/repaint/intermediate-layout-position.html 57590 57591 * rendering/RenderBlock.cpp: 57592 (WebCore::RenderBlock::layoutBlock): Adjust the old bounds by the layout delta, 57593 to get the block's absolute bounds as they were before its ancestors moved it 57594 during layout. 57595 (WebCore::RenderBlock::collapseMargins): Update the layout delta for the child 57596 when moving it. 57597 (WebCore::RenderBlock::clearFloatsIfNeeded): Ditto. 57598 (WebCore::RenderBlock::determineHorizontalPosition): Ditto. 57599 (WebCore::RenderBlock::layoutBlockChildren): Ditto. 57600 * rendering/RenderFlexibleBox.cpp: 57601 (WebCore::RenderFlexibleBox::layoutBlock): Adjust the old bounds by the current 57602 layout delta. 57603 * rendering/RenderHTMLCanvas.cpp: 57604 (WebCore::RenderHTMLCanvas::layout): Ditto. 57605 * rendering/RenderImage.cpp: 57606 (WebCore::RenderImage::layout): Ditto. 57607 * rendering/RenderTable.cpp: 57608 (WebCore::RenderTable::layout): Ditto. 57609 * rendering/RenderView.h: 57610 (WebCore::RenderView::layoutDelta): Added. Keeps track of the offset between 57611 the position of the object currently being laid out and its position at the 57612 end of the last layout. 57613 (WebCore::RenderView::addLayoutDelta): Added. 57614 57615 2007-02-07 Christopher Brichford <chrisb (a] adobe.com> 57616 57617 Reviewed by Brady. 57618 57619 http://bugs.webkit.org/show_bug.cgi?id=6286 57620 Very large (~500MB) images cause reproducible Safari crash 57621 57622 * loader/CachedImage.cpp: 57623 (WebCore::CachedImage::bufferData): Detect failure to create a 57624 large Vector<> and call error() when that happens. 57625 57626 2007-02-07 Mitz Pettel <mitz (a] webkit.org> 57627 57628 Reviewed by Dave Hyatt. 57629 57630 - fix http://bugs.webkit.org/show_bug.cgi?id=5399 57631 no-repeat on negatively positioned background images are ignored 57632 57633 Test: fast/backgrounds/repeat/negative-offset-repeat.html 57634 57635 - fix http://bugs.webkit.org/show_bug.cgi?id=5821 57636 Changing background of <col> doesn't repaint the column 57637 57638 Test: fast/repaint/table-col-background.html 57639 57640 - fix http://bugs.webkit.org/show_bug.cgi?id=11720 57641 REGRESSION: large amounts of CPU consumed viewing this site 57642 57643 * rendering/RenderBox.cpp: 57644 (WebCore::RenderBox::imageChanged): Added. Finds the border and/or background 57645 layer(s) that use the image and invalidates only the rect in which the image 57646 actually paints. There are two special cases in this function: 1) for the body 57647 element, the background is propagated to the root; 2) inline flows do a full 57648 repaint. 57649 (WebCore::RenderBox::calculateBackgroundImageGeometry): Added. Factored out, 57650 simplified and corrected the calculation of the rectangle into which the background 57651 image paints, the tile size and the pattern phase. 57652 (WebCore::RenderBox::paintBackgroundExtended): 57653 * rendering/RenderBox.h: 57654 * rendering/RenderObject.cpp: 57655 * rendering/RenderObject.h: 57656 (WebCore::RenderObject::imageChanged): Moved the implementation to RenderBox. 57657 * rendering/RenderTableCol.cpp: 57658 (WebCore::RenderTableCol::getAbsoluteRepaintRect): Overridden to return the 57659 table's repaint rect. 57660 (WebCore::RenderTableCol::imageChanged): Overridden to do a full repaint, which 57661 currently repaints the entire table. 57662 * rendering/RenderTableCol.h: 57663 * rendering/RenderTableRow.cpp: 57664 (WebCore::RenderTableRow::imageChanged): Overridden to do a full repaint 57665 of the row, since the backgrounds are painted by the cells. 57666 * rendering/RenderTableRow.h: 57667 * rendering/RenderTableSection.cpp: 57668 (WebCore::RenderTableSection::imageChanged): Overridden to do a full 57669 repaint of the section, since the backgrounds are painted by the cells. 57670 * rendering/RenderTableSection.h: 57671 57672 2007-02-07 Anders Carlsson <acarlsson (a] apple.com> 57673 57674 Reviewed by Maciej. 57675 57676 Move shouldInterruptJavaScript to the Chrome. 57677 57678 * bindings/js/kjs_binding.cpp: 57679 (KJS::ScriptInterpreter::shouldInterruptScript): 57680 * page/Chrome.cpp: 57681 (WebCore::Chrome::shouldInterruptJavaScript): 57682 * page/Chrome.h: 57683 * page/ChromeClient.h: 57684 * page/Frame.h: 57685 * page/mac/FrameMac.h: 57686 * page/mac/FrameMac.mm: 57687 * page/mac/WebCoreFrameBridge.h: 57688 * platform/graphics/svg/SVGImageEmptyClients.h: 57689 (WebCore::SVGEmptyChromeClient::shouldInterruptJavaScript): 57690 57691 2007-02-07 Darin Adler <darin (a] apple.com> 57692 57693 Reviewed by Maciej. 57694 57695 - <rdar://problem/4826861> WebKit tests show memory leaks in NSHTMLReader, caused by method named "hash" 57696 57697 * bindings/scripts/CodeGeneratorObjC.pm: Added a list of method names we should never use, since they 57698 are in base classes WebScriptObject and NSObject. Luckily, only "hash" is causing trouble. Added 57699 "hash" to the existing special case for "id". Now "hash" is "hashName" just as "id" is "idName". 57700 57701 2007-02-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57702 57703 Reviewed by Adam Roben. 57704 57705 Linux/gdk build fixes for graphics-related stuff. 57706 57707 * platform/graphics/cairo/ImageCairo.cpp: 57708 (WebCore::BitmapImage::checkForSolidColor): 57709 * platform/graphics/cairo/ImageSourceCairo.cpp: 57710 (WebCore::ImageSource::setData): 57711 * platform/graphics/gdk/ImageGdk.cpp: 57712 (WebCore::BitmapImage::initPlatformData): 57713 (WebCore::BitmapImage::invalidatePlatformData): 57714 (WebCore::Image::loadPlatformResource): 57715 (WebCore::Image::drawPattern): 57716 57717 2007-02-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57718 57719 Reviewed by Maciej. 57720 57721 Linux/gdk build fixes related to networking. 57722 57723 * platform/network/ResourceHandleInternal.h: Add accessor for m_client. 57724 (WebCore::ResourceHandleInternal::client): 57725 * platform/network/gdk/ResourceHandleCurl.cpp: Add missing functions and 57726 massage for changed APIs. 57727 (WebCore::ResourceHandle::start): 57728 (WebCore::ResourceHandle::cancel): 57729 (WebCore::ResourceHandle::bufferedData): 57730 (WebCore::ResourceHandle::supportsBufferedData): 57731 (WebCore::ResourceHandle::setDefersLoading): 57732 * platform/network/gdk/ResourceHandleManager.cpp: Rename get() to 57733 sharedInstance(). Massaged for changed APIs. 57734 (WebCore::ResourceHandleManager::sharedInstance): 57735 (WebCore::writeCallback): 57736 (WebCore::ResourceHandleManager::downloadTimerCallback): 57737 (WebCore::ResourceHandleManager::remove): 57738 * platform/network/gdk/ResourceHandleManager.h: Ditto. 57739 57740 2007-02-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57741 57742 Reviewed by Maciej. 57743 57744 Mismatched type of alloc/free function crashes gdk build. 57745 57746 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 57747 (WebCore::JPEGImageReader::close): 57748 57749 2007-02-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57750 57751 Reviewed by Adam Roben. 57752 57753 Linux/gdk build fixes - add file based on qt implementation. 57754 57755 * platform/DragData.h: 57756 * platform/gdk/DragDataGdk.cpp: Added. 57757 57758 2007-02-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57759 57760 Reviewed by Adam Roben. 57761 57762 Linux/gdk build fixes - add new files based on qt implementation. 57763 57764 * page/gdk/DragControllerGdk.cpp: Added. 57765 (WebCore::DragController::dragOperation): 57766 * page/gdk/EventHandlerGdk.cpp: Added. 57767 (WebCore::EventHandler::focusDocumentView): 57768 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 57769 (WebCore::EventHandler::handleDrag): 57770 (WebCore::EventHandler::eventActivatedView): 57771 57772 2007-02-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57773 57774 Reviewed by Adam Roben. 57775 57776 Linux/gdk build fixes - add new files based on Qt implementation. 57777 57778 * loader/gdk/DocumentLoaderGdk.cpp: Added. 57779 (WebCore::DocumentLoader::getResponseModifiedHeader): 57780 * loader/gdk/FrameLoaderClientGdk.cpp: Added. 57781 (WebCore::FrameLoaderClientGdk::FrameLoaderClientGdk): 57782 (WebCore::FrameLoaderClientGdk::frame): 57783 (WebCore::FrameLoaderClientGdk::userAgent): 57784 (WebCore::FrameLoaderClientGdk::createDocumentLoader): 57785 (WebCore::FrameLoaderClientGdk::dispatchWillSubmitForm): 57786 (WebCore::FrameLoaderClientGdk::committedLoad): 57787 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveAuthenticationChallenge): 57788 (WebCore::FrameLoaderClientGdk::dispatchDidCancelAuthenticationChallenge): 57789 (WebCore::FrameLoaderClientGdk::dispatchWillSendRequest): 57790 (WebCore::FrameLoaderClientGdk::assignIdentifierToInitialRequest): 57791 (WebCore::FrameLoaderClientGdk::postProgressStartedNotification): 57792 (WebCore::FrameLoaderClientGdk::postProgressEstimateChangedNotification): 57793 (WebCore::FrameLoaderClientGdk::postProgressFinishedNotification): 57794 (WebCore::FrameLoaderClientGdk::frameLoaderDestroyed): 57795 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveResponse): 57796 (WebCore::FrameLoaderClientGdk::dispatchDecidePolicyForMIMEType): 57797 (WebCore::FrameLoaderClientGdk::dispatchDecidePolicyForNewWindowAction): 57798 (WebCore::FrameLoaderClientGdk::dispatchDecidePolicyForNavigationAction): 57799 (WebCore::FrameLoaderClientGdk::createPlugin): 57800 (WebCore::FrameLoaderClientGdk::createFrame): 57801 (WebCore::FrameLoaderClientGdk::redirectDataToPlugin): 57802 (WebCore::FrameLoaderClientGdk::createJavaAppletWidget): 57803 (WebCore::FrameLoaderClientGdk::objectContentType): 57804 (WebCore::FrameLoaderClientGdk::overrideMediaType): 57805 (WebCore::FrameLoaderClientGdk::windowObjectCleared): 57806 (WebCore::FrameLoaderClientGdk::setMainFrameDocumentReady): 57807 (WebCore::FrameLoaderClientGdk::hasWebView): 57808 (WebCore::FrameLoaderClientGdk::hasFrameView): 57809 (WebCore::FrameLoaderClientGdk::dispatchDidFinishLoad): 57810 (WebCore::FrameLoaderClientGdk::frameLoadCompleted): 57811 (WebCore::FrameLoaderClientGdk::privateBrowsingEnabled): 57812 (WebCore::FrameLoaderClientGdk::makeDocumentView): 57813 (WebCore::FrameLoaderClientGdk::makeRepresentation): 57814 (WebCore::FrameLoaderClientGdk::forceLayout): 57815 (WebCore::FrameLoaderClientGdk::forceLayoutForNonHTML): 57816 (WebCore::FrameLoaderClientGdk::setCopiesOnScroll): 57817 (WebCore::FrameLoaderClientGdk::detachedFromParent1): 57818 (WebCore::FrameLoaderClientGdk::detachedFromParent2): 57819 (WebCore::FrameLoaderClientGdk::detachedFromParent3): 57820 (WebCore::FrameLoaderClientGdk::detachedFromParent4): 57821 (WebCore::FrameLoaderClientGdk::loadedFromPageCache): 57822 (WebCore::FrameLoaderClientGdk::dispatchDidHandleOnloadEvents): 57823 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveServerRedirectForProvisionalLoad): 57824 (WebCore::FrameLoaderClientGdk::dispatchDidCancelClientRedirect): 57825 (WebCore::FrameLoaderClientGdk::dispatchWillPerformClientRedirect): 57826 (WebCore::FrameLoaderClientGdk::dispatchDidChangeLocationWithinPage): 57827 (WebCore::FrameLoaderClientGdk::dispatchWillClose): 57828 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveIcon): 57829 (WebCore::FrameLoaderClientGdk::dispatchDidStartProvisionalLoad): 57830 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveTitle): 57831 (WebCore::FrameLoaderClientGdk::dispatchDidCommitLoad): 57832 (WebCore::FrameLoaderClientGdk::dispatchDidFinishDocumentLoad): 57833 (WebCore::FrameLoaderClientGdk::dispatchDidFirstLayout): 57834 (WebCore::FrameLoaderClientGdk::dispatchShow): 57835 (WebCore::FrameLoaderClientGdk::cancelPolicyCheck): 57836 (WebCore::FrameLoaderClientGdk::dispatchDidLoadMainResource): 57837 (WebCore::FrameLoaderClientGdk::revertToProvisionalState): 57838 (WebCore::FrameLoaderClientGdk::clearUnarchivingState): 57839 (WebCore::FrameLoaderClientGdk::willChangeTitle): 57840 (WebCore::FrameLoaderClientGdk::didChangeTitle): 57841 (WebCore::FrameLoaderClientGdk::finishedLoading): 57842 (WebCore::FrameLoaderClientGdk::finalSetupForReplace): 57843 (WebCore::FrameLoaderClientGdk::setDefersLoading): 57844 (WebCore::FrameLoaderClientGdk::isArchiveLoadPending): 57845 (WebCore::FrameLoaderClientGdk::cancelPendingArchiveLoad): 57846 (WebCore::FrameLoaderClientGdk::clearArchivedResources): 57847 (WebCore::FrameLoaderClientGdk::canHandleRequest): 57848 (WebCore::FrameLoaderClientGdk::canShowMIMEType): 57849 (WebCore::FrameLoaderClientGdk::representationExistsForURLScheme): 57850 (WebCore::FrameLoaderClientGdk::generatedMIMETypeForURLScheme): 57851 (WebCore::FrameLoaderClientGdk::restoreScrollPositionAndViewState): 57852 (WebCore::FrameLoaderClientGdk::provisionalLoadStarted): 57853 (WebCore::FrameLoaderClientGdk::didFinishLoad): 57854 (WebCore::FrameLoaderClientGdk::prepareForDataSourceReplacement): 57855 (WebCore::FrameLoaderClientGdk::setTitle): 57856 (WebCore::FrameLoaderClientGdk::setDocumentViewFromPageCache): 57857 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveContentLength): 57858 (WebCore::FrameLoaderClientGdk::dispatchDidFinishLoading): 57859 (WebCore::FrameLoaderClientGdk::dispatchDidFailLoading): 57860 (WebCore::FrameLoaderClientGdk::dispatchDidLoadResourceFromMemoryCache): 57861 (WebCore::FrameLoaderClientGdk::dispatchDidFailProvisionalLoad): 57862 (WebCore::FrameLoaderClientGdk::dispatchDidFailLoad): 57863 (WebCore::FrameLoaderClientGdk::download): 57864 (WebCore::FrameLoaderClientGdk::cancelledError): 57865 (WebCore::FrameLoaderClientGdk::cannotShowURLError): 57866 (WebCore::FrameLoaderClientGdk::interruptForPolicyChangeError): 57867 (WebCore::FrameLoaderClientGdk::cannotShowMIMETypeError): 57868 (WebCore::FrameLoaderClientGdk::fileDoesNotExistError): 57869 (WebCore::FrameLoaderClientGdk::shouldFallBack): 57870 (WebCore::FrameLoaderClientGdk::willUseArchive): 57871 (WebCore::FrameLoaderClientGdk::saveScrollPositionAndViewStateToItem): 57872 (WebCore::FrameLoaderClientGdk::saveDocumentViewToPageCache): 57873 (WebCore::FrameLoaderClientGdk::canCachePage): 57874 (WebCore::FrameLoaderClientGdk::dispatchCreatePage): 57875 (WebCore::FrameLoaderClientGdk::dispatchUnableToImplementPolicy): 57876 (WebCore::FrameLoaderClientGdk::setMainDocumentError): 57877 (WebCore::FrameLoaderClientGdk::startDownload): 57878 (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForStandardLoad): 57879 (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForReload): 57880 (WebCore::FrameLoaderClientGdk::shouldGoToHistoryItem): 57881 * loader/gdk/FrameLoaderClientGdk.h: Added. 57882 (WebCore::FrameLoaderClientGdk::~FrameLoaderClientGdk): 57883 (WebCore::FrameLoaderClientGdk::setFrame): 57884 57885 2007-02-07 Krzysztof Kowalczyk <kkowalczyk (a] gmail.com> 57886 57887 Reviewed by Maciej. 57888 57889 Linux/gdk fixes related to fonts. 57890 57891 * platform/gdk/FontDataGdk.cpp: 57892 (WebCore::FontData::platformInit): remove a work-around for older cairo versions 57893 since Ubuntu 6.10 ships with cairo that is new enough 57894 * platform/gdk/FontGdk.cpp: 57895 (WebCore::Font::drawGlyphs): 57896 * platform/gdk/FontPlatformDataGdk.cpp: Remove unused variables. 57897 (WebCore::FontPlatformData::FontPlatformData): 57898 57899 2007-02-07 Alexey Proskuryakov <ap (a] webkit.org> 57900 57901 Reviewed by Darin. 57902 57903 http://bugs.webkit.org/show_bug.cgi?id=12582 57904 REGRESSION: Unclosed <title> makes the window display garbage or empty title 57905 57906 Automatic testing is not possible, and manual testing probably doesn't make sense. 57907 57908 * loader/DocumentLoader.cpp: 57909 (WebCore::canonicalizedTitle): Bail out early if the passed in string is all whitespace. 57910 57911 2007-02-06 Anders Carlsson <acarlsson (a] apple.com> 57912 57913 Reviewed by John Sullivan. 57914 57915 <rdar://problem/4977952> 57916 REGRESSION: Yahoo Messenger IM is totally blank 57917 57918 * loader/FrameLoader.cpp: 57919 (WebCore::FrameLoader::checkContentPolicy): 57920 Don't ask the policy delegate for content that has valid substitute data. 57921 57922 (WebCore::FrameLoader::checkNavigationPolicy): 57923 If the loader has substitute data but doesn't have an unreachable URL, let the policy 57924 delegate decide what to do. 57925 57926 2007-02-07 Geoffrey Garen <ggaren (a] apple.com> 57927 57928 Reviewed by Darin Adler. 57929 57930 Restoring some of the functionality I removed in r19445. It's insufficient for 57931 each page to cancel keepAlive only for its child frames, because a frame 57932 can be removed from the page before we get a chance to cancel its keepAlive. 57933 So, the page destructor has to cancel keepAlive for all frames. This is safe 57934 because we prohibit closing a WebView while JavaScript is executing. 57935 57936 * page/Frame.cpp: 57937 (WebCore::keepAliveSet): 57938 (WebCore::Frame::keepAlive): 57939 (WebCore::Frame::cancelAllKeepAlive): 57940 (WebCore::Frame::lifeSupportTimerFired): 57941 * page/Frame.h: 57942 * page/Page.cpp: 57943 (WebCore::Page::~Page): 57944 57945 2007-02-07 Alexey Proskuryakov <ap (a] webkit.org> 57946 57947 Reviewed by Darin. 57948 57949 http://bugs.webkit.org/show_bug.cgi?id=12603 57950 A crash when trying to use XPath functions normalize-space(), string-length() and number() 57951 57952 Test: fast/xpath/implicit-node-args.html 57953 57954 * xml/XPathFunctions.cpp: 57955 (WebCore::XPath::FunNumber::doEvaluate): Implemented zero parameter case. 57956 (WebCore::XPath::FunctionMapping::): Corrected descriptions of these functions, as they 57957 do allow zero parameters. 57958 (WebCore::XPath::createFunction): Combined the two failure cases to ensure that this 57959 function never returns 0. 57960 57961 2007-02-07 Zack Rusin <zrusin (a] trolltech.com> 57962 57963 Fix compilation 57964 57965 * page/qt/EventHandlerQt.cpp: 57966 (WebCore::EventHandler::eventActivatedView): 57967 57968 2007-02-06 Alice Liu <alice.liu (a] apple.com> 57969 57970 Reviewed by Maciej. 57971 57972 Added editing command functions for scrolling by page and moving the caret 57973 57974 * editing/Editor.cpp: 57975 (WebCore::execMoveUpByPageAndModifyCaret): 57976 (WebCore::execMoveDownByPageAndModifyCaret): 57977 (WebCore::CommandEntry::): 57978 57979 2007-02-06 Justin Garcia <justin.garcia (a] apple.com> 57980 57981 Reviewed by john 57982 57983 <rdar://problem/4922367> 57984 WebView selectLine: followed by deleteBackward: deletes TABLE element of following line 57985 57986 * editing/AppendNodeCommand.cpp: 57987 (WebCore::AppendNodeCommand::doApply): Don't ASSERT when manipulating 57988 non-editable content that is embedded in editable content. We'll do 57989 this kind of manipulation when removing redundant style spans after 57990 pasting content that has non-editable pieces. 57991 * editing/InsertNodeBeforeCommand.cpp: 57992 (WebCore::InsertNodeBeforeCommand::doApply): Ditto. 57993 * editing/htmlediting.cpp: 57994 (WebCore::isContentEditable): Added, wrapper for Node::isContentEditable 57995 (WebCore::rangeCompliantEquivalent): Although legal, 57996 [{table, select, etc.}, {0, numChildren}] don't refer to children of the element, 57997 but positions before and after the element. So, rangeCompliantEquivalent is 57998 really responsible for converting illegal positions *and* legal positions 57999 that have a special meaning internally. 58000 * editing/htmlediting.h: 58001 58002 2007-02-06 Anders Carlsson <acarlsson (a] apple.com> 58003 58004 Reviewed by Brady. 58005 58006 * platform/String.cpp: 58007 (WebCore::String::ascii): 58008 Fix dumping null Strings. 58009 58010 2007-02-06 Anders Carlsson <acarlsson (a] apple.com> 58011 58012 Reviewed by Geoff. 58013 58014 Fix <rdar://problem/4979484> 58015 58016 * css/CSSPrimitiveValue.cpp: 58017 (WebCore::isCSSTokenizerIdentifier): 58018 Do the range check before calling isalpha or isalnum. 58019 58020 2007-02-06 Geoffrey Garen <ggaren (a] apple.com> 58021 58022 Reviewed by Darin Adler. 58023 58024 Fixed Frame/RenderObject/Node leak report seen while running SVG image tests. 58025 (We'll need this fix if we ever re-enable SVG image.) 58026 58027 The extra reference belonged to the Frame keepAlive timer (so this was 58028 not a "real" leak, in the end). The Page destructor has code to cancel all 58029 Frame keepAlive timers upon the destruction of the last Page, but an SVG 58030 image puts a Page within a Page, making this condition impossible to meet. 58031 58032 The fix here is to have each individual page cancel the keepAlive timers 58033 belonging to its child frames. 58034 58035 * page/Frame.cpp: Changed the FrameCounter to use WTF logging. 58036 (WebCore::): Nixed the lifeSupportSet, since it's no longer used. 58037 (WebCore::Frame::cancelKeepAlive): Renamed from "endLifeSupport" to match 58038 the name "keepAlive". 58039 * page/Page.cpp: 58040 (WebCore::Page::~Page): Made each page cancel its child keepAlive timers 58041 and clear its mainFrame, since we may never reach the condition of having 0 Pages. 58042 58043 2007-02-06 Adam Roben <aroben (a] apple.com> 58044 58045 Rubberstamped by Brady. 58046 58047 Revert the log channel constants to their old values for all you pretty 58048 people out there who were using the old ones. I also renamed 58049 LogResources to LogPlatformLeaks to be a bit more specific. 58050 58051 * platform/Logging.cpp: 58052 (WebCore::): 58053 * platform/Logging.h: 58054 58055 2007-02-05 Justin Garcia <justin.garcia (a] apple.com> 58056 58057 Reviewed by john 58058 58059 <rdar://problem/4959067> 58060 Bullets get erased or moved down to another line 58061 <rdar://problem/4912529> 58062 Seed: Bulleted list in Note in Mail.app does not work with Japanese input mode 58063 58064 Do not expand the selection to include fully selected 58065 special elements when insering text over a selection. 58066 58067 * editing/CompositeEditCommand.cpp: 58068 (WebCore::CompositeEditCommand::deleteSelection): Pass 58069 expandForSpecialElements through to DeleteSelectionCommand's constructor. 58070 (WebCore::CompositeEditCommand::moveParagraphs): Use the 58071 convenience function. 58072 * editing/CompositeEditCommand.h: 58073 * editing/DeleteSelectionCommand.h: 58074 * editing/InsertTextCommand.cpp: 58075 (WebCore::InsertTextCommand::input): Do not expand the selection 58076 to be deleted for special elements. 58077 * editing/ReplaceSelectionCommand.cpp: 58078 (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME about 58079 when we should expand the selection. 58080 58081 2007-02-06 Geoffrey Garen <ggaren (a] apple.com> 58082 58083 Reviewed by Anders Carlsson. 58084 58085 Disabled support for SVG image because it crashes all the time. 58086 58087 * loader/CachedImage.cpp: 58088 (WebCore::CachedImage::createImage): 58089 58090 2007-02-06 Mitz Pettel <mitz (a] webkit.org> 58091 58092 Reviewed by Darin. 58093 58094 - fix http://bugs.webkit.org/show_bug.cgi?id=12518 58095 Betsson.com crashes browser 58096 58097 Test: fast/layers/generated-layer-scrollbar-crash.html 58098 58099 * rendering/RenderLayer.cpp: 58100 (WebCore::RenderLayer::createScrollbar): Changed element()->document() to 58101 document() to work with anonymous objects. 58102 (WebCore::RenderLayer::updateOverflowStatus): Ditto. 58103 58104 2007-02-06 Eric Seidel <eric (a] webkit.org> 58105 58106 Reviewed by mitz. 58107 58108 WebKit ignores floating point values for stroke-miterlimit 58109 http://bugs.webkit.org/show_bug.cgi?id=12577 58110 58111 Test: svg/W3C-SVG-1.1/painting-stroke-07-t.svg 58112 58113 * ksvg2/css/SVGCSSParser.cpp: 58114 (WebCore::CSSParser::parseSVGValue): 58115 * ksvg2/css/SVGCSSStyleSelector.cpp: 58116 (WebCore::CSSStyleSelector::applySVGProperty): 58117 * ksvg2/css/SVGRenderStyle.h: 58118 * ksvg2/css/SVGRenderStyleDefs.h: 58119 (WebCore::StyleStrokeData::operator!=): 58120 58121 2007-02-06 Adam Roben <aroben (a] apple.com> 58122 58123 Reviewed by Ada and Oliver. 58124 58125 Adding a new LogResources channel for tracking platform resource usage. 58126 58127 * platform/Logging.cpp: Added new channel, cleaned up constants to be more readable. 58128 * platform/Logging.h: Declare new channel. 58129 58130 2007-02-06 Alexey Proskuryakov <ap (a] webkit.org> 58131 58132 Reviewed by Geoff. 58133 58134 http://bugs.webkit.org/show_bug.cgi?id=12619 58135 Non-abbreviated XPaths don't work 58136 58137 Test: fast/xpath/ancestor-axis.html 58138 58139 * xml/XPathParser.cpp: 58140 (WebCore::XPath::Parser::lex): Fix axis name parsing to actually work. 58141 * xml/XPathStep.cpp: 58142 (WebCore::XPath::Step::nodeTestMatches): Fix "*" node test to actually work. 58143 58144 2007-02-06 Mark Rowe <mrowe (a] apple.com> 58145 58146 Roll out incomplete support for font-stretch (r19350) at Dave Hyatt's request. 58147 See http://bugs.webkit.org/show_bug.cgi?id=12530#c9 for more info. 58148 58149 * css/CSSComputedStyleDeclaration.cpp: 58150 (WebCore::): 58151 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 58152 * css/cssparser.cpp: 58153 (WebCore::CSSParser::parseValue): 58154 * css/cssstyleselector.cpp: 58155 (WebCore::CSSStyleSelector::applyDeclarations): 58156 (WebCore::CSSStyleSelector::applyProperty): 58157 * platform/FontCache.cpp: 58158 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 58159 (WebCore::FontPlatformDataCacheKey::operator==): 58160 (WebCore::computeHash): 58161 (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): 58162 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): 58163 (WebCore::FontCache::getCachedFontPlatformData): 58164 * platform/FontDescription.h: 58165 (WebCore::FontDescription::FontDescription): 58166 (WebCore::FontDescription::weight): 58167 (WebCore::FontDescription::setWeight): 58168 (WebCore::FontDescription::operator==): 58169 * platform/mac/FontCacheMac.mm: 58170 (WebCore::FontCache::createFontPlatformData): 58171 * platform/mac/WebFontCache.mm: 58172 (acceptableChoice): 58173 (betterChoice): 58174 (+[WebFontCache fontWithFamily:traits:size:]): 58175 58176 2007-02-05 Adele Peterson <adele (a] apple.com> 58177 58178 Reviewed by Darin. 58179 58180 A few small updates to my bidi patch. 58181 58182 * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): Moved the declaration of the CharacterBuffer outside the if statement since we use its data outside that scope. 58183 * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): ditto. 58184 * rendering/bidi.cpp: (WebCore::RenderBlock::bidiReorderCharacters): Used a PassRefPtr for the BidiContext. 58185 58186 2007-02-05 Adele Peterson <adele (a] apple.com> 58187 58188 Reviewed by Adam. 58189 58190 Fix for assertion failure in fast/events/objc-keyboard-event-creation.html 58191 58192 * html/HTMLInputElement.cpp: 58193 (WebCore::HTMLInputElement::selectionStart): Check that the selection offsets are not equal to -1 (which is means the selection has never been set) instead of checking for >= 0. 58194 (WebCore::HTMLInputElement::selectionEnd): ditto. 58195 (WebCore::HTMLInputElement::setValue): ditto. 58196 (WebCore::HTMLInputElement::selection): Return an empty selection if the input is not a text field or if no selection has ever been set in the text field. 58197 * html/HTMLTextAreaElement.cpp: 58198 (WebCore::HTMLTextAreaElement::selectionStart): Check that the selection offsets are not equal to -1. 58199 (WebCore::HTMLTextAreaElement::selectionEnd): ditto. 58200 (WebCore::HTMLTextAreaElement::setValue): ditto. 58201 (WebCore::HTMLTextAreaElement::selection): Return an empty selection if no selection has ever been set in the textarea. 58202 58203 * dom/Position.cpp: Added FIXMEs that we should catch the negative offset earlier. 58204 (WebCore::Position::previous): 58205 (WebCore::Position::next): 58206 58207 2007-02-05 Justin Garcia <justin.garcia (a] apple.com> 58208 58209 Reviewed by harrison 58210 58211 <rdar://problem/4947387> 58212 REGRESSION Shift Command Left should only select to the beginning of the line 58213 58214 * editing/Editor.cpp: 58215 (WebCore::CommandEntry::): Never copy/paste code. 58216 58217 2007-02-05 Darin Adler <darin (a] apple.com> 58218 58219 Reviewed by John Sullivan. 58220 58221 - fix http://bugs.webkit.org/show_bug.cgi?id=11535 58222 <rdar://problem/4946959> REGRESSION: onclick="this.select();" not working on new forms (11535) 58223 58224 Test: fast/forms/input-select-on-click.html 58225 58226 * page/EventHandler.h: Added m_mouseDownWasSingleClickInSelection boolean. 58227 Organized other booleans a bit more logically. 58228 * page/EventHandler.cpp: 58229 (WebCore::EventHandler::EventHandler): Rearrange order to match EventHandler.h, add 58230 m_mouseDownWasSingleClickInSelection initialization. 58231 (WebCore::EventHandler::handleMousePressEventSingleClick): Set m_mouseDownWasSingleClickInSelection 58232 to true in the appropriate special case. 58233 (WebCore::EventHandler::handleMousePressEvent): Set m_mouseDownWasSingleClickInSelection to false. 58234 (WebCore::EventHandler::handleMouseReleaseEvent): Change code to clear selection or set to caret to 58235 only fire if m_mouseDownWasSingleClickInSelection was true rather than firing for any 58236 m_mouseDownMayStartSelect case. 58237 58238 2007-02-05 George Staikos <staikos (a] kde.org> 58239 58240 Reviewed by Maciej. 58241 58242 Send HTTP cookies. 58243 58244 * platform/network/qt/ResourceHandleManagerQt.cpp: 58245 (WebCore::RequestQt::RequestQt): 58246 58247 2007-02-05 Adele Peterson <adele (a] apple.com> 58248 58249 Reviewed by Mitz and Anders. 58250 58251 Fix for http://bugs.webkit.org/show_bug.cgi?id=11811 58252 <rdar://problem/4947184> REGRESSION (r11783): Hebrew text in list boxes is reversed 58253 58254 http://bugs.webkit.org/show_bug.cgi?id=11812 58255 <rdar://problem/4960269> REGRESSION (Native file upload): Hebrew filenames are reversed 58256 58257 Tests: 58258 fast/text/international/bidi-listbox.html 58259 fast/text/international/bidi-listbox-atsui.html 58260 58261 * rendering/RenderBlock.h: Added static bidiReorderCharacters that will run the bidi algorithm on a character buffer. 58262 * rendering/bidi.cpp: 58263 (WebCore::RenderBlock::bidiReorderCharacters): Added. Creates an anonymous RenderBlock and RenderText to feed into bidiReorderLines. 58264 (WebCore::RenderBlock::constructLine): Uses the new convenience methods on BidiRun. 58265 * rendering/bidi.h: 58266 (WebCore::BidiRun::reversed): Added convenience method. 58267 (WebCore::BidiRun::dirOverride): ditto. 58268 58269 * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): Creates a buffer and calls bidiReorderCharacters 58270 to get a correctly ordered character buffer for drawText. 58271 * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): ditto. 58272 58273 2007-02-05 Mitz Pettel <mitz (a] webkit.org> 58274 58275 Reviewed by Darin. 58276 58277 - fix http://bugs.webkit.org/show_bug.cgi?id=12590 58278 REGRESSION: Text selection is weird in textareas in Trac wiki editing pages 58279 58280 Test: fast/repaint/selection-gap-overflow-scroll.html 58281 58282 * rendering/RenderBlock.cpp: 58283 (WebCore::RenderBlock::selectionGapRects): Adjust for overflow scroll. 58284 58285 2007-02-05 Mitz Pettel <mitz (a] webkit.org> 58286 58287 Reviewed by Adele. 58288 58289 - fix http://bugs.webkit.org/show_bug.cgi?id=11916 58290 REGRESSION (SearchField): RTL search fields are mixed up 58291 58292 Test: fast/forms/search-rtl.html 58293 58294 * rendering/RenderTextControl.cpp: 58295 (WebCore::RenderTextControl::createInnerBlockStyle): Always make the inner 58296 block LTR so that the results button will be on the left and the cancel 58297 button will be on the right. 58298 (WebCore::RenderTextControl::createInnerTextStyle): Inherit the direction 58299 property directly from the control so that it won't be masked by the inner 58300 block's LTR override. 58301 (WebCore::RenderTextControl::nodeAtPoint): Removed code that swapped the 58302 results and cancel buttons for RTL. 58303 (WebCore::RenderTextControl::forwardEvent): Ditto. 58304 (WebCore::RenderTextControl::clientPaddingLeft): Ditto. 58305 (WebCore::RenderTextControl::clientPaddingRight): Ditto. 58306 58307 2007-02-05 Mitz Pettel <mitz (a] webkit.org> 58308 58309 Reviewed by Adele. 58310 58311 - fix http://bugs.webkit.org/show_bug.cgi?id=12618 58312 REGRESSION (SearchField): Dragging across the text and releasing over the clear button clears the field 58313 58314 Test: fast/forms/search-cancel-button-mouseup.html 58315 58316 Made the cancel button capturing. 58317 58318 * html/HTMLTextFieldInnerElement.cpp: 58319 (WebCore::HTMLSearchFieldCancelButtonElement::HTMLSearchFieldCancelButtonElement): 58320 (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): 58321 * html/HTMLTextFieldInnerElement.h: 58322 58323 2007-02-05 Mitz Pettel <mitz (a] webkit.org> 58324 58325 Reviewed by Darin. 58326 58327 - fix http://bugs.webkit.org/show_bug.cgi?id=6626 58328 Arabic & Farsi rendered with no shaping (all glyphs separate, unreadable!) 58329 58330 No test possible since Mac OS X only ships with fonts that contain shaping 58331 information. 58332 58333 * icu/unicode/ushape.h: Added from 58334 http://www.opensource.apple.com/darwinsource/10.4.8.ppc/ICU-6.2.9/icuSources/common/unicode/ 58335 * platform/FontData.h: 58336 (WebCore::FontData::shapesArabic): Added. Returns whether the font contains 58337 shaping information for Arabic or not. 58338 * platform/mac/FontDataMac.mm: 58339 (WebCore::FontData::platformInit): 58340 (WebCore::FontData::checkShapesArabic): Added. Checks whether the font contains 58341 a glyph metamorphosis table. The heuristic is that if a font contains Arabic glyphs 58342 and a metamorphosis table, then it includes shaping information for Arabic. 58343 * platform/mac/FontMac.mm: 58344 (WebCore::overrideLayoutOperation): Changed to use the same character buffer passed 58345 to ATSUI instead of the original character buffer and to give zero-width spaces zero 58346 width. 58347 (WebCore::isArabicLamWithAlefLigature): Added. Checks if the character is one 58348 of the Arabic presentation forms of Lam with Alef. 58349 (WebCore::shapeArabic): Added. This is a wrapper around the ICU Arabic shaping routine 58350 that replaces each space following a Lam with Alef ligature resulting from shaping 58351 with a zero-width space. 58352 (WebCore::ATSULayoutParameters::initialize): Changed to allocate the auxiliary buffer 58353 lazily for mirroring and Arabic shaping. Added a call to shapeArabic() when required. 58354 58355 2007-02-05 Eric Seidel <eric (a] webkit.org> 58356 58357 No review, build fix only. 58358 58359 * ksvg2/svg/SVGStyleElement.cpp: add forgotten header. 58360 58361 2007-02-05 Eric Seidel <eric (a] webkit.org> 58362 58363 Reviewed by bdash. 58364 58365 Fix style name testcase which I broke in my last commit. 58366 58367 * ksvg2/svg/SVGStyleElement.cpp: 58368 (WebCore::SVGStyleElement::xmlspace): 58369 (WebCore::SVGStyleElement::title): override Element::title() 58370 (WebCore::SVGStyleElement::parseMappedAttribute): 58371 * ksvg2/svg/SVGStyleElement.h: 58372 58373 2007-02-04 Eric Seidel <eric (a] webkit.org> 58374 58375 Reviewed by darin. 58376 58377 Fix hand cursor on link hover for SVG 58378 Fix status text on link hover for SVG 58379 Fix tooltips on link hover for SVG 58380 Fix link dragging for SVG 58381 http://bugs.webkit.org/show_bug.cgi?id=12575 58382 58383 Test: added manual-tests/svg-links.svg 58384 58385 * dom/Document.cpp: 58386 (WebCore::Document::prepareMouseEvent): 58387 * dom/Element.cpp: 58388 (WebCore::Element::title): 58389 * dom/Element.h: 58390 * html/HTMLElement.cpp: 58391 (WebCore::HTMLElement::setId): 58392 (WebCore::HTMLElement::title): 58393 (WebCore::HTMLElement::setTitle): 58394 (WebCore::HTMLElement::setLang): 58395 * html/HTMLElement.h: 58396 * ksvg2/svg/SVGAElement.cpp: 58397 (WebCore::SVGAElement::title): 58398 (WebCore::SVGAElement::parseMappedAttribute): 58399 (WebCore::SVGAElement::defaultEventHandler): 58400 * ksvg2/svg/SVGAElement.h: 58401 * ksvg2/svg/SVGTitleElement.cpp: 58402 * ksvg2/svg/SVGTitleElement.h: 58403 * manual-tests/svg-links.svg: Added. 58404 * rendering/HitTestResult.cpp: 58405 (WebCore::HitTestResult::title): 58406 (WebCore::HitTestResult::absoluteImageURL): 58407 (WebCore::HitTestResult::absoluteLinkURL): 58408 (WebCore::HitTestResult::isLiveLink): 58409 (WebCore::HitTestResult::titleDisplayString): 58410 58411 2007-02-04 Alexey Proskuryakov <ap (a] webkit.org> 58412 58413 Reviewed by Darin. 58414 58415 http://bugs.webkit.org/show_bug.cgi?id=12602 58416 XPath functions string(), normalize-space() and string-length() don't work 58417 without arguments 58418 58419 Test: fast/xpath/implicit-node-args.html 58420 58421 * xml/XPathFunctions.cpp: 58422 (WebCore::XPath::FunString::doEvaluate): 58423 (WebCore::XPath::FunStringLength::doEvaluate): 58424 (WebCore::XPath::FunNormalizeSpace::doEvaluate): 58425 Don't try to pass RefPtr<Node> to the Value ctor. 58426 58427 2007-02-04 Alexey Proskuryakov <ap (a] webkit.org> 58428 58429 Reviewed by Darin. 58430 58431 http://bugs.webkit.org/show_bug.cgi?id=8791 58432 XPath should support custom node resolvers 58433 58434 * bindings/js/JSCustomXPathNSResolver.cpp: Added. 58435 (WebCore::JSCustomXPathNSResolver::create): 58436 (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver): 58437 (WebCore::JSCustomXPathNSResolver::~JSCustomXPathNSResolver): 58438 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 58439 * bindings/js/JSCustomXPathNSResolver.h: Added. 58440 * bindings/objc/DOMCustomXPathNSResolver.h: Added. 58441 * bindings/objc/DOMCustomXPathNSResolver.mm: Added. 58442 (WebCore::DOMCustomXPathNSResolver::DOMCustomXPathNSResolver): 58443 (WebCore::DOMCustomXPathNSResolver::~DOMCustomXPathNSResolver): 58444 (WebCore::DOMCustomXPathNSResolver::lookupNamespaceURI): 58445 Wrappers for JS/ObjC objects that can be used as resolvers. 58446 58447 * bindings/scripts/CodeGeneratorJS.pm: 58448 * bindings/scripts/CodeGeneratorObjC.pm: 58449 Use the above wrappers to support custom resolvers. 58450 58451 * xml/XPathNSResolver.cpp: 58452 * xml/XPathNSResolver.h: 58453 Turned this class into an abstract one. 58454 58455 * xml/NativeXPathNSResolver.cpp: Added. 58456 (WebCore::NativeXPathNSResolver::NativeXPathNSResolver): 58457 (WebCore::NativeXPathNSResolver::~NativeXPathNSResolver): 58458 (WebCore::NativeXPathNSResolver::lookupNamespaceURI): 58459 * xml/NativeXPathNSResolver.h: Added. 58460 A XPathNSResolver subclass, doing what XPathNSResolver used to do. 58461 58462 * xml/XPathEvaluator.cpp: 58463 (WebCore::XPathEvaluator::createNSResolver): Create a NativeXPathNSResolver. 58464 58465 * WebCore.xcodeproj/project.pbxproj: Added new files. 58466 58467 2007-02-04 Oliver Hunt <oliver (a] apple.com> 58468 58469 Reviewed by Adam. 58470 58471 Tidying up EventHandler, and moving more of 58472 EventHandlerMac.mm to EventHandler.cpp 58473 58474 Also added EventHandler::eventLoopHandleMouse[Dragged,Up] 58475 these are basically helper functions to allow correct event 58476 handling on MacOS. 58477 58478 * page/EventHandler.cpp: 58479 (WebCore::EventHandler::handleMouseUp): 58480 (WebCore::EventHandler::dragSourceMovedTo): 58481 (WebCore::EventHandler::dragSourceEndedAt): 58482 (WebCore::EventHandler::dispatchDragSrcEvent): 58483 Moved from EventHandlerMac to EventHandler 58484 58485 * page/EventHandler.h: 58486 (WebCore::EventHandler::eventLoopHandleMouseUp): 58487 (WebCore::EventHandler::eventLoopHandleMouseDragged): 58488 Null implementations of two Mac helper functions 58489 * page/mac/EventHandlerMac.mm: 58490 (WebCore::EventHandler::eventLoopHandleMouseDragged): 58491 (WebCore::EventHandler::handleDrag): 58492 Much tidying, reduced nesting, made less dependent on NS types 58493 (WebCore::EventHandler::eventLoopHandleMouseDragged): 58494 (WebCore::EventHandler::eventLoopHandleMouseUp): 58495 Helper functions to let us process events properly on MacOS 58496 58497 * page/mac/WebCoreFrameBridge.mm: 58498 (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): 58499 58500 2007-02-04 George Staikos <staikos (a] kde.org> 58501 58502 Reviewed by Zack. 58503 58504 Some Qt hacks and cleanups - makes rendering of forms much better on 58505 OS X 58506 58507 * platform/qt/PlatformKeyboardEventQt.cpp: Add Key_Return/Enter 58508 (WebCore::keyIdentifierForQtKeyCode): 58509 (WebCore::windowsKeyCodeForKeyEvent): 58510 * platform/qt/RenderThemeQt.cpp: Hacks and fix buttons 58511 (WebCore::RenderThemeQt::addIntrinsicMargins): 58512 (WebCore::RenderThemeQt::setCheckboxSize): 58513 (WebCore::RenderThemeQt::supportsFocus): 58514 (WebCore::RenderThemeQt::applyTheme): 58515 58516 2007-02-03 Maciej Stachowiak <mjs (a] apple.com> 58517 58518 Rubber stamped by Adam. 58519 58520 - remove obsolete code that has an annoying space in the directory name 58521 58522 * WebCore.vcproj/Image Viewer/Image Viewer.cpp: Removed. 58523 * WebCore.vcproj/Image Viewer/Image Viewer.h: Removed. 58524 * WebCore.vcproj/Image Viewer/Image Viewer.rc: Removed. 58525 * WebCore.vcproj/Image Viewer/Image Viewer.reg: Removed. 58526 * WebCore.vcproj/Image Viewer/Image Viewer.vcproj: Removed. 58527 * WebCore.vcproj/Image Viewer/ImageDocument.cpp: Removed. 58528 * WebCore.vcproj/Image Viewer/ImageDocument.h: Removed. 58529 * WebCore.vcproj/Image Viewer/ImageMainFrame.cpp: Removed. 58530 * WebCore.vcproj/Image Viewer/ImageMainFrame.h: Removed. 58531 * WebCore.vcproj/Image Viewer/ImageView.cpp: Removed. 58532 * WebCore.vcproj/Image Viewer/ImageView.h: Removed. 58533 * WebCore.vcproj/Image Viewer/Resource.h: Removed. 58534 * WebCore.vcproj/Image Viewer/res/Image Viewer.ico: Removed. 58535 * WebCore.vcproj/Image Viewer/res/Image ViewerDoc.ico: Removed. 58536 * WebCore.vcproj/Image Viewer/res/ImageViewer.rc2: Removed. 58537 * WebCore.vcproj/Image Viewer/res/Toolbar.bmp: Removed. 58538 * WebCore.vcproj/Image Viewer/stdafx.cpp: Removed. 58539 * WebCore.vcproj/Image Viewer/stdafx.h: Removed. 58540 58541 2007-02-04 Mitz Pettel <mitz (a] webkit.org> 58542 58543 Reviewed by Oliver. 58544 58545 - fix http://bugs.webkit.org/show_bug.cgi?id=12564 58546 REGRESSION: Uncaught AppKit exception when using the scrollwheel while Gmail is loading 58547 58548 * platform/mac/PlatformMouseEventMac.mm: 58549 (WebCore::eventNumberForEvent): Scroll wheel events don't have an event number. 58550 58551 2007-02-04 Nikolas Zimmermann <zimmermann (a] kde.org> 58552 58553 Reviewed by Sam. 58554 58555 Add support for xml:space="preserve" for SVG text. 58556 It can be modeled by using white-space="pre" and replace \n by spaces. 58557 58558 Handle xml:space="default" correctly. 58559 Always remove tabs from SVG text - as demanded by spec. 58560 58561 Added test: svg/custom/text-whitespace-handling.svg 58562 58563 * css/svg.css: 58564 * ksvg2/svg/SVGTextContentElement.cpp: 58565 (WebCore::SVGTextContentElement::parseMappedAttribute): 58566 * rendering/RenderText.cpp: 58567 (WebCore::RenderText::setStyle): 58568 (WebCore::RenderText::setTextInternal): 58569 * rendering/bidi.cpp: 58570 (WebCore::shouldPreserveNewline): 58571 (WebCore::RenderBlock::skipWhitespace): 58572 (WebCore::RenderBlock::findNextLineBreak): 58573 58574 2007-02-03 Alexey Proskuryakov <ap (a] webkit.org> 58575 58576 Reviewed by Darin. 58577 58578 http://bugs.webkit.org/show_bug.cgi?id=12560 58579 W3C XPath test Text_Nodes.svg fails 58580 58581 Covered by dom/svg/level3/xpath/Text_Nodes.svg 58582 58583 * xml/XPathStep.cpp: 58584 (WebCore::XPath::Step::nodeTestMatches): Only include the first text sibling in text() matches. 58585 58586 2007-02-03 Alexey Proskuryakov <ap (a] webkit.org> 58587 58588 Reviewed by Darin. 58589 58590 http://bugs.webkit.org/show_bug.cgi?id=12485 58591 XPath id() function doesn't work as root in paths 58592 58593 Test: fast/xpath/id-path.html 58594 58595 * xml/XPathPath.cpp: 58596 (WebCore::XPath::Path::doEvaluate): Implemented. 58597 (WebCore::XPath::LocationPath::evaluate): A new overload that takes an initial NodeVector. 58598 (WebCore::XPath::LocationPath::doEvaluate): Moved most of the logic to the new evaluate(). 58599 58600 * xml/XPathPath.h: Added a new evaluate() overload and a using declaration to keep the 58601 generic one visible. 58602 58603 2007-02-03 Alexey Proskuryakov <ap (a] webkit.org> 58604 58605 Reviewed by Darin. 58606 58607 http://bugs.webkit.org/show_bug.cgi?id=12559 58608 REGRESSION: Crash in checkForHeadCharset() under GuardMalloc 58609 58610 No tests possible. 58611 58612 * loader/TextResourceDecoder.cpp: 58613 (WebCore::TextResourceDecoder::checkForHeadCharset): Fix end of buffer checks; sprinkle a number 58614 of new ones over the function. 58615 58616 2007-02-03 David Kilzer <ddkilzer (a] webkit.org> 58617 58618 Reviewed by NOBODY (no-svg build fix). 58619 58620 * page/EventHandler.cpp: Include FloatPoint.h. 58621 58622 2007-02-03 Alexey Proskuryakov <ap (a] webkit.org> 58623 58624 Reviewed by Mitz. 58625 58626 http://bugs.webkit.org/show_bug.cgi?id=12549 58627 Wrong character encoding at www.ravmilim.co.il 58628 58629 Test: fast/encoding/meta-charset.html 58630 58631 * loader/TextResourceDecoder.cpp: 58632 (WebCore::TextResourceDecoder::checkForHeadCharset): Fix an off by one error. 58633 58634 2007-02-02 Maciej Stachowiak <mjs (a] apple.com> 58635 58636 Reviewed by Hyatt & Adele. 58637 58638 - <rdar://problem/4896972> TV guide listings page doesn't finish loading (11674) 58639 58640 Test case: fast/forms/disabled-select-change-index.html 58641 58642 * html/HTMLOptionElement.cpp: 58643 (WebCore::HTMLOptionElement::setSelected): Allow changing selected state of a disabled 58644 option. 58645 58646 2007-02-03 Nikolas Zimmermann <zimmermann (a] kde.org> 58647 58648 Build fix, not reviewed. 58649 58650 Blind attempt to fix Qt build. 58651 58652 * WebCore.pro: Add RenderSVGGradientStop.cpp / RenderSVGHiddenContainer.cpp 58653 58654 2007-02-03 Nikolas Zimmermann <zimmermann (a] kde.org> 58655 58656 Reviewed by Eric & Maciej. 58657 58658 Fix serveral <use> issues: 58659 - When events are dispatch to a referenced element, the actual event.target 58660 has to be set to the corresponding SVGElementInstance object 58661 58662 - Node::shadowAncestorNode() should _not_ return the shadowParentNode for SVG elements 58663 This is only needed for the HTML forms concept and breaks event dispatching for SVG shadow tree elements. 58664 58665 - Add SVGElementInstance as possible EventTarget in bindings/js/kjs_dom.cpp 58666 (Now event.target returns the actual SVGElementInstance object for a shadow tree element) 58667 58668 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12502 (Reproducible crash when browsing SVG map.) 58669 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12511 (<use> has event dispatching issues) 58670 58671 Added test: svg/custom/use-event-handler-on-use-element.svg 58672 Added test: svg/custom/use-event-handler-on-referenced-element.svg 58673 Added test: svg/custom/use-elementInstance-event-target.svg 58674 Added test: svg/custom/use-elementInstance-methods.svg 58675 58676 * bindings/js/kjs_dom.cpp: 58677 (KJS::toJS): 58678 * dom/EventTarget.cpp: 58679 (WebCore::EventTarget::toSVGElementInstance): 58680 * dom/EventTarget.h: 58681 * dom/EventTargetNode.cpp: 58682 (WebCore::EventTargetNode::handleLocalEvents): 58683 (WebCore::EventTargetNode::dispatchGenericEvent): 58684 (WebCore::EventTargetNode::dispatchEvent): 58685 * dom/EventTargetNode.h: 58686 * dom/Node.cpp: 58687 (WebCore::Node::shadowAncestorNode): 58688 * ksvg2/svg/SVGElement.cpp: 58689 (WebCore::shadowTreeParentElementForShadowTreeElement): 58690 (WebCore::SVGElement::dispatchEvent): 58691 * ksvg2/svg/SVGElement.h: 58692 * ksvg2/svg/SVGElementInstance.cpp: 58693 (WebCore::SVGElementInstance::toSVGElementInstance): 58694 * ksvg2/svg/SVGElementInstance.h: 58695 * ksvg2/svg/SVGUseElement.cpp: 58696 (WebCore::SVGUseElement::notifyAttributeChange): 58697 (WebCore::SVGUseElement::instanceForShadowTreeElement): 58698 * ksvg2/svg/SVGUseElement.h: 58699 58700 2007-02-02 Oliver Hunt <oliver (a] apple.com> 58701 58702 Reviewed by Geoff. 58703 58704 Add guard around accessing [NSEvent eventNumber] to ensure 58705 we don't attempt to access it on on non-mouse related NSEvent. 58706 58707 * platform/mac/PlatformMouseEventMac.mm: 58708 (WebCore::eventNumberForEvent): 58709 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 58710 58711 2007-02-02 Adam Roben <aroben (a] apple.com> 58712 58713 Reviewed by Anders. 58714 58715 Try to be a little less selfish about DocumentLoader. 58716 58717 Spotted while working on <rdar://problem/4957747>. 58718 58719 * page/ContextMenuController.cpp: 58720 (WebCore::ContextMenuController::contextMenuItemSelected): 58721 Everyone can open frames in new windows. 58722 58723 2007-02-02 Nikolas Zimmermann <zimmermann (a] kde.org> 58724 58725 Reviewed by Eric. 58726 58727 Move xml:space/xml:lang from svgattrs.in to xmlattrs.in where they actually belong. 58728 Now they are actually recognized by SVGLangSpace::parseMappedAttribute. 58729 Patch implementing xml:space="preserve" coming soon, which acts as test for this stuff. 58730 58731 Always build XMLNames.cpp (not only for SVG) and replace all occourences of 58732 "http://www.w3.org/XML/1998/namespace" by "XMLNames::xmlNamespaceURI". 58733 58734 * DerivedSources.make: 58735 * dom/DOMImplementation.cpp: 58736 (WebCore::DOMImplementation::createDocument): 58737 * ksvg2/svg/SVGLangSpace.cpp: 58738 (WebCore::SVGLangSpace::SVGLangSpace): 58739 (WebCore::SVGLangSpace::parseMappedAttribute): 58740 * ksvg2/svg/SVGLangSpace.h: 58741 * ksvg2/svg/svgattrs.in: 58742 * page/Frame.cpp: 58743 (WebCore::Frame::Frame): 58744 * xml/XPathNSResolver.cpp: 58745 (WebCore::XPathNSResolver::lookupNamespaceURI): 58746 * xml/xmlattrs.in: 58747 58748 2007-02-02 Beth Dakin <bdakin (a] apple.com> 58749 58750 Reviewed by Maciej. 58751 58752 Working on a layout test. 58753 58754 Fix for <rdar://problem/4966100> REGRESSION: Reproducible ASSERT 58755 hit at Walgreens.com 58756 58757 * page/Frame.cpp: 58758 (WebCore::Frame::setView): If we are setting the view to 0 and 58759 detaching the document, call unscheduleRealyout() on the old view 58760 before setting it to 0. 58761 58762 2007-02-01 Geoffrey Garen <ggaren (a] apple.com> 58763 58764 Reviewed by Maciej Stachowiak. 58765 58766 Added support for selectively ignoring WebCore::Node leaks during layout 58767 tests, so that we can ignore known leaks in other components. 58768 58769 * WebCore.exp: 58770 * dom/Node.cpp: 58771 (WebCore::Node::isSupported): Moved isSupported up with the rest of the static functions. 58772 58773 (WebCore::): Added an ignoreSet, which collects WebCore::Nodes whose lifetime 58774 we want to ignore. We need to track which nodes to ignore rather than, say, 58775 just suspending the count, because node destruction depends on lots of 58776 different variables, so it would be nearly impossible to know when exactly 58777 to suspend the count and when exactly to resume it. 58778 58779 (WebCore::NodeCounter::~NodeCounter): Changed to use WTFLog instead of fprintf. 58780 58781 (WebCore::Node::startIgnoringLeaks): Do the ignoring. 58782 (WebCore::Node::stopIgnoringLeaks): ditto 58783 (WebCore::Node::Node): ditto 58784 (WebCore::Node::~Node): ditto 58785 58786 * dom/Node.h: Moved isSupported up with the rest of the static functions. 58787 58788 * platform/mac/LoggingMac.mm: 58789 (WebCore::initializeWithUserDefault): Renamed from "initializeLoggingChannel" 58790 because the real goal here is to honor a user default -- WTFLoggingChannels 58791 need no run-time initialization. Also replaced "off by default, on if a 58792 user default says so" behavior with "only override existing setting if a 58793 user default says so" behavior. It seemed like a bug that you would specify 58794 a channel's on/off state in its definition, but this function would unconditionally 58795 blow that state away. 58796 (WebCore::InitializeLoggingChannelsIfNecessary): 58797 58798 2007-02-02 Eric Seidel <eric (a] webkit.org> 58799 58800 Reviewed by mitz. 58801 58802 Fix gradient stop style resolution to be less of a hack, fixing style invalidation: 58803 http://bugs.webkit.org/show_bug.cgi?id=12193 58804 and fix stop-color and stop-opacity not to inherit: 58805 http://bugs.webkit.org/show_bug.cgi?id=12193 58806 58807 Tests: 58808 * svg/custom/gradient-stops-style-change.svg: added 58809 * svg/W3C-SVG-1.1/pservers-grad-18-b.svg: updated 58810 58811 * WebCore.xcodeproj/project.pbxproj: 58812 * ksvg2/css/SVGCSSStyleSelector.cpp: 58813 (WebCore::CSSStyleSelector::applySVGProperty): 58814 * ksvg2/css/SVGRenderStyle.cpp: 58815 (WebCore::SVGRenderStyle::inheritedNotEqual): 58816 (WebCore::SVGRenderStyle::inheritFrom): 58817 * ksvg2/css/SVGRenderStyle.h: 58818 * ksvg2/svg/SVGDefsElement.cpp: 58819 (WebCore::SVGDefsElement::createRenderer): 58820 * ksvg2/svg/SVGGradientElement.cpp: 58821 (WebCore::SVGGradientElement::createRenderer): 58822 (WebCore::SVGGradientElement::buildStops): 58823 * ksvg2/svg/SVGGradientElement.h: 58824 (WebCore::SVGGradientElement::rendererIsNeeded): 58825 * ksvg2/svg/SVGStopElement.cpp: 58826 (WebCore::SVGStopElement::createRenderer): 58827 * ksvg2/svg/SVGStopElement.h: 58828 (WebCore::SVGStopElement::rendererIsNeeded): 58829 * rendering/RenderSVGGradientStop.cpp: Added. 58830 * rendering/RenderSVGGradientStop.h: Added. 58831 * rendering/RenderSVGHiddenContainer.cpp: Added. 58832 * rendering/RenderSVGHiddenContainer.h: Added. 58833 * rendering/RenderSVGContainer.cpp: 58834 * rendering/RenderSVGContainer.h: 58835 58836 2007-02-02 Zack Rusin <zrusin (a] trolltech.com> 58837 58838 Reviewed by Lars 58839 58840 Fix scrolling-on-selection bug by correctly 58841 scrolling to the offset instead of trying to 58842 ensure visibility with margins. 58843 58844 * platform/qt/ScrollViewQt.cpp: 58845 (WebCore::ScrollView::scrollPointRecursively): 58846 58847 2007-02-02 Zack Rusin <zrusin (a] trolltech.com> 58848 58849 Reviewed by Lars 58850 58851 Fix drawing of dashed and colored lines. Pen 58852 has to be inherited for stroke to stay consistent. 58853 58854 * platform/graphics/qt/GraphicsContextQt.cpp: 58855 (WebCore::GraphicsContext::setAlpha): 58856 (WebCore::GraphicsContext::setPlatformStrokeColor): 58857 (WebCore::GraphicsContext::setPlatformStrokeStyle): 58858 58859 2007-02-01 Nicholas Shanks <webkit (a] nickshanks.com> 58860 58861 Reviewed by Mark. 58862 58863 Add support for CSS2 font-stretch property. 58864 58865 * css/CSSComputedStyleDeclaration.cpp: 58866 (WebCore::): 58867 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 58868 * css/cssparser.cpp: 58869 (WebCore::CSSParser::parseValue): 58870 * css/cssstyleselector.cpp: 58871 (WebCore::CSSStyleSelector::applyDeclarations): 58872 (WebCore::CSSStyleSelector::applyProperty): 58873 * platform/FontCache.cpp: 58874 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 58875 (WebCore::FontPlatformDataCacheKey::operator==): 58876 (WebCore::computeHash): 58877 (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): 58878 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): 58879 (WebCore::FontCache::getCachedFontPlatformData): 58880 * platform/FontDescription.h: 58881 (WebCore::): 58882 (WebCore::FontDescription::FontDescription): 58883 (WebCore::FontDescription::stretch): 58884 (WebCore::FontDescription::narrowerStretch): 58885 (WebCore::FontDescription::widerStretch): 58886 (WebCore::FontDescription::setStretch): 58887 (WebCore::FontDescription::operator==): 58888 * platform/mac/FontCacheMac.mm: 58889 (WebCore::FontCache::createFontPlatformData): 58890 * platform/mac/WebFontCache.mm: 58891 (acceptableChoice): 58892 (betterChoice): 58893 (+[WebFontCache fontWithFamily:traits:size:]): 58894 58895 2007-02-01 Timothy Hatcher <timothy (a] apple.com> 58896 58897 Reviewed by Mark Rowe. 58898 58899 <rdar://problem/4969201> REGRESSION: Safari applies the wrong font to BODY element at http://www.apple.com/downloads/dashboard/ 58900 58901 * platform/mac/WebFontCache.mm: 58902 (+[WebFontCache fontWithFamily:traits:size:]): Don't call [NSFont fontWithName:] with the desiredFamily on Tiger. 58903 58904 2007-02-01 Alexey Proskuryakov <ap (a] webkit.org> 58905 58906 Reviewed by Darin. 58907 58908 http://bugs.webkit.org/show_bug.cgi?id=12506 58909 REGRESSION: Safari doesn't display hebrew text on a web page, 58910 displayed correctly on Tiger 58911 58912 * loader/TextResourceDecoder.cpp: 58913 (WebCore::TextResourceDecoder::checkForHeadCharset): Advance the pointer when necessary. 58914 58915 2007-02-01 George Staikos <staikos (a] kde.org> 58916 58917 Reviewed by Zack and Lars. 58918 58919 Add a cookie interface for the Qt build. 58920 58921 * WebCore.pro: 58922 * platform/qt/CookieJarQt.cpp: 58923 (WebCore::setCookies): 58924 (WebCore::cookies): 58925 (WebCore::cookiesEnabled): 58926 58927 2007-02-01 Maciej Stachowiak <mjs (a] apple.com> 58928 58929 Reviewed by Adele. 58930 58931 - fixed <rdar://problem/4922764> ASSERTION: (!m_contentFunction) in PolicyCheck::call trying to visit feed URL (CNN, Apple, etc.) 58932 58933 * loader/FrameLoader.cpp: 58934 (WebCore::FrameLoader::stopPolicyCheck): Call new cancel method instead of call(false) on old check. 58935 (WebCore::PolicyCheck::cancel): call any callback function that is set with false or PolicyIgnore as 58936 appropriate. 58937 * loader/FrameLoader.h: 58938 58939 2007-02-01 Beth Dakin <bdakin (a] apple.com> 58940 58941 Reviewed by Hyatt. 58942 58943 Fix for http://bugs.webkit.org/show_bug.cgi?id=10517 REGRESSION 58944 (r12065-r12082): Navigation graphic wraps to the next line on 58945 duart.com and <rdar://problem/4960505> REGRESSION: The Awesome 58946 Windows Vista page has a layout error in the header table (10517) 58947 58948 The problem is that we never supported a quirk that other browsers 58949 support where, under very specific circumstances, a table cell will 58950 grow to fit an image inside of it. This is only a regression 58951 because a bug was fixed were we were 1 pixel off in the calculation 58952 of overflow in some cases. 58953 58954 * rendering/RenderBlock.cpp: 58955 (WebCore::shouldGrowTableCellForImage): 58956 (WebCore::RenderBlock::calcInlineMinMaxWidth): 58957 58958 2007-02-01 Zack Rusin <zrusin (a] trolltech.com> 58959 58960 Reviewed by Lars 58961 58962 Implement native look for comboboxes 58963 and fix/implement popup menus. 58964 58965 * platform/PopupMenu.h: 58966 * platform/qt/PopupMenuQt.cpp: 58967 (WebCore::PopupMenu::PopupMenu): 58968 (WebCore::PopupMenu::~PopupMenu): 58969 (WebCore::PopupMenu::clear): 58970 (WebCore::PopupMenu::populate): 58971 (WebCore::PopupMenu::show): 58972 (WebCore::PopupMenu::hide): 58973 (WebCore::PopupMenu::updateFromElement): 58974 * platform/qt/RenderThemeQt.cpp: 58975 (WebCore::RenderThemeQt::adjustMenuListStyle): 58976 (WebCore::RenderThemeQt::paintButton): 58977 (WebCore::RenderThemeQt::paintTextField): 58978 (WebCore::RenderThemeQt::paintMenuList): 58979 58980 2007-02-01 Darin Adler <darin (a] apple.com> 58981 58982 Reviewed by Maciej. 58983 58984 - fix <rdar://problem/4887428> REGRESSION: Implement slight delay for firing incremental onSearch event 58985 58986 * rendering/RenderTextControl.h: 58987 * rendering/RenderTextControl.cpp: 58988 (WebCore::RenderTextControl::RenderTextControl): Set up timer. 58989 (WebCore::RenderTextControl::subtreeHasChanged): Start timer here instead of immediately sending event. 58990 (WebCore::RenderTextControl::searchEventTimerFired): Added. Sends search event. 58991 (WebCore::RenderTextControl::stopSearchEventTimer): Added. 58992 (WebCore::RenderTextControl::startSearchEventTimer): Added. Sends search event right away if there is 58993 no text. If there is some text, sets the timer using the same delay rule as NSSearchField. If you keep 58994 typing, then the timer keeps getting reset 0.2 seconds into the future until you pause. 58995 58996 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::onSearch): Tell the renderer to 58997 stop the timer, since we're sending a search event. This helps when a caller other than 58998 the timer decides to send an explicit search event. 58999 59000 2007-02-01 Maciej Stachowiak <mjs (a] apple.com> 59001 59002 Fix by Darin, reviewed by Maciej. 59003 59004 - fix ~10% performance regression from encoding fix 59005 59006 * loader/TextResourceDecoder.cpp: 59007 (WebCore::TextResourceDecoder::checkForHeadCharset): Fix a logic 59008 error which made huge strings accidentally. 59009 59010 2007-02-01 Lars Knoll <lars (a] trolltech.com> 59011 59012 Fix the Qt build 59013 59014 * page/qt/EventHandlerQt.cpp: 59015 59016 2007-01-31 Darin Adler <darin (a] apple.com> 59017 59018 Reviewed by Adam and Geoff. 59019 59020 - fix <rdar://problem/4786767> REGRESSION: <select> controls are not resized when zooming text 59021 59022 Test: fast/forms/select-width-font-change.html 59023 59024 * rendering/RenderMenuList.h: Cleaned up formatting a bit. Removed unneeded include of PopupMenu.h. 59025 Made a lot more things private, including the PopupMenuClient base class, all of the virtual 59026 functions from PopupMenuClient, and the setTextFromOption function. Added updateOptionsWidth. 59027 59028 * rendering/RenderMenuList.cpp: 59029 (WebCore::RenderMenuList::setStyle): Added code to call updateOptionsWidth when the font changes. 59030 (WebCore::RenderMenuList::updateOptionsWidth): Added. Factored code out of updateFromElement. 59031 Changed to do nothing when m_optionsWidth is already correct. 59032 (WebCore::RenderMenuList::updateFromElement): Moved code to recomputed options width to the new 59033 updateOptionsWidth function. 59034 (WebCore::RenderMenuList::text): Made const. 59035 59036 2007-01-31 Oliver Hunt <oliver (a] apple.com> 59037 59038 Reviewed by Adam. 59039 59040 Migrate more drag and drop logic to WebCore, start preparing 59041 to move EventHandler::handleDrag from EventHandlerMac to EventHandler 59042 59043 * WebCore.exp: 59044 updating methods 59045 59046 * dom/Clipboard.cpp: 59047 * dom/Clipboard.h: 59048 (WebCore::Clipboard::Clipboard): 59049 (WebCore::Clipboard::setDragHasStarted): 59050 (WebCore::Clipboard::dragStarted): 59051 Moving from ClipboardMac to Clipboard 59052 59053 * dom/EventTargetNode.cpp: 59054 (WebCore::EventTargetNode::dispatchMouseEvent): 59055 PlatformMouseEvent no longer lies about button state, however 59056 DOM Events don't allow NoButton, so we need to convert NoButton 59057 to LeftButton when we create a DOM Event from PlatformMouseEvent 59058 59059 * page/DragClient.h: 59060 Tidying comment 59061 59062 * page/DragController.cpp: 59063 (WebCore::createMouseEvent): 59064 Updated for new PlatformMouseEvent constructors 59065 (WebCore::DragController::mayStartDragAtEventLocation): 59066 Migrated from WebKit 59067 59068 * page/DragController.h: 59069 Added above function declarations 59070 59071 * page/EventHandler.cpp: 59072 (WebCore::EventHandler::dragState): 59073 (WebCore::EventHandler::dragHysteresisExceeded): 59074 (WebCore::EventHandler::freeClipboard): 59075 (WebCore::EventHandler::shouldDragAutoNode): 59076 Moved from EventHandlerMac 59077 (WebCore::EventHandler::handleMouseMoveEvent): 59078 (WebCore::EventHandler::eventMayStartDrag): 59079 (WebCore::EventHandler::handleMousePressEvent): 59080 Use DragController 59081 59082 * page/EventHandler.h: 59083 Added DragState struct definition to EventHandler 59084 59085 * page/mac/EventHandlerMac.mm: 59086 (WebCore::EventHandler::eventActivatedView): 59087 (WebCore::EventHandler::handleDrag): 59088 (WebCore::EventHandler::handleMouseUp): 59089 (WebCore::EventHandler::mouseDown): 59090 Update to use DragController and PlatformMouseEvent 59091 59092 * page/mac/WebCoreFrameBridge.h: 59093 * page/mac/WebCoreFrameBridge.mm: 59094 (-[WebCoreFrameBridge dragSourceMovedTo:]): 59095 (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): 59096 Use DragController for state 59097 59098 * platform/PlatformMouseEvent.h: 59099 (WebCore::): 59100 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 59101 (WebCore::PlatformMouseEvent::eventType): 59102 (WebCore::PlatformMouseEvent::timestamp): 59103 (WebCore::PlatformMouseEvent::eventNumber): 59104 (WebCore::PlatformMouseEvent::setClickCount): 59105 Exposing necessary data for Drag logic 59106 59107 * platform/mac/ClipboardMac.h: 59108 * platform/mac/ClipboardMac.mm: 59109 (WebCore::ClipboardMac::ClipboardMac): 59110 (WebCore::ClipboardMac::setDragImage): 59111 Have moved a number of fields from ClipboardMac to Clipboard 59112 so need to use accessors in a few places now 59113 59114 * platform/mac/PlatformMouseEventMac.mm: 59115 (WebCore::mouseButtonForEvent): 59116 (WebCore::mouseEventForNSEvent): 59117 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 59118 Determine MouseEventType, and provide event time info 59119 59120 2007-01-31 Alexey Proskuryakov <ap (a] webkit.org> 59121 59122 Reviewed by Darin. 59123 59124 http://bugs.webkit.org/show_bug.cgi?id=12506 59125 REGRESSION: Safari doesn't display hebrew text on a web page, 59126 displayed correctly on Tiger 59127 59128 * loader/TextResourceDecoder.cpp: 59129 (WebCore::TextResourceDecoder::checkForHeadCharset): Skip over 59130 quoted attributes. 59131 59132 2007-01-31 David Carson <dacarson (a] gmail.com> 59133 59134 Reviewed by Darin. 59135 59136 - fix http://bugs.webkit.org/show_bug.cgi?id=12510 59137 Initialize the variable m_totalLoops 59138 Is tested by LayoutTests/fast/css/MarqueeLayoutTest.html 59139 59140 * rendering/RenderLayer.cpp: 59141 (WebCore::Marquee::Marquee): 59142 59143 2007-01-31 Anders Carlsson <acarlsson (a] apple.com> 59144 59145 Reviewed by Maciej. 59146 59147 <rdar://problem/4886776> 59148 REGRESSION: After opening a web archive, location shows the actual URL, not the webarchive file 59149 59150 * WebCore.exp: 59151 * loader/FrameLoader.cpp: 59152 (WebCore::FrameLoader::continueLoadWithData): 59153 * loader/FrameLoader.h: 59154 New function which continues a load but using a given buffer instead. 59155 59156 2007-01-31 Adele Peterson <adele (a] apple.com> 59157 59158 Reviewed by Adam. 59159 59160 Fix for http://bugs.webkit.org/show_bug.cgi?id=12516 59161 REGRESSION (r19313): All keyboard navigation has stopped working 59162 59163 For non-editable selections, handleKeyPress doesn't need to call _interceptEditingKeyEvent. 59164 59165 * editing/Editor.cpp: 59166 (WebCore::selectionForEvent): Moved this to the top of the file. 59167 (WebCore::Editor::handleKeyPress): Do the equivalent of the _canEdit check that used to be in WebKit WebEditorClient::handleKeyPress. 59168 59169 2007-01-31 Geoffrey Garen <ggaren (a] apple.com> 59170 59171 Reviewed by Darin Adler. 59172 59173 Added a Range counter to detect leaks. Tweaked the Node counter. 59174 59175 Also fixed a TextIterator destructive modification bug that I noticed along the 59176 way. No test case for this bug because no clients have been bitten by it 59177 yet. 59178 59179 * dom/Node.cpp: Renamed NodeImplCounter to NodeCounter, changed counter 59180 to unsigned, fixed formatting to match style guidelines. 59181 (WebCore::NodeCounter::~NodeCounter): 59182 (WebCore::Node::Node): 59183 (WebCore::Node::~Node): 59184 59185 * dom/Range.cpp: 59186 (WebCore::RangeCounter::~RangeCounter): Added. 59187 (WebCore::Range::Range): 59188 (WebCore::Range::~Range): 59189 (WebCore::Range::ownerDocument): New accessor, used by TextIterator to avoid 59190 annoying NULL checks. 59191 * dom/Range.h: 59192 59193 * editing/TextIterator.cpp: 59194 (WebCore::TextIterator::subrange): 59195 (1) Don't initialize result with entireRange -- doing so would create a 59196 PassRefPtr that pointed to entireRange, so this function would destructively 59197 modify the Range you passed it. Initialize it with a new Range instead. 59198 (2) Don't use a PassRefPtr as a local variable, because they have sneaky 59199 semantics. Use a RefPtr instead. 59200 (3) Don't call CharacterIterator::range() willy-nilly, since it does 59201 non-trivial work. Use a local variable instead. 59202 59203 2007-01-31 Adele Peterson <adele (a] apple.com> 59204 59205 Reviewed by Darin. 59206 59207 WebCore part of fix for <rdar://problem/4521461> REGRESSION: when keyPress event changes form focus, inserted key goes to wrong control 59208 59209 Test: fast/events/keypress-focus-change.html 59210 59211 * editing/Editor.cpp: 59212 (WebCore::selectionForEvent): Added. This computes a selection that considers the case where an event handler 59213 has moved the selection outside of a text control. In that case, we use the target control's selection. 59214 (WebCore::Editor::insertText): This gets the selectionForEvent, checks that the selection is editable, 59215 and calls TypingCommand::insertText with the correct selection. 59216 59217 * editing/TypingCommand.h: Added a version of insertText that takes a selection. The old version of insertText will call this, and pass 59218 in the frame's selection. 59219 * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Added. Uses the passed in selection to 59220 set the starting and ending selections correctly so that the editing machinery will insert the text in the correct place. 59221 59222 * page/Page.h: Added convenience method to get selection from focused or main frame. 59223 * page/Page.cpp: (WebCore::Page::selection): 59224 59225 * html/HTMLInputElement.h: Added selection methods to get selection for text controls. 59226 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::selection): 59227 * html/HTMLTextAreaElement.h: 59228 * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::selection): 59229 * rendering/RenderTextControl.h: 59230 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::selection): 59231 59232 2007-01-31 Darin Adler <darin (a] apple.com> 59233 59234 - fix build 59235 59236 * ForwardingHeaders/wtf/ListHashSet.h: Added. 59237 59238 2007-01-31 Zack Rusin <zrusin (a] trolltech.com> 59239 59240 Reviewed by Lars 59241 59242 Return the correct selection color. 59243 59244 * platform/qt/RenderThemeQt.cpp: 59245 (WebCore::RenderThemeQt::supportsFocusRing): 59246 (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor): 59247 (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor): 59248 (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor): 59249 (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor): 59250 59251 2007-01-31 Maciej Stachowiak <mjs (a] apple.com> 59252 59253 Reviewed by Mark. 59254 59255 - fixed <rdar://problem/4751164> REGRESSION: Safari places text on incorrect button when returning to a page via back [10541] 59256 http://bugs.webkit.org/show_bug.cgi?id=10541 59257 59258 * dom/Document.cpp: 59259 (WebCore::Document::formElementsState): 59260 * dom/Document.h: 59261 59262 I couldn't figure out the back/forward support in the tests enough 59263 to make an automated test, but this maual test reproduces the 59264 problem 100% without this patch: 59265 59266 * manual-tests/back.html: Added. 59267 * manual-tests/form-control-madness.html: Added. 59268 59269 2007-01-31 David Kilzer <ddkilzer (a] kilzer.net> 59270 59271 Reviewed by Mitz. 59272 59273 - fix http://bugs.webkit.org/show_bug.cgi?id=12490 59274 Clean up canPlaceOnLine logic in bidi.cpp 59275 59276 No test cases since there is no change in functionality. 59277 59278 * rendering/bidi.cpp: 59279 (WebCore::RenderBlock::findNextLineBreak): Simplify canFitOnLine expression. 59280 59281 2007-01-31 Zack Rusin <zack (a] kde.org> 59282 59283 Adding comments explaining how the focus ring implementation 59284 works on the Qt platform and just move focus ring rendering 59285 related code to the same spot. 59286 59287 * platform/graphics/qt/GraphicsContextQt.cpp: 59288 (WebCore::setFocusRingColorChangeFunction): 59289 (WebCore::focusRingColor): 59290 (WebCore::GraphicsContext::drawFocusRing): 59291 * platform/qt/TemporaryLinkStubs.cpp: 59292 59293 2007-01-31 Zack Rusin <zrusin (a] trolltech.com> 59294 59295 Reviewed by Lars 59296 59297 Properly propagate key events. 59298 59299 * page/qt/FrameQt.cpp: 59300 * page/qt/FrameQt.h: Remove redundant method. 59301 * platform/qt/ScrollViewCanvasQt.cpp: 59302 (WebCore::ScrollViewCanvasQt::handleKeyEvent): 59303 59304 2007-01-31 George Staikos <staikos (a] kde.org> 59305 59306 Reviewed by Zack and Lars. 59307 59308 Fix double delete on cancel as well as assertion with proxy. 59309 59310 * platform/network/qt/ResourceHandleManagerQt.cpp: 59311 (WebCore::WebCoreHttp::getConnection): 59312 (WebCore::WebCoreHttp::onRequestFinished): 59313 (WebCore::WebCoreHttp::cancel): 59314 59315 2007-01-31 Mark Rowe <mrowe (a] apple.com> 59316 59317 Reviewed by Oliver. 59318 59319 * dom/Document.h: Change #if XSLT_SUPPORT to #ifdef XSLT_SUPPORT. 59320 59321 2007-01-31 Lars Knoll <lars (a] trolltech.com> 59322 59323 Fix the Qt build. 59324 59325 * platform/network/qt/ResourceHandleQt.cpp: 59326 (WebCore::ResourceHandle::setDefersLoading): 59327 59328 2007-01-31 Zack Rusin <zack (a] kde.org> 59329 59330 Reviewed by Eric. 59331 59332 Implement SVGImage on the Qt platform. 59333 59334 * WebCore.pro: 59335 * loader/CachedImage.cpp: 59336 (WebCore::CachedImage::createImage): 59337 * platform/graphics/ImageBuffer.h: 59338 * platform/graphics/qt/ImageBufferQt.cpp: 59339 (WebCore::ImageBuffer::create): 59340 (WebCore::ImageBuffer::ImageBuffer): 59341 (WebCore::ImageBuffer::~ImageBuffer): 59342 (WebCore::ImageBuffer::context): 59343 (WebCore::ImageBuffer::pixmap): 59344 * platform/graphics/svg/SVGImage.cpp: 59345 (WebCore::SVGImage::nativeImageForCurrentFrame): 59346 (WebCore::SVGImage::setData): 59347 59348 2007-01-30 Maciej Stachowiak <mjs (a] apple.com> 59349 59350 Reviewed by Brady. 59351 59352 - fixed <rdar://problem/4939366> REGRESSION: Assertion failure and crash when going back in history (12314) 59353 59354 * loader/FrameLoader.cpp: 59355 (WebCore::FrameLoader::createWindow): special case a frame name of "_blank" 59356 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): ditto 59357 59358 2007-01-30 Maciej Stachowiak <mjs (a] apple.com> 59359 59360 Reviewed by Anders. 59361 59362 - fixed <rdar://problem/4963871> REGRESSION: Crash occurs at WebCore::Frame::loader() when attempting to open a saved archive file 59363 59364 * loader/DocumentLoader.cpp: 59365 (WebCore::DocumentLoader::request): Removed obsolete FIXME. 59366 (WebCore::DocumentLoader::initialRequest): Ditto. 59367 * loader/MainResourceLoader.cpp: 59368 (WebCore::MainResourceLoader::MainResourceLoader): Handle data loads from a timer, otherwise bad things happen. 59369 (WebCore::MainResourceLoader::handleDataLoadNow): 59370 (WebCore::MainResourceLoader::handleDataLoadSoon): 59371 (WebCore::MainResourceLoader::loadNow): 59372 (WebCore::MainResourceLoader::didCancel): cancel data load timer 59373 * loader/MainResourceLoader.h: 59374 59375 2007-01-30 Timothy Hatcher <timothy (a] apple.com> 59376 59377 Reviewed by Darin. 59378 59379 <rdar://problem/4961953> Stop using NSString deprecated methods like initWithCString: 59380 59381 * WebCore.xcodeproj/project.pbxproj: 59382 * platform/graphics/svg/filters/cg/WKArithmeticFilter.m: 59383 (-[WKArithmeticFilter init]): 59384 * platform/graphics/svg/filters/cg/WKComponentMergeFilter.m: 59385 (-[WKComponentMergeFilter init]): 59386 * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m: 59387 (-[WKDiffuseLightingFilter init]): 59388 * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m: 59389 (-[WKDiscreteTransferFilter init]): 59390 * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m: 59391 (-[WKDisplacementMapFilter init]): 59392 * platform/graphics/svg/filters/cg/WKDistantLightFilter.m: 59393 (-[WKDistantLightFilter init]): 59394 * platform/graphics/svg/filters/cg/WKGammaTransferFilter.m: 59395 (-[WKGammaTransferFilter init]): 59396 * platform/graphics/svg/filters/cg/WKLinearTransferFilter.m: 59397 (-[WKLinearTransferFilter init]): 59398 * platform/graphics/svg/filters/cg/WKNormalMapFilter.m: 59399 (-[WKNormalMapFilter init]): 59400 * platform/graphics/svg/filters/cg/WKPointLightFilter.m: 59401 (-[WKPointLightFilter init]): 59402 * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m: 59403 (-[WKSpecularLightingFilter init]): 59404 * platform/graphics/svg/filters/cg/WKSpotLightFilter.m: 59405 (-[WKSpotLightFilter init]): 59406 * platform/graphics/svg/filters/cg/WKTableTransferFilter.m: 59407 (-[WKTableTransferFilter init]): 59408 59409 2007-01-30 David Hyatt <hyatt (a] apple.com> 59410 59411 Fix for Radar bug #4679426, golden gate bridge Web site layout broken. 59412 59413 This is a regression caused by the addition of :lang support. This 59414 feature caused us to accept any pseudo-class/element with function 59415 arguments, even ones we couldn't handle. The site used such a construct 59416 in conjunction with :not, which turned :not(something-crazy) into not(false). 59417 This ended up being "true", and so we started matching a rule we used to 59418 reject. 59419 59420 The fix is to now aggressively parse pseudo-elements and classes and to 59421 cause the rejection of an entire rule if any pseudoclass or element within 59422 any simple selector of that rule is unrecognized. 59423 59424 Reviewed by darin 59425 59426 fast/css/invalid-pseudo-classes.html 59427 59428 * css/CSSGrammar.y: 59429 * css/CSSSelector.cpp: 59430 (WebCore::CSSSelector::extractPseudoType): 59431 * css/CSSSelector.h: 59432 (WebCore::CSSSelector::): 59433 * css/cssstyleselector.cpp: 59434 (WebCore::CSSStyleSelector::checkOneSelector): 59435 59436 2007-01-30 Mitz Pettel <mitz (a] webkit.org> 59437 59438 Reviewed by Darin. 59439 59440 - fix http://bugs.webkit.org/show_bug.cgi?id=12487 59441 REGRESSION: Repro crash when a second background image is animated 59442 59443 Test: fast/images/animated-background-image-crash.html 59444 59445 * rendering/RenderObject.cpp: 59446 (WebCore::RenderObject::arenaDelete): Deref() all background images and the 59447 border image. 59448 59449 2007-01-30 Darin Adler <darin (a] apple.com> 59450 59451 Reviewed by Maciej. 59452 59453 * dom/EventTarget.h: 59454 * dom/EventTarget.cpp: (WebCore::EventTarget::toNode): 59455 Use EventTargetNode instead of Node. Removed unneeded includes. 59456 Make EventTarget's destructor protected to make it clear that you 59457 should never delete one. 59458 59459 * dom/EventTargetNode.h: 59460 (WebCore::EventTargetNode::toNode): 59461 Tweaked formatting. Updated for change to return value. 59462 59463 * platform/graphics/BitmapImage.h: Updated comment for clarity. 59464 Marked FrameData Noncopyable. 59465 59466 * platform/graphics/Image.h: Tweaked formatting. 59467 59468 * platform/graphics/ImageAnimationObserver.h: 59469 Make ImageAnimationObserver's destructor protected to make it clear that you 59470 should never delete one. 59471 59472 2007-01-30 Mitz Pettel <mitz (a] webkit.org> 59473 59474 Reviewed by Darin (by way of Hyatt). 59475 59476 - fix http://bugs.webkit.org/show_bug.cgi?id=12373 59477 ASSERTION FAILURE: !child->needsLayout() on paypal.com 59478 59479 Test: fast/table/inline-form-assert.html 59480 59481 * rendering/RenderContainer.cpp: 59482 (WebCore::RenderContainer::layout): Changed the assertion to ignore inlines. 59483 59484 2007-01-30 Alexey Proskuryakov <ap (a] webkit.org> 59485 59486 Reviewed by Darin. 59487 59488 http://bugs.webkit.org/show_bug.cgi?id=12486 59489 XPathNSResolver.lookupNamespaceURI should return null if no URI is found 59490 59491 * xml/XPathNSResolver.idl: added [ConvertNullStringTo=Null]. 59492 59493 2007-01-30 Anders Carlsson <acarlsson (a] apple.com> 59494 59495 Reviewed by Maciej. 59496 59497 Revert the parts of 19244 that removed deferring NSURLConnections, that was not a correct change. 59498 Remove ASSERTS from loader.cpp that aren't true anymore since the callbacks are invoked without a handle 59499 when loading a subresource from an archive. 59500 59501 * loader/MainResourceLoader.cpp: 59502 (WebCore::MainResourceLoader::loadNow): 59503 * loader/ResourceLoader.cpp: 59504 (WebCore::ResourceLoader::releaseResources): 59505 (WebCore::ResourceLoader::load): 59506 (WebCore::ResourceLoader::setDefersLoading): 59507 * loader/loader.cpp: 59508 (WebCore::Loader::didFail): 59509 (WebCore::Loader::didReceiveResponse): 59510 (WebCore::Loader::didReceiveData): 59511 * platform/network/ResourceHandle.cpp: 59512 (WebCore::ResourceHandle::ResourceHandle): 59513 (WebCore::ResourceHandle::create): 59514 * platform/network/ResourceHandle.h: 59515 * platform/network/ResourceHandleInternal.h: 59516 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 59517 * platform/network/mac/ResourceHandleMac.mm: 59518 (WebCore::ResourceHandle::start): 59519 (WebCore::ResourceHandle::setDefersLoading): 59520 59521 2007-01-30 Darin Adler <darin (a] apple.com> 59522 59523 Reviewed by John. 59524 59525 - fix for <rdar://problem/4911504> REGRESSION: With a image selected, ctrl-clicking 59526 on page displays the wrong contextual menu items "Search in Google", "Search in Spotlight" 59527 and "Look up in Dictionary" 59528 59529 * platform/ContextMenu.cpp: 59530 (WebCore::selectionContainsPossibleWord): Added. Returns true if there are some 59531 non-whitespace characters in the selection. 59532 (WebCore::ContextMenu::populate): Don't add SearchSpotlightItem, SearchWebItem, 59533 or LookInDictionaryItem if selectionContainsPossibleWord returns false. 59534 59535 2007-01-30 Nikolas Zimmermann <zimmermann (a] kde.org> 59536 59537 Reviewed by Oliver. 59538 59539 Respect stroke-width in absolute repaint rect calculations for SVG text. 59540 Added test: svg/custom/text-repaint-including-stroke.svg 59541 59542 * rendering/RenderSVGText.cpp: 59543 (WebCore::RenderSVGText::relativeBBox): 59544 59545 2007-01-30 Steve Falkenburg <sfalken (a] apple.com> 59546 59547 Reviewed by Oliver. 59548 59549 Add missing includes. 59550 59551 * ksvg2/svg/SVGElementInstance.cpp: 59552 59553 2007-01-30 Alexey Proskuryakov <ap (a] webkit.org> 59554 59555 Reviewed by Darin. 59556 59557 http://bugs.webkit.org/show_bug.cgi?id=12452 59558 XPath id() function is not supported 59559 59560 * xml/XPathFunctions.cpp: 59561 (WebCore::XPath::isWhitespace): A helper to detect XML whitespace. 59562 59563 (WebCore::XPath::FunId::isConstant): 59564 (WebCore::XPath::FunId::doEvaluate): 59565 (WebCore::XPath::FunctionMapping::): 59566 Implemented id(). 59567 59568 2007-01-30 Zack Rusin <zrusin (a] trolltech.com> 59569 59570 Reviewed by Sam. 59571 59572 Make the gradients work on the Qt platform. 59573 59574 * platform/graphics/svg/SVGPaintServerGradient.h: 59575 * platform/graphics/svg/SVGPaintServerLinearGradient.h: 59576 * platform/graphics/svg/SVGPaintServerRadialGradient.h: 59577 * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: 59578 (WebCore::SVGPaintServerGradient::fillColorArray): 59579 (WebCore::SVGPaintServerGradient::setup): 59580 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: 59581 (WebCore::SVGPaintServerLinearGradient::setupGradient): 59582 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: 59583 (WebCore::SVGPaintServerRadialGradient::setupGradient): 59584 59585 2007-01-30 Nikolas Zimmermann <zimmermann (a] kde.org> 59586 59587 Reviewed by Eric & Oliver. Leak related fixes reviewed by Mark. 59588 59589 Finally make the SVG <use> implementation use the proper "shadow tree" concept, 59590 which is also used by the HTML forms implementation. It's the first time in ksvg 59591 history that <use> is not implement as a crude hack, but proper & sane. 59592 59593 Implement deep expansion of use trees both for the instance & shadow tree. 59594 (<use> on a <symbol> containing a <g> containg a <use> element referencing a <rect>) 59595 59596 The shadow tree is free of any symbol/use tags, but is properly expanded to the 59597 actual referenced content. The instance tree (SVGElementInstance objects) now exactly 59598 exposes the "expanded" shadow tree, as required by the specification. Previously 59599 we cloned referenced <use> elements, so our faked use shadow tree itself contained 59600 <use> elements. That lead to very nasty bugs - finally these dirty pieces are gone. 59601 59602 Checked twice that the updating logic works for all weird "deep expansions" cases. Example: 59603 <rect id="someRect"/> <g id="g"> <symbol> <use xlink:href="#someRect"/> </g> <use xlink:href="#g" id="use"/> 59604 59605 If you walk through the instanceRoot using JavasScript, and explicitely modify some propertties of "someRect" 59606 -> all instances get updated correctly. For such simple cases it doesn't even involve recloning the shadow tree! 59607 59608 SVGElementInstance is now an EventTarget, as demanded by the specification - sending events to <use> instances 59609 will be implemented in a follow-up patch - as well as the "share event listeners with referenced target" logic. 59610 59611 Fixes all updating/stability issues with svg/carto.net/window.svg. 59612 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6000 (<use> does not handle recursion safely) 59613 59614 Added test: svg/custom/use-on-use.svg (deep use referencing) 59615 Added test: svg/custom/use-on-g-containing-use.svg (nested deep use referencing) 59616 Added test: svg/custom/use-modify-target-container.svg (instanceRoot scripting, modifying <g> target) 59617 Added test: svg/custom/use-modify-target-symbol.svg (instanceRoot scripting, modfiying <symbol> target) 59618 Added test: svg/custom/use-modify-container-in-target.svg (modify <g> within referenced use target -> needs to update instances) 59619 Added test: svg/custom/use-recursion-1.svg (referencing container, whose children reference itself) 59620 Added test: svg/custom/use-recursion-2.svg (<use> self referencing) 59621 Added test: svg/custom/use-recursion-3.svg (<use> self rerencing, within <use> target) 59622 Added test: svg/custom/use-recursion-4.svg (cyclic referencing, within <use> target) 59623 59624 * bindings/scripts/CodeGeneratorJS.pm: 59625 * css/cssstyleselector.cpp: 59626 (WebCore::CSSStyleSelector::initForStyleResolve): 59627 (WebCore::CSSStyleSelector::adjustRenderStyle): 59628 * ksvg2/misc/SVGDocumentExtensions.cpp: 59629 (WebCore::SVGDocumentExtensions::removeTimeContainer): 59630 * ksvg2/svg/SVGElement.cpp: 59631 (WebCore::SVGElement::SVGElement): 59632 (WebCore::SVGElement::viewportElement): 59633 * ksvg2/svg/SVGElement.h: 59634 (WebCore::SVGElement::isShadowNode): 59635 (WebCore::SVGElement::shadowParentNode): 59636 (WebCore::SVGElement::setShadowParentNode): 59637 * ksvg2/svg/SVGElementInstance.cpp: 59638 (WebCore::SVGElementInstance::SVGElementInstance): 59639 (WebCore::SVGElementInstance::correspondingUseElement): 59640 (WebCore::SVGElementInstance::shadowTreeElement): 59641 (WebCore::SVGElementInstance::setShadowTreeElement): 59642 (WebCore::containsUseChildNode): 59643 (WebCore::SVGElementInstance::updateInstance): 59644 (WebCore::SVGElementInstance::addEventListener): 59645 (WebCore::SVGElementInstance::removeEventListener): 59646 (WebCore::SVGElementInstance::dispatchEvent): 59647 * ksvg2/svg/SVGElementInstance.h: 59648 (WebCore::SVGElementInstance::refEventTarget): 59649 (WebCore::SVGElementInstance::derefEventTarget): 59650 (WebCore::SVGElementInstance::hasOneRef): 59651 (WebCore::SVGElementInstance::refCount): 59652 (WebCore::SVGElementInstance::setParent): 59653 (WebCore::SVGElementInstance::parent): 59654 * ksvg2/svg/SVGElementInstance.idl: 59655 * ksvg2/svg/SVGGElement.cpp: 59656 (WebCore::SVGGElement::localMatrix): 59657 * ksvg2/svg/SVGGElement.h: 59658 * ksvg2/svg/SVGHiddenElement.h: Removed. 59659 * ksvg2/svg/SVGSVGElement.cpp: 59660 (WebCore::SVGSVGElement::~SVGSVGElement): 59661 * ksvg2/svg/SVGStyledElement.cpp: 59662 (WebCore::SVGStyledElement::updateElementInstance): 59663 * ksvg2/svg/SVGUseElement.cpp: 59664 (WebCore::SVGUseElement::removedFromDocument): 59665 (WebCore::SVGUseElement::notifyAttributeChange): 59666 (WebCore::dumpInstanceTree): 59667 (WebCore::SVGUseElement::buildPendingResource): 59668 (WebCore::SVGUseElement::attach): 59669 (WebCore::SVGUseElement::buildInstanceTree): 59670 (WebCore::SVGUseElement::handleDeepUseReferencing): 59671 (WebCore::SVGUseElement::buildShadowTree): 59672 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 59673 (WebCore::SVGUseElement::attachShadowTree): 59674 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): 59675 (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): 59676 * ksvg2/svg/SVGUseElement.h: 59677 59678 2007-01-30 Maciej Stachowiak <mjs (a] apple.com> 59679 59680 Reviewed by Eric. 59681 59682 <rdar://problem/4928646> REGRESSION: manual-tests/remove-input-file-onchange.html crashes 59683 59684 * platform/FileChooser.h: 59685 (WebCore::FileChooser::disconnected): New method, so the RenderFileControl can tell when it's 59686 gotten disconected. 59687 * rendering/RenderFileUploadControl.cpp: 59688 (WebCore::RenderFileUploadControl::valueChanged): Avoid calling repainted() when onChange() 59689 handler destroyed us. 59690 59691 2007-01-30 Simon Hausmann <hausmann (a] kde.org> 59692 59693 Reviewed by Zack. 59694 59695 Combine libJavaScriptCore into libWebKitQt. 59696 Build with ELF visibility if possible. 59697 59698 * WebCore.pro: 59699 59700 2007-01-30 Zack Rusin <zack (a] kde.org> 59701 59702 The method has been removed from the header 59703 (make it compile) 59704 59705 * platform/network/qt/ResourceHandleQt.cpp: 59706 59707 2007-01-30 Zack Rusin <zrusin (a] trolltech.com> 59708 59709 Reviewed by aroben 59710 59711 Compile fix. 59712 59713 * loader/ResourceLoader.cpp: 59714 (WebCore::ResourceLoader::releaseResources): 59715 (WebCore::ResourceLoader::setDefersLoading): 59716 59717 2007-01-29 Zack Rusin <zack (a] kde.org> 59718 59719 Reviewed by Lars 59720 59721 Propagate the allows-scrolling property on the frames 59722 correctly. If the frame has been constructed as non- 59723 scrolling, respect that and don't show scrollbars. 59724 59725 * platform/ScrollView.h: 59726 * platform/qt/ScrollViewQt.cpp: 59727 (WebCore::ScrollView::ScrollView): 59728 (WebCore::ScrollView::setHScrollbarMode): 59729 (WebCore::ScrollView::setVScrollbarMode): 59730 (WebCore::ScrollView::setAllowsScrolling): 59731 59732 2007-01-29 Geoffrey Garen <ggaren (a] apple.com> 59733 59734 I am the chosen one! I have seen the faces of the final five! I will 59735 save the WebKit build! 59736 59737 * loader/ResourceLoader.cpp: 59738 (WebCore::ResourceLoader::load): 59739 59740 2007-01-30 Graham Dennis <graham.dennis (a] gmail.com> 59741 59742 Reviewed by Maciej. 59743 59744 Part of fix for http://bugs.webkit.org/show_bug.cgi?id=10725 59745 Image data in from RTFD clipboard data thrown away 59746 59747 ResourceHandles no longer need to be able to defer loading as that is 59748 now handled by the ResourceLoader. 59749 59750 * loader/MainResourceLoader.cpp: 59751 (WebCore::MainResourceLoader::loadNow): updated to remove defersLoading argument. 59752 * loader/ResourceLoader.cpp: 59753 (WebCore::ResourceLoader::releaseResources): release the deferred request. 59754 (WebCore::ResourceLoader::load): defer creating the ResourceHandle instead of 59755 asking the ResourceHandle to defer loading. 59756 (WebCore::ResourceLoader::setDefersLoading): create the ResourceHandle if we have deferred creating it. 59757 * loader/ResourceLoader.h: 59758 * platform/network/ResourceHandle.cpp: ResourceHandle's don't need to know about deferLoading. 59759 (WebCore::ResourceHandle::ResourceHandle): 59760 (WebCore::ResourceHandle::create): 59761 * platform/network/ResourceHandle.h: ditto. 59762 * platform/network/ResourceHandleInternal.h: ditto. 59763 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 59764 * platform/network/mac/ResourceHandleMac.mm: ditto. 59765 (WebCore::ResourceHandle::start): 59766 59767 2007-01-29 Brady Eidson <beidson (a] apple.com> 59768 59769 Reviewed by Alice 59770 59771 Lets use smart pointers, shall we? 59772 59773 * platform/network/ResourceHandleInternal.h: 59774 59775 2007-01-29 Justin Garcia <justin.garcia (a] apple.com> 59776 59777 Reviewed by harrison 59778 59779 <rdar://problem/4960137> 59780 ASSERTION FAILURE calling SelectionController::setBaseAndExtent (11833) 59781 59782 * editing/SelectionController.cpp: 59783 (WebCore::SelectionController::setSelection): Hand off the selection 59784 to the selectionController responsible for it, instead of asserting. 59785 A selection object can't be constructed with endpoints in different 59786 documents, so this code is only necessary for one endpoint. 59787 59788 2007-01-29 Ada Chan <adachan (a] apple.com> 59789 59790 Reviewed by Brady. 59791 59792 Moved the update of the title of the current entry in the backforward list to WebCore. 59793 59794 * loader/FrameLoader.cpp: 59795 (WebCore::FrameLoader::didChangeTitle): 59796 59797 2007-01-29 Adele Peterson <adele (a] apple.com> 59798 59799 Reviewed by Darin. 59800 59801 More preparation for event handling fixes. 59802 59803 * bridge/EditorClient.h: Removed EventTargetNode parameter from handleKeyPress since we can just get that from the event. 59804 * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): ditto. 59805 * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): ditto. 59806 * page/EventHandler.h: ditto. 59807 * platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::handleKeyPress): ditto. 59808 59809 * editing/Editor.h: 59810 * editing/Editor.cpp: 59811 (WebCore::Editor::handleKeyPress): Removed EventTargetNode parameter. 59812 (WebCore::Editor::execCommand): Made commandMap use AtomicStringImpls instead of Strings. 59813 (WebCore::Editor::insertText): Moved from the bridge. 59814 59815 * page/mac/WebCoreFrameBridge.h: Moved insertText method to Editor. 59816 * page/mac/WebCoreFrameBridge.mm: 59817 59818 * WebCore.exp: Updated exports. 59819 59820 2007-01-29 Anders Carlsson <acarlsson (a] apple.com> 59821 59822 Reviewed by Geoff. 59823 59824 <rdar://problem/4960097> 59825 http://bugs.webkit.org/show_bug.cgi?id=12444 59826 Assertion failure in -[WebCoreFrameBridge installInFrame:] 59827 59828 The problem was that the XML tokenizer didn't create elements with 59829 createdByParser set to true. 59830 59831 * dom/Document.cpp: 59832 (WebCore::Document::createElement): 59833 New method which takes a QName. This is used by both the XML tokenizer and createElementNS. 59834 59835 (WebCore::Document::createElementNS): 59836 Call new createElement method. 59837 59838 * dom/XMLTokenizer.h: 59839 * dom/XMLTokenizer.cpp: 59840 (WebCore::XMLTokenizer::XMLTokenizer): 59841 (WebCore::XMLTokenizer::~XMLTokenizer): 59842 Use an OwnPtr for the pending callbacks object. Also, use String instead of StringImpl in the hash map. 59843 59844 (WebCore::toString): 59845 (WebCore::XMLTokenizer::startElementNs): 59846 Call createElement. 59847 59848 2007-01-29 Brady Eidson <beidson (a] apple.com> 59849 59850 Reviewed by Oliver 59851 59852 http://bugs.webkit.org/show_bug.cgi?id=12465 59853 Only set the iconURL port for non-zero ports 59854 59855 * loader/FrameLoader.cpp: 59856 (WebCore::FrameLoader::iconURL): 59857 59858 2007-01-29 John Sullivan <sullivan (a] apple.com> 59859 59860 * platform/network/mac/ResourceRequestMac.mm: 59861 Build fix -- removed #import of no-longer-extant WebDataProtocol.h (and also one of the 59862 two #imports for WebCoreSystemInterface.h, while I was at it) 59863 59864 2007-01-29 Anders Carlsson <acarlsson (a] apple.com> 59865 59866 Reviewed by Oliver. 59867 59868 * page/DragController.cpp: 59869 (WebCore::DragController::dragEnteredOrUpdated): 59870 Only try a drag operation if the drag client explicitly specified that it is OK 59871 59872 2007-01-29 Oliver Hunt <oliver (a] apple.com> 59873 59874 Reviewed by Adam. 59875 59876 Migrated more drag logic and state to WebCore 59877 59878 * page/DragClient.h: 59879 59880 * page/DragController.cpp: 59881 (WebCore::DragController::delegateDragSourceAction): 59882 New forwarding method for the UI delegate 59883 * page/DragController.h: 59884 (WebCore::DragController::dragOffset): 59885 Now store the drag offset -- the offset of the cursor relative to the drag image) 59886 in DragController 59887 * page/EventHandler.cpp: 59888 (WebCore::EventHandler::allowDHTMLDrag): 59889 Moved from WebFrameBridge 59890 * page/EventHandler.h: 59891 * page/mac/EventHandlerMac.mm: 59892 (WebCore::EventHandler::eventMayStartDrag): 59893 (WebCore::EventHandler::handleDrag): 59894 EventHandlerMac now uses EventHandler::allowDHTMLDrag rather than the 59895 implementation in WebFrameBridge 59896 * page/mac/WebCoreFrameBridge.h: 59897 removed definition of allowDHTMLDrag from WebFrameBridge 59898 * platform/graphics/svg/SVGImageEmptyClients.h: 59899 (WebCore::SVGEmptyDragClient::dragSourceActionMaskForPoint): 59900 Updated empty DragClient 59901 59902 2007-01-29 Alexey Proskuryakov <ap (a] webkit.org> 59903 59904 Reviewed by Darin. 59905 59906 http://bugs.webkit.org/show_bug.cgi?id=12359 59907 XPathEvaluator may return some nodes more than once in a result set 59908 59909 Test: fast/xpath/nodeset-duplicates.html 59910 59911 * xml/XPathPath.cpp: 59912 (WebCore::XPath::LocationPath::doEvaluate): Ensure uniqueness of elements 59913 in the node-set. 59914 59915 * xml/XPathPredicate.cpp: 59916 (WebCore::XPath::Union::doEvaluate): Fixed a uniqueness algorithm that was 59917 already present here. Added a FIXME about incorrect result ordering. 59918 59919 2007-01-29 Alexey Proskuryakov <ap (a] webkit.org> 59920 59921 Reviewed by Darin. 59922 59923 http://bugs.webkit.org/show_bug.cgi?id=12340 59924 XPathEvaluator behavior does not match Firefox - name() and attribute nodes 59925 59926 * xml/XPathFunctions.cpp: 59927 (WebCore::XPath::FunName::doEvaluate): Do not try to append a prefix if it doesn't exist. 59928 59929 2007-01-29 Alexey Proskuryakov <ap (a] webkit.org> 59930 59931 Reviewed by Darin. 59932 59933 http://bugs.webkit.org/show_bug.cgi?id=11815 59934 XPathEvaluator behavior does not match Firefox - substring() and empty element 59935 59936 Test: fast/xpath/empty-string-substring.html 59937 59938 * xml/XPathValue.cpp: 59939 (WebCore::XPath::Value::Value): 59940 * xml/XPathValue.h: 59941 Added a constructor taking const char*, so that string literals and arrays don't 59942 get converted to boolean values. 59943 59944 2007-01-29 Zack Rusin <zrusin (a] trolltech.com> 59945 59946 Cosmetic fixes - don't resize the widget in the constructor 59947 (it was a hack from the initial port) and fix the paint 59948 signature. 59949 59950 * platform/qt/ScrollViewCanvasQt.cpp: 59951 (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt): 59952 * platform/qt/WidgetQt.cpp: 59953 (WebCore::Widget::paint): 59954 59955 2007-01-29 Maciej Stachowiak <mjs (a] apple.com> 59956 59957 - change from struct to class to make picky compilers happy 59958 59959 * loader/SubstituteData.h: 59960 59961 2007-01-30 Mark Rowe <mrowe (a] apple.com> 59962 59963 Reviewed by Maciej. 59964 59965 http://bugs.webkit.org/show_bug.cgi?id=12458 59966 Bug 12458: Crash in W3C-SVG-1.1/animate-elem-09-t.svg running layout tests under guard malloc 59967 59968 * ksvg2/svg/SVGAnimationElement.cpp: 59969 (WebCore::parseValues): ptr either points to a ';' or off the end of the buffer. We're 59970 interested in what comes before the ';', so start there instead. 59971 59972 2007-01-29 Zack Rusin <zrusin (a] trolltech.com> 59973 59974 Reviewed by Lars. 59975 59976 Take the scrollbars into considation when computing 59977 the contents size of the main frame. 59978 59979 * platform/qt/PlatformScrollBarQt.cpp: 59980 (WebCore::PlatformScrollbar::paint): 59981 * platform/qt/ScrollViewQt.cpp: 59982 (WebCore::ScrollView::visibleWidth): 59983 (WebCore::ScrollView::visibleHeight): 59984 (WebCore::ScrollView::visibleContentRect): 59985 * platform/qt/WidgetQt.cpp: 59986 (WebCore::Widget::invalidate): 59987 (WebCore::Widget::invalidateRect): 59988 59989 2007-01-29 Maciej Stachowiak <mjs (a] apple.com> 59990 59991 - fix includes 59992 59993 * loader/SubstituteData.h: 59994 59995 2007-01-29 Maciej Stachowiak <mjs (a] apple.com> 59996 59997 - added new file that I forgot in the last commit 59998 59999 * loader/SubstituteData.h: Added. 60000 (WebCore::SubstituteData::SubstituteData): 60001 (WebCore::SubstituteData::isValid): 60002 (WebCore::SubstituteData::content): 60003 (WebCore::SubstituteData::mimeType): 60004 (WebCore::SubstituteData::textEncoding): 60005 (WebCore::SubstituteData::failingURL): 60006 60007 2007-01-29 Maciej Stachowiak <mjs (a] apple.com> 60008 60009 Reviewed by Mark. 60010 60011 - made data loading cross-platform 60012 - fixed <rdar://problem/4910106> 60013 60014 * WebCore.exp: 60015 * WebCore.xcodeproj/project.pbxproj: 60016 * loader/CachedResource.cpp: 60017 * loader/CachedResource.h: 60018 * loader/DocLoader.cpp: 60019 (WebCore::DocLoader::requestResource): 60020 * loader/DocumentLoader.cpp: 60021 (WebCore::DocumentLoader::DocumentLoader): 60022 (WebCore::DocumentLoader::setRequest): 60023 (WebCore::DocumentLoader::urlForHistory): 60024 (WebCore::DocumentLoader::unreachableURL): 60025 * loader/DocumentLoader.h: 60026 (WebCore::DocumentLoader::substituteData): 60027 * loader/FrameLoader.cpp: 60028 (WebCore::FrameLoader::load): 60029 (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL): 60030 (WebCore::FrameLoader::reloadAllowingStaleData): 60031 (WebCore::FrameLoader::reload): 60032 (WebCore::FrameLoader::commitProvisionalLoad): 60033 (WebCore::FrameLoader::startLoadingMainResource): 60034 (WebCore::FrameLoader::startLoading): 60035 (WebCore::FrameLoader::checkNavigationPolicy): 60036 * loader/FrameLoader.h: 60037 * loader/FrameLoaderClient.h: 60038 * loader/MainResourceLoader.cpp: 60039 (WebCore::MainResourceLoader::willSendRequest): 60040 (WebCore::MainResourceLoader::continueAfterContentPolicy): 60041 (WebCore::MainResourceLoader::handleEmptyLoad): 60042 (WebCore::MainResourceLoader::handleDataLoad): 60043 (WebCore::MainResourceLoader::loadNow): 60044 (WebCore::MainResourceLoader::load): 60045 * loader/MainResourceLoader.h: 60046 * loader/mac/DocumentLoaderMac.mm: 60047 * loader/mac/WebDataProtocol.h: Removed. 60048 * loader/mac/WebDataProtocol.mm: Removed. 60049 * loader/qt/DocumentLoaderQt.cpp: 60050 * platform/graphics/svg/SVGImageEmptyClients.h: 60051 (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader): 60052 60053 2007-01-29 Zack Rusin <zrusin (a] trolltech.com> 60054 60055 Order the build files alphabetically instead of 60056 the random mess we had before. 60057 60058 * WebCore.pro: 60059 60060 2007-01-29 Zack Rusin <zack (a] kde.org> 60061 60062 Reviewed by Lars 60063 60064 Use the platform independent scrollbar code. 60065 Remove the redundant empty stubs and forward 60066 few missing platform scrollbar calls. 60067 60068 * WebCore.pro: 60069 * platform/qt/PlatformScrollBarQt.cpp: 60070 (WebCore::PlatformScrollbar::paint): 60071 (WebCore::PlatformScrollbar::setRect): 60072 60073 2007-01-29 Lars Knoll <lars (a] trolltech.com> 60074 60075 Reviewed by Zack 60076 60077 Fix the way we handle native widgets (QWidget) inside 60078 WebCore. Now WebCore::Widget owns the QWidget in all 60079 cases. This is the only way to get well defined semantics 60080 for all teh native widgets we have (currently ScrollView 60081 and ScrollBar, but plugins will follow). 60082 60083 This has the side effect that one cannot rely on a defined 60084 lifetime of a QWebFrame when using the API. 60085 60086 * platform/Widget.h: 60087 * platform/qt/PlatformScrollBarQt.cpp: 60088 (WebCore::PlatformScrollbar::PlatformScrollbar): 60089 * platform/qt/ScrollViewQt.cpp: 60090 (WebCore::ScrollView::addChild): 60091 (WebCore::ScrollView::removeChild): 60092 * platform/qt/WidgetQt.cpp: 60093 (WebCore::WidgetPrivate::WidgetPrivate): 60094 (WebCore::WidgetPrivate::~WidgetPrivate): 60095 (WebCore::Widget::qwidget): 60096 60097 2007-01-28 George Staikos <staikos (a] kde.org> 60098 60099 Reviewed by Maciej. 60100 60101 Don't send data during a redirect -> causes assert failure. 60102 60103 * platform/network/qt/ResourceHandleManagerQt.cpp: 60104 (WebCore::ResourceHandleManager::receivedData): 60105 60106 2007-01-29 Mark Rowe <mrowe (a] apple.com> 60107 60108 Reviewed by Brady. 60109 60110 http://bugs.webkit.org/show_bug.cgi?id=11085 60111 Bug 11085: REGRESSION: favicon.ico always looked for on port 80 60112 60113 * loader/FrameLoader.cpp: 60114 (WebCore::FrameLoader::iconURL): Copy the port over to the favicon URL. 60115 60116 2007-01-28 Adam Roben <aroben (a] apple.com> 60117 60118 Reviewed by Adele. 60119 60120 Fix http://bugs.webkit.org/show_bug.cgi?id=12453 60121 REGRESSION(r19197): Tabbing into web page requires two key presses 60122 60123 All layout tests pass. 60124 60125 * page/FocusController.cpp: 60126 (WebCore::FocusController::advanceFocus): If there's no focused frame, 60127 actually go ahead and find a focusable node instead of just focusing 60128 the main frame and quitting. This behavior was a holdover from a 60129 previous desired tabbing behavior with respect to frames. 60130 60131 2007-01-28 David Kilzer <ddkilzer (a] webkit.org> 60132 60133 Reviewed by Darin and David Hyatt. 60134 60135 - fix http://bugs.webkit.org/show_bug.cgi?id=12423 60136 Mixing white-space:pre text with non white-space:pre text does not wrap properly 60137 60138 Test: fast/block/basic/white-space-pre-wraps.html 60139 60140 * rendering/bidi.cpp: 60141 (WebCore::RenderBlock::findNextLineBreak): Wrap a non-wrapping text run if it 60142 appears on a line with previous text runs that do wrap. 60143 60144 2007-01-28 Mitz Pettel <mitz (a] webkit.org> 60145 60146 Reviewed by Darin. 60147 60148 - fix http://bugs.webkit.org/show_bug.cgi?id=8360 60149 Repro crash when onscroll handler deletes the scrolled object 60150 60151 Test: fast/layers/removed-by-scroll-handler.html 60152 60153 * page/FrameView.cpp: 60154 (WebCore::FrameViewPrivate::FrameViewPrivate): Added a m_enqueueEvents count. 60155 (WebCore::FrameView::layout): Raise the enqueue count before starting layout and 60156 until after enqueued events are dispatched. 60157 (WebCore::FrameView::scheduleEvent): Made this function dispatch the event 60158 immediately unless the enqueue count is positive. 60159 * rendering/RenderLayer.cpp: 60160 (WebCore::RenderLayer::scrollToOffset): Schedule the scroll event through the 60161 FrameView. 60162 (WebCore::RenderLayer::scrollRectToVisible): 60163 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 60164 (WebCore::Marquee::start): 60165 60166 2007-01-28 Charles Ying <charles_ying (a] yahoo.com> 60167 60168 Reviewed by eseidel. Landed by eseidel. 60169 60170 Fix http://bugs.webkit.org/show_bug.cgi?id=12429 60171 animateTransform rotate, with cx/cy is broken 60172 60173 SVGTransform now contains a float point to store the rotation center, needed 60174 to track rotation center for interpolation by animateTransform. 60175 60176 SVGTransform now has an additional constructor: 60177 SVGTransform(type) to make empty base value transforms that match their 60178 distanced values. 60179 60180 Removed m_colorDistance and m_transformDistance from their respective classes 60181 as they are now computed at update time. 60182 60183 Fix a case where animateTransform did not parse transform values correctly 60184 according to BNF in W3C spec: 60185 60186 Test case in: 60187 * manual-tests/animation/animateTransform-toanimation.svg: Added. 60188 60189 Fix a case where animateTransform only specified a to animation only. 60190 60191 Test case in: 60192 * manual-tests/animation/animateTransform-parser.svg: Added. 60193 60194 * ksvg2/svg/SVGAnimateColorElement.cpp: 60195 (WebCore::SVGAnimateColorElement::updateAnimationBaseValueFromElement): 60196 (WebCore::SVGAnimateColorElement::updateAnimatedValue): 60197 (WebCore::SVGAnimateColorElement::calculateFromAndToValues): 60198 * ksvg2/svg/SVGAnimateColorElement.h: 60199 * ksvg2/svg/SVGAnimateTransformElement.cpp: 60200 (WebCore::SVGAnimateTransformElement::updateAnimatedValue): 60201 (WebCore::SVGAnimateTransformElement::updateAnimationBaseValueFromElement): 60202 (WebCore::SVGAnimateTransformElement::calculateFromAndToValues): 60203 (WebCore::SVGAnimateTransformElement::parseTransformValue): 60204 * ksvg2/svg/SVGAnimateTransformElement.h: 60205 * ksvg2/svg/SVGTransform.cpp: 60206 (SVGTransform::SVGTransform): 60207 (SVGTransform::angle): 60208 (SVGTransform::rotationCenter): 60209 (SVGTransform::setTranslate): 60210 (SVGTransform::setScale): 60211 (SVGTransform::setRotate): 60212 (SVGTransform::setSkewX): 60213 (SVGTransform::setSkewY): 60214 * ksvg2/svg/SVGTransform.h: 60215 * ksvg2/svg/SVGTransformDistance.cpp: 60216 (WebCore::SVGTransformDistance::SVGTransformDistance): 60217 (WebCore::SVGTransformDistance::scaledDistance): 60218 (WebCore::SVGTransformDistance::addSVGTransforms): 60219 (WebCore::SVGTransformDistance::addSVGTransform): 60220 (WebCore::SVGTransformDistance::addToSVGTransform): 60221 (WebCore::SVGTransformDistance::distance): 60222 * ksvg2/svg/SVGTransformDistance.h: 60223 * manual-tests/animation/animateTransform-parser.svg: Added. 60224 * manual-tests/animation/animateTransform-toanimation.svg: Added. 60225 60226 2007-01-27 Adam Roben <aroben (a] apple.com> 60227 60228 Reviewed by Ada. 60229 60230 Fix <rdar://problem/4957184> REGRESSION: After creating a new mail 60231 message, the caret is automatically in message body 60232 60233 -[WebHTMLView _updateActiveState] was calling 60234 FocusController::focusedOrMainFrame, which had the surprising 60235 side-effect of setting the focused frame if there was none. The fix 60236 was to remove this side-effect. 60237 60238 No tests possible, as this bug involves focus outside the WebView, 60239 which we have no support for in DRT. 60240 60241 Change inspired by Dave Harrison. 60242 60243 * page/FocusController.cpp: 60244 (WebCore::FocusController::focusedOrMainFrame): Removed this method's 60245 non-obvious side-effect of setting the focused frame. 60246 * WebCore.xcodeproj/project.pbxproj: Version wars. 60247 60248 2007-01-27 Peter Kasting <pkasting (a] google.com> 60249 60250 Reviewed by Maciej. 60251 60252 http://bugs.webkit.org/show_bug.cgi?id=11880: Improve some egregious 60253 Windows form control drawing issues: 60254 Provide Classic mode fallbacks for the button/textfield drawing 60255 routines. 60256 Provide some basic drawing of menulists (still relatively broken). 60257 Some cleanup. 60258 60259 * platform/win/TemporaryLinkStubs.cpp: 60260 (WebCore::RenderThemeWin::systemFont): 60261 * rendering/RenderThemeWin.cpp: 60262 (WebCore::m_menuListTheme): 60263 (WebCore::RenderThemeWin::close): 60264 (WebCore::RenderThemeWin::determineClassicState): 60265 (WebCore::RenderThemeWin::getThemeData): 60266 (WebCore::RenderThemeWin::paintButton): 60267 (WebCore::RenderThemeWin::paintTextField): 60268 (WebCore::RenderThemeWin::paintMenuList): 60269 (WebCore::RenderThemeWin::paintMenuListButton): 60270 * rendering/RenderThemeWin.h: 60271 (WebCore::ThemeData::m_classicState): 60272 (WebCore::RenderThemeWin::setRadioSize): 60273 (WebCore::RenderThemeWin::paintTextArea): 60274 60275 2007-01-27 David Kilzer <ddkilzer (a] webkit.org> 60276 60277 Reviewed by Adam. 60278 60279 - fix http://bugs.webkit.org/show_bug.cgi?id=12260 60280 Windows platform build is not maintained 60281 60282 * loader/win/FrameLoaderWin.cpp: 60283 * platform/network/win/ResourceHandleWin.cpp: 60284 * platform/win/TemporaryLinkStubs.cpp: 60285 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 60286 (WebCore::contextMenuItemTagDownloadLinkToDisk): 60287 (WebCore::contextMenuItemTagCopyLinkToClipboard): 60288 (WebCore::contextMenuItemTagOpenImageInNewWindow): 60289 (WebCore::contextMenuItemTagDownloadImageToDisk): 60290 (WebCore::contextMenuItemTagCopyImageToClipboard): 60291 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 60292 (WebCore::contextMenuItemTagCopy): 60293 (WebCore::contextMenuItemTagGoBack): 60294 (WebCore::contextMenuItemTagGoForward): 60295 (WebCore::contextMenuItemTagStop): 60296 (WebCore::contextMenuItemTagReload): 60297 (WebCore::contextMenuItemTagCut): 60298 (WebCore::contextMenuItemTagPaste): 60299 (WebCore::contextMenuItemTagNoGuessesFound): 60300 (WebCore::contextMenuItemTagIgnoreSpelling): 60301 (WebCore::contextMenuItemTagLearnSpelling): 60302 (WebCore::contextMenuItemTagSearchWeb): 60303 (WebCore::contextMenuItemTagLookUpInDictionary): 60304 (WebCore::contextMenuItemTagOpenLink): 60305 (WebCore::contextMenuItemTagIgnoreGrammar): 60306 (WebCore::contextMenuItemTagSpellingMenu): 60307 (WebCore::contextMenuItemTagShowSpellingPanel): 60308 (WebCore::contextMenuItemTagCheckSpelling): 60309 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 60310 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 60311 (WebCore::contextMenuItemTagFontMenu): 60312 (WebCore::contextMenuItemTagBold): 60313 (WebCore::contextMenuItemTagItalic): 60314 (WebCore::contextMenuItemTagUnderline): 60315 (WebCore::contextMenuItemTagOutline): 60316 (WebCore::contextMenuItemTagWritingDirectionMenu): 60317 (WebCore::contextMenuItemTagDefaultDirection): 60318 (WebCore::contextMenuItemTagLeftToRight): 60319 (WebCore::contextMenuItemTagRightToLeft): 60320 (WebCore::DocumentLoader::unreachableURL): 60321 (WebCore::FrameLoader::redirectDataToPlugin): 60322 (WebCore::FrameLoader::partClearedInBegin): 60323 (WebCore::FrameLoader::createPlugin): 60324 60325 2007-01-27 Sam Weinig <sam (a] webkit.org> 60326 60327 Reviewed by Mitz. 60328 60329 - Patch for http://bugs.webkit.org/show_bug.cgi?id=11957 60330 REGRESSION: Unordered List Bullets too big and changing from size 60331 60332 * rendering/RenderListMarker.cpp: 60333 (WebCore::RenderListMarker::paint): Explicitly set the stroke size to 1.0f. 60334 60335 2007-01-27 Lars Knoll <lars (a] trolltech.com> 60336 60337 Fix the Qt build and disable the usage 60338 of QScrollbars for PlatformScrollBar for 60339 now as it causes crashes in the layout tests. 60340 60341 * WebCore.pro: 60342 * ksvg2/svg/SVGTransformDistance.cpp: 60343 * page/qt/FrameQt.cpp: 60344 (WebCore::FrameQt::FrameQt): 60345 (WebCore::FrameQt::bindingRootObject): 60346 (WebCore::FrameQt::createRootObject): 60347 * page/qt/FrameQt.h: 60348 * platform/qt/PlatformScrollBarQt.cpp: 60349 (WebCore::PlatformScrollbar::PlatformScrollbar): 60350 * platform/qt/ScrollViewQt.cpp: 60351 (WebCore::ScrollView::addChild): 60352 60353 2007-01-27 David Kilzer <ddkilzer (a] kilzer.net> 60354 60355 Reviewed by NOBODY (buildbot build fix). 60356 60357 * ksvg2/svg/ColorDistance.cpp: 60358 (WebCore::ColorDistance::scaledDistance): Added static cast of arguments to int. 60359 60360 2007-01-27 Rob Buis <buis (a] kde.org> 60361 60362 Reviewed by NOBODY (typo in method name fix). 60363 60364 * ksvg2/svg/SVGSVGElement.cpp: 60365 (WebCore::SVGSVGElement::addSVGWindowEventListener): 60366 (WebCore::SVGSVGElement::parseMappedAttribute): 60367 * ksvg2/svg/SVGSVGElement.h: 60368 60369 2007-01-27 Eric Seidel <eric (a] webkit.org> 60370 60371 Reviewed by olliej. 60372 60373 Fix support for SVG's <set> element. 60374 60375 Manual test added. 60376 60377 * ksvg2/svg/SVGSetElement.cpp: 60378 (WebCore::SVGSetElement::updateAnimatedValue): 60379 (WebCore::SVGSetElement::calculateFromAndToValues): 60380 * ksvg2/svg/SVGSetElement.h: 60381 * manual-tests/animation/set-to.svg: Added. 60382 60383 2007-01-27 Alexey Proskuryakov <ap (a] webkit.org> 60384 60385 Release build fix. 60386 60387 * loader/TextResourceDecoder.cpp: 60388 (WebCore::TextResourceDecoder::checkForHeadCharset): 60389 60390 2007-01-27 Alexey Proskuryakov <ap (a] webkit.org> 60391 60392 Reviewed by Darin. 60393 60394 http://bugs.webkit.org/show_bug.cgi?id=12389 60395 Chinese decoding error at hk.antispam.yahoo.com 60396 60397 Test: fast/encoding/noscript-in-head.html 60398 60399 * loader/TextResourceDecoder.cpp: 60400 (WebCore::TextResourceDecoder::checkForHeadCharset): We were already allowing 60401 NOSCRIPT tags in head, let's actually skip over their content. 60402 60403 2007-01-26 Geoffrey Garen <ggaren (a] apple.com> 60404 60405 Reviewed by Maciej Stachowiak. 60406 60407 Fixed <rdar://problem/4608404> WebScriptObject's _executionContext lack 60408 of ownership policy causes crashes (e.g., in Dashcode) 60409 60410 Added RootObject ref-counting goodness. 60411 60412 * page/mac/FrameMac.h: 60413 * page/mac/FrameMac.mm: 60414 (WebCore::FrameMac::cleanupPluginObjects): Invalidate our RootObjects 60415 instead of detroying them. Track _bindingRootObject separately from the 60416 rest of our RootObjects, since it has its own variable. 60417 60418 * page/mac/WebCoreFrameBridge.mm: 60419 (createRootObject): Use the Frame's new, more encapsulated function to 60420 create a RootObject. 60421 60422 * bindings/objc/WebScriptObject.mm: Nixed rootObject setters, since they 60423 were unused and they complicated reference-counting. 60424 60425 2007-01-26 David Kilzer <ddkilzer (a] webkit.org> 60426 60427 Reviewed by Eric. 60428 60429 Release build fix. 60430 60431 * ksvg2/svg/SVGAnimationElement.cpp: 60432 (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast): Added static cast 60433 to unsigned when calculating flooredValueIndex. 60434 60435 2007-01-26 Darin Adler <darin (a] apple.com> 60436 60437 - checked in slightly newer revision of the patch below 60438 60439 * css/CSSComputedStyleDeclaration.cpp: 60440 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 60441 Grouped all the unimplemented values at the bottom. Fixed the ifdef for 60442 CSS_PROP__WEBKIT_DASHBOARD_REGION so that it compiles on all platforms. 60443 60444 * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Removed default 60445 case and added type so that the compiler warns about missing properties. 60446 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): Ditto. 60447 60448 2007-01-26 Darin Adler <darin (a] apple.com> 60449 60450 Reviewed by Beth. 60451 60452 - fix http://bugs.webkit.org/show_bug.cgi?id=12412 60453 "unimplemented propertyID: 46" seen at dojotoolkit.org 60454 60455 Covered by fast/css/computed-style.html 60456 60457 * css/CSSPropertyNames.in: Sorted the file into two separate sections, one 60458 for properties without the -webkit- prefix and another for properties with. 60459 60460 * css/makeprop: Generate a CSSPropertyID enum instead of a set of #defines. 60461 Removed unused CSS_PROP_MIN and CSS_PROP_MAX. Renamed CSS_PROP_TOTAL to 60462 numCSSProperties and changed it to a const int instead of #define. 60463 Added a declaration of getPropertyName in the header. Changed the return 60464 type of getPropertyName to const char* and the parameter type to CSSPropertyID. 60465 60466 * css/CSSComputedStyleDeclaration.cpp: Sort the lists of properties in 60467 an easier to maintain order -- properties without a WebKit prefix first. 60468 (WebCore::valueForLength): Changed return value to PassRefPtr. 60469 (WebCore::valueForMaxLength): Ditto. 60470 (WebCore::valueForBorderStyle): Ditto. 60471 (WebCore::valueForTextAlign): Ditto. 60472 (WebCore::valueForAppearance): Added. 60473 (WebCore::valueForMarginCollapse): Added. 60474 (WebCore::valueForShadow): Changed return value to PassRefPtr. 60475 (WebCore::getPositionOffsetValue): Ditto. 60476 (WebCore::currentColorOrValidColor): Ditto. 60477 (WebCore::CSSComputedStyleDeclaration::cssText): Added cast since 60478 getPropertyName now takes an enum value. 60479 (WebCore::primitiveValueFromLength): Changed return value to PassRefPtr. 60480 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 60481 Added cast to CSSPropertyID so that gcc will detect missing enums in the 60482 switch statement. Simplified the background-size and border-spacing 60483 implementations so they don't have local variables. Added lots of cases 60484 to the switch statement for unimplemented properties. Implemented the 60485 outline-width, box-sizing, -webkit-appearance, -webkit-rtl-ordering, 60486 -webkit-user-drag, and -webkit-user-select properties. 60487 (WebCore::CSSComputedStyleDeclaration::item): Added cast since 60488 getPropertyName now takes an enum value. 60489 60490 * css/CSSMutableStyleDeclaration.cpp: Removed declaration of getPropertyName. 60491 (WebCore::CSSMutableStyleDeclaration::item): Added cast since 60492 getPropertyName now takes an enum value. 60493 60494 * css/CSSProperty.cpp: Removed declaration of getPropertyName. 60495 (WebCore::CSSProperty::cssText): Added cast since 60496 getPropertyName now takes an enum value and returns a const char*. 60497 60498 * css/CSSStyleDeclaration.cpp: Removed declaration of getPropertyName. 60499 (WebCore::CSSStyleDeclaration::getPropertyShorthand): Added cast since 60500 getPropertyName now takes an enum value and returns a const char*. 60501 60502 2007-01-26 Alice Liu <alice.liu (a] apple.com> 60503 60504 Reviewed by Brady. 60505 60506 Fixed <rdar://problem/4838076> CrashTracer: 10 crashes in Mail at com.apple.WebCore: WTF::HashMap<WebCore::String 60507 60508 * loader/DocLoader.cpp: 60509 (WebCore::DocLoader::requestResource): 60510 Added nil check around resource from cache. 60511 60512 2007-01-26 Adam Roben <aroben (a] apple.com> 60513 60514 Reviewed by Oliver. 60515 60516 Build fix. 60517 60518 * ksvg2/svg/SVGAnimationElement.cpp: 60519 (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast): 60520 Keep index variables as unsigned until we need to convert to float. 60521 60522 2007-01-26 Alice Liu <alice.liu (a] apple.com> 60523 60524 Reviewed by Ada. 60525 60526 Fixed <rdar://problem/4919097> REGRESSION: Ctrl-Y fails to yank (11076) 60527 60528 * editing/Editor.cpp: 60529 (WebCore::Editor::deleteWithDirection): 60530 If there's no selection, locally create a range that is to the end of the granularity unit and pass that to deleteRange(). 60531 60532 2007-01-26 Sam Weinig <sam (a] webkit.org> 60533 60534 Reviewed by Maciej. 60535 60536 Qt build fix. 60537 60538 * page/qt/EventHandlerQt.cpp: 60539 60540 2007-01-26 Matt Perry <mpcomplete (a] chromium.org> 60541 60542 Reviewed by Hyatt. 60543 60544 Fix so that we only relayout frameset children on calls to layout. 60545 60546 * page/FrameView.cpp: 60547 (WebCore::FrameView::layout): 60548 60549 2007-01-26 Oliver Hunt <oliver (a] apple.com> 60550 60551 Build Fix 60552 60553 * ksvg2/svg/ColorDistance.cpp: 60554 * ksvg2/svg/SVGAnimationElement.cpp: 60555 (WebCore::SVGAnimationElement::handleTimerEvent): 60556 60557 2007-01-26 Eric Seidel <eric (a] webkit.org> 60558 60559 Reviewed by olliej. 60560 60561 Add support for calcMode, keyTimes and (nearly) keySplines. 60562 http://bugs.webkit.org/show_bug.cgi?id=12350 60563 Re-architect much of the animation system to remove huge sections of code. 60564 Added new ColorDistance, SVGTransformDistance to simplify animateColor, animateTransform calculations. 60565 I also added basic <animateMotion> support since it was so easy w/ the new architecture. 60566 60567 Adding manual animation tests until bug 12074 is fixed. 60568 60569 * WebCore.xcodeproj/project.pbxproj: 60570 * ksvg2/misc/SVGTimer.cpp: 60571 (WebCore::SVGTimer::applyAnimations): 60572 * ksvg2/svg/ColorDistance.cpp: Added. 60573 (WebCore::ColorDistance::ColorDistance): 60574 (WebCore::clampColorValue): 60575 (WebCore::ColorDistance::scaledDistance): 60576 (WebCore::ColorDistance::addColorsAndClamp): 60577 (WebCore::ColorDistance::addToColorAndClamp): 60578 (WebCore::ColorDistance::isZero): 60579 (WebCore::ColorDistance::distance): 60580 * ksvg2/svg/ColorDistance.h: Added. 60581 * ksvg2/svg/SVGAnimateColorElement.cpp: 60582 (WebCore::SVGAnimateColorElement::SVGAnimateColorElement): 60583 (WebCore::SVGAnimateColorElement::updateAnimationBaseValueFromElement): 60584 (WebCore::SVGAnimateColorElement::applyAnimatedValueToElement): 60585 (WebCore::SVGAnimateColorElement::updateAnimatedValue): 60586 (WebCore::SVGAnimateColorElement::calculateFromAndToValues): 60587 * ksvg2/svg/SVGAnimateColorElement.h: 60588 (WebCore::SVGAnimateColorElement::contextElement): 60589 * ksvg2/svg/SVGAnimateElement.h: 60590 (WebCore::SVGAnimateElement::updateAnimatedValue): 60591 (WebCore::SVGAnimateElement::calculateFromAndToValues): 60592 * ksvg2/svg/SVGAnimateMotionElement.cpp: 60593 (WebCore::SVGAnimateMotionElement::hasValidTarget): 60594 (WebCore::SVGAnimateMotionElement::updateAnimatedValue): 60595 (WebCore::parsePoint): 60596 (WebCore::SVGAnimateMotionElement::calculateFromAndToValues): 60597 (WebCore::SVGAnimateMotionElement::updateAnimationBaseValueFromElement): 60598 (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement): 60599 * ksvg2/svg/SVGAnimateMotionElement.h: 60600 * ksvg2/svg/SVGAnimateTransformElement.cpp: 60601 (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement): 60602 (WebCore::SVGAnimateTransformElement::updateAnimatedValue): 60603 (WebCore::SVGAnimateTransformElement::updateAnimationBaseValueFromElement): 60604 (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement): 60605 (WebCore::SVGAnimateTransformElement::calculateFromAndToValues): 60606 (WebCore::SVGAnimateTransformElement::parseTransformValue): 60607 * ksvg2/svg/SVGAnimateTransformElement.h: 60608 (WebCore::SVGAnimateTransformElement::contextElement): 60609 * ksvg2/svg/SVGAnimationElement.cpp: 60610 (WebCore::SVGAnimationElement::parseKeyNumbers): 60611 (WebCore::parseValues): 60612 (WebCore::parseKeySplines): 60613 (WebCore::SVGAnimationElement::parseMappedAttribute): 60614 (WebCore::SVGAnimationElement::targetAttributeAnimatedValue): 60615 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): 60616 (WebCore::SVGAnimationElement::detectAnimationMode): 60617 (WebCore::adjustPercentagePastForKeySplines): 60618 (WebCore::SVGAnimationElement::valueIndexAndPercentagePastForDistance): 60619 (WebCore::SVGAnimationElement::calculateTotalDistance): 60620 (WebCore::caculateValueIndexForKeyTimes): 60621 (WebCore::SVGAnimationElement::isValidAnimation): 60622 (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast): 60623 (WebCore::SVGAnimationElement::updateAnimationBaseValueFromElement): 60624 (WebCore::SVGAnimationElement::applyAnimatedValueToElement): 60625 (WebCore::SVGAnimationElement::handleTimerEvent): 60626 (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds): 60627 * ksvg2/svg/SVGAnimationElement.h: 60628 * ksvg2/svg/SVGParserUtilities.cpp: 60629 (WebCore::SVGPolyParser::parsePoints): 60630 * ksvg2/svg/SVGParserUtilities.h: 60631 * ksvg2/svg/SVGSetElement.cpp: 60632 * ksvg2/svg/SVGSetElement.h: 60633 (WebCore::SVGSetElement::updateAnimatedValue): 60634 (WebCore::SVGSetElement::calculateFromAndToValues): 60635 * ksvg2/svg/SVGTransform.cpp: 60636 (SVGTransform::type): 60637 (SVGTransform::translate): 60638 (SVGTransform::scale): 60639 (SVGTransform::setSkewX): 60640 (SVGTransform::setSkewY): 60641 * ksvg2/svg/SVGTransform.h: 60642 (WebCore::operator==): 60643 (WebCore::operator!=): 60644 * ksvg2/svg/SVGTransformDistance.cpp: Added. 60645 (WebCore::SVGTransformDistance::SVGTransformDistance): 60646 (WebCore::SVGTransformDistance::scaledDistance): 60647 (WebCore::SVGTransformDistance::addSVGTransforms): 60648 (WebCore::SVGTransformDistance::addSVGTransform): 60649 (WebCore::SVGTransformDistance::addToSVGTransform): 60650 (WebCore::SVGTransformDistance::isZero): 60651 (WebCore::SVGTransformDistance::distance): 60652 * ksvg2/svg/SVGTransformDistance.h: Added. 60653 * ksvg2/svg/SVGTransformList.cpp: 60654 (SVGTransformList::concatenateForType): 60655 * ksvg2/svg/SVGTransformList.h: 60656 * manual-tests/animation/animateColor-by.svg: Added. 60657 * manual-tests/animation/animateColor-from-by.svg: Added. 60658 * manual-tests/animation/animateColor-repeat-indefinite.svg: Added. 60659 * manual-tests/animation/animateColor-to-from.svg: Added. 60660 * manual-tests/animation/animateColor-to.svg: Added. 60661 * manual-tests/animation/animateColor-values-simple.svg: Added. 60662 * manual-tests/animation/animateMotion-to.svg: Added. 60663 * manual-tests/animation/animateTransform-keyTimes.svg: Added. 60664 * manual-tests/animation/animateTransform-repeat-once.svg: Added. 60665 60666 2007-01-26 Beth Dakin <bdakin (a] apple.com> 60667 60668 Reviewed by Darin. 60669 60670 Fix for <rdar://problem/4956565> REGRESSION: After scrolling frame, 60671 hovering over link in this frame doesn't change cursor to pointing 60672 hand 60673 60674 The mouseMove event was not being propagated correctly after using 60675 the mouse to scroll the frame because m_mousePressed was never 60676 getting set to false. 60677 60678 * page/EventHandler.cpp: 60679 (WebCore::EventHandler::handleMousePressEvent): This code does not 60680 belong here. 60681 * page/EventHandler.h: lastEventIsMouseUp() is only ever relevant 60682 in EventHandlerMac, so it can just be a static function there. 60683 * page/mac/EventHandlerMac.mm: 60684 (WebCore::lastEventIsMouseUp): Make this static. 60685 (WebCore::EventHandler::passMouseDownEventToWidget): Here is where 60686 we need to set m_mousePressed to false if lastEventIsMouseUp() is 60687 true. 60688 60689 2007-01-26 David Hyatt <hyatt (a] apple.com> 60690 60691 Fix for style regression caused by strictness checking of the number of properties. This caused code like: 60692 "width: 20 px" to fail, because we interpreted it as two values and rejected it. Our old code allowed 20 to be 60693 used like a pixel value and then ignored the orphaned unit. 60694 60695 This patch actually scans the list of values looking for orphaned units and reattaches them to the numeric 60696 values that they should correspond to. This means rules like "width: 5 em" will now work in quirks mdoe and 60697 the "em" unit type will be honored. 60698 60699 Reviewed by beth 60700 60701 * WebCore.xcodeproj/project.pbxproj: 60702 * css/cssparser.cpp: 60703 (WebCore::unitFromString): 60704 (WebCore::CSSParser::checkForOrphanedUnits): 60705 (WebCore::CSSParser::parseValue): 60706 * css/cssparser.h: 60707 (WebCore::ValueList::valueAt): 60708 (WebCore::ValueList::deleteValueAt): 60709 60710 2007-01-26 George Staikos <staikos (a] kde.org> 60711 60712 Reviewed by Zack. 60713 60714 Qt implementation. 60715 60716 * WebCore.pro: 60717 * platform/qt/FontPlatformDataQt.cpp: 60718 (WebCore::FontPlatformData::FontPlatformData): 60719 * platform/qt/ScrollViewQt.cpp: 60720 (WebCore::ScrollView::scrollbarUnderMouse): 60721 60722 2007-01-26 Brady Eidson <beidson (a] apple.com> 60723 60724 Reviewed by Anders' rubberstamp 60725 60726 Warning about unreferenced formal parameter caused compile to fail 60727 60728 * platform/cf/RetainPtr.h: 60729 (WebCore::adoptCFReference): 60730 60731 2007-01-26 Darin Adler <darin (a] apple.com> 60732 60733 Reviewed by Brady. 60734 60735 - fix <rdar://problem/4956688> move Mac-specific part of icon code into IconMac 60736 - fix a GC-compatibility problem in the icon code I noticed by code inspection 60737 60738 * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): Removed Mac-specific 60739 path check -- that's in newIconForFile now. 60740 60741 * platform/graphics/Icon.h: Changed the image to be a RetainPtr. The old code was 60742 using -[NSObject retain] which is not good enough for a pointer in a C++ object. 60743 * platform/graphics/mac/IconMac.mm: 60744 (WebCore::Icon::Icon): Got rid of unneeded code to do what RetainPtr does for us. 60745 (WebCore::Icon::~Icon): Ditto. 60746 (WebCore::Icon::newIconForFile): Added check for non-absolute file names. Updated 60747 for use of RetainPtr. Use constructor that takes NSImage. 60748 (WebCore::Icon::paint): Add get() calls needed now that we are using a RetainPtr. 60749 60750 * WebCore.xcodeproj/project.pbxproj: Let Xcode do its thing. 60751 60752 2007-01-26 Alexey Proskuryakov <ap (a] webkit.org> 60753 60754 Reviewed by Maciej. 60755 60756 http://bugs.webkit.org/show_bug.cgi?id=12385 60757 Assertion failure when loading subresources from "data:" frames 60758 60759 Test: fast/loader/opaque-base-url.html 60760 60761 * platform/KURL.cpp: 60762 (WebCore::KURL::init): Make the URL invalid if it's relative, but has an opaque or empty base. 60763 60764 2007-01-26 Matt Perry <mpcomplete (a] chromium.org> 60765 60766 Reviewed by Darin. 60767 60768 * page/EventHandler.cpp: 60769 (WebCore::EventHandler::handleMouseMoveEvent): 60770 Removed a call to invalidateClick(), since we don't want to cancel a 60771 click if the mouse moves. 60772 60773 2007-01-26 Darin Adler <darin (a] apple.com> 60774 60775 * css/MediaQueryEvaluator.cpp: 60776 (WebCore::MediaQueryEvaluator::mediaTypeMatchSpecific): 60777 Oops, forgot a !. 60778 60779 2007-01-26 Darin Adler <darin (a] apple.com> 60780 60781 Patch by Nate Begeman. 60782 Reviewed by Darin and Maciej. 60783 60784 - <rdar://problem/4946877> Avoid unnecessary allocations in CSS, patch attached (12401) 60785 http://bugs.webkit.org/show_bug.cgi?id=12401 60786 60787 * css/MediaQueryEvaluator.h: Add mediaTypeMatchSpecific, a function that 60788 takes a char* to avoid creating and destroying a String for simple media 60789 type queries. 60790 * css/MediaQueryEvaluator.cpp: 60791 (WebCore::MediaQueryEvaluator::mediaTypeMatchSpecific): Added. Besides 60792 avoiding the conversion to String, this also doesn't have the special 60793 case code to handle "" and "all". 60794 60795 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::matchUARules): 60796 Call mediaTypeMatchSpecific here when deciding whether to use the 60797 print version of the user agent style sheet. 60798 60799 * loader/Cache.cpp: (WebCore::Cache::requestResource): Don't convert to 60800 a string and back to a KURL when calling createResource. Avoids reparsing 60801 the URL string. 60802 60803 2007-01-26 Zack Rusin <zrusin (a] trolltech.com> 60804 60805 Reviewed by Lars 60806 60807 Add history related classes to the project file. 60808 60809 * WebCore.pro: 60810 60811 2007-01-26 Zack Rusin <zack (a] kde.org> 60812 60813 Reviewed by Lars 60814 60815 Introduce PlatformScrollBar and try to make 60816 the scrollbar behavior a little more sane. 60817 60818 * WebCore.pro: 60819 * platform/qt/PlatformScrollBarQt.cpp: Added. 60820 (WebCore::Scrollbar::Scrollbar): 60821 (WebCore::Scrollbar::setSteps): 60822 (WebCore::Scrollbar::scroll): 60823 (WebCore::Scrollbar::setValue): 60824 (WebCore::Scrollbar::setProportion): 60825 (WebCore::PlatformScrollbar::PlatformScrollbar): 60826 (WebCore::PlatformScrollbar::~PlatformScrollbar): 60827 (WebCore::PlatformScrollbar::width): 60828 (WebCore::PlatformScrollbar::height): 60829 (WebCore::PlatformScrollbar::setEnabled): 60830 (WebCore::PlatformScrollbar::paint): 60831 (WebCore::PlatformScrollbar::updateThumbPosition): 60832 (WebCore::PlatformScrollbar::updateThumbProportion): 60833 (WebCore::PlatformScrollbar::setRect): 60834 * platform/qt/ScrollViewQt.cpp: 60835 (WebCore::ScrollView::addChild): 60836 * platform/qt/TemporaryLinkStubs.cpp: 60837 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 60838 60839 2007-01-26 Mitz Pettel <mitz (a] webkit.org> 60840 60841 Reviewed by Darin. 60842 60843 - fix http://bugs.webkit.org/show_bug.cgi?id=11109 60844 REGRESSION (r15471): menus are offset on eink.com 60845 <rdar://problem/4824760> 60846 60847 Changed offset{Left,Top} to match Firefox. If the body element is statically 60848 positioned, it is still returned as the offsetParent of elements whose containing 60849 block is the initial containing block (the root), but their offset{Left,Top} are 60850 relative to the root. If the body element is positioned, then offsets are relative 60851 to it. The body's own offset{Left,Top} are always 0. 60852 60853 Test: fast/dom/Element/offsetLeft-offsetTop-body-quirk.html 60854 60855 * rendering/RenderObject.cpp: 60856 (WebCore::RenderObject::offsetLeft): 60857 (WebCore::RenderObject::offsetTop): 60858 60859 2007-01-26 Mitz Pettel <mitz (a] webkit.org> 60860 60861 Reviewed by Darin and Maciej. 60862 60863 - fix http://bugs.webkit.org/show_bug.cgi?id=10983 60864 REGRESSION (r12290): Drop shadow of flickr photo note is positioned incorrectly the second time it's shown 60865 60866 Test: fast/dynamic/staticY.html 60867 60868 * rendering/RenderBlock.cpp: 60869 (WebCore::RenderBlock::layoutPositionedObjects): Avoid marking the object's 60870 parents, since they have already been laid out. 60871 * rendering/RenderBox.cpp: 60872 (WebCore::RenderBox::setStaticY): Added a call to setChildNeedsLayout() to 60873 ensure relayout by this box's container (third and fourth cases in the 60874 layout test). 60875 * rendering/RenderBox.h: 60876 * rendering/RenderObject.cpp: 60877 (WebCore::RenderObject::markContainingBlocksForLayout): For positioned objects 60878 with static y, also mark the object's parent to ensure that it recomputes 60879 the static y value (first case in the layout test). 60880 60881 2007-01-26 Lars Knoll <lars (a] trolltech.com> 60882 60883 Reviewed by Zack 60884 60885 Get rid of FrameQtClient. It's unused since we moved over 60886 to the loader. 60887 60888 * WebCore.pro: 60889 * page/qt/FrameQt.cpp: 60890 (WebCore::FrameQt::FrameQt): 60891 * page/qt/FrameQt.h: 60892 * page/qt/FrameQtClient.cpp: Removed. 60893 * page/qt/FrameQtClient.h: Removed. 60894 * platform/network/ResourceHandleInternal.h: 60895 * platform/network/qt/ResourceHandleManagerQt.cpp: 60896 (WebCore::RequestQt::RequestQt): 60897 (WebCore::ResourceHandleManager::add): 60898 * platform/network/qt/ResourceHandleManagerQt.h: 60899 * platform/network/qt/ResourceHandleQt.cpp: 60900 (WebCore::ResourceHandle::start): 60901 60902 2007-01-26 Zack Rusin <zack (a] kde.org> 60903 60904 Fix the compile 60905 60906 * WebCore.pro: 60907 60908 2007-01-26 Adam Roben <aroben (a] apple.com> 60909 60910 Reviewed by Maciej. 60911 60912 Fixed <rdar://problem/4946499>, which made it impossible to tab 60913 forward into the left frame of tivofaq.com after tabbing out of the 60914 document. 60915 60916 * page/FocusController.cpp: 60917 (WebCore::FocusController::advanceFocus): Clear the focused frame 60918 before passing off focus to Chrome so that when we re-enter the 60919 document we start at the main frame instead of the last focused frame. 60920 60921 2007-01-25 Rob Buis <buis (a] kde.org> 60922 60923 Reviewed by olliej. 60924 60925 http://bugs.webkit.org/show_bug.cgi?id=11911 60926 SVG exhibits double-text-selection behavior 60927 60928 Fix selection height of the inline text boxes for svg. 60929 60930 * WebCore.xcodeproj/project.pbxproj: 60931 * rendering/InlineTextBox.cpp: 60932 (WebCore::InlineTextBox::selectionTop): 60933 (WebCore::InlineTextBox::selectionHeight): 60934 (WebCore::InlineTextBox::selectionRect): 60935 (WebCore::InlineTextBox::paintSelection): 60936 (WebCore::InlineTextBox::paintMarkedTextBackground): 60937 (WebCore::InlineTextBox::paintCustomHighlight): 60938 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 60939 (WebCore::InlineTextBox::paintTextMatchMarker): 60940 * rendering/InlineTextBox.h: 60941 * rendering/RenderSVGInlineText.cpp: 60942 (WebCore::RenderSVGInlineText::createInlineTextBox): 60943 * rendering/RenderSVGInlineText.h: 60944 * rendering/RenderText.cpp: 60945 (WebCore::RenderText::createInlineTextBox): 60946 (WebCore::RenderText::createInlineBox): 60947 * rendering/RenderText.h: 60948 * rendering/SVGInlineTextBox.cpp: Added. 60949 (WebCore::SVGInlineTextBox::selectionTop): 60950 (WebCore::SVGInlineTextBox::selectionHeight): 60951 * rendering/SVGInlineTextBox.h: Added. 60952 (WebCore::SVGInlineTextBox::SVGInlineTextBox): 60953 60954 2007-01-26 Zack Rusin <zack (a] kde.org> 60955 60956 Reviewed by Lars 60957 60958 Fix drawing of tiled images. 60959 60960 * WebCore.pro: 60961 * platform/graphics/qt/ImageQt.cpp: 60962 (WebCore::BitmapImage::drawPattern): 60963 60964 2007-01-26 Zack Rusin <zack (a] kde.org> 60965 60966 Reviewed by Lars 60967 60968 Fixing image loading - we decode QImages 60969 but render QPixmaps now. Implement Icon 60970 class 60971 60972 * platform/graphics/BitmapImage.h: 60973 * platform/graphics/Icon.h: 60974 * platform/graphics/Image.h: 60975 (WebCore::Image::getPixmap): 60976 * platform/graphics/qt/IconQt.cpp: 60977 (WebCore::Icon::Icon): 60978 (WebCore::Icon::~Icon): 60979 (WebCore::Icon::newIconForFile): 60980 (WebCore::Icon::paint): 60981 * platform/graphics/qt/ImageDecoderQt.cpp: 60982 (WebCore::ImageDecoderQt::ImageData::ImageData): 60983 (WebCore::ImageDecoderQt::ReadContext::read): 60984 (WebCore::ImageDecoderQt::ReadContext::readImageLines): 60985 (WebCore::ImageDecoderQt::reset): 60986 (WebCore::ImageDecoderQt::imageAtIndex): 60987 * platform/graphics/qt/ImageDecoderQt.h: 60988 * platform/graphics/qt/ImageQt.cpp: 60989 (WebCore::BitmapImage::drawPattern): 60990 (WebCore::BitmapImage::getPixmap): 60991 * platform/graphics/qt/ImageSourceQt.cpp: 60992 (WebCore::ImageSource::createFrameAtIndex): 60993 60994 2007-01-25 Justin Garcia <justin.garcia (a] apple.com> 60995 60996 Reviewed by oliver 60997 60998 <http://bugs.webkit.org/show_bug.cgi?id=12409> 60999 REGRESSION (r19039): Drag caret isn't cleared after a drop 61000 61001 No new layout tests because the regression was 61002 caught by current layout tests. 61003 61004 * page/DragController.cpp: 61005 (WebCore::DragController::concludeDrag): Clear the drag caret. 61006 61007 2007-01-25 Darin Adler <darin (a] apple.com> 61008 61009 Reviewed and landed by Geoffrey Garen. 61010 61011 - fix http://bugs.webkit.org/show_bug.cgi?id=12342 61012 REGRESSION: destroying a frame from its own script causes various crashes 61013 61014 * bindings/js/kjs_window.cpp: (KJS::ScheduledAction::execute): 61015 Use RefPtr for the frame and the interpreter object so they don't get deleted 61016 out from underneath us. 61017 61018 * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate): 61019 Add a check for a page of 0. This was the only call site for the 61020 addMessageToConsole function that did not have a check for a page of 0. 61021 61022 2007-01-25 Dirk Mueller <mueller (a] kde.org> 61023 61024 Reviewed and merged by Beth. 61025 61026 Fix for <rdar://problem/4921692> not processing comments inside a 61027 title element leads to XSS (for at least BlogSpot) 61028 61029 This is equivalent to commit 626791 in the KDE tree. Basically, the 61030 patch allows comment parsing in titles to avoid capturing a 61031 <script> tag by accident. 61032 61033 * html/HTMLTokenizer.cpp: 61034 (WebCore::HTMLTokenizer::parseSpecial): 61035 (WebCore::HTMLTokenizer::parseComment): 61036 61037 2007-01-25 Darin Adler <darin (a] apple.com> 61038 61039 * ksvg2/svg/SVGPreserveAspectRatio.cpp: Add a couple of comments. 61040 61041 2007-01-25 Darin Adler <darin (a] apple.com> 61042 61043 Reviewed by Maciej. 61044 61045 - fix http://bugs.webkit.org/show_bug.cgi?id=12365 61046 Reproducible crash in WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio 61047 in svg/W3C-SVG-1.1/animate-elem-40-t.svg under guard malloc 61048 - fix bug where the parser accepts "meet" or "slice" as an entire string 61049 - fix bug where "slice" is ignored if the old alignment was "none" 61050 even if the newly-parsed alignment is something other than "none", and 61051 "slice" is not ignored if the old alignment was not "none", but the 61052 newly-parsed alignment is "none" 61053 - optimize to only call notifyAttributeChange if the attribute actually changed 61054 61055 Test: svg/dom/preserve-aspect-ratio-parser-test.html 61056 61057 * ksvg2/svg/SVGPreserveAspectRatio.cpp: 61058 (WebCore::checkString): Added an overload for using char* constants which is 61059 much simpler than the old one, and almost as fast. 61060 (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): Fail if there's no 61061 more text after "defer". Fail if there's neither "none" nor an x/y specified. 61062 Check that there's more text before looking at the "m" and "s" for "meet" and 61063 "slice". Merged the failure and success cases. Only call notifyAttributeChange 61064 if something changed. 61065 61066 I think all the "optimized" code where we check the first character before 61067 calling checkString isn't really helpful, but I decided to leave it as-is 61068 for now. 61069 61070 2007-01-25 Lars Knoll <lars (a] trolltech.com> 61071 61072 Reviewed by Zack 61073 61074 Trivial implementation of getMIMETypeForExtension. 61075 Use the above method in the ResourceHandleManager to set 61076 a mimetype on Resources that don't have one set (which 61077 includes everything loaded from local disk). 61078 61079 Should fix quite a few test cases :) 61080 61081 * platform/network/qt/ResourceHandleManagerQt.cpp: 61082 (WebCore::ResourceHandleManager::receivedResponse): 61083 * platform/qt/MimeTypeRegistryQt.cpp: 61084 (WebCore::): 61085 (WebCore::MimeTypeRegistry::getMIMETypeForExtension): 61086 61087 2007-01-25 Harald Fernengel <harald (a] trolltech.com> 61088 61089 Reviewed by zack 61090 61091 Compile on platforms where qreal is not a double. 61092 61093 * platform/graphics/qt/AffineTransformQt.cpp: 61094 (WebCore::AffineTransform::map): 61095 61096 2007-01-25 Zack Rusin <zack (a] kde.org> 61097 61098 Reviewed by Lars. 61099 61100 Add wheel event handling and make explicit usage 61101 of the EventHandler. 61102 61103 * WebCore.pro: 61104 * page/qt/EventHandlerQt.cpp: 61105 (WebCore::EventHandler::focusDocumentView): 61106 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 61107 (WebCore::EventHandler::passMouseDownEventToWidget): 61108 (WebCore::EventHandler::lastEventIsMouseUp): 61109 (WebCore::EventHandler::handleMouseUp): 61110 * platform/PlatformWheelEvent.h: 61111 * platform/qt/ScrollViewCanvasQt.cpp: 61112 (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt): 61113 (WebCore::ScrollViewCanvasQt::mousePressEvent): 61114 (WebCore::ScrollViewCanvasQt::wheelEvent): 61115 (WebCore::ScrollViewCanvasQt::dragEnterEvent): 61116 (WebCore::ScrollViewCanvasQt::dragLeaveEvent): 61117 (WebCore::ScrollViewCanvasQt::dragMoveEvent): 61118 * platform/qt/ScrollViewCanvasQt.h: 61119 * platform/qt/ScrollViewQt.cpp: 61120 (WebCore::ScrollView::wheelEvent): 61121 * platform/qt/WheelEventQt.cpp: Added. 61122 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 61123 61124 2007-01-25 Rob Buis <buis (a] kde.org> 61125 61126 Reviewed by Maciej. 61127 61128 http://bugs.webkit.org/show_bug.cgi?id=12391 61129 SVG containers with viewports should respect overflow when hit testing 61130 61131 Take into account the overflow property when hit testing <svg>. 61132 61133 * rendering/RenderSVGContainer.cpp: 61134 (WebCore::RenderSVGContainer::nodeAtPoint): 61135 61136 2007-01-23 Alice Liu <alice.liu (a] apple.com> 61137 61138 Reviewed by Maciej. 61139 61140 fixed <rdar://problem/4808039> REGRESSION: eBay ID check never completes 61141 Also known as http://bugs.webkit.org/show_bug.cgi?id=11230 61142 61143 * bindings/js/kjs_window.cpp: 61144 It's not necessary to check safeScript when doing a location.replace, .reload, or .assign 61145 (KJS::Location::getOwnPropertySlot): 61146 (KJS::LocationFunc::callAsFunction): 61147 61148 2007-01-25 Alice Liu <alice.liu (a] apple.com> 61149 61150 Reviewed by Geoff and Adele. 61151 61152 fixed <rdar://problem/4866655> REGRESSION: Copying out of Calculator & CIFIlterWidget is broken on 9A320 61153 61154 * editing/Editor.cpp: 61155 (WebCore::Editor::canDHTMLCut): 61156 (WebCore::Editor::canDHTMLCopy): 61157 (WebCore::Editor::tryDHTMLCopy): 61158 (WebCore::Editor::tryDHTMLCut): 61159 Reverting some mistakes made in r17504: 61160 Anything in r17503 that used to call mayDHTML* still calls canDHTML* as it was changed in r17504, where canDHTML* now calls !selectionController::isInPasswordField instead of editor::canCopy 61161 Anything else in r17503 that used to call mayCopy now calls (!)selectionController::isInPasswordField. 61162 61163 * editing/JSEditor.cpp: 61164 copy via JS should be enabled as long as selection is not in a password field. a range selection shouldn't be required. 61165 61166 2007-01-24 Adele Peterson <adele (a] apple.com> 61167 61168 Reviewed by Brady and Oliver. 61169 61170 Fix for <rdar://problem/4953504> When the keydown event changes focus, the keypress event should go to the new focused node 61171 61172 Test: fast/events/keydown-keypress-focus-change.html 61173 61174 * page/EventHandler.cpp: 61175 (WebCore::eventTargetNodeForDocument): Added for convenience. 61176 (WebCore::EventHandler::keyEvent): Moved from EventHandlerMac.mm. After dispatching the keyDown event, 61177 recheck the target node for the keyPress event in case its changed. 61178 * page/EventHandler.h: 61179 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::keyEvent): 61180 Moved the bulk of this code to EventHandler.cpp. 61181 61182 2007-01-24 Geoffrey Garen <ggaren (a] apple.com> 61183 61184 New forwarding header. No review necessary. 61185 61186 * ForwardingHeaders/kjs/ustring.h: Added. 61187 61188 2007-01-24 Oliver Hunt <oliver (a] apple.com> 61189 61190 Reviewed by Maciej. 61191 61192 Migrating more drag state information to WebCore 61193 61194 * page/DragController.cpp: 61195 * page/DragController.h: 61196 (WebCore::DragController::dragOperation): 61197 (WebCore::DragController::setDraggingImageURL): 61198 (WebCore::DragController::draggingImageURL): 61199 (WebCore::DragController::setDragOffset): 61200 (WebCore::DragController::dragOffset): 61201 61202 2007-01-24 Darin Adler <darin (a] apple.com> 61203 61204 Reviewed by Adele. 61205 61206 - fix http://bugs.webkit.org/show_bug.cgi?id=12331 61207 REGRESSION(r18951): Selecting text in a textarea makes the page scroll 61208 61209 Test: fast/events/autoscroll.html 61210 61211 * rendering/RenderLayer.cpp: (WebCore::RenderLayer::autoscroll): 61212 Adjust position to be relative to the object's corner for the hit test, but not for the 61213 scrollRectToVisible call. The previous version accidentally re-used the version that was 61214 adjusted for the hit test. 61215 61216 2007-01-24 Beth Dakin <bdakin (a] apple.com> 61217 61218 Reviewed by Geoff. 61219 61220 Fix for <rdar://problem/4948128> REGRESSION: A crash occurs at 61221 WebCore::Frame::view() after completing a query at mapquest.com 61222 then switching to Bookmarks view 61223 61224 This is just a null-check. If you are in strict mode and ask for 61225 the clientWidth or clientHeight after the document was removed from 61226 it's parent, we no longer have a frameView, so we have to null- 61227 check it. I added null checks for the FrameView in some other 61228 places where it seems like we could potentially run into this 61229 issue. 61230 61231 * bindings/objc/DOMHTML.mm: 61232 (-[DOMHTMLInputElement _rectOnScreen]): 61233 * bridge/mac/WebCoreAXObject.mm: 61234 (-[WebCoreAXObject accessibilityAttributeValue:]): 61235 * dom/ContainerNode.cpp: 61236 (WebCore::ContainerNode::getUpperLeftCorner): 61237 * dom/Element.cpp: 61238 (WebCore::Element::clientWidth): Actual bug fix here! 61239 (WebCore::Element::clientHeight): And here! 61240 * ksvg2/svg/SVGLength.cpp: 61241 (WebCore::SVGLength::PercentageOfViewport): 61242 * loader/FrameLoader.cpp: 61243 (WebCore::FrameLoader::createJavaAppletWidget): 61244 * page/mac/WebCoreFrameBridge.mm: 61245 (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]): 61246 * rendering/RenderLayer.cpp: 61247 (WebCore::RenderLayer::windowClipRect): 61248 (WebCore::RenderLayer::updateOverflowStatus): 61249 (WebCore::frameVisibleRect): 61250 * rendering/RenderListBox.cpp: 61251 (WebCore::RenderListBox::windowClipRect): 61252 * rendering/RenderTable.cpp: 61253 (WebCore::RenderTable::layout): 61254 61255 2007-01-24 Maciej Stachowiak <mjs (a] apple.com> 61256 61257 Not reviewed, just removing accidentally committed file. 61258 61259 - removed file that shouldn't be there 61260 61261 * Image Viewer/Image Viewer.aps: Removed. 61262 61263 2007-01-24 Anders Carlsson <acarlsson (a] apple.com> 61264 61265 Reviewed by Geoff and Adam. 61266 61267 <rdar://problem/4922655> 61268 http://galeri.milliyet.com.tr/ reproducibly crashes Safari 61269 61270 * loader/FrameLoader.cpp: 61271 (WebCore::FrameLoader::requestFrame): 61272 If the frame already exists, defer the navigation so that we won't end up replacing the document 61273 while we're parsing it. This is similar to what setting window.location ends up doing. 61274 61275 2007-01-25 Mark Rowe <mrowe (a] apple.com> 61276 61277 Reviewed by Darin. 61278 61279 * Info.plist: Update copyright string. 61280 61281 2007-01-24 Justin Garcia <justin.garcia (a] apple.com> 61282 61283 Reviewed by harrison 61284 61285 <rdar://problem/4916235> 61286 eBay Editor: Crash occurs at WebCore::Range::startPosition() after applying ordered list styling to selected text 61287 <rdar://problem/4857269> 61288 REGRESSION: editing/execCommand/create-list-from-range-selection.html no longer works as intended 61289 <rdar://problem/4916583> 61290 eBay Editor: Removing a indent from a list item actually deletes the list item instead 61291 <rdar://problem/4928635> 61292 designMode outdent causes crash (11750) 61293 61294 * editing/CompositeEditCommand.cpp: 61295 (WebCore::CompositeEditCommand::moveParagraphs): Fixed br insertion 61296 after the pruning of empty containers left over after the paragraph 61297 to move is removed. 61298 * editing/DeleteSelectionCommand.cpp: 61299 (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): There are 61300 bugs that leave the wrong number of line breaks after a deletion 61301 that expands to include special elements (lists/tables). Added 61302 a workaround so that moveParagraphs can avoid these until they 61303 are fixed. 61304 (WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto. 61305 (WebCore::DeleteSelectionCommand::initializePositionData): Ditto. 61306 * editing/DeleteSelectionCommand.h: 61307 * editing/TextIterator.cpp: 61308 (WebCore::TextIterator::advance): We used to not call exitNode for 61309 ancestors of a node where the next node in a pre-order traversal is 61310 the ranges's pastEndNode(). This is only correct for ancestors that 61311 contain the end of the range. 61312 (WebCore::shouldEmitNewlineAfterNode): Added, we should only emit newlines 61313 after blocks that have VisiblePositions after them. VisiblePosition creation 61314 though is too expensive to do here, what I added here is an OK substitute. 61315 (WebCore::shouldEmitNewlineBeforeNode): Added. No special logic yet. 61316 (WebCore::TextIterator::handleNonTextNode): Call shouldEmitNewlineBeforeNode. 61317 (WebCore::TextIterator::exitNode): Call shouldEmitNewlineAfterNode. 61318 (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Call 61319 shouldEmitNewlineAfterNode. 61320 61321 2007-01-24 Darin Adler <darin (a] apple.com> 61322 61323 Reviewed by Mark Rowe. 61324 61325 * WebCore.xcodeproj/project.pbxproj: Changed to /usr/sbin/sysctl 61326 so we don't rely on people's paths. 61327 61328 2007-01-24 Darin Adler <darin (a] apple.com> 61329 61330 Reviewed by Adele. 61331 61332 - a couple minor tweaks to recently-changed things 61333 61334 * dom/Document.h: Use HTMLHeadElement as type for the head function. 61335 * dom/Document.cpp: (WebCore::Document::head): 61336 61337 * ksvg2/svg/SVGElementInstance.cpp: 61338 (WebCore::SVGElementInstance::~SVGElementInstance): Change loop to 61339 a for loop and use a local variable for document. 61340 61341 2007-01-24 Oliver Hunt <oliver (a] apple.com> 61342 61343 Reviewed by Adele. 61344 61345 Fixes DragController to allow a null target Document. 61346 This is encountered in new tabs/windows that have not 61347 loaded any page 61348 61349 * page/DragController.cpp: 61350 (WebCore::documentAtPoint): 61351 (WebCore::DragController::tryDocumentDrag): 61352 (WebCore::DragController::operationForLoad): 61353 (WebCore::DragController::concludeDrag): 61354 * page/mac/DragControllerMac.mm: 61355 (WebCore::DragController::dragOperation): 61356 61357 2007-01-24 Sam Weinig <sam (a] webkit.org> 61358 61359 Reviewed by Mitz. 61360 61361 Patch for http://bugs.webkit.org/show_bug.cgi?id=12394 61362 Cleanup RenderBox 61363 61364 No functionality changes, just a good old fashion cleanup, 61365 thus no tests. 61366 61367 * rendering/RenderBox.cpp: 61368 (WebCore::RenderBox::RenderBox): 61369 (WebCore::RenderBox::setStyle): 61370 (WebCore::RenderBox::destroy): 61371 (WebCore::RenderBox::setPos): 61372 (WebCore::RenderBox::calcBorderBoxWidth): 61373 (WebCore::RenderBox::calcBorderBoxHeight): 61374 (WebCore::RenderBox::calcContentBoxWidth): 61375 (WebCore::RenderBox::calcContentBoxHeight): 61376 (WebCore::RenderBox::nodeAtPoint): 61377 (WebCore::RenderBox::paintRootBoxDecorations): 61378 (WebCore::RenderBox::paintBoxDecorations): 61379 (WebCore::RenderBox::paintBackgrounds): 61380 (WebCore::RenderBox::paintBackground): 61381 (WebCore::cacluateBackgroundSize): 61382 (WebCore::RenderBox::paintBackgroundExtended): 61383 (WebCore::RenderBox::getOverflowClipRect): 61384 (WebCore::RenderBox::getClipRect): 61385 (WebCore::RenderBox::containingBlockWidth): 61386 (WebCore::RenderBox::absolutePosition): 61387 (WebCore::RenderBox::dirtyLineBoxes): 61388 (WebCore::RenderBox::position): 61389 (WebCore::RenderBox::getAbsoluteRepaintRect): 61390 (WebCore::RenderBox::computeAbsoluteRepaintRect): 61391 (WebCore::RenderBox::repaintDuringLayoutIfMoved): 61392 (WebCore::RenderBox::relativePositionOffsetX): 61393 (WebCore::RenderBox::relativePositionOffsetY): 61394 (WebCore::RenderBox::calcWidth): 61395 (WebCore::RenderBox::calcWidthUsing): 61396 (WebCore::RenderBox::sizesToIntrinsicWidth): 61397 (WebCore::RenderBox::calcHorizontalMargins): 61398 (WebCore::RenderBox::calcHeight): 61399 (WebCore::RenderBox::calcPercentageHeight): 61400 (WebCore::RenderBox::calcReplacedWidthUsing): 61401 (WebCore::RenderBox::calcReplacedHeightUsing): 61402 (WebCore::RenderBox::availableHeightUsing): 61403 (WebCore::RenderBox::calcVerticalMargins): 61404 (WebCore::RenderBox::containingBlockWidthForPositioned): 61405 (WebCore::RenderBox::calcAbsoluteHorizontal): 61406 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 61407 (WebCore::RenderBox::calcAbsoluteVertical): 61408 (WebCore::RenderBox::calcAbsoluteVerticalValues): 61409 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 61410 (WebCore::RenderBox::caretRect): 61411 * rendering/RenderBox.h: 61412 (WebCore::RenderBox::setOverrideSize): 61413 (WebCore::RenderBox::width): 61414 (WebCore::RenderBox::height): 61415 (WebCore::RenderBox::setWidth): 61416 (WebCore::RenderBox::setHeight): 61417 (WebCore::RenderBox::inlineBoxWrapper): 61418 (WebCore::RenderBox::setInlineBoxWrapper): 61419 (WebCore::RenderBox::stretchesToViewHeight): 61420 (WebCore::RenderBox::setStaticX): 61421 (WebCore::RenderBox::setStaticY): 61422 61423 2007-01-24 Eric Seidel <eric (a] webkit.org> 61424 61425 Reviewed by ap. 61426 61427 Converted SVGTransform from being Shared<T> to a POD type. 61428 61429 No functional changes, thus no tests. 61430 61431 * bindings/scripts/CodeGenerator.pm: 61432 * bindings/scripts/CodeGeneratorJS.pm: 61433 * ksvg2/misc/SVGTimer.cpp: 61434 (WebCore::baseValueTransformList): 61435 * ksvg2/svg/SVGAnimateTransformElement.cpp: 61436 (WebCore::SVGAnimateTransformElement::storeInitialValue): 61437 (WebCore::SVGAnimateTransformElement::resetValues): 61438 (WebCore::SVGAnimateTransformElement::updateCurrentValue): 61439 (WebCore::SVGAnimateTransformElement::handleStartCondition): 61440 (WebCore::SVGAnimateTransformElement::applyAnimationToValue): 61441 (WebCore::SVGAnimateTransformElement::parseTransformValue): 61442 * ksvg2/svg/SVGAnimateTransformElement.h: 61443 * ksvg2/svg/SVGLinearGradientElement.cpp: 61444 (WebCore::SVGLinearGradientElement::collectGradientProperties): 61445 * ksvg2/svg/SVGPatternElement.cpp: 61446 (WebCore::SVGPatternElement::collectPatternProperties): 61447 * ksvg2/svg/SVGRadialGradientElement.cpp: 61448 (WebCore::SVGRadialGradientElement::collectGradientProperties): 61449 * ksvg2/svg/SVGSVGElement.cpp: 61450 (WebCore::SVGSVGElement::createSVGTransform): 61451 (WebCore::SVGSVGElement::createSVGTransformFromMatrix): 61452 * ksvg2/svg/SVGSVGElement.h: 61453 * ksvg2/svg/SVGStyledTransformableElement.cpp: 61454 (WebCore::SVGStyledTransformableElement::updateLocalTransform): 61455 * ksvg2/svg/SVGTextElement.cpp: 61456 (WebCore::SVGTextElement::updateLocalTransform): 61457 * ksvg2/svg/SVGTransform.cpp: 61458 (SVGTransform::SVGTransform): 61459 (SVGTransform::isValid): 61460 * ksvg2/svg/SVGTransform.h: 61461 * ksvg2/svg/SVGTransform.idl: 61462 * ksvg2/svg/SVGTransformList.cpp: 61463 (SVGTransformList::SVGTransformList): 61464 (SVGTransformList::createSVGTransformFromMatrix): 61465 (SVGTransformList::consolidate): 61466 (SVGTransformList::concatenate): 61467 * ksvg2/svg/SVGTransformList.h: 61468 * ksvg2/svg/SVGTransformable.cpp: 61469 (WebCore::SVGTransformable::parseTransformAttribute): 61470 61471 2007-01-24 Mark Rowe <mrowe (a] apple.com> 61472 61473 Reviewed by Eric. 61474 61475 Plug another bunch of SVG memory leaks. 61476 61477 * ksvg2/misc/SVGDocumentExtensions.cpp: 61478 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions): Delete memory we have allocated. 61479 (WebCore::SVGDocumentExtensions::removePendingResource): Return an auto_ptr to show that we are transferring ownership. 61480 * ksvg2/misc/SVGDocumentExtensions.h: 61481 * ksvg2/svg/SVGElement.cpp: 61482 (WebCore::SVGElement::insertedIntoDocument): Update for use of auto_ptr. 61483 61484 2007-01-23 Mark Rowe <mrowe (a] apple.com> 61485 61486 Reviewed by Brady. 61487 61488 Plug thousands of node leaks seen running layout tests. 61489 61490 * ksvg2/svg/SVGElementInstance.cpp: 61491 (WebCore::SVGElementInstance::~SVGElementInstance): Disassociate ourselves from our children so they will 61492 be destroyed if we were the only thing referencing them. 61493 * ksvg2/svg/SVGUseElement.cpp: 61494 (WebCore::SVGUseElement::removedFromDocument): 61495 * ksvg2/svg/SVGUseElement.h: 61496 61497 2007-01-23 Alice Liu <alice.liu (a] apple.com> 61498 61499 Reviewed by Brady. 61500 61501 * editing/Editor.cpp: 61502 (WebCore::Editor::appliedEditing): 61503 minor change. removing unnecessary call to frame to fetch editor 61504 61505 2007-01-23 Mark Rowe <mrowe (a] apple.com> 61506 61507 Reviewed by Adele. 61508 61509 http://bugs.webkit.org/show_bug.cgi?id=12375 61510 Bug 12375: REGRESSION(r19038): fast/dom/title-text-property-2.html failing 61511 61512 Fix regression by making setTitle/updateTitle/removeTitle logic match document.title 61513 specification at http://whatwg.org/specs/web-apps/current-work/#the-title1. 61514 61515 * dom/Document.cpp: 61516 (WebCore::Document::setTitle): Materialize a title element into the head if one doesn't exist when setting 61517 document.title. Also update the contents of the title element when the title is set via document.title. 61518 (WebCore::Document::removeTitle): Update the title based on first title element in the head, if one exists. 61519 (WebCore::Document::head): Convenience method to retrieve the head element in an HTML document. 61520 * dom/Document.h: 61521 61522 2007-01-23 Beth Dakin <bdakin (a] apple.com> 61523 61524 Reviewed by Hyatt. 61525 61526 Follow-up to the fix below for 4843226. 61527 61528 * rendering/RenderLayer.cpp: 61529 (WebCore::transparencyClipBox): Has to be recursive or we will miss 61530 out on grandchildren! 61531 61532 2007-01-23 Oliver Hunt <oliver (a] apple.com> 61533 61534 Reviewed by Adam. 61535 61536 Fixes dropping of files into safari 61537 61538 * page/DragController.cpp: 61539 (WebCore::DragController::performDrag): 61540 61541 2007-01-23 Brady Eidson <beidson (a] apple.com> 61542 61543 Reviewed by Darin 61544 61545 Added a couple of CF things previously missed 61546 61547 * platform/network/ResourceError.h: 61548 * platform/network/ResourceHandle.h: 61549 61550 2007-01-23 Nikolas Zimmermann <zimmermann (a] kde.org> 61551 61552 Reviewed by Maciej. 61553 61554 Fix evil genericContext() assertion, which occours sometimes when running DRT. 61555 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12379 61556 61557 * bindings/scripts/CodeGeneratorJS.pm: 61558 * ksvg2/misc/SVGDocumentExtensions.h: 61559 (WebCore::SVGDocumentExtensions::genericContextMap): 61560 (WebCore::SVGDocumentExtensions::forgetGenericContext): 61561 61562 2007-01-23 Beth Dakin <bdakin (a] apple.com> 61563 61564 Reviewed by Hyatt. 61565 61566 Fix for <rdar://problem/4843226> REGRESSION: Pull down menu appears 61567 clipped at http://istweb.apple.com/ 61568 61569 * rendering/RenderLayer.cpp: 61570 (WebCore::transparencyClipBox): Always unite with sibling rects. 61571 61572 2007-01-22 Justin Garcia <justin.garcia (a] apple.com> 61573 61574 Reviewed by john 61575 61576 <rdar://problem/4920742> 61577 REGRESSION: GMail Editor: Attempting to remove formatting from selection results in a crash at WebCore::Range::checkDeleteExtract() 61578 61579 * dom/Range.cpp: 61580 (WebCore::Range::checkDeleteExtract): Return if there is no 61581 commonAncestor container or if commonAncestorContainer() throws 61582 an exception. 61583 * editing/Editor.cpp: 61584 (WebCore::Editor::removeFormattingAndStyle): Fixed a bug that reversed 61585 the order of the selected paragraphs. 61586 61587 2007-01-23 Nikolas Zimmermann <zimmermann (a] kde.org> 61588 61589 Reviewed by Sam. 61590 61591 Fix dynamic creation/updates of markers, masks, clipPaths, and several tiny pattern issues. 61592 Added 16 (!) new layout tests covering quite some weird scenerios - Batik & Opera do have problems, we don't. 61593 61594 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12380 61595 Fixes: svg/custom/image-with-transform-clip-filter.svg (filter shows up again) 61596 61597 Added: svg/custom/clip-path-child-changes.svg 61598 Added: svg/custom/clip-path-href-changes.svg 61599 Added: svg/custom/clip-path-units-changes.svg 61600 Added: svg/custom/deep-dynamic-updates.svg 61601 Added: svg/custom/js-late-clipPath-and-object-creation.svg 61602 Added: svg/custom/js-late-clipPath-creation.svg 61603 Added: svg/custom/js-late-marker-and-object-creation.svg 61604 Added: svg/custom/js-late-marker-creation.svg 61605 Added: svg/custom/js-late-mask-and-object-creation.svg 61606 Added: svg/custom/js-late-mask-creation.svg 61607 Added: svg/custom/js-update-pattern-child.svg 61608 Added: svg/custom/marker-changes.svg 61609 Added: svg/custom/marker-child-changes.svg 61610 Added: svg/custom/marker-viewBox-changes.svg 61611 Added: svg/custom/mask-changes.svg 61612 Added: svg/custom/mask-child-changes.svg 61613 61614 * ksvg2/misc/KCanvasRenderingStyle.cpp: 61615 (WebCore::KSVGPainterFactory::fillPaintServer): 61616 (WebCore::KSVGPainterFactory::strokePaintServer): 61617 * ksvg2/svg/SVGClipPathElement.cpp: 61618 (WebCore::SVGClipPathElement::notifyAttributeChange): 61619 * ksvg2/svg/SVGClipPathElement.h: 61620 * ksvg2/svg/SVGGradientElement.cpp: 61621 * ksvg2/svg/SVGGradientElement.h: 61622 * ksvg2/svg/SVGMarkerElement.cpp: 61623 (WebCore::SVGMarkerElement::canvasResource): 61624 (WebCore::SVGMarkerElement::notifyAttributeChange): 61625 * ksvg2/svg/SVGMarkerElement.h: 61626 * ksvg2/svg/SVGMaskElement.cpp: 61627 (WebCore::SVGMaskElement::notifyAttributeChange): 61628 * ksvg2/svg/SVGMaskElement.h: 61629 * ksvg2/svg/SVGStopElement.cpp: 61630 (WebCore::SVGStopElement::notifyAttributeChange): 61631 * ksvg2/svg/SVGStyledElement.cpp: 61632 (WebCore::SVGStyledElement::notifyAttributeChange): 61633 (WebCore::SVGStyledElement::notifyResourceParentIfExistant): 61634 (WebCore::SVGStyledElement::rebuildRenderer): 61635 * ksvg2/svg/SVGStyledElement.h: 61636 * ksvg2/svg/SVGUseElement.cpp: 61637 (WebCore::SVGUseElement::notifyAttributeChange): 61638 * platform/graphics/svg/SVGResource.cpp: 61639 (WebCore::SVGResource::invalidate): 61640 (WebCore::SVGResource::addClient): 61641 (WebCore::SVGResource::repaintClients): 61642 * platform/graphics/svg/SVGResource.h: 61643 * platform/graphics/svg/SVGResourceMarker.cpp: 61644 (WebCore::SVGResourceMarker::draw): 61645 (WebCore::SVGResourceMarker::cachedBounds): 61646 * platform/graphics/svg/SVGResourceMarker.h: 61647 * rendering/RenderPath.cpp: 61648 (WebCore::RenderPath::layout): 61649 (WebCore::RenderPath::getAbsoluteRepaintRect): 61650 (WebCore::RenderPath::paint): 61651 (WebCore::drawMarkerWithData): 61652 (WebCore::RenderPath::drawMarkersIfNeeded): 61653 * rendering/RenderPath.h: 61654 * rendering/RenderSVGContainer.cpp: 61655 (WebCore::RenderSVGContainer::paint): 61656 (WebCore::RenderSVGContainer::getAbsoluteRepaintRect): 61657 * rendering/RenderSVGImage.cpp: 61658 (WebCore::RenderSVGImage::paint): 61659 (WebCore::RenderSVGImage::getAbsoluteRepaintRect): 61660 * rendering/SVGInlineFlowBox.cpp: 61661 (WebCore::paintSVGInlineFlow): 61662 61663 2007-01-23 Adele Peterson <adele (a] apple.com> 61664 61665 Reviewed by Darin. 61666 61667 WebCore part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail 61668 61669 In addition to this fix, I also reorganized some event handling code for keyPress events to 61670 prepare for another fix. There's also just a little bit of unrelated cleanup. 61671 61672 * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): 61673 Move tab focus behavior into new defaultKeyboardEventHandler method. 61674 61675 * bridge/EditorClient.h: Added handleKeyPress. 61676 * editing/Editor.cpp: 61677 (WebCore::Editor::handleKeyPress): Added. Calls over to the client method. 61678 (WebCore::Editor::deleteRange): Removed unnecessary propogateDOMException. 61679 * editing/Editor.h: Added handleKeyPress. 61680 (WebCore::Editor::addToKillRing): Formatting cleanup. 61681 * editing/mac/EditorMac.mm: Removed unnecessary propogateDOMException. 61682 61683 * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Added. Checks 61684 the tabKeyCyclesThroughElements setting before advancing focus for tab key events. Calls handleKeyPress. 61685 * page/EventHandler.h: Added defaultKeyboardEventHandler. 61686 61687 * page/Page.cpp: (WebCore::Page::Page): Initialize m_tabKeyCyclesThroughElements to true. 61688 * page/Page.h: Added m_tabKeyCyclesThroughElements. 61689 (WebCore::Page::setTabKeyCyclesThroughElements): Added. 61690 (WebCore::Page::tabKeyCyclesThroughElements): Added. 61691 61692 * platform/PlatformKeyboardEvent.h: Added ability to get NSEvent from PlatformKeyboardEvent. 61693 * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 61694 Initialize m_macEvent to the NSEvent. 61695 61696 * platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::handleKeyPress): Added. 61697 61698 2007-01-23 George Staikos <staikos (a] kde.org> 61699 61700 Compile with a released Qt. 61701 61702 * platform/graphics/qt/ImageQt.cpp: 61703 61704 2007-01-23 Lars Knoll <lars (a] trolltech.com> 61705 61706 Reviewed by Zack 61707 61708 Widget and ScrollView do not own the Qt widgets 61709 anymore. Make sure they can handle the case of 61710 a null QWidget and never delete them. 61711 61712 * platform/qt/ScrollViewQt.cpp: 61713 (WebCore::ScrollView::setScrollArea): 61714 (WebCore::ScrollView::updateContents): 61715 (WebCore::ScrollView::visibleWidth): 61716 (WebCore::ScrollView::visibleHeight): 61717 (WebCore::ScrollView::visibleContentRect): 61718 (WebCore::ScrollView::setContentsPos): 61719 (WebCore::ScrollView::resizeContents): 61720 (WebCore::ScrollView::contentsX): 61721 (WebCore::ScrollView::contentsY): 61722 (WebCore::ScrollView::contentsWidth): 61723 (WebCore::ScrollView::contentsHeight): 61724 (WebCore::ScrollView::scrollOffset): 61725 (WebCore::ScrollView::scrollBy): 61726 (WebCore::ScrollView::hScrollbarMode): 61727 (WebCore::ScrollView::vScrollbarMode): 61728 (WebCore::ScrollView::setHScrollbarMode): 61729 (WebCore::ScrollView::setVScrollbarMode): 61730 * platform/qt/WidgetQt.cpp: 61731 (WebCore::WidgetPrivate::~WidgetPrivate): 61732 (WebCore::Widget::setQWidget): 61733 61734 2007-01-23 Zack Rusin <zack (a] kde.org> 61735 61736 Forgot to add one new file to the build. 61737 61738 * WebCore.pro: Add dom/clipboard.cpp 61739 61740 2007-01-23 Zack Rusin <zack (a] kde.org> 61741 61742 Fix the Qt build 61743 61744 * page/DragActions.h: 61745 * page/DragController.cpp: 61746 * platform/qt/DragDataQt.cpp: 61747 (WebCore::DragData::canSmartReplace): 61748 (WebCore::DragData::containsColor): 61749 (WebCore::DragData::containsPlainText): 61750 (WebCore::DragData::asPlainText): 61751 (WebCore::DragData::asColor): 61752 (WebCore::DragData::createClipboard): 61753 (WebCore::DragData::containsCompatibleContent): 61754 (WebCore::DragData::containsURL): 61755 (WebCore::DragData::asURL): 61756 (WebCore::DragData::asFragment): 61757 * platform/qt/FileChooserQt.cpp: 61758 61759 2007-01-23 Lars Knoll <lars (a] trolltech.com> 61760 61761 Reviewed by Maciej 61762 61763 Make the last remaining pieces of the FrameLoader platform 61764 independent. Move most of the code over to WebFrameLoaderClient. 61765 Some smaller cleanups in the WebFrameBridge, and moved some 61766 platform independent functionality over to the shared code 61767 in WebCore. 61768 61769 * WebCore.exp: 61770 * WebCore.pro: 61771 * WebCore.xcodeproj/project.pbxproj: 61772 * loader/FrameLoader.cpp: 61773 (WebCore::FrameLoader::loadSubframe): 61774 (WebCore::FrameLoader::shouldUsePlugin): 61775 (WebCore::FrameLoader::loadPlugin): 61776 (WebCore::FrameLoader::detachFromParent): 61777 (WebCore::FrameLoader::partClearedInBegin): 61778 (WebCore::FrameLoader::createJavaAppletWidget): 61779 (WebCore::FrameLoader::didChangeTitle): 61780 * loader/FrameLoader.h: 61781 * loader/FrameLoaderClient.h: 61782 * loader/FrameLoaderTypes.h: 61783 (WebCore::): 61784 * loader/PluginDocument.cpp: 61785 (WebCore::PluginTokenizer::writeRawData): 61786 * loader/mac/FrameLoaderMac.mm: Removed. 61787 * loader/qt/FrameLoaderQt.cpp: Removed. 61788 * page/Frame.cpp: 61789 (WebCore::Frame::Frame): 61790 * page/FrameView.cpp: 61791 (WebCore::FrameView::mediaType): 61792 * page/qt/FrameQt.cpp: 61793 (WebCore::FrameQt::FrameQt): 61794 * platform/graphics/svg/SVGImageEmptyClients.h: 61795 (WebCore::SVGEmptyFrameLoaderClient::makeRepresentation): 61796 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): 61797 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCommitLoad): 61798 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoad): 61799 (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage): 61800 (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 61801 (WebCore::SVGEmptyFrameLoaderClient::dispatchUnableToImplementPolicy): 61802 (WebCore::SVGEmptyFrameLoaderClient::revertToProvisionalState): 61803 (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError): 61804 (WebCore::SVGEmptyFrameLoaderClient::startDownload): 61805 (WebCore::SVGEmptyFrameLoaderClient::committedLoad): 61806 (WebCore::SVGEmptyFrameLoaderClient::shouldFallBack): 61807 (WebCore::SVGEmptyFrameLoaderClient::willUseArchive): 61808 (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader): 61809 (WebCore::SVGEmptyFrameLoaderClient::createFrame): 61810 (WebCore::SVGEmptyFrameLoaderClient::createPlugin): 61811 (WebCore::SVGEmptyFrameLoaderClient::createJavaAppletWidget): 61812 (WebCore::SVGEmptyFrameLoaderClient::objectContentType): 61813 (WebCore::SVGEmptyFrameLoaderClient::overrideMediaType): 61814 (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): 61815 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared): 61816 61817 2007-01-23 Oliver Hunt <oliver (a] apple.com> 61818 61819 Reviewed by Adam. 61820 61821 Added DragController to handled drag and drop state and control logic. 61822 Currently this only handles logic for Dragging and Dropping, and is 61823 unable to initialise a drag itself. 61824 61825 platform/DragData encapsulate the paltform Drag data (NSDraggingInfo on Mac, 61826 QMimeType in Qt). This provides methods to pull data out the drag data as a String, 61827 a URL, a DocumentFragment (for rich content), or a Colour. 61828 61829 * WebCore.exp: 61830 * WebCore.pro: 61831 * WebCore.xcodeproj/project.pbxproj: 61832 * dom/Clipboard.cpp: Added. 61833 (WebCore::Clipboard::setAccessPolicy): 61834 (WebCore::dragOpFromIEOp): 61835 (WebCore::IEOpFromDragOp): 61836 (WebCore::Clipboard::sourceOperation): 61837 (WebCore::Clipboard::destinationOperation): 61838 (WebCore::Clipboard::setSourceOperation): 61839 (WebCore::Clipboard::setDestinationOperation): 61840 (WebCore::Clipboard::setDropEffect): 61841 (WebCore::Clipboard::setEffectAllowed): 61842 move platform independent functions from ClipboardMac to Clipboard 61843 61844 * dom/Clipboard.h: 61845 (WebCore::Clipboard::Clipboard): 61846 (WebCore::Clipboard::dropEffect): 61847 (WebCore::Clipboard::effectAllowed): 61848 (WebCore::Clipboard::policy): 61849 as above -- also removed virtual modifier from now 61850 platform independent methods 61851 61852 * editing/Editor.cpp: 61853 (WebCore::Editor::smartInsertDeleteEnabled): 61854 (WebCore::Editor::shouldApplyStyle): 61855 * editing/Editor.h: 61856 adding calls through to EditorClient 61857 61858 * page/DragActions.h: Added. 61859 (WebCore::): 61860 Replicates a number of NS* enums in the WebCore namespace 61861 61862 * page/DragClient.h: Added. 61863 (WebCore::DragClient::~DragClient): 61864 Standard client interface for dragging UIDelegate 61865 61866 * page/DragController.cpp: Added. 61867 (WebCore::createMouseEvent): 61868 (WebCore::DragController::DragController): 61869 (WebCore::DragController::~DragController): 61870 (WebCore::documentFragmentFromDragData): 61871 (WebCore::DragController::isMoveDrag): 61872 (WebCore::visiblePositionForPoint): 61873 (WebCore::DragController::cancelDrag): 61874 (WebCore::documentAtPoint): 61875 (WebCore::DragController::dragEntered): 61876 (WebCore::DragController::dragExited): 61877 (WebCore::DragController::dragUpdated): 61878 (WebCore::DragController::performDrag): 61879 (WebCore::DragController::dragEnteredOrUpdated): 61880 (WebCore::DragController::tryDocumentDrag): 61881 (WebCore::DragController::operationForLoad): 61882 (WebCore::DragController::concludeDrag): 61883 (WebCore::DragController::canProcessDrag): 61884 (WebCore::DragController::tryDHTMLDrag): 61885 Class to handle state and logic for dragging and dropping 61886 61887 * page/DragController.h: Added. 61888 (WebCore::DragController::client): 61889 (WebCore::DragController::didInitiateDrag): 61890 (WebCore::DragController::isHandlingDrag): 61891 (WebCore::DragController::dragOperation): 61892 (WebCore::DragController::document): 61893 (WebCore::DragController::dragInitiator): 61894 (WebCore::DragController::dragDestinationAction): 61895 (WebCore::DragController::dragSourceAction): 61896 (WebCore::DragController::dragEnded): 61897 (WebCore::DragController::setIsHandlingDrag): 61898 (WebCore::DragController::setDidInitiateDrag): 61899 (WebCore::DragController::setDragOperation): 61900 (WebCore::DragController::setDragSourceAction): 61901 (WebCore::DragController::setDragInitiator): 61902 See above 61903 61904 * page/Page.cpp: 61905 (WebCore::Page::Page): 61906 Update Page to have DragController 61907 61908 * page/Page.h: 61909 (WebCore::Page::dragController): 61910 ditto 61911 61912 * page/mac/DragControllerMac.mm: Added. 61913 (WebCore::DragController::isCopyKeyDown): 61914 (WebCore::DragController::dragOperation): 61915 Platform specific portions of the DragController 61916 61917 * page/mac/EventHandlerMac.mm: 61918 (WebCore::EventHandler::handleDrag): 61919 (WebCore::EventHandler::dragSourceEndedAt): 61920 Convert from NSDragOperation to WebCore::DragOperation 61921 61922 * page/mac/WebCoreFrameBridge.h: 61923 * page/mac/WebCoreFrameBridge.mm: 61924 Remove obsolete Drag functions 61925 61926 * page/qt/DragControllerQt.cpp: Added. 61927 (WebCore::DragController::isCopyKeyDown): 61928 (WebCore::DragController::dragOperation): 61929 Basic stubs to maintain Qt build 61930 61931 * platform/DragData.cpp: Added. 61932 (WebCore::DragData::DragData): 61933 * platform/DragData.h: Added. 61934 (WebCore::DragData::clientPosition): 61935 (WebCore::DragData::globalPosition): 61936 (WebCore::DragData::platformData): 61937 (WebCore::DragData::draggingSourceOperationMask): 61938 DragData class to encapsulate platform drag data/event 61939 61940 * platform/graphics/svg/SVGImage.cpp: 61941 (WebCore::SVGImage::setData): 61942 Addition of dummy DragClient 61943 61944 * platform/graphics/svg/SVGImageEmptyClients.h: 61945 (WebCore::SVGEmptyDragClient::~SVGEmptyDragClient): 61946 (WebCore::SVGEmptyDragClient::willPerformDragDestinationAction): 61947 (WebCore::SVGEmptyDragClient::actionMaskForDrag): 61948 (WebCore::SVGEmptyDragClient::dragControllerDestroyed): 61949 ditto 61950 61951 * platform/mac/ClipboardMac.h: 61952 * platform/mac/ClipboardMac.mm: 61953 (WebCore::ClipboardMac::ClipboardMac): 61954 (WebCore::ClipboardMac::clearData): 61955 (WebCore::ClipboardMac::clearAllData): 61956 (WebCore::ClipboardMac::getData): 61957 (WebCore::ClipboardMac::setData): 61958 (WebCore::ClipboardMac::types): 61959 (WebCore::ClipboardMac::setDragImage): 61960 Moving platform independent logic to Clipboard, and updating 61961 platform specific methods to use appropriate accessors rather than 61962 directly manipulating data they no longer own 61963 61964 * platform/mac/DragDataMac.mm: Added. 61965 (WebCore::DragData::DragData): 61966 (WebCore::DragData::canSmartReplace): 61967 (WebCore::DragData::containsColor): 61968 (WebCore::DragData::containsPlainText): 61969 (WebCore::DragData::asPlainText): 61970 (WebCore::DragData::asColor): 61971 (WebCore::DragData::createClipboard): 61972 (WebCore::imageExistsAtPaths): 61973 (WebCore::DragData::containsCompatibleContent): 61974 (WebCore::DragData::containsURL): 61975 (WebCore::DragData::asURL): 61976 (WebCore::DragData::asFragment): 61977 Mac implementations of DragData methods. A number of these use 61978 a Helper class that accesses WebKit functionality. That functionality 61979 should be migrated to WebCore in the future. 61980 61981 * platform/mac/PasteboardHelper.h: Added. 61982 (WebCore::PasteboardHelper::~PasteboardHelper): 61983 Temporary, and Mac only, helper class to access WebKit functionality 61984 from WebCore 61985 61986 * platform/qt/DragDataQt.cpp: Added. 61987 (WebCore::DragData::canSmartReplace): 61988 (WebCore::DragData::containsColor): 61989 (WebCore::DragData::containsPlainText): 61990 (WebCore::DragData::asPlainText): 61991 (WebCore::DragData::asColor): 61992 (WebCore::DragData::createClipboard): 61993 (WebCore::DragData::containsCompatibleContent): 61994 (WebCore::DragData::containsURL): 61995 (WebCore::DragData::asURL): 61996 (WebCore::DragData::asFragment): 61997 Basic stubs to maintain Qt build 61998 61999 * rendering/HitTestResult.cpp: 62000 (WebCore::HitTestResult::HitTestResult): 62001 Correct HitTestResult copy contructor to copy localPoint 62002 62003 2007-01-22 Mark Rowe <mrowe (a] apple.com> 62004 62005 Reviewed by Maciej. 62006 62007 http://bugs.webkit.org/show_bug.cgi?id=11692 62008 Bug 11692: REGRESSION(r17352): Disappearing page title 62009 62010 * dom/Document.cpp: 62011 (WebCore::Document::setTitle): If the title has already been set explicitly via JavaScript, 62012 ignore any changes to it due to encountering <title> tags. 62013 62014 2007-01-22 Mitz Pettel <mitz (a] webkit.org> 62015 62016 Reviewed by Darin. 62017 62018 - fix http://bugs.webkit.org/show_bug.cgi?id=12344 62019 NativeListBox: item hit testing does not account for top padding and border 62020 62021 Test: fast/forms/listbox-selection-2.html 62022 62023 * rendering/RenderListBox.cpp: 62024 (WebCore::RenderListBox::numVisibleItems): Changed height() to contentHeight() 62025 since items are visible only in the content box. 62026 (WebCore::RenderListBox::listIndexAtOffset): Adjusted for vertical padding and 62027 borders. Changed to return -1 instead of the last item's index if the given offset 62028 is below the last item. 62029 (WebCore::RenderListBox::autoscroll): Adjusted for vertical padding and borders. 62030 (WebCore::RenderListBox::controlClipRect): Changed to return the content box since 62031 items should not spill into the padding box. This change is the reason the test 62032 generates pixel results. 62033 62034 2007-01-22 Justin Garcia <justin.garcia (a] apple.com> 62035 62036 Reviewed by darin 62037 62038 <rdar://problem/4944770> 62039 editing/pasteboard/4641033 layout test is broken (12328) 62040 62041 This layout test failure demonstrates three bugs: 62042 Smart replace shouldn't be turned on, but is because a word 62043 selection granularity from the previous test isn't cleared. 62044 Smart replace shouldn't add any spaces because the paste is performed 62045 in an empty paragraph. 62046 Smart replace spaces are added to the text of options inside 62047 the select element instead of before/after the select element. 62048 62049 This patch fixes the second two problems. During a 62050 ReplaceSelectionCommand, the VisiblePosition for the end of 62051 the inserted content is the last position in the last leaf 62052 inserted. This is a problem when the last leaf is inside a 62053 select element, since VP creation is inconsistent there. 62054 Second, smart spaces were inserted inside the last leaf, not 62055 at the endOfInsertedContent. 62056 62057 * editing/ReplaceSelectionCommand.cpp: 62058 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Renamed 62059 m_lastNodeInserted to m_lastLeafInserted. Use the 62060 start/endOfInsertedContent getters. 62061 (WebCore::ReplaceSelectionCommand::shouldMergeEnd): Ditto. 62062 (WebCore::ReplaceSelectionCommand::removeNodePreservingChildren): Ditto. 62063 (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Ditto. 62064 (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Added. 62065 Special case for when the last leaf inserted is inside a select 62066 element: return the VisiblePosition after the select element. 62067 (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Added. 62068 (WebCore::ReplaceSelectionCommand::doApply): Did renaming. Used 62069 the start/endOfInsertedContent getters. Insert smart replace spaces 62070 into the right nodes. 62071 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renaming. 62072 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto. 62073 (WebCore::ReplaceSelectionCommand::updateNodesInserted): Ditto. 62074 * editing/ReplaceSelectionCommand.h: 62075 62076 2007-01-22 Darin Adler <darin (a] apple.com> 62077 62078 Reviewed by Adam. 62079 62080 - fix http://bugs.webkit.org/show_bug.cgi?id=12273 62081 REGRESSION: File input value invisible after removing and re-appending 62082 62083 - made more of the file chooser code cross-platform 62084 62085 - fixed an Objective-C garbage collection problem in FileChooser 62086 62087 - tried to remove layering violations where FileChooser in the platform 62088 directory knows about the rendering and DOM trees (but wasn't able to 62089 do it entirely) 62090 62091 * platform/FileChooser.cpp: Added. 62092 (WebCore::FileChooser::create): Changed parameters. 62093 (WebCore::FileChooser::chooseFile): Changed to call chooseIcon function. 62094 (WebCore::FileChooser::chooseIcon): Added. 62095 62096 * platform/FileChooser.h: Added FileChooserClient so this file doesn't have 62097 to know about RenderFileUploadControl. Used RetainPtr instead of retain/release 62098 so this works properly with Objective-C GC. Replaced disconnectUploadControl 62099 with disconnectClient, which has a simple inline implementation. Moved the 62100 Document parameter from the constructor to openFileChooser, along with a comment 62101 about why it should not be there. Added a filename parameter to the constructor 62102 for the initial filename. Added a font parameter to basenameForWidth so we don't 62103 depend on having a pointer to the renderer. Removed the uploadControl() and 62104 document() functions since no one calls either of them. 62105 62106 * platform/mac/FileChooserMac.mm: Removed code that is now cross-platform. 62107 (-[OpenPanelController beginSheetWithFrame:]): Added frame parameter, instead 62108 of storing a document pointer in the FileChooser. 62109 (WebCore::FileChooser::FileChooser): Updated for changed parameters. Also added 62110 code to choose the icon based on the initial filename. Pass the adopt parameter 62111 to the constructor of the RetainPtr. 62112 (WebCore::FileChooser::~FileChooser): Removed the release call, since the 62113 RetainPtr will take care of it. Added a call to disconnectFileChooser here. 62114 There's no need to disconnect at disconnectClient time, and that lets us have 62115 one more cross-platform function. 62116 (WebCore::FileChooser::openFileChooser): Added document parameter. Added code 62117 to get the frame from the document. And added a nil check since there's no 62118 ironclad guarantee the document won't have outlived its frame. 62119 (WebCore::FileChooser::basenameForWidth): Added font parameter. Use that instead 62120 of going at the upload control's style. The caller can handle that now. 62121 62122 * rendering/RenderFileUploadControl.h: Removed unnecessary includes. 62123 Made class inherit privately from FileChooserClient. Changed constructor 62124 parameter to HTMLInputElement rather than Node. Made protected members be 62125 private instead, and made a couple function members const. 62126 * rendering/RenderFileUploadControl.cpp: Moved constants to the top of the file, 62127 but after the "using namespace" 62128 (WebCore::RenderFileUploadControl::RenderFileUploadControl): Updated for changes 62129 to the FileChooser::create function and the parameter types. 62130 (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed unneeded 62131 null check -- there's no case where the FileChooser fails to be created. 62132 (WebCore::RenderFileUploadControl::click): Pass document to openFileChooser. 62133 (WebCore::RenderFileUploadControl::updateFromElement): Tweaked code a bit by 62134 using updateFromElement and setValue instead of casting the renderer to a 62135 RenderButton and calling setText directly. Put setInputType call here. 62136 (WebCore::RenderFileUploadControl::maxFilenameWidth): Made const. Broke long line. 62137 (WebCore::RenderFileUploadControl::createButtonStyle): Made const. 62138 (WebCore::RenderFileUploadControl::paintObject): Moved buttonShadowHeight constant 62139 to the top of the file. Call isEmpty instead of checking width and height of 62140 IntRect for 0. Computed font to pass to FileChooser::basenameForWidth. Broke 62141 long lines. 62142 (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement): 62143 Moved the setInputType call to the caller; concept here is that this class is 62144 as simple as possible, rather than doing as much of the button job as possible. 62145 62146 * WebCore.xcodeproj/project.pbxproj: Added FileChooser.cpp. 62147 * WebCore.pro: Ditto. 62148 * CMakeLists.txt: Ditto. 62149 * WebCoreSources.bkl: Ditto. 62150 62151 * platform/gdk/TemporaryLinkStubs.cpp: Updated stubs. 62152 * platform/qt/FileChooserQt.cpp: Updated stubs. 62153 62154 2007-01-22 Mitz Pettel <mitz (a] webkit.org> 62155 62156 Reviewed by Darin. 62157 62158 - fix http://bugs.webkit.org/show_bug.cgi?id=12364 62159 REGRESSSION (NativeListBox): Selected option's background is not clipped to the list box 62160 62161 Test: fast/forms/select-item-background-clip.html 62162 62163 * rendering/RenderListBox.cpp: 62164 (WebCore::RenderListBox::paintItemBackground): Intersect the item's rect with 62165 the list box's clip rect. 62166 62167 2007-01-22 Darin Adler <darin (a] apple.com> 62168 62169 Reviewed by Beth. 62170 62171 - fix http://bugs.webkit.org/show_bug.cgi?id=12369 62172 REGRESSION (r19027): amazon.com home page crashes WebKit r19028 debug build 62173 62174 I caused this a few hours ago. Oops! 62175 62176 * rendering/RenderText.cpp: (WebCore::RenderText::setStyle): 62177 Compute whether the font changed before calling RenderObject::setStyle. 62178 62179 2007-01-22 Beth Dakin <bdakin (a] apple.com> 62180 62181 Reviewed by Maciej. 62182 62183 Fix for <rdar://problem/4912129> REGRESSION: Crash occurs at 62184 WebCore::Frame::eventHandler() after clicking to dismiss a 62185 contextual menu on the page 62186 62187 * page/EventHandler.cpp: 62188 (WebCore::EventHandler::stopAutoscrollTimer): Added nil-check. 62189 62190 2007-01-22 Darin Adler <darin (a] apple.com> 62191 62192 Reviewed by Mitz. 62193 62194 Inspired by a much simpler patch by Andrew Wellington <proton (a] wiretapped.net>. 62195 62196 - fix http://bugs.webkit.org/show_bug.cgi?id=11197 62197 REGRESSION: Specifying a counter for a CODE tag's content style property 62198 on before or after causes a crash. 62199 62200 Test: fast/css/beforeSelectorOnCodeElement.html 62201 62202 - fix regression I recently introduced where the monospace cache could be 62203 used for text that was not ASCII, if text was changed after the style was set 62204 62205 Test: fast/text/monospace-width-cache.html 62206 62207 - streamline RenderText.h -- remove unneeded functions, make some needlessly 62208 virtual functions non-virtual, remove unneeded header includes, replace use 62209 of Font* with Font& for consistency with RenderStyle, use "text" consistently 62210 instead of "string" 62211 62212 * rendering/RenderText.h: Removed unneeded include of "Text.h", declarations of 62213 SOFT_HYPHEN, DocumentMarker, InlineBox, Position, String. Got rid of friend 62214 declaration for InlineTextBox. Changed constructor to take a PassRefPtr since 62215 we do take owership of the passed-in text. Made deleteTextBoxes() private. 62216 Removed unneeded data(). Made override of length() private so people will use 62217 the faster textLength() instead. Renamed string() to text() so it matches up 62218 better with setText(). Same for stringLength(), originalString(), and 62219 setInternalString(), which are now textLength(), originalText(), and 62220 setTextInternal(). Renamed the old text() function to characters(), since it 62221 returns a pointer as StringImpl::characters does. Changed Font* to Font& everywhere. 62222 Renamed the internal calcMinMaxWidth() function to calcMinMaxWidthInternal() and 62223 made it non-virtual since it's not overriden anywhere. Also made the 62224 trimmedMinMaxWidth() function non-virtual. Made containsOnlyWhitespace() private. 62225 Removed both font() functions (one was needlessly virtual) and element(). 62226 Renamed cacheWidths() to updateMonospaceCharacterWidth() and removed the 62227 shouldUseMonospaceCache() function. Renamed allAscii() to isAllASCII() and made 62228 it an inline function. Removed the m_allAsciiChecked flag and renamed the 62229 m_allAscii flag to m_isAllASCII. 62230 * rendering/RenderText.cpp: 62231 (WebCore::RenderText::RenderText): Removed initialization of m_allAsciiChecked. 62232 Initialize m_isAllASCII. Changed all occurrences of m_str->length() and 62233 m_str->characters () to use the stringLength() and characters() inline functions 62234 instead. 62235 (WebCore::RenderText::setStyle): Replaced the unconditional call to cacheWidths 62236 with a conditional call to updateMonospaceCharacterWidth. This speeds up the common 62237 case where style is changed without changing the font. 62238 (WebCore::RenderText::originalText): Changed code to not depend on overridden 62239 element() function with casts to a Text node -- this was one of only two call sites. 62240 Also renamed. 62241 (WebCore::RenderText::positionForCoordinates): Name change. 62242 (WebCore::RenderText::caretRect): Ditto. 62243 (WebCore::RenderText::updateMonospaceCharacterWidth): Renamed from cacheWidths and 62244 incorporate the check that was formerly in a separate shouldUseMonospaceCache 62245 function. 62246 (WebCore::RenderText::widthFromCache): Changed to take a Font& instead of Font*. 62247 Changed to take advantage of the fact that the string is known to be all ASCII in 62248 the m_monospaceCharacterWidth code path. 62249 (WebCore::RenderText::trimmedMinMaxWidth): Ditto. Also use style()->font() instead 62250 of font(false). 62251 (WebCore::RenderText::calcMinMaxWidth): Ditto. Also changed to use softHyphen instead 62252 of SOFT_HYPHEN. 62253 (WebCore::RenderText::containsOnlyWhitespace): More of the same. 62254 (WebCore::RenderText::setSelectionState): Ditto. 62255 (WebCore::RenderText::setTextWithOffset): Ditto. 62256 (WebCore::isInlineFlowOrEmptyText): Ditto. 62257 (WebCore::RenderText::setTextInternal): Updated for name changes. Also changed to 62258 set the m_isAllASCII flag every time, in the more-efficient way we use elsewhere 62259 (or'ing all the characters together), and to call updateMonospaceCharacterWidth 62260 if the "all ASCII"-ness of the text changes. 62261 (WebCore::RenderText::setText): Updated for name changes. 62262 (WebCore::RenderText::width): More like above. 62263 (WebCore::RenderText::selectionRect): Ditto. 62264 (WebCore::RenderText::caretMaxOffset): Ditto. 62265 (WebCore::RenderText::previousOffset): Ditto. 62266 (WebCore::RenderText::nextOffset): Ditto. 62267 62268 * dom/Position.cpp: 62269 * dom/Range.cpp: 62270 * editing/CompositeEditCommand.cpp: 62271 * editing/DeleteSelectionCommand.cpp: 62272 * editing/VisiblePosition.cpp: 62273 * html/HTMLElement.cpp: 62274 Added now-needed include of "Text.h" which is no longer included by "RenderText.h". 62275 62276 * editing/SelectionController.cpp: 62277 (WebCore::SelectionController::debugRenderer): 62278 * editing/TextIterator.cpp: 62279 (WebCore::TextIterator::handleTextNode): 62280 (WebCore::TextIterator::handleTextBox): 62281 (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): 62282 Update for name changes of stringLength(), string(), and originalString() to 62283 textLength(), text(), and originalText(), and to always use textLength() instead 62284 of length() when we have a RenderText* rather than a RenderObject*. 62285 * editing/visible_units.cpp: 62286 (WebCore::startOfParagraph): Ditto. 62287 (WebCore::endOfParagraph): Ditto. 62288 * rendering/InlineFlowBox.cpp: 62289 (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto. Also removed use of the 62290 RenderObject::font() function and replaced it with explicit access to the style. 62291 (WebCore::InlineFlowBox::placeBoxesVertically): Ditto. 62292 * rendering/InlineTextBox.cpp: 62293 (WebCore::InlineTextBox::selectionRect): Ditto. 62294 (WebCore::InlineTextBox::isLineBreak): Ditto. 62295 (WebCore::InlineTextBox::paint): Ditto. 62296 (WebCore::InlineTextBox::selectionStartEnd): Ditto. 62297 (WebCore::InlineTextBox::paintSelection): Ditto. 62298 (WebCore::InlineTextBox::paintMarkedTextBackground): Ditto. 62299 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto. 62300 (WebCore::InlineTextBox::paintTextMatchMarker): Ditto. 62301 (WebCore::InlineTextBox::offsetForPosition): Ditto. 62302 (WebCore::InlineTextBox::positionForOffset): Ditto. 62303 * rendering/RenderContainer.cpp: 62304 (WebCore::RenderContainer::addChild): Ditto. 62305 * rendering/RenderCounter.cpp: 62306 (WebCore::RenderCounter::originalText): Ditto. 62307 (WebCore::RenderCounter::calcMinMaxWidth): Ditto. 62308 * rendering/RenderCounter.h: Ditto. 62309 * rendering/RenderTextFragment.cpp: 62310 (WebCore::RenderTextFragment::originalText): Ditto. 62311 * rendering/RenderTextFragment.h: Ditto. 62312 * rendering/SVGInlineFlowBox.cpp: 62313 (WebCore::placePositionedBoxesHorizontally): Ditto. 62314 (WebCore::placeBoxesVerticallyWithAbsBaseline): Ditto. 62315 * rendering/bidi.cpp: 62316 (WebCore::BidiIterator::increment): Ditto. 62317 (WebCore::BidiIterator::current): Ditto. 62318 (WebCore::BidiIterator::direction): Ditto. 62319 (WebCore::addRun): Ditto. 62320 (WebCore::checkMidpoints): Ditto. 62321 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto. 62322 (WebCore::RenderBlock::skipWhitespace): Ditto. 62323 (WebCore::RenderBlock::findNextLineBreak): Ditto. 62324 62325 * rendering/RenderBR.h: Updated signature of width function which now takes a 62326 Font& instead of a Font*. 62327 62328 * rendering/RenderBlock.cpp: (WebCore::stripTrailingSpace): Updated to no longer 62329 use the RenderObject::font() function, and added a comment about first-line, which 62330 is not handled properly here. 62331 62332 * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::text): 62333 * rendering/RenderTreeAsText.cpp: (WebCore::writeTextRun): 62334 Eliminated use of RenderText::data(). 62335 62336 * rendering/RenderObject.h: Removed RenderObject::font(). This had the bad effect of 62337 having everyone pass in a boolean rather than using the cleaner style() and 62338 firstLineStyle() functions in cases where there's no a firstLineStyle boolean. 62339 * rendering/RenderObject.cpp: 62340 (WebCore::RenderObject::getVerticalPosition): Replaced use of RenderObject::font() 62341 with direct use of the style instead, which is arguably easier to understand anyway. 62342 (WebCore::RenderObject::baselinePosition): Ditto. 62343 62344 2007-01-22 Sam Weinig <sam (a] webkit.org> 62345 62346 Reviewed by The Mitz. 62347 62348 Move JSHTMLSelectElementCustom.cpp from bindings to bindings/js 62349 where it belongs. 62350 62351 * WebCore.pro: 62352 * WebCore.xcodeproj/project.pbxproj: 62353 * bindings/JSHTMLSelectElementCustom.cpp: Removed. 62354 * bindings/js/JSHTMLSelectElementCustom.cpp: Added. 62355 62356 2007-01-22 Zack Rusin <zack (a] kde.org> 62357 62358 Fix the Qt build. 62359 62360 * WebCore.pro: adjust after last changes 62361 62362 2007-01-21 Alexey Proskuryakov <ap (a] webkit.org> 62363 62364 Reviewed by Darin. 62365 62366 http://bugs.webkit.org/show_bug.cgi?id=10934 62367 REGRESSION: prototype.js logs error (HTMLFormElement) on webkit builds 62368 62369 Added constructors for most HTML elements; started auto-generating HTMLSelectElement JS binding. 62370 62371 Test: fast/dom/Window/element-constructors-on-window.html 62372 62373 * DerivedSources.make: Generate JSHTMLSelectElement. 62374 * WebCore.xcodeproj/project.pbxproj: Added JSHTMLSelectElement{Custom}. 62375 * bindings/js/JSHTMLElementWrapperFactory.cpp: Create a proper binding for SELECT. 62376 62377 * bindings/js/kjs_html.cpp: 62378 (KJS::): 62379 (KJS::JSHTMLElement::classInfo): 62380 (KJS::JSHTMLElement::accessors): 62381 (KJS::JSHTMLElement::getOwnPropertySlot): 62382 (KJS::HTMLElementFunction::callAsFunction): 62383 (KJS::JSHTMLElement::put): 62384 * bindings/js/kjs_html.h: 62385 (KJS::JSHTMLElement::): 62386 Removed everything related to SELECT. Renamed getHTMLOptionsCollection to toJS for autogenerated code 62387 to be happy, and rewrote it using cacheDOMObject. 62388 62389 * bindings/scripts/CodeGeneratorJS.pm: Added HTMLElement to the list of types that cannot fail conversion. 62390 62391 * html/HTMLAnchorElement.idl: 62392 * html/HTMLAppletElement.idl: 62393 * html/HTMLAreaElement.idl: 62394 * html/HTMLBRElement.idl: 62395 * html/HTMLBaseElement.idl: 62396 * html/HTMLBaseFontElement.idl: 62397 * html/HTMLBodyElement.idl: 62398 * html/HTMLButtonElement.idl: 62399 * html/HTMLCanvasElement.idl: 62400 * html/HTMLDListElement.idl: 62401 * html/HTMLDirectoryElement.idl: 62402 * html/HTMLDivElement.idl: 62403 * html/HTMLFieldSetElement.idl: 62404 * html/HTMLFontElement.idl: 62405 * html/HTMLFormElement.idl: 62406 * html/HTMLHRElement.idl: 62407 * html/HTMLHeadElement.idl: 62408 * html/HTMLHeadingElement.idl: 62409 * html/HTMLHtmlElement.idl: 62410 * html/HTMLImageElement.idl: 62411 * html/HTMLInputElement.idl: 62412 * html/HTMLIsIndexElement.idl: 62413 * html/HTMLLIElement.idl: 62414 * html/HTMLLabelElement.idl: 62415 * html/HTMLLegendElement.idl: 62416 * html/HTMLLinkElement.idl: 62417 * html/HTMLMapElement.idl: 62418 * html/HTMLMenuElement.idl: 62419 * html/HTMLMetaElement.idl: 62420 * html/HTMLModElement.idl: 62421 * html/HTMLOListElement.idl: 62422 * html/HTMLOptGroupElement.idl: 62423 * html/HTMLParagraphElement.idl: 62424 * html/HTMLParamElement.idl: 62425 * html/HTMLPreElement.idl: 62426 * html/HTMLQuoteElement.idl: 62427 * html/HTMLScriptElement.idl: 62428 * html/HTMLStyleElement.idl: 62429 * html/HTMLTextAreaElement.idl: 62430 * html/HTMLTitleElement.idl: 62431 * html/HTMLUListElement.idl: 62432 Generate constructors. 62433 62434 * html/HTMLSelectElement.cpp: 62435 (WebCore::HTMLSelectElement::length): 62436 * html/HTMLSelectElement.h: 62437 Make length() return unsigned for auto-generated code to be happy. 62438 62439 * html/HTMLSelectElement.idl: Adjusted to be usable for JS. 62440 62441 * bindings/JSHTMLSelectElementCustom.cpp: Added. Implements remove(). 62442 62443 * page/DOMWindow.idl: 62444 Added properties for most elements' constructors. 62445 62446 2007-01-21 Mark Rowe <mrowe (a] apple.com> 62447 62448 Reviewed by Maciej. 62449 62450 http://bugs.webkit.org/show_bug.cgi?id=12357 62451 Bug 12357: Reproducible crash in WebCore::Settings::isJavaScriptEnabled in svg/custom/js-update-bounce.svg under guard-malloc 62452 62453 * page/Frame.cpp: 62454 (WebCore::Frame::~Frame): Access the global object directly rather than via Window::retrieveWindow to prevent our reference to 62455 a deleted settings object being used. 62456 62457 2007-01-21 Darin Adler <darin (a] apple.com> 62458 62459 Reviewed by Maciej. 62460 62461 - fix <rdar://problem/4930503> REGRESSION: Page changes title when 62462 command-clicking on named anchor link (12299) 62463 62464 * loader/FrameLoader.cpp: 62465 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 62466 Return if shouldContinue is false. This matches the other similar 62467 functions and prevents us from doing extra work in the "ignore" case. 62468 62469 2007-01-21 Mark Rowe <mrowe (a] apple.com> 62470 62471 Reviewed by Darin. 62472 62473 http://bugs.webkit.org/show_bug.cgi?id=12355 62474 Bug 12355: Reproducible crash in WebCore::parseNumber in svg/custom/js-update-bounce.svg under guard-malloc 62475 62476 * ksvg2/svg/SVGParserUtilities.cpp: 62477 (WebCore::parseNumber): Parenthesize to prevent reading past end of buffer. 62478 62479 2007-01-21 Mitz Pettel <mitz (a] webkit.org> 62480 62481 Reviewed by Darin. 62482 62483 - fix http://bugs.webkit.org/show_bug.cgi?id=12345 62484 REGRESSION: Disabled pop-up text is not grayed out 62485 62486 Test: fast/forms/select-disabled-appearance.html 62487 62488 * rendering/RenderThemeMac.mm: 62489 (WebCore::RenderThemeMac::adjustMenuListStyle): 62490 62491 2007-01-21 Darin Adler <darin (a] apple.com> 62492 62493 - fix non-Mac builds 62494 62495 * CMakeLists.txt: Added JSDocumentCustom.cpp. 62496 * WebCore.pro: Ditto. 62497 * WebCoreSources.bkl: Ditto. 62498 62499 2007-01-21 Mitz Pettel <mitz (a] webkit.org> 62500 62501 Reviewed by Darin. 62502 62503 - fix http://bugs.webkit.org/show_bug.cgi?id=12353 <rdar://problem/4944599> 62504 REGRESSION: Crash on load (mutation event dispatch under the image element constructor deletes the element) 62505 62506 Test: fast/dom/HTMLImageElement/constructor-mutation-event-dispatch.html 62507 62508 * bindings/js/kjs_html.cpp: 62509 (KJS::ImageConstructorImp::construct): Protect the image element before setting 62510 its attributes. 62511 62512 2007-01-21 Sam Weinig <sam (a] webkit.org> 62513 62514 Rolling out patch for http://bugs.webkit.org/show_bug.cgi?id=8360. 62515 62516 * rendering/RenderLayer.cpp: 62517 (WebCore::RenderLayer::RenderLayer): 62518 (WebCore::RenderLayer::scrollToOffset): 62519 (WebCore::RenderLayer::scrollRectToVisible): 62520 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 62521 (WebCore::Marquee::start): 62522 * rendering/RenderLayer.h: 62523 62524 2007-01-21 David Kilzer <ddkilzer (a] webkit.org> 62525 62526 Reviewed by Darin. 62527 62528 - fix http://bugs.webkit.org/show_bug.cgi?id=12280 62529 select element not available by name through document.all 62530 (dropdown list not available on smarthome.com checkout) 62531 62532 Test: fast/dom/document-all-select.html 62533 62534 * html/HTMLCollection.cpp: 62535 (WebCore::HTMLCollection::checkForNameMatch): 62536 (WebCore::HTMLCollection::updateNameCache): 62537 62538 2007-01-21 Mitz Pettel <mitz (a] webkit.org> 62539 62540 Reviewed by Darin. 62541 62542 - http://bugs.webkit.org/show_bug.cgi?id=10805 62543 REGRESSION (r15720): manual-tests/onblur-remove.html failing 62544 62545 * manual-tests/onblur-remove.html: Changed the test to not require pressing 62546 Enter, since the correct behavior for Enter is to send a blur event. 62547 62548 2007-01-21 Sanjay Madhav <sanjay12 (a] gmail.com> 62549 62550 Reviewed by Darin. 62551 62552 Fix for: <rdar://problem/4928583> Memory usage grows when reloading google.com/ig 62553 62554 JSDocuments are now responsible for marking the DOM wrappers associated with them, when they get marked. 62555 This fixes a JS object leak when a DOM wrapper has a reference to a JSDocument that is otherwise not reachable. 62556 62557 Test: fast/dom/gc-10.html 62558 62559 * WebCore.vcproj/WebCore/WebCore.vcproj: 62560 * WebCore.xcodeproj/project.pbxproj: 62561 * bindings/js/JSDocumentCustom.cpp: Added. 62562 (WebCore::JSDocument::mark): 62563 * bindings/js/kjs_binding.cpp: 62564 (KJS::ScriptInterpreter::markDOMNodesForDocument): 62565 (KJS::ScriptInterpreter::mark): 62566 * bindings/js/kjs_binding.h: 62567 * dom/Document.idl: 62568 62569 2007-01-21 Mitz Pettel <mitz (a] webkit.org> 62570 62571 Reviewed by Darin. 62572 62573 - fix http://bugs.webkit.org/show_bug.cgi?id=10692 62574 REGRESSION (r14847): Unnecessary scrollbars with position:relative; and overflow:auto; 62575 62576 Test: fast/overflow/position-relative.html 62577 62578 * rendering/RenderBox.cpp: 62579 (WebCore::RenderBox::lowestPosition): Add the relative position offset only 62580 if 'includeSelf' is true. 62581 (WebCore::RenderBox::rightmostPosition): Ditto. 62582 (WebCore::RenderBox::leftmostPosition): Ditto. 62583 * rendering/RenderFlow.cpp: 62584 (WebCore::RenderFlow::lowestPosition): Ditto. 62585 (WebCore::RenderFlow::rightmostPosition): Ditto. 62586 (WebCore::RenderFlow::leftmostPosition): Ditto. 62587 62588 2007-01-21 Mitz Pettel <mitz (a] webkit.org> 62589 62590 Reviewed by Darin. 62591 62592 - fix http://bugs.webkit.org/show_bug.cgi?id=10472 62593 REGRESSION: "add" method of <select> object does not put the <option> object in the correct position 62594 62595 Test: fast/dom/HTMLSelectElement/options-collection-detached.html 62596 62597 * html/HTMLSelectElement.cpp: 62598 (WebCore::HTMLSelectElement::setRecalcListItems): Reset the options collection 62599 info if the <select> is not in the document. For in-document <select>s this 62600 happens anyway as a result of the DOM tree version increasing. 62601 62602 2007-01-21 Mitz Pettel <mitz (a] webkit.org> 62603 62604 Reviewed by Darin. 62605 62606 - fix http://bugs.webkit.org/show_bug.cgi?id=12349 62607 NativeFileUpload: Button text is not grayed out when the control is disabled 62608 62609 Covered by fast/forms/file-input-disabled.html 62610 62611 * css/html4.css: Changed selectors that had pseudo-classes after the -webkit-file-upload-button 62612 pseudo-element to have the pseudo-element at the end. Pseudo-elements must be at the end. 62613 * rendering/RenderFileUploadControl.cpp: 62614 (WebCore::RenderFileUploadControl::createButtonStyle): Changed to not overwrite the button's 62615 style with its parent's style. getPseudoStyle() handles inheritance properly. 62616 62617 2007-01-21 Mitz Pettel <mitz (a] webkit.org> 62618 62619 Reviewed by Darin. 62620 62621 - fix http://bugs.webkit.org/show_bug.cgi?id=12343 62622 crash in css2.1/t1202-counter-09-b.html 62623 62624 * platform/Font.cpp: 62625 (WebCore::Font::glyphDataForCharacter): 62626 62627 2007-01-21 Darin Adler <darin (a] apple.com> 62628 62629 Reviewed by Adam and Mitz. 62630 62631 - fix http://bugs.webkit.org/show_bug.cgi?id=12347 62632 REGRESSION: list box scrolling broken (fast/forms/listbox-selection.html) 62633 62634 Covered by existing test: fast/forms/listbox-selection.html 62635 62636 * rendering/RenderListBox.h: Added override of layout(), made selectionChanged() 62637 no longer an inline. Added private scrollToRevealSelection(), 62638 m_scrollToRevealSelectionAfterLayout, and m_inAutoscroll. 62639 * rendering/RenderListBox.cpp: 62640 (WebCore::RenderListBox::RenderListBox): Initialize new data members. 62641 (WebCore::RenderListBox::updateFromElement): Remove scrolling code. 62642 (WebCore::RenderListBox::selectionChanged): Moved from header. Calls repaint 62643 and then scrollToRevealSelection, but if we need layout, instead schedules 62644 scrollToRevealSelection to be done after layout. 62645 (WebCore::RenderListBox::layout): Added. After calling base class, calls 62646 scrollToRevealSelection if the m_scrollToRevealSelectionAfterLayout is set. 62647 (WebCore::RenderListBox::scrollToRevealSelection): Added. Code was originally 62648 in updateFromElement. 62649 (WebCore::RenderListBox::autoscroll): Set m_inAutoscroll so that the 62650 selectionChanged function knows not to scroll. Also removed the repaint() 62651 here because updateListBoxSelection() takes care of repainting by calling 62652 selectionChanged(). 62653 62654 2007-01-21 David Kilzer <ddkilzer (a] webkit.org> 62655 62656 * page/EventHandler.cpp: 62657 (WebCore::EventHandler::handleMouseMoveEvent): Changed #if SVG_SUPPORT to #ifdef SVG_SUPPORT. 62658 62659 2007-01-20 Mitz Pettel <mitz (a] webkit.org> 62660 62661 Reviewed by Maciej. 62662 62663 - fix http://bugs.webkit.org/show_bug.cgi?id=11115 62664 REGRESSION: Crash on Flickr after hitting cancel from adding a note 62665 62666 Test: fast/forms/text-set-value-crash.html 62667 62668 * html/HTMLInputElement.cpp: 62669 (WebCore::HTMLInputElement::setValue): Added a call to Document::updateRendering(). 62670 * html/HTMLTextAreaElement.cpp: 62671 (WebCore::HTMLTextAreaElement::setValue): Ditto. 62672 62673 2007-01-20 Mitz Pettel <mitz (a] webkit.org> 62674 62675 Reviewed by Darin. 62676 62677 - fix http://bugs.webkit.org/show_bug.cgi?id=8360 62678 Repro crash when onscroll handler deletes the scrolled object 62679 62680 Test: fast/layers/removed-by-scroll-handler.html 62681 62682 * rendering/RenderLayer.cpp: 62683 (WebCore::RenderLayer::RenderLayer): 62684 (WebCore::RenderLayer::dispatchScrollEvent): Added. Called when the timer 62685 fires and dispatches the scroll event to the layer's element. 62686 (WebCore::RenderLayer::scrollToOffset): Instead of dispatching the scroll 62687 event from this function, which is called during layout, schedule a 0-duration 62688 timer to dispatch the event after layout. 62689 (WebCore::RenderLayer::scrollRectToVisible): 62690 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 62691 (WebCore::Marquee::start): 62692 * rendering/RenderLayer.h: 62693 62694 2007-01-20 Nikolas Zimmermann <zimmermann (a] kde.org> 62695 62696 Reviewed by Sam. 62697 62698 Fix JS bindings for SVGAnimated{Boolean, Enumeration, Integer, Number, String}. 62699 62700 Dynamic SVG DOM updates (ie. "someUse.href.baseVal = '#rect'") with these types 62701 didn't work. Existing gradient updating examples relied on calling setAttribute 62702 after a SVG DOM update - that was the only reason it worked, added a new test 62703 only using SVG DOM updates (js-update-stop.svg). 62704 62705 Added test: js-update-stop.svg 62706 Added test: use-property-changes-through-dom.svg (change xlink:href, x/y attributes using setAttribute) 62707 Added test: use-property-changes-through-svg-dom.svg (change xlink:href, x/y attributes using SVG DOM) 62708 62709 * bindings/js/JSSVGPODTypeWrapper.h: 62710 (WebCore::JSSVGPODTypeWrapper::commitChange): 62711 (WebCore::JSSVGPODTypeWrapperCreator::commitChange): 62712 (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange): 62713 * bindings/js/JSSVGPathSegListCustom.cpp: 62714 (WebCore::updatePathSegContextMap): 62715 (WebCore::removeFromPathSegContextMap): 62716 * bindings/scripts/CodeGeneratorJS.pm: 62717 * ksvg2/misc/SVGDocumentExtensions.h: 62718 (WebCore::SVGDocumentExtensions::baseValueMap): 62719 (WebCore::SVGDocumentExtensions::genericContextMap): 62720 (WebCore::SVGDocumentExtensions::baseValue): 62721 (WebCore::SVGDocumentExtensions::setBaseValue): 62722 (WebCore::SVGDocumentExtensions::removeBaseValue): 62723 (WebCore::SVGDocumentExtensions::hasBaseValue): 62724 (WebCore::SVGDocumentExtensions::genericContext): 62725 (WebCore::SVGDocumentExtensions::setGenericContext): 62726 (WebCore::SVGDocumentExtensions::removeGenericContext): 62727 (WebCore::SVGDocumentExtensions::hasGenericContext): 62728 (WebCore::String): 62729 (WebCore::FloatRect): 62730 (WebCore::bool): 62731 (WebCore::double): 62732 * ksvg2/svg/SVGClipPathElement.h: 62733 * ksvg2/svg/SVGElement.h: 62734 (WebCore::SVGElement::notifyAttributeChange): 62735 * ksvg2/svg/SVGPathSegList.cpp: 62736 (WebCore::SVGPathSegList::SVGPathSegList): 62737 (WebCore::SVGPathSegList::context): 62738 * ksvg2/svg/SVGPathSegList.h: 62739 * ksvg2/svg/SVGPatternElement.h: 62740 * ksvg2/svg/SVGPointList.cpp: 62741 (SVGPointList::SVGPointList): 62742 (SVGPointList::context): 62743 * ksvg2/svg/SVGPointList.h: 62744 * ksvg2/svg/SVGStopElement.cpp: 62745 (WebCore::SVGStopElement::parseMappedAttribute): 62746 (WebCore::SVGStopElement::notifyAttributeChange): 62747 * ksvg2/svg/SVGStopElement.h: 62748 * ksvg2/svg/SVGUseElement.cpp: 62749 (WebCore::SVGUseElement::notifyAttributeChange): 62750 62751 2007-01-20 Rob Buis <buis (a] kde.org> 62752 62753 Reviewed by Sam. 62754 62755 http://bugs.webkit.org/show_bug.cgi?id=12334 62756 Respect <text> boundaries for svg text selecting 62757 62758 Make sure the text selection for svg stays inside 62759 containing blocks. 62760 Added one manual test since html selection does not 62761 seem to work for SVG and selectSubString for SVG 62762 is not implemented yet. 62763 62764 * manual-tests/svg-text-selection.svg: Added. 62765 * page/EventHandler.cpp: 62766 (WebCore::EventHandler::handleMouseMoveEvent): 62767 * rendering/RenderObject.h: 62768 (WebCore::RenderObject::isSVGText): 62769 * rendering/RenderSVGInlineText.h: 62770 (WebCore::RenderSVGInlineText::isSVGText): 62771 * rendering/RenderSVGText.h: 62772 (WebCore::RenderSVGText::isSVGText): 62773 62774 2007-01-19 Adele Peterson <adele (a] apple.com> 62775 62776 Reviewed by Hyatt. 62777 62778 Fix for: <rdar://problem/4697438> REGRESSION: select menu lists match the wrong css rule on www.chainreaction.com 62779 62780 Update the size attribute value for select elements to match the numeric value. This is a special case since this 62781 attribute is used to determine which control to use. We want to make sure that the size attribute is valid when we match 62782 CSS rules. 62783 62784 Test: fast/forms/select-size.html 62785 62786 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): If the attribute string value is not the 62787 same as its integer value, then update the attribute value to match the integer. 62788 * dom/Attribute.h: Made setValue and setPrefix public. 62789 62790 2007-01-19 John Sullivan <sullivan (a] apple.com> 62791 62792 Reviewed by Darin 62793 62794 - WebCore part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to 62795 type a character before username/password autofill kicks in 62796 62797 * loader/FrameLoaderClient.h: 62798 new dispatchDidFinishDocumentLoad call 62799 62800 * loader/FrameLoader.cpp: 62801 (WebCore::FrameLoader::finishedParsing): 62802 call dispatchDidFinishDocumentLoad 62803 62804 * platform/graphics/svg/SVGImageEmptyClients.h: 62805 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishDocumentLoad): 62806 empty implementation for dispatchDidFinishDocumentLoad 62807 62808 2007-01-19 Adele Peterson <adele (a] apple.com> 62809 62810 Reviewed by Hyatt. 62811 62812 Fix for <rdar://problem/4760280> REGRESSION: Bottom portion of text hangs off edge of SELECT element at http://macreviewzone.com/index.php 62813 62814 Test: fast/forms/control-restrict-line-height.html 62815 62816 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize): Don't honor line-height for controls that 62817 have restricted font size. 62818 62819 2007-01-19 Darin Adler <darin (a] apple.com> 62820 62821 Reviewed by Adele. 62822 62823 - fix http://bugs.webkit.org/show_bug.cgi?id=11999 62824 <rdar://problem/4940442> REGRESSION: Incomplete listing in TVListings window (11999) 62825 Fix was to use the actual size of the renderer in the RenderListBox 62826 case, instead of always using the size specified by the select element. 62827 62828 Test: fast/forms/select-list-box-with-height.html 62829 62830 - fix http://bugs.webkit.org/show_bug.cgi?id=11995 62831 <rdar://problem/4901834> REGRESSION(NativeListBox): Focus is not placed on 62832 SELECT after mousing down on OPTION 62833 62834 Test: fast/forms/select-list-box-mouse-focus.html 62835 62836 - fix bug where auto-scrolling was not working in list box select elements 62837 62838 No test yet. 62839 62840 - fix a missing semicolon in the radio/checkbox section of html4.css 62841 62842 Test: fast/forms/radio-no-theme-padding.html 62843 62844 - fix bug where the scroll bars for select elements were pixel-type scroll 62845 bars even though the scrolling is line at a time scrolling 62846 62847 No test. 62848 62849 * html/HTMLSelectElement.cpp: 62850 (WebCore::HTMLSelectElement::selectAll): Removed an explicit call 62851 to repaint, since the RenderListBox now does that in selectionChanged. 62852 (WebCore::HTMLSelectElement::notifyOptionSelected): Call the new 62853 selectionChanged instead of the old setSelectionChanged. 62854 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Added a call 62855 to focus. Removed an explicit call to repaint and added a call to the 62856 new setMouseDownMayStartAutoscroll function in EventHandler. Removed an 62857 explicit call to repaint as above. 62858 (WebCore::HTMLSelectElement::updateListBoxSelection): Call the new 62859 selectionChanged instead of the old setSelectionChanged. 62860 62861 * page/EventHandler.h: Added setMouseDownMayStartAutoscroll, needed 62862 because the existing code to set that flag won't get triggered when 62863 the select element's default event handler handles the event. 62864 62865 * rendering/RenderListBox.h: Made ScrollbarClient a private base class. 62866 Removed setSelectionChanged and m_selectionChanged. Added selectionChanged, 62867 which is really just a synonym for repaint for now. Moved valueChanged, 62868 the ScrollbarClient function implementations, and itemHeight into the 62869 private part of the class. Added numVisibleItems() and listHeight() to 62870 the private section. Changed m_vBar to be a RefPtr. 62871 62872 * rendering/RenderListBox.cpp: Removed unneeded includes. Moved all 62873 the constants to the top of the file. 62874 (WebCore::RenderListBox::RenderListBox): Removed initialization of 62875 m_selectionChanged because it was removed and of m_vBar because it's 62876 now a RefPtr which is automaticall initialized. 62877 (WebCore::RenderListBox::~RenderListBox): Removed the explicit deref of 62878 m_vBar because it's a RefPtr. Added null checking for FrameView. 62879 (WebCore::RenderListBox::updateFromElement): Use numItems(). 62880 (WebCore::RenderListBox::calcMinMaxWidth): Added null checking for 62881 FrameView and used RefPtr for the newly-created scroll bar. 62882 (WebCore::RenderListBox::size): Tweaked formatting. Also renamed the 62883 misleading minDefaultSize to maxDefaultSize, since it's a maximum. 62884 (WebCore::RenderListBox::numVisibleItems): Added. Used in many places 62885 where size() was used before. This computes the number of rows we have 62886 room for. We don't need a row space after the last row, and this takes 62887 that into account. 62888 (WebCore::RenderListBox::numItems): Tweaked to remove the local variable. 62889 (WebCore::RenderListBox::listHeight): Added. Total height of all the rows 62890 and spaces between them. 62891 (WebCore::RenderListBox::calcHeight): Changed to call itemHeight for the 62892 row height, and to subtract the last row spacing off since we don't need 62893 a space after the last row. Changed the scroll bar setup to make it 62894 correspond to row numbers, not pixel numbers. 62895 (WebCore::RenderListBox::baselinePosition): Moved the comment to the 62896 constant declaration at the top of the file. 62897 (WebCore::RenderListBox::itemBoundingBoxRect): Simplified by using 62898 the itemHeight() function. 62899 (WebCore::RenderListBox::paintObject): Changed to use numItems and 62900 to use numVisibleItems instead of size. 62901 (WebCore::RenderListBox::isPointInScrollbar): Added get() call since 62902 m_vBar is now a RefPtr. 62903 (WebCore::RenderListBox::listIndexAtOffset): Changed to use numItems(), 62904 itemHeight(), and rearranged a min/max combo so it starts with the low, 62905 then the value, then the high value for pinning. 62906 (WebCore::RenderListBox::autoscroll): Use numVisibleItems() instead of 62907 size(). 62908 (WebCore::RenderListBox::stopAutoscroll): Removed an unneeded nil check 62909 of the element. 62910 (WebCore::RenderListBox::scrollToRevealElementAtListIndex): Changed 62911 to use numItems() and to use numVisibleItems() instead of size(). 62912 Also changed scroll bar code to work more simply now that the scroll 62913 bar is row-based. 62914 (WebCore::RenderListBox::listIndexIsVisible): Changed to use 62915 numVisibleItems() instead of size(). 62916 (WebCore::RenderListBox::valueChanged): Simplified since the scrollbar 62917 is now row-based. Also removed an unnecessary null check. 62918 (WebCore::RenderListBox::itemHeight): Updated for name change from 62919 optionsSpacingMiddle to rowSpacing. 62920 (WebCore::RenderListBox::scrollHeight): Changed to use listHeight(). 62921 (WebCore::RenderListBox::setScrollTop): Simplified, and removed the code 62922 that does nothing if the computed list index is visible (which did not 62923 make sense for this function and seemed a cut and paste error from the 62924 scrollToReveal function). The scrollbar part is simpler now that it's 62925 row-based. 62926 (WebCore::RenderListBox::windowClipRect): Changed to use document()->view() 62927 so we don't have to include RenderView.h. 62928 62929 * css/html4.css: Added a semicolon I noticed was missing. 62930 62931 2007-01-19 Beth Dakin <bdakin (a] apple.com> 62932 62933 Reviewed by Maciej and Darin. 62934 62935 Fix for <rdar://problem/4702420> REGRESSION: Null characters need 62936 to be stripped from text nodes (townhall.com) 62937 62938 This was a regression from the fix for <rdar://problem/3727939> 62939 Safari strips \0 characters from HTML tags making them valid, which 62940 was fixed with r12652. We still need to strip null characters in 62941 text nodes. 62942 62943 * html/HTMLTokenizer.cpp: 62944 (WebCore::HTMLTokenizer::write): No behavior change here, this is 62945 just to make Darin happy. 62946 (WebCore::HTMLTokenizer::processToken): Call into StringImpl's new 62947 createStrippingNull function instead of the normal StringImpl 62948 constructor. 62949 * platform/StringImpl.cpp: 62950 (WebCore::StringImpl::createStrippingNull): Strip null. 62951 * platform/StringImpl.h: 62952 62953 2007-01-19 David Kilzer <ddkilzer (a] webkit.org> 62954 62955 Reviewed by NOBODY (no-svg build fix). 62956 62957 * ksvg2/svg/SVGMPathElement.cpp: Added #ifdef SVG_SUPPORT/#endif guards. 62958 62959 2007-01-19 Anders Carlsson <acarlsson (a] apple.com> 62960 62961 Build fix. 62962 62963 * platform/graphics/svg/SVGImageEmptyClients.h: 62964 (WebCore::SVGEmptyChromeClient::setStatusbarText): 62965 62966 2007-01-18 Anders Carlsson <acarlsson (a] apple.com> 62967 62968 Reviewed by Adam. 62969 62970 Move JavaScript alert and status bar functions to the chrome. 62971 62972 * bindings/js/kjs_window.cpp: 62973 (KJS::WindowFunc::callAsFunction): 62974 * page/Chrome.cpp: 62975 (WebCore::Chrome::runJavaScriptAlert): 62976 (WebCore::Chrome::runJavaScriptConfirm): 62977 (WebCore::Chrome::runJavaScriptPrompt): 62978 (WebCore::Chrome::setStatusBarText): 62979 * page/Chrome.h: 62980 * page/ChromeClient.h: 62981 * page/Frame.cpp: 62982 (WebCore::Frame::setJSStatusBarText): 62983 (WebCore::Frame::setJSDefaultStatusBarText): 62984 * page/Frame.h: 62985 * page/mac/FrameMac.h: 62986 * page/mac/FrameMac.mm: 62987 * page/mac/WebCoreFrameBridge.h: 62988 * platform/graphics/svg/SVGImageEmptyClients.h: 62989 (WebCore::SVGEmptyChromeClient::runJavaScriptAlert): 62990 (WebCore::SVGEmptyChromeClient::runJavaScriptConfirm): 62991 (WebCore::SVGEmptyChromeClient::runJavaScriptPrompt): 62992 (WebCore::SVGEmptyChromeClient::setStatusBarText): 62993 62994 2007-01-19 Zack Rusin <zack (a] kde.org> 62995 62996 Fix the build. 62997 62998 * WebCore.pro: Add missing files 62999 63000 2007-01-19 Eric Seidel <eric (a] webkit.org> 63001 63002 Reviewed by rwlbuis. 63003 63004 More cleanup to SVGAnimated* classes. 63005 63006 No tests possible (only code cleanup) 63007 63008 * ksvg2/svg/SVGAnimateMotionElement.cpp: 63009 (WebCore::SVGAnimateMotionElement::applyAnimationToValue): 63010 * ksvg2/svg/SVGAnimateMotionElement.h: 63011 * ksvg2/svg/SVGAnimationElement.cpp: 63012 (WebCore::SVGAnimationElement::parseBeginOrEndValue): 63013 (WebCore::SVGAnimationElement::parseMappedAttribute): 63014 (WebCore::SVGAnimationElement::parseClockValue): 63015 (WebCore::SVGAnimationElement::isIndefinite): 63016 * ksvg2/svg/SVGAnimationElement.h: 63017 63018 2007-01-19 Nikolas Zimmermann <zimmermann (a] kde.org> 63019 63020 Not reviewed. 63021 63022 Remove accidently commited debug output. Shame on me :-) 63023 63024 * ksvg2/svg/SVGUseElement.cpp: 63025 (WebCore::SVGUseElement::notifyAttributeChange): 63026 63027 2007-01-19 Nikolas Zimmermann <zimmermann (a] kde.org> 63028 63029 Reviewed by Eric. 63030 63031 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10410 (SVG Slider example renders completely wrong (inserting <use> dynamically doesn't work)) 63032 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11660 (SVG: creation of <use/> elements through scripting/DOM doesn't work) 63033 63034 Added test: svg/custom/use-instanceRoot-modifications.svg 63035 Added test: svg/custom/use-on-g.svg 63036 Added test: svg/custom/use-on-rect.svg 63037 Added test: svg/custom/use-on-symbol-inside-pattern.svg 63038 Added test: svg/custom/use-on-symbol.svg 63039 Added test: svg/custom/use-on-text.svg 63040 Added test: svg/custom/use-transform.svg 63041 63042 Fixes: svg/W3C-SVG-1.1/text-text-04-t.svg (missing use elements) 63043 Fixes: svg/carto.net/button.svg (image buttons didn't appear) 63044 Fixes: svg/carto.net/colourpicker.svg (slider handles finally show up) 63045 Fixes: svg/carto.net/slider.svg (slider handles finally show up) 63046 Fixes: svg/carto.net/window.svg (window decorations show up) 63047 Fixes: svg/custom/use-forward-refs.svg (missing use elements) 63048 63049 Rewrite <use> support with a real-shadow tree (as the spec demands), and implement SVGElementInstance. 63050 AFAIK we're the first implementing this SVG feature - after ASV3 (!). 63051 63052 * DerivedSources.make: 63053 * WebCore.xcodeproj/project.pbxproj: 63054 * bindings/objc/DOMInternal.h: 63055 * bindings/objc/DOMSVG.h: 63056 * ksvg2/misc/SVGDocumentExtensions.cpp: 63057 (WebCore::SVGDocumentExtensions::reportWarning): 63058 (WebCore::SVGDocumentExtensions::reportError): 63059 (WebCore::SVGDocumentExtensions::addPendingResource): 63060 (WebCore::SVGDocumentExtensions::isPendingResource): 63061 (WebCore::SVGDocumentExtensions::removePendingResource): 63062 (WebCore::SVGDocumentExtensions::mapInstanceToElement): 63063 (WebCore::SVGDocumentExtensions::removeInstanceMapping): 63064 (WebCore::SVGDocumentExtensions::instancesForElement): 63065 * ksvg2/misc/SVGDocumentExtensions.h: 63066 * ksvg2/svg/SVGCircleElement.cpp: 63067 (WebCore::SVGCircleElement::notifyAttributeChange): 63068 * ksvg2/svg/SVGElement.cpp: 63069 (WebCore::SVGElement::insertedIntoDocument): 63070 * ksvg2/svg/SVGElement.h: 63071 (WebCore::SVGElement::buildPendingResource): 63072 * ksvg2/svg/SVGElementInstance.cpp: 63073 (WebCore::SVGElementInstance::SVGElementInstance): 63074 (WebCore::SVGElementInstance::~SVGElementInstance): 63075 (WebCore::SVGElementInstance::clonedElement): 63076 (WebCore::SVGElementInstance::correspondingElement): 63077 (WebCore::SVGElementInstance::correspondingUseElement): 63078 (WebCore::SVGElementInstance::parentNode): 63079 (WebCore::SVGElementInstance::childNodes): 63080 (WebCore::SVGElementInstance::previousSibling): 63081 (WebCore::SVGElementInstance::nextSibling): 63082 (WebCore::SVGElementInstance::firstChild): 63083 (WebCore::SVGElementInstance::lastChild): 63084 (WebCore::SVGElementInstance::appendChild): 63085 (WebCore::SVGElementInstance::updateInstance): 63086 * ksvg2/svg/SVGElementInstance.h: 63087 * ksvg2/svg/SVGElementInstance.idl: Added. 63088 * ksvg2/svg/SVGElementInstanceList.cpp: 63089 (WebCore::SVGElementInstanceList::SVGElementInstanceList): 63090 (WebCore::SVGElementInstanceList::length): 63091 (WebCore::SVGElementInstanceList::item): 63092 * ksvg2/svg/SVGElementInstanceList.h: 63093 * ksvg2/svg/SVGElementInstanceList.idl: Added. 63094 * ksvg2/svg/SVGEllipseElement.cpp: 63095 (WebCore::SVGEllipseElement::notifyAttributeChange): 63096 * ksvg2/svg/SVGGElement.cpp: 63097 * ksvg2/svg/SVGGElement.h: 63098 (WebCore::SVGGElement::contextElement): 63099 * ksvg2/svg/SVGGradientElement.cpp: 63100 * ksvg2/svg/SVGGradientElement.h: 63101 * ksvg2/svg/SVGHiddenElement.h: Added. 63102 (WebCore::SVGHiddenElement::Type): 63103 (WebCore::SVGHiddenElement::~SVGHiddenElement): 63104 (WebCore::SVGHiddenElement::localName): 63105 * ksvg2/svg/SVGImageElement.cpp: 63106 (WebCore::SVGImageElement::notifyAttributeChange): 63107 * ksvg2/svg/SVGLineElement.cpp: 63108 (WebCore::SVGLineElement::notifyAttributeChange): 63109 * ksvg2/svg/SVGPathElement.cpp: 63110 (WebCore::SVGPathElement::notifyAttributeChange): 63111 * ksvg2/svg/SVGPatternElement.cpp: 63112 * ksvg2/svg/SVGPatternElement.h: 63113 * ksvg2/svg/SVGPolyElement.cpp: 63114 (WebCore::SVGPolyElement::notifyAttributeChange): 63115 * ksvg2/svg/SVGRectElement.cpp: 63116 (WebCore::SVGRectElement::notifyAttributeChange): 63117 * ksvg2/svg/SVGStyledElement.cpp: 63118 (WebCore::SVGStyledElement::notifyAttributeChange): 63119 (WebCore::SVGStyledElement::updateElementInstance): 63120 * ksvg2/svg/SVGStyledElement.h: 63121 * ksvg2/svg/SVGUseElement.cpp: 63122 (WebCore::SVGUseElement::instanceRoot): 63123 (WebCore::SVGUseElement::animatedInstanceRoot): 63124 (WebCore::SVGUseElement::hasChildNodes): 63125 (WebCore::SVGUseElement::insertedIntoDocument): 63126 (WebCore::SVGUseElement::buildPendingResource): 63127 (WebCore::SVGUseElement::createRenderer): 63128 (WebCore::SVGUseElement::buildShadowTree): 63129 (WebCore::SVGUseElement::recursiveShadowTreeBuilder): 63130 (WebCore::dumpShadowTree): 63131 (WebCore::SVGUseElement::addShadowTree): 63132 * ksvg2/svg/SVGUseElement.h: 63133 * ksvg2/svg/SVGUseElement.idl: 63134 63135 2007-01-19 Eric Seidel <eric (a] webkit.org> 63136 63137 Reviewed by rwlbuis. 63138 63139 Add support for SVGMPathElement parsing. 63140 63141 No test cases possible (SVGAnimateMotion doesn't work yet) 63142 63143 * WebCore.xcodeproj/project.pbxproj: 63144 * ksvg2/svg/SVGAnimateMotionElement.cpp: 63145 (WebCore::SVGAnimateMotionElement::animationPath): 63146 * ksvg2/svg/SVGMPathElement.cpp: Added. 63147 (WebCore::SVGMPathElement::SVGMPathElement): 63148 (WebCore::SVGMPathElement::~SVGMPathElement): 63149 (WebCore::SVGMPathElement::parseMappedAttribute): 63150 (WebCore::SVGMPathElement::pathElement): 63151 * ksvg2/svg/SVGMPathElement.h: Added. 63152 * ksvg2/svg/SVGNumberList.cpp: 63153 (WebCore::SVGNumberList::parse): fix typo in comment 63154 * ksvg2/svg/svgtags.in: add back mpath 63155 63156 2007-01-19 Eric Seidel <eric (a] webkit.org> 63157 63158 Reviewed by rwlbuis. 63159 63160 Implement better parsing for keyTimes, keySplines and keyPoints. 63161 63162 Unfortunately none of this code is used much yet, thus isn't very testable. 63163 63164 * ksvg2/svg/SVGAnimateMotionElement.cpp: 63165 (WebCore::SVGAnimateMotionElement::parseMappedAttribute): 63166 * ksvg2/svg/SVGAnimationElement.cpp: 63167 (WebCore::SVGAnimationElement::parseKeyNumbers): 63168 (WebCore::parseKeySplines): 63169 (WebCore::SVGAnimationElement::parseMappedAttribute): 63170 * ksvg2/svg/SVGAnimationElement.h: 63171 * ksvg2/svg/SVGNumberList.cpp: 63172 (WebCore::SVGNumberList::parse): 63173 63174 2007-01-18 Adam Roben <aroben (a] apple.com> 63175 63176 Reviewed by Beth. 63177 63178 Fix: <rdar://problem/4939672> REGRESSION: With text selected that is 63179 not a link, the "Remove Link" contextual menu item remains active 63180 63181 * platform/ContextMenuItem.h: Added enabled method. 63182 * platform/qt/ContextMenuItemQt.cpp: 63183 (WebCore::ContextMenuItem::enabled): Implemented. 63184 * platform/mac/ContextMenuItemMac.mm: 63185 (WebCore::ContextMenuItem::enabled): Ditto. 63186 * platform/mac/ContextMenuMac.mm: 63187 (-[WebCoreMenuTarget validateMenuItem:]): Implemented to fulfill the 63188 NSMenuValidation protocol. 63189 63190 2007-01-18 Beth Dakin <bdakin (a] apple.com> 63191 63192 Reviewed by Adele. 63193 63194 Fix for <rdar://problem/4939558> REGRESSION: "Search in Google", 63195 "Search in Spotlight" and "Look up in Dictionary" are missing 63196 initially from the contextual menu 63197 63198 The bug here is that we select the we were selecting the word after 63199 the context menu event was dispatched and after the context menu 63200 was built up. 63201 63202 * page/EventHandler.cpp: 63203 (WebCore::EventHandler::sendContextMenuEvent): Select the word 63204 before dispatching the event. It is safe to remove the check for 63205 swallowEvent since WebCore context menus ensure that we always 63206 swallow the event anyway. 63207 63208 2007-01-18 Mark Rowe <mrowe (a] apple.com> 63209 63210 Reviewed by Tim H. 63211 63212 Fix for http://bugs.webkit.org/show_bug.cgi?id=7926 63213 Bug 7926: Crash using -callWebScriptMethod to access offsetTop property 63214 63215 * bindings/objc/WebScriptObject.mm: 63216 (-[WebScriptObject callWebScriptMethod:withArguments:]): Bail out early if function value is an immediate, 63217 or if the function object is not callable. 63218 63219 2007-01-18 Sam Weinig <sam (a] webkit.org> 63220 63221 Reviewed by Maciej. 63222 63223 Patch for http://bugs.webkit.org/show_bug.cgi?id=11853 63224 REGRESSION (r17352): Whitespace in <title> is rendered 63225 63226 * loader/DocumentLoader.cpp: 63227 (WebCore::canonicalizedTitle): Changed to also collapse internal 63228 whitespace. This required removing an optimization that is no 63229 longer possible. 63230 * manual-tests/title-internal-whitespace.html: Added. 63231 63232 2007-01-18 Mitz Pettel <mitz (a] webkit.org> 63233 63234 Reviewed by Maciej. 63235 63236 - fix http://bugs.webkit.org/show_bug.cgi?id=12039 63237 Assertion failure in WebCore::Font::primaryFont 63238 63239 Test: fast/text/font-initial.html 63240 63241 * css/cssstyleselector.cpp: 63242 (WebCore::CSSStyleSelector::applyProperty): Give 'font: initial' the 63243 Standard generic family. This makes the FontDescription different from 63244 that of the initial font of a GraphicsContext, ensuring that the latter 63245 will not be used. 63246 63247 2007-01-18 Mitz Pettel <mitz (a] webkit.org> 63248 63249 Reviewed by Darin. 63250 63251 - fix http://bugs.webkit.org/show_bug.cgi?id=11451 63252 REGRESSION: Dell.com does not render correctly in ToT (stylesheet not loaded) 63253 63254 Test: http/tests/misc/css-accept-any-type.html 63255 63256 * loader/CachedCSSStyleSheet.cpp: 63257 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Changed the accept header 63258 for stylesheets to "text/css,*/*;q=0.1" to match Firefox, accepting CSS served 63259 as any type. 63260 63261 2007-01-18 Mitz Pettel <mitz (a] webkit.org> 63262 63263 Reviewed by Darin. 63264 63265 - fix http://bugs.webkit.org/show_bug.cgi?id=11271 63266 REGRESSION (r12358): Text in display: table unselectable 63267 63268 Test: editing/selection/display-table-text.html 63269 63270 * editing/htmlediting.cpp: 63271 (WebCore::isTableElement): Changed to return false for text nodes. 63272 63273 2007-01-18 Mitz Pettel <mitz (a] webkit.org> 63274 63275 Reviewed by Darin. 63276 63277 - fix http://bugs.webkit.org/show_bug.cgi?id=6218 63278 CSS1: WebTextRenderer caches and re-uses fallback renderers that are based on family lists 63279 63280 This patch takes character-to-glyph mapping out of FontData and instead makes 63281 each Font keep its own mapping, using a shared set of glyph page fallback trees. 63282 63283 For each page number there is (at most) one tree. A path from the root to a 63284 node in the tree corresponds to a fallback list of FontDatas. The node points to 63285 a page (which may be shared with other nodes) that maps each character in its range 63286 to a glyph in the first FontData in the fallback list that has it, or to 0 if none of 63287 the FontDatas has a glyph for that character. A special kind of node, that can 63288 only occur as a leaf, corresponds to using system fallback fonts after the list 63289 has been exhausted. This prevents system fallback from polluting non-leaf 63290 nodes. 63291 63292 Nodes and pages are initialized lazily and employ "copy on write". 63293 63294 * CMakeLists.txt: 63295 * WebCore.pro: 63296 * WebCore.vcproj/WebCore/WebCore.vcproj: 63297 * WebCore.xcodeproj/project.pbxproj: 63298 * WebCoreSources.bkl: 63299 * platform/Font.cpp: 63300 (WebCore::WidthIterator::WidthIterator): Removed substituteFontData. 63301 (WebCore::WidthIterator::advance): Moved all character-to-glyph mapping logic out 63302 of here and replaced it with a call to Font::glyphDataForCharacter(). 63303 (WebCore::Font::Font): 63304 (WebCore::Font::operator=): 63305 (WebCore::Font::glyphDataForCharacter): Added. This method performs the lookup in the 63306 page fallback trees, triggering lazy initialization as needed, and caching pointers to 63307 the retrieved page tree nodes in the font. 63308 (WebCore::Font::update): 63309 (WebCore::Font::drawSimpleText): 63310 (WebCore::Font::floatWidth): 63311 (WebCore::Font::floatWidthForSimpleText): Removed substituteFont argument. 63312 (WebCore::Font::offsetForPositionForSimpleText): 63313 * platform/Font.h: 63314 * platform/FontData.cpp: 63315 (WebCore::FontData::FontData): 63316 * platform/FontData.h: 63317 (WebCore::FontData::missingGlyphData): Added. Returns the "missing glyph" GlyphData for 63318 this FontData. 63319 * platform/GlyphMap.cpp: Removed. 63320 * platform/GlyphMap.h: Removed. 63321 * platform/GlyphPageTreeNode.cpp: Renamed GlyphMap.cpp to this. 63322 (WebCore::GlyphPageTreeNode::getRoot): Added. Returns the root of the page fallback tree for 63323 the given page number. 63324 (WebCore::GlyphPageTreeNode::initializePage): Added. Helper method that initializes the page 63325 pointer of a node, possibly to a pointer to another node's page or to 0. 63326 (WebCore::GlyphPageTreeNode::getChild): Added. 63327 * platform/GlyphPageTreeNode.h: Renamed GlyphMap.h to this. 63328 (WebCore::GlyphPage::glyphDataForCharacter): 63329 (WebCore::GlyphPage::setGlyphDataForCharacter): 63330 (WebCore::GlyphPage::setGlyphDataForIndex): 63331 (WebCore::GlyphPageTreeNode::GlyphPageTreeNode): 63332 (WebCore::GlyphPageTreeNode::getRootChild): 63333 (WebCore::GlyphPageTreeNode::parent): 63334 (WebCore::GlyphPageTreeNode::page): 63335 (WebCore::GlyphPageTreeNode::level): 63336 (WebCore::GlyphPageTreeNode::isSystemFallback): Added. Returns whether the node corresponds 63337 to the system providing fallback fonts, which is done on a character-by-character basis. 63338 * platform/gdk/GlyphMapGdk.cpp: Removed. 63339 * platform/gdk/GlyphPageTreeNodeGdk.cpp: Renamed GlyphMapGdk.cpp to this. 63340 (WebCore::GlyphPage::fill): 63341 * platform/mac/FontDataMac.mm: 63342 (WebCore::FontData::platformInit): 63343 * platform/mac/FontMac.mm: 63344 (WebCore::Font::Font): 63345 * platform/mac/GlyphMapMac.cpp: Removed. 63346 * platform/mac/GlyphPageTreeNodeMac.cpp: Renamed GlypMapMac.cpp to this. 63347 (WebCore::GlyphPage::fill): Changed to return false if the font has no glyphs in the page. 63348 * platform/qt/GlyphMapQt.cpp: Removed. 63349 * platform/qt/GlyphPageTreeNodeQt.cpp: Renamed GlyphMapQt.cpp to this. 63350 (WebCore::GlyphPage::fill): 63351 * platform/win/GlyphMapWin.cpp: Removed. 63352 * platform/win/GlyphPageTreeNodeWin.cpp: Renamed GlyphMapWin to this. 63353 (WebCore::GlyphPage::fill): 63354 63355 2007-01-18 Mitz Pettel <mitz (a] webkit.org> 63356 63357 Reviewed by Darin. 63358 63359 - fix http://bugs.webkit.org/show_bug.cgi?id=9952 63360 REGRESSION: Repro crash when dragging an image from the window to the address bar 63361 63362 * page/FrameView.cpp: 63363 (WebCore::FrameView::~FrameView): Removed the call to Document::detach(). If this 63364 view is the current view, then the Frame should have already detached the document. 63365 Added an assertion that this is the case. If this view is not the current view, 63366 then it cannot access its document, but the page cache should have detached it already. 63367 Similarly, changed to call RenderPart::setWidget() only if this is the current view 63368 in the frame. 63369 (WebCore::FrameView::adjustViewSize): Added an assertion that this view is the current 63370 view in the frame. 63371 (WebCore::FrameView::layout): Ditto. 63372 (WebCore::FrameView::scheduleRelayout): Ditto. 63373 (WebCore::FrameView::scheduleRelayoutOfSubtree): Ditto. 63374 (WebCore::FrameView::windowClipRect): Ditto. 63375 63376 2007-01-18 Eric Seidel <eric (a] webkit.org> 63377 63378 Reviewed by bdash. 63379 63380 No test needed, removed bogus debug-only ASSERT. 63381 63382 * rendering/RenderSVGContainer.cpp: 63383 (WebCore::RenderSVGContainer::paint): 63384 63385 2007-01-18 Alice Liu <alice.liu (a] apple.com> 63386 63387 Build Fix 63388 63389 * platform/mac/PasteboardMac.mm: 63390 (WebCore::Pasteboard::writeSelection): 63391 63392 2007-01-18 Alice Liu <alice.liu (a] apple.com> 63393 63394 Reviewed by Mark Rowe. 63395 63396 Fixes the leaks from my last patch, except for the first change below which is a missing delegate call for Mail purposes 63397 63398 * editing/Editor.cpp: 63399 (WebCore::Editor::cut): 63400 * platform/Pasteboard.h: 63401 * platform/mac/PasteboardMac.mm: 63402 (WebCore::Pasteboard::Pasteboard): 63403 (WebCore::Pasteboard::clear): 63404 (WebCore::Pasteboard::writeSelection): 63405 (WebCore::Pasteboard::writeURL): 63406 (WebCore::Pasteboard::plainText): 63407 (WebCore::Pasteboard::documentFragment): 63408 63409 2007-01-18 David Hyatt <hyatt (a] apple.com> 63410 63411 Make sure layer autoscrolling puts the event coordinates into the layer's coordinate space before 63412 calling hitTest on it. Fixes "flashy" selection in textareas. 63413 63414 Reviewed by darin 63415 63416 * rendering/RenderLayer.cpp: 63417 (WebCore::RenderLayer::autoscroll): 63418 * rendering/RenderTextControl.cpp: 63419 (WebCore::RenderTextControl::nodeAtPoint): 63420 63421 2007-01-18 Anders Carlsson <acarlsson (a] apple.com> 63422 63423 Reviewed by Adam. 63424 63425 Get rid of ResourceLoaderMac.mm and make willCacheResponse platform-independent. 63426 63427 * loader/ResourceLoader.cpp: 63428 (WebCore::ResourceLoader::willCacheResponse): 63429 * loader/ResourceLoader.h: 63430 * loader/mac/ResourceLoaderMac.mm: Removed. 63431 * platform/network/ResourceHandleClient.h: 63432 (WebCore::): 63433 (WebCore::ResourceHandleClient::willCacheResponse): 63434 (WebCore::ResourceHandleClient::willStopBufferingData): 63435 * platform/network/mac/ResourceHandleMac.mm: 63436 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): 63437 63438 2007-01-18 Maciej Stachowiak <mjs (a] apple.com> 63439 63440 Reviewed by John. 63441 63442 - fixed <rdar://problem/4887416> REGRESSION (SearchField): Assertion failure in HTMLInputElement::setValueFromRenderer when editing via drag and drop (11846) 63443 http://bugs.webkit.org/show_bug.cgi?id=11846 63444 63445 * editing/ReplaceSelectionCommand.cpp: 63446 (WebCore::ReplaceSelectionCommand::doApply): Don't insert extra paragraph separators to avoid 63447 nesting blocks in plaintext mode, since that's not an issue under normal circumstances. 63448 * html/HTMLInputElement.h: 63449 * manual-tests/drag-move-in-search-field.html: Added. 63450 * rendering/RenderTextControl.cpp: 63451 (WebCore::RenderTextControl::subtreeHasChanged): constrain the value; we'd 63452 rather truncate it than end up with an illegal value here. 63453 63454 2007-01-18 Simon Hausmann <hausmann (a] kde.org> 63455 63456 Reviewed by Zack. 63457 63458 * WebCore.pro: Ha^H^HFix to support massive parallel builds. 63459 63460 2007-01-18 David Kilzer <ddkilzer (a] kilzer.net> 63461 63462 Reviewed by Darin and Mitz. 63463 63464 - fix http://bugs.webkit.org/show_bug.cgi?id=12305 63465 REGRESSION: Images do not load in video sections on CNN.com homepage 63466 63467 <rdar://problem/4931480> REGRESSION: Images do not load in video sections on CNN.com homepage (12305) 63468 63469 Test: fast/dom/HTMLImageElement/image-lowsrc-getset.html 63470 63471 * html/HTMLAttributeNames.in: Added lowsrc. 63472 * html/HTMLImageElement.cpp: 63473 (WebCore::HTMLImageElement::isURLAttribute): Added lowsrc. 63474 (WebCore::HTMLImageElement::lowsrc): Added. 63475 (WebCore::HTMLImageElement::setLowsrc): Added. 63476 * html/HTMLImageElement.h: Added lowsrc and setLowsrc. 63477 * html/HTMLImageElement.idl: Added lowsrc. 63478 63479 2007-01-18 Simon Hausmann <hausmann (a] kde.org> 63480 63481 Reviewed by Zack. 63482 63483 * WebCore.pro: Remove generated files on make clean. 63484 63485 2007-01-17 Alice Liu <alice.liu (a] apple.com> 63486 63487 Reviewed by Harrison. 63488 63489 Fix for <rdar://problem/4894155> REGRESSION: Extra line break is pasted with content into message body after choosing File - Paste 63490 63491 Migration of some editing code from WebHTMView to WebCore::Editor 63492 resulted in not calling pasteboardTypesForSelection, which Mail was 63493 overriding for the special purpose of adding a type to the 63494 pasteboard after WebKit did. This patch adds 2 separate code paths 63495 for Tiger and Leopard. On Tiger we give in and call the WebView's 63496 pasteboardTypesForSelection. On Leopard we call a delegate after 63497 the pasteboard types are set. 63498 63499 * bridge/EditorClient.h: 63500 * editing/Editor.h: 63501 * platform/Pasteboard.h: 63502 * platform/graphics/svg/SVGImageEmptyClients.h: 63503 (WebCore::SVGEmptyEditorClient::didSetSelectionTypesForPasteboard): 63504 (WebCore::SVGEmptyEditorClient::pasteboardTypesForSelection): 63505 * platform/mac/PasteboardMac.mm: 63506 (WebCore::Pasteboard::Pasteboard): 63507 (WebCore::Pasteboard::clear): 63508 (WebCore::Pasteboard::writeSelection): 63509 (WebCore::Pasteboard::writeURL): 63510 (WebCore::Pasteboard::plainText): 63511 (WebCore::Pasteboard::documentFragment): 63512 63513 2007-01-17 John Sullivan <sullivan (a] apple.com> 63514 63515 Reviewed by Darin 63516 63517 - WebCore part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during 63518 Replace All if the replacement string contains the search string 63519 63520 * page/Frame.h: 63521 * page/Frame.cpp: 63522 (WebCore::Frame::findString): 63523 new startInSelection parameter -- if true, search starts looking in selection; if false, 63524 search starts looking after the selection 63525 63526 * page/mac/WebCoreFrameBridge.h: 63527 * page/mac/WebCoreFrameBridge.mm: 63528 (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:startInSelection:]): 63529 new startInSelection parameter, passed through to Frame::findString() 63530 63531 * editing/JSEditor.cpp: 63532 pass false for new findString parameter, to match old behavior 63533 63534 2007-01-17 Beth Dakin <bdakin (a] apple.com> 63535 63536 Rubber stamped by Darin. 63537 63538 * rendering/HitTestResult.cpp: Just added a comment. 63539 63540 2007-01-17 Justin Garcia <justin.garcia (a] apple.com> 63541 63542 Reviewed by darin 63543 63544 <rdar://problem/4920488> 63545 REGRESSION: A crash occurs at WebCore::Range::processContents () when removing formatting from selected text (that contains a link) 63546 63547 * dom/Range.cpp: 63548 (WebCore::Range::commonAncestorContainer): Return null if the nodes 63549 don't have a common ancestor. As a side effect, the public 63550 commonAncestorContainer now sets an exception if the Range starts 63551 in one document and ends in another, or starts or ends in a tree 63552 that's been removed from the document. The spec doesn't cover 63553 this and there is no precedent in other browsers for this case because 63554 they don't allow invalid Ranges (you can create one with WebCore 63555 by removing a node that contains the start/end of a Range). 63556 (WebCore::Range::compareBoundaryPoints): If the the two positions 63557 are in nodes that have no common ancestor, return null. This doesn't 63558 change the behavior of the public compareBoundaryPoints: it already 63559 throws an exception if the two positions are in nodes that don't have 63560 a common ancestor. This follows the spec. 63561 63562 2007-01-17 John Sullivan <sullivan (a] apple.com> 63563 63564 The one word was typed by me, but only after debugging for a long time with Darin. 63565 63566 - fixed <rdar://problem/4912002> REGRESSION: Series of words marked as a single misspelled word 63567 63568 * editing/TextIterator.cpp: 63569 (WebCore::WordAwareIterator::WordAwareIterator): 63570 We were creating a TextIterator with the default kind, but WordAwareIterator is designed to work 63571 in concert with CharacterIterator, so they need to use the same kind. CharacterIterator uses 63572 kind RUNFINDER, so WordAwareIterator needs to do so also. 63573 63574 2007-01-17 Adele Peterson <adele (a] apple.com> 63575 63576 Reviewed by Brady. 63577 63578 Fix for <rdar://problem/4900895> REGRESSION: onChange doesn't always fire for popups that have had value changed by JS 63579 63580 No test case since you need to open up the menu to fire onChange. 63581 63582 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setSelectedIndex): 63583 Keep track of m_lastOnChangeIndex even when we're not firing onChange. Since 63584 the selected index has changed, we still want the m_lastOnChangeIndex to be up to date when we compare 63585 it later. This matches our behavior in Safari 2.0. 63586 63587 2007-01-17 Adele Peterson <adele (a] apple.com> 63588 63589 Reviewed by Darin and John. 63590 63591 - Fix for <rdar://problem/4816550> REGRESSION: autoscrolling doesn't work after double-click 63592 63593 * page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): Set swallowEvent bool instead 63594 of returning early for double and triple clicks. 63595 63596 2007-01-17 Darin Adler <darin (a] apple.com> 63597 63598 Reviewed by Hyatt. 63599 63600 * rendering/RenderObject.h: Removed unused nextEditable and previousEditable. 63601 * rendering/RenderObject.cpp: Ditto. 63602 63603 2007-01-17 Darin Adler <darin (a] apple.com> 63604 63605 Reviewed by Maciej. 63606 63607 - fix http://bugs.webkit.org/show_bug.cgi?id=12278 63608 <rdar://problem/4928705> REGRESSION(r13070): Dragged image size includes padding (12278) 63609 63610 * WebCore.exp: Added HitTestResult::imageRect, 63611 removed HitTestResult::boundingBox. 63612 63613 * rendering/HitTestResult.h: 63614 * rendering/HitTestResult.cpp: (WebCore::HitTestResult::imageRect): 63615 Added. Returns the content rectangle of the image. 63616 63617 * rendering/RenderObject.h: 63618 * rendering/RenderObject.cpp: 63619 (WebCore::RenderObject::absolutePosition): Made const. 63620 (WebCore::RenderObject::contentBox): Added. 63621 (WebCore::RenderObject::absoluteContentBox): Added. 63622 63623 * rendering/RenderBox.h: 63624 * rendering/RenderBox.cpp: 63625 (WebCore::RenderBox::absolutePosition): Made const. 63626 63627 * rendering/RenderTableCell.h: 63628 * rendering/RenderTableCell.cpp: 63629 (WebCore::RenderTableCell::absolutePosition): Made const. 63630 63631 * rendering/RenderView.h: 63632 * rendering/RenderView.cpp: 63633 (WebCore::RenderView::absolutePosition): Made const. 63634 63635 2007-01-17 Adele Peterson <adele (a] apple.com> 63636 63637 Reviewed by Beth. 63638 63639 Fix for http://bugs.webkit.org/show_bug.cgi?id=10139 63640 <rdar://problem/4823028> REGRESSION: Reproducible crash when selecting a popup/button with ::selection pseudostyle 63641 63642 Test: fast/css/pseudostyle-anonymous-text.html 63643 63644 * rendering/RenderObject.cpp: (WebCore::RenderObject::getPseudoStyle): Nil check the node. 63645 63646 2007-01-17 Adele Peterson <adele (a] apple.com> 63647 63648 Reviewed by Anders and John. 63649 63650 Fix for http://bugs.webkit.org/show_bug.cgi?id=11278 63651 <rdar://problem/4826875> REGRESSION: Popup width doesn't change to accommodate dynamic changes to options 63652 63653 Test: fast/forms/menulist-width-change.html 63654 63655 * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement): 63656 When the options change, call setNeedsLayoutAndMinMaxRecalc. 63657 63658 2007-01-16 Alexey Proskuryakov <ap (a] webkit.org> 63659 63660 Reviewed by Maciej. 63661 63662 http://bugs.webkit.org/show_bug.cgi?id=12268 63663 Give object prototypes their own names 63664 63665 * bindings/js/kjs_html.cpp: Changed the names of KJS:HTMLElement and KJS::HTMLElement to 63666 not match the names of their WebCore counterparts. The "DOM" prefix I gave them doesn't 63667 seem to carry much sense, but matches some other kjs_html object names. 63668 63669 * bindings/scripts/CodeGeneratorJS.pm: Append "Proto" to interface name for the prototype's ClassInfo. 63670 63671 * bindings/js/JSHTMLInputElementBase.cpp: 63672 (WebCore::JSHTMLInputElementBasePrototypeFunction::callAsFunction): 63673 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): 63674 * bindings/js/JSHTMLInputElementBase.h: 63675 * bindings/js/JSXMLHttpRequest.cpp: 63676 (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp): 63677 (KJS::JSXMLHttpRequest::JSXMLHttpRequest): 63678 (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): 63679 * bindings/js/JSXMLHttpRequest.h: 63680 * bindings/js/JSXSLTProcessor.cpp: 63681 (KJS::JSXSLTProcessor::JSXSLTProcessor): 63682 (KJS::XSLTProcessorPrototypeFunction::callAsFunction): 63683 (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp): 63684 * bindings/js/kjs_css.cpp: 63685 (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration): 63686 (KJS::DOMCSSStyleDeclarationPrototypeFunction::callAsFunction): 63687 (KJS::DOMMediaList::DOMMediaList): 63688 (KJS::KJS::DOMMediaListPrototypeFunction::callAsFunction): 63689 (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet): 63690 (KJS::DOMCSSStyleSheetPrototypeFunction::callAsFunction): 63691 (KJS::DOMCSSValue::DOMCSSValue): 63692 (KJS::DOMCSSValuePrototypeFunction::callAsFunction): 63693 * bindings/js/kjs_css.h: 63694 * bindings/js/kjs_dom.cpp: 63695 (KJS::DOMNode::DOMNode): 63696 (KJS::DOMNodePrototypeFunction::callAsFunction): 63697 (KJS::DOMEventTargetNode::DOMEventTargetNode): 63698 (KJS::DOMEventTargetNodePrototypeFunction::callAsFunction): 63699 (KJS::DOMNamedNodeMap::DOMNamedNodeMap): 63700 (KJS::DOMNamedNodeMapPrototypeFunction::callAsFunction): 63701 * bindings/js/kjs_dom.h: 63702 * bindings/js/kjs_domnode.h: 63703 * bindings/js/kjs_events.cpp: 63704 (KJS::DOMEvent::DOMEvent): 63705 (KJS::DOMEventPrototypeFunction::callAsFunction): 63706 (KJS::Clipboard::Clipboard): 63707 (KJS::ClipboardPrototypeFunction::callAsFunction): 63708 * bindings/js/kjs_events.h: 63709 * bindings/js/kjs_html.cpp: 63710 (KJS::JSHTMLDocumentPrototypeFunction::callAsFunction): 63711 (KJS::): 63712 (KJS::JSHTMLDocument::JSHTMLDocument): 63713 (KJS::JSHTMLElementPrototypeFunction::callAsFunction): 63714 (KJS::JSHTMLElement::JSHTMLElement): 63715 (KJS::JSHTMLCollection::JSHTMLCollection): 63716 (KJS::JSHTMLCollectionPrototypeFunction::callAsFunction): 63717 * bindings/js/kjs_html.h: 63718 * bindings/js/kjs_navigator.cpp: 63719 * bindings/js/kjs_traversal.cpp: 63720 (KJS::DOMNodeFilter::DOMNodeFilter): 63721 (KJS::DOMNodeFilterPrototypeFunction::callAsFunction): 63722 * bindings/js/kjs_window.cpp: 63723 (KJS::Window::clear): 63724 Changed Proto to Prototype, and ProtoFunc to PrototypeFunction. 63725 63726 2007-01-17 Lars Knoll <lars (a] trolltech.com> 63727 63728 Reviewed by Zack and Darin 63729 63730 Fix the Qt build again after the latest Image changes. 63731 Also make some of the methods implemented in ImageCG 63732 crossplatform. 63733 63734 * platform/graphics/BitmapImage.h: 63735 * platform/graphics/Image.cpp: 63736 (WebCore::Image::fillWithSolidColor): 63737 (WebCore::calculatePatternScale): 63738 (WebCore::Image::drawTiled): 63739 * platform/graphics/Image.h: 63740 * platform/graphics/cg/ImageCG.cpp: 63741 (WebCore::BitmapImage::draw): 63742 * platform/graphics/qt/ImageQt.cpp: 63743 (WebCore::Image::loadPlatformResource): 63744 (WebCore::Image::drawPattern): 63745 (WebCore::BitmapImage::initPlatformData): 63746 (WebCore::BitmapImage::invalidatePlatformData): 63747 (WebCore::BitmapImage::draw): 63748 (WebCore::BitmapImage::drawPattern): 63749 * platform/qt/TemporaryLinkStubs.cpp: 63750 63751 2007-01-17 Darin Adler <darin (a] apple.com> 63752 63753 - quick attempt to fix the Qt build 63754 63755 * platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::drawTiled): 63756 Remove obsolete parameters from this stub. 63757 63758 2007-01-17 Eric Seidel <eric (a] webkit.org> 63759 63760 Reviewed by rwlbuis. 63761 63762 Test: svg/custom/inner-svg-hit-test.svg 63763 63764 * rendering/RenderSVGContainer.cpp: 63765 (WebCore::RenderSVGContainer::nodeAtPoint): never allow containers to be hit. 63766 63767 2007-01-17 Lars Knoll <lars (a] trolltech.com> 63768 63769 Reviewed by Zack 63770 63771 Don't call receivedResponse twice for file: URLs. 63772 Never call back into the ResourceHandleClient once 63773 cancel() has been called on the ResourceHandle. 63774 63775 * WebCore.pro: 63776 * platform/network/qt/ResourceHandleManagerQt.cpp: 63777 (WebCore::ResourceHandleManager::cancel): 63778 (WebCore::ResourceHandleManager::receivedResponse): 63779 (WebCore::ResourceHandleManager::receivedData): 63780 (WebCore::ResourceHandleManager::receivedFinished): 63781 (WebCore::FileLoader::request): 63782 (WebCore::FileLoader::parseDataUrl): 63783 (WebCore::WebCoreHttp::scheduleNextRequest): 63784 * platform/network/qt/ResourceHandleManagerQt.h: 63785 63786 2007-01-17 Eric Seidel <eric (a] webkit.org> 63787 63788 No review, build fix only. 63789 63790 * platform/graphics/cg/ImageCG.cpp: correct drawPatternCombined to drawPattern 63791 (WebCore::Image::drawPattern): 63792 (WebCore::Image::drawTiled): 63793 63794 2007-01-17 Eric Seidel <eric (a] webkit.org> 63795 63796 Reviewed by mitz and rwlbuis. 63797 63798 SVGs do not work as background images: 63799 http://bugs.webkit.org/show_bug.cgi?id=12096 63800 63801 Tests updated: 63802 - fast/images/svg-as-background.svg: now passes 63803 - fast/images/svg-as-tiled-background.svg: now passes 63804 63805 * platform/graphics/BitmapImage.h: 63806 (WebCore::BitmapImage::nativeImageForCurrentFrame): 63807 (WebCore::BitmapImage::mayFillWithSolidColor): 63808 (WebCore::BitmapImage::solidColor): 63809 * platform/graphics/Image.h: 63810 (WebCore::Image::mayFillWithSolidColor): 63811 (WebCore::Image::solidColor): 63812 (WebCore::Image::nativeImageForCurrentFrame): 63813 (WebCore::Image::startAnimation): 63814 * platform/graphics/cg/ImageCG.cpp: 63815 (WebCore::Image::drawPatternCallback): 63816 (WebCore::Image::drawPatternCombined): 63817 (WebCore::caculatePatternScale): 63818 (WebCore::Image::drawTiled): 63819 * platform/graphics/cg/PDFDocumentImage.cpp: 63820 * platform/graphics/cg/PDFDocumentImage.h: 63821 * platform/graphics/svg/SVGImage.cpp: 63822 (WebCore::SVGImage::nativeImageForCurrentFrame): 63823 * platform/graphics/svg/SVGImage.h: 63824 63825 2007-01-17 Rob Buis <buis (a] kde.org> 63826 63827 Reviewed by Eric 63828 63829 Add proper condition for rx attribute negative check. 63830 63831 * ksvg2/svg/SVGRectElement.cpp: 63832 (WebCore::SVGRectElement::parseMappedAttribute): 63833 63834 2007-01-17 Lars Knoll <lars (a] trolltech.com> 63835 63836 Reviewed by Zack 63837 63838 change all notImplemented() macros to use qDebug 63839 instead of fprintf(stder, ...) 63840 63841 * loader/qt/DocumentLoaderQt.cpp: 63842 * loader/qt/FrameLoaderQt.cpp: 63843 * page/qt/EventHandlerQt.cpp: 63844 * page/qt/FrameQt.cpp: 63845 * platform/graphics/qt/GraphicsContextQt.cpp: 63846 * platform/graphics/qt/IconQt.cpp: 63847 * platform/network/qt/ResourceHandleManagerQt.cpp: 63848 * platform/network/qt/ResourceHandleQt.cpp: 63849 * platform/qt/CursorQt.cpp: 63850 * platform/qt/FileChooserQt.cpp: 63851 * platform/qt/MimeTypeRegistryQt.cpp: 63852 * platform/qt/PageQt.cpp: Removed. 63853 * platform/qt/PopupMenuQt.cpp: 63854 * platform/qt/ScrollViewQt.cpp: 63855 * platform/qt/TemporaryLinkStubs.cpp: 63856 * platform/qt/TextBoundaries.cpp: 63857 * platform/qt/WidgetQt.cpp: 63858 63859 2007-01-16 Brady Eidson <beidson (a] apple.com> 63860 63861 Reviewed by Oliver 63862 63863 A few enhancements to the HTTP Auth architecture 63864 63865 * platform/network/ProtectionSpace.cpp: 63866 (WebCore::ProtectionSpace::isProxy): 63867 (WebCore::ProtectionSpace::receivesCredentialSecurely): 63868 * platform/network/ProtectionSpace.h: 63869 63870 2007-01-16 Alice Liu <alice.liu (a] apple.com> 63871 63872 Reviewed by harrison. 63873 63874 Fixed <rdar://problem/4921134> WebKit needs extensible cut/copy to allow additional types to be written to pasteboard 63875 63876 * WebCore.xcodeproj/project.pbxproj: 63877 * bridge/EditorClient.h: 63878 * editing/Editor.cpp: 63879 (WebCore::Editor::copy): 63880 (WebCore::Editor::didWriteSelectionToPasteboard): 63881 * editing/Editor.h: 63882 * platform/graphics/svg/SVGImageEmptyClients.h: 63883 (WebCore::SVGEmptyEditorClient::didWriteSelectionToPasteboard): 63884 63885 2007-01-16 Justin Garcia <justin.garcia (a] apple.com> 63886 63887 Reviewed by harrison 63888 63889 <rdar://problem/4747450> 63890 Gmail Editor: Caret doesn't always position itself after list marker 63891 <rdar://problem/4917055> 63892 GMail Editor: A hang can occur when attempting to apply list styling to selected indented text 63893 63894 * editing/TextIterator.cpp: 63895 (WebCore::TextIterator::rangeFromLocationAndLength): Use VisiblePositions 63896 to compute the end of a run for emitted '\n's, because it's often wrong 63897 in that case. 63898 63899 2007-01-16 Darin Adler <darin (a] apple.com> 63900 63901 - quick lame attempt to get Qt compiling again 63902 63903 * platform/qt/ContextMenuQt.cpp: Removed show() function. 63904 63905 2007-01-17 Nicholas Shanks <contact (a] nickshanks.com> 63906 63907 Reviewed by Darin. 63908 63909 * platform/network/ResourceRequest.h: 63910 (WebCore::ResourceRequest::setHTTPAccept): Correct argument name. 63911 63912 2007-01-16 Beth Dakin <bdakin (a] apple.com> 63913 63914 Reviewed by Adam. 63915 63916 Get rid of show() and hide() since they don't do anything. 63917 63918 * page/ContextMenuController.cpp: 63919 (WebCore::ContextMenuController::handleContextMenuEvent): 63920 * platform/ContextMenu.h: 63921 * platform/mac/ContextMenuMac.mm: 63922 63923 2007-01-16 Lars Knoll <lars (a] trolltech.com> 63924 63925 Reviewed by Zack 63926 63927 Cleaned up the way we create native widgets. They are 63928 now not created in WebCore anymore, but in the new 63929 Qt API to WebKit. 63930 63931 Fix a compile issue in the ResourceHandleManager. 63932 63933 * WebCore.pro: 63934 * platform/ScrollView.h: 63935 * platform/Widget.h: 63936 (WebCore::ResourceHandleManager::cancel): 63937 * platform/qt/ScrollViewCanvasQt.cpp: 63938 (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt): 63939 (WebCore::ScrollViewCanvasQt::paintEvent): 63940 (WebCore::ScrollViewCanvasQt::mouseMoveEvent): 63941 (WebCore::ScrollViewCanvasQt::mousePressEvent): 63942 (WebCore::ScrollViewCanvasQt::mouseReleaseEvent): 63943 (WebCore::ScrollViewCanvasQt::handleKeyEvent): 63944 * platform/qt/ScrollViewCanvasQt.h: 63945 * platform/qt/ScrollViewQt.cpp: 63946 (WebCore::ScrollView::ScrollView): 63947 (WebCore::ScrollView::setScrollArea): 63948 (WebCore::ScrollView::addChild): 63949 * platform/qt/WidgetQt.cpp: 63950 * platform/network/qt/ResourceHandleManagerQt.cpp: 63951 63952 2007-01-16 Lars Knoll <lars (a] trolltech.com> 63953 63954 Reviewed by Zack 63955 63956 Looks like ResourceHandle _has_ to do everything 63957 asynchronously if we don't want to run into 63958 lots of trouble in the loader. 63959 63960 Implement support data: URLs. 63961 63962 Remove some unused Qt only code in ResourceHandleClient.h 63963 63964 * platform/network/ResourceHandleClient.h: 63965 * platform/network/qt/ResourceHandleManagerQt.cpp: 63966 (WebCore::RequestQt::setURL): 63967 (WebCore::ResourceHandleManager::add): 63968 (WebCore::ResourceHandleManager::cancel): 63969 (WebCore::ResourceHandleManager::receivedFinished): 63970 (WebCore::LoaderThread::run): 63971 (WebCore::FileLoader::request): 63972 (WebCore::FileLoader::sendData): 63973 (WebCore::FileLoader::parseDataUrl): 63974 * platform/network/qt/ResourceHandleManagerQt.h: 63975 63976 2007-01-16 Eric Seidel <eric (a] webkit.org> 63977 63978 Reviewed by mitz. 63979 63980 Refactor drawTiled implementations in preparation for combining them. 63981 Removed unused RoundTile code path. 63982 63983 * platform/graphics/cg/ImageCG.cpp: 63984 (WebCore::drawPattern): 63985 (WebCore::BitmapImage::drawTiled): 63986 (WebCore::caculatePatternScale): 63987 63988 2007-01-16 Darin Adler <darin (a] apple.com> 63989 63990 Reviewed by Mark Rowe. 63991 63992 - removed unused field from loader 63993 63994 * loader/loader.cpp: 63995 (WebCore::Loader::numRequests): 63996 (WebCore::Loader::cancelRequests): 63997 * loader/loader.h: 63998 63999 2007-01-15 Rob Buis <buis (a] kde.org> 64000 64001 Reviewed by Eric. 64002 64003 http://bugs.webkit.org/show_bug.cgi?id=12272 64004 SVG picture is clipped (edges not visible) 64005 64006 Expose css dpi constant and use it for svg, making 64007 1in amount to 96 pixels like for html. 64008 64009 * css/CSSPrimitiveValue.cpp: 64010 (WebCore::CSSPrimitiveValue::computeLengthFloat): 64011 (WebCore::scaleFactorForConversion): 64012 * css/csshelper.h: 64013 * ksvg2/svg/SVGLength.cpp: 64014 (WebCore::SVGLength::value): 64015 (WebCore::SVGLength::setValue): 64016 * ksvg2/svg/SVGLength.h: 64017 64018 2007-01-15 Brady Eidson <beidson (a] apple.com> 64019 64020 Reviewed by Adam 64021 64022 CFNet additions 64023 64024 * platform/network/AuthenticationChallenge.cpp: 64025 (WebCore::operator==): 64026 * platform/network/AuthenticationChallenge.h: 64027 (WebCore::AuthenticationChallenge::sourceHandle): 64028 (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef): 64029 * platform/network/ResourceError.h: 64030 * platform/network/ResourceHandle.h: 64031 * platform/network/ResourceHandleInternal.h: 64032 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 64033 64034 2007-01-15 Eric Seidel <eric (a] webkit.org> 64035 64036 Reviewed by hyatt. 64037 64038 Don't map attributes in namespaces other than null to CSS properties. 64039 64040 Test: svg/custom/attribute-namespace-check.svg 64041 64042 * ksvg2/svg/SVGStyledElement.cpp: 64043 (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName): 64044 64045 2007-01-15 Lars Naesbye Christensen <lars (a] naesbye.dk> 64046 64047 Reviewed by Darin. 64048 64049 - http://bugs.webkit.org/show_bug.cgi?id=11112 64050 add a drop shadow to the hand cursor used for links 64051 64052 * Resources/linkCursor.png: Added a drop shadow. 64053 64054 2007-01-15 Darin Adler <darin (a] apple.com> 64055 64056 Reviewed by Adam. 64057 64058 - fix http://bugs.webkit.org/show_bug.cgi?id=12190 64059 REGRESSION: Placeholder text does not reflect dynamic updates 64060 64061 Test: fast/forms/placeholder-set-attribute.html 64062 64063 * html/HTMLTextFieldInnerElement.cpp: 64064 (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): 64065 Call onSearch on the element since I removed it from the renderer. 64066 64067 * rendering/RenderTextControl.h: Added explicit virtual keywords for overrides 64068 of virtual functions. Removed the unneeded onSearch function. Made the inheritance 64069 from PopupMenuClient be private, and made the overrides all private. Replaced the 64070 showPlaceholderIfNeeded and hidePlaceholderIfNeeded functions with updatePlaceholder. 64071 * rendering/RenderTextControl.cpp: 64072 (WebCore::RenderTextControl::createResultsButtonStyle): Added an assertion. 64073 (WebCore::RenderTextControl::updatePlaceholder): Added. Replaces the two 64074 functions, showPlaceholderIfNeeded and hidePlaceholderIfNeeded. 64075 (WebCore::RenderTextControl::updateFromElement): Added call to 64076 updatePlaceholder before updating the value. Also improved the structure 64077 of the function and corrected incorrect use of copy and replace. 64078 (WebCore::RenderTextControl::updateCancelButtonVisibility): Added an 64079 assertion and removed an unneeded local variable. 64080 (WebCore::RenderTextControl::subtreeHasChanged): Removed an unneeded 64081 null check and virtual function calls. 64082 (WebCore::RenderTextControl::forwardEvent): Replaced calls to the old 64083 functions with calls to updatePlaceholder. 64084 (WebCore::RenderTextControl::selectionChanged): Changed code to dispatch 64085 the select event directly -- I plan to remove the onSelect function, which 64086 was only called here. 64087 (WebCore::RenderTextControl::autosaveName): Removed too-specific cast and 64088 local variable. 64089 (WebCore::RenderTextControl::addSearchResult): Added assertion and changed 64090 variable name for clarity. 64091 (WebCore::RenderTextControl::valueChanged): Changed code to check for empty 64092 autosave name instead of null for consistency with other call sites that 64093 manage the autosave name. Also changed the code that dispatches an event 64094 to call onSearch on the input element so we don't need our own function. 64095 64096 2007-01-15 Eric Seidel <eric (a] webkit.org> 64097 64098 Reviewed by hyatt. 64099 64100 Fix SVGStyledElement::parseMappedAttribute to only map SVG-allowed CSS properties 64101 (i.e. width is no longer mapped to CSS for SVG) 64102 Add SVGStyledElement::mapToEntry to allow RenderStyle-sharing 64103 http://bugs.webkit.org/show_bug.cgi?id=12060 64104 64105 * dom/MappedAttributeEntry.h: 64106 (WebCore::): 64107 * ksvg2/svg/SVGStyledElement.cpp: 64108 (WebCore::cssPropertyIdForName): new helper 64109 (WebCore::mapAttributeToCSSProperty): new helper 64110 (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName): new helper 64111 (WebCore::SVGStyledElement::mapToEntry): added. 64112 (WebCore::SVGStyledElement::parseMappedAttribute): use cssPropertyIdForSVGAttributeName 64113 * ksvg2/svg/SVGStyledElement.h: 64114 64115 2007-01-15 Eric Seidel <eric (a] webkit.org> 64116 64117 Reviewed by bdash. 64118 64119 Update header guards to follow new style guidelines using new clean-header-guards script. 64120 64121 * bindings/js/JSHTMLElementWrapperFactory.h: 64122 * bindings/js/JSHTMLInputElementBase.h: 64123 * bindings/js/JSHTMLOptionElementConstructor.h: 64124 * bindings/js/JSSVGElementWrapperFactory.h: 64125 * bindings/js/JSSVGPODTypeWrapper.h: 64126 * bindings/js/JSXMLHttpRequest.h: 64127 * bindings/js/JSXSLTProcessor.h: 64128 * bindings/js/kjs_binding.h: 64129 * bindings/js/kjs_css.h: 64130 * bindings/js/kjs_dom.h: 64131 * bindings/js/kjs_domnode.h: 64132 * bindings/js/kjs_events.h: 64133 * bindings/js/kjs_html.h: 64134 * bindings/js/kjs_navigator.h: 64135 * bindings/js/kjs_proxy.h: 64136 * bindings/js/kjs_traversal.h: 64137 * bindings/js/kjs_window.h: 64138 * bridge/EditorClient.h: 64139 * bridge/History.h: 64140 * css/CSSStyleSheet.h: 64141 * css/CSSValue.h: 64142 * css/CSSValueList.h: 64143 * css/DashboardRegion.h: 64144 * css/FontFamilyValue.h: 64145 * css/FontValue.h: 64146 * css/MediaFeatureNames.h: 64147 * css/MediaList.h: 64148 * css/Pair.h: 64149 * css/RectImpl.h: 64150 * css/ShadowValue.h: 64151 * css/StyleBase.h: 64152 * css/StyleList.h: 64153 * css/StyleSheet.h: 64154 * css/StyleSheetList.h: 64155 * css/cssstyleselector.h: 64156 * dom/BeforeTextInsertedEvent.h: 64157 * dom/CDATASection.h: 64158 * dom/CharacterData.h: 64159 * dom/ChildNodeList.h: 64160 * dom/Comment.h: 64161 * dom/DOMImplementation.h: 64162 * dom/DocPtr.h: 64163 * dom/Document.h: 64164 * dom/DocumentFragment.h: 64165 * dom/DocumentMarker.h: 64166 * dom/DocumentType.h: 64167 * dom/EditingText.h: 64168 * dom/Entity.h: 64169 * dom/EntityReference.h: 64170 * dom/EventNames.h: 64171 * dom/EventTargetNode.h: 64172 * dom/NameNodeList.h: 64173 * dom/NamedNodeMap.h: 64174 * dom/Node.h: 64175 * dom/NodeList.h: 64176 * dom/Notation.h: 64177 * dom/Position.h: 64178 * dom/ProcessingInstruction.h: 64179 * dom/Range.h: 64180 * dom/StyleElement.h: 64181 * dom/Text.h: 64182 * editing/AppendNodeCommand.h: 64183 * editing/ApplyStyleCommand.h: 64184 * editing/BreakBlockquoteCommand.h: 64185 * editing/CommandByName.h: 64186 * editing/CompositeEditCommand.h: 64187 * editing/DeleteButton.h: 64188 * editing/DeleteButtonController.h: 64189 * editing/DeleteFromTextNodeCommand.h: 64190 * editing/DeleteSelectionCommand.h: 64191 * editing/InsertIntoTextNodeCommand.h: 64192 * editing/InsertLineBreakCommand.h: 64193 * editing/InsertNodeBeforeCommand.h: 64194 * editing/InsertParagraphSeparatorCommand.h: 64195 * editing/InsertTextCommand.h: 64196 * editing/JoinTextNodesCommand.h: 64197 * editing/MergeIdenticalElementsCommand.h: 64198 * editing/ModifySelectionListLevel.h: 64199 * editing/MoveSelectionCommand.h: 64200 * editing/RemoveCSSPropertyCommand.h: 64201 * editing/RemoveNodeAttributeCommand.h: 64202 * editing/RemoveNodeCommand.h: 64203 * editing/RemoveNodePreservingChildrenCommand.h: 64204 * editing/ReplaceSelectionCommand.h: 64205 * editing/SetNodeAttributeCommand.h: 64206 * editing/SplitElementCommand.h: 64207 * editing/SplitTextNodeCommand.h: 64208 * editing/SplitTextNodeContainingElementCommand.h: 64209 * editing/TextGranularity.h: 64210 * editing/TypingCommand.h: 64211 * editing/WrapContentsInDummySpanCommand.h: 64212 * history/BackForwardList.h: 64213 * history/HistoryItem.h: 64214 * history/HistoryItemTimer.h: 64215 * history/PageCache.h: 64216 * html/CanvasGradient.h: 64217 * html/CanvasPattern.h: 64218 * html/CanvasRenderingContext2D.h: 64219 * html/CanvasStyle.h: 64220 * html/FormDataList.h: 64221 * html/HTMLAnchorElement.h: 64222 * html/HTMLAppletElement.h: 64223 * html/HTMLAreaElement.h: 64224 * html/HTMLBRElement.h: 64225 * html/HTMLBaseElement.h: 64226 * html/HTMLBaseFontElement.h: 64227 * html/HTMLBlockquoteElement.h: 64228 * html/HTMLBodyElement.h: 64229 * html/HTMLButtonElement.h: 64230 * html/HTMLCanvasElement.h: 64231 * html/HTMLCollection.h: 64232 * html/HTMLDListElement.h: 64233 * html/HTMLDirectoryElement.h: 64234 * html/HTMLDivElement.h: 64235 * html/HTMLElement.h: 64236 * html/HTMLElementFactory.h: 64237 * html/HTMLEmbedElement.h: 64238 * html/HTMLFieldSetElement.h: 64239 * html/HTMLFontElement.h: 64240 * html/HTMLFormCollection.h: 64241 * html/HTMLFormElement.h: 64242 * html/HTMLFrameSetElement.h: 64243 * html/HTMLGenericFormElement.h: 64244 * html/HTMLHRElement.h: 64245 * html/HTMLHeadElement.h: 64246 * html/HTMLHeadingElement.h: 64247 * html/HTMLHtmlElement.h: 64248 * html/HTMLImageElement.h: 64249 * html/HTMLImageLoader.h: 64250 * html/HTMLInputElement.h: 64251 * html/HTMLIsIndexElement.h: 64252 * html/HTMLKeygenElement.h: 64253 * html/HTMLLIElement.h: 64254 * html/HTMLLabelElement.h: 64255 * html/HTMLLegendElement.h: 64256 * html/HTMLLinkElement.h: 64257 * html/HTMLMapElement.h: 64258 * html/HTMLMarqueeElement.h: 64259 * html/HTMLMenuElement.h: 64260 * html/HTMLMetaElement.h: 64261 * html/HTMLModElement.h: 64262 * html/HTMLNameCollection.h: 64263 * html/HTMLOListElement.h: 64264 * html/HTMLObjectElement.h: 64265 * html/HTMLOptGroupElement.h: 64266 * html/HTMLOptionElement.h: 64267 * html/HTMLOptionsCollection.h: 64268 * html/HTMLParagraphElement.h: 64269 * html/HTMLParamElement.h: 64270 * html/HTMLParser.h: 64271 * html/HTMLPlugInElement.h: 64272 * html/HTMLPreElement.h: 64273 * html/HTMLQuoteElement.h: 64274 * html/HTMLScriptElement.h: 64275 * html/HTMLSelectElement.h: 64276 * html/HTMLStyleElement.h: 64277 * html/HTMLTableCaptionElement.h: 64278 * html/HTMLTableCellElement.h: 64279 * html/HTMLTableColElement.h: 64280 * html/HTMLTableElement.h: 64281 * html/HTMLTablePartElement.h: 64282 * html/HTMLTableRowElement.h: 64283 * html/HTMLTableSectionElement.h: 64284 * html/HTMLTextAreaElement.h: 64285 * html/HTMLTextFieldInnerElement.h: 64286 * html/HTMLTitleElement.h: 64287 * html/HTMLUListElement.h: 64288 * ksvg2/css/SVGRenderStyle.h: 64289 * ksvg2/css/SVGRenderStyleDefs.h: 64290 * ksvg2/events/JSSVGLazyEventListener.h: 64291 * ksvg2/events/SVGZoomEvent.h: 64292 * ksvg2/misc/KCanvasRenderingStyle.h: 64293 * ksvg2/misc/PointerEventsHitRules.h: 64294 * ksvg2/misc/SVGDocumentExtensions.h: 64295 * ksvg2/misc/SVGImageLoader.h: 64296 * ksvg2/misc/TimeScheduler.h: 64297 * ksvg2/svg/GradientAttributes.h: 64298 * ksvg2/svg/LinearGradientAttributes.h: 64299 * ksvg2/svg/PatternAttributes.h: 64300 * ksvg2/svg/RadialGradientAttributes.h: 64301 * ksvg2/svg/SVGAElement.h: 64302 * ksvg2/svg/SVGAngle.h: 64303 * ksvg2/svg/SVGAnimateColorElement.h: 64304 * ksvg2/svg/SVGAnimateElement.h: 64305 * ksvg2/svg/SVGAnimateMotionElement.h: 64306 * ksvg2/svg/SVGAnimateTransformElement.h: 64307 * ksvg2/svg/SVGAnimatedPathData.h: 64308 * ksvg2/svg/SVGAnimatedPoints.h: 64309 * ksvg2/svg/SVGAnimatedTemplate.h: 64310 * ksvg2/svg/SVGAnimationElement.h: 64311 * ksvg2/svg/SVGCircleElement.h: 64312 * ksvg2/svg/SVGClipPathElement.h: 64313 * ksvg2/svg/SVGColor.h: 64314 * ksvg2/svg/SVGComponentTransferFunctionElement.h: 64315 * ksvg2/svg/SVGCursorElement.h: 64316 * ksvg2/svg/SVGDOMImplementation.h: 64317 * ksvg2/svg/SVGDefsElement.h: 64318 * ksvg2/svg/SVGDescElement.h: 64319 * ksvg2/svg/SVGDocument.h: 64320 * ksvg2/svg/SVGElement.h: 64321 * ksvg2/svg/SVGElementInstance.h: 64322 * ksvg2/svg/SVGElementInstanceList.h: 64323 * ksvg2/svg/SVGEllipseElement.h: 64324 * ksvg2/svg/SVGExternalResourcesRequired.h: 64325 * ksvg2/svg/SVGFEBlendElement.h: 64326 * ksvg2/svg/SVGFEColorMatrixElement.h: 64327 * ksvg2/svg/SVGFEComponentTransferElement.h: 64328 * ksvg2/svg/SVGFECompositeElement.h: 64329 * ksvg2/svg/SVGFEDiffuseLightingElement.h: 64330 * ksvg2/svg/SVGFEDisplacementMapElement.h: 64331 * ksvg2/svg/SVGFEDistantLightElement.h: 64332 * ksvg2/svg/SVGFEFloodElement.h: 64333 * ksvg2/svg/SVGFEFuncAElement.h: 64334 * ksvg2/svg/SVGFEFuncBElement.h: 64335 * ksvg2/svg/SVGFEFuncGElement.h: 64336 * ksvg2/svg/SVGFEFuncRElement.h: 64337 * ksvg2/svg/SVGFEGaussianBlurElement.h: 64338 * ksvg2/svg/SVGFEImageElement.h: 64339 * ksvg2/svg/SVGFELightElement.h: 64340 * ksvg2/svg/SVGFEMergeElement.h: 64341 * ksvg2/svg/SVGFEMergeNodeElement.h: 64342 * ksvg2/svg/SVGFEOffsetElement.h: 64343 * ksvg2/svg/SVGFEPointLightElement.h: 64344 * ksvg2/svg/SVGFESpecularLightingElement.h: 64345 * ksvg2/svg/SVGFESpotLightElement.h: 64346 * ksvg2/svg/SVGFETileElement.h: 64347 * ksvg2/svg/SVGFETurbulenceElement.h: 64348 * ksvg2/svg/SVGFilterElement.h: 64349 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: 64350 * ksvg2/svg/SVGFitToViewBox.h: 64351 * ksvg2/svg/SVGForeignObjectElement.h: 64352 * ksvg2/svg/SVGGElement.h: 64353 * ksvg2/svg/SVGGradientElement.h: 64354 * ksvg2/svg/SVGImageElement.h: 64355 * ksvg2/svg/SVGLangSpace.h: 64356 * ksvg2/svg/SVGLength.h: 64357 * ksvg2/svg/SVGLengthList.h: 64358 * ksvg2/svg/SVGLineElement.h: 64359 * ksvg2/svg/SVGLinearGradientElement.h: 64360 * ksvg2/svg/SVGList.h: 64361 * ksvg2/svg/SVGListTraits.h: 64362 * ksvg2/svg/SVGLocatable.h: 64363 * ksvg2/svg/SVGMarkerElement.h: 64364 * ksvg2/svg/SVGMaskElement.h: 64365 * ksvg2/svg/SVGMetadataElement.h: 64366 * ksvg2/svg/SVGNumberList.h: 64367 * ksvg2/svg/SVGPaint.h: 64368 * ksvg2/svg/SVGParserUtilities.h: 64369 * ksvg2/svg/SVGPathElement.h: 64370 * ksvg2/svg/SVGPathSeg.h: 64371 * ksvg2/svg/SVGPathSegArc.h: 64372 * ksvg2/svg/SVGPathSegClosePath.h: 64373 * ksvg2/svg/SVGPathSegCurvetoCubic.h: 64374 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: 64375 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: 64376 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: 64377 * ksvg2/svg/SVGPathSegLineto.h: 64378 * ksvg2/svg/SVGPathSegLinetoHorizontal.h: 64379 * ksvg2/svg/SVGPathSegLinetoVertical.h: 64380 * ksvg2/svg/SVGPathSegList.h: 64381 * ksvg2/svg/SVGPathSegMoveto.h: 64382 * ksvg2/svg/SVGPatternElement.h: 64383 * ksvg2/svg/SVGPointList.h: 64384 * ksvg2/svg/SVGPolyElement.h: 64385 * ksvg2/svg/SVGPolygonElement.h: 64386 * ksvg2/svg/SVGPolylineElement.h: 64387 * ksvg2/svg/SVGPreserveAspectRatio.h: 64388 * ksvg2/svg/SVGRadialGradientElement.h: 64389 * ksvg2/svg/SVGRectElement.h: 64390 * ksvg2/svg/SVGRenderingIntent.h: 64391 * ksvg2/svg/SVGSVGElement.h: 64392 * ksvg2/svg/SVGScriptElement.h: 64393 * ksvg2/svg/SVGSetElement.h: 64394 * ksvg2/svg/SVGStopElement.h: 64395 * ksvg2/svg/SVGStringList.h: 64396 * ksvg2/svg/SVGStylable.h: 64397 * ksvg2/svg/SVGStyleElement.h: 64398 * ksvg2/svg/SVGStyledElement.h: 64399 * ksvg2/svg/SVGStyledLocatableElement.h: 64400 * ksvg2/svg/SVGStyledTransformableElement.h: 64401 * ksvg2/svg/SVGSwitchElement.h: 64402 * ksvg2/svg/SVGSymbolElement.h: 64403 * ksvg2/svg/SVGTRefElement.h: 64404 * ksvg2/svg/SVGTSpanElement.h: 64405 * ksvg2/svg/SVGTests.h: 64406 * ksvg2/svg/SVGTextContentElement.h: 64407 * ksvg2/svg/SVGTextElement.h: 64408 * ksvg2/svg/SVGTextPositioningElement.h: 64409 * ksvg2/svg/SVGTitleElement.h: 64410 * ksvg2/svg/SVGTransform.h: 64411 * ksvg2/svg/SVGTransformList.h: 64412 * ksvg2/svg/SVGTransformable.h: 64413 * ksvg2/svg/SVGURIReference.h: 64414 * ksvg2/svg/SVGUnitTypes.h: 64415 * ksvg2/svg/SVGUseElement.h: 64416 * ksvg2/svg/SVGViewElement.h: 64417 * ksvg2/svg/SVGZoomAndPan.h: 64418 * loader/CachedCSSStyleSheet.h: 64419 * loader/CachedImage.h: 64420 * loader/CachedXSLStyleSheet.h: 64421 * loader/DocumentLoader.h: 64422 * loader/Request.h: 64423 * loader/SubresourceLoader.h: 64424 * loader/icon/IconDataCache.h: 64425 * loader/icon/IconDatabase.h: 64426 * loader/icon/IconLoader.h: 64427 * loader/icon/SQLDatabase.h: 64428 * loader/icon/SQLStatement.h: 64429 * loader/icon/SQLTransaction.h: 64430 * page/Frame.h: 64431 * page/FrameLoadRequest.h: 64432 * page/FrameTree.h: 64433 * page/FrameView.h: 64434 * page/PageState.h: 64435 * page/Plugin.h: 64436 * page/qt/FrameQt.h: 64437 * page/qt/FrameQtClient.h: 64438 * platform/Arena.h: 64439 * platform/ArrayImpl.h: 64440 * platform/Cursor.h: 64441 * platform/DeprecatedArray.h: 64442 * platform/DeprecatedCString.h: 64443 * platform/FileChooser.h: 64444 * platform/Font.h: 64445 * platform/FontCache.h: 64446 * platform/FontData.h: 64447 * platform/FontDescription.h: 64448 * platform/FontFamily.h: 64449 * platform/GlyphBuffer.h: 64450 * platform/GlyphMap.h: 64451 * platform/GlyphWidthMap.h: 64452 * platform/Logging.h: 64453 * platform/Pasteboard.h: 64454 * platform/PlatformString.h: 64455 * platform/PlugInInfoStore.h: 64456 * platform/PopupMenu.h: 64457 * platform/PopupMenuClient.h: 64458 * platform/ScrollBar.h: 64459 * platform/ScrollView.h: 64460 * platform/SearchPopupMenu.h: 64461 * platform/Shared.h: 64462 * platform/Sound.h: 64463 * platform/SystemTime.h: 64464 * platform/Timer.h: 64465 * platform/Widget.h: 64466 * platform/cf/RetainPtr.h: 64467 * platform/gdk/ChromeClientGdk.h: 64468 * platform/gdk/FontPlatformData.h: 64469 * platform/gdk/FrameGdk.h: 64470 * platform/gdk/KeyboardCodes.h: 64471 * platform/gdk/RenderPopupMenuGdk.h: 64472 * platform/gdk/RenderThemeGdk.h: 64473 * platform/graphics/BitmapImage.h: 64474 * platform/graphics/Color.h: 64475 * platform/graphics/FloatPoint.h: 64476 * platform/graphics/FloatPoint3D.h: 64477 * platform/graphics/FloatRect.h: 64478 * platform/graphics/Icon.h: 64479 * platform/graphics/Image.h: 64480 * platform/graphics/ImageAnimationObserver.h: 64481 * platform/graphics/ImageBuffer.h: 64482 * platform/graphics/ImageSource.h: 64483 * platform/graphics/IntPoint.h: 64484 * platform/graphics/IntRect.h: 64485 * platform/graphics/IntSize.h: 64486 * platform/graphics/IntSizeHash.h: 64487 * platform/graphics/PathTraversalState.h: 64488 * platform/graphics/Pen.h: 64489 * platform/graphics/qt/ImageDecoderQt.h: 64490 * platform/graphics/svg/SVGImage.h: 64491 * platform/graphics/svg/SVGImageEmptyClients.h: 64492 * platform/graphics/svg/SVGPaintServer.h: 64493 * platform/graphics/svg/SVGPaintServerGradient.h: 64494 * platform/graphics/svg/SVGPaintServerLinearGradient.h: 64495 * platform/graphics/svg/SVGPaintServerPattern.h: 64496 * platform/graphics/svg/SVGPaintServerRadialGradient.h: 64497 * platform/graphics/svg/SVGPaintServerSolid.h: 64498 * platform/graphics/svg/SVGResource.h: 64499 * platform/graphics/svg/SVGResourceClipper.h: 64500 * platform/graphics/svg/SVGResourceFilter.h: 64501 * platform/graphics/svg/SVGResourceMarker.h: 64502 * platform/graphics/svg/SVGResourceMasker.h: 64503 * platform/graphics/svg/cg/CgSupport.h: 64504 * platform/graphics/svg/filters/SVGDistantLightSource.h: 64505 * platform/graphics/svg/filters/SVGFEBlend.h: 64506 * platform/graphics/svg/filters/SVGFEColorMatrix.h: 64507 * platform/graphics/svg/filters/SVGFEComponentTransfer.h: 64508 * platform/graphics/svg/filters/SVGFEComposite.h: 64509 * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: 64510 * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: 64511 * platform/graphics/svg/filters/SVGFEDisplacementMap.h: 64512 * platform/graphics/svg/filters/SVGFEFlood.h: 64513 * platform/graphics/svg/filters/SVGFEGaussianBlur.h: 64514 * platform/graphics/svg/filters/SVGFEImage.h: 64515 * platform/graphics/svg/filters/SVGFEMerge.h: 64516 * platform/graphics/svg/filters/SVGFEMorphology.h: 64517 * platform/graphics/svg/filters/SVGFEOffset.h: 64518 * platform/graphics/svg/filters/SVGFESpecularLighting.h: 64519 * platform/graphics/svg/filters/SVGFETile.h: 64520 * platform/graphics/svg/filters/SVGFETurbulence.h: 64521 * platform/graphics/svg/filters/SVGFilterEffect.h: 64522 * platform/graphics/svg/filters/SVGLightSource.h: 64523 * platform/graphics/svg/filters/SVGPointLightSource.h: 64524 * platform/graphics/svg/filters/SVGSpotLightSource.h: 64525 * platform/mac/FontPlatformData.h: 64526 * platform/mac/PlatformScrollBar.h: 64527 * platform/network/AuthenticationChallenge.h: 64528 * platform/network/Credential.h: 64529 * platform/network/HTTPHeaderMap.h: 64530 * platform/network/ProtectionSpace.h: 64531 * platform/network/ResourceError.h: 64532 * platform/network/ResourceRequest.h: 64533 * platform/network/ResourceResponse.h: 64534 * platform/network/cf/FormDataStreamCFNet.h: 64535 * platform/network/cf/ResourceRequestCFNet.h: 64536 * platform/network/cf/ResourceResponseCFNet.h: 64537 * platform/network/gdk/ResourceHandleManager.h: 64538 * platform/network/mac/AuthenticationMac.h: 64539 * platform/network/mac/FormDataStreamMac.h: 64540 * platform/network/qt/ResourceHandleManagerKDE.h: 64541 * platform/network/qt/ResourceHandleManagerQt.h: 64542 * platform/network/win/ResourceHandleWin.h: 64543 * platform/qt/FontPlatformData.h: 64544 * platform/qt/KeyboardCodes.h: 64545 * platform/qt/PlatformScrollBar.h: 64546 * platform/qt/ScrollViewCanvasQt.h: 64547 * platform/qt/SharedTimerQt.h: 64548 * platform/win/FontPlatformData.h: 64549 * platform/win/PlatformScrollBar.h: 64550 * rendering/AutoTableLayout.h: 64551 * rendering/HitTestRequest.h: 64552 * rendering/HitTestResult.h: 64553 * rendering/InlineBox.h: 64554 * rendering/InlineFlowBox.h: 64555 * rendering/Length.h: 64556 * rendering/ListMarkerBox.h: 64557 * rendering/RenderBox.h: 64558 * rendering/RenderMenuList.h: 64559 * rendering/RenderPart.h: 64560 * rendering/RenderPartObject.h: 64561 * rendering/RenderPath.h: 64562 * rendering/RenderReplaced.h: 64563 * rendering/RenderSVGContainer.h: 64564 * rendering/RenderSVGImage.h: 64565 * rendering/RenderSVGInline.h: 64566 * rendering/RenderSVGInlineText.h: 64567 * rendering/RenderSVGTSpan.h: 64568 * rendering/RenderSVGText.h: 64569 * rendering/RenderStyle.h: 64570 * rendering/RenderTableCol.h: 64571 * rendering/RenderThemeWin.h: 64572 * rendering/bidi.h: 64573 * xml/DOMParser.h: 64574 * xml/XPathEvaluator.h: 64575 * xml/XPathExpression.h: 64576 * xml/XPathExpressionNode.h: 64577 * xml/XPathFunctions.h: 64578 * xml/XPathNSResolver.h: 64579 * xml/XPathNamespace.h: 64580 * xml/XPathParser.h: 64581 * xml/XPathPath.h: 64582 * xml/XPathPredicate.h: 64583 * xml/XPathResult.h: 64584 * xml/XPathStep.h: 64585 * xml/XPathUtil.h: 64586 * xml/XPathValue.h: 64587 * xml/XPathVariableReference.h: 64588 * xml/XSLImportRule.h: 64589 * xml/XSLStyleSheet.h: 64590 * xml/XSLTProcessor.h: 64591 * xml/xmlhttprequest.h: 64592 64593 2007-01-15 Anders Carlsson <acarlsson (a] apple.com> 64594 64595 Build fix. 64596 64597 * loader/ProgressTracker.cpp: 64598 64599 2007-01-15 Lars Knoll <lars (a] trolltech.com> 64600 64601 Fix the Qt build 64602 64603 * WebCore.pro: 64604 64605 2007-01-15 Anders Carlsson <acarlsson (a] apple.com> 64606 64607 Reviewed by Darin. 64608 64609 * loader/ProgressTracker.cpp: 64610 Set finalProgressValue to its value explicitly instead of calculating it 64611 (which causes a global initializer to be generated). 64612 64613 2007-01-15 Anders Carlsson <acarlsson (a] apple.com> 64614 64615 Reviewed by Darin and Adam. 64616 64617 Move progress tracking down to WebCore. 64618 64619 * WebCore.exp: 64620 Add ProgressTracker::estimatedProgress() to be used by WebKit. 64621 64622 * WebCore.xcodeproj/project.pbxproj: 64623 Add ProgressTracker.[cpp|h] 64624 64625 * loader/FrameLoader.cpp: 64626 (WebCore::FrameLoader::prepareForLoadStart): 64627 (WebCore::FrameLoader::clearProvisionalLoad): 64628 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 64629 (WebCore::FrameLoader::startLoading): 64630 (WebCore::FrameLoader::didReceiveResponse): 64631 (WebCore::FrameLoader::didReceiveData): 64632 (WebCore::FrameLoader::didFailToLoad): 64633 (WebCore::FrameLoader::requestFromDelegate): 64634 (WebCore::FrameLoader::didFinishLoad): 64635 Call directly to the progress tracker instead of through the frame loader client. 64636 64637 * loader/FrameLoaderClient.h: 64638 Get rid of the old methods and add new methods for tracking progress. 64639 64640 * loader/ProgressTracker.cpp: Added. 64641 (WebCore::ProgressItem::ProgressItem): 64642 (WebCore::ProgressTracker::ProgressTracker): 64643 (WebCore::ProgressTracker::~ProgressTracker): 64644 (WebCore::ProgressTracker::estimatedProgress): 64645 (WebCore::ProgressTracker::reset): 64646 (WebCore::ProgressTracker::progressStarted): 64647 (WebCore::ProgressTracker::progressCompleted): 64648 (WebCore::ProgressTracker::finalProgressComplete): 64649 (WebCore::ProgressTracker::incrementProgress): 64650 (WebCore::ProgressTracker::completeProgress): 64651 (WebCore::ProgressTracker::createUniqueIdentifier): 64652 * loader/ProgressTracker.h: Added. 64653 New per page class which tracks progress. 64654 64655 * loader/ResourceLoader.cpp: 64656 (WebCore::ResourceLoader::willSendRequest): 64657 * page/Page.cpp: 64658 (WebCore::Page::Page): 64659 * page/Page.h: 64660 (WebCore::Page::progress): 64661 Move createUniqueIdentifier to ProgressTracker, add ProgressTracker object to Page. 64662 64663 * platform/graphics/svg/SVGImageEmptyClients.h: 64664 (WebCore::SVGEmptyFrameLoaderClient::willChangeEstimatedProgress): 64665 (WebCore::SVGEmptyFrameLoaderClient::didChangeEstimatedProgress): 64666 (WebCore::SVGEmptyFrameLoaderClient::postProgressStartedNotification): 64667 (WebCore::SVGEmptyFrameLoaderClient::postProgressEstimateChangedNotification): 64668 (WebCore::SVGEmptyFrameLoaderClient::postProgressFinishedNotification): 64669 Add new methods, get rid of the old ones. 64670 64671 2007-01-15 Adam Roben <aroben (a] apple.com> 64672 64673 Reviewed by Anders. 64674 64675 Fix comment. 64676 64677 * html/HTMLScriptElement.cpp: 64678 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): 64679 64680 2007-01-15 John Sullivan <sullivan (a] apple.com> 64681 64682 * platform/ContextMenu.cpp: 64683 (WebCore::ContextMenu::checkOrEnableIfNeeded): 64684 Leopard build fix; don't declare one of the case values twice 64685 64686 2007-01-15 Mitz Pettel <mitz (a] webkit.org> 64687 64688 Reviewed by Darin. 64689 64690 - fix http://bugs.webkit.org/show_bug.cgi?id=8604 64691 rowspan does not work when set through javascript 64692 64693 Covered by existing tests. 64694 64695 * rendering/RenderTableCell.cpp: 64696 (WebCore::RenderTableCell::updateFromElement): Mark the section for grid recalc 64697 if row span or column span change. 64698 64699 2007-01-15 Adam Roben <aroben (a] apple.com> 64700 64701 Reviewed by Darin. 64702 64703 Small context menu fixes. 64704 64705 * platform/ContextMenu.cpp: 64706 (WebCore::ContextMenu::populate): Fix typo. 64707 (WebCore::ContextMenu::checkOrEnableIfNeeded): Disabled "No Guesses 64708 Found", and added all enum values explicitly. 64709 64710 2007-01-15 Alexey Proskuryakov <ap (a] webkit.org> 64711 64712 Reviewed by Darin. 64713 64714 http://bugs.webkit.org/show_bug.cgi?id=6272 64715 XMLHttpRequest freezes on getting a missing document with overridden Content-Length 64716 64717 http://bugs.webkit.org/show_bug.cgi?id=6212 64718 Investigate disallowing some XMLHttpRequest headers from being set via setRequestHeader. 64719 64720 Tests: 64721 - http/tests/xmlhttprequest/connection-error-sync.html 64722 - http/tests/xmlhttprequest/set-dangerous-headers.html 64723 64724 * bindings/js/kjs_binding.cpp: 64725 (KJS::): 64726 (KJS::setDOMException): Added support for NETWORK_ERR. Changed the temporary 64727 PERMISSION_DENIED error into a special case. 64728 64729 * loader/FrameLoader.cpp: 64730 (WebCore::FrameLoader::loadResourceSynchronously): 64731 * loader/FrameLoader.h: 64732 Return the error object to the caller. Removed an extra local variable for error, 64733 which shadowed the one from enclosing block. 64734 64735 * dom/XMLTokenizer.cpp: 64736 (WebCore::openFunc): 64737 * xml/XSLTProcessor.cpp: 64738 (WebCore::docLoaderFunc): 64739 Updated to pass an error object (currently ignored). 64740 64741 * xml/xmlhttprequest.cpp: 64742 (WebCore::canSetRequestHeader): Added. The headers to block include the ones from 64743 the current XMLHttpRequest draft plus "Via", which is blocked by Firefox. 64744 (WebCore::XMLHttpRequest::send): Raise an exception if a sync request results in 64745 an error. 64746 (WebCore::XMLHttpRequest::setRequestHeader): Call canSetRequestHeader(). 64747 * xml/xmlhttprequest.h: 64748 (WebCore::): Added NETWORK_ERR and a comment about PERMISSION_DENIED. 64749 64750 2007-01-15 Zack Rusin <zack (a] kde.org> 64751 64752 Optimizing rendering on the Qt platform. Mainly 64753 switching from client side QImage to QPixmap's. 64754 Also cleaning the the ScrollViewCanvasQt code 64755 quite a bit. 64756 64757 * platform/graphics/ImageSource.h: use QPixmap 64758 * platform/graphics/qt/GraphicsContextQt.cpp: 64759 (WebCore::TransparencyLayer::TransparencyLayer): 64760 (WebCore::GraphicsContext::clip): clip rects when you can 64761 * platform/graphics/qt/ImageDecoderQt.cpp: 64762 (WebCore::ImageDecoderQt::ImageData::ImageData): 64763 (WebCore::ImageDecoderQt::ReadContext::read): 64764 (WebCore::ImageDecoderQt::ReadContext::readImageLines): 64765 (WebCore::ImageDecoderQt::imageAtIndex): 64766 * platform/graphics/qt/ImageDecoderQt.h: use QPixmap 64767 * platform/graphics/qt/ImageQt.cpp: QPixmap instead of QImage 64768 (WebCore::BitmapImage::draw): 64769 (WebCore::BitmapImage::drawTiled): 64770 * platform/graphics/qt/ImageSourceQt.cpp: 64771 (WebCore::): 64772 (WebCore::ImageSource::createFrameAtIndex): 64773 (WebCore::ImageSource::frameHasAlphaAtIndex): 64774 * platform/qt/ScrollViewCanvasQt.cpp: clean up 64775 (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt): 64776 (WebCore::ScrollViewCanvasQt::updateFrameView): 64777 (WebCore::ScrollViewCanvasQt::paintEvent): 64778 (WebCore::ScrollViewCanvasQt::mouseMoveEvent): 64779 (WebCore::ScrollViewCanvasQt::mousePressEvent): 64780 (WebCore::ScrollViewCanvasQt::mouseReleaseEvent): 64781 (WebCore::ScrollViewCanvasQt::handleKeyEvent): 64782 * platform/qt/ScrollViewCanvasQt.h: 64783 * platform/qt/ScrollViewQt.cpp: remove hacks 64784 (WebCore::ScrollView::ScrollView): 64785 (WebCore::ScrollView::setParentWidget): 64786 (WebCore::ScrollView::updateContents): 64787 64788 2007-01-15 Lars Knoll <lars (a] trolltech.com> 64789 64790 Reviewed by Zack 64791 64792 Fix weird crashes when running the layout tests. The 64793 reason was that I used KURL (and thus DeprecatedString) 64794 in a thread. Unfortunately that class is not threadsafe 64795 at all. 64796 64797 * platform/network/qt/ResourceHandleManagerQt.cpp: 64798 (WebCore::RequestQt::RequestQt): 64799 (WebCore::RequestQt::setURL): 64800 (WebCore::ResourceHandleManager::add): 64801 (WebCore::ResourceHandleManager::cancel): 64802 (WebCore::ResourceHandleManager::receivedResponse): 64803 (WebCore::FileLoader::request): 64804 (WebCore::HostInfo::HostInfo): 64805 (WebCore::NetworkLoader::request): 64806 (WebCore::NetworkLoader::cancel): 64807 * platform/network/qt/ResourceHandleManagerQt.h: 64808 (WebCore::HostInfo::HostInfo): 64809 (WebCore::HostInfo::isLocalFile): 64810 64811 2007-01-15 Eric Seidel <eric (a] webkit.org> 64812 64813 Reviewed by rwlbuis. 64814 64815 Make isValid check not malloc 3 SVGStringLists for every element. 64816 64817 No test possible, performance fix only. 64818 64819 * ksvg2/svg/SVGTests.cpp: 64820 (WebCore::SVGTests::isValid): 64821 64822 2007-01-15 Rob Buis <buis (a] kde.org> 64823 64824 Reviewed by Eric. 64825 64826 Remove unused member var. 64827 64828 * ksvg2/svg/SVGStyledElement.h: 64829 64830 2007-01-15 Rob Buis <buis (a] kde.org> 64831 64832 Reviewed by Eric. 64833 64834 http://bugs.webkit.org/show_bug.cgi?id=12069 64835 Hit detection fails under some viewbox constraints 64836 64837 Do not take viewBox into account when hit testing svg container. 64838 64839 * rendering/RenderSVGContainer.cpp: 64840 (WebCore::RenderSVGContainer::nodeAtPoint): 64841 64842 2007-01-15 David Hyatt <hyatt (a] apple.com> 64843 64844 Fix for 12275, negative margins confuse page breaks. 64845 64846 Reviewed by Eric 64847 64848 * rendering/RenderBlock.cpp: 64849 (WebCore::RenderBlock::paintChildren): 64850 64851 2007-01-15 Eric Seidel <eric (a] webkit.org> 64852 64853 Reviewed by mjs. 64854 64855 SVG gradients do not notice stop additions 64856 http://bugs.webkit.org/show_bug.cgi?id=12192 64857 64858 Test: svg/custom/gradient-add-stops.svg 64859 64860 * ksvg2/svg/SVGGradientElement.cpp: 64861 (WebCore::SVGGradientElement::childrenChanged): 64862 * ksvg2/svg/SVGGradientElement.h: 64863 64864 2007-01-14 David Hyatt <hyatt (a] apple.com> 64865 64866 Fix for bug 10356, positioning doesn't work with <svg> elements in XHTML. Change the requiresLayer 64867 check to use the DOM, since the old check would fail if the parent block had no element. 64868 64869 Reviewed by Eric 64870 64871 Added svg/custom/relative-positioning.html (absolute/fixed too) 64872 64873 * rendering/RenderSVGContainer.cpp: 64874 (WebCore::RenderSVGContainer::requiresLayer): 64875 64876 2007-01-14 Eric Seidel <eric (a] webkit.org> 64877 64878 Reviewed by hyatt. 64879 64880 SVG does not correctly handle float: left 64881 http://bugs.webkit.org/show_bug.cgi?id=12210 64882 64883 Test: svg/custom/svg-float-border-padding.xml 64884 64885 * rendering/RenderSVGContainer.cpp: 64886 (WebCore::RenderSVGContainer::paint): 64887 64888 2007-01-14 David Hyatt <hyatt (a] apple.com> 64889 64890 More work to fix 10145, regression where form elements don't break properly. Make sure to really use 64891 the parent of the replaced element's whitespace value everywhere. 64892 64893 Reviewed by olliej 64894 64895 fast/replaced/three-selects-break.html 64896 64897 * rendering/bidi.cpp: 64898 (WebCore::RenderBlock::findNextLineBreak): 64899 64900 2007-01-14 Sam Weinig <sam (a] webkit.org> 64901 64902 Reviewed by Darin and then by Mitz. 64903 64904 Patch for http://bugs.webkit.org/show_bug.cgi?id=12228 64905 Cleanup assorted CSS classes 64906 64907 * css/CSSBorderImageValue.cpp: 64908 (WebCore::CSSBorderImageValue::CSSBorderImageValue): 64909 (WebCore::CSSBorderImageValue::cssText): 64910 * css/CSSBorderImageValue.h: 64911 * css/CSSComputedStyleDeclaration.cpp: 64912 (WebCore::valueForLength): 64913 (WebCore::valueForBorderStyle): 64914 (WebCore::valueForTextAlign): 64915 (WebCore::valueForShadow): 64916 (WebCore::getPositionOffsetValue): 64917 (WebCore::CSSComputedStyleDeclaration::cssText): 64918 (WebCore::primitiveValueFromLength): 64919 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 64920 (WebCore::CSSComputedStyleDeclaration::getPropertyPriority): 64921 (WebCore::CSSComputedStyleDeclaration::removeProperty): 64922 (WebCore::CSSComputedStyleDeclaration::setProperty): 64923 (WebCore::CSSComputedStyleDeclaration::length): 64924 (WebCore::CSSComputedStyleDeclaration::item): 64925 * css/CSSComputedStyleDeclaration.h: 64926 * css/CSSCursorImageValue.cpp: 64927 (WebCore::CSSCursorImageValue::CSSCursorImageValue): 64928 * css/CSSCursorImageValue.h: 64929 * css/CSSGrammar.y: 64930 * css/CSSImageValue.cpp: 64931 * css/CSSImageValue.h: 64932 * css/CSSInheritedValue.cpp: 64933 * css/CSSInheritedValue.h: 64934 * css/CSSInitialValue.cpp: 64935 * css/CSSInitialValue.h: 64936 * css/CSSMutableStyleDeclaration.cpp: 64937 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): 64938 (WebCore::CSSMutableStyleDeclaration::operator=): 64939 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 64940 (WebCore::CSSMutableStyleDeclaration::get4Values): 64941 (WebCore::CSSMutableStyleDeclaration::getShorthandValue): 64942 (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue): 64943 (WebCore::CSSMutableStyleDeclaration::removeProperty): 64944 (WebCore::CSSMutableStyleDeclaration::setChanged): 64945 (WebCore::CSSMutableStyleDeclaration::getPropertyPriority): 64946 (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand): 64947 (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit): 64948 (WebCore::CSSMutableStyleDeclaration::setProperty): 64949 (WebCore::CSSMutableStyleDeclaration::setImageProperty): 64950 (WebCore::CSSMutableStyleDeclaration::parseDeclaration): 64951 (WebCore::CSSMutableStyleDeclaration::addParsedProperties): 64952 (WebCore::CSSMutableStyleDeclaration::setLengthProperty): 64953 (WebCore::CSSMutableStyleDeclaration::cssText): 64954 (WebCore::CSSMutableStyleDeclaration::merge): 64955 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): 64956 * css/CSSMutableStyleDeclaration.h: 64957 (WebCore::CSSMutableStyleDeclaration::setProperty): 64958 (WebCore::CSSMutableStyleDeclaration::removeProperty): 64959 * css/CSSNamespace.h: 64960 (WebCore::CSSNamespace::CSSNamespace): 64961 * css/CSSPrimitiveValue.cpp: 64962 (WebCore::isCSSTokenizerIdentifier): 64963 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 64964 (WebCore::CSSPrimitiveValue::cleanup): 64965 (WebCore::CSSPrimitiveValue::computeLengthInt): 64966 (WebCore::CSSPrimitiveValue::computeLengthIntForLength): 64967 (WebCore::CSSPrimitiveValue::computeLengthShort): 64968 (WebCore::CSSPrimitiveValue::computeLengthFloat): 64969 (WebCore::CSSPrimitiveValue::setFloatValue): 64970 (WebCore::scaleFactorForConversion): 64971 (WebCore::CSSPrimitiveValue::getFloatValue): 64972 (WebCore::CSSPrimitiveValue::setStringValue): 64973 (WebCore::CSSPrimitiveValue::getStringValue): 64974 (WebCore::CSSPrimitiveValue::parseString): 64975 (WebCore::CSSPrimitiveValue::getIdent): 64976 (WebCore::CSSPrimitiveValue::cssText): 64977 * css/CSSPrimitiveValue.h: 64978 (WebCore::CSSPrimitiveValue::getCounterValue): 64979 (WebCore::CSSPrimitiveValue::getRectValue): 64980 (WebCore::CSSPrimitiveValue::getRGBColorValue): 64981 (WebCore::CSSPrimitiveValue::getPairValue): 64982 (WebCore::CSSPrimitiveValue::getDashboardRegionValue): 64983 * css/CSSProperty.cpp: 64984 (WebCore::operator==): 64985 * css/CSSProperty.h: 64986 (WebCore::CSSProperty::operator=): 64987 * css/CSSQuirkPrimitiveValue.h: 64988 (WebCore::CSSQuirkPrimitiveValue::CSSQuirkPrimitiveValue): 64989 * css/CSSRuleList.cpp: 64990 (WebCore::CSSRuleList::CSSRuleList): 64991 (WebCore::CSSRuleList::deleteRule): 64992 (WebCore::CSSRuleList::insertRule): 64993 * css/CSSRuleList.h: 64994 (WebCore::CSSRuleList::item): 64995 * css/CSSSelector.cpp: 64996 (WebCore::CSSSelector::print): 64997 (WebCore::CSSSelector::specificity): 64998 (WebCore::CSSSelector::extractPseudoType): 64999 (WebCore::CSSSelector::operator==): 65000 (WebCore::CSSSelector::selectorText): 65001 * css/CSSSelector.h: 65002 (WebCore::CSSSelector::CSSSelector): 65003 (WebCore::CSSSelector::~CSSSelector): 65004 (WebCore::CSSSelector::append): 65005 (WebCore::CSSSelector::next): 65006 (WebCore::CSSSelector::pseudoType): 65007 (WebCore::CSSSelector::hasTag): 65008 (WebCore::CSSSelector::hasAttribute): 65009 * css/CSSStyleDeclaration.cpp: 65010 (WebCore::propertyID): 65011 (WebCore::CSSStyleDeclaration::getPropertyPriority): 65012 (WebCore::CSSStyleDeclaration::getPropertyShorthand): 65013 (WebCore::CSSStyleDeclaration::isPropertyImplicit): 65014 (WebCore::CSSStyleDeclaration::setProperty): 65015 (WebCore::CSSStyleDeclaration::isPropertyName): 65016 (WebCore::CSSStyleDeclaration::parentRule): 65017 (WebCore::CSSStyleDeclaration::diff): 65018 (WebCore::CSSStyleDeclaration::copyPropertiesInSet): 65019 * css/CSSStyleDeclaration.h: 65020 * css/Counter.h: 65021 (WebCore::Counter::Counter): 65022 (WebCore::Counter::listStyleNumber): 65023 * css/csshelper.cpp: 65024 (WebCore::parseURL): 65025 * css/csshelper.h: 65026 * css/cssparser.h: 65027 (WebCore::domString): 65028 (WebCore::atomicString): 65029 (WebCore::CSSParser::operator|): 65030 * css/cssstyleselector.cpp: 65031 (WebCore::CSSStyleSelector::matchRulesForList): 65032 (WebCore::CSSStyleSelector::checkSelector): 65033 (WebCore::CSSStyleSelector::checkOneSelector): 65034 (WebCore::CSSRuleSet::addRule): 65035 65036 2007-01-14 Mitz Pettel <mitz (a] webkit.org> 65037 65038 Reviewed by Adam. 65039 65040 - fix http://bugs.webkit.org/show_bug.cgi?id=12264 65041 REGRESSION (r18843): Webkit crashes on 43Folders.com home page 65042 65043 Test: fast/tokenizer/ignore-tags-in-iframe.html 65044 65045 * html/HTMLParser.cpp: 65046 (WebCore::HTMLParser::reset): Removed unused inSelect member variable. 65047 (WebCore::HTMLParser::selectCreateErrorCheck): Ditto. 65048 (WebCore::HTMLParser::processCloseTag): Ditto. 65049 * html/HTMLParser.h: Ditto. 65050 * html/HTMLTokenizer.cpp: 65051 (WebCore::HTMLTokenizer::parseTag): Changed not to process <pre>, <listing>, 65052 <script>, <style>, <title>, <textarea> and <xmp> if the parser is in skip mode 65053 (waiting for a close tag of an element whose contents are not parsed, 65054 such as iframe). 65055 * html/HTMLTokenizer.h: 65056 (WebCore::HTMLTokenizer::State::setInStyle): Removed unused bit. 65057 (WebCore::HTMLTokenizer::State::): Ditto. 65058 65059 2007-01-14 Alexey Proskuryakov <ap (a] webkit.org> 65060 65061 Reviewed by Darin. 65062 65063 http://bugs.webkit.org/show_bug.cgi?id=12258 65064 fast/tokenizer/002 test broken 65065 65066 * loader/FrameLoader.h: Added a flush parameter to write(). 65067 * loader/FrameLoader.cpp: 65068 (WebCore::FrameLoader::write): Ditto. 65069 (WebCore::FrameLoader::endIfNotLoading): Instead of poorly duplicating the logic in write(), 65070 call it directly. 65071 65072 2007-01-14 Adam Roben <aroben (a] apple.com> 65073 65074 Reviewed by Maciej. 65075 65076 Make sure our whitelisting of the type and language attributes of the 65077 <script> element is enforced in all HTMLTokenizer/HTMLScriptElement 65078 code paths. 65079 65080 All layout tests pass. 65081 65082 * html/HTMLScriptElement.cpp: 65083 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): New method to 65084 determine whether the script should be executed, given its type and 65085 language attributes. 65086 (WebCore::HTMLScriptElement::evaluateScript): Check type/language 65087 before executing. 65088 * html/HTMLScriptElement.h: Added new declarations. 65089 * html/HTMLTokenizer.cpp: 65090 (WebCore::HTMLTokenizer::begin): Made scriptSrc a String. 65091 (WebCore::HTMLTokenizer::scriptHandler): Check 65092 shouldExecuteAsJavaScript before executing. 65093 (WebCore::HTMLTokenizer::notifyFinished): Ditto. 65094 (WebCore::HTMLTokenizer::parseTag): Moved type/language checking from 65095 here to HTMLScriptElement::shouldExecuteAsJavaScript. 65096 * html/HTMLTokenizer.h: Made scriptSrc a String, and removed the 65097 javascript member. 65098 65099 2007-01-14 David Hyatt <hyatt (a] apple.com> 65100 65101 Make sure floats are avoided if you have non-auto column property values. Fixes the crazy layout 65102 on http://weblogs.mozillazine.org/roc. 65103 65104 Reviewed by mitz 65105 65106 Added fast/multicol/float-avoidance.html 65107 65108 * rendering/RenderBlock.cpp: 65109 (WebCore::RenderBlock::avoidsFloats): 65110 65111 2007-01-14 David Hyatt <hyatt (a] apple.com> 65112 65113 Fix for 10145, regression where line breaks are not being honored between adjacent replaced elements. 65114 When checking for break opportunities where replaced elements are involved, we ignore their white-space 65115 values and use their parents' instead. The assumption/idea behind this change is that because the element 65116 is replaced, its white-space value is irrelevant except as a means of applying style to its interior. 65117 65118 The CSS spec does not cover this situation, so we're implementing this based off what other browsers seem to 65119 do. 65120 65121 Reviewed by aroben 65122 65123 * css/CSSComputedStyleDeclaration.cpp: 65124 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 65125 * css/CSSValueKeywords.in: 65126 * css/cssparser.cpp: 65127 (WebCore::CSSParser::parseValue): 65128 * css/cssstyleselector.cpp: 65129 (WebCore::CSSStyleSelector::applyProperty): 65130 * page/EventHandler.cpp: 65131 (WebCore::EventHandler::EventHandler): 65132 (WebCore::EventHandler::clear): 65133 (WebCore::EventHandler::handleWheelEvent): 65134 * page/EventHandler.h: 65135 * rendering/RenderBox.cpp: 65136 (WebCore::RenderBox::calcHeight): 65137 * rendering/RenderLayer.cpp: 65138 (WebCore::Marquee::Marquee): 65139 (WebCore::Marquee::start): 65140 (WebCore::Marquee::updateMarqueePosition): 65141 (WebCore::Marquee::updateMarqueeStyle): 65142 (WebCore::Marquee::timerFired): 65143 * rendering/RenderLayer.h: 65144 * rendering/RenderPartObject.cpp: 65145 (WebCore::RenderPartObject::viewCleared): 65146 * rendering/RenderStyle.h: 65147 (WebCore::): 65148 * rendering/bidi.cpp: 65149 (WebCore::RenderBlock::findNextLineBreak): 65150 65151 2007-01-13 David Hyatt <hyatt (a] apple.com> 65152 65153 While optimizing form controls and fixing their clipping, I caused this text zoom regression. The layout 65154 of text is necessary because it needs to recalc minmaxwidth. This is still a really unfortunate 65155 bit of code... since a lot of properties don't apply to text (e.g., borders), we're marking text renderers 65156 as dirty when we don't have to. 65157 65158 Reviewed by mitz 65159 65160 * rendering/RenderObject.cpp: 65161 (WebCore::RenderObject::setStyle): 65162 65163 2007-01-13 Lars Knoll <lars (a] trolltech.com> 65164 65165 Reviewed by Alexey 65166 65167 String::format() was relying on undefined behaviour, which 65168 happened to work on lots of systems (Mac and 32bit Linux at least) 65169 but broke badly on 64bit Linux. 65170 65171 * platform/String.cpp: 65172 (WebCore::String::format): 65173 65174 2007-01-13 Martin Reddy <reddy (a] pixar.com> 65175 65176 Fix for bug 11924: WebCore would crash on any HTML content 65177 with a non-empty <table> tag in it on a 64-bit machine. The 65178 size_t (64bit) vs int (32bit) cast is now fixed in ensureRows, 65179 and the clients of this function have been updated to check 65180 for a false return code. 65181 65182 Reviewed by Darin, landed by Lars 65183 65184 * rendering/RenderTableSection.cpp: 65185 (WebCore::RenderTableSection::addChild): 65186 (WebCore::RenderTableSection::ensureRows): 65187 (WebCore::RenderTableSection::recalcCells): 65188 65189 2007-01-13 Alexey Proskuryakov <ap (a] webkit.org> 65190 65191 Reviewed by Darin. 65192 65193 http://bugs.webkit.org/show_bug.cgi?id=12165 65194 REGRESSION: text encoding problem at jn.sapo.pt 65195 65196 Test: fast/encoding/script-in-head.html 65197 65198 * loader/TextResourceDecoder.cpp: 65199 (WebCore::TextResourceDecoder::checkForHeadCharset): 65200 Ignore tags within <script> elements in head, just like we do for <title>. 65201 65202 2007-01-13 Lars Knoll <lars (a] trolltech.com> 65203 65204 Reviewed by Maciej 65205 65206 Don't crash when constructing a GraphicsContext with a 0 65207 PlatformGraphicsContext and don't do anything if painting 65208 is disabled. 65209 65210 * platform/graphics/qt/GraphicsContextQt.cpp: 65211 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 65212 (WebCore::GraphicsContext::origin): 65213 (WebCore::GraphicsContext::setPlatformFont): 65214 (WebCore::GraphicsContext::setPlatformStrokeColor): 65215 (WebCore::GraphicsContext::setPlatformStrokeStyle): 65216 (WebCore::GraphicsContext::setPlatformStrokeThickness): 65217 (WebCore::GraphicsContext::setPlatformFillColor): 65218 65219 2007-01-13 Eric Seidel <eric (a] webkit.org> 65220 65221 Reviewed by hyatt. 65222 65223 RichDraw demo does not live-update in Safari 65224 (SVG elements should ignore CSS position) 65225 http://bugs.webkit.org/show_bug.cgi?id=10364 65226 65227 * css/cssstyleselector.cpp: 65228 (WebCore::CSSStyleSelector::adjustRenderStyle): ignore position for everything but <svg> 65229 * ksvg2/svg/SVGStyledElement.cpp: 65230 (WebCore::SVGStyledElement::rebuildRenderer): move path generation into layout() 65231 * rendering/RenderContainer.cpp: 65232 (WebCore::RenderContainer::layout): ASSERT kids marked as having completed layout 65233 * rendering/RenderPath.cpp: 65234 (WebCore::RenderPath::layout): move path generation into layout() 65235 * rendering/RenderSVGContainer.cpp: 65236 (WebCore::RenderSVGContainer::layout): ASSERT kids marked as having completed layout 65237 65238 2007-01-12 David Hyatt <hyatt (a] apple.com> 65239 65240 Add support for column rules. 65241 65242 Reviewed by bdash 65243 65244 fast/multicol/column-rules.html 65245 65246 * rendering/RenderBlock.cpp: 65247 (WebCore::RenderBlock::paintColumns): 65248 * rendering/RenderStyle.h: 65249 (WebCore::RenderStyle::columnRuleIsTransparent): 65250 65251 2007-01-12 David Hyatt <hyatt (a] apple.com> 65252 65253 Make multicolumn layout work with floats. 65254 65255 Reviewed by andersca 65256 65257 Added fast/multicol/float-multicol.html 65258 65259 * rendering/RenderBlock.cpp: 65260 (WebCore::RenderBlock::layoutBlock): 65261 (WebCore::RenderBlock::paintColumns): 65262 (WebCore::RenderBlock::paintObject): 65263 * rendering/RenderBlock.h: 65264 65265 2007-01-12 David Kilzer <ddkilzer (a] kilzer.net> 65266 65267 Reviewed by Maciej. 65268 65269 - fix http://bugs.webkit.org/show_bug.cgi?id=12239 65270 REGRESSION (r18816-r18818): Assertion failure in 65271 WebCore::Length::Length[in-charge](int, WebCore::LengthType, bool) 65272 65273 Test: fast/css/line-height.html 65274 65275 * rendering/RenderTextControl.cpp: 65276 (WebCore::RenderTextControl::createInnerTextStyle): Use a float to create a percent Length. 65277 65278 2007-01-12 Anders Carlsson <acarlsson (a] apple.com> 65279 65280 Reviewed by Darin. 65281 65282 Use unsigned long for identifiers instead of Objective-C objects. 65283 65284 * loader/FrameLoader.cpp: 65285 (WebCore::FrameLoader::loadResourceSynchronously): 65286 (WebCore::FrameLoader::startLoadingMainResource): 65287 (WebCore::FrameLoader::startLoading): 65288 (WebCore::FrameLoader::assignIdentifierToInitialRequest): 65289 (WebCore::FrameLoader::opened): 65290 (WebCore::FrameLoader::sendRemainingDelegateMessages): 65291 (WebCore::FrameLoader::requestFromDelegate): 65292 (WebCore::FrameLoader::loadedResourceFromMemoryCache): 65293 * loader/FrameLoader.h: 65294 * loader/FrameLoaderClient.h: 65295 * loader/ResourceLoader.cpp: 65296 (WebCore::ResourceLoader::ResourceLoader): 65297 (WebCore::ResourceLoader::willSendRequest): 65298 * loader/ResourceLoader.h: 65299 (WebCore::ResourceLoader::setIdentifier): 65300 (WebCore::ResourceLoader::identifier): 65301 * page/Page.cpp: 65302 (WebCore::Page::Page): 65303 (WebCore::Page::createUniqueIdentifier): 65304 * page/Page.h: 65305 * platform/graphics/svg/SVGImageEmptyClients.h: 65306 (WebCore::SVGEmptyFrameLoaderClient::assignIdentifierToInitialRequest): 65307 (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest): 65308 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): 65309 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge): 65310 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveResponse): 65311 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveContentLength): 65312 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoading): 65313 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoading): 65314 (WebCore::SVGEmptyFrameLoaderClient::incrementProgress): 65315 (WebCore::SVGEmptyFrameLoaderClient::completeProgress): 65316 65317 2007-01-12 Mitz Pettel <mitz (a] webkit.org> 65318 65319 Reviewed by Darin. 65320 65321 - fix http://bugs.webkit.org/show_bug.cgi?id=12235 65322 REGRESSION (r18815): Marquees do not scroll 65323 65324 * css/cssstyleselector.cpp: 65325 (WebCore::CSSStyleSelector::applyProperty): Apply the '-webkit-marquee' value 65326 of 'overflow-x' and 'overflow-y'. 65327 65328 2007-01-12 Justin Garcia <justin.garcia (a] apple.com> 65329 65330 Reviewed by hyatt 65331 65332 <rdar://problem/4875425> 65333 EBay, GMail, and GoogleDocs RTEs font size popups don't work 65334 65335 Changed execCommand("FontSize", ...) to match the spec 65336 and the behavior of other browsers. It expects a number, 65337 n, which, the spec says can be 1 through 7. Other browsers 65338 perform the font size change by creating a font element 65339 wrapper with size="n". We convert n into one of the absolute 65340 size CSS keywords (x-small, medium, etc.). 65341 65342 * editing/JSEditor.cpp: Call cssValueFromFontSizeNumber. If 65343 successful, perform the style change. 65344 * html/HTMLFontElement.cpp: 65345 (WebCore::HTMLFontElement::cssValueFromFontSizeNumber): Added. 65346 Moved this code from parsedMappedAttribute so that it could be 65347 called from the Editor. 65348 (WebCore::HTMLFontElement::parseMappedAttribute): Moved code into 65349 cssValueFromFontSizeNumber. 65350 * html/HTMLFontElement.h: 65351 65352 2007-01-12 David Hyatt <hyatt (a] apple.com> 65353 65354 Fix for bug 11598, implement lightweight control clipping mechanism for 65355 buttons, list boxes, and dropdown lists. Make sure list box respects 65356 scrollLeft/Top/Width/Height as well as clientWidth/Height. 65357 65358 Fix bugs in RenderStyle::diff. CursorData was not being compared properly. 65359 vertical-align had a non-inline display check that was wrong (preventing 65360 dynamic changes to keyword-based vertical-align from working). 65361 65362 Reviewed by mitz 65363 65364 * page/EventHandler.cpp: 65365 (WebCore::EventHandler::selectClosestWordFromMouseEvent): 65366 * rendering/RenderBlock.cpp: 65367 (WebCore::RenderBlock::layout): 65368 (WebCore::RenderBlock::layoutBlock): 65369 (WebCore::RenderBlock::determineHorizontalPosition): 65370 (WebCore::RenderBlock::layoutBlockChildren): 65371 (WebCore::RenderBlock::paint): 65372 (WebCore::RenderBlock::fillHorizontalSelectionGap): 65373 (WebCore::RenderBlock::nodeAtPoint): 65374 (WebCore::RenderBlock::layoutColumns): 65375 * rendering/RenderBox.cpp: 65376 (WebCore::RenderBox::computeAbsoluteRepaintRect): 65377 * rendering/RenderBox.h: 65378 * rendering/RenderButton.cpp: 65379 (WebCore::RenderButton::setStyle): 65380 (WebCore::RenderButton::controlClipRect): 65381 * rendering/RenderButton.h: 65382 (WebCore::RenderButton::hasControlClip): 65383 * rendering/RenderFlexibleBox.cpp: 65384 (WebCore::RenderFlexibleBox::layoutBlock): 65385 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 65386 (WebCore::RenderFlexibleBox::layoutVerticalBox): 65387 * rendering/RenderFlow.cpp: 65388 (WebCore::RenderFlow::addFocusRingRects): 65389 * rendering/RenderListBox.cpp: 65390 (WebCore::RenderListBox::itemBoundingBoxRect): 65391 (WebCore::RenderListBox::paintObject): 65392 (WebCore::RenderListBox::itemHeight): 65393 (WebCore::RenderListBox::verticalScrollbarWidth): 65394 (WebCore::RenderListBox::scrollWidth): 65395 (WebCore::RenderListBox::scrollHeight): 65396 (WebCore::RenderListBox::scrollLeft): 65397 (WebCore::RenderListBox::setScrollLeft): 65398 (WebCore::RenderListBox::scrollTop): 65399 (WebCore::RenderListBox::setScrollTop): 65400 (WebCore::RenderListBox::controlClipRect): 65401 * rendering/RenderListBox.h: 65402 (WebCore::RenderListBox::hasControlClip): 65403 * rendering/RenderMenuList.cpp: 65404 (WebCore::RenderMenuList::setStyle): 65405 (WebCore::RenderMenuList::controlClipRect): 65406 * rendering/RenderMenuList.h: 65407 (WebCore::RenderMenuList::hasControlClip): 65408 * rendering/RenderObject.cpp: 65409 (WebCore::RenderObject::verticalScrollbarWidth): 65410 (WebCore::RenderObject::horizontalScrollbarHeight): 65411 (WebCore::RenderObject::clientWidth): 65412 (WebCore::RenderObject::clientHeight): 65413 (WebCore::RenderObject::setStyle): 65414 * rendering/RenderObject.h: 65415 (WebCore::RenderObject::hasControlClip): 65416 (WebCore::RenderObject::controlClipRect): 65417 (WebCore::RenderObject::contentWidth): 65418 (WebCore::RenderObject::contentHeight): 65419 * rendering/RenderStyle.cpp: 65420 (WebCore::StyleVisualData::StyleVisualData): 65421 (WebCore::cursorDataEqvuialent): 65422 (WebCore::StyleInheritedData::operator==): 65423 (WebCore::CursorList::operator==): 65424 (WebCore::RenderStyle::diff): 65425 * rendering/RenderStyle.h: 65426 (WebCore::LengthBox::operator!=): 65427 (WebCore::StyleVisualData::operator==): 65428 (WebCore::CursorData::operator==): 65429 (WebCore::CursorData::operator!=): 65430 (WebCore::CursorList::operator!=): 65431 (WebCore::RenderStyle::setTableLayout): 65432 * rendering/bidi.cpp: 65433 (WebCore::RenderBlock::layoutInlineChildren): 65434 65435 2007-01-12 David Hyatt <hyatt (a] apple.com> 65436 65437 Fix for bug 9934, smaller line heights should not be allowed on 65438 text fields. 65439 65440 Reviewed by darin 65441 65442 * rendering/RenderTextControl.cpp: 65443 (WebCore::RenderTextControl::createInnerTextStyle): 65444 65445 2007-01-12 Mitz Pettel <mitz (a] webkit.org> 65446 65447 Reviewed by Hyatt. 65448 65449 - http://bugs.webkit.org/show_bug.cgi?id=12215 65450 Treat 'overflow' and '-webkit-border-radius' as shorthands when parsing and 65451 when removing. 65452 65453 Test: fast/css/remove-shorthand.html (updated) 65454 65455 * css/CSSMutableStyleDeclaration.cpp: 65456 (WebCore::initShorthandMap): 65457 * css/cssparser.cpp: 65458 (WebCore::CSSParser::parseValue): 65459 65460 2007-01-12 Rob Buis <buis (a] kde.org> 65461 65462 Reviewed by Mitz. 65463 65464 Do not mix up JSSVGPolygonElement and JSSVGPolylineElement. 65465 65466 * bindings/js/JSSVGElementWrapperFactory.cpp: 65467 65468 2007-01-12 Kevin Decker <kdecker (a] apple.com> 65469 65470 Reviewed by andersca. 65471 65472 Fixed: <rdar://problem/4701326>21.2 ms launch time regression spent in +[WebPluginDatabase installedPlugins] 65473 65474 * dom/DOMImplementation.cpp: 65475 (WebCore::DOMImplementation::createDocument): Added a guard clause for text/html which used to be in WebKit before a lot of the 65476 loader plumbing was moved to WebCore. Pinging the plug-in database to ask it if it supports a given mime type has the side 65477 effect of reading from disk on first call, therefore such a check should be a last resort. 65478 65479 2007-01-12 Mitz Pettel <mitz (a] webkit.org> 65480 65481 Reviewed by Darin. 65482 65483 - fix http://bugs.webkit.org/show_bug.cgi?id=12223 65484 REGRESSION: Leaks under CSSStyleSelector::applyProperty 65485 65486 No test possible (no change to functionality). 65487 65488 * rendering/RenderObject.h: Removed unused forward declaration. 65489 * rendering/RenderStyle.cpp: 65490 (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData): 65491 Delete shadow data. 65492 65493 2007-01-12 Anders Carlsson <acarlsson (a] apple.com> 65494 65495 Build fix. 65496 65497 * WebCore.xcodeproj/project.pbxproj: 65498 Remove SubresourceLoaderMac.mm. 65499 65500 2007-01-12 Lars Knoll <lars (a] trolltech.com> 65501 65502 Reviewed by Darin and Anders. 65503 65504 Make some more of the loader code platform independent. 65505 65506 * loader/FrameLoader.cpp: 65507 (WebCore::FrameLoader::clear): 65508 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 65509 (WebCore::FrameLoader::urlSelected): 65510 (WebCore::FrameLoader::createEmptyDocument): 65511 (WebCore::FrameLoader::setTitle): 65512 (WebCore::FrameLoader::originalRequestURL): 65513 (WebCore::FrameLoader::referrer): 65514 * loader/SubresourceLoader.cpp: 65515 (WebCore::SubresourceLoader::SubresourceLoader): 65516 (WebCore::SubresourceLoader::load): 65517 (WebCore::SubresourceLoader::create): 65518 (WebCore::SubresourceLoader::willSendRequest): 65519 (WebCore::SubresourceLoader::didReceiveResponse): 65520 (WebCore::SubresourceLoader::didReceiveData): 65521 (WebCore::SubresourceLoader::didFinishLoading): 65522 (WebCore::SubresourceLoader::didFail): 65523 (WebCore::SubresourceLoader::didCancel): 65524 (WebCore::SubresourceLoader::stopLoading): 65525 * loader/SubresourceLoader.h: 65526 * loader/mac/FrameLoaderMac.mm: 65527 * loader/mac/SubresourceLoaderMac.mm: Removed. 65528 * loader/qt/FrameLoaderQt.cpp: 65529 65530 2007-01-12 Lars Knoll <lars (a] trolltech.com> 65531 65532 Reviewed by Zack 65533 65534 Valgrind reported uninitialized variable. 65535 65536 * platform/network/qt/ResourceHandleManagerQt.cpp: 65537 (WebCore::FileLoader::request): 65538 65539 2007-01-12 Mitz Pettel <mitz (a] webkit.org> 65540 65541 Reviewed by rwlbuis. 65542 65543 - add missing null check in new fixed table layout code 65544 65545 * rendering/FixedTableLayout.cpp: 65546 (WebCore::FixedTableLayout::calcWidthArray): 65547 65548 2007-01-12 Lars Knoll <lars (a] trolltech.com> 65549 65550 Fix the Qt build after the Authenitcation changes. 65551 65552 * WebCore.pro: 65553 * platform/network/ResourceHandleInternal.h: 65554 65555 2007-01-12 David Hyatt <hyatt (a] apple.com> 65556 65557 Fix for bug 9569. Make sure the selection offset for selection roots excludes border and padding. 65558 65559 Reviewed by Eric 65560 65561 * rendering/RenderBlock.cpp: 65562 (WebCore::RenderBlock::leftSelectionOffset): 65563 (WebCore::RenderBlock::rightSelectionOffset): 65564 65565 2007-01-11 David Hyatt <hyatt (a] apple.com> 65566 65567 Fix for bug 8705, readonly text fields should not get focus rings. Add a rule to that effect to 65568 html4.css and then also add readonly as a special case for style sharing so that we can retain the 65569 performance boost from sharing styles on inputs. 65570 65571 Reviewed by bdash 65572 65573 * css/cssstyleselector.cpp: 65574 (WebCore::CSSStyleSelector::canShareStyleWithElement): 65575 (WebCore::CSSStyleSelector::checkOneSelector): 65576 * css/html4.css: 65577 65578 2007-01-11 David Hyatt <hyatt (a] apple.com> 65579 65580 Fix for bug 11595. Autoscrolling of layers didn't really work at all unless the layer was coincidentally 65581 in the root layer's coordinate space. The event point was an absolute position within the document, but 65582 the layer's rect was only local coords. This patch makes sure to use absolute bounds for the layer 65583 when comparing it with the point. 65584 65585 This is covered by the scrollRevealButton test case already in the tree... the results change to be more 65586 correct. 65587 65588 Reviewed by ggaren 65589 65590 * rendering/RenderLayer.cpp: 65591 (WebCore::RenderLayer::scrollRectToVisible): 65592 65593 2007-01-11 Brady Eidson <beidson (a] apple.com> 65594 65595 Reviewed by Oliver 65596 65597 -Move more HTTP Auth handling towards ResourceHandle, away from ResourceHandleClient 65598 -Make more of ResourceLoader cross-platform 65599 65600 * loader/ResourceLoader.cpp: 65601 (WebCore::ResourceLoader::ResourceLoader): 65602 (WebCore::ResourceLoader::releaseResources): 65603 (WebCore::ResourceLoader::didCancel): 65604 (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): 65605 (WebCore::ResourceLoader::didCancelAuthenticationChallenge): 65606 (WebCore::ResourceLoader::receivedCancellation): 65607 * loader/ResourceLoader.h: 65608 (WebCore::ResourceLoader::willStopBufferingData): 65609 (WebCore::ResourceLoader::didCancelAuthenticationChallenge): 65610 (WebCore::ResourceLoader::willCacheResponse): 65611 * loader/mac/ResourceLoaderMac.mm: 65612 * platform/network/ResourceHandle.h: 65613 * platform/network/ResourceHandleClient.h: 65614 (WebCore::ResourceHandleClient::willStopBufferingData): 65615 * platform/network/ResourceHandleInternal.h: 65616 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 65617 * platform/network/mac/ResourceHandleMac.mm: 65618 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 65619 (WebCore::ResourceHandle::didCancelAuthenticationChallenge): 65620 (WebCore::ResourceHandle::receivedCredential): 65621 (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): 65622 (WebCore::ResourceHandle::receivedCancellation): 65623 (WebCore::ResourceHandle::clearAuthentication): 65624 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): 65625 (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): 65626 (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]): 65627 (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]): 65628 (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]): 65629 65630 2007-01-11 David Hyatt <hyatt (a] apple.com> 65631 65632 A hit test is returning a null renderer. Make sure to null-check it in the autoscroll code. 65633 This really shouldn't happen, but I'm just going to bullet proof for now given that it's happening 65634 on the front page of yahoo.com! 65635 65636 Reviewed by mark 65637 65638 * rendering/RenderLayer.cpp: 65639 (WebCore::RenderLayer::autoscroll): 65640 65641 2007-01-11 David Hyatt <hyatt (a] apple.com> 65642 65643 Force column-width to parse in strict mode so that there is no confusion when it is used in the columns 65644 shorthand (it can be mistaken for column-count otherwise). 65645 65646 Reviewed by Mark 65647 65648 fast/multicol/columns-shorthand-parsing.html 65649 65650 * css/cssparser.cpp: 65651 (WebCore::CSSParser::parseValue): 65652 65653 2007-01-11 Mitz Pettel <mitz (a] webkit.org> 65654 65655 Reviewed by Hyatt. 65656 65657 - fix http://bugs.webkit.org/show_bug.cgi?id=12124 65658 RenderTable::section{Above,Below}() can return the wrong answer for the {footer,header} 65659 65660 * rendering/RenderTable.cpp: 65661 (WebCore::resetSectionPointerIfNotBefore): Added this function to help with 65662 checking if a section being inserted is the going to be the first of its kind. 65663 (WebCore::RenderTable::addChild): Changed to maintain the pointers to the 65664 header, the footer, the caption and the first table body properly when objects 65665 are inserted in the middle. Also changed to make the first caption win over 65666 any other captions. This matches Firefox and what already used to happen when a 65667 section recalc took place. 65668 (WebCore::RenderTable::layout): Changed to use sectionBelow() for iterating 65669 over the sections from top to bottom. 65670 (WebCore::RenderTable::calcBorderLeft): Changed to really find the section 65671 containing the first row. 65672 (WebCore::RenderTable::calcBorderRight): Ditto. 65673 (WebCore::RenderTable::sectionAbove): Fixed a bug when the last section was 65674 skipped if the input was the footer. 65675 (WebCore::RenderTable::sectionBelow): Ditto for "first" and "header" 65676 respectively. 65677 65678 2007-01-11 Mitz Pettel <mitz (a] webkit.org> 65679 65680 Reviewed by Hyatt. 65681 65682 - fix http://bugs.webkit.org/show_bug.cgi?id=12115 65683 RTL text is jumbled on display 65684 65685 Fixed fixed table layout. Implemented an algorithm that matches the behavior 65686 of Firefox, up to rounding errors. 65687 65688 Fixes three existing table tests. 65689 65690 * rendering/FixedTableLayout.cpp: 65691 Undid accidental search-and-replace of "width" to "m_width" in the comments. 65692 Removed an outdated comment, since WebKit no longer honors table-layout:fixed 65693 for variable-width tables. 65694 (WebCore::FixedTableLayout::calcWidthArray): Fixed the logic that finds the 65695 first row. Changed to divide the width specified for a cell that spans multiple 65696 columns between the columns rather than assign its entire width to each column. 65697 (WebCore::FixedTableLayout::calcMinMaxWidth): 65698 (WebCore::FixedTableLayout::layout): Implemented the behavior observed in 65699 Firefox. 65700 * rendering/FixedTableLayout.h: 65701 65702 2007-01-11 Mitz Pettel <mitz (a] webkit.org> 65703 65704 Reviewed by Hyatt. 65705 65706 - fix http://bugs.webkit.org/show_bug.cgi?id=8438 65707 iExploder(#460): Assertion failure in RenderObject::drawBorder() 65708 65709 Test: fast/block/basic/fieldset-stretch-to-legend.html 65710 65711 * rendering/RenderBox.cpp: 65712 (WebCore::RenderBox::calcWidth): Stretch to the minimum intrinsic 65713 width if the object requires it. 65714 (WebCore::RenderBox::calcHorizontalMargins): Some style cleanup. 65715 (WebCore::RenderBox::calcAbsoluteHorizontal): Stretch to the minimum 65716 intrinsic width if the object requires it. 65717 * rendering/RenderBox.h: 65718 (WebCore::RenderBox::stretchesToMinIntrinsicWidth): Added. Returns false. 65719 * rendering/RenderFieldset.cpp: 65720 (WebCore::RenderFieldset::calcMinMaxWidth): Overloaded RenderBlock's 65721 implementation to ensure that the legend's will fit in the fieldset's 65722 minimum intrinsic width. 65723 (WebCore::RenderFieldset::findLegend): Made const. 65724 (WebCore::RenderFieldset::paintBoxDecorations): 65725 (WebCore::RenderFieldset::paintBorderMinusLegend): Fixed the behavior when 65726 the legend does overflow the fieldset. This is the part of the fix that 65727 prevents the assertion failure. If the legend intersects with a corner of 65728 the fieldset's border, that corner will not be painted, even if it is not 65729 completely occluded. This edge case can be improved with clipping in the 65730 future. Added FIXME to implement border-radius. 65731 * rendering/RenderFieldset.h: 65732 (WebCore::RenderFieldset::stretchesToMinIntrinsicWidth): Overloaded to 65733 return true. 65734 65735 2007-01-11 Brady Eidson <beidson (a] apple.com> 65736 65737 Reviewed by Build Fix Karma 65738 65739 I broke the release build (debug build passed) 65740 65741 * platform/network/mac/AuthenticationMac.mm: 65742 (WebCore::core): 65743 65744 2007-01-11 Brady Eidson <beidson (a] apple.com> 65745 65746 Reviewed by Anders 65747 65748 Rewrites HTTP Authentication setting up a more platform-independent structure 65749 65750 * WebCore.exp: 65751 * WebCore.xcodeproj/project.pbxproj: 65752 * loader/FrameLoader.cpp: 65753 (WebCore::FrameLoader::didReceiveAuthenticationChallenge): 65754 (WebCore::FrameLoader::didCancelAuthenticationChallenge): 65755 * loader/FrameLoader.h: 65756 * loader/FrameLoaderClient.h: 65757 * loader/ResourceLoader.cpp: 65758 (WebCore::ResourceLoader::ResourceLoader): 65759 (WebCore::ResourceLoader::didCancel): 65760 * loader/ResourceLoader.h: 65761 (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): 65762 (WebCore::ResourceLoader::didCancelAuthenticationChallenge): 65763 (WebCore::ResourceLoader::receivedCredential): 65764 (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential): 65765 (WebCore::ResourceLoader::receivedCancellation): 65766 * loader/mac/FrameLoaderMac.mm: 65767 * loader/mac/ResourceLoaderMac.mm: 65768 (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): 65769 (WebCore::ResourceLoader::didCancelAuthenticationChallenge): 65770 (WebCore::ResourceLoader::receivedCredential): 65771 (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential): 65772 (WebCore::ResourceLoader::receivedCancellation): 65773 * platform/graphics/svg/SVGImageEmptyClients.h: 65774 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): 65775 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge): 65776 * platform/network/ResourceHandleClient.h: 65777 (WebCore::ResourceHandleClient::willSendRequest): 65778 (WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge): 65779 (WebCore::ResourceHandleClient::didCancelAuthenticationChallenge): 65780 (WebCore::ResourceHandleClient::receivedCredential): 65781 (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential): 65782 (WebCore::ResourceHandleClient::receivedCancellation): 65783 (WebCore::ResourceHandleClient::willCacheResponse): 65784 * platform/network/ResourceResponse.h: 65785 (WebCore::operator!=): 65786 * platform/network/URLAuthenticationChallenge.cpp: Added. 65787 (WebCore::URLAuthenticationChallenge::URLAuthenticationChallenge): 65788 (WebCore::URLAuthenticationChallenge::previousFailureCount): 65789 (WebCore::URLAuthenticationChallenge::proposedCredential): 65790 (WebCore::URLAuthenticationChallenge::protectionSpace): 65791 (WebCore::URLAuthenticationChallenge::failureResponse): 65792 (WebCore::URLAuthenticationChallenge::error): 65793 (WebCore::URLAuthenticationChallenge::isNull): 65794 (WebCore::URLAuthenticationChallenge::nullify): 65795 (WebCore::operator==): 65796 (WebCore::operator!=): 65797 * platform/network/URLAuthenticationChallenge.h: Added. 65798 (WebCore::URLAuthenticationChallenge::sender): 65799 (WebCore::URLAuthenticationChallenge::nsURLAuthenticationChallenge): 65800 * platform/network/URLCredential.cpp: Added. 65801 (WebCore::URLCredential::URLCredential): 65802 (WebCore::URLCredential::user): 65803 (WebCore::URLCredential::password): 65804 (WebCore::URLCredential::hasPassword): 65805 (WebCore::URLCredential::persistence): 65806 (WebCore::operator==): 65807 * platform/network/URLCredential.h: Added. 65808 (WebCore::): 65809 (WebCore::operator!=): 65810 * platform/network/URLProtectionSpace.cpp: Added. 65811 (WebCore::URLProtectionSpace::URLProtectionSpace): 65812 (WebCore::URLProtectionSpace::host): 65813 (WebCore::URLProtectionSpace::port): 65814 (WebCore::URLProtectionSpace::serverType): 65815 (WebCore::URLProtectionSpace::realm): 65816 (WebCore::URLProtectionSpace::authenticationScheme): 65817 (WebCore::operator==): 65818 * platform/network/URLProtectionSpace.h: Added. 65819 (WebCore::): 65820 (WebCore::operator!=): 65821 * platform/network/mac/AuthenticationMac.h: Added. 65822 * platform/network/mac/AuthenticationMac.mm: Added. 65823 (WebCore::URLAuthenticationChallenge::URLAuthenticationChallenge): 65824 (WebCore::mac): 65825 (WebCore::core): 65826 * platform/network/mac/ResourceHandleMac.mm: 65827 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): 65828 (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): 65829 (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]): 65830 (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]): 65831 (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]): 65832 * platform/network/mac/ResourceResponseMac.mm: 65833 (WebCore::operator==): 65834 65835 2007-01-11 Geoffrey Garen <ggaren (a] apple.com> 65836 65837 Reviewed by Anders Carlsson. 65838 65839 Even more cleanup in preparation for fixing <rdar://problem/4608404> 65840 WebScriptObject's _executionContext lack of ownership policy causes 65841 crashes (e.g., in Dashcode) 65842 65843 Layout tests pass. 65844 65845 Renames: 65846 findRootObjectForNativeHandleFunction => createRootObject 65847 FindRootObjectForNativeHandleFunctionPtr => createRootObjectFunction 65848 rootForView => createRootObject 65849 getInstanceForView => getPluginInstanceForWidget 65850 65851 * page/mac/FrameMac.mm: 65852 (WebCore::FrameMac::getAppletInstanceForWidget): Put the NSView * in a void* 65853 variable named "nativeHandle" to be more explicit about the fact that JavaScript's 65854 "nativeHandle" is just an NSView *. 65855 65856 (WebCore::getPluginInstanceForWidget): This function now does the NSView * 65857 fetching that its callers used to do. 65858 (WebCore::FrameMac::getEmbedInstanceForWidget): Updated for rename. 65859 (WebCore::FrameMac::getObjectInstanceForWidget): ditto 65860 65861 * page/mac/WebCoreFrameBridge.mm: Killed the WebCoreBridgeInternal category, 65862 which was really more of a shmategory. 65863 (createRootObject): Removed rootObjectForView, folding it into its only 65864 caller, the similarly named rootForView. Renamed the pair to "createRootObject" 65865 because that's what they do. 65866 65867 (-[WebCoreFrameBridge init]): Updated for renames 65868 65869 2007-01-11 Anders Carlsson <acarlsson (a] apple.com> 65870 65871 Reviewed by Darin. 65872 65873 Fix crash on platforms that don't use the new loader yet. 65874 65875 * loader/DocLoader.cpp: 65876 (WebCore::DocLoader::requestResource): 65877 65878 2007-01-11 Mitz Pettel <mitz (a] webkit.org> 65879 65880 Reviewed by Adam. 65881 65882 - fix http://bugs.webkit.org/show_bug.cgi?id=11449 65883 Type-to-select in unopened popups doesn't work with Hebrew 65884 65885 Test: fast/forms/select-type-ahead-non-latin.html 65886 65887 * html/HTMLSelectElement.cpp: 65888 (WebCore::HTMLSelectElement::defaultEventHandler): Changed locale-specific 65889 isprint() condition to a Unicode isPrintableChar(). 65890 65891 2007-01-09 Justin Garcia <justin.garcia (a] apple.com> 65892 65893 Reviewed by geoff 65894 65895 <rdar://problem/4889140> 65896 GMail Editor: List creation fails in new message 65897 65898 * editing/InsertListCommand.cpp: 65899 (WebCore::InsertListCommand::doApply): Inserting the list 65900 into an empty paragraph not held open by a br or a '\n', 65901 will invalidate start and end. Insert a placeholder and 65902 then recompute start and end. 65903 65904 2007-01-11 Lars Knoll <lars (a] trolltech.com> 65905 65906 Rubberstamped by Anders 65907 65908 This one is not needed any longer neither. 65909 65910 * ChangeLog: 65911 * WebCore.pro: 65912 * loader/qt/NavigationActionQt.cpp: Removed. 65913 65914 2007-01-11 Lars Knoll <lars (a] trolltech.com> 65915 65916 Reviewed by Anders 65917 65918 Remove now unused file 65919 65920 * WebCore.pro: 65921 * loader/qt/LoaderFunctionsQt.cpp: Removed. 65922 65923 2007-01-11 David Kilzer <ddkilzer (a] webkit.org> 65924 65925 Reviewed by NOBODY (build fix). 65926 65927 * loader/mac/FrameLoaderMac.mm: Removed import of LoaderNSURLRequestExtras.h. 65928 * loader/mac/SubresourceLoaderMac.mm: Ditto. 65929 65930 2007-01-11 George Staikos <staikos (a] kde.org> 65931 65932 Fix compile. 65933 65934 * page/qt/FrameQtClient.cpp: 65935 65936 2007-01-11 Anders Carlsson <acarlsson (a] apple.com> 65937 65938 Fix build. 65939 65940 * dom/XMLTokenizer.cpp: 65941 * loader/CachedCSSStyleSheet.cpp: 65942 * loader/CachedImage.cpp: 65943 * loader/DocLoader.cpp: 65944 * loader/loader.cpp: 65945 * xml/XSLTProcessor.cpp: 65946 * xml/xmlhttprequest.cpp: 65947 65948 2007-01-11 Anders Carlsson <acarlsson (a] apple.com> 65949 65950 Reviewed by Adam. 65951 65952 Loader cleanup, get rid of unused code. 65953 65954 * WebCore.xcodeproj/project.pbxproj: 65955 * loader/CachedResource.h: 65956 * loader/DocLoader.cpp: 65957 (WebCore::DocLoader::requestResource): 65958 (WebCore::DocLoader::checkCacheObjectStatus): 65959 * loader/DocLoader.h: 65960 * loader/LoaderFunctions.h: Removed. 65961 * loader/mac/CachedResourceMac.mm: Removed. 65962 * loader/mac/LoaderFunctionsMac.mm: Removed. 65963 * loader/mac/LoaderNSURLRequestExtras.h: Removed. 65964 * loader/mac/LoaderNSURLRequestExtras.m: Removed. 65965 * loader/mac/SubresourceLoaderMac.mm: 65966 * page/mac/WebCoreFrameBridge.mm: 65967 * platform/network/ResourceHandle.cpp: 65968 65969 2007-01-11 Beth Dakin <bdakin (a] apple.com> 65970 65971 Reviewed by Adam. 65972 65973 Fix for http://bugs.webkit.org/show_bug.cgi?id=12135 REGRESSION: 65974 <input> and <textarea> not focused on right click (4908884 in 65975 Radar) 65976 65977 * page/EventHandler.cpp: 65978 (WebCore::EventHandler::sendContextMenuEvent): Since WebcCore now 65979 handles the context menu event, we want to ask if we *have* 65980 swallowed the event instead of if we *haven't* when deciding to 65981 perform a selection. In the past, WebKit handled the event, so 65982 swallowEvent was false in the case where we want to pop up a menu. 65983 65984 2007-01-11 Darin Adler <darin (a] apple.com> 65985 65986 Reviewed by Anders. 65987 65988 - fix http://bugs.webkit.org/show_bug.cgi?id=12189 65989 REGRESSION(r18614-18640): Crash in WebCore::SharedBuffer::hasPlatformData() 65990 65991 * loader/mac/LoaderFunctionsMac.mm: (WebCore::CheckCacheObjectStatus): 65992 Added null check. 65993 65994 2007-01-11 Darin Adler <darin (a] apple.com> 65995 65996 * platform/CharacterNames.h: Oops! horizontalEllipsis != zeroWidthSpace! 65997 65998 2007-01-11 Lars Knoll <lars (a] trolltech.com> 65999 66000 Reviewed by Darin. 66001 66002 Start using the loader in the Qt port. 66003 66004 * loader/FrameLoader.cpp: 66005 (WebCore::FrameLoader::clear): 66006 (WebCore::FrameLoader::URL): 66007 (WebCore::FrameLoader::createEmptyDocument): 66008 * loader/qt/FrameLoaderQt.cpp: 66009 (WebCore::FrameLoader::setTitle): 66010 (WebCore::FrameLoader::originalRequestURL): 66011 (WebCore::FrameLoader::referrer): 66012 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 66013 * page/qt/FrameQtClient.cpp: 66014 (WebCore::FrameQtClient::openURL): 66015 66016 2007-01-11 Darin Adler <darin (a] apple.com> 66017 66018 Reviewed by Hyatt. 66019 66020 - removed a couple Mac bridging classes; put the code in WebKit instead 66021 66022 * WebCore.exp: Updated for new WebKit uses. 66023 66024 * WebCore.xcodeproj/project.pbxproj: Removed files. 66025 * bridge/mac/WebCoreEncodings.h: Removed. 66026 * bridge/mac/WebCoreEncodings.mm: Removed. 66027 * bridge/mac/WebMimeTypeRegistryBridge.h: Removed. 66028 * bridge/mac/WebMimeTypeRegistryBridge.mm: Removed. 66029 * platform/mac/WebNSAttributedStringExtras.h: Removed. 66030 * platform/mac/WebNSAttributedStringExtras.mm: Removed. 66031 66032 * platform/mac/PasteboardMac.mm: 66033 (WebCore::stripAttachmentCharacters): Added. Moved code from 66034 WebNSAttributedStringExtras.mm, and fixed a garbage collection problem 66035 (a global with a plain old retain rather than HardRetain). 66036 (WebCore::Pasteboard::writeSelection): Updated to use stripAttachmentCharacters. 66037 66038 - removed some DeprecatedCString use 66039 66040 * loader/FrameLoader.cpp: Changed to use String more to eliminate use of 66041 DeprecatedCString here in the mailto form support. But maybe we can remove 66042 this entirely. Do we really care about mailto forms any more? 66043 66044 * platform/Pasteboard.h: Removed unneeded DeprecatedCString declaration. 66045 66046 * platform/PlatformString.h: Added replace that takes two strings. 66047 * platform/StringImpl.h: Ditto. 66048 * platform/StringImpl.cpp: (WebCore::StringImpl::replace): Ditto. 66049 66050 * platform/TextStream.h: Remove DeprecatedCString case. 66051 * platform/TextStream.cpp: Ditto. 66052 66053 - made a few more files use CharacterNames.h 66054 66055 * platform/CharacterNames.h: Added some more character names and 66056 sorted alphabetically. 66057 66058 * bridge/mac/WebCoreStringTruncator.mm: 66059 (centerTruncateToBuffer): Use character name from CharacterNames.h. 66060 (rightTruncateToBuffer): Ditto. 66061 (truncateString): Ditto. 66062 * platform/mac/FontMac.mm: (WebCore::addDirectionalOverride): Ditto. 66063 * rendering/RenderFlexibleBox.cpp: 66064 (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto. 66065 * rendering/bidi.cpp: 66066 (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto. 66067 66068 2007-01-11 David Hyatt <hyatt (a] apple.com> 66069 66070 Fix two bugs in positionForCoordinates. (Make it work when you have a margin in between your border and 66071 your first child block.) 66072 66073 Rewrite column rebalancing to have two modes: constrained and unconstrained. In unconstrained mode, 66074 the system will dynamically rebalance as it loses space to breaks and compute a final intrinsic height 66075 for the overall block. In constrained mode, columns flow into the fixed height block, and extra columns 66076 spill out horizontally in the appropriate direction (RTL/LTR). 66077 66078 Make columns work properly with both LTR and RTL overflow blocks. 66079 66080 Initial column test suite coming soon now that the basic layout is right. 66081 66082 Reviewed by darin 66083 66084 * rendering/RenderBlock.cpp: 66085 (WebCore:::RenderFlow): 66086 (WebCore::RenderBlock::layoutBlock): 66087 (WebCore::RenderBlock::paintColumns): 66088 (WebCore::RenderBlock::lowestPosition): 66089 (WebCore::RenderBlock::rightmostPosition): 66090 (WebCore::RenderBlock::leftmostPosition): 66091 (WebCore::RenderBlock::hitTestColumns): 66092 (WebCore::RenderBlock::positionForCoordinates): 66093 (WebCore::RenderBlock::availableWidth): 66094 (WebCore::RenderBlock::calcColumnWidth): 66095 (WebCore::RenderBlock::layoutColumns): 66096 (WebCore::RenderBlock::adjustPointToColumnContents): 66097 * rendering/RenderBlock.h: 66098 (WebCore::RenderBlock::hasColumns): 66099 66100 2007-01-10 Rob Buis <buis (a] kde.org> 66101 66102 Reviewed by Eric. 66103 66104 http://bugs.webkit.org/show_bug.cgi?id=12201 66105 Fix image dragging issues with http://www.carto.net/papers/svg/gui/scrollbar/index.svg 66106 66107 Fix calculation of absolute transform so that viewport x,y 66108 translation is always done, also when viewBox is set. 66109 66110 * rendering/RenderSVGContainer.cpp: 66111 (WebCore::RenderSVGContainer::paint): 66112 (WebCore::RenderSVGContainer::viewportTransform): 66113 (WebCore::RenderSVGContainer::absoluteTransform): 66114 66115 2007-01-10 David Hyatt <hyatt (a] apple.com> 66116 66117 Rework positionForCoordinates to be more efficient and to handle multi-column content. This entailed 66118 adding a new field to HitTestResult called localPoint that cached the mouse coordinate in the coordinate 66119 space of the renderer. 66120 66121 positionForCoordinates now takes local coordinates and so no longer needs to waste time recomputing 66122 absolute positions over and over again. 66123 66124 Reviewed by darin 66125 66126 * bridge/mac/WebCoreAXObject.mm: 66127 (-[WebCoreAXObject value]): 66128 (-[WebCoreAXObject doAXTextMarkerRangeForLine:]): 66129 (-[WebCoreAXObject doAXTextMarkerForPosition:]): 66130 * dom/Document.cpp: 66131 (WebCore::Document::prepareMouseEvent): 66132 * editing/SelectionController.cpp: 66133 (WebCore::SelectionController::contains): 66134 * editing/visible_units.cpp: 66135 (WebCore::previousLinePosition): 66136 (WebCore::nextLinePosition): 66137 * page/EventHandler.cpp: 66138 (WebCore::EventHandler::selectClosestWordFromMouseEvent): 66139 (WebCore::EventHandler::handleMousePressEventDoubleClick): 66140 (WebCore::EventHandler::handleMousePressEventTripleClick): 66141 (WebCore::EventHandler::handleMousePressEventSingleClick): 66142 (WebCore::EventHandler::handleMouseMoveEvent): 66143 (WebCore::EventHandler::handleMouseReleaseEvent): 66144 (WebCore::EventHandler::sendContextMenuEvent): 66145 * page/EventHandler.h: 66146 * page/MouseEventWithHitTestResults.cpp: 66147 (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults): 66148 * page/MouseEventWithHitTestResults.h: 66149 (WebCore::MouseEventWithHitTestResults::localPoint): 66150 * page/mac/WebCoreFrameBridge.mm: 66151 (-[WebCoreFrameBridge _visiblePositionForPoint:]): 66152 * rendering/EllipsisBox.cpp: 66153 (WebCore::EllipsisBox::nodeAtPoint): 66154 * rendering/HitTestResult.h: 66155 (WebCore::HitTestResult::localPoint): 66156 (WebCore::HitTestResult::setLocalPoint): 66157 * rendering/InlineFlowBox.cpp: 66158 (WebCore::InlineFlowBox::nodeAtPoint): 66159 * rendering/InlineTextBox.cpp: 66160 (WebCore::InlineTextBox::nodeAtPoint): 66161 * rendering/RenderBlock.cpp: 66162 (WebCore::RenderBlock::nodeAtPoint): 66163 (WebCore::RenderBlock::hitTestContents): 66164 (WebCore::RenderBlock::positionForCoordinates): 66165 * rendering/RenderBox.cpp: 66166 (WebCore::RenderBox::nodeAtPoint): 66167 * rendering/RenderContainer.cpp: 66168 (WebCore::RenderContainer::positionForCoordinates): 66169 * rendering/RenderFlow.cpp: 66170 (WebCore::RenderFlow::hitTestLines): 66171 * rendering/RenderInline.cpp: 66172 (WebCore::RenderInline::positionForCoordinates): 66173 * rendering/RenderLayer.cpp: 66174 (WebCore::RenderLayer::autoscroll): 66175 (WebCore::RenderLayer::hitTestLayer): 66176 * rendering/RenderObject.cpp: 66177 (WebCore::RenderObject::updateHitTestResult): 66178 * rendering/RenderObject.h: 66179 * rendering/RenderPath.cpp: 66180 (WebCore::RenderPath::nodeAtPoint): 66181 * rendering/RenderReplaced.cpp: 66182 (WebCore::RenderReplaced::positionForCoordinates): 66183 * rendering/RenderTableRow.cpp: 66184 (WebCore::RenderTableRow::nodeAtPoint): 66185 * rendering/RenderTableSection.cpp: 66186 (WebCore::RenderTableSection::nodeAtPoint): 66187 * rendering/RenderText.cpp: 66188 (WebCore::RenderText::positionForCoordinates): 66189 * rendering/RootInlineBox.cpp: 66190 (WebCore::RootInlineBox::nodeAtPoint): 66191 (WebCore::RootInlineBox::closestLeafChildForXPos): 66192 * rendering/RootInlineBox.h: 66193 66194 2007-01-11 George Staikos <staikos (a] kde.org> 66195 66196 Reviewed by Maciej. 66197 66198 Fix Qt Build. 66199 66200 * loader/qt/DocumentLoaderQt.cpp: 66201 (WebCore::DocumentLoader::getResponseModifiedHeader): 66202 66203 2007-01-10 Pam Greene <pam (a] chromium.org> 66204 66205 Reviewed by Darin. 66206 66207 Fixes for http://bugs.webkit.org/show_bug.cgi?id=11841 66208 66209 Set image size to fit alt text when image or input-image element 66210 has no src attribute, so that those images show their alt text instead 66211 of showing nothing at all. 66212 66213 * html/HTMLImageElement.cpp: 66214 (WebCore::HTMLImageElement::attach): 66215 * html/HTMLInputElement.cpp: 66216 (WebCore::HTMLInputElement::attach): 66217 * rendering/RenderImage.cpp: 66218 (WebCore::RenderImage::setImageSizeForAltText): 66219 (WebCore::RenderImage::imageChanged): 66220 * rendering/RenderImage.h: 66221 66222 2007-01-11 Mark Rowe <mrowe (a] apple.com> 66223 66224 Build fix. 66225 66226 * rendering/RenderView.cpp: 66227 (WebCore::RenderView::printing): 66228 66229 2007-01-10 Mitz Pettel <mitz (a] webkit.org> 66230 66231 Reviewed by Darin. 66232 66233 - fix http://bugs.webkit.org/show_bug.cgi?id=9284 66234 Quirksmode (CSS1): Removing inline border styles is impossible 66235 66236 Test: fast/css/remove-shorthand.html 66237 66238 * css/CSSMutableStyleDeclaration.cpp: 66239 (WebCore::PropertyLonghand::PropertyLonghand): Added this structure 66240 containing a pointer to an array if properties and the array's length. 66241 (WebCore::PropertyLonghand::properties): 66242 (WebCore::PropertyLonghand::length): 66243 (WebCore::initShorthandMap): Initialize the mapping from shorthand 66244 properties to their dependent properties. 66245 (WebCore::CSSMutableStyleDeclaration::removeProperty): Changed to check 66246 if the property being removed is a shorthand, and if so, to remove all 66247 of its dependent properties. 66248 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): Added a 66249 'notifyChanged' boolean parameter which controls whether this method 66250 calls setChanged() if it actually removes any property. 66251 * css/CSSMutableStyleDeclaration.h: 66252 66253 2007-01-10 Steve Falkenburg <sfalken (a] apple.com> 66254 66255 Reviewed by Kevin. 66256 66257 Removed unnecessary printing state 66258 66259 * page/FrameView.cpp: 66260 (WebCore::FrameView::layout): 66261 * page/mac/WebCoreFrameBridge.mm: 66262 (-[WebCoreFrameBridge forceLayoutAdjustingViewSize:]): 66263 (-[WebCoreFrameBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): 66264 (-[WebCoreFrameBridge drawRect:]): 66265 (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]): 66266 (-[WebCoreFrameBridge adjustPageHeightNew:top:bottom:limit:]): 66267 * rendering/RenderLayer.cpp: 66268 (WebCore::RenderLayer::updateLayerPositions): 66269 * rendering/RenderObject.cpp: 66270 (WebCore::RenderObject::repaint): 66271 (WebCore::RenderObject::repaintRectangle): 66272 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 66273 * rendering/RenderView.cpp: 66274 (WebCore::RenderView::RenderView): 66275 (WebCore::RenderView::calcHeight): 66276 (WebCore::RenderView::calcWidth): 66277 (WebCore::RenderView::layout): 66278 (WebCore::RenderView::paint): 66279 (WebCore::RenderView::repaintViewRectangle): 66280 (WebCore::RenderView::computeAbsoluteRepaintRect): 66281 (WebCore::RenderView::printing): 66282 (WebCore::RenderView::viewRect): 66283 (WebCore::RenderView::docHeight): 66284 (WebCore::RenderView::docWidth): 66285 * rendering/RenderView.h: 66286 * rendering/RenderWidget.cpp: 66287 (WebCore::RenderWidget::updateWidgetPosition): 66288 * rendering/bidi.cpp: 66289 (WebCore::RenderBlock::layoutInlineChildren): 66290 66291 2007-01-10 Anders Carlsson <acarlsson (a] apple.com> 66292 66293 Reviewed by Maciej. 66294 66295 Get the Refresh header directly from the ResourceResponse. 66296 66297 * loader/DocumentLoader.h: 66298 * loader/FrameLoader.cpp: 66299 (WebCore::FrameLoader::commitProvisionalLoad): 66300 * loader/mac/DocumentLoaderMac.mm: 66301 (WebCore::DocumentLoader::getResponseModifiedHeader): 66302 66303 2007-01-10 Beth Dakin <bdakin (a] apple.com> 66304 66305 Reviewed by John. 66306 66307 Fix for <rdar://problem/4914258> REGRESSION: Search in Google now 66308 operates on the current WebView instead of invoking Safari's 66309 service 66310 66311 * page/ContextMenuClient.h: New call to the client to search in 66312 google. 66313 * page/ContextMenuController.cpp: 66314 (WebCore::ContextMenuController::contextMenuItemSelected): Call 66315 into the client instead of forming a new url string and loading it. 66316 * platform/graphics/svg/SVGImageEmptyClients.h: 66317 (WebCore::SVGEmptyContextMenuClient::searchWithGoogle): New call. 66318 66319 2007-01-10 Adam Roben <aroben (a] apple.com> 66320 66321 Rubberstamped by Darin. 66322 66323 * page/ContextMenuController.cpp: 66324 (WebCore::ContextMenuController::contextMenuItemSelected): Pass 0 66325 instead of an empty Event to FrameLoader::load and 66326 FrameLoader::urlSelected. 66327 66328 2007-01-10 Anders Carlsson <acarlsson (a] apple.com> 66329 66330 * loader/ResourceLoader.cpp: 66331 (WebCore::ResourceLoader::~ResourceLoader): 66332 Disable assertion (I forgot to do this even though I added the comment!) 66333 66334 2007-01-10 Ross Burton <ross (a] burtonini.com> 66335 66336 Reviewed and landed by Anders. 66337 66338 Fix case in vcproj file (the GTK+ port uses the vcproj file). 66339 66340 * WebCore.vcproj/WebCore/WebCore.vcproj: 66341 66342 2007-01-10 Lars Knoll <lars (a] trolltech.com> 66343 66344 Make the Qt build compile again after 66345 the ResourceLoader was made platform 66346 independent. 66347 66348 * WebCore.pro: 66349 * loader/FrameLoader.cpp: 66350 (WebCore::FrameLoader::didFirstLayout): 66351 * loader/qt/FrameLoaderQt.cpp: 66352 * loader/qt/MainResourceLoaderQt.cpp: Removed. 66353 * loader/qt/ResourceLoaderQt.cpp: Removed. 66354 * page/qt/FrameQtClient.cpp: 66355 (WebCore::FrameQtClient::openURL): 66356 * platform/network/qt/ResourceHandleQt.cpp: 66357 (WebCore::ResourceHandle::setDefersLoading): 66358 66359 2007-01-10 Anders Carlsson <acarlsson (a] apple.com> 66360 66361 Rubber-stamped by Maciej. 66362 66363 Move most of ResourceLoader and MainResourceLoader into the platform-independent files. 66364 66365 * WebCore.xcodeproj/project.pbxproj: 66366 * loader/FrameLoader.cpp: 66367 (WebCore::FrameLoader::didFinishLoad): 66368 * loader/MainResourceLoader.cpp: 66369 (WebCore::MainResourceLoader::MainResourceLoader): 66370 (WebCore::MainResourceLoader::~MainResourceLoader): 66371 (WebCore::MainResourceLoader::create): 66372 (WebCore::MainResourceLoader::receivedError): 66373 (WebCore::MainResourceLoader::didCancel): 66374 (WebCore::MainResourceLoader::interruptionForPolicyChangeError): 66375 (WebCore::MainResourceLoader::stopLoadingForPolicyChange): 66376 (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy): 66377 (WebCore::MainResourceLoader::continueAfterNavigationPolicy): 66378 (WebCore::MainResourceLoader::isPostOrRedirectAfterPost): 66379 (WebCore::MainResourceLoader::addData): 66380 (WebCore::MainResourceLoader::willSendRequest): 66381 (WebCore::shouldLoadAsEmptyDocument): 66382 (WebCore::MainResourceLoader::continueAfterContentPolicy): 66383 (WebCore::MainResourceLoader::callContinueAfterContentPolicy): 66384 (WebCore::MainResourceLoader::didReceiveResponse): 66385 (WebCore::MainResourceLoader::didReceiveData): 66386 (WebCore::MainResourceLoader::didFinishLoading): 66387 (WebCore::MainResourceLoader::didFail): 66388 (WebCore::MainResourceLoader::loadNow): 66389 (WebCore::MainResourceLoader::load): 66390 (WebCore::MainResourceLoader::setDefersLoading): 66391 * loader/MainResourceLoader.h: 66392 * loader/ResourceLoader.cpp: 66393 (WebCore::ResourceLoader::ResourceLoader): 66394 (WebCore::ResourceLoader::~ResourceLoader): 66395 (WebCore::ResourceLoader::releaseResources): 66396 (WebCore::ResourceLoader::load): 66397 (WebCore::ResourceLoader::setDefersLoading): 66398 (WebCore::ResourceLoader::frameLoader): 66399 (WebCore::ResourceLoader::addData): 66400 (WebCore::ResourceLoader::clearResourceData): 66401 (WebCore::ResourceLoader::willSendRequest): 66402 (WebCore::ResourceLoader::didReceiveResponse): 66403 (WebCore::ResourceLoader::didReceiveData): 66404 (WebCore::ResourceLoader::willStopBufferingData): 66405 (WebCore::ResourceLoader::didFinishLoading): 66406 (WebCore::ResourceLoader::didFinishLoadingOnePart): 66407 (WebCore::ResourceLoader::didFail): 66408 (WebCore::ResourceLoader::didCancel): 66409 (WebCore::ResourceLoader::cancel): 66410 (WebCore::ResourceLoader::response): 66411 (WebCore::ResourceLoader::cancelledError): 66412 * loader/ResourceLoader.h: 66413 (WebCore::ResourceLoader::willStopBufferingData): 66414 (WebCore::ResourceLoader::setRequest): 66415 * loader/mac/FrameLoaderMac.mm: 66416 * loader/mac/MainResourceLoaderMac.mm: Removed. 66417 * loader/mac/ResourceLoaderMac.mm: 66418 66419 2007-01-10 Lars Knoll <lars (a] trolltech.com> 66420 66421 Move files to the correct location, 66422 and remove a few unused methods from 66423 LoaderFunctionsQt.cpp 66424 66425 * WebCore.pro: 66426 * loader/qt/LoaderFunctionsQt.cpp: Added. 66427 (WebCore::CheckCacheObjectStatus): 66428 * page/qt/FrameQt.cpp: Added. 66429 (WebCore::doScroll): 66430 (WebCore::FrameQt::FrameQt): 66431 (WebCore::FrameQt::~FrameQt): 66432 (WebCore::FrameQt::passMouseDownEventToWidget): 66433 (WebCore::FrameQt::isLoadTypeReload): 66434 (WebCore::FrameQt::markedTextRange): 66435 (WebCore::FrameQt::mimeTypeForFileName): 66436 (WebCore::FrameQt::unfocusWindow): 66437 (WebCore::FrameQt::focusWindow): 66438 (WebCore::FrameQt::getEmbedInstanceForWidget): 66439 (WebCore::FrameQt::getObjectInstanceForWidget): 66440 (WebCore::FrameQt::getAppletInstanceForWidget): 66441 (WebCore::FrameQt::issueCutCommand): 66442 (WebCore::FrameQt::issueCopyCommand): 66443 (WebCore::FrameQt::issuePasteCommand): 66444 (WebCore::FrameQt::issuePasteAndMatchStyleCommand): 66445 (WebCore::FrameQt::issueTransposeCommand): 66446 (WebCore::FrameQt::respondToChangedSelection): 66447 (WebCore::FrameQt::shouldChangeSelection): 66448 (WebCore::FrameQt::print): 66449 (WebCore::FrameQt::shouldInterruptJavaScript): 66450 (WebCore::FrameQt::keyEvent): 66451 (WebCore::FrameQt::setFrameGeometry): 66452 (WebCore::FrameQt::client): 66453 (WebCore::FrameQt::createNewWindow): 66454 (WebCore::FrameQt::goBackOrForward): 66455 (WebCore::FrameQt::historyURL): 66456 (WebCore::FrameQt::runJavaScriptAlert): 66457 (WebCore::FrameQt::runJavaScriptConfirm): 66458 (WebCore::FrameQt::runJavaScriptPrompt): 66459 (WebCore::FrameQt::bindingRootObject): 66460 (WebCore::FrameQt::addPluginRootObject): 66461 * page/qt/FrameQt.h: Added. 66462 (WebCore::QtFrame): 66463 * page/qt/FrameQtClient.cpp: Added. 66464 (WebCore::FrameQtClient::FrameQtClient): 66465 (WebCore::FrameQtClient::~FrameQtClient): 66466 (WebCore::FrameQtClient::setFrame): 66467 (WebCore::FrameQtClient::openURL): 66468 (WebCore::FrameQtClient::submitForm): 66469 (WebCore::FrameQtClient::didReceiveResponse): 66470 (WebCore::FrameQtClient::didFinishLoading): 66471 (WebCore::FrameQtClient::didFail): 66472 (WebCore::FrameQtClient::didReceiveData): 66473 (WebCore::FrameQtClient::traverseNextFrameStayWithin): 66474 (WebCore::numRequests): 66475 (WebCore::FrameQtClient::numPendingOrLoadingRequests): 66476 * page/qt/FrameQtClient.h: Added. 66477 * platform/qt/FrameQt.cpp: Removed. 66478 * platform/qt/FrameQt.h: Removed. 66479 * platform/qt/FrameQtClient.cpp: Removed. 66480 * platform/qt/FrameQtClient.h: Removed. 66481 * platform/qt/LoaderFunctionsQt.cpp: Removed. 66482 66483 2007-01-10 Adam Roben <aroben (a] apple.com> 66484 66485 Reviewed by Geoff. 66486 66487 Fix: <rdar://problem/4917054> ContextMenuController leaks Events 66488 66489 No layout tests possible. 66490 66491 * page/ContextMenuController.cpp: 66492 (WebCore::ContextMenuController::contextMenuItemSelected): Use RefPtr 66493 to manage the lifetime of Shared objects. 66494 66495 2007-01-10 Rob Buis <buis (a] kde.org> 66496 66497 Reviewed by Sam. 66498 66499 http://bugs.webkit.org/show_bug.cgi?id=12196 66500 SVGPatternElement should not be locatable 66501 66502 Replace SVGStyledLocatableElement derivation with 66503 SVGStyledElement. 66504 66505 * ksvg2/svg/SVGPatternElement.cpp: 66506 (WebCore::SVGPatternElement::SVGPatternElement): 66507 * ksvg2/svg/SVGPatternElement.h: 66508 66509 2007-01-10 Nikolas Zimmermann <zimmermann (a] kde.org> 66510 66511 Build fix, not reviewed. 66512 66513 * rendering/RenderSVGText.cpp: Use correct method name. 66514 (WebCore::RenderSVGText::relativeBBox): 66515 66516 2007-01-10 Nikolas Zimmermann <zimmermann (a] kde.org> 66517 66518 Reviewed by Eric. 66519 66520 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10262 (SVG fails to redraw top 20 pixels) 66521 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10263 (SVG seems to repaint way too many times during load) 66522 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10404 (Invalidation issues with text skew) 66523 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10407 (bad SVG text invalidation issues on mouseover/mouseout) 66524 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10806 (failing manual-tests/svg-repaint-group.svg) 66525 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10913 (SVG charts from plotkit fail to render unless you scroll them offscreen) 66526 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10964 (inclusion of svg into svg leave a ghost invisible rectangle) 66527 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11680 (DojoKit SVG test chart fails to render (clipping issue?)) 66528 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11883 (SVG Text has updating/repainting issues) 66529 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11907 (RenderSVGContainer does not mark itself for repaint after setting viewBox, slice or align) 66530 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11913 (Invalidation issues in SVG javascript-based animation example) 66531 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11979 (SVG text does not respect font-size scaling in bbox calculation) 66532 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11984 (SVG <text> does not calculate the correct absoluteRepaintRect) 66533 Partly fixes: http://bugs.webkit.org/show_bug.cgi?id=10745 (SVG layout needs to move out of DOM and into rendering tree during layout() call) 66534 66535 Fixes text redrawing issues seen in svg/carto.net (when actually playing with those files, manually) 66536 Fixes svg/carto.net/window.svg (moving "Navigation Window" caused artefacts) 66537 Fixes svg/W3C-SVG-1.1/types-basicDOM-01-b.svg (bbox calculations had one pixel offset) 66538 66539 Large SVG dynamic update rework/optimization. Also fixes SVG printing. 66540 66541 Rename updateCanvasItem() to rebuildRenderer(), as this is what it really does. 66542 66543 Do NOT call rebuildRenderer() in notifyAttributeChange() anymore, 66544 but override notifyAttributeChange() in SVGPathElement/SVGCircleElement/etc.. 66545 (as only primitives using RenderPath as rendering object need this logic!) 66546 66547 This should clarify what really happens, as discussed with Eric. 66548 66549 Remove the invocations of notifyAttributeChange() in SVGLength. It's already 66550 handled by the JS bindings, and we do double updating work. Fixed. 66551 66552 Because SVG dynamic updates have been flaky in the past, there was a hack introduced 66553 in RenderPath causing the updateCanvasItem() function to be called _on every layout_ (!!!). 66554 Finally this hack is gone. Offer RenderSVGContainer::absoluteRects() function to be able 66555 to use WebInspector for <g> elements (very handy!). 66556 66557 Remove the unneeded "m_updateVectorial" bool from SVGStyledElement. 66558 Remove computeAbsoluteRepaintRect() from RenderSVGContainer/RenderSVGImage/RenderSVGText, 66559 as dicussed with David (we only need to reimplement getAbsoluteRepaintRect there). 66560 66561 Make RenderSVGText::absoluteRects just use the getAbsoluteRepaintRect() function, instead of 66562 code duplication. Remove unneeded RenderSVGImage::layout() function (RenderImage does the same). 66563 66564 Add new function SVGStyledElement::renderStyleForElement, which centralizes the manual style 66565 resolving needed for gradient stops. 66566 66567 * ksvg2/svg/SVGCircleElement.cpp: 66568 (WebCore::SVGCircleElement::notifyAttributeChange): 66569 (WebCore::SVGCircleElement::hasRelativeValues): 66570 * ksvg2/svg/SVGCircleElement.h: 66571 * ksvg2/svg/SVGEllipseElement.cpp: 66572 (WebCore::SVGEllipseElement::notifyAttributeChange): 66573 (WebCore::SVGEllipseElement::hasRelativeValues): 66574 * ksvg2/svg/SVGEllipseElement.h: 66575 * ksvg2/svg/SVGImageElement.cpp: 66576 (WebCore::SVGImageElement::notifyAttributeChange): 66577 * ksvg2/svg/SVGImageElement.h: 66578 * ksvg2/svg/SVGLength.cpp: 66579 (WebCore::SVGLength::setValue): 66580 (WebCore::SVGLength::setValueInSpecifiedUnits): 66581 * ksvg2/svg/SVGLength.h: 66582 (WebCore::SVGLength::isRelative): 66583 * ksvg2/svg/SVGLineElement.cpp: 66584 (WebCore::SVGLineElement::notifyAttributeChange): 66585 (WebCore::SVGLineElement::hasRelativeValues): 66586 * ksvg2/svg/SVGLineElement.h: 66587 * ksvg2/svg/SVGLocatable.cpp: 66588 (WebCore::SVGLocatable::getBBox): 66589 * ksvg2/svg/SVGPathElement.cpp: 66590 (WebCore::SVGPathElement::notifyAttributeChange): 66591 * ksvg2/svg/SVGPathElement.h: 66592 * ksvg2/svg/SVGPolyElement.cpp: 66593 (WebCore::SVGPolyElement::notifyAttributeChange): 66594 * ksvg2/svg/SVGPolyElement.h: 66595 (WebCore::SVGPolyElement::rendererIsNeeded): 66596 * ksvg2/svg/SVGRectElement.cpp: 66597 (WebCore::SVGRectElement::notifyAttributeChange): 66598 (WebCore::SVGRectElement::hasRelativeValues): 66599 * ksvg2/svg/SVGRectElement.h: 66600 * ksvg2/svg/SVGSVGElement.cpp: 66601 (WebCore::SVGSVGElement::hasRelativeValues): 66602 * ksvg2/svg/SVGSVGElement.h: 66603 * ksvg2/svg/SVGStyledElement.cpp: 66604 (WebCore::SVGStyledElement::SVGStyledElement): 66605 (WebCore::SVGStyledElement::createRenderer): 66606 (WebCore::SVGStyledElement::notifyAttributeChange): 66607 (WebCore::SVGStyledElement::rebuildRenderer): 66608 * ksvg2/svg/SVGStyledElement.h: 66609 (WebCore::SVGStyledElement::hasRelativeValues): 66610 * rendering/RenderPath.cpp: 66611 (WebCore::RenderPath::setLocalTransform): 66612 (WebCore::RenderPath::fillContains): 66613 (WebCore::RenderPath::relativeBBox): 66614 (WebCore::RenderPath::layout): 66615 (WebCore::RenderPath::getAbsoluteRepaintRect): 66616 (WebCore::RenderPath::paint): 66617 (WebCore::RenderPath::nodeAtPoint): 66618 (WebCore::drawMarkerWithData): 66619 (WebCore::updateMarkerDataForElement): 66620 (WebCore::drawStartAndMidMarkers): 66621 (WebCore::RenderPath::drawMarkersIfNeeded): 66622 (WebCore::RenderPath::hasRelativeValues): 66623 * rendering/RenderPath.h: 66624 * rendering/RenderSVGContainer.cpp: 66625 (WebCore::RenderSVGContainer::layout): 66626 (WebCore::RenderSVGContainer::paint): 66627 (WebCore::RenderSVGContainer::calcViewport): 66628 (WebCore::RenderSVGContainer::setViewBox): 66629 (WebCore::RenderSVGContainer::setAlign): 66630 (WebCore::RenderSVGContainer::viewportTransform): 66631 (WebCore::RenderSVGContainer::getAbsoluteRepaintRect): 66632 (WebCore::RenderSVGContainer::absoluteRects): 66633 (WebCore::RenderSVGContainer::fillContains): 66634 (WebCore::RenderSVGContainer::strokeContains): 66635 (WebCore::RenderSVGContainer::relativeBBox): 66636 (WebCore::RenderSVGContainer::setSlice): 66637 * rendering/RenderSVGContainer.h: 66638 * rendering/RenderSVGImage.cpp: 66639 (WebCore::RenderSVGImage::RenderSVGImage): 66640 (WebCore::RenderSVGImage::adjustRectsForAspectRatio): 66641 (WebCore::RenderSVGImage::relativeBBox): 66642 (WebCore::RenderSVGImage::imageChanged): 66643 (WebCore::RenderSVGImage::getAbsoluteRepaintRect): 66644 (WebCore::RenderSVGImage::absoluteRects): 66645 * rendering/RenderSVGImage.h: 66646 * rendering/RenderSVGText.cpp: 66647 (WebCore::RenderSVGText::getAbsoluteRepaintRect): 66648 (WebCore::RenderSVGText::layout): 66649 (WebCore::RenderSVGText::createInlineBox): 66650 (WebCore::RenderSVGText::absoluteRects): 66651 (WebCore::RenderSVGText::relativeBBox): 66652 * rendering/RenderSVGText.h: 66653 * rendering/SVGInlineFlowBox.cpp: 66654 (WebCore::placePositionedBoxesHorizontally): 66655 66656 2007-01-10 David Hyatt <hyatt (a] apple.com> 66657 66658 Make the selectionRect() method of RenderText better by reusing computeAbsoluteRepaintRect. This enables 66659 the method to be multi-column aware and also to understand when the selection is clipped out by overflow. 66660 66661 Reviewed by bdash 66662 66663 * rendering/RenderText.cpp: 66664 (WebCore::RenderText::selectionRect): 66665 66666 2007-01-10 David Hyatt <hyatt (a] apple.com> 66667 66668 Make the absolutePosition method multi-column aware. Note that there is now a real problem with the 66669 absoluteRects method, since an object can split across multiple columns and break into multiple rects. 66670 absolutePosition just returns the top-left corner of the element's box in the first column in which it 66671 appears. 66672 66673 Reviewed by bdash 66674 66675 * rendering/RenderBlock.cpp: 66676 (WebCore::RenderBlock::adjustRectForColumns): 66677 * rendering/RenderBlock.h: 66678 * rendering/RenderBox.cpp: 66679 (WebCore::RenderBox::absolutePosition): 66680 (WebCore::RenderBox::computeAbsoluteRepaintRect): 66681 * rendering/RenderFlow.cpp: 66682 (WebCore::RenderFlow::getAbsoluteRepaintRect): 66683 66684 2007-01-09 David Hyatt <hyatt (a] apple.com> 66685 66686 Avoid crashing when repainting multiple columns... make sure to use the current vector's size and 66687 not the newly-computed column count. 66688 66689 * rendering/RenderBlock.cpp: 66690 (WebCore::RenderBlock::layoutColumns): 66691 (WebCore::RenderBlock::adjustRepaintRectForColumns): 66692 66693 2007-01-09 David Hyatt <hyatt (a] apple.com> 66694 66695 Break up painting and hit testing of children into helper methods and add multi-column versions for both. 66696 66697 Make incremental repainting able to invalidate the right spot in multiple column layouts so that e.g., link 66698 hover works. 66699 66700 Turn off selection gap filling in columns for now until it can be made to work correctly. 66701 66702 Improve the column balancing heuristic by adding in the block's lineHeight/2 to each column initially to 66703 account for column break adjustments that shrink the columns slightly. Avoid clipping of the last column's 66704 contents by ensuring it gets all the remaining available height. 66705 66706 Reviewed by mitz 66707 66708 * rendering/RenderBlock.cpp: 66709 (WebCore::RenderBlock::paintColumns): 66710 (WebCore::RenderBlock::paintContents): 66711 (WebCore::RenderBlock::paintObject): 66712 (WebCore::RenderBlock::fillSelectionGaps): 66713 (WebCore::RenderBlock::nodeAtPoint): 66714 (WebCore::RenderBlock::hitTestColumns): 66715 (WebCore::RenderBlock::layoutColumns): 66716 (WebCore::RenderBlock::adjustRepaintRectForColumns): 66717 * rendering/RenderBlock.h: 66718 * rendering/RenderBox.cpp: 66719 (WebCore::RenderBox::computeAbsoluteRepaintRect): 66720 * rendering/RenderFlow.cpp: 66721 (WebCore::RenderFlow::getAbsoluteRepaintRect): 66722 66723 2007-01-09 Remi Zara <remi_zara (a] mac.com> 66724 66725 Reviewed by Darin and Eric. 66726 66727 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12150 66728 66729 Don't use memset to set float to 0 66730 66731 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 66732 (WebCore::cgGradientCallback): 66733 66734 2007-01-09 Anders Carlsson <acarlsson (a] apple.com> 66735 66736 Reviewed by Brady. 66737 66738 Add default constructor to SharedBuffer. 66739 66740 * platform/SharedBuffer.cpp: 66741 (WebCore::SharedBuffer::SharedBuffer): 66742 * platform/SharedBuffer.h: 66743 66744 2007-01-09 David Hyatt <hyatt (a] apple.com> 66745 66746 This patch gets rudimentary column layout working. Normal flow content only gets laid out into 66747 columns properly and painted correctly initially. What doesn't work: hit testing, incremental repainting, 66748 column rule painting, child layers. 66749 66750 Some work needs to be done on the render tree dumper before column tests will be 66751 meaningful. 66752 66753 Also reworked overflow and fixed a bunch of bugs with the computation of overflow. These include an error 66754 in the height calculations caused by not adding in the horizontal scrollbar height and other errors caused 66755 by not checking overflow in lowest/rightmostPosition. Existing tests improve their rendering to match 66756 Firefox with this change. 66757 66758 Fixed a bug where a table cell incorrectly expanded to encompass floats inside an overflow:auto block. 66759 This should not have happened. Covered by new test fast/overflow/table-overflow-float.html. 66760 66761 Reviewed by mitz 66762 66763 * page/Frame.cpp: 66764 * rendering/RenderBlock.cpp: 66765 (WebCore:::RenderFlow): 66766 (WebCore::RenderBlock::layoutBlock): 66767 (WebCore::RenderBlock::paintContents): 66768 (WebCore::RenderBlock::paintChildren): 66769 (WebCore::RenderBlock::paintObject): 66770 (WebCore::RenderBlock::lowestPosition): 66771 (WebCore::RenderBlock::rightmostPosition): 66772 (WebCore::RenderBlock::leftmostPosition): 66773 (WebCore::RenderBlock::avoidsFloats): 66774 (WebCore::RenderBlock::nodeAtPoint): 66775 (WebCore::RenderBlock::hitTestContents): 66776 (WebCore::RenderBlock::layoutColumns): 66777 * rendering/RenderBlock.h: 66778 (WebCore::RenderBlock::hasOverhangingFloats): 66779 (WebCore::RenderBlock::hasColumns): 66780 * rendering/RenderFlexibleBox.cpp: 66781 (WebCore::RenderFlexibleBox::layoutBlock): 66782 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 66783 (WebCore::RenderFlexibleBox::layoutVerticalBox): 66784 * rendering/RenderFlow.cpp: 66785 (WebCore::RenderFlow::paintLines): 66786 (WebCore::RenderFlow::lowestPosition): 66787 (WebCore::RenderFlow::rightmostPosition): 66788 (WebCore::RenderFlow::leftmostPosition): 66789 * rendering/RenderFlow.h: 66790 (WebCore::RenderFlow::hasColumns): 66791 * rendering/RenderListMarker.cpp: 66792 (WebCore::RenderListMarker::paint): 66793 * rendering/RenderObject.h: 66794 (WebCore::RenderObject::expandsToEncloseOverflow): 66795 * rendering/RenderTableCell.h: 66796 (WebCore::RenderTableCell::expandsToEncloseOverflow): 66797 * rendering/RenderView.cpp: 66798 (WebCore::RenderView::paint): 66799 66800 2007-01-09 Darin Adler <darin (a] apple.com> 66801 66802 - update all 2007 Apple copyrights for the new company name 66803 66804 * css/cssstyleselector.cpp: 66805 * html/HTMLLIElement.cpp: 66806 * platform/CharacterNames.h: 66807 * platform/TextBreakIterator.h: 66808 * platform/TextBreakIteratorICU.cpp: 66809 * platform/graphics/ImageBuffer.h: 66810 * rendering/CounterNode.cpp: 66811 * rendering/CounterNode.h: 66812 * rendering/RenderBox.h: 66813 * rendering/RenderContainer.cpp: 66814 * rendering/RenderCounter.cpp: 66815 * rendering/RenderCounter.h: 66816 * rendering/RenderImage.h: 66817 * rendering/RenderListItem.h: 66818 * rendering/RenderListMarker.h: 66819 * rendering/RenderObject.cpp: 66820 * rendering/RenderObject.h: 66821 * rendering/RenderStyle.cpp: 66822 * rendering/RenderStyle.h: 66823 * rendering/RenderTable.cpp: 66824 * rendering/RenderTableCell.cpp: 66825 * rendering/RenderTableCell.h: 66826 * rendering/RenderText.cpp: 66827 * rendering/RenderText.h: 66828 * rendering/RenderTreeAsText.cpp: 66829 * rendering/SVGRenderTreeAsText.cpp: 66830 * rendering/break_lines.cpp: 66831 66832 2007-01-09 Justin Garcia <justin.garcia (a] apple.com> 66833 66834 Reviewed by john 66835 66836 <rdar://problem/4840662> 66837 REGRESSION: Mail crash when dragging text into a link 66838 66839 moveParagraphs fails to move content into a display:block 66840 anchor because of code in positionAvoidingSpecialElementBoundary, 66841 and so it infinitely recurs. 66842 66843 * editing/htmlediting.cpp: 66844 (WebCore::positionAvoidingSpecialElementBoundary): Don't avoid anchors 66845 that have display:block so that content is inserted in the expected 66846 paragraph. This fixes the bug and weird behavior when typing before/after 66847 anchors with display:block. 66848 66849 2007-01-09 Rob Buis <buis (a] kde.org> 66850 66851 Reviewed by Darin. 66852 66853 http://bugs.webkit.org/show_bug.cgi?id=12145 66854 Color parsing is too relaxed in strict mode 66855 http://bugs.webkit.org/show_bug.cgi?id=12166 66856 REGRESSION (r18480): "336633" is not parsed as a color 66857 66858 Fix a regression by using String::format return value. 66859 Also make strict mode more strict for cases where hexcolors 66860 lack a #. 66861 66862 * css/cssparser.cpp: 66863 (WebCore::CSSParser::parseColor): 66864 (WebCore::CSSParser::parseColorFromValue): 66865 * css/cssparser.h: 66866 66867 2007-01-09 Darin Adler <darin (a] apple.com> 66868 66869 Reviewed by Maciej. 66870 66871 - fixed regression where redirects did not have user-agent any more 66872 66873 Showed up as a failure in one of the http tests, so no new test needed. 66874 66875 * loader/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::willSendRequest): 66876 Don't use a copy of the ResourceRequest; pass the original so it can be modified. 66877 66878 2007-01-09 Mitz Pettel <mitz (a] webkit.org> 66879 66880 Reviewed by Darin. 66881 66882 - fix http://bugs.webkit.org/show_bug.cgi?id=11078 66883 Forms Don't Submit (ASP Pages) 66884 66885 Test: fast/dom/collection-namedItem-via-item.html 66886 66887 * bindings/js/kjs_html.cpp: 66888 (KJS::JSHTMLCollectionProtoFunc::callAsFunction): Changed item() to fall back 66889 to namedItem() if its argument does not convert to a number. 66890 66891 2007-01-09 Darin Adler <darin (a] apple.com> 66892 66893 Reviewed by Maciej. 66894 66895 - fix http://bugs.webkit.org/show_bug.cgi?id=12174 66896 improve Unicode use (less WTF::Unicode:: prefix, centralized character names) 66897 66898 - got rid of namespace prefixes from most uses of WTF::Unicode 66899 66900 - updated for removal of WTF::Unicode::memcmp 66901 - updated for renaming of WTF::Unicode::strcasecmp to umemcasecmp. 66902 66903 - unified constants for special Unicode characters in a new 66904 CharacterNames.h header 66905 66906 * WebCore.xcodeproj/project.pbxproj: 66907 * css/cssparser.cpp: 66908 (WebCore::ParseString::lower): 66909 * dom/Document.cpp: 66910 (WebCore::isValidNameStart): 66911 (WebCore::isValidNamePart): 66912 * dom/Position.cpp: 66913 (WebCore::Position::leadingWhitespacePosition): 66914 (WebCore::Position::trailingWhitespacePosition): 66915 * editing/CompositeEditCommand.cpp: 66916 (WebCore::isWhitespace): 66917 * editing/HTMLInterchange.cpp: 66918 * editing/TextIterator.cpp: 66919 (WebCore::CircularSearchBuffer::CircularSearchBuffer): 66920 (WebCore::CircularSearchBuffer::append): 66921 * editing/htmlediting.cpp: 66922 (WebCore::stringWithRebalancedWhitespace): 66923 (WebCore::nonBreakingSpaceString): 66924 * editing/htmlediting.h: 66925 * html/HTMLFontElement.cpp: 66926 (WebCore::parseFontSizeNumber): 66927 * html/HTMLParser.cpp: 66928 (WebCore::HTMLParser::handleError): 66929 * html/HTMLSelectElement.cpp: 66930 (WebCore::stripLeadingWhiteSpace): 66931 * platform/Font.cpp: 66932 (WebCore::WidthIterator::advance): 66933 (WebCore::WidthIterator::normalizeVoicingMarks): 66934 * platform/GlyphMap.cpp: 66935 (WebCore::GlyphMap::locatePage): 66936 * platform/MimeTypeRegistry.h: 66937 * platform/StringHash.h: 66938 * platform/StringImpl.cpp: 66939 (WebCore::isSpace): 66940 (WebCore::StringImpl::append): 66941 (WebCore::StringImpl::insert): 66942 (WebCore::StringImpl::truncate): 66943 (WebCore::StringImpl::remove): 66944 (WebCore::parseLength): 66945 (WebCore::StringImpl::isLower): 66946 (WebCore::StringImpl::lower): 66947 (WebCore::StringImpl::upper): 66948 (WebCore::StringImpl::secure): 66949 (WebCore::StringImpl::foldCase): 66950 (WebCore::StringImpl::capitalize):t 66951 (WebCore::StringImpl::toInt): 66952 (WebCore::equalIgnoringCase): 66953 (WebCore::StringImpl::find): 66954 * platform/TextBoundaries.h: 66955 * platform/TextCodec.h: 66956 * platform/TextCodecLatin1.cpp: 66957 * platform/TextEncoding.h: 66958 * platform/TextEncodingRegistry.h: 66959 * platform/mac/PasteboardMac.mm: 66960 (WebCore::Pasteboard::writeSelection): 66961 * platform/mac/TextCodecMac.cpp: 66962 (WebCore::TextCodecMac::decode): 66963 * rendering/RenderBlock.cpp: 66964 (WebCore::RenderBlock::updateFirstLetter): 66965 * rendering/RenderListMarker.cpp: 66966 (WebCore::listMarkerText): 66967 (WebCore::RenderListMarker::paint): 66968 * rendering/RenderText.cpp: 66969 (WebCore::RenderText::widthFromCache): 66970 (WebCore::isSpaceAccordingToStyle): 66971 (WebCore::RenderText::setInternalString): 66972 * rendering/RenderTreeAsText.cpp: 66973 (WebCore::quoteAndEscapeNonPrintables): 66974 (WebCore::operator<<): 66975 * rendering/bidi.cpp: 66976 (WebCore::BidiState::BidiState): 66977 (WebCore::BidiContext::BidiContext): 66978 (WebCore::bidiNext): 66979 (WebCore::bidiFirst): 66980 (WebCore::BidiIterator::direction): 66981 (WebCore::appendRun): 66982 (WebCore::embed): 66983 (WebCore::RenderBlock::bidiReorderLine): 66984 (WebCore::RenderBlock::layoutInlineChildren): 66985 (WebCore::skipNonBreakingSpace): 66986 (WebCore::RenderBlock::findNextLineBreak): 66987 * rendering/break_lines.cpp: 66988 (WebCore::nextBreakablePosition): 66989 * rendering/break_lines.h: 66990 * xml/XPathParser.cpp: 66991 (WebCore::XPath::charCat): 66992 66993 2007-01-09 Matt Perry <mpcomplete (a] chromium.org> 66994 66995 Reviewed by Darin. 66996 66997 - fix http://bugs.webkit.org/show_bug.cgi?id=12170 66998 RenderView holds dangling reference to RenderObjects as selection markers 66999 67000 This fixes the crash seen on Windows -- the underlying problem 67001 may still exist. 67002 67003 * rendering/RenderText.h: 67004 (WebCore::RenderText::selectionState): 67005 Change the m_selectionState enum-bitfield to an unsigned-bitfield, 67006 because enums on Windows are signed, which caused it to become 67007 negative (whereas the valid values are all positive). 67008 67009 2007-01-09 Darin Adler <darin (a] apple.com> 67010 67011 Reviewed by Hyatt. 67012 67013 - http://bugs.webkit.org/show_bug.cgi?id=12175 67014 port break_lines.cpp to be platform independent 67015 67016 * platform/TextBreakIterator.h: Added lineBreakIterator. 67017 Removed ICU-specific stuff from the header. 67018 67019 * platform/TextBreakIteratorICU.cpp: 67020 (WebCore::setUpIterator): Added helper to be shared by the three different 67021 creation functions. 67022 (WebCore::characterBreakIterator): Changed to use setUpIterator. 67023 (WebCore::wordBreakIterator): Ditto. 67024 (WebCore::lineBreakIterator): Added. 67025 67026 * platform/qt/TextBreakIteratorQt.cpp: 67027 (WebCore::lineBreakIterator): Added a stub. 67028 67029 * rendering/break_lines.cpp: 67030 (WebCore::isBreakableSpace): Added. 67031 (WebCore::shouldBreakAfter): Added. 67032 (WebCore::needsAdvancedBreakAnalysis): Added. 67033 (WebCore::nextBreakablePosition): Changed to use TextBreakIterator on platforms 67034 other than Mac. 67035 67036 2007-01-09 Maciej Stachowiak <mjs (a] apple.com> 67037 67038 Reviewed by Darin. 67039 67040 - move WebDataProtocol load handling from ResourceLoader to MainResourceLoader 67041 67042 (it's only ever used for main resources) 67043 67044 * loader/ResourceLoader.h: 67045 (WebCore::ResourceLoader::setRequest): 67046 * loader/mac/MainResourceLoaderMac.mm: 67047 (WebCore::MainResourceLoader::willSendRequest): 67048 (WebCore::MainResourceLoader::continueAfterContentPolicy): 67049 * loader/mac/ResourceLoaderMac.mm: 67050 (WebCore::ResourceLoader::willSendRequest): 67051 (WebCore::ResourceLoader::didReceiveResponse): 67052 67053 2007-01-09 Rob Buis <buis (a] kde.org> 67054 67055 Reviewed by Eric. 67056 67057 http://bugs.webkit.org/show_bug.cgi?id=12129 67058 repaint issue after setting viewBox attribute with ECMAScript 67059 67060 Make sure RenderSVGContainer updates after setting viewBox from js. 67061 67062 * ksvg2/svg/SVGSVGElement.cpp: 67063 (WebCore::SVGSVGElement::parseMappedAttribute): 67064 * rendering/RenderSVGContainer.cpp: 67065 (WebCore::RenderSVGContainer::setViewBox): 67066 67067 2007-01-09 Lars Knoll <lars (a] trolltech.com> 67068 67069 Make the Qt build compile... again! 67070 67071 * WebCore.pro: 67072 * loader/qt/FrameLoaderQt.cpp: 67073 * platform/graphics/qt/GraphicsContextQt.cpp: 67074 * platform/graphics/qt/ImageBufferQt.cpp: 67075 (WebCore::ImageBuffer::create): 67076 * platform/qt/WidgetQt.cpp: 67077 (WebCore::Widget::focusPolicy): 67078 67079 2007-01-09 David Hyatt <hyatt (a] apple.com> 67080 67081 Fix for background: inherit bug where background-color wasn't getting properly overridden. This was a 67082 regression from Safari 1.3 to 2.0. 67083 67084 Reviewed by bdash 67085 67086 fast/backgrounds/background-color-inherit-bug.html 67087 67088 * css/cssstyleselector.cpp: 67089 (WebCore::CSSStyleSelector::applyProperty): 67090 67091 2007-01-08 Brady Eidson <beidson (a] apple.com> 67092 67093 Reviewed by Brian Dash 67094 67095 <rdar://problem/4895178> 67096 WebCore::BackForwardList vector should be backed by a HashSet to remove 67097 the potential expense in frequently calling BackForwardList::containsItem() 67098 67099 * history/BackForwardList.cpp: 67100 (WebCore::BackForwardList::addItem): Maintain HashSet as well as Vector 67101 (WebCore::BackForwardList::setCapacity): Ditto 67102 (WebCore::BackForwardList::close): Ditto 67103 (WebCore::BackForwardList::removeItem): Ditto 67104 (WebCore::BackForwardList::containsItem): Make a hash lookup instead of iterate 67105 through the Vector 67106 * history/BackForwardList.h: 67107 67108 2007-01-08 David Hyatt <hyatt (a] apple.com> 67109 67110 Fix a regression where layout is triggering on all recalcStyles, due to a bad comparison 67111 in the multicol assignment operator. 67112 67113 * rendering/RenderStyle.cpp: 67114 (WebCore::StyleMultiColData::operator==): 67115 67116 2007-01-08 Darin Adler <darin (a] apple.com> 67117 67118 - rolled out Beth's RenderFlow::destroy change, which broke 5 editing tests 67119 67120 * rendering/InlineBox.cpp: (WebCore::InlineBox::root): 67121 * rendering/RenderFlow.cpp: (WebCore::RenderFlow::destroy): 67122 Used svn merge to roll the change out. 67123 67124 2007-01-09 Mark Rowe <mrowe (a] apple.com> 67125 67126 Reviewed by Tim H. 67127 67128 Build fix for 64-bit platforms. 67129 67130 * platform/graphics/svg/SVGPaintServerGradient.h: 67131 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 67132 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache): 67133 67134 2007-01-08 Anders Carlsson <acarlsson (a] apple.com> 67135 67136 Reviewed by Brady. 67137 67138 Move some history related functions off the bridge and into FrameLoader directly. 67139 67140 * loader/FrameLoader.cpp: 67141 (WebCore::FrameLoader::canGoBackOrForward): 67142 (WebCore::FrameLoader::getHistoryLength): 67143 (WebCore::FrameLoader::historyURL): 67144 * loader/mac/FrameLoaderMac.mm: 67145 * page/mac/WebCoreFrameBridge.h: 67146 67147 2007-01-08 Sam Weinig <sam (a] webkit.org> 67148 67149 Reviewed by Mark. 67150 67151 Adds outline-color to list of computable styles. 67152 67153 * css/CSSComputedStyleDeclaration.cpp: 67154 (WebCore::): 67155 67156 2007-01-08 Beth Dakin <bdakin (a] apple.com> 67157 67158 Reviewed by Hyatt. 67159 67160 Fix for a bug that Adam, Hyatt, and I noticed when debugging 67161 another problem. 67162 67163 * rendering/InlineBox.cpp: 67164 (WebCore::InlineBox::root): Added assertion. If we are casting to a 67165 root, we should make sure we are root. 67166 * rendering/RenderFlow.cpp: 67167 (WebCore::RenderFlow::destroy): It is not enough to remove the 67168 child boxes for anonymous blocks. We need to be more thorough when 67169 cleaning these up. Adam's test case illustrates the problem well. 67170 67171 2007-01-08 John Sullivan <sullivan (a] apple.com> 67172 67173 Tweak to previous checkin 67174 67175 * page/ContextMenuController.cpp: 67176 (WebCore::ContextMenuController::contextMenuItemSelected): 67177 Adam suggested I should nil-check frame->page() 67178 67179 2007-01-08 John Sullivan <sullivan (a] apple.com> 67180 67181 Reviewed by Brady and Beth 67182 67183 - fixed <rdar://problem/4912541> GMAIL: With selected text in a rich text message, choosing 67184 "Search in Google" displays search results in the message body field 67185 67186 * page/ContextMenuController.cpp: 67187 (WebCore::ContextMenuController::contextMenuItemSelected): 67188 Visit google URL in main frame rather than in current frame 67189 67190 2007-01-08 David Hyatt <hyatt (a] apple.com> 67191 67192 Fix computed style errors for color properties that had invalid colors. 67193 They should return the value of the 'color' property when their colors 67194 are not valid. 67195 67196 Fixed the computed style value for border-top-color (a typo was causing it to 67197 use border-left-color instead). 67198 67199 Implement outline-color computed style. 67200 67201 Reviewed by harrison 67202 67203 * css/CSSComputedStyleDeclaration.cpp: 67204 (WebCore::currentColorOrValidColor): 67205 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 67206 67207 2007-01-08 Remi Zara <remi_zara (a] mac.com> 67208 67209 Reviewed by Darin and Eric. 67210 67211 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12150 67212 Handle correctly cases where no stops are defined, cases where a 67213 stop offset value is less than previous stops offset value, and cases 67214 where a stop offset value is greater than 1.0. 67215 67216 * platform/graphics/svg/SVGPaintServerGradient.cpp: 67217 (WebCore::SVGPaintServerGradient::setGradientStops): Don't sort stops 67218 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 67219 (WebCore::cgGradientCallback): When there are no stops, use a transparent 67220 fill 67221 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache): 67222 a stop offset must always be considered at greater or equal to all 67223 preceding stop offsets, but no more than 1.0 67224 67225 2007-01-08 Timothy Hatcher <timothy (a] apple.com> 67226 67227 Reviewed by Geoff. 67228 67229 <rdar://problem/4865325> please re-add auto font activation support in WebKit 67230 67231 * platform/mac/WebFontCache.mm: 67232 (+[WebFontCache fontWithFamily:traits:size:]): 67233 67234 2007-01-08 Darin Adler <darin (a] apple.com> 67235 67236 Reviewed by Adam. 67237 67238 - http://bugs.webkit.org/show_bug.cgi?id=12143 67239 remove Widget code unneeded now that form elements do not use Widget 67240 67241 * bindings/objc/DOMHTML.mm: (-[DOMHTMLSelectElement _activateItemAtIndex:]): 67242 Removed useless implementation that would only work with NSView-based 67243 <select> elements, and added a FIXME about the fact that this function 67244 doesn't do anything any more. I think it's used by Safari forms auto-fill. 67245 67246 * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject rendererForView:]): 67247 Removed code that depends on elementForView:, since that always returns 67248 nil now. 67249 67250 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::~HTMLFormElement): 67251 Use a formDestroyed() function rather than clearing m_form directly so that 67252 this class doesn't have to be a friend of HTMLGenericFormElement. 67253 67254 * html/HTMLGenericFormElement.h: Removed now-unneeded friend declaration 67255 for HTMLFormElement. Moved definition of supportsFocus into the .cpp file. 67256 Added a public formDestroyed function for use by HTMLFormElement. 67257 * html/HTMLGenericFormElement.cpp: 67258 (WebCore::HTMLGenericFormElement::attach): Removed widget-specific code. 67259 (WebCore::HTMLGenericFormElement::isKeyboardFocusable): Ditto. 67260 (WebCore::HTMLGenericFormElement::isMouseFocusable): Ditto. 67261 (WebCore::HTMLGenericFormElement::supportsFocus): Added this here; it was 67262 in the header file before, for no good reason. 67263 67264 * page/EventHandler.h: Removed unused Mac-specific 67265 currentEventIsMouseDownInWidget. 67266 * page/mac/EventHandlerMac.mm: Ditto. 67267 67268 * page/Frame.cpp: (WebCore::Frame::frameForWidget): Changed to use 67269 RenderWidget to find the frame rather than the WigetClient element() 67270 function. 67271 67272 * page/mac/FrameMac.h: Removed unused bridgeForWidget. 67273 * page/mac/FrameMac.mm: Ditto. 67274 67275 * page/mac/WebCoreFrameBridge.h: Removed elementForView. 67276 * page/mac/WebCoreFrameBridge.mm: Ditto. While the scroll bar still did 67277 implement WebCoreWidgetHolder, it does not correspond to a DOM element, 67278 so this method was always returning nil. 67279 67280 * platform/Widget.h: Moved unused types and functions that are still 67281 in the platform-specific implementations into a "to be deleted" section: 67282 FocusPolicy, NoFocus, TabFocus, ClickFocus, StrongFocus, WheelFocus, 67283 lockDrawingFocus, font, focusPolicy, hasFocus, clearFocus, setFont, 67284 disableFlushDrawing, enableFlushDrawing, unlockDrawingFocus. 67285 Removed unused functions that are not in platform-specific implementations: 67286 sizeHint, baselinePosition, checksDescendantsForFocus. 67287 * platform/Widget.cpp: Removed functions. 67288 67289 * platform/WidgetClient.h: Emptied out the class. Soon we can delete it. 67290 67291 * platform/mac/PlatformScrollBarMac.mm: (-[WebCoreScrollBar mouseDown:]): 67292 Got rid of unneeded includes, removed use of the WebCoreWidgetHolder 67293 protocol and the one method in it, and changed the calls to beforeMouseDown 67294 and afterMouseDown to pass the widget pointer in. 67295 67296 * platform/mac/WebCoreWidgetHolder.h: Emptied out the file -- to be deleted 67297 later. 67298 67299 * platform/mac/WidgetMac.mm: 67300 (WebCore::Widget::~Widget): Removed code to manage deferredFirstResponder. 67301 (WebCore::Widget::hasFocus): Removed body of function and replaced with 67302 an assertion that it's never called. Later we'll remove it. 67303 (WebCore::Widget::setFocus): Tweaked a bit to work given changes to the 67304 FrameMac class. Also added a FIXME. Given how this works, it does not 67305 belong in the platform layer. 67306 (WebCore::Widget::clearFocus): Removed body of function and replaced with 67307 an assertion that it's never called. Later we'll remove it. 67308 (WebCore::Widget::focusPolicy): Ditto. 67309 (WebCore::Widget::font): Ditto. 67310 (WebCore::Widget::setFont): Ditto. 67311 (WebCore::Widget::lockDrawingFocus): Ditto. 67312 (WebCore::Widget::unlockDrawingFocus): Ditto. 67313 (WebCore::Widget::disableFlushDrawing): Ditto. 67314 (WebCore::Widget::enableFlushDrawing): Ditto. 67315 (WebCore::Widget::paint): Removed obsolete comment. 67316 (WebCore::Widget::sendConsumedMouseUp): Removed body of function and replaced with 67317 an assertion that it's never called. Later we'll remove it. 67318 (WebCore::Widget::setIsSelected): Tweaked a bit to work given changes to the 67319 FrameMac class. Also added a FIXME. Given how this works, it does not 67320 belong in the platform layer. 67321 (WebCore::Widget::beforeMouseDown): Changed to take an explicit Widget parameter. 67322 (WebCore::Widget::afterMouseDown): Ditto. 67323 67324 * rendering/RenderApplet.cpp: 67325 (WebCore::RenderApplet::intrinsicWidth): Changed to not call sizeHint() any more. 67326 I didn't change the values returned by the function, but they make no sense and 67327 this should probably be fixed later. 67328 (WebCore::RenderApplet::intrinsicHeight): Ditto. 67329 67330 * rendering/RenderWidget.h: Removed unneeded WidgetClient.h include. Changed 67331 RenderWidget to no longer inherit from WidgetClient. Added a find function to find 67332 a RenderWidget given a Widget. Removed all the virtual functions that override 67333 WidgetClient hooks. 67334 * rendering/RenderWidget.cpp: Removed all the WidgetClient functions. 67335 (WebCore::widgetRendererMap): Added. Map that gives the RenderWidget for each 67336 Widget that is owned by a RenderWidget. 67337 (WebCore::RenderWidget::destroy): Removed the setClient call and added a call to 67338 remove the widget from the widgetRendererMap. 67339 (WebCore::RenderWidget::setWidget): Ditto. 67340 (WebCore::RenderWidget::setStyle): Removed the call to Widget::setFont. 67341 (WebCore::RenderWidget::find): Added. Returns the RenderWidget for a Widget, if any. 67342 67343 - other changes 67344 67345 * dom/Node.cpp: 67346 (WebCore::Node::dump): Removed unnecessary use of DeprecatedString. 67347 (WebCore::appendAttributeDesc): Ditto. 67348 (WebCore::Node::showNode): Ditto. 67349 (WebCore::Node::formatForDebugger): Ditto. 67350 67351 * loader/CachedImage.cpp: (WebCore::CachedImage::createImage): Cleaned up 67352 conditional compilation so adding more MIME types here doesn't make the 67353 function more and more difficult to read. 67354 67355 * page/Frame.h: Removed unneeded includes and declarations. 67356 Tweaked formatting. 67357 * page/Page.h: Removed unneeded declarations. 67358 * platform/ScrollView.h: Removed unneeded includes. 67359 67360 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::renderName): Tweaked formatting. 67361 67362 2007-01-08 Mitz Pettel <mitz (a] webkit.org> 67363 67364 Reviewed by Darin. 67365 67366 - fix http://bugs.webkit.org/show_bug.cgi?id=12162 67367 The inheritableProperties array is duplicated 67368 67369 No test possible (no change to functionality). 67370 67371 * css/CSSComputedStyleDeclaration.cpp: 67372 (WebCore::CSSComputedStyleDeclaration::removeComputedInheritablePropertiesFrom): Added. 67373 Removes the inheritable properties that CSSComputedStyleDeclaration knows how to compute 67374 from the given mutable declaration. 67375 * css/CSSComputedStyleDeclaration.h: 67376 * css/CSSMutableStyleDeclaration.cpp: Removed one copy of the inheritableProperties array. 67377 * css/CSSMutableStyleDeclaration.h: 67378 * editing/ReplaceSelectionCommand.cpp: 67379 (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Changed to call 67380 CSSComputedStyleDeclaration::removeComputedInheritablePropertiesFrom. 67381 67382 2007-01-08 Alexey Proskuryakov <ap (a] webkit.org> 67383 67384 Reviewed by Darin. 67385 67386 http://bugs.webkit.org/show_bug.cgi?id=12099 67387 XMLHttpRequest shouldn't honor a charset specified via setRequestHeader 67388 67389 Test: http/tests/xmlhttprequest/request-encoding.html 67390 67391 * xml/xmlhttprequest.cpp: 67392 (WebCore::XMLHttpRequest::send): Don't try to get the charset from Content-Type. Keep checking 67393 for unknown charsets, because that will be needed again when we start using document.xmlEncoding. 67394 67395 2007-01-08 Alexey Proskuryakov <ap (a] webkit.org> 67396 67397 Reviewed by Darin. 67398 67399 http://bugs.webkit.org/show_bug.cgi?id=7640 67400 Menu items are displayed as "undefined" 67401 67402 * bindings/js/kjs_dom.cpp: 67403 (KJS::DOMNodeProtoFunc::callAsFunction): 67404 * bindings/js/kjs_domnode.h: 67405 (KJS::DOMNode::): 67406 Removed Node::item. No idea why it was there in the first place. 67407 67408 * bindings/js/kjs_html.cpp: 67409 (KJS::HTMLElementFunction::callAsFunction): 67410 * bindings/js/kjs_html.h: 67411 (KJS::JSHTMLElement::): 67412 Added HTMLSelectElement::item. It is not in DOM2 IDL, but the spec seems to mentions it anyway: 67413 "The contained options can be directly accessed through the select element as a collection." 67414 67415 * html/HTMLSelectElement.cpp: 67416 (WebCore::HTMLSelectElement::namedItem): 67417 (WebCore::HTMLSelectElement::item): 67418 * html/HTMLSelectElement.h: 67419 * html/HTMLSelectElement.idl: 67420 Added this method to DOM and IDL, too. Made namedItem() non-virtual. 67421 67422 2007-01-08 Beth Dakin <bdakin (a] apple.com> 67423 67424 Reviewed by Maciej. 67425 67426 Fix for <rdar://problem/4912254> REGRESSION: After copying text to 67427 the clipboard, the paste contextual remains dimmed when it should 67428 be active 67429 67430 No layout test for context menu problems. 67431 67432 * platform/ContextMenu.cpp: 67433 (WebCore::ContextMenu::checkOrEnableIfNeeded): Remove check to see 67434 if the content is richly editable; it only has to be regular 67435 editable and the call to canPaste() takes care of that. 67436 67437 2007-01-08 Sam Weinig <sam (a] webkit.org> 67438 67439 Reviewed by Mitz. 67440 67441 Attempt to fix build for buildbots. 67442 67443 * rendering/RenderBlock.cpp: 67444 (WebCore::RenderBlock::columnGap): 67445 (WebCore::RenderBlock::calcColumnWidth): 67446 67447 2007-01-08 Darin Adler <darin (a] apple.com> 67448 67449 Reviewed by Maciej. 67450 67451 - fix http://bugs.webkit.org/show_bug.cgi?id=3232 67452 CSS2: Web Kit does not support all list style types 67453 67454 Test case showed problems in cjk-ideographic and hebrew 67455 Test: fast/lists/w3-list-styles.html 67456 67457 * rendering/RenderListMarker.cpp: 67458 (WebCore::toCJKIdeographic): Fix the algorithm so it doesn't include leading zeroes. 67459 I had misread the part that says you start with the decimal form of the number. 67460 Fix an assertion that was too stringent. Fix the code to collapse consecutive zeroes 67461 so that it doesn't get confused by intervening "noChar" characters. 67462 (WebCore::RenderListMarker::paint): Reverse the text before painting if the first character's 67463 direction is right to left. 67464 67465 2007-01-08 Darin Adler <darin (a] apple.com> 67466 67467 Reviewed by Beth. 67468 67469 - http://bugs.webkit.org/show_bug.cgi?id=12142 67470 render tree dump for test results should include the value of list markers 67471 67472 * rendering/RenderTreeAsText.cpp: 67473 (WebCore::getTagName): Changed to use String instead of DeprecatedString. 67474 (WebCore::quoteAndEscapeNonPrintables): Ditto. Also moved up so it can be used 67475 in the operator below. 67476 (WebCore::operator<<): Added clause for RenderListMarker that dumps the value 67477 of the list marker's text. 67478 (WebCore::nodePosition): Changed to use String instead of DeprecatedString. 67479 * rendering/SVGRenderTreeAsText.cpp: 67480 (WebCore::TextStreamSeparator::TextStreamSeparator): Changed to use String 67481 instead of DeprecatedString. 67482 (WebCore::getTagName): Ditto. 67483 (WebCore::write): Ditto. 67484 67485 2007-01-08 Sam Weinig <sam (a] webkit.org> 67486 67487 Reviewed by ap and the rubber stamp of Maciej. 67488 67489 Patch for http://bugs.webkit.org/show_bug.cgi?id=12164 67490 Cleanup Tokenizers 67491 67492 - Moves Tokenizer class into its own file. 67493 - Move XMLTokenizer declaration from XMLTokenizer.cpp to XMLTokenizer.h 67494 - Fixup #includes. 67495 67496 * WebCore.xcodeproj/project.pbxproj: 67497 * dom/Document.cpp: 67498 (WebCore::Document::createTokenizer): 67499 * dom/Tokenizer.h: Added. 67500 (WebCore::Tokenizer::Tokenizer): 67501 (WebCore::Tokenizer::~Tokenizer): 67502 (WebCore::Tokenizer::stopParsing): 67503 (WebCore::Tokenizer::processingData): 67504 (WebCore::Tokenizer::executingScript): 67505 (WebCore::Tokenizer::wantsRawData): 67506 (WebCore::Tokenizer::writeRawData): 67507 (WebCore::Tokenizer::inViewSourceMode): 67508 (WebCore::Tokenizer::setInViewSourceMode): 67509 (WebCore::Tokenizer::wellFormed): 67510 (WebCore::Tokenizer::lineNumber): 67511 (WebCore::Tokenizer::columnNumber): 67512 * dom/XMLTokenizer.cpp: 67513 * dom/XMLTokenizer.h: 67514 (WebCore::XMLTokenizer::): 67515 (WebCore::XMLTokenizer::setIsXHTMLDocument): 67516 (WebCore::XMLTokenizer::isXHTMLDocument): 67517 (WebCore::XMLTokenizer::wellFormed): 67518 * html/HTMLElement.cpp: 67519 * html/HTMLTokenizer.h: 67520 (WebCore::Token::reset): 67521 (WebCore::HTMLTokenizer::checkBuffer): 67522 (WebCore::HTMLTokenizer::checkScriptBuffer): 67523 (WebCore::HTMLTokenizer::State::State): 67524 (WebCore::HTMLTokenizer::State::setBit): 67525 * xml/XSLTProcessor.cpp: 67526 67527 2007-01-08 Sam Weinig <sam (a] webkit.org> 67528 67529 Reviewed by Tim H. 67530 67531 Adds -webkit-box-shadow to list of computable styles. 67532 67533 * css/CSSComputedStyleDeclaration.cpp: 67534 (WebCore::): 67535 67536 2007-01-08 Rob Buis <buis (a] kde.org> 67537 67538 Reviewed by bdash. 67539 67540 Initialize the member vars, fixes testcases 67541 pointer-events-path.svg and pointer-events-text.svg 67542 on the PPC build. 67543 67544 * ksvg2/misc/PointerEventsHitRules.cpp: 67545 (WebCore::PointerEventsHitRules::PointerEventsHitRules): 67546 67547 2007-01-08 David Hyatt <hyatt (a] apple.com> 67548 67549 This patch computes the correct column width and column count. It ensures that content lays out constrained 67550 to the column width in one long strip. It does not yet balance the long strip into multiple columns. 67551 67552 Reviewed by Mark 67553 67554 * rendering/RenderBlock.cpp: 67555 (WebCore:::RenderFlow): 67556 (WebCore::RenderBlock::layoutBlock): 67557 (WebCore::RenderBlock::rightOffset): 67558 (WebCore::RenderBlock::availableWidth): 67559 (WebCore::RenderBlock::columnGap): 67560 (WebCore::RenderBlock::calcColumnWidth): 67561 * rendering/RenderBlock.h: 67562 * rendering/RenderStyle.h: 67563 (WebCore::RenderStyle::setColumnWidth): 67564 67565 2007-01-08 David Hyatt <hyatt (a] apple.com> 67566 67567 Fix column-count so that it supports auto just like column-width does. 67568 67569 Add a new function, availableWidth(), that will be used to return the width available to content placed inside 67570 a block. For now it still returns contentWidth(), so no behavioral change has occurred yet. 67571 67572 Subclass calcWidth() in RenderBlock, but don't change anything yet. This is where RenderBlock will calc the 67573 correct column width. 67574 67575 Reviewed by mark 67576 67577 * css/CSSComputedStyleDeclaration.cpp: 67578 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 67579 * css/cssstyleselector.cpp: 67580 (WebCore::CSSStyleSelector::applyProperty): 67581 * rendering/RenderBlock.cpp: 67582 (WebCore::RenderBlock::leftRelOffset): 67583 (WebCore::RenderBlock::rightRelOffset): 67584 (WebCore::RenderBlock::getClearDelta): 67585 (WebCore::RenderBlock::availableWidth): 67586 (WebCore::RenderBlock::calcWidth): 67587 * rendering/RenderBlock.h: 67588 * rendering/RenderBox.cpp: 67589 (WebCore::RenderBox::containingBlockWidth): 67590 * rendering/RenderObject.cpp: 67591 (WebCore::RenderObject::containingBlockWidth): 67592 (WebCore::RenderObject::paddingTop): 67593 (WebCore::RenderObject::paddingBottom): 67594 (WebCore::RenderObject::paddingLeft): 67595 (WebCore::RenderObject::paddingRight): 67596 * rendering/RenderObject.h: 67597 (WebCore::RenderObject::availableWidth): 67598 * rendering/RenderStyle.cpp: 67599 (WebCore::StyleMultiColData::StyleMultiColData): 67600 (WebCore::StyleMultiColData::operator==): 67601 * rendering/RenderStyle.h: 67602 (WebCore::RenderStyle::hasAutoColumnCount): 67603 (WebCore::RenderStyle::setColumnCount): 67604 (WebCore::RenderStyle::setHasAutoColumnCount): 67605 * rendering/RenderTable.cpp: 67606 (WebCore::RenderTable::calcWidth): 67607 67608 2007-01-08 David Hyatt <hyatt (a] apple.com> 67609 67610 Fix z-index:inherit so that it works properly when inheriting from z-index:auto. 67611 67612 Reviewed by eric 67613 67614 fast/layers/zindex-inherit.html 67615 67616 * css/cssstyleselector.cpp: 67617 (WebCore::CSSStyleSelector::applyProperty): 67618 67619 2007-01-08 David Hyatt <hyatt (a] apple.com> 67620 67621 Add support for all of the CSS3 multi-column properties in preparation for implementing the 67622 feature. 67623 67624 Reviewed by eric 67625 67626 * css/CSSComputedStyleDeclaration.cpp: 67627 (WebCore::): 67628 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 67629 * css/CSSMutableStyleDeclaration.cpp: 67630 (WebCore::): 67631 * css/CSSPropertyNames.in: 67632 * css/cssparser.cpp: 67633 (WebCore::CSSParser::parseValue): 67634 * css/cssstyleselector.cpp: 67635 (WebCore::CSSStyleSelector::applyProperty): 67636 * rendering/RenderStyle.cpp: 67637 (WebCore::StyleMultiColData::StyleMultiColData): 67638 (WebCore::StyleMultiColData::operator==): 67639 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 67640 (WebCore::StyleRareNonInheritedData::operator==): 67641 (WebCore::RenderStyle::RenderStyle): 67642 (WebCore::RenderStyle::diff): 67643 * rendering/RenderStyle.h: 67644 (WebCore::StyleMultiColData::operator!=): 67645 (WebCore::StyleMultiColData::ruleWidth): 67646 (WebCore::RenderStyle::columnWidth): 67647 (WebCore::RenderStyle::hasAutoColumnWidth): 67648 (WebCore::RenderStyle::columnCount): 67649 (WebCore::RenderStyle::columnGap): 67650 (WebCore::RenderStyle::hasAutoColumnGap): 67651 (WebCore::RenderStyle::columnRuleColor): 67652 (WebCore::RenderStyle::columnRuleStyle): 67653 (WebCore::RenderStyle::columnRuleWidth): 67654 (WebCore::RenderStyle::columnBreakBefore): 67655 (WebCore::RenderStyle::columnBreakInside): 67656 (WebCore::RenderStyle::columnBreakAfter): 67657 (WebCore::RenderStyle::setColumnWidth): 67658 (WebCore::RenderStyle::setHasAutoColumnWidth): 67659 (WebCore::RenderStyle::setColumnCount): 67660 (WebCore::RenderStyle::setColumnGap): 67661 (WebCore::RenderStyle::setHasAutoColumnGap): 67662 (WebCore::RenderStyle::setColumnRuleColor): 67663 (WebCore::RenderStyle::setColumnRuleStyle): 67664 (WebCore::RenderStyle::setColumnRuleWidth): 67665 (WebCore::RenderStyle::resetColumnRule): 67666 (WebCore::RenderStyle::setColumnBreakBefore): 67667 (WebCore::RenderStyle::setColumnBreakInside): 67668 (WebCore::RenderStyle::setColumnBreakAfter): 67669 (WebCore::RenderStyle::initialColumnCount): 67670 (WebCore::RenderStyle::initialColumnWidth): 67671 67672 2007-01-07 Rob Buis <buis (a] kde.org> 67673 67674 Reviewed by Eric. 67675 67676 http://bugs.webkit.org/show_bug.cgi?id=10587 67677 pointer-events is not implemented for RenderSVGImage or RenderSVGText 67678 67679 Implement pointer-events for raster images and svg text. 67680 67681 * WebCore.xcodeproj/project.pbxproj: 67682 * ksvg2/misc/PointerEventsHitRules.cpp: Added. 67683 (WebCore::PointerEventsHitRules::PointerEventsHitRules): 67684 * ksvg2/misc/PointerEventsHitRules.h: Added. 67685 (WebCore::PointerEventsHitRules::): 67686 * rendering/RenderPath.cpp: 67687 (WebCore::RenderPath::nodeAtPoint): 67688 * rendering/RenderPath.h: 67689 * rendering/RenderSVGImage.cpp: 67690 (WebCore::RenderSVGImage::nodeAtPoint): 67691 * rendering/RenderSVGImage.h: 67692 * rendering/RenderSVGText.cpp: 67693 (WebCore::RenderSVGText::nodeAtPoint): 67694 * rendering/RenderSVGText.h: 67695 67696 2007-01-07 David Hyatt <hyatt (a] apple.com> 67697 67698 Fix a regression where border-radius was not clipping the background when border was set to none. 67699 Fix multi-line inline flow painting to properly apply border-radius to the background only at the 67700 beginning of the first line and end of the last line. 67701 67702 Reviewed by eric 67703 67704 * rendering/InlineFlowBox.cpp: 67705 (WebCore::InlineFlowBox::paintBackground): 67706 * rendering/RenderBox.cpp: 67707 (WebCore::RenderBox::paintBackground): 67708 (WebCore::RenderBox::paintBackgroundExtended): 67709 * rendering/RenderBox.h: 67710 * rendering/RenderObject.h: 67711 (WebCore::RenderObject::paintBackgroundExtended): 67712 67713 2007-01-07 David Hyatt <hyatt (a] apple.com> 67714 67715 Add support for the CSS3 box-shadow property. 67716 67717 Reviewed by olliej 67718 67719 fast/box-shadow/ contains the tests for this feature. 67720 67721 * platform/graphics/GraphicsContext.cpp: 67722 (WebCore::GraphicsContext::clipOutRoundedRect): 67723 * platform/graphics/GraphicsContext.h: 67724 * platform/graphics/cg/GraphicsContextCG.cpp: 67725 (WebCore::GraphicsContext::fillRoundedRect): 67726 (WebCore::GraphicsContext::clipOut): 67727 (WebCore::GraphicsContext::clipOutEllipseInRect): 67728 * platform/graphics/qt/GraphicsContextQt.cpp: 67729 (WebCore::GraphicsContext::fillRoundedRect): 67730 (WebCore::GraphicsContext::clipOut): 67731 (WebCore::GraphicsContext::clipOutEllipseInRect): 67732 * rendering/InlineFlowBox.cpp: 67733 (WebCore::InlineFlowBox::paint): 67734 (WebCore::InlineFlowBox::paintBoxShadow): 67735 (WebCore::InlineFlowBox::paintBoxDecorations): 67736 (WebCore::shouldDrawTextDecoration): 67737 (WebCore::InlineFlowBox::paintTextDecorations): 67738 * rendering/InlineFlowBox.h: 67739 * rendering/InlineRunBox.h: 67740 (WebCore::InlineRunBox::paintBoxDecorations): 67741 (WebCore::InlineRunBox::paintTextDecorations): 67742 * rendering/RenderBlock.cpp: 67743 (WebCore::RenderBlock::paintObject): 67744 * rendering/RenderBox.cpp: 67745 (WebCore::RenderBox::setStyle): 67746 (WebCore::RenderBox::paintBoxDecorations): 67747 (WebCore::RenderBox::paintBackgroundExtended): 67748 * rendering/RenderFieldset.cpp: 67749 (WebCore::RenderFieldset::paintBoxDecorations): 67750 * rendering/RenderHTMLCanvas.cpp: 67751 (WebCore::RenderHTMLCanvas::paint): 67752 * rendering/RenderImage.cpp: 67753 (WebCore::RenderImage::paint): 67754 * rendering/RenderImage.h: 67755 * rendering/RenderListMarker.cpp: 67756 (WebCore::RenderListMarker::paint): 67757 * rendering/RenderObject.cpp: 67758 (WebCore::RenderObject::mustRepaintBackgroundOrBorder): 67759 (WebCore::RenderObject::paintBoxShadow): 67760 (WebCore::RenderObject::dump): 67761 (WebCore::RenderObject::setStyle): 67762 * rendering/RenderObject.h: 67763 (WebCore::RenderObject::hasBoxDecorations): 67764 (WebCore::RenderObject::setHasBoxDecorations): 67765 * rendering/RenderSVGContainer.cpp: 67766 (WebCore::RenderSVGContainer::paint): 67767 * rendering/RenderTable.cpp: 67768 (WebCore::RenderTable::paint): 67769 (WebCore::RenderTable::paintBoxDecorations): 67770 * rendering/RenderTableCell.cpp: 67771 (WebCore::RenderTableCell::RenderTableCell): 67772 (WebCore::RenderTableCell::setStyle): 67773 (WebCore::RenderTableCell::paintBoxDecorations): 67774 * rendering/RenderWidget.cpp: 67775 (WebCore::RenderWidget::paint): 67776 67777 2007-01-07 Rob Buis <buis (a] kde.org> 67778 67779 Reviewed by weinig. 67780 67781 http://bugs.webkit.org/show_bug.cgi?id=10362 67782 SVG needs to support SVGError events and some form of "error state" 67783 67784 Report SVG warnings and errors on (JS) console. 67785 Expose line and column number getters in Tokenizer in 67786 order to display them with the error message. 67787 67788 * dom/XMLTokenizer.cpp: 67789 * dom/XMLTokenizer.h: 67790 (WebCore::Tokenizer::lineNumber): 67791 (WebCore::Tokenizer::columnNumber): 67792 * html/HTMLTokenizer.h: 67793 (WebCore::HTMLTokenizer::lineNumber): 67794 (WebCore::HTMLTokenizer::columnNumber): 67795 * ksvg2/misc/SVGDocumentExtensions.cpp: 67796 (WebCore::SVGDocumentExtensions::reportWarning): 67797 (WebCore::SVGDocumentExtensions::reportError): 67798 * ksvg2/misc/SVGDocumentExtensions.h: 67799 * ksvg2/svg/SVGCircleElement.cpp: 67800 (WebCore::SVGCircleElement::parseMappedAttribute): 67801 * ksvg2/svg/SVGElement.h: 67802 * ksvg2/svg/SVGEllipseElement.cpp: 67803 (WebCore::SVGEllipseElement::parseMappedAttribute): 67804 * ksvg2/svg/SVGFitToViewBox.cpp: 67805 (WebCore::SVGFitToViewBox::parseViewBox): 67806 * ksvg2/svg/SVGFitToViewBox.h: 67807 * ksvg2/svg/SVGImageElement.cpp: 67808 (WebCore::SVGImageElement::parseMappedAttribute): 67809 * ksvg2/svg/SVGParserUtilities.cpp: 67810 (WebCore::SVGPolyParser::parsePoints): 67811 * ksvg2/svg/SVGParserUtilities.h: 67812 * ksvg2/svg/SVGPathElement.cpp: 67813 (WebCore::SVGPathElement::parseMappedAttribute): 67814 * ksvg2/svg/SVGPatternElement.cpp: 67815 (WebCore::SVGPatternElement::parseMappedAttribute): 67816 * ksvg2/svg/SVGPolyElement.cpp: 67817 (WebCore::SVGPolyElement::parseMappedAttribute): 67818 * ksvg2/svg/SVGRadialGradientElement.cpp: 67819 (WebCore::SVGRadialGradientElement::parseMappedAttribute): 67820 * ksvg2/svg/SVGRectElement.cpp: 67821 (WebCore::SVGRectElement::parseMappedAttribute): 67822 * ksvg2/svg/SVGSVGElement.cpp: 67823 (WebCore::SVGSVGElement::parseMappedAttribute): 67824 * ksvg2/svg/SVGTextContentElement.cpp: 67825 (WebCore::SVGTextContentElement::parseMappedAttribute): 67826 * ksvg2/svg/SVGUseElement.cpp: 67827 (WebCore::SVGUseElement::parseMappedAttribute): 67828 67829 2007-01-07 Nikolas Zimmermann <zimmermann (a] kde.org> 67830 67831 Reviewed by Sam. 67832 67833 Cleanup code & fix InlineBox positioning when text-anchor is used. 67834 67835 * rendering/RenderSVGText.cpp: Cleanup code. 67836 (WebCore::RenderSVGText::nodeAtPoint): 67837 (WebCore::RenderSVGText::absoluteRects): 67838 (WebCore::RenderSVGText::paint): 67839 * rendering/RenderText.cpp: Remove unused function posOfChar() 67840 * rendering/RenderText.h: Ditto. 67841 * rendering/SVGInlineFlowBox.cpp: 67842 (WebCore::translateBox): 67843 (WebCore::placePositionedBoxesHorizontally): 67844 67845 2007-01-06 George Staikos <staikos (a] kde.org> 67846 67847 Reviewed by Brady. 67848 67849 Make the Qt build work.... again. 67850 67851 * WebCore.pro: 67852 * loader/FrameLoader.cpp: 67853 (WebCore::FrameLoader::requestFromDelegate): 67854 * loader/qt/DocumentLoaderQt.cpp: 67855 * loader/qt/FrameLoaderQt.cpp: 67856 * loader/qt/MainResourceLoaderQt.cpp: Added. 67857 (WebCore::MainResourceLoader::create): 67858 * loader/qt/ResourceLoaderQt.cpp: 67859 (WebCore::ResourceLoader::load): 67860 (WebCore::ResourceLoader::cancel): 67861 (WebCore::ResourceLoader::releaseResources): 67862 (WebCore::ResourceLoader::addData): 67863 * platform/network/qt/ResourceHandleQt.cpp: 67864 (WebCore::ResourceHandle::supportsBufferedData): 67865 (WebCore::ResourceHandle::bufferedData): 67866 (WebCore::ResourceHandle::loadResourceSynchronously): 67867 * platform/qt/LoaderFunctionsQt.cpp: 67868 * platform/qt/TemporaryLinkStubs.cpp: implemented some functions 67869 (WebCore::screenDepth): 67870 (WebCore::screenDepthPerComponent): 67871 (WebCore::screenIsMonochrome): 67872 (WebCore::screenRect): 67873 (WebCore::screenAvailableRect): 67874 67875 2007-01-07 Mitz Pettel <mitz (a] webkit.org> 67876 67877 Reviewed by Mark Rowe. 67878 67879 - fix http://bugs.webkit.org/show_bug.cgi?id=11133 67880 67881 Test: fast/forms/listbox-clip.html 67882 67883 * platform/mac/PlatformScrollBarMac.mm: 67884 (-[WebCoreScrollBar initWithPlatformScrollbar:]): Get the correct scrollbar 67885 width/height based on control size. 67886 * rendering/RenderListBox.cpp: 67887 Renamed optionsSpacingLeft to optionsSpacingHorizontal since it is applied 67888 on both sides. 67889 (WebCore::RenderListBox::calcMinMaxWidth): Account for optionsSpacingHorizontal. 67890 Not including the spacing before went unnoticed since the scrollbar was lying 67891 about its width by exactly the same amount. 67892 (WebCore::RenderListBox::paintObject): Clip out the scrollbar. 67893 (WebCore::RenderListBox::paintItemForeground): Changed for the rename. 67894 67895 2007-01-07 Mitz Pettel <mitz (a] webkit.org> 67896 67897 Reviewed by Hyatt. 67898 67899 - fix http://bugs.webkit.org/show_bug.cgi?id=11935 67900 REGRESSION: Changing the overflow style dynamically does not force repaint 67901 67902 Test: fast/repaint/erase-overflow.html 67903 67904 * rendering/RenderBox.cpp: 67905 (WebCore::RenderBox::setStyle): Added a repaint before changing hasOverflowClip 67906 to true, to ensure that the current overflow is erased. 67907 67908 2007-01-07 Graham Dennis <graham.dennis (a] gmail.com> 67909 67910 Reviewed by Darin. 67911 67912 Patch for http://bugs.webkit.org/show_bug.cgi?id=12106 67913 Changed URL from WebResourceLoadDelegate's webView:resource:willSendRequest:... is ignored 67914 67915 * loader/mac/SubresourceLoaderMac.mm: 67916 (WebCore::SubresourceLoader::willSendRequest): Use m_originalURL instead of request().url() 67917 as m_request is not set until the end of ResourceLoader::willSendRequest. Also, ensure that 67918 the request is updated if the frame's client changes it, and that the SubresourceLoader's client 67919 gets the new request and not the old one. 67920 67921 2007-01-07 Alexey Proskuryakov <ap (a] webkit.org> 67922 67923 Reviewed by Darin. 67924 67925 http://bugs.webkit.org/show_bug.cgi?id=10313 67926 xsl:import doesn't work in stylesheets loaded via XMLHttpRequest 67927 67928 This is a partial fix that makes a couple more steps towards fixing the problem. 67929 67930 Test: fast/xsl/transform-xhr-doc.xhtml 67931 67932 * xml/XSLTProcessor.cpp: 67933 (WebCore::xsltStylesheetPointer): Pass an URL for the stylesheet. I'm not sure why this constructor even needs it, 67934 given that it has a Node, but this is a small modifications that makes XSLImportRule try to load from a correct URL. 67935 (WebCore::XSLTProcessor::transformToString): Fix the crash for real this time. 67936 67937 2007-01-06 Rob Buis <buis (a] kde.org> 67938 67939 Reviewed by Darin. 67940 67941 http://bugs.webkit.org/show_bug.cgi?id=12125 67942 overflow attribute of the symbol element not respected 67943 67944 Copy the attribute map to the cloned node so the overflow on 67945 the symbol is respected. 67946 67947 * ksvg2/svg/SVGUseElement.cpp: 67948 (WebCore::SVGUseElement::closeRenderer): 67949 67950 2007-01-06 Eric Seidel <eric (a] webkit.org> 67951 67952 Reviewed and significantly tweaked by Darin. 67953 67954 - fix http://bugs.webkit.org/show_bug.cgi?id=12103 67955 LEAK: Fix the leaking ImageBuffer buffers on TOT 67956 67957 * ksvg2/svg/SVGMaskElement.h: 67958 * ksvg2/svg/SVGMaskElement.cpp: 67959 (WebCore::SVGMaskElement::drawMaskerContent): 67960 Changed to return auto_ptr since it returns a newly-created ImageBuffer. 67961 67962 * ksvg2/svg/SVGPatternElement.cpp: 67963 (WebCore::SVGPatternElement::buildPattern): 67964 Changed to use auto_ptr since ImageBuffer::create now returns one. 67965 67966 * platform/graphics/GraphicsContext.h: Removed the include of ImageBuffer.h, 67967 which was never needed, and the declaration of createImageBuffer, which is 67968 now a class member function of ImageBuffer. 67969 67970 * platform/graphics/ImageBuffer.h: Replaced the constructor with a create 67971 function. Added a comment about the need to move renderSubtreeToImage 67972 elsewhere. Added an m_data member to store the data so it can be deleted 67973 when the object is done, made the m_size member non-platform-specific. 67974 Added a private constructor for use to create the CG version. 67975 67976 * platform/graphics/cg/GraphicsContextCG.cpp: Removed 67977 GraphicsContext::createImageBuffer. 67978 67979 * platform/graphics/cg/ImageBufferCG.cpp: 67980 (WebCore::ImageBuffer::create): Added. Replaces the old 67981 GraphicsContext::createImageBuffer function. 67982 (WebCore::ImageBuffer::ImageBuffer): Added m_data and m_context. 67983 (WebCore::ImageBuffer::~ImageBuffer): Added a fastFree of the data and got 67984 rid of the unneeded null check before calling CGImageRelease. 67985 67986 * platform/graphics/svg/SVGPaintServerGradient.h: Removed the include of 67987 ImageBuffer.h and declared the ImageBuffer class instead. 67988 67989 * platform/graphics/svg/SVGPaintServerPattern.h: Removed the include of 67990 ImageBuffer.h and declared the ImageBuffer class instead, and changed setTile 67991 to take an auto_ptr since it takes ownership of the ImageBuffer. 67992 * platform/graphics/svg/SVGPaintServerPattern.cpp: 67993 (WebCore::SVGPaintServerPattern::setTile): Ditto. 67994 67995 * platform/graphics/svg/SVGResourceMasker.h: Removed the include of 67996 ImageBuffer.h and declared the ImageBuffer class instead, and changed setMask 67997 to take an auto_ptr since it takes ownership of the ImageBuffer. 67998 * platform/graphics/svg/SVGResourceMasker.cpp: 67999 (WebCore::SVGResourceMasker::setMask): Ditto. 68000 68001 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 68002 (WebCore::SVGPaintServerGradient::setup): Updated to use auto_ptr. 68003 68004 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Updated includes. 68005 68006 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: 68007 (WebCore::SVGResourceMasker::applyMask): Updated to use auto_ptr. 68008 68009 - other changes 68010 68011 * ksvg2/svg/SVGAnimateTransformElement.cpp: 68012 (WebCore::SVGAnimateTransformElement::handleStartCondition): 68013 Remove unused variables. 68014 68015 2007-01-06 Mitz Pettel <mitz (a] webkit.org> 68016 68017 Reviewed by Maciej. 68018 68019 - fix http://bugs.webkit.org/show_bug.cgi?id=12136 68020 REGRESSION: Counters-related leaks 68021 68022 * rendering/RenderCounter.cpp: 68023 (WebCore::destroyCounterNodeChildren): Delete the child counter nodes. 68024 68025 2007-01-05 Adele Peterson <adele (a] apple.com> 68026 68027 Release build fix. 68028 68029 * rendering/RenderListItem.cpp: (WebCore::RenderListItem::explicitValueChanged): Initialize listRenderer. 68030 68031 2007-01-05 Darin Adler <darin (a] apple.com> 68032 68033 Reviewed by Hyatt. 68034 68035 - eliminated use of DeprecatedString for list item markers 68036 - eliminated use of DeprecatedValueList for border style collapsing 68037 - made many members private instead of protected or public 68038 68039 - reworked counter implementation to fix most of the CSS 2.1 counter tests; 68040 made CounterNode be a simple non-polymorphic class, moved most counter- 68041 specific code out of RenderObject into RenderCounter, changed the data 68042 structure in RenderStyle to be more speed-efficient but less space- 68043 efficient for nodes with counter styles 68044 - fixed http://bugs.webkit.org/show_bug.cgi?id=11557 68045 68046 Tests: css2.1 68047 68048 - fixed a bug where counter text did not have text transform or text security 68049 applied to it 68050 68051 Test: fast/css/counters/counter-text-security.html 68052 Test: fast/css/counters/counter-text-transform.html 68053 68054 - improved handling of CSS content property values with data of the wrong 68055 type; this probably needs a bit more refinement 68056 68057 Test: fast/css-generated-content/reset-content-to-initial-expected.txt 68058 68059 - fixed a bug where removing the value attribute from an HTMLLIElement would 68060 set the list item's value to 0 instead of restoring it to normal 68061 68062 Test: fast/lists/li-values.html 68063 68064 - fixed a bug where changing the text security style from one style to another 68065 would not change the displayed text 68066 68067 Test: fast/css/text-security.html 68068 68069 - fixed some problems handling long sequences of counter-related styles; 68070 still needs more work and some super-large test cases to check if 68071 recursive algorithms for these that will overflow stack remain 68072 68073 - added support for list styles decimal-leading-zero, hiragana, hirigana-iroha, 68074 katakana, katakana-iroha, cjk-ideographic, armenian, and georgian 68075 68076 Test: fast/lists/decimal-leading-zero.html 68077 68078 - minor tweaks and bug fixes for other list styles, including range checking 68079 68080 * WebCore.exp: Updated for RenderListItem change. 68081 68082 * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject value]): Updated to use 68083 String instead of DeprecatedString. 68084 68085 * css/CSSComputedStyleDeclaration.cpp: 68086 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed 68087 implementation for counter styles for now. We should probably restore it 68088 later, but we need to make sure the returned list is separate from the 68089 original list in the DOM -- modifying the list should not change the element 68090 it was computed from. 68091 68092 * css/Counter.h: Removed unneeded empty constructor and destructor. 68093 68094 * css/cssstyleselector.cpp: 68095 (WebCore::applyCounterList): Added. Stores counter directives in hash tables 68096 that should allow us to efficiently implement dynamic counter changes. Full 68097 support will have to wait for a future check-in. 68098 (WebCore::CSSStyleSelector::applyProperty): Changed counter properties to 68099 call applyCounterList. Reformatted the code to parse the content property for 68100 changes to RenderStyle and to handle the case where some the items in the 68101 content list don't generate any content. 68102 68103 * editing/visible_units.cpp: 68104 * rendering/RenderBox.cpp: 68105 * rendering/RenderFlexibleBox.cpp: 68106 * rendering/RenderFlow.cpp: 68107 * rendering/RenderSlider.cpp: 68108 Added includes needed because of header changes. 68109 68110 * html/HTMLLIElement.H: Removed unneeded m_isValued. 68111 * html/HTMLLIElement.cpp: 68112 (WebCore::HTMLLIElement::parseMappedAttribute): To match test results seen 68113 in WinIE, ignore values that are 0 or negative, and use new functions in 68114 RenderListItem to communicate the lack of a valid value. 68115 (WebCore::HTMLLIElement::attach): More of the same. 68116 68117 * rendering/CounterNode.h: Made CounterNode be a non-polymorphic class, 68118 removing all the subclasses. Merged in CounterResetNode. Removed 68119 m_total from CounterResetNode, because it isn't needed for any of 68120 the styles (decimal-leading-zero always uses two digits). Removed 68121 m_hasSeparator and m_willNeedLayout since they aren't needed any more. 68122 Renamed m_count to m_countInParent for clarify, and named the list 68123 links the same as their associated functions. Removed many functions 68124 as well. 68125 * rendering/CounterNode.cpp: 68126 (WebCore::CounterNode::CounterNode): Added new fields. 68127 (WebCore::CounterNode::computeCountInParent): Added. Used by recount. 68128 (WebCore::CounterNode::recount): Simplified by removing unused parameter and the 68129 "get next" idiom. Changed to be iterative instead of recursive so we can handle 68130 arbitrarily long lists. 68131 (WebCore::CounterNode::insertAfter): Moved here from CounterResetNode. Updated 68132 for field name changes. Corrected rule for when to recount. 68133 (WebCore::CounterNode::removeChild): Moved here from CounterResetNode. Changed 68134 to only work on nodes without children. Corrected rule for when to recount. 68135 (WebCore::nextInPreOrderAfterChildren): Added. For debugging only. 68136 (WebCore::nextInPreOrder): Ditto. 68137 (WebCore::showTreeAndMark): Ditto. 68138 (showTree): Ditto. 68139 68140 * rendering/CounterListItem.h: 68141 * rendering/CounterResetNode.h: 68142 * rendering/CounterResetNode.cpp: 68143 Marked ready to remove. I'll do the remove in a separate patch, since I have 68144 to update a lot of different make files when I do. 68145 68146 * rendering/ListMarkerBox.cpp: (WebCore::ListMarkerBox::isText): Changed for the 68147 change to RenderListMarker. 68148 68149 * rendering/RenderBlock.cpp: 68150 (WebCore::RenderBlock::addChildToFlow): Changed to use functions instead of 68151 direct field access so the fields can be private and we don't need to be friends. 68152 (WebCore::RenderBlock::getBaselineOfFirstLineBox): Ditto. 68153 (WebCore::RenderBlock::getBaselineOfLastLineBox): Ditto. 68154 * rendering/RenderBlock.h: 68155 (WebCore::RenderBlock::initMaxMarginValues): Ditto. 68156 (WebCore::RenderBlock::firstRootBox): Ditto. 68157 (WebCore::RenderBlock::lastRootBox): Ditto. 68158 * rendering/RenderBox.h: 68159 (WebCore::RenderBox::setWidth): Ditto. 68160 (WebCore::RenderBox::setHeight): Ditto. 68161 * rendering/RenderButton.cpp: 68162 (WebCore::RenderButton::addChild): Ditto. 68163 * rendering/bidi.cpp: 68164 (WebCore::RenderBlock::determineStartPosition): Ditto. 68165 68166 * rendering/RenderContainer.h: Renamed m_first and m_last to m_firstChild 68167 and m_lastChild. Made them private instead of proected. Removed the 68168 setFirstChild and setLastChild functions. 68169 * rendering/RenderContainer.cpp: 68170 (WebCore::RenderContainer::RenderContainer): Updated for field name change. 68171 Changed all calls to get at fields directly instead of using functions. 68172 (WebCore::RenderContainer::destroyLeftoverChildren): Ditto. 68173 (WebCore::updateListMarkerNumbers): Updated for RenderListItem change. 68174 (WebCore::RenderContainer::addChild): Changed to get at fields directly 68175 instead of using functions. Also used release() since RenderText::setText 68176 now takes PassRefPtr. 68177 (WebCore::RenderContainer::removeChildNode): Changed to get at fields directly 68178 instead of using functions. 68179 (WebCore::RenderContainer::updatePseudoChildForObject): Create the anonymous 68180 box only if at least one of of the items in the content list actually 68181 generates content. Since a RenderCounter is a RenderText, don't bother making 68182 a new style for it -- it just shares the style with its parent. Changed code 68183 to use RenderImage::setCachedImage() instead of of setContentObject(). 68184 Added a call to setIsAnonymousImage() here, which was the only special thing 68185 that setContentObject() used to do. Pass a reference to the counter to the 68186 RenderCounter rather than a pointer. Pass document() as the node instead of 68187 passing the element to RenderCounter, which makes it anonymous automatically, 68188 and removed the setIsAnonymous call. 68189 (WebCore::RenderContainer::appendChildNode): Chagned to get at fields directly 68190 instead of using functions. 68191 (WebCore::RenderContainer::insertChildNode): Ditto. 68192 (WebCore::RenderContainer::layout): Ditto. 68193 (WebCore::RenderContainer::removeLeftoverAnonymousBoxes): Ditto. 68194 (WebCore::RenderContainer::positionForCoordinates): Ditto. 68195 (WebCore::RenderContainer::addLineBoxRects): Ditto. 68196 68197 * rendering/RenderCounter.h: Removed unneeded layout override, never called on a 68198 text node. Added override of originalString. Replaced CounterData* with a copy of 68199 the CounterContent -- it's two atomic strings and an integer so it's efficient 68200 enough to store all three in the render object, and this eliminates the lifetime 68201 problems we could have if we used a pointer. 68202 * rendering/RenderCounter.cpp: Removed duplicate copy of list marker code. 68203 (WebCore::counterMaps): Moved these maps here from RenderObject. 68204 (WebCore::previousSiblingOrParent): Added. 68205 (WebCore::lastDescendant): Added. 68206 (WebCore::previousInPreOrder): Added. 68207 (WebCore::planCounter): Added. 68208 (WebCore::findPlaceForCounter): Added. 68209 (WebCore::counter): New name of function that was named RenderObject::findCounter. 68210 Also uses a new algorithm that passes all the CSS 2.1 tests. 68211 (WebCore::RenderCounter::RenderCounter): Changed to take a Document* instead of a 68212 Node*, since at the moment counters are always anonymous. 68213 (WebCore::RenderCounter::originalString): Added. This overrides the originalString 68214 in the RenderText base class so that any text transforms will use the counter's 68215 value. This code was previously in calcMinMaxWidth. 68216 (WebCore::RenderCounter::calcMinMaxWidth): Changed to call setInternalString and 68217 pass originalString -- this uses the counter's value from the counter tree. 68218 (WebCore::destroyCounterNodeChildren): Added. 68219 (WebCore::RenderCounter::destroyCounterNodes): Added. Called as needed from 68220 RenderObject::destroy for objects that have counter nodes. 68221 68222 * rendering/RenderFlow.h: Made m_continuation private instead of protected. 68223 68224 * rendering/RenderImage.h: Removed unneeded includes, and unnecessary element() 68225 function that casts to HTMLElement*. Made image() protected, and made the two 68226 calcAspectRatio functions private. Removed setContentObject(). Renamed the 68227 errorOccured() function to isErrorImage() and made it private. 68228 * rendering/RenderImage.cpp: 68229 (WebCore::RenderImage::RenderImage): Removed initialization of removed 68230 m_selectionState field. 68231 (WebCore::RenderImage::setCachedImage): Rearrange code so it won't try to 68232 call isErrorImage() on a null image. 68233 (WebCore::RenderImage::paint): Updated for name change. 68234 68235 * rendering/RenderListBox.h: Removed unneeded forward declarations. 68236 68237 * rendering/RenderListItem.h: 68238 Renamed markerStringValue() to markerText() and made it return a String instead of 68239 a DeprecatedString. Renamed m_prededfVal to m_explicitValue. Added booleans named 68240 m_hasExplicitValue and m_isValueUpToDate and marked m_value mutable so it can be 68241 computed in const member functions. 68242 (WebCore::RenderListItem::value): Changed to update value on demand at the time 68243 you ask for it. 68244 (WebCore::RenderListItem::hasExplicitValue): Added. Use instead of magic -1 value 68245 to indicate that the item does or does not have an explicit value. 68246 (WebCore::RenderListItem::explicitValue): Added. 68247 (WebCore::RenderListItem::setExplicitValue): Added. 68248 (WebCore::RenderListItem::clearExplicitValue): Added. 68249 * rendering/RenderListItem.cpp: 68250 (WebCore::RenderListItem::RenderListItem): Updated to not use magic -1 values. 68251 (WebCore::RenderListItem::setStyle): Removed call to RenderListMarker::setListItem 68252 since it's not needed any more, and instead pass the list item to the constructor. 68253 (WebCore::previousListItem): Made parameter const. 68254 (WebCore::RenderListItem::calcValue): Restructed the function a bit. 68255 (WebCore::RenderListItem::updateValueNow): Added. Calls calcValue. 68256 (WebCore::RenderListItem::updateValue): Added. New name for resetValue(). Unlike 68257 the old version, this no longer calculates the value until it's asked-for later. 68258 (WebCore::RenderListItem::markerText): Changed to return String rather than a 68259 DeprecatedString and to return a null string rather than empty string when there 68260 is no marker. 68261 68262 * rendering/RenderListMarker.h: Added listMarkerText function -- common code shared 68263 with anyone who needs to convert a value into text given a list style. 68264 Changed constructor to take a RenderListItem and figure out the document from that. 68265 Added isImage() and isText() functions and removed listImage() function. Changed the 68266 type of the text() function from DeprecatedString to String. Removed the listItem() 68267 and seListeItem() functions. Made the getRelativeMarkerRect() function private. 68268 Renamed m_item to m_text and chagned it from DeprecatedString to String. Renamed 68269 m_listImage to m_image. 68270 * rendering/RenderListMarker.cpp: 68271 (WebCore::toRoman): Added range checking to fix buffer overrun for large or negative 68272 numbers. Rewrote to use a local UChar array and String rather than prepending to a 68273 DeprecatedString. 68274 (WebCore::toAlphabetic): Replaces toLetterString, and is more flexible since it takes 68275 an alphabet array. Changed to match CSS 3 specification by using decimal numbering for 68276 0 and negative numbers. Rewrote to use a local UChar array and String rather than 68277 prepending to a DeprecatedString. 68278 (WebCore::toHebrewUnder1000): Added. Helper function for Hebrew numbers so we can 68279 handle numbers up to a million. 68280 (WebCore::toHebrew): Changed to use toHebrewUnder1000, added a special case for 68281 zero, negative, and too-large numbers. 68282 (WebCore::toArmenianUnder10000): Added. Used by toArmenian. 68283 (WebCore::toArmenian): Added. 68284 (WebCore::toGeorgian): Added. 68285 (WebCore::toCJKIdeographic): Added. 68286 (WebCore::listMarkerText): Added. Moved the code here from calcMinMaxWidth, but added 68287 support for text for the styles disc, circle, square, decimal-leading-zero, hiragana, 68288 hirigana-iroha, katakana, katakana-iroha, cjk-ideographic, armenian, and georgian. 68289 Also changed some of the styles to share the new toAlphabetic function. 68290 (WebCore::RenderListMarker::RenderListMarker): Updated for name changes and list 68291 item parameter. 68292 (WebCore::RenderListMarker::~RenderListMarker): Updated for name changes. 68293 (WebCore::RenderListMarker::setStyle): Updated for name changes. 68294 (WebCore::RenderListMarker::isImage): Added. Useful helper that unifies the check 68295 for no image and the error image. 68296 (WebCore::RenderListMarker::paint): Updated for name changes to to use isImage() 68297 and rearranged the code a bit. 68298 (WebCore::RenderListMarker::imageChanged): Updated for name change 68299 (WebCore::RenderListMarker::calcMinMaxWidth): Updated for name change, fixed a bug 68300 where we'd leave the old text around if we were using an image-based marker. Also 68301 changed the code to use isImage() instead of checking m_listImage. 68302 (WebCore::RenderListMarker::calcWidth): Changed to use isImage(). 68303 (WebCore::RenderListMarker::lineHeight): Changed to use isImage(). 68304 (WebCore::RenderListMarker::baselinePosition): Changed to use isImage(). 68305 (WebCore::RenderListMarker::getRelativeMarkerRect): Changed to use isImage(), 68306 restructured the code a little. 68307 68308 * rendering/RenderObject.h: Removed now-uneeded includes. Removed collectBorders() 68309 and isFormElement(). Made remove() function and m_hasCounterNodeMap public so 68310 we could remove friend declarations for RenderListItem and RenderView. 68311 Moved findCounter() to become a private function inside RenderCounter.cpp. 68312 * rendering/RenderObject.cpp: 68313 (WebCore::RenderObject::createObject): Fix bug where a contentData() with 68314 CONTENT_NONE is treated as image content -- only look at the content property 68315 if it has exactly one entry which is a CONTENT_OBJECT. 68316 (WebCore::RenderObject::selectionStartEnd): Add const. 68317 (WebCore::RenderObject::destroy): Moved counter-specific code to 68318 RenderCounter::destroyCounterNodes. 68319 (WebCore::RenderObject::recalcMinMaxWidths): Changed code to set m_recalcMinMax 68320 near the top of the function -- the old code would potentially reset it after it 68321 was set by the calcMinMaxWidths functions, and possibly skip a future needed 68322 recalc. That came up in counter test cases. Removed unneeded boolean check right 68323 after an assertion. 68324 68325 * rendering/RenderPart.h: Marked two virtual functions virtual for clarity. 68326 68327 * rendering/RenderReplaced.h: Made shouldPaint be protected, and made 68328 m_intrinsicWidth, m_intrinsicHeight, and m_selectionState be private. 68329 Also marked isSelected() const. 68330 * rendering/RenderReplaced.cpp: Added newly-needed include. 68331 (WebCore::RenderReplaced::RenderReplaced): Use constructor syntax. 68332 (WebCore::RenderReplaced::isSelected): Made const and changed to call the 68333 selectionStartEnd function in the straightforward way. 68334 68335 * rendering/RenderSVGText.cpp: 68336 (WebCore::RenderSVGText::absoluteRects): Use functions instead of direct field 68337 access so the fields can be private. 68338 (WebCore::RenderSVGText::relativeBBox): Ditto. 68339 68340 * rendering/RenderStyle.h: Tweaked formatting. Changed names of CSS3 holders 68341 to say "rare" instead, since it's not all CSS 3. Renamed CounterData to 68342 CounterContent, since it's used inside ContentData. Changed names of fields in 68343 ContentData to have m prefix. Moved content and counter fields into the rare 68344 non-inherited data object. Removed unneeded assignment operator from a class 68345 that already inherits from Shared which makes it start out noncopyable. 68346 * rendering/RenderStyle.cpp: Name changes, plus: 68347 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 68348 Updated for added fields (content, counter-reset, counter-increment). 68349 (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData): Ditto. 68350 (WebCore::StyleRareNonInheritedData::operator==): Reformatted and sorted so it's 68351 easy to see if any fields are missing. 68352 (WebCore::operator!=): Added. Compares two CounterContent objects. 68353 (WebCore::RenderStyle::arenaDelete): Removed code to handle content, which is 68354 now in the rareNonInheritedData structure. 68355 (WebCore::RenderStyle::RenderStyle): Ditto. 68356 (WebCore::RenderStyle::inheritFrom): Ditto. 68357 (WebCore::RenderStyle::operator==): Ditto. 68358 (WebCore::RenderStyle::inheritedNotEqual): 68359 (WebCore::RenderStyle::diff): 68360 (WebCore::RenderStyle::contentDataEquivalent): Added case for counter, 68361 which previously would be ignored when determining if content is equivalent. 68362 (WebCore::RenderStyle::clearContent): Added. 68363 (WebCore::RenderStyle::setContent): Updated for change in content location. 68364 (WebCore::ContentData::clear): Changed algorithm so that it's not recursive 68365 and thus can handle a very long list of ContentData. 68366 (WebCore::operator==): Added. Compares two CounterDirective objects. 68367 (WebCore::RenderStyle::counterDirectives): Added. 68368 (WebCore::RenderStyle::accessCounterDirectives): Added. 68369 68370 * rendering/RenderTable.h: Made m_currentBorder const to better reflect the 68371 paint algorithm. 68372 * rendering/RenderTable.cpp: (WebCore::RenderTable::paint): Changed to use 68373 Vector instead of DeprecatedValueList for the border styles, and to sort 68374 rather than inserting in sorted order as we go. Put the code to loop through 68375 the nodes and collect border styles here instead of in a RenderObject virtual 68376 function. Also set m_currentBorder to 0 after the loop for greater clarity. 68377 68378 * rendering/RenderTableCell.h: Added a typedef for a vector of border values. 68379 Removed the virtual collectBorders and replaced with the non-virtual named 68380 collectBorderStyles. Also added a static member function named sortBorderStyles. 68381 * rendering/RenderTableCell.cpp: 68382 (WebCore::CollapsedBorders::CollapsedBorders): Removed unneeded constructor 68383 parameter. 68384 (WebCore::addBorderStyle): Changed to use a vector instead of a 68385 DeprecatedValueList. Wrote out a loop since Vector doesn't have a contains 68386 member function. Removed the code to insert the border at a sorted location; 68387 instead we have a separate call to sort the border styles 68388 (WebCore::RenderTableCell::collectBorderStyles): Renamed, and changed the 68389 parameter type. 68390 (WebCore::compareBorderStylesForQSort): Added. 68391 (WebCore::RenderTableCell::sortBorderStyles): Added. 68392 68393 * rendering/RenderText.h: Changed StringImpl parameters in setText functions 68394 to be PassRefPtr; added a new setInternalString function. Made a bunch of the 68395 member functions private and made all the data members private instead of 68396 protected. 68397 * rendering/RenderText.cpp: 68398 (WebCore::RenderText::setStyle): Restructure a bit for clarity. Fix case where 68399 the old style has a different security than the new style. Use release() since 68400 RenderText::setText now takes PassRefPtr. Always call cacheWidths here. 68401 (WebCore::RenderText::setTextWithOffset): Changed to take the string as a 68402 PassRefPtr instead of a raw pointer. 68403 (WebCore::isInlineFlowOrEmptyText): Added. 68404 (WebCore::RenderText::setInternalString): Refactored core of setText into a 68405 separate protected member function that can be used RenderCounter. Changed 68406 the text security square character to match what's used in list markers. 68407 Changed the text transform switch statement so that gcc will warn us if we add 68408 a new value and don't add a case for it. 68409 (WebCore::RenderText::setText): Refactored most of the function into 68410 setInternalString. Removed the call to cacheWidths -- that's now done in the 68411 setStyle function only. 68412 68413 * rendering/RenderView.h: 68414 * rendering/RenderView.cpp: (WebCore::RenderView::selectionStartEnd): Now const. 68415 68416 * rendering/RenderWidget.cpp: Added newly-needed include. 68417 (WebCore::RenderWidget::setSelectionState): Don't bother setting m_selectionState 68418 here since RenderReplaced::setSelectionState already does that. 68419 68420 2007-01-05 Anders Carlsson <acarlsson (a] apple.com> 68421 68422 Rubber stamped by Adam. 68423 68424 Move even more code to .cpp files. 68425 68426 * WebCore.xcodeproj/project.pbxproj: 68427 * loader/FrameLoader.cpp: 68428 (WebCore::FrameLoader::createWindow): 68429 (WebCore::FrameLoader::load): 68430 (WebCore::FrameLoader::canLoad): 68431 (WebCore::FrameLoader::initialRequest): 68432 (WebCore::FrameLoader::receivedData): 68433 (WebCore::FrameLoader::setRequest): 68434 (WebCore::FrameLoader::setResponse): 68435 (WebCore::FrameLoader::willUseArchive): 68436 (WebCore::FrameLoader::handleUnimplementablePolicy): 68437 (WebCore::FrameLoader::cannotShowMIMEType): 68438 (WebCore::FrameLoader::interruptionForPolicyChangeError): 68439 (WebCore::FrameLoader::checkNavigationPolicy): 68440 (WebCore::FrameLoader::checkContentPolicy): 68441 (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL): 68442 (WebCore::FrameLoader::reloadAllowingStaleData): 68443 (WebCore::FrameLoader::reload): 68444 (WebCore::FrameLoader::finishedLoading): 68445 (WebCore::FrameLoader::continueAfterWillSubmitForm): 68446 (WebCore::FrameLoader::submitForm): 68447 (WebCore::FrameLoader::post): 68448 (WebCore::FrameLoader::isReloading): 68449 (WebCore::FrameLoader::loadEmptyDocumentSynchronously): 68450 (WebCore::FrameLoader::loadResourceSynchronously): 68451 (WebCore::FrameLoader::startLoadingMainResource): 68452 (WebCore::FrameLoader::startLoading): 68453 (WebCore::FrameLoader::cancelMainResourceLoad): 68454 (WebCore::FrameLoader::identifierForInitialRequest): 68455 (WebCore::FrameLoader::willSendRequest): 68456 (WebCore::FrameLoader::didReceiveResponse): 68457 (WebCore::FrameLoader::didReceiveData): 68458 (WebCore::FrameLoader::didFailToLoad): 68459 (WebCore::FrameLoader::originalRequest): 68460 (WebCore::FrameLoader::receivedMainResourceError): 68461 (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy): 68462 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 68463 (WebCore::FrameLoader::opened): 68464 (WebCore::FrameLoader::dataURLBaseFromRequest): 68465 (WebCore::FrameLoader::checkNewWindowPolicy): 68466 (WebCore::FrameLoader::continueAfterNewWindowPolicy): 68467 (WebCore::FrameLoader::continueAfterNavigationPolicy): 68468 (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy): 68469 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 68470 (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy): 68471 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): 68472 (WebCore::FrameLoader::sendRemainingDelegateMessages): 68473 (WebCore::FrameLoader::requestFromDelegate): 68474 (WebCore::FrameLoader::loadedResourceFromMemoryCache): 68475 (WebCore::FrameLoader::applyUserAgent): 68476 (WebCore::PolicyCheck::PolicyCheck): 68477 (WebCore::PolicyCheck::clear): 68478 (WebCore::PolicyCheck::set): 68479 (WebCore::PolicyCheck::call): 68480 (WebCore::PolicyCheck::clearRequest): 68481 * loader/FrameLoader.h: 68482 * loader/FrameLoaderClient.h: 68483 * loader/MainResourceLoader.h: 68484 * loader/ResourceLoader.h: 68485 (WebCore::ResourceLoader::setIdentifier): 68486 (WebCore::ResourceLoader::identifier): 68487 * loader/mac/FrameLoaderMac.mm: 68488 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 68489 (WebCore::FrameLoader::referrer): 68490 (WebCore::FrameLoader::didReceiveAuthenticationChallenge): 68491 (WebCore::FrameLoader::didCancelAuthenticationChallenge): 68492 (WebCore::FrameLoader::didChangeTitle): 68493 * platform/graphics/svg/SVGImageEmptyClients.h: 68494 (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage): 68495 68496 2007-01-05 Mitz Pettel <mitz (a] webkit.org> 68497 68498 Reviewed by Hyatt. 68499 68500 - fix http://bugs.webkit.org/show_bug.cgi?id=12079 68501 Nested tables don't repaint properly when a certain row is added 68502 68503 Tests: fast/repaint/table-section-repaint.html 68504 fast/repaint/table-section-overflow.html 68505 68506 Fixed repainting when table sections move during layout. 68507 68508 Made table cells' overflows propagate to table sections and gave tables 68509 overflows. 68510 68511 * rendering/RenderTable.cpp: 68512 (WebCore::RenderTable::layout): Added computation of horizontal and vertical overflows 68513 based on the caption's and the table sections' overflows. 68514 Added checks for table sections that change position during layout. When that happens, 68515 we assume all sections below the first section that moved also moved, and repaint 68516 everything downwards from there. 68517 Added calls to repaintDuringLayoutIfMoved() for the caption. 68518 Changed the way table sections are iterated over and added a FIXME to change it again 68519 once bug 12124 is fixed. 68520 (WebCore::RenderTable::paint): Changed to paint overflow. 68521 (WebCore::RenderTable::outerBorderBottom): 68522 * rendering/RenderTableSection.cpp: 68523 (WebCore::RenderTableSection::RenderTableSection): 68524 (WebCore::RenderTableSection::layoutRows): Added code to compute the section's overflow 68525 and a flag saying whether any cells in this section overflow. 68526 (WebCore::RenderTableSection::paint): Changed to paint overflow. If any cell 68527 in the section has overflow, then all cells are given a chance to paint. This is needed 68528 because there can be internal overflow, and external overflow can be coming from any 68529 cell inside. 68530 * rendering/RenderTableSection.h: 68531 (WebCore::RenderTableSection::overflowWidth): 68532 (WebCore::RenderTableSection::overflowLeft): 68533 68534 2007-01-05 Beth Dakin <bdakin (a] apple.com> 68535 68536 Reviewed by Adam. 68537 68538 Fix for <rdar://problem/4863434> Wrong contextual menu appears for 68539 textarea and input elements at http://www.apple.com/feedback/ 68540 ical.html 68541 68542 No test cases added since context menus are not in DRT. 68543 68544 * page/ContextMenuController.cpp: 68545 (WebCore::ContextMenuController::handleContextMenuEvent): Call 68546 EventHandler's hitTestResultAtPoint() instead of just hit testing 68547 the layer. 68548 68549 2007-01-05 Anders Carlsson <acarlsson (a] apple.com> 68550 68551 Rubber-stamped by Adam. 68552 68553 Move a bunch of platform independent code over to DocumentLoader.cpp 68554 68555 * WebCore.xcodeproj/project.pbxproj: 68556 * loader/DocumentLoader.cpp: 68557 (WebCore::canonicalizedTitle): 68558 (WebCore::DocumentLoader::DocumentLoader): 68559 (WebCore::DocumentLoader::frameLoader): 68560 (WebCore::DocumentLoader::~DocumentLoader): 68561 (WebCore::DocumentLoader::setMainResourceData): 68562 (WebCore::DocumentLoader::mainResourceData): 68563 (WebCore::DocumentLoader::originalRequest): 68564 (WebCore::DocumentLoader::originalRequestCopy): 68565 (WebCore::DocumentLoader::request): 68566 (WebCore::DocumentLoader::initialRequest): 68567 (WebCore::DocumentLoader::actualRequest): 68568 (WebCore::DocumentLoader::URL): 68569 (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll): 68570 (WebCore::DocumentLoader::setRequest): 68571 (WebCore::DocumentLoader::setMainDocumentError): 68572 (WebCore::DocumentLoader::clearErrors): 68573 (WebCore::DocumentLoader::mainReceivedError): 68574 (WebCore::DocumentLoader::stopLoading): 68575 (WebCore::DocumentLoader::setupForReplace): 68576 (WebCore::DocumentLoader::commitIfReady): 68577 (WebCore::DocumentLoader::finishedLoading): 68578 (WebCore::DocumentLoader::setCommitted): 68579 (WebCore::DocumentLoader::isCommitted): 68580 (WebCore::DocumentLoader::setLoading): 68581 (WebCore::DocumentLoader::isLoading): 68582 (WebCore::DocumentLoader::commitLoad): 68583 (WebCore::DocumentLoader::doesProgressiveLoad): 68584 (WebCore::DocumentLoader::receivedData): 68585 (WebCore::DocumentLoader::setupForReplaceByMIMEType): 68586 (WebCore::DocumentLoader::updateLoading): 68587 (WebCore::DocumentLoader::setFrame): 68588 (WebCore::DocumentLoader::attachToFrame): 68589 (WebCore::DocumentLoader::detachFromFrame): 68590 (WebCore::DocumentLoader::prepareForLoadStart): 68591 (WebCore::DocumentLoader::setIsClientRedirect): 68592 (WebCore::DocumentLoader::isClientRedirect): 68593 (WebCore::DocumentLoader::setPrimaryLoadComplete): 68594 (WebCore::DocumentLoader::isLoadingInAPISense): 68595 (WebCore::DocumentLoader::addResponse): 68596 (WebCore::DocumentLoader::stopRecordingResponses): 68597 (WebCore::DocumentLoader::title): 68598 (WebCore::DocumentLoader::setLastCheckedRequest): 68599 (WebCore::DocumentLoader::lastCheckedRequest): 68600 (WebCore::DocumentLoader::triggeringAction): 68601 (WebCore::DocumentLoader::setTriggeringAction): 68602 (WebCore::DocumentLoader::responses): 68603 (WebCore::DocumentLoader::setOverrideEncoding): 68604 (WebCore::DocumentLoader::overrideEncoding): 68605 (WebCore::DocumentLoader::setTitle): 68606 (WebCore::DocumentLoader::urlForHistory): 68607 * loader/DocumentLoader.h: 68608 * loader/FrameLoader.cpp: 68609 (WebCore::FrameLoader::load): 68610 (WebCore::FrameLoader::committedLoad): 68611 (WebCore::FrameLoader::setMainDocumentError): 68612 (WebCore::FrameLoader::mainReceivedCompleteError): 68613 (WebCore::FrameLoader::mainReceivedError): 68614 (WebCore::FrameLoader::cancelledError): 68615 (WebCore::FrameLoader::fileDoesNotExistError): 68616 (WebCore::FrameLoader::mainResourceData): 68617 * loader/FrameLoader.h: 68618 * loader/FrameLoaderClient.h: 68619 * loader/mac/DocumentLoaderMac.mm: 68620 (WebCore::DocumentLoader::unreachableURL): 68621 * loader/mac/FrameLoaderMac.mm: 68622 68623 2007-01-05 Brady Eidson <beidson (a] apple.com> 68624 68625 Reviewed by Eric Seidel 68626 68627 http://bugs.webkit.org/show_bug.cgi?id=12117 68628 Fixes null deref when opening links from a gmail account 68629 68630 * loader/FrameLoader.cpp: 68631 (WebCore::FrameLoader::updateHistoryForStandardLoad): Null check m_currentHistoryItem 68632 (WebCore::FrameLoader::updateHistoryForClientRedirect): Ditto 68633 68634 2007-01-05 Anders Carlsson <acarlsson (a] apple.com> 68635 68636 Move some now cross platform functions over to ResourceLoader.cpp in an attempt to fix the non Mac builds. 68637 68638 * loader/CachedResource.h: 68639 (WebCore::CachedResource::setAllData): 68640 * loader/ResourceLoader.cpp: 68641 (WebCore::ResourceLoader::resourceData): 68642 * loader/ResourceLoader.h: 68643 * loader/SubresourceLoader.cpp: 68644 (WebCore::SubresourceLoader::didFinishLoading): 68645 * loader/mac/LoaderFunctionsMac.mm: 68646 * loader/mac/ResourceLoaderMac.mm: 68647 * platform/SharedBuffer.cpp: 68648 (WebCore::SharedBuffer::platformDataSize): 68649 * platform/network/ResourceHandle.h: 68650 68651 2007-01-05 David Hyatt <hyatt (a] apple.com> 68652 68653 Back out fix for 12114. I missed rule #5 in the float positioning part of the CSS2.1 spec. Keep all 68654 the code cleanup though. 68655 68656 Reviewed by mitz 68657 68658 * rendering/RenderBlock.cpp: 68659 (WebCore::RenderBlock::positionNewFloats): 68660 68661 2007-01-05 Anders Carlsson <acarlsson (a] apple.com> 68662 68663 Reviewed by Maciej. 68664 68665 Add a shared buffer class which is backed by either a vector or an NSData object. This object can also 68666 be held in a custom NSData subclass. Use this in the loader wherever NSData was used. 68667 68668 * WebCore.exp: 68669 * WebCore.xcodeproj/project.pbxproj: 68670 * loader/CachedResource.h: 68671 (WebCore::CachedResource::allData): 68672 * loader/DocumentLoader.h: 68673 * loader/FrameLoader.h: 68674 * loader/ResourceLoader.h: 68675 * loader/SubresourceLoaderClient.h: 68676 (WebCore::SubresourceLoaderClient::didFail): 68677 * loader/loader.cpp: 68678 (WebCore::Loader::didFinishLoading): 68679 * loader/loader.h: 68680 * loader/mac/DocumentLoaderMac.mm: 68681 (WebCore::DocumentLoader::setMainResourceData): 68682 (WebCore::DocumentLoader::mainResourceData): 68683 (WebCore::DocumentLoader::setupForReplaceByMIMEType): 68684 * loader/mac/FrameLoaderMac.mm: 68685 (WebCore::FrameLoader::mainResourceData): 68686 * loader/mac/ImageDocumentMac.mm: 68687 (WebCore::finishImageLoad): 68688 * loader/mac/LoaderFunctionsMac.mm: 68689 (WebCore::CheckCacheObjectStatus): 68690 (WebCore::CachedResource::setAllData): 68691 * loader/mac/NetscapePlugInStreamLoaderMac.mm: 68692 (WebCore::NetscapePlugInStreamLoader::didFinishLoading): 68693 * loader/mac/ResourceLoaderMac.mm: 68694 (WebCore::ResourceLoader::addData): 68695 (WebCore::ResourceLoader::resourceData): 68696 (WebCore::ResourceLoader::clearResourceData): 68697 (WebCore::ResourceLoader::didReceiveData): 68698 (WebCore::ResourceLoader::willStopBufferingData): 68699 * loader/mac/SubresourceLoaderMac.mm: 68700 (WebCore::SubresourceLoader::didReceiveResponse): 68701 (WebCore::SubresourceLoader::didFinishLoading): 68702 * page/mac/WebCoreFrameBridge.mm: 68703 (-[WebCoreFrameBridge getData:andResponse:forURL:]): 68704 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): 68705 * platform/KURL.h: 68706 * platform/SharedBuffer.cpp: Added. 68707 (WebCore::SharedBuffer::SharedBuffer): 68708 (WebCore::SharedBuffer::size): 68709 (WebCore::SharedBuffer::data): 68710 (WebCore::SharedBuffer::append): 68711 (WebCore::SharedBuffer::clear): 68712 (WebCore::SharedBuffer::clearPlatformData): 68713 (WebCore::SharedBuffer::maybeTransferPlatformData): 68714 (WebCore::SharedBuffer::hasPlatformData): 68715 (WebCore::SharedBuffer::platformData): 68716 * platform/SharedBuffer.h: Added. 68717 * platform/mac/SharedBufferMac.mm: Added. 68718 (-[SharedBufferData dealloc]): 68719 (-[SharedBufferData finalize]): 68720 (-[SharedBufferData initWithSharedBuffer:]): 68721 (-[SharedBufferData length]): 68722 (-[SharedBufferData bytes]): 68723 (WebCore::SharedBuffer::wrapNSData): 68724 (WebCore::SharedBuffer::SharedBuffer): 68725 (WebCore::SharedBuffer::createNSData): 68726 (WebCore::SharedBuffer::hasPlatformData): 68727 (WebCore::SharedBuffer::platformData): 68728 (WebCore::SharedBuffer::platformDataSize): 68729 (WebCore::SharedBuffer::maybeTransferPlatformData): 68730 (WebCore::SharedBuffer::clearPlatformData): 68731 * platform/network/ResourceHandle.h: 68732 * platform/network/ResourceHandleClient.h: 68733 * platform/network/mac/ResourceHandleMac.mm: 68734 (WebCore::ResourceHandle::bufferedData): 68735 68736 2007-01-05 Anders Carlsson <acarlsson (a] apple.com> 68737 68738 Reviewed by Adam. 68739 68740 http://bugs.webkit.org/show_bug.cgi?id=12120 68741 REGRESSION(r18605): Safari snippet editor no longer works 68742 68743 * loader/mac/ResourceLoaderMac.mm: 68744 (WebCore::ResourceLoader::willSendRequest): 68745 Put back the code change in r18607. 68746 68747 * platform/mac/KURLMac.mm: 68748 (WebCore::KURL::KURL): 68749 Convert nil NSURLs to null KURLs. 68750 68751 2007-01-04 Alexey Proskuryakov <ap (a] webkit.org> 68752 68753 Reviewed by Geoff. 68754 68755 http://bugs.webkit.org/show_bug.cgi?id=7296 68756 Disable JavaScript exceptions when dynamically changing CSS properties. 68757 68758 * bindings/js/kjs_css.cpp: 68759 (KJS::DOMCSSStyleDeclaration::put): Removed the Dashboard quirk logic. 68760 68761 * css/CSSMutableStyleDeclaration.cpp: 68762 (WebCore::CSSMutableStyleDeclaration::setProperty): Don't raise an exception if parsing fails. 68763 68764 2007-01-05 Antti Koivisto <koivisto (a] iki.fi> 68765 68766 Reviewed by hyatt. 68767 68768 http://bugs.webkit.org/show_bug.cgi?id=12109 68769 68770 Fix layer visibility in some cases with nested layers. 68771 68772 * rendering/RenderLayer.cpp: 68773 (WebCore::RenderLayer::updateVisibilityStatus): 68774 68775 2007-01-05 Lars Knoll <lars (a] trolltech.com> 68776 68777 Make it compile with gcc 4.1 68778 68779 * rendering/RenderTableSection.h: 68780 68781 2007-01-04 Adam Roben <aroben (a] apple.com> 68782 68783 Reviewed by Geoff, cheered by others. 68784 68785 Dead code elimination. 68786 68787 All layout tests pass. 68788 68789 * page/EventHandler.h: 68790 * page/mac/EventHandlerMac.mm: 68791 * page/mac/WebCoreFrameBridge.h: 68792 * page/mac/WebCoreFrameBridge.mm: 68793 68794 2007-01-04 Adam Roben <aroben (a] apple.com> 68795 68796 Reviewed by Geoff. 68797 68798 Fix: <rdar://4800335> REGRESSION: shift-tabbing from location field 68799 goes to first field rather than last (businessweek.com) 68800 68801 Fix: <rdar://4800373> REGRESSION: tabbing from last control focuses 68802 nothing visible (busniessweek.com) 68803 68804 Handle tabbing into/out of subframes in WebCore instead of letting 68805 AppKit do the dirty work. This change also fixes a number of bugs and 68806 changes some behavior to match other browsers: 68807 - No frames receive a focus event when the page is first loaded. 68808 - When a frame is clicked or focused with the keyboard, it receives 68809 a focus event and all other frames receive a blur event. 68810 - tabindex values are clamped to the range of a signed short, rather 68811 than overflowing within an unsigned short. 68812 - tabindex is respected on frame owner elements, even though HTML4 68813 says it shouldn't be. 68814 - Subframes will be focused when tabbing if they don't contain any 68815 focusable elements within them (it would be nice to only focus the 68816 frame if it has scrollbars). 68817 68818 Renamed SelectionDirection to FocusDirection and put it in its own file. 68819 68820 * page/FocusDirection.h: Added. 68821 (WebCore::): 68822 * page/mac/WebCoreFrameBridge.mm: Updated for renames. 68823 (-[WebCoreFrameBridge nextKeyView]): 68824 (-[WebCoreFrameBridge previousKeyView]): 68825 (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]): 68826 (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]): 68827 68828 Moved advanceFocus from EventHandler to FocusController and added 68829 support for moving into/out of subframes.. 68830 68831 * page/EventHandler.cpp: Moved advanceFocus to FocusController. 68832 * page/EventHandler.h: Ditto. 68833 * page/FocusController.cpp: 68834 (WebCore::deepFocusableNode): Static helper function to find focusable 68835 nodes nested within frames. 68836 (WebCore::FocusController::advanceFocus): Moved from EventHandler and 68837 rewritten to handle subframes. 68838 * page/FocusController.h: Added advanceFocus declaration. 68839 * dom/EventTargetNode.cpp: 68840 (WebCore::EventTargetNode::defaultEventHandler): Updated for the move 68841 of advanceFocus to FocusController. 68842 * html/HTMLFrameOwnerElement.h: 68843 (WebCore::HTMLFrameOwnerElement::isFrameOwnerElement): New method. 68844 (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable): New virtual 68845 implementation used to trick Document::nextFocusableNode so that we 68846 can focus frames. 68847 68848 Rewrote/renamed 68849 Document::nextFocusableNode/Document::previousFocusableNode. 68850 68851 * dom/Document.cpp: 68852 (WebCore::nextNodeWithExactTabIndex): New static helper 68853 function. 68854 (WebCore::previousNodeWithExactTabIndex): Ditto. 68855 (WebCore::nextNodeWithGreaterTabIndex): Ditto. 68856 (WebCore::previousNodeWithLowerTabIndex): Ditto. 68857 (WebCore::Document::nextFocusableNode): Renamed from nextFocusedNode, 68858 and rewritten with much simpler logic. 68859 (WebCore::Document::previousFocusableNode): Ditto. 68860 * dom/Document.h: Updated declarations for renames. 68861 * page/mac/EventHandlerMac.mm: Updated for rename of SelectionDirection 68862 to FocusDirection. 68863 (WebCore::EventHandler::nextKeyViewInFrame): Updated for renames. 68864 (WebCore::EventHandler::nextKeyViewInFrameHierarchy): Ditto. 68865 (WebCore::EventHandler::nextKeyView): Ditto. 68866 (WebCore::EventHandler::focusDocumentView): Added call to 68867 setFocusedFrame when focusing the document view. 68868 (WebCore::EventHandler::passMouseDownEventToWidget): Removed LOG_ERROR 68869 when a nil NSView is returned from AppKit, as this is a fairly common 68870 occurrence when a RenderWidget has a border. 68871 (WebCore::EventHandler::passWheelEventToWidget): Added a nil-check of 68872 the hit-tested NSView. 68873 68874 Changed storage of tabIndex to a signed short, and added clamping of 68875 tabindex attribute values to match Firefox's behavior. 68876 68877 * dom/Node.h: Use a signed short to store m_tabIndex. 68878 (WebCore::Node::isFrameOwnerElement): New method. 68879 (WebCore::Node::tabIndex): Updated for signedness. 68880 (WebCore::Node::setTabIndex): Ditto. 68881 * html/HTMLAnchorElement.cpp: Remove implementation of tabIndex() so 68882 that Node::tabIndex() will be called instead and return the clamped 68883 value (which matches Firefox's behavior). 68884 * html/HTMLAnchorElement.h: Ditto. 68885 * html/HTMLAreaElement.cpp: Ditto. 68886 * html/HTMLAreaElement.h: Ditto. 68887 * html/HTMLGenericFormElement.cpp: Ditto. 68888 * html/HTMLGenericFormElement.h: Ditto. 68889 * html/HTMLObjectElement.cpp: Ditto. 68890 * html/HTMLObjectElement.h: Ditto. 68891 * html/HTMLElement.cpp: 68892 (WebCore::HTMLElement::parseMappedAttribute): Clamp tabIndex to the 68893 range of a signed short to match Firefox. 68894 68895 Added two new Chrome methods for transferring focus out of the 68896 WebView. 68897 68898 * page/Chrome.cpp: 68899 (WebCore::Chrome::canTakeFocus): 68900 (WebCore::Chrome::takeFocus): 68901 * page/Chrome.h: 68902 * page/ChromeClient.h: 68903 * platform/graphics/svg/SVGImageEmptyClients.h: Fixed typo "CromeClient" -> "ChromeClient". 68904 (WebCore::SVGEmptyChromeClient::~SVGEmptyChromeClient): 68905 (WebCore::SVGEmptyChromeClient::canTakeFocus): 68906 (WebCore::SVGEmptyChromeClient::takeFocus): 68907 * platform/graphics/svg/SVGImage.cpp: 68908 (WebCore::SVGImage::setData): Fixed typo. 68909 68910 Miscellaneous: 68911 68912 * WebCore.exp: Updated/sorted symbols. 68913 * WebCore.xcodeproj/project.pbxproj: Made FocusController.h Private so 68914 WebKit can access it. 68915 68916 2007-01-04 Brady Eidson <beidson (a] apple.com> 68917 68918 Reverted Anders' change to fix the world 68919 68920 * loader/mac/ResourceLoaderMac.mm: 68921 (WebCore::ResourceLoader::willSendRequest): 68922 (WebCore::ResourceLoader::didReceiveResponse): 68923 68924 2007-01-04 Mitz Pettel <mitz (a] webkit.org> 68925 68926 Reviewed by Sam Weinig. 68927 68928 - http://bugs.webkit.org/show_bug.cgi?id=12078 68929 Clean up RenderTable* 68930 68931 - Coding style cleanup. 68932 - Canceled AutoTableLayout and FixedTableLayout being friend classes of 68933 RenderTable. Instead, added public accessors to RenderTable for what 68934 the table layout classes need and changed TableLayout::calcMinMaxWidth() 68935 to take references to the caller's min and max widths. 68936 - Made RenderTableSection's grid protected and moved code that accessed it 68937 from RenderTable into RenderTableSection. 68938 68939 No test possible (no change to functionality). 68940 68941 * rendering/AutoTableLayout.cpp: 68942 (WebCore::AutoTableLayout::calcMinMaxWidth): 68943 (WebCore::AutoTableLayout::layout): 68944 * rendering/AutoTableLayout.h: 68945 * rendering/FixedTableLayout.cpp: 68946 (WebCore::FixedTableLayout::calcWidthArray): 68947 (WebCore::FixedTableLayout::calcMinMaxWidth): 68948 (WebCore::FixedTableLayout::layout): 68949 * rendering/FixedTableLayout.h: 68950 * rendering/RenderTable.cpp: 68951 (WebCore::RenderTable::RenderTable): 68952 (WebCore::RenderTable::~RenderTable): 68953 (WebCore::RenderTable::setStyle): 68954 (WebCore::RenderTable::addChild): 68955 (WebCore::RenderTable::calcWidth): 68956 (WebCore::RenderTable::layout): 68957 (WebCore::RenderTable::setCellWidths): 68958 (WebCore::RenderTable::paint): 68959 (WebCore::RenderTable::paintBoxDecorations): 68960 (WebCore::RenderTable::calcMinMaxWidth): 68961 (WebCore::RenderTable::splitColumn): Factored out the section work 68962 to RenderTableSection::splitColumn(). 68963 (WebCore::RenderTable::appendColumn): Factored out the section work 68964 to RenderTableSection::appendColumn(). 68965 (WebCore::RenderTable::colElement): 68966 (WebCore::RenderTable::recalcSections): 68967 (WebCore::RenderTable::removeChildNode): 68968 (WebCore::RenderTable::calcBorderLeft): 68969 (WebCore::RenderTable::calcBorderRight): 68970 (WebCore::RenderTable::outerBorderTop): 68971 (WebCore::RenderTable::outerBorderBottom): 68972 (WebCore::RenderTable::outerBorderLeft): 68973 (WebCore::RenderTable::outerBorderRight): 68974 (WebCore::RenderTable::sectionAbove): 68975 (WebCore::RenderTable::sectionBelow): 68976 (WebCore::RenderTable::cellAbove): 68977 (WebCore::RenderTable::cellBelow): 68978 (WebCore::RenderTable::cellBefore): 68979 (WebCore::RenderTable::getOverflowClipRect): 68980 (WebCore::RenderTable::dump): 68981 * rendering/RenderTable.h: 68982 (WebCore::RenderTable::getColumnPos): 68983 (WebCore::RenderTable::hBorderSpacing): 68984 (WebCore::RenderTable::vBorderSpacing): 68985 (WebCore::RenderTable::getRules): 68986 (WebCore::RenderTable::cellPadding): 68987 (WebCore::RenderTable::setCellPadding): 68988 (WebCore::RenderTable::ColumnStruct::ColumnStruct): 68989 (WebCore::RenderTable::columns): Added this accessor. 68990 (WebCore::RenderTable::columnPositions): Added this accessor. 68991 (WebCore::RenderTable::header): 68992 (WebCore::RenderTable::footer): 68993 (WebCore::RenderTable::firstBody): 68994 (WebCore::RenderTable::numEffCols): 68995 (WebCore::RenderTable::spanOfEffCol): 68996 (WebCore::RenderTable::colToEffCol): 68997 (WebCore::RenderTable::effColToCol): 68998 (WebCore::RenderTable::bordersPaddingAndSpacing): 68999 (WebCore::RenderTable::needsSectionRecalc): 69000 (WebCore::RenderTable::setNeedsSectionRecalc): Renamed setNeedSectionRecalc() 69001 to this. 69002 (WebCore::RenderTable::hasSections): 69003 (WebCore::RenderTable::recalcSectionsIfNeeded): 69004 * rendering/RenderTableCell.cpp: 69005 (WebCore::RenderTableCell::RenderTableCell): 69006 (WebCore::RenderTableCell::destroy): 69007 (WebCore::RenderTableCell::updateFromElement): 69008 (WebCore::RenderTableCell::styleOrColWidth): 69009 (WebCore::RenderTableCell::computeAbsoluteRepaintRect): 69010 (WebCore::RenderTableCell::absolutePosition): 69011 (WebCore::RenderTableCell::baselinePosition): 69012 (WebCore::RenderTableCell::setStyle): 69013 (WebCore::compareBorders): 69014 (WebCore::RenderTableCell::collapsedTopBorder): 69015 (WebCore::RenderTableCell::paint): 69016 (WebCore::collapsedBorderStyle): 69017 (WebCore::CollapsedBorder::CollapsedBorder): 69018 (WebCore::CollapsedBorders::CollapsedBorders): 69019 (WebCore::CollapsedBorders::addBorder): 69020 (WebCore::CollapsedBorders::nextBorder): 69021 (WebCore::RenderTableCell::paintCollapsedBorder): 69022 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 69023 (WebCore::RenderTableCell::paintBoxDecorations): 69024 (WebCore::RenderTableCell::dump): 69025 * rendering/RenderTableCell.h: 69026 (WebCore::RenderTableCell::colSpan): 69027 (WebCore::RenderTableCell::setColSpan): 69028 (WebCore::RenderTableCell::rowSpan): 69029 (WebCore::RenderTableCell::setRowSpan): 69030 (WebCore::RenderTableCell::col): 69031 (WebCore::RenderTableCell::setCol): 69032 (WebCore::RenderTableCell::row): 69033 (WebCore::RenderTableCell::setRow): 69034 (WebCore::RenderTableCell::section): 69035 (WebCore::RenderTableCell::table): 69036 (WebCore::RenderTableCell::yPos): 69037 (WebCore::RenderTableCell::setCellTopExtra): 69038 (WebCore::RenderTableCell::setCellBottomExtra): 69039 (WebCore::RenderTableCell::borderTopExtra): 69040 (WebCore::RenderTableCell::borderBottomExtra): 69041 * rendering/RenderTableRow.cpp: 69042 (WebCore::RenderTableRow::destroy): 69043 (WebCore::RenderTableRow::setStyle): 69044 (WebCore::RenderTableRow::addChild): 69045 (WebCore::RenderTableRow::layout): 69046 (WebCore::RenderTableRow::getAbsoluteRepaintRect): 69047 (WebCore::RenderTableRow::paint): 69048 * rendering/RenderTableRow.h: 69049 (WebCore::RenderTableRow::section): 69050 (WebCore::RenderTableRow::table): 69051 (WebCore::RenderTableRow::lineHeight): 69052 * rendering/RenderTableSection.cpp: 69053 (WebCore::RenderTableSection::RenderTableSection): 69054 (WebCore::RenderTableSection::destroy): 69055 (WebCore::RenderTableSection::setStyle): 69056 (WebCore::RenderTableSection::addChild): 69057 (WebCore::RenderTableSection::ensureRows): 69058 (WebCore::RenderTableSection::addCell): 69059 (WebCore::RenderTableSection::setCellWidths): 69060 (WebCore::RenderTableSection::calcRowHeight): 69061 (WebCore::RenderTableSection::layoutRows): 69062 (WebCore::RenderTableSection::lowestPosition): 69063 (WebCore::RenderTableSection::rightmostPosition): 69064 (WebCore::RenderTableSection::leftmostPosition): 69065 (WebCore::RenderTableSection::calcOuterBorderTop): 69066 (WebCore::RenderTableSection::calcOuterBorderBottom): 69067 (WebCore::RenderTableSection::calcOuterBorderLeft): 69068 (WebCore::RenderTableSection::calcOuterBorderRight): 69069 (WebCore::RenderTableSection::paint): 69070 (WebCore::RenderTableSection::recalcCells): 69071 (WebCore::RenderTableSection::clearGrid): 69072 (WebCore::RenderTableSection::numColumns): 69073 (WebCore::RenderTableSection::appendColumn): Added. Moved code from 69074 RenderTable::appendColumn() into here. 69075 (WebCore::RenderTableSection::splitColumn): Added. Moved code from 69076 RenderTable::splitColumn() into here. 69077 (WebCore::RenderTableSection::removeChildNode): 69078 (WebCore::RenderTableSection::dump): 69079 * rendering/RenderTableSection.h: 69080 (WebCore::RenderTableSection::renderName): 69081 (WebCore::RenderTableSection::isTableSection): 69082 (WebCore::RenderTableSection::lineHeight): 69083 (WebCore::RenderTableSection::table): 69084 (WebCore::RenderTableSection::cellAt): 69085 (WebCore::RenderTableSection::numRows): 69086 (WebCore::RenderTableSection::recalcCellsIfNeeded): 69087 (WebCore::RenderTableSection::needsCellRecalc): 69088 (WebCore::RenderTableSection::setNeedsCellRecalc): 69089 (WebCore::RenderTableSection::getBaseline): 69090 * rendering/TableLayout.h: 69091 69092 2007-01-04 Anders Carlsson <acarlsson (a] apple.com> 69093 69094 Reviewed by Adam. 69095 69096 http://bugs.webkit.org/show_bug.cgi?id=12120 69097 REGRESSION(r18605): Safari snippet editor no longer works 69098 69099 * loader/mac/ResourceLoaderMac.mm: 69100 (WebCore::ResourceLoader::willSendRequest): 69101 Fix logic so applewebdata: URLs no longer cause the underlying URL to be fetched . 69102 69103 2007-01-04 Anders Carlsson <acarlsson (a] apple.com> 69104 69105 Reviewed by Adam. 69106 69107 Move all remaining instances of NSURLRequest over to ResourceRequest (well, pretty much all). 69108 69109 * loader/MainResourceLoader.h: 69110 * loader/ResourceLoader.h: 69111 * loader/SubresourceLoader.h: 69112 * loader/mac/FrameLoaderMac.mm: 69113 (WebCore::FrameLoader::startLoadingMainResource): 69114 * loader/mac/MainResourceLoaderMac.mm: 69115 (WebCore::MainResourceLoader::loadNow): 69116 (WebCore::MainResourceLoader::load): 69117 (WebCore::MainResourceLoader::setDefersLoading): 69118 * loader/mac/ResourceLoaderMac.mm: 69119 (WebCore::ResourceLoader::load): 69120 * loader/mac/SubresourceLoaderMac.mm: 69121 (WebCore::SubresourceLoader::load): 69122 (WebCore::SubresourceLoader::create): 69123 * platform/graphics/svg/SVGImage.cpp: 69124 (WebCore::SVGImage::setData): 69125 * platform/network/mac/ResourceRequestMac.mm: 69126 (WebCore::ResourceRequest::doUpdatePlatformRequest): 69127 69128 2007-01-04 Anders Carlsson <acarlsson (a] apple.com> 69129 69130 Reviewed by Brady. 69131 69132 Move more NSURLRequests over to ResourceRequests. 69133 69134 * loader/DocumentLoader.h: 69135 * loader/FrameLoader.h: 69136 * loader/FrameLoaderClient.h: 69137 * loader/MainResourceLoader.h: 69138 * loader/ResourceLoader.h: 69139 (WebCore::ResourceLoader::request): 69140 * loader/SubresourceLoader.h: 69141 * loader/mac/FrameLoaderMac.mm: 69142 (WebCore::FrameLoader::willSendRequest): 69143 (WebCore::FrameLoader::opened): 69144 (WebCore::FrameLoader::requestFromDelegate): 69145 (WebCore::FrameLoader::loadedResourceFromMemoryCache): 69146 (WebCore::FrameLoader::loadResourceSynchronously): 69147 * loader/mac/MainResourceLoaderMac.mm: 69148 (WebCore::MainResourceLoader::willSendRequest): 69149 (WebCore::MainResourceLoader::continueAfterContentPolicy): 69150 (WebCore::MainResourceLoader::loadNow): 69151 (WebCore::MainResourceLoader::setDefersLoading): 69152 * loader/mac/ResourceLoaderMac.mm: 69153 (WebCore::ResourceLoader::load): 69154 (WebCore::ResourceLoader::willSendRequest): 69155 (WebCore::ResourceLoader::didReceiveResponse): 69156 (WebCore::ResourceLoader::cancelledError): 69157 * loader/mac/SubresourceLoaderMac.mm: 69158 (WebCore::SubresourceLoader::willSendRequest): 69159 * platform/graphics/svg/SVGImageEmptyClients.h: 69160 (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest): 69161 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): 69162 * platform/network/ResourceRequest.cpp: 69163 (WebCore::ResourceRequest::isNull): 69164 * platform/network/ResourceRequest.h: 69165 69166 2007-01-04 Brady Eidson <beidson (a] apple.com> 69167 69168 Reviewed by Mark Rowe 69169 69170 http://bugs.webkit.org/show_bug.cgi?id=12119 69171 Changing the behavior of HistoryItem::pageCache() this morning also necessitated 69172 changing the behavior of HistoryItem::hasPageCache() 69173 69174 * history/HistoryItem.cpp: 69175 (WebCore::HistoryItem::hasPageCache): Add the same pendingRelease check pageCache() has 69176 69177 2007-01-04 Mitz Pettel <mitz (a] webkit.org> 69178 69179 Reviewed by Sam Weinig. 69180 69181 - fix http://bugs.webkit.org/show_bug.cgi?id=12043 69182 Another assertion failure in WebCore::RenderObject::drawBorder 69183 69184 Test: fast/borders/border-radius-huge-assert.html 69185 69186 * platform/graphics/cg/GraphicsContextCG.cpp: 69187 (WebCore::GraphicsContext::addRoundedRectClip): Fixed the check for border radii 69188 that do not fit in the given width or height to work with radii that sum up to 69189 more than MAX_INT. 69190 * rendering/RenderObject.cpp: 69191 (WebCore::RenderObject::paintBorder): Ditto. 69192 69193 2007-01-04 Justin Garcia <justin.garcia (a] apple.com> 69194 69195 Reviewed by john 69196 69197 <rdar://problem/4861080> 69198 GMail Editor: Crash when dropping content into certain list items 69199 69200 A rendering bug (4907469) creates unwanted space at the top of a 69201 list item when its contents are wrapped in span. Dropping content 69202 inside that space causes a crash because positionForCoordinates 69203 fails there and the code that creates drag carets can't handle it. 69204 69205 * page/mac/WebCoreFrameBridge.mm: 69206 (-[WebCoreFrameBridge _visiblePositionForPoint:]): Added the 69207 that's inside click handling for the case where 69208 positionForCoordinates returns null. We should also fix 69209 positionForCoordinates but that's less important: now its only side 69210 effect is that a no-op drop is performed instead of a snap back 69211 when you drop the contents of one of these list items its own 69212 unwanted space. 69213 69214 2007-01-04 Beth Dakin <bdakin (a] apple.com> 69215 69216 Reviewed by Adam. 69217 69218 Fix for http://bugs.webkit.org/show_bug.cgi?id=12118 REGRESSION 69219 (Context menus): No context menu displayed when clicking outside a 69220 short document 69221 69222 No test case added since we do not currently have a way to automate 69223 context menus. 69224 69225 * page/ContextMenuController.cpp: 69226 (WebCore::ContextMenuController::handleContextMenuEvent): If the 69227 hit test does not find a node, use the document node. 69228 69229 2007-01-04 Anders Carlsson <acarlsson (a] apple.com> 69230 69231 Reviewed by Adam. 69232 69233 Convert NSURLRequest to ResourceRequest in a few places 69234 69235 * loader/FrameLoader.h: 69236 * loader/FrameLoaderClient.h: 69237 * loader/MainResourceLoader.h: 69238 * loader/mac/FrameLoaderMac.mm: 69239 (WebCore::FrameLoader::identifierForInitialRequest): 69240 (WebCore::FrameLoader::willUseArchive): 69241 * loader/mac/MainResourceLoaderMac.mm: 69242 (WebCore::MainResourceLoader::isPostOrRedirectAfterPost): 69243 * platform/graphics/svg/SVGImageEmptyClients.h: 69244 (WebCore::SVGEmptyFrameLoaderClient::download): 69245 (WebCore::SVGEmptyFrameLoaderClient::willUseArchive): 69246 69247 2007-01-04 David Hyatt <hyatt (a] apple.com> 69248 69249 Bug 12114 fix, make sure left/right floats are allowed to go above 69250 other floats of opposite alignment. 69251 69252 Reviewed by aroben 69253 69254 fast/block/float/independent-align-positioning.html 69255 69256 * rendering/RenderBlock.cpp: 69257 (WebCore::RenderBlock::positionNewFloats): 69258 69259 2007-01-04 Anders Carlsson <acarlsson (a] apple.com> 69260 69261 Reviewed by Brady. 69262 69263 http://bugs.webkit.org/show_bug.cgi?id=12116 69264 REGRESSION: ASSERTION FAILED: URL in +[WebDataProtocol _webIsDataProtocolURL:] 69265 69266 <rdar://problem/4908910> 69267 REGRESSION: After switching to Bookmarks view, the browser window is completely empty (no bookmarks are displayed) 69268 69269 * platform/network/ResourceResponse.h: 69270 (WebCore::ResourceResponse::ResourceResponse): 69271 Initialize m_isNull 69272 69273 2007-01-04 Beth Dakin <bdakin (a] apple.com> 69274 69275 Reviewed by Adam. 69276 69277 Turn on WebCore context menus. 69278 69279 * dom/EventTargetNode.cpp: 69280 (WebCore::EventTargetNode::defaultEventHandler): Turn on WebCore 69281 menus. 69282 * page/ContextMenuClient.h: Name change and have the 69283 former getCustomMenuFromDefaultItems function return the 69284 PlatformMenuDescription since it feels funny to have the client set 69285 the new platform description. 69286 * page/ContextMenuController.cpp: 69287 (WebCore::ContextMenuController::handleContextMenuEvent): Above 69288 name change. 69289 (WebCore::ContextMenuController::contextMenuItemSelected): Use 69290 local variable. 69291 * platform/ContextMenu.cpp: 69292 (WebCore::createAndAppendSpeechSubMenu): Fix silly mistake -- make 69293 "Stop speaking" actually stop speaking. 69294 * platform/graphics/svg/SVGImageEmptyClients.h: Name change and 69295 have the former getCustomMenuFromDefaultItems function return the 69296 PlatformMenuDescription since it feels funny to have the client set 69297 the new platform description. 69298 (WebCore::SVGEmptyContextMenuClient::getCustomMenuFromDefaultItems): 69299 69300 2007-01-04 Mitz Pettel <mitz (a] webkit.org> 69301 69302 Reviewed and landed by Brady 69303 69304 - fix http://bugs.webkit.org/show_bug.cgi?id=12087 69305 REGRESSION: Reproducible crash going back in Back/Forward history 69306 69307 Allow a PageCache that is pending release to be resurrected by its 69308 HistoryItem instead of creating a new PageCache. This avoids the 69309 the condition of having two PageCaches for the same HistoryItem, one 69310 current and one pending release but not yet released, which was causing 69311 this and other bugs before. 69312 69313 Replaced the vector of PageCaches pending release with a set of 69314 HistoryItems that are pending release of their PageCache. 69315 69316 * history/HistoryItem.cpp: 69317 (WebCore::HistoryItem::HistoryItem): 69318 (WebCore::HistoryItem::setHasPageCache): Check for an existing PageCache 69319 pending release, and if found, resurrect it by canceling the release. 69320 (WebCore::HistoryItem::pageCache): Return 0 if the PageCache is pending 69321 release. 69322 (WebCore::itemsWithPendingPageCacheToRelease): Renamed pendingPageCacheToRelease 69323 to this. This method now returns a HashSet of HistoryItems that have scheduled 69324 their PageCaches for release. 69325 (WebCore::HistoryItem::releasePageCachesOrReschedule): Renamed releasePageCache 69326 to this. 69327 (WebCore::HistoryItem::releasePageCache): Added. Actually closes and releases 69328 the PageCache. 69329 (WebCore::HistoryItem::releaseAllPendingPageCaches): Rolled closeObjectsInPendingPageCaches 69330 into this method. 69331 (WebCore::HistoryItem::scheduleRelease): 69332 (WebCore::HistoryItem::cancelRelease): Added. 69333 * history/HistoryItem.h: Removed unused declaration of scheduleReleaseTimer() 69334 * history/HistoryItemTimer.cpp: 69335 (WebCore::HistoryItemTimer::HistoryItemTimer): 69336 (WebCore::HistoryItemTimer::callReleasePageCachesOrReschedule): 69337 * history/HistoryItemTimer.h: 69338 69339 2007-01-04 David Hyatt <hyatt (a] apple.com> 69340 69341 Just make the synthetic bold offset always be 1.0. This fixes bug 69342 9534, synthetic bold looks doubled. 69343 69344 Reviewed by olliej 69345 69346 * platform/mac/FontDataMac.mm: 69347 (WebCore::FontData::platformInit): 69348 69349 2007-01-04 Anders Carlsson <acarlsson (a] apple.com> 69350 69351 Reviewed by Brady. 69352 69353 Convert almost all occurrences of NSURLResponse to ResourceResponse. 69354 69355 * WebCore.exp: 69356 * loader/DocumentLoader.h: 69357 * loader/FrameLoader.h: 69358 * loader/FrameLoaderClient.h: 69359 * loader/MainResourceLoader.h: 69360 * loader/NetscapePlugInStreamLoader.h: 69361 * loader/ResourceLoader.h: 69362 * loader/SubresourceLoader.h: 69363 * loader/loader.h: 69364 * loader/mac/FrameLoaderMac.mm: 69365 (WebCore::FrameLoader::willSendRequest): 69366 (WebCore::FrameLoader::didReceiveResponse): 69367 (WebCore::FrameLoader::opened): 69368 (WebCore::FrameLoader::sendRemainingDelegateMessages): 69369 (WebCore::FrameLoader::loadedResourceFromMemoryCache): 69370 (WebCore::FrameLoader::loadResourceSynchronously): 69371 * loader/mac/LoaderFunctionsMac.mm: 69372 (WebCore::CheckCacheObjectStatus): 69373 * loader/mac/MainResourceLoaderMac.mm: 69374 (WebCore::MainResourceLoader::isPostOrRedirectAfterPost): 69375 (WebCore::MainResourceLoader::willSendRequest): 69376 (WebCore::MainResourceLoader::continueAfterContentPolicy): 69377 (WebCore::MainResourceLoader::didReceiveResponse): 69378 (WebCore::MainResourceLoader::loadNow): 69379 * loader/mac/NetscapePlugInStreamLoaderMac.mm: 69380 (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): 69381 * loader/mac/ResourceLoaderMac.mm: 69382 (WebCore::ResourceLoader::willSendRequest): 69383 (WebCore::ResourceLoader::didReceiveResponse): 69384 (WebCore::ResourceLoader::response): 69385 * loader/mac/SubresourceLoaderMac.mm: 69386 (WebCore::SubresourceLoader::willSendRequest): 69387 (WebCore::SubresourceLoader::didReceiveResponse): 69388 * platform/graphics/svg/SVGImageEmptyClients.h: 69389 (WebCore::SVGEmptyFrameLoaderClient::download): 69390 (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest): 69391 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveResponse): 69392 (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): 69393 (WebCore::SVGEmptyFrameLoaderClient::incrementProgress): 69394 * platform/network/ResourceHandle.h: 69395 * platform/network/ResourceHandleClient.h: 69396 * platform/network/ResourceResponse.cpp: 69397 (WebCore::ResourceResponse::isHTTP): 69398 * platform/network/ResourceResponse.h: 69399 (WebCore::ResourceResponse::ResourceResponse): 69400 (WebCore::ResourceResponse::isNull): 69401 * platform/network/mac/ResourceResponseMac.mm: 69402 (WebCore::ResourceResponse::nsURLResponse): 69403 (WebCore::ResourceResponse::doUpdateResourceResponse): 69404 69405 2007-01-03 Adele Peterson <adele (a] apple.com> 69406 69407 Reviewed by Darin. 69408 69409 - Fix for <rdar://problem/4887422> 69410 http://bugs.webkit.org/show_bug.cgi?id=11848 69411 REGRESSION (SearchField): Search field on developer.apple.com not drawn with top/bottom borders (11848) 69412 69413 Test: fast/forms/searchfield-heights.html 69414 69415 Override the border and the height for search fields that use -webkit-appearance: searchfield. 69416 69417 * css/html4.css: Use box-sizing: border-box for search fields. We don't need to have the border-box quirk 69418 that we use for the other text fields for this control. 69419 * rendering/RenderThemeMac.h: 69420 * rendering/RenderThemeMac.mm: 69421 (WebCore::RenderThemeMac::searchFieldSizes): Added. 69422 (WebCore::RenderThemeMac::setSearchFieldSize): Added. 69423 (WebCore::RenderThemeMac::adjustSearchFieldStyle): Override the border and the height of the search field. 69424 69425 2007-01-04 Lars Knoll <lars (a] trolltech.com> 69426 69427 * platform/qt/TemporaryLinkStubs.cpp: 69428 (WebCore::inputElementAltText): 69429 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 69430 (WebCore::contextMenuItemTagDownloadLinkToDisk): 69431 (WebCore::contextMenuItemTagCopyLinkToClipboard): 69432 (WebCore::contextMenuItemTagOpenImageInNewWindow): 69433 (WebCore::contextMenuItemTagDownloadImageToDisk): 69434 (WebCore::contextMenuItemTagCopyImageToClipboard): 69435 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 69436 (WebCore::contextMenuItemTagCopy): 69437 (WebCore::contextMenuItemTagGoBack): 69438 (WebCore::contextMenuItemTagGoForward): 69439 (WebCore::contextMenuItemTagStop): 69440 (WebCore::contextMenuItemTagReload): 69441 (WebCore::contextMenuItemTagCut): 69442 (WebCore::contextMenuItemTagPaste): 69443 (WebCore::contextMenuItemTagNoGuessesFound): 69444 (WebCore::contextMenuItemTagIgnoreSpelling): 69445 (WebCore::contextMenuItemTagLearnSpelling): 69446 (WebCore::contextMenuItemTagSearchWeb): 69447 (WebCore::contextMenuItemTagLookUpInDictionary): 69448 (WebCore::contextMenuItemTagOpenLink): 69449 (WebCore::contextMenuItemTagIgnoreGrammar): 69450 (WebCore::contextMenuItemTagSpellingMenu): 69451 (WebCore::contextMenuItemTagShowSpellingPanel): 69452 (WebCore::contextMenuItemTagCheckSpelling): 69453 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 69454 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 69455 (WebCore::contextMenuItemTagFontMenu): 69456 (WebCore::contextMenuItemTagBold): 69457 (WebCore::contextMenuItemTagItalic): 69458 (WebCore::contextMenuItemTagUnderline): 69459 (WebCore::contextMenuItemTagOutline): 69460 (WebCore::contextMenuItemTagWritingDirectionMenu): 69461 (WebCore::contextMenuItemTagDefaultDirection): 69462 (WebCore::contextMenuItemTagLeftToRight): 69463 (WebCore::contextMenuItemTagRightToLeft): 69464 Added missing stubs. 69465 69466 2007-01-04 Peter Kasting <pkasting (a] google.com> 69467 69468 Reviewed by Alexey. 69469 69470 http://bugs.webkit.org/show_bug.cgi?id=11900: 69471 Windows build bustage 69472 69473 * WebCore.vcproj/WebCore/WebCore.vcproj: 69474 * bridge/win/FrameWin.cpp: 69475 (WebCore::FrameWin::FrameWin): 69476 * platform/graphics/BitmapImage.h: 69477 * platform/graphics/GraphicsContext.cpp: 69478 (WebCore::GraphicsContext::setPlatformStrokeColor): 69479 * platform/graphics/Image.h: 69480 * platform/graphics/cairo/GraphicsContextCairo.cpp: 69481 (WebCore::GraphicsContext::drawRect): 69482 (WebCore::adjustLineToPixelBoundaries): 69483 (WebCore::GraphicsContext::drawLine): 69484 (WebCore::GraphicsContext::drawEllipse): 69485 (WebCore::GraphicsContext::strokeArc): 69486 (WebCore::GraphicsContext::drawConvexPolygon): 69487 * platform/graphics/cairo/ImageCairo.cpp: 69488 (WebCore::BitmapImage::checkForSolidColor): 69489 (WebCore::BitmapImage::draw): 69490 (WebCore::BitmapImage::drawTiled): 69491 * platform/graphics/win/ImageWin.cpp: 69492 (WebCore::BitmapImage::initPlatformData): 69493 (WebCore::BitmapImage::invalidatePlatformData): 69494 (WebCore::Image::loadPlatformResource): 69495 * platform/win/FontWin.cpp: 69496 (WebCore::Font::drawGlyphs): 69497 * platform/win/TemporaryLinkStubs.cpp: 69498 (WebCore::userIdleTime): 69499 (WebCore::BitmapImage::drawTiled): 69500 (WebCore::BitmapImage::getHBITMAP): 69501 (WebCore::ContextMenu::~ContextMenu): 69502 (WebCore::ContextMenu::appendItem): 69503 (WebCore::ContextMenuItem::ContextMenuItem): 69504 (WebCore::ContextMenuItem::releasePlatformDescription): 69505 (WebCore::ContextMenuItem::type): 69506 (WebCore::ContextMenuItem::setType): 69507 (WebCore::ContextMenuItem::setAction): 69508 (WebCore::ContextMenuItem::setTitle): 69509 (WebCore::ContextMenuItem::setSubMenu): 69510 (WebCore::ContextMenuItem::setChecked): 69511 (WebCore::ContextMenuItem::setEnabled): 69512 (WebCore::DocumentLoader::originalRequest): 69513 (WebCore::DocumentLoader::request): 69514 (WebCore::DocumentLoader::unreachableURL): 69515 (WebCore::DocumentLoader::getResponseRefreshAndModifiedHeaders): 69516 (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll): 69517 (WebCore::DocumentLoader::setCommitted): 69518 (WebCore::DocumentLoader::isLoading): 69519 (WebCore::DocumentLoader::prepareForLoadStart): 69520 (WebCore::DocumentLoader::isClientRedirect): 69521 (WebCore::DocumentLoader::title): 69522 (WebCore::DocumentLoader::urlForHistory): 69523 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 69524 (WebCore::FrameLoader::load): 69525 (WebCore::FrameLoader::referrer): 69526 (WebCore::FrameLoader::dataURLBaseFromRequest): 69527 (WebCore::FrameLoader::opened): 69528 (WebCore::FrameLoader::applyUserAgent): 69529 (WebCore::GraphicsContext::strokeRect): 69530 (WebCore::IconDatabase::iconForPageURL): 69531 (WebCore::IconDatabase::defaultIcon): 69532 (WebCore::IconDatabase::retainIconForPageURL): 69533 (WebCore::IconDatabase::releaseIconForPageURL): 69534 (WebCore::PageCache::close): 69535 (WebCore::ResourceHandle::willLoadFromCache): 69536 (WebCore::SearchPopupMenu::saveRecentSearches): 69537 (WebCore::SearchPopupMenu::loadRecentSearches): 69538 (WebCore::SearchPopupMenu::SearchPopupMenu): 69539 69540 2007-01-04 Alexey Proskuryakov <ap (a] webkit.org> 69541 69542 Reviewed by Darin. 69543 69544 http://bugs.webkit.org/show_bug.cgi?id=11611 69545 REGRESSION: No http referer header sent on XMLHttpRequest 69546 69547 Test: http/tests/xmlhttprequest/referer.html 69548 69549 * loader/FrameLoader.h: Removed FrameLoader::addExtraFieldsToRequest(NSMutableURLRequest*, bool, bool), 69550 which is no longer used. 69551 * loader/mac/FrameLoaderMac.mm: Ditto. 69552 * WebCore.exp: Do not export this method (WebKit doesn't use it). 69553 69554 * loader/mac/SubresourceLoaderMac.mm: 69555 (WebCore::SubresourceLoader::create): Rewrote to create the request with ResourceRequest::nsURLRequest. 69556 69557 * platform/PlatformString.h: 69558 (WebCore::operator!): Added. Previously, attempts to use operator! on a String would result 69559 with an NSString* conversion, which never returns nil. This was causing a problem in SubresourceLoader::create(). 69560 69561 2007-01-04 Lars Knoll <lars (a] trolltech.com> 69562 69563 69564 Make the Qt build compile again. 69565 69566 * platform/ContextMenu.cpp: 69567 (WebCore::ContextMenu::populate): 69568 69569 2007-01-03 Mitz Pettel <mitz (a] webkit.org> 69570 69571 Reviewed by Hyatt. 69572 69573 - fix http://bugs.webkit.org/show_bug.cgi?id=5164 69574 Non-integer percentages are incorrectly rounded down in Safari 69575 69576 Test: fast/css/percentage-non-integer.html 69577 69578 Added floating point constructor and accessors to Length for use with 69579 Percent lengths only. The raw value of a percent length is the integer 69580 part of a constant multiple of the original double value. The constant 69581 is percentScaleFactor, which is currently 128. 69582 69583 Added assertions that the correct constructors and accessors are used 69584 depending on the type: the double-based percent(), setValue() and Length() 69585 for the Percent type, and the integer-based value(), setValue() and Length() 69586 for all other types. 69587 69588 calcValue() and calcMinValue() work the same as before, regardless of the 69589 type. 69590 69591 Added helpers for testing if the value is 0, positive, negative or undefined 69592 without having to check the type first. 69593 69594 Added raw value accessors. These are useful for doing integer math and 69595 comparisons with scaled percent values or doing Length type-agnostic math. 69596 69597 Changed the rest of the code to use the appropriate accessors and helpers. 69598 69599 * css/CSSComputedStyleDeclaration.cpp: 69600 (WebCore::valueForLength): 69601 (WebCore::primitiveValueFromLength): 69602 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 69603 * css/cssstyleselector.cpp: 69604 (WebCore::convertToLength): 69605 (WebCore::CSSStyleSelector::applyProperty): 69606 (WebCore::CSSStyleSelector::mapBackgroundSize): 69607 (WebCore::CSSStyleSelector::mapBackgroundXPosition): 69608 (WebCore::CSSStyleSelector::mapBackgroundYPosition): 69609 * platform/StringImpl.cpp: 69610 (WebCore::parseLength): 69611 * rendering/AutoTableLayout.cpp: 69612 (WebCore::AutoTableLayout::recalcColumn): 69613 (WebCore::AutoTableLayout::fullRecalc): 69614 (WebCore::AutoTableLayout::calcMinMaxWidth): 69615 (WebCore::AutoTableLayout::calcEffectiveWidth): 69616 (WebCore::AutoTableLayout::layout): 69617 (WebCore::AutoTableLayout::calcPercentages): 69618 * rendering/FixedTableLayout.cpp: 69619 (WebCore::FixedTableLayout::calcWidthArray): 69620 (WebCore::FixedTableLayout::layout): 69621 * rendering/Length.h: 69622 (WebCore::Length::Length): 69623 (WebCore::Length::value): 69624 (WebCore::Length::rawValue): 69625 (WebCore::Length::percent): 69626 (WebCore::Length::setValue): 69627 (WebCore::Length::setRawValue): 69628 (WebCore::Length::calcValue): 69629 (WebCore::Length::calcMinValue): 69630 (WebCore::Length::isUndefined): 69631 (WebCore::Length::isZero): 69632 (WebCore::Length::isPositive): 69633 (WebCore::Length::isNegative): 69634 * rendering/RenderBR.cpp: 69635 (WebCore::RenderBR::lineHeight): 69636 * rendering/RenderBlock.cpp: 69637 (WebCore::RenderBlock::isSelfCollapsingBlock): 69638 * rendering/RenderBox.cpp: 69639 (WebCore::cacluateBackgroundSize): 69640 (WebCore::RenderBox::calcWidth): 69641 (WebCore::RenderBox::calcHeight): 69642 (WebCore::RenderBox::calcReplacedWidth): 69643 (WebCore::RenderBox::calcReplacedHeight): 69644 (WebCore::RenderBox::calcAbsoluteHorizontal): 69645 (WebCore::RenderBox::calcAbsoluteVertical): 69646 * rendering/RenderFlexibleBox.cpp: 69647 (WebCore::RenderFlexibleBox::allowedChildFlex): 69648 * rendering/RenderFlow.cpp: 69649 (WebCore::RenderFlow::lineHeight): 69650 * rendering/RenderImage.cpp: 69651 (WebCore::RenderImage::calcReplacedWidth): 69652 (WebCore::RenderImage::calcReplacedHeight): 69653 * rendering/RenderLayer.cpp: 69654 (WebCore::Marquee::direction): 69655 (WebCore::Marquee::start): 69656 * rendering/RenderObject.cpp: 69657 (WebCore::RenderObject::mustRepaintBackgroundOrBorder): 69658 (WebCore::RenderObject::lineHeight): 69659 * rendering/RenderSlider.cpp: 69660 (WebCore::RenderSlider::layout): Added FIXMEs. 69661 * rendering/RenderStyle.h: 69662 (WebCore::LengthBox::nonZero): 69663 (WebCore::RenderStyle::initialLineHeight): 69664 * rendering/RenderTable.cpp: 69665 (WebCore::RenderTable::calcWidth): 69666 * rendering/RenderTableSection.cpp: 69667 (WebCore::RenderTableSection::addCell): 69668 (WebCore::RenderTableSection::layoutRows): 69669 69670 2007-01-03 Mitz Pettel <mitz (a] webkit.org> 69671 69672 Reviewed by Hyatt. 69673 69674 - fix http://bugs.webkit.org/show_bug.cgi?id=11744 69675 Setting the 'content' property dynamically has no effect 69676 69677 Test: fast/css/content-dynamic.html 69678 69679 * dom/Node.cpp: 69680 (WebCore::Node::diff): Changed to return 'Detach' if the styles' content 69681 data are not equivalent. 69682 69683 2007-01-03 Mitz Pettel <mitz (a] webkit.org> 69684 69685 Reviewed by Darin. 69686 69687 - fix http://bugs.webkit.org/show_bug.cgi?id=12082 69688 REGRESSION (r18333): Crash in RenderFrameSet::layOutAxis() 69689 69690 Test: fast/frames/negative-remaining-length-crash.html 69691 69692 * rendering/RenderFrameSet.cpp: 69693 (WebCore::RenderFrameSet::layOutAxis): Treat negative availableLength 69694 as zero. 69695 69696 2007-01-03 John Sullivan <sullivan (a] apple.com> 69697 69698 Written by Darin over my shoulder; reviewed by me 69699 69700 - fixed <rdar://problem/4907437> Find doesn't work if invoked when a form field is focused 69701 69702 * page/Frame.cpp: 69703 (WebCore::isInShadowTree): 69704 new helper function used by findString 69705 (WebCore::Frame::findString): 69706 when deciding whether to start from the selection, ignore selections that are in 69707 a shadow tree (i.e. in a form control) 69708 69709 2007-01-03 Brady Eidson <beidson (a] apple.com> 69710 69711 Reviewed by Mark Rowe 69712 69713 Fixes http://bugs.webkit.org/show_bug.cgi?id=12089 69714 69715 * loader/FrameLoader.cpp: 69716 (WebCore::FrameLoader::updateHistoryForCommit): Null check the documentLoader 69717 69718 2007-01-03 David Hyatt <hyatt (a] apple.com> 69719 69720 Relax the display type restriction a little bit for generated content inside 69721 inlines. We still don't allow block display types like we should (since this 69722 will cause a crash), but we at least handle inline-table and inline-block now. 69723 69724 Reviewed by beth 69725 69726 fast/css-generated-content/inline-display-types.html 69727 69728 * rendering/RenderContainer.cpp: 69729 (WebCore::RenderContainer::updatePseudoChildForObject): 69730 69731 2007-01-03 Justin Garcia <justin.garcia (a] apple.com> 69732 69733 Reviewed by john 69734 69735 <rdar://problem/4663571> Spell checking won't cross boundary of individual To-Do item 69736 69737 No layout tests because advanceToNextMisspelling isn't yet exposed to automated tests. 69738 69739 * editing/mac/EditorMac.mm: 69740 (WebCore::Editor::advanceToNextMisspelling): Confine spell checking to 69741 the highest editable root, instead of the lowest. Use firstEditablePosition... 69742 to look for an editable position. 69743 69744 2007-01-03 Beth Dakin <bdakin (a] apple.com> 69745 69746 Fixing silly mistake. 69747 69748 * platform/ContextMenu.cpp: 69749 (WebCore::ContextMenu::checkOrEnableIfNeeded): Called wrong string 69750 function. 69751 69752 2007-01-03 Brady Eidson <beidson (a] apple.com> 69753 69754 Reviewed by Anders 69755 69756 http://bugs.webkit.org/show_bug.cgi?id=12093 - Assertion in certain SVG layout tests 69757 I can't really think of a cleaner way to fix this then to help these SVG cases avoid 69758 the ASSERT - hopefully we can clean up the svg-as-image situation as the loader stabilizes 69759 and we find better ways to handle it... 69760 69761 * loader/mac/DocumentLoaderMac.mm: 69762 (WebCore::DocumentLoader::urlForHistory): empty-check the url before passing it to the 69763 ASSERTing method 69764 69765 2007-01-03 Darin Adler <darin (a] apple.com> 69766 69767 Reviewed by Adele. 69768 69769 - removed some obsolete source files 69770 69771 * CMakeLists.txt: Removed obsolete files. 69772 * WebCore.pro: Ditto. 69773 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto. 69774 * WebCore.xcodeproj/project.pbxproj: Ditto. 69775 * WebCoreSources.bkl: Ditto. 69776 69777 * html/HTMLGenericFormElement.h: Removed reference to RenderFormElement. 69778 69779 * platform/qt/ComboBoxQt.cpp: Removed. 69780 * platform/qt/LineEditQt.cpp: Removed. 69781 * platform/qt/ListBoxQt.cpp: Removed. 69782 * platform/qt/TextEditQt.cpp: Removed. 69783 * rendering/RenderFormElement.cpp: Removed. 69784 * rendering/RenderFormElement.h: Removed. 69785 * rendering/RenderLabel.cpp: Removed. 69786 * rendering/RenderLabel.h: Removed. 69787 69788 2007-01-03 Darin Adler <darin (a] apple.com> 69789 69790 Reviewed by Hyatt. 69791 69792 - fix bug where :after content appears backwards 69793 69794 Test: fast/css-generated-content/after-order.html 69795 69796 * rendering/RenderBlock.cpp: 69797 (WebCore::isAfterContent): Added. 69798 (WebCore::RenderBlock::addChildToFlow): Use isAfterContent. 69799 * rendering/RenderInline.cpp: 69800 (WebCore::isAfterContent): Added. 69801 (WebCore::RenderInline::addChildToFlow): Use isAfterContent. 69802 69803 2007-01-03 David Hyatt <hyatt (a] apple.com> 69804 69805 Implement box-shadow parsing... getting it all into the RenderStyle. 69806 69807 Reviewed by beth 69808 69809 * css/CSSComputedStyleDeclaration.cpp: 69810 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 69811 * css/CSSPropertyNames.in: 69812 * css/cssparser.cpp: 69813 (WebCore::CSSParser::parseValue): 69814 * css/cssstyleselector.cpp: 69815 (WebCore::CSSStyleSelector::applyProperty): 69816 * rendering/RenderStyle.cpp: 69817 (WebCore::StyleCSS3NonInheritedData::StyleCSS3NonInheritedData): 69818 (WebCore::StyleCSS3NonInheritedData::operator==): 69819 (WebCore::StyleCSS3NonInheritedData::shadowDataEquivalent): 69820 (WebCore::RenderStyle::diff): 69821 (WebCore::RenderStyle::setBoxShadow): 69822 * rendering/RenderStyle.h: 69823 (WebCore::RenderStyle::boxShadow): 69824 69825 2007-01-03 Beth Dakin <bdakin (a] apple.com> 69826 69827 Reviewed by John. 69828 69829 Call into WebKit to get localized strings for all of the context 69830 menu item titles. 69831 69832 * page/mac/WebCoreViewFactory.h: 69833 * platform/ContextMenu.cpp: 69834 (WebCore::createAndAppendFontSubMenu): 69835 (WebCore::createAndAppendSpellingAndGrammarSubMenu): 69836 (WebCore::createAndAppendSpellingSubMenu): 69837 (WebCore::createAndAppendSpeechSubMenu): 69838 (WebCore::createAndAppendWritingDirectionSubMenu): 69839 (WebCore::ContextMenu::populate): 69840 (WebCore::ContextMenu::checkOrEnableIfNeeded): 69841 * platform/LocalizedStrings.h: 69842 * platform/mac/LocalizedStringsMac.mm: 69843 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 69844 (WebCore::contextMenuItemTagDownloadLinkToDisk): 69845 (WebCore::contextMenuItemTagCopyLinkToClipboard): 69846 (WebCore::contextMenuItemTagOpenImageInNewWindow): 69847 (WebCore::contextMenuItemTagDownloadImageToDisk): 69848 (WebCore::contextMenuItemTagCopyImageToClipboard): 69849 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 69850 (WebCore::contextMenuItemTagCopy): 69851 (WebCore::contextMenuItemTagGoBack): 69852 (WebCore::contextMenuItemTagGoForward): 69853 (WebCore::contextMenuItemTagStop): 69854 (WebCore::contextMenuItemTagReload): 69855 (WebCore::contextMenuItemTagCut): 69856 (WebCore::contextMenuItemTagPaste): 69857 (WebCore::contextMenuItemTagNoGuessesFound): 69858 (WebCore::contextMenuItemTagIgnoreSpelling): 69859 (WebCore::contextMenuItemTagLearnSpelling): 69860 (WebCore::contextMenuItemTagSearchInSpotlight): 69861 (WebCore::contextMenuItemTagSearchWeb): 69862 (WebCore::contextMenuItemTagLookUpInDictionary): 69863 (WebCore::contextMenuItemTagOpenLink): 69864 (WebCore::contextMenuItemTagIgnoreGrammar): 69865 (WebCore::contextMenuItemTagSpellingMenu): 69866 (WebCore::contextMenuItemTagShowSpellingPanel): 69867 (WebCore::contextMenuItemTagCheckSpelling): 69868 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 69869 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 69870 (WebCore::contextMenuItemTagFontMenu): 69871 (WebCore::contextMenuItemTagShowFonts): 69872 (WebCore::contextMenuItemTagBold): 69873 (WebCore::contextMenuItemTagItalic): 69874 (WebCore::contextMenuItemTagUnderline): 69875 (WebCore::contextMenuItemTagOutline): 69876 (WebCore::contextMenuItemTagStyles): 69877 (WebCore::contextMenuItemTagShowColors): 69878 (WebCore::contextMenuItemTagSpeechMenu): 69879 (WebCore::contextMenuItemTagStartSpeaking): 69880 (WebCore::contextMenuItemTagStopSpeaking): 69881 (WebCore::contextMenuItemTagWritingDirectionMenu): 69882 (WebCore::contextMenuItemTagDefaultDirection): 69883 (WebCore::contextMenuItemTagLeftToRight): 69884 (WebCore::contextMenuItemTagRightToLeft): 69885 69886 2007-01-03 Brady Eidson <beidson (a] apple.com> 69887 69888 Reviewed by Darin and Geoff 69889 69890 http://bugs.webkit.org/show_bug.cgi?id=12105 - Crash visiting Acid2 test page 69891 -Replace lost "free nil checking" in the WebKit->WebCore conversion of the BackForwardList 69892 -Changed ::createItem and ::createItemTree to ::createHistoryItem and ::createHistoryItemTree 69893 69894 * loader/FrameLoader.cpp: 69895 (WebCore::FrameLoader::createHistoryItem): 69896 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): 69897 (WebCore::FrameLoader::createHistoryItemTree): 69898 (WebCore::FrameLoader::updateHistoryForInternalLoad): 69899 * loader/FrameLoader.h: 69900 69901 2007-01-03 Anders Carlsson <acarlsson (a] apple.com> 69902 69903 Reviewed by Geoff. 69904 69905 Allow plugin elements to handle off events to their widgets. 69906 69907 * html/HTMLPlugInElement.cpp: 69908 (WebCore::HTMLPlugInElement::defaultEventHandler): 69909 * html/HTMLPlugInElement.h: 69910 * platform/Widget.h: 69911 (WebCore::Widget::handleEvent): 69912 69913 2007-01-03 Lars Knoll <lars (a] trolltech.com> 69914 69915 Fix the Qt build 69916 69917 * WebCore.pro: 69918 * history/qt/PageCacheQt.cpp: Added. 69919 (WebCore::PageCache::close): 69920 * loader/qt/DocumentLoaderQt.cpp: 69921 (WebCore::DocumentLoader::getResponseRefreshAndModifiedHeaders): 69922 (WebCore::DocumentLoader::urlForHistory): 69923 * loader/qt/FrameLoaderQt.cpp: 69924 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 69925 (WebCore::FrameLoader::didFirstLayout): 69926 (WebCore::FrameLoader::load): 69927 (WebCore::FrameLoader::opened): 69928 (WebCore::FrameLoader::dataURLBaseFromRequest): 69929 (WebCore::FrameLoader::applyUserAgent): 69930 * platform/network/qt/ResourceHandleQt.cpp: 69931 (WebCore::ResourceHandle::loadsBlocked): 69932 (WebCore::ResourceHandle::willLoadFromCache): 69933 69934 2007-01-02 Brady Eidson <beidson (a] apple.com> 69935 69936 Reviewed extensively and repeatedly by Darin 69937 69938 <rdar://problem/4887137> - WebCore Back/Forward Cache 69939 69940 * WebCore.exp: 69941 * WebCore.xcodeproj/project.pbxproj: 69942 69943 * bridge/mac/WebCorePageState.h: Removed. 69944 * bridge/mac/WebCorePageState.mm: Removed. 69945 69946 * history/BackForwardList.cpp: Added - This largely emulates the design of WebBackForwardList 69947 (WebCore::BackForwardList::BackForwardList): 69948 (WebCore::BackForwardList::~BackForwardList): 69949 (WebCore::BackForwardList::addItem): 69950 (WebCore::BackForwardList::goBack): 69951 (WebCore::BackForwardList::goForward): 69952 (WebCore::BackForwardList::goToItem): 69953 (WebCore::BackForwardList::backItem): 69954 (WebCore::BackForwardList::currentItem): 69955 (WebCore::BackForwardList::forwardItem): 69956 (WebCore::BackForwardList::backListWithLimit): 69957 (WebCore::BackForwardList::forwardListWithLimit): 69958 (WebCore::BackForwardList::capacity): 69959 (WebCore::BackForwardList::setCapacity): 69960 (WebCore::BackForwardList::setPageCacheSize): 69961 (WebCore::BackForwardList::pageCacheSize): 69962 (WebCore::BackForwardList::clearPageCache): 69963 (WebCore::BackForwardList::usesPageCache): 69964 (WebCore::BackForwardList::backListCount): 69965 (WebCore::BackForwardList::forwardListCount): 69966 (WebCore::BackForwardList::itemAtIndex): 69967 (WebCore::BackForwardList::entries): 69968 (WebCore::BackForwardList::close): 69969 (WebCore::BackForwardList::closed): 69970 (WebCore::BackForwardList::removeItem): 69971 (WebCore::BackForwardList::containsItem): 69972 (WebCore::BackForwardList::setDefaultPageCacheSize): 69973 (WebCore::BackForwardList::defaultPageCacheSize): 69974 * history/BackForwardList.h: Added. 69975 69976 * history/HistoryItem.cpp: Added - This largely emulates the design of WebBackForwardList 69977 (WebCore::defaultNotifyHistoryItemChanged): 69978 (WebCore::HistoryItem::HistoryItem): 69979 (WebCore::HistoryItem::~HistoryItem): 69980 (WebCore::HistoryItem::copy): 69981 (WebCore::HistoryItem::setHasPageCache): 69982 (WebCore::HistoryItem::retainIconInDatabase): 69983 (WebCore::HistoryItem::urlString): 69984 (WebCore::HistoryItem::originalURLString): 69985 (WebCore::HistoryItem::title): 69986 (WebCore::HistoryItem::alternateTitle): 69987 (WebCore::HistoryItem::icon): 69988 (WebCore::HistoryItem::lastVisitedTime): 69989 (WebCore::HistoryItem::url): 69990 (WebCore::HistoryItem::originalURL): 69991 (WebCore::HistoryItem::target): 69992 (WebCore::HistoryItem::parent): 69993 (WebCore::HistoryItem::setAlternateTitle): 69994 (WebCore::HistoryItem::setURLString): 69995 (WebCore::HistoryItem::setURL): 69996 (WebCore::HistoryItem::setOriginalURLString): 69997 (WebCore::HistoryItem::setTitle): 69998 (WebCore::HistoryItem::setTarget): 69999 (WebCore::HistoryItem::setParent): 70000 (WebCore::HistoryItem::setLastVisitedTime): 70001 (WebCore::HistoryItem::visitCount): 70002 (WebCore::HistoryItem::setVisitCount): 70003 (WebCore::HistoryItem::scrollPoint): 70004 (WebCore::HistoryItem::setScrollPoint): 70005 (WebCore::HistoryItem::clearScrollPoint): 70006 (WebCore::HistoryItem::setDocumentState): 70007 (WebCore::HistoryItem::documentState): 70008 (WebCore::HistoryItem::clearDocumentState): 70009 (WebCore::HistoryItem::isTargetItem): 70010 (WebCore::HistoryItem::setIsTargetItem): 70011 (WebCore::HistoryItem::alwaysAttemptToUsePageCache): 70012 (WebCore::HistoryItem::setAlwaysAttemptToUsePageCache): 70013 (WebCore::HistoryItem::addChildItem): 70014 (WebCore::HistoryItem::childItemWithName): 70015 (WebCore::HistoryItem::recurseToFindTargetItem): 70016 (WebCore::HistoryItem::targetItem): 70017 (WebCore::HistoryItem::pageCache): 70018 (WebCore::HistoryItem::children): 70019 (WebCore::HistoryItem::hasChildren): 70020 (WebCore::HistoryItem::formContentType): 70021 (WebCore::HistoryItem::formReferrer): 70022 (WebCore::HistoryItem::rssFeedReferrer): 70023 (WebCore::HistoryItem::setRSSFeedReferrer): 70024 (WebCore::HistoryItem::setFormInfoFromRequest): 70025 (WebCore::HistoryItem::formData): 70026 (WebCore::HistoryItem::mergeAutoCompleteHints): 70027 (WebCore::HistoryItem::hasPageCache): 70028 (WebCore::timer): Function to manage the global release timer 70029 (WebCore::pendingPageCacheToRelease): Function to manage the global queue of caches to be released 70030 (WebCore::HistoryItem::releasePageCache): 70031 (WebCore::closeObjectsInPendingPageCaches): 70032 (WebCore::HistoryItem::releaseAllPendingPageCaches): 70033 (WebCore::HistoryItem::scheduleRelease): 70034 (WebCore::HistoryItem::print): 70035 * history/HistoryItem.h: Added. 70036 * history/mac/HistoryItemMac.mm: Added. 70037 (WebCore::HistoryItem::viewState): In the future we need a platform agnostic way to manage the view state 70038 (WebCore::HistoryItem::setViewState): 70039 (WebCore::HistoryItem::getTransientProperty): Transient properties are, for now, only a Mac concept 70040 (WebCore::HistoryItem::setTransientProperty): 70041 70042 * history/HistoryItemTimer.cpp: Added 70043 (WebCore::HistoryItemTimer::HistoryItemTimer): We need a specific class to be the history item timer because 70044 WebCore::Timers only work when you have an instance of an object, but the caches pending release is a static concept 70045 (WebCore::HistoryItemTimer::isActive): 70046 (WebCore::HistoryItemTimer::schedule): 70047 (WebCore::HistoryItemTimer::invalidate): 70048 (WebCore::HistoryItemTimer::callReleasePageCache): 70049 * history/HistoryItemTimer.h: Added. 70050 70051 * history/PageCache.cpp Added - This is a class that contains the fields that used to be in an NSDictionary in WebKit 70052 (WebCore::PageCache::PageCache): 70053 (WebCore::PageCache::setPageState): 70054 (WebCore::PageCache::~PageCache): 70055 (WebCore::PageCache::pageState): 70056 (WebCore::PageCache::setDocumentLoader): 70057 (WebCore::PageCache::documentLoader): 70058 (WebCore::PageCache::setTimeStamp): 70059 (WebCore::PageCache::setTimeStampToNow): 70060 (WebCore::PageCache::timeStamp): 70061 * history/PageCache.h: Added. 70062 * history/mac/PageCacheMac.mm: Added. 70063 (WebCore::PageCache::close): 70064 (WebCore::PageCache::setDocumentView): In the future we need a platform agnostic way to manage the documentView 70065 (WebCore::PageCache::documentView): 70066 70067 * loader/DocumentLoader.cpp: 70068 (WebCore::DocumentLoader::loadFromPageCache): 70069 (WebCore::DocumentLoader::setLoadingFromPageCache): 70070 (WebCore::DocumentLoader::isLoadingFromPageCache): 70071 (WebCore::DocumentLoader::originalURL): 70072 (WebCore::DocumentLoader::requestURL): 70073 (WebCore::DocumentLoader::responseURL): 70074 (WebCore::DocumentLoader::responseMIMEType): 70075 * loader/DocumentLoader.h: 70076 70077 * loader/FrameLoader.cpp: Responsibilities previously scattered in WebKit but concentrated in WebView and WebFrame 70078 are now here, where they should be. 70079 (WebCore::FrameLoader::clear): 70080 (WebCore::FrameLoader::restoreDocumentState): 70081 (WebCore::FrameLoader::goBackOrForward): 70082 (WebCore::FrameLoader::provisionalLoadStarted): 70083 (WebCore::FrameLoader::canCachePage): 70084 (WebCore::FrameLoader::commitProvisionalLoad): 70085 (WebCore::FrameLoader::transitionToCommitted): 70086 (WebCore::FrameLoader::open): 70087 (WebCore::FrameLoader::didFirstLayout): 70088 (WebCore::FrameLoader::dispatchDidChangeLocationWithinPage): 70089 (WebCore::FrameLoader::dispatchDidFinishLoadToClient): 70090 (WebCore::FrameLoader::updateGlobalHistoryForStandardLoad): Marked for usage in future GlobalHistory (uses client for now) 70091 (WebCore::FrameLoader::updateGlobalHistoryForReload): Ditto 70092 (WebCore::FrameLoader::shouldGoToHistoryItem): 70093 (WebCore::FrameLoader::addExtraFieldsToRequest): 70094 (WebCore::FrameLoader::addHistoryItemForFragmentScroll): 70095 (WebCore::FrameLoader::loadProvisionalItemFromPageCache): 70096 (WebCore::FrameLoader::createPageCache): 70097 (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): 70098 (WebCore::FrameLoader::createItem): 70099 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): 70100 (WebCore::FrameLoader::createItemTree): 70101 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem): 70102 (WebCore::FrameLoader::restoreScrollPositionAndViewState): 70103 (WebCore::FrameLoader::purgePageCache): 70104 (WebCore::FrameLoader::invalidateCurrentItemPageCache): 70105 (WebCore::FrameLoader::saveDocumentState): 70106 (WebCore::FrameLoader::loadItem): 70107 (WebCore::FrameLoader::urlsMatchItem): 70108 (WebCore::FrameLoader::goToItem): 70109 (WebCore::FrameLoader::recursiveGoToItem): 70110 (WebCore::FrameLoader::childFramesMatchItem): 70111 (WebCore::FrameLoader::updateHistoryForStandardLoad): 70112 (WebCore::FrameLoader::updateHistoryForClientRedirect): 70113 (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): 70114 (WebCore::FrameLoader::updateHistoryForReload): 70115 (WebCore::FrameLoader::updateHistoryForInternalLoad): 70116 (WebCore::FrameLoader::updateHistoryForCommit): 70117 (WebCore::FrameLoader::saveDocumentAndScrollState): 70118 (WebCore::FrameLoader::currentHistoryItem): 70119 (WebCore::FrameLoader::previousHistoryItem): 70120 (WebCore::FrameLoader::provisionalHistoryItem): 70121 (WebCore::FrameLoader::setCurrentHistoryItem): 70122 (WebCore::FrameLoader::setPreviousHistoryItem): 70123 (WebCore::FrameLoader::setProvisionalHistoryItem): 70124 * loader/FrameLoader.h: 70125 70126 * loader/FrameLoaderClient.h: 70127 70128 * loader/mac/DocumentLoaderMac.mm: 70129 (WebCore::DocumentLoader::DocumentLoader): 70130 (WebCore::DocumentLoader::getResponseRefreshAndModifiedHeaders): 70131 (WebCore::DocumentLoader::commitIfReady): 70132 (WebCore::DocumentLoader::urlForHistory): 70133 70134 * loader/mac/FrameLoaderMac.mm: 70135 (WebCore::FrameLoader::load): 70136 (WebCore::FrameLoader::startLoading): 70137 (WebCore::FrameLoader::receivedMainResourceError): 70138 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 70139 (WebCore::FrameLoader::opened): 70140 (WebCore::FrameLoader::dataURLBaseFromRequest): 70141 (WebCore::FrameLoader::didChangeTitle): 70142 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 70143 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 70144 70145 * page/FrameTree.cpp: 70146 (WebCore::FrameTree::removeChild): 70147 70148 * page/Page.cpp: Transfered a handful of concepts from WebView 70149 (WebCore::Page::Page): 70150 (WebCore::Page::~Page): 70151 (WebCore::Page::backForwardList): 70152 (WebCore::Page::goBack): 70153 (WebCore::Page::goForward): 70154 (WebCore::Page::goToItem): 70155 * page/Page.h: 70156 70157 * page/PageState.h: 70158 * page/mac/FrameMac.h: 70159 * page/mac/FrameMac.mm: 70160 * page/mac/WebCoreFrameBridge.h: 70161 * page/mac/WebCoreFrameBridge.mm: 70162 70163 * platform/KURL.cpp: 70164 (WebCore::KURL::print): Added debug only method for debugging convenience 70165 * platform/KURL.h: 70166 70167 * platform/Logging.cpp: 70168 (WebCore::): Added some logging channels 70169 * platform/Logging.h: 70170 70171 * platform/PlatformString.h: 70172 (WebCore::nsStringNilIfEmpty): Added for WebKit use 70173 70174 * platform/SystemTime.h: Added userIdleTime() 70175 70176 * platform/graphics/svg/SVGImage.cpp: 70177 * platform/graphics/svg/SVGImageEmptyClients.h: Updated for new FrameLoaderClient methods 70178 (WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromPageCache): 70179 (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistoryForStandardLoad): 70180 (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistoryForReload): 70181 (WebCore::SVGEmptyFrameLoaderClient::shouldGoToHistoryItem): 70182 (WebCore::SVGEmptyFrameLoaderClient::saveScrollPositionAndViewStateToItem): 70183 (WebCore::SVGEmptyFrameLoaderClient::saveDocumentViewToPageCache): 70184 (WebCore::SVGEmptyFrameLoaderClient::canCachePage): 70185 (WebCore::SVGEmptyEditorClient::~SVGEmptyEditorClient): 70186 70187 * platform/mac/LoggingMac.mm: 70188 (WebCore::InitializeLoggingChannelsIfNecessary): 70189 70190 * platform/mac/SystemTimeMac.cpp: 70191 (WebCore::userIdleTime): 70192 70193 * platform/mac/WebCoreSystemInterface.h: Added wkSecondsSinceLastInput for use in userIdleTime 70194 * platform/mac/WebCoreSystemInterface.mm: 70195 70196 * platform/network/FormData.cpp: 70197 (WebCore::FormData::FormData): 70198 (WebCore::FormData::copy): 70199 * platform/network/FormData.h: 70200 70201 * platform/network/ResourceHandle.h: 70202 * platform/network/mac/ResourceHandleMac.mm: 70203 (WebCore::ResourceHandle::willLoadFromCache): For "are you sure you want to resubmit?" nag 70204 70205 * platform/qt/TemporaryLinkStubs.cpp: 70206 (WebCore::userIdleTime): 70207 * rendering/RenderPart.h: 70208 70209 2007-01-02 Darin Adler <darin (a] apple.com> 70210 70211 Rubber stamped by Mitz. 70212 70213 Rename isRenderSVGContainer to isSVGContainer. 70214 70215 * platform/graphics/ImageBuffer.cpp: 70216 (WebCore::ImageBuffer::renderSubtreeToImage): 70217 * rendering/RenderObject.cpp: 70218 (WebCore::RenderObject::containingBlock): 70219 * rendering/RenderObject.h: 70220 (WebCore::RenderObject::isSVGContainer): 70221 * rendering/RenderSVGContainer.cpp: 70222 (WebCore::RenderSVGContainer::viewportTransform): 70223 * rendering/RenderSVGContainer.h: 70224 (WebCore::RenderSVGContainer::isSVGContainer): 70225 * rendering/RenderTreeAsText.cpp: 70226 (WebCore::write): 70227 70228 2007-01-03 Nikolas Zimmermann <zimmermann (a] kde.org> 70229 70230 Reviewed by Mitz. 70231 70232 Rename isKCanvasContainer to isRenderSVGContainer. 70233 70234 * platform/graphics/ImageBuffer.cpp: 70235 (WebCore::ImageBuffer::renderSubtreeToImage): 70236 * rendering/RenderObject.cpp: 70237 (WebCore::RenderObject::containingBlock): 70238 * rendering/RenderObject.h: 70239 (WebCore::RenderObject::isRenderSVGContainer): 70240 * rendering/RenderSVGContainer.cpp: 70241 (WebCore::RenderSVGContainer::viewportTransform): 70242 * rendering/RenderSVGContainer.h: 70243 (WebCore::RenderSVGContainer::isRenderSVGContainer): 70244 * rendering/RenderTreeAsText.cpp: 70245 (WebCore::write): 70246 70247 2007-01-02 Beth Dakin <bdakin (a] apple.com> 70248 70249 Reviewed by Darin. 70250 70251 Fix assertion failure with WebCore context menus by getting "Copy 70252 Image" item added in. 70253 70254 * platform/ContextMenu.cpp: 70255 (WebCore::ContextMenu::populate): Check if the image url is a local 70256 file or if we have an image in the cache. 70257 70258 2007-01-02 Sam Weinig <sam (a] webkit.org> 70259 70260 Reviewed by Anders. 70261 70262 Patch for http://bugs.webkit.org/show_bug.cgi?id=12072 70263 select with align attribute should not affect contained text 70264 70265 Don't map align for select elements. 70266 70267 Test: fast/forms/select-align.html 70268 70269 * html/HTMLSelectElement.cpp: 70270 (WebCore::HTMLSelectElement::parseMappedAttribute): 70271 70272 2007-01-02 Sam Weinig <sam (a] webkit.org> 70273 70274 Reviewed by Mitz. 70275 70276 Patch for http://bugs.webkit.org/show_bug.cgi?id=12071 70277 button with align attribute should not affect contained text 70278 70279 Don't map align for button elements. 70280 70281 Test: fast/forms/button-align.html 70282 70283 * html/HTMLButtonElement.cpp: 70284 (WebCore::HTMLButtonElement::parseMappedAttribute): 70285 70286 2007-01-02 Sam Weinig <sam (a] webkit.org> 70287 70288 Reviewed by Mitz and Anders. 70289 70290 Patch for http://bugs.webkit.org/show_bug.cgi?id=7075 70291 textarea with align=right should not cause contained text to 70292 be right-justified 70293 70294 Don't map align for textarea elements. 70295 70296 Test: fast/forms/textarea-align.html 70297 70298 * html/HTMLTextAreaElement.cpp: 70299 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 70300 70301 2007-01-02 Eric Seidel <eric (a] webkit.org> 70302 70303 Reviewed by mitz. 70304 70305 Implement SVGSVGElement::deselectAll() 70306 70307 * ksvg2/svg/SVGAnimationElement.h: 70308 (WebCore::SVGAnimationElement::updateLastValueWithCurrent): add comment 70309 * ksvg2/svg/SVGSVGElement.cpp: 70310 (WebCore::SVGSVGElement::deselectAll): implement 70311 (WebCore::SVGSVGElement::setCurrentTime): add comment about bug 70312 * ksvg2/svg/SVGSVGElement.idl: remove unnecessary comment 70313 70314 2007-01-02 Sam Weinig <sam (a] webkit.org> 70315 70316 Reviewed by Darin. 70317 70318 Patch for http://bugs.webkit.org/show_bug.cgi?id=3360 70319 align="right" on a text input aligns the input field to the right 70320 70321 Don't map align if input type is not 'image'. 70322 70323 Test: fast/forms/input-align-image.html 70324 Test: fast/forms/input-align.html 70325 70326 * WebCore.xcodeproj/project.pbxproj: 70327 * html/HTMLInputElement.cpp: 70328 (WebCore::HTMLInputElement::setInputType): 70329 (WebCore::HTMLInputElement::mapToEntry): 70330 (WebCore::HTMLInputElement::parseMappedAttribute): 70331 70332 2007-01-02 Nikolas Zimmermann <zimmermann (a] kde.org> 70333 70334 Reviewed by Eric. 70335 70336 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12013 70337 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11980 70338 Partly fixes: http://bugs.webkit.org/show_bug.cgi?id=6000 (pattern/gradient recursion works now) 70339 70340 Fixed testcases: 70341 coords-units-01-b.svg (<pattern> in objectBoundingBoxMode were broken.) 70342 pattern-in-defs.svg (clip pattern size against target size, to avoid excessive mallocs) 70343 js-update-pattern.svg (live updating really works now!) 70344 js-late-gradient-and-object-creation.svg (objectBoundingBoxMode gradients-on-text work now) 70345 js-late-gradient-creation.svg (same) 70346 70347 Added testcases: 70348 js-late-pattern-and-object-creation.svg (objectBoundingBoxMode patterns-on-text work now) 70349 js-late-pattern-creation.svg (same) 70350 gradient-cycle-detection.svg (tests that cyclic gradients are ignored) 70351 gradient-deep-referencing.svg 70352 pattern-cycle-detection.svg (tests that cyclic patterns are ignored) 70353 pattern-deep-referencing.svg 70354 70355 Rewrite gradient & pattern code, fixing all known bugs & regressions. 70356 70357 -> Remove SVGResourceListener completly (the ugly resourceNotification() hack is gone now) 70358 70359 -> Make patterns operate in all possible combinations of patternUnits / patternContentunits 70360 The SVGPaintServerPattern now asks the SVGPatternElement to build the pattern tile, passing 70361 the target object's bbox rectangle -> objectBoundingBox calculations can be done, so SVGPaintServerPattern 70362 itself doesn't need to know anything about "bounding box mode". Same could be done for gradients. 70363 70364 -> SVGLength::valueAsPercentage() returns again fractional values, saves some "/ 100.0" statements. 70365 70366 -> Deep references (gradientA -> gradientB -> gradientC...) work now. Previously only one reference worked. 70367 Adding GradientAttributes.h / PatternAttributes.h helper structures for the property collection. 70368 Cycle detection is implemented and won't kill us anymore :-) 70369 70370 JS updates on gradients/patterns only cause one repaint of the client's now. Gradient drawing 70371 does not cause the target object to be redrawn immediately afterwards anymore. 70372 70373 * WebCore.xcodeproj/project.pbxproj: 70374 * ksvg2/misc/KCanvasRenderingStyle.cpp: 70375 (WebCore::KSVGPainterFactory::fillPaintServer): 70376 (WebCore::KSVGPainterFactory::strokePaintServer): 70377 * ksvg2/misc/KCanvasRenderingStyle.h: 70378 * ksvg2/misc/SVGDocumentExtensions.cpp: 70379 (WebCore::SVGDocumentExtensions::addPendingResource): 70380 (WebCore::SVGDocumentExtensions::isPendingResource): 70381 (WebCore::SVGDocumentExtensions::removePendingResource): 70382 * ksvg2/misc/SVGDocumentExtensions.h: 70383 * ksvg2/svg/GradientAttributes.h: Added. 70384 (WebCore::GradientAttributes::GradientAttributes): 70385 (WebCore::GradientAttributes::spreadMethod): 70386 (WebCore::GradientAttributes::boundingBoxMode): 70387 (WebCore::GradientAttributes::gradientTransform): 70388 (WebCore::GradientAttributes::stops): 70389 (WebCore::GradientAttributes::setSpreadMethod): 70390 (WebCore::GradientAttributes::setBoundingBoxMode): 70391 (WebCore::GradientAttributes::setGradientTransform): 70392 (WebCore::GradientAttributes::setStops): 70393 (WebCore::GradientAttributes::hasSpreadMethod): 70394 (WebCore::GradientAttributes::hasBoundingBoxMode): 70395 (WebCore::GradientAttributes::hasGradientTransform): 70396 (WebCore::GradientAttributes::hasStops): 70397 * ksvg2/svg/LinearGradientAttributes.h: Added. 70398 (WebCore::LinearGradientAttributes::LinearGradientAttributes): 70399 (WebCore::LinearGradientAttributes::x1): 70400 (WebCore::LinearGradientAttributes::y1): 70401 (WebCore::LinearGradientAttributes::x2): 70402 (WebCore::LinearGradientAttributes::y2): 70403 (WebCore::LinearGradientAttributes::setX1): 70404 (WebCore::LinearGradientAttributes::setY1): 70405 (WebCore::LinearGradientAttributes::setX2): 70406 (WebCore::LinearGradientAttributes::setY2): 70407 (WebCore::LinearGradientAttributes::hasX1): 70408 (WebCore::LinearGradientAttributes::hasY1): 70409 (WebCore::LinearGradientAttributes::hasX2): 70410 (WebCore::LinearGradientAttributes::hasY2): 70411 * ksvg2/svg/PatternAttributes.h: Added. 70412 (WebCore::PatternAttributes::PatternAttributes): 70413 (WebCore::PatternAttributes::x): 70414 (WebCore::PatternAttributes::y): 70415 (WebCore::PatternAttributes::width): 70416 (WebCore::PatternAttributes::height): 70417 (WebCore::PatternAttributes::boundingBoxMode): 70418 (WebCore::PatternAttributes::boundingBoxModeContent): 70419 (WebCore::PatternAttributes::patternTransform): 70420 (WebCore::PatternAttributes::patternContentElement): 70421 (WebCore::PatternAttributes::setX): 70422 (WebCore::PatternAttributes::setY): 70423 (WebCore::PatternAttributes::setWidth): 70424 (WebCore::PatternAttributes::setHeight): 70425 (WebCore::PatternAttributes::setBoundingBoxMode): 70426 (WebCore::PatternAttributes::setBoundingBoxModeContent): 70427 (WebCore::PatternAttributes::setPatternTransform): 70428 (WebCore::PatternAttributes::setPatternContentElement): 70429 (WebCore::PatternAttributes::hasX): 70430 (WebCore::PatternAttributes::hasY): 70431 (WebCore::PatternAttributes::hasWidth): 70432 (WebCore::PatternAttributes::hasHeight): 70433 (WebCore::PatternAttributes::hasBoundingBoxMode): 70434 (WebCore::PatternAttributes::hasBoundingBoxModeContent): 70435 (WebCore::PatternAttributes::hasPatternTransform): 70436 (WebCore::PatternAttributes::hasPatternContentElement): 70437 * ksvg2/svg/RadialGradientAttributes.h: Added. 70438 (WebCore::RadialGradientAttributes::RadialGradientAttributes): 70439 (WebCore::RadialGradientAttributes::cx): 70440 (WebCore::RadialGradientAttributes::cy): 70441 (WebCore::RadialGradientAttributes::r): 70442 (WebCore::RadialGradientAttributes::fx): 70443 (WebCore::RadialGradientAttributes::fy): 70444 (WebCore::RadialGradientAttributes::setCx): 70445 (WebCore::RadialGradientAttributes::setCy): 70446 (WebCore::RadialGradientAttributes::setR): 70447 (WebCore::RadialGradientAttributes::setFx): 70448 (WebCore::RadialGradientAttributes::setFy): 70449 (WebCore::RadialGradientAttributes::hasCx): 70450 (WebCore::RadialGradientAttributes::hasCy): 70451 (WebCore::RadialGradientAttributes::hasR): 70452 (WebCore::RadialGradientAttributes::hasFx): 70453 (WebCore::RadialGradientAttributes::hasFy): 70454 * ksvg2/svg/SVGGradientElement.cpp: 70455 (WebCore::SVGGradientElement::notifyAttributeChange): 70456 (WebCore::SVGGradientElement::canvasResource): 70457 (WebCore::SVGGradientElement::buildStops): 70458 (WebCore::SVGGradientElement::insertedIntoDocument): 70459 * ksvg2/svg/SVGGradientElement.h: 70460 * ksvg2/svg/SVGLength.cpp: 70461 (WebCore::SVGLength::valueAsPercentage): 70462 * ksvg2/svg/SVGLinearGradientElement.cpp: 70463 (WebCore::SVGLinearGradientElement::buildGradient): 70464 (WebCore::SVGLinearGradientElement::collectGradientProperties): 70465 * ksvg2/svg/SVGLinearGradientElement.h: 70466 * ksvg2/svg/SVGLocatable.cpp: 70467 (WebCore::SVGLocatable::getScreenCTM): 70468 * ksvg2/svg/SVGPatternElement.cpp: 70469 (WebCore::SVGPatternElement::SVGPatternElement): 70470 (WebCore::SVGPatternElement::buildPattern): 70471 (WebCore::SVGPatternElement::notifyAttributeChange): 70472 (WebCore::SVGPatternElement::canvasResource): 70473 (WebCore::SVGPatternElement::insertedIntoDocument): 70474 (WebCore::SVGPatternElement::collectPatternProperties): 70475 * ksvg2/svg/SVGPatternElement.h: 70476 * ksvg2/svg/SVGRadialGradientElement.cpp: 70477 (WebCore::SVGRadialGradientElement::buildGradient): 70478 (WebCore::SVGRadialGradientElement::collectGradientProperties): 70479 * ksvg2/svg/SVGRadialGradientElement.h: 70480 * platform/graphics/svg/SVGPaintServerGradient.cpp: 70481 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): 70482 (WebCore::SVGPaintServerGradient::externalRepresentation): 70483 * platform/graphics/svg/SVGPaintServerGradient.h: 70484 (WebCore::): 70485 * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: 70486 (WebCore::SVGPaintServerLinearGradient::SVGPaintServerLinearGradient): 70487 * platform/graphics/svg/SVGPaintServerLinearGradient.h: 70488 * platform/graphics/svg/SVGPaintServerPattern.cpp: 70489 (WebCore::SVGPaintServerPattern::SVGPaintServerPattern): 70490 (WebCore::SVGPaintServerPattern::patternBoundaries): 70491 (WebCore::SVGPaintServerPattern::setPatternBoundaries): 70492 (WebCore::SVGPaintServerPattern::setTile): 70493 (WebCore::SVGPaintServerPattern::externalRepresentation): 70494 * platform/graphics/svg/SVGPaintServerPattern.h: 70495 * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: 70496 (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient): 70497 * platform/graphics/svg/SVGPaintServerRadialGradient.h: 70498 * platform/graphics/svg/SVGResource.cpp: 70499 (WebCore::SVGResource::invalidate): 70500 (WebCore::SVGResource::repaintClients): 70501 * platform/graphics/svg/SVGResource.h: 70502 * platform/graphics/svg/SVGResourceListener.h: 70503 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 70504 (WebCore::cgGradientCallback): 70505 (WebCore::CGShadingRefForRadialGradient): 70506 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache): 70507 (WebCore::SVGPaintServerGradient::updateQuartzGradientCache): 70508 (WebCore::SVGPaintServerGradient::teardown): 70509 (WebCore::SVGPaintServerGradient::renderPath): 70510 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation): 70511 (WebCore::SVGPaintServerGradient::setup): 70512 (WebCore::SVGPaintServerGradient::invalidate): 70513 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: 70514 (WebCore::SVGPaintServerPattern::setup): 70515 (WebCore::SVGPaintServerPattern::teardown): 70516 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: 70517 (WebCore::SVGPaintServerLinearGradient::setup): 70518 * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: 70519 (WebCore::SVGPaintServerPattern::setup): 70520 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: 70521 (WebCore::SVGPaintServerRadialGradient::setup): 70522 70523 2007-01-02 Zack Rusin <zack (a] kde.org> 70524 70525 Compilation fix. File names are case-sensitive. 70526 70527 * ksvg2/svg/SVGPathSegList.cpp: 70528 70529 2007-01-02 Zack Rusin <zack (a] kde.org> 70530 70531 Compilation fixes for the Qt port. 70532 70533 * WebCore.pro: 70534 * platform/qt/FrameQt.cpp: 70535 (WebCore::FrameQt::bindingRootObject): 70536 (WebCore::FrameQt::addPluginRootObject): 70537 70538 2007-01-02 Eric Seidel <eric (a] webkit.org> 70539 70540 Reviewed by rwlbuis. 70541 70542 Refactor more animation code for better sharing between SVGAnimate*Element classes. 70543 - replace handleEndCondition with resetValues() and updateLastValueWithCurrent() 70544 - move initialTransform() function down into SVGTimer (eventually to AnimationCompositor) 70545 Add non-functional (only parses) SVGAnimateMotionElement 70546 Improve precision of getPointAtLength calculations and add support for "getNormalAtLength" functionality (needed for rotate='auto' support in animateMotion) 70547 Move add getSegmentAtLength functionality to SVGPathSegList, move toPathData into SVGPathSegList as well. 70548 Add SVGAnimationElement::hasValidTarget() for future better/simpler ASSERT checking 70549 change transformMatrix() to currentTransform() to match AffineTransform class name 70550 70551 * WebCore.xcodeproj/project.pbxproj: 70552 * ksvg2/misc/SVGTimer.cpp: 70553 (WebCore::SVGTimer::animationsByElement): 70554 (WebCore::baseValueTransformList): 70555 (WebCore::SVGTimer::applyAnimations): 70556 * ksvg2/svg/SVGAnimateColorElement.cpp: 70557 (WebCore::SVGAnimateColorElement::updateLastValueWithCurrent): 70558 * ksvg2/svg/SVGAnimateColorElement.h: 70559 * ksvg2/svg/SVGAnimateMotionElement.cpp: Added. 70560 (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement): 70561 (WebCore::SVGAnimateMotionElement::~SVGAnimateMotionElement): 70562 (WebCore::SVGAnimateMotionElement::hasValidTarget): added. 70563 (WebCore::SVGAnimateMotionElement::parseMappedAttribute): 70564 (WebCore::SVGAnimateMotionElement::animationPath): fetch path from <mpath> or d attribute 70565 (WebCore::SVGAnimateMotionElement::updateCurrentValue): 70566 (WebCore::SVGAnimateMotionElement::handleStartCondition): 70567 (WebCore::SVGAnimateMotionElement::applyAnimationToValue): 70568 * ksvg2/svg/SVGAnimateMotionElement.h: Added. 70569 (WebCore::SVGAnimateMotionElement::contextElement): 70570 (WebCore::SVGAnimateMotionElement::): 70571 * ksvg2/svg/SVGAnimateTransformElement.cpp: 70572 (WebCore::SVGAnimateTransformElement::hasValidTarget): added. 70573 (WebCore::SVGAnimateTransformElement::storeInitialValue): 70574 (WebCore::SVGAnimateTransformElement::updateCurrentValue): 70575 (WebCore::SVGAnimateTransformElement::updateLastValueWithCurrent): 70576 (WebCore::SVGAnimateTransformElement::applyAnimationToValue): 70577 (WebCore::SVGAnimateTransformElement::currentTransform): 70578 * ksvg2/svg/SVGAnimateTransformElement.h: 70579 * ksvg2/svg/SVGAnimationElement.cpp: 70580 (WebCore::SVGAnimationElement::hasValidTarget): added. 70581 (WebCore::SVGAnimationElement::parseMappedAttribute): 70582 (WebCore::SVGAnimationElement::isAdditive): 70583 (WebCore::SVGAnimationElement::isAccumulated): 70584 (WebCore::SVGAnimationElement::handleTimerEvent): 70585 * ksvg2/svg/SVGAnimationElement.h: 70586 (WebCore::SVGAnimationElement::updateLastValueWithCurrent): 70587 (WebCore::SVGAnimationElement::resetValues): 70588 * ksvg2/svg/SVGPathElement.cpp: 70589 (WebCore::SVGPathElement::getPointAtLength): 70590 (WebCore::SVGPathElement::getPathSegAtLength): 70591 (WebCore::SVGPathElement::parseMappedAttribute): 70592 (WebCore::SVGPathElement::toPathData): 70593 * ksvg2/svg/SVGPathSegList.cpp: 70594 (WebCore::SVGPathSegList::getPathSegAtLength): added. 70595 (WebCore::SVGPathSegList::toPathData): added. 70596 * ksvg2/svg/SVGPathSegList.h: 70597 * ksvg2/svg/svgtags.in: add animateMotion 70598 * platform/graphics/Path.cpp: 70599 (WebCore::pathLengthApplierFunction): add support for TraversalNormalAngleAtLength 70600 * platform/graphics/PathTraversalState.cpp: 70601 (WebCore::curveLength): support higher precision pointAtLength calculations, and add normalAtLength support 70602 (WebCore::PathTraversalState::quadraticBezierTo): 70603 (WebCore::PathTraversalState::cubicBezierTo): 70604 * platform/graphics/PathTraversalState.h: 70605 (WebCore::PathTraversalState::): add TraversalNormalAngleAtLength mode 70606 70607 2007-01-01 Mitz Pettel <mitz (a] webkit.org> 70608 70609 Reviewed by Darin. 70610 70611 - WebCore changes for http://bugs.webkit.org/show_bug.cgi?id=11849 70612 REGRESSION (r18182): Google Calendar is broken (a regular expression containing a null character is not parsed correctly) 70613 70614 * platform/RegularExpression.cpp: 70615 (WebCore::RegularExpression::Private::compile): Changed to not null-terminate 70616 the pattern string and instead pass its length to pcre_compile. 70617 70618 2007-01-01 Mitz Pettel <mitz (a] webkit.org> 70619 70620 Reviewed by Darin. 70621 70622 - fix http://bugs.webkit.org/show_bug.cgi?id=11359 70623 Incomplete repaint of table cell's collapsed border when changing only the cell 70624 70625 Test: fast/repaint/table-cell-collapsed-border.html 70626 70627 * rendering/RenderTable.h: 70628 Added needsSectionRecalc() accessor. 70629 * rendering/RenderTableCell.cpp: 70630 (WebCore::RenderTableCell::getAbsoluteRepaintRect): Overloaded to add the 70631 outer half of any collapsed borders. This function checks the cell's borders' 70632 widths but also the widths of the adjoining cells' borders, since they can 70633 contribute to the length of this cell's borders perpendicular to them, making 70634 such a border overflow the cell in both dimensions. 70635 (WebCore::RenderTableCell::borderLeft): Split the collapsing borders case off to 70636 borderHalfLeft(). 70637 (WebCore::RenderTableCell::borderRight): Ditto. 70638 (WebCore::RenderTableCell::borderTop): Ditto. 70639 (WebCore::RenderTableCell::borderBottom): Ditto. 70640 (WebCore::RenderTableCell::borderHalfLeft): Added. Takes an 'outer' boolean 70641 parameter. When true, this function returns the width of the part of the border 70642 that is outside the cell (different from the inner width when the total width is odd). 70643 (WebCore::RenderTableCell::borderHalfRight): Ditto. 70644 (WebCore::RenderTableCell::borderHalfTop): Ditto. 70645 (WebCore::RenderTableCell::borderHalfBottom): Ditto. 70646 * rendering/RenderTableCell.h: 70647 70648 2007-01-01 David Kilzer <ddkilzer (a] webkit.org> 70649 70650 WebCore.vcproj change reviewed by Darin. Additional build files updated by ddkilzer. 70651 70652 * CMakeLists.txt: Removed RenderLineEdit.cpp. 70653 * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RenderLineEdit.cpp and RenderLineEdit.h. 70654 * WebCoreSources.bkl: Removed RenderLineEdit.cpp. 70655 70656 2007-01-01 Mitz Pettel <mitz (a] webkit.org> 70657 70658 Reviewed by Mark Rowe. 70659 70660 - fix http://bugs.webkit.org/show_bug.cgi?id=12042 70661 Assertion failure in WebCore::RenderObject::drawBorder 70662 70663 Test: fast/borders/outline-offset-min-assert.html 70664 70665 * rendering/RenderObject.cpp: 70666 (WebCore::RenderObject::paintOutline): Bail out if the width or height is 70667 smaller than twice the outline inset. 70668 70669 2007-01-01 Mark Rowe <bdash (a] webkit.org> 70670 70671 Reviewed by Eric. 70672 70673 http://bugs.webkit.org/show_bug.cgi?id=12061 70674 Bug 12061: Crash in WebCore::Shared<WebCore::StringImpl>::deref 70675 70676 * rendering/RenderStyle.cpp: 70677 (WebCore::ContentData::clearContent): Reset _contentType to CONTENT_NONE to ensure repeated calls to clearContent 70678 do not result in derefing deallocated members. 70679 70680 2007-01-01 Eric Seidel <eric (a] webkit.org> 70681 70682 Reviewed by andersca. 70683 70684 Begin pushing code down into SVGAnimateElement 70685 70686 * ksvg2/svg/SVGAnimateColorElement.cpp: 70687 (WebCore::SVGAnimateColorElement::handleStartCondition): 70688 * ksvg2/svg/SVGAnimateColorElement.h: 70689 * ksvg2/svg/SVGAnimateElement.h: 70690 (WebCore::SVGAnimateElement::updateCurrentValue): 70691 (WebCore::SVGAnimateElement::handleStartCondition): 70692 (WebCore::SVGAnimateElement::handleEndCondition): 70693 * ksvg2/svg/SVGAnimateTransformElement.cpp: 70694 (WebCore::SVGAnimateTransformElement::handleStartCondition): 70695 * ksvg2/svg/SVGAnimateTransformElement.h: 70696 * ksvg2/svg/SVGAnimationElement.cpp: 70697 (WebCore::SVGAnimationElement::handleTimerEvent): 70698 * ksvg2/svg/SVGAnimationElement.h: 70699 * ksvg2/svg/SVGSetElement.cpp: 70700 (WebCore::SVGSetElement::updateCurrentValue): 70701 (WebCore::SVGSetElement::handleStartCondition): 70702 (WebCore::SVGSetElement::handleEndCondition): 70703 * ksvg2/svg/SVGSetElement.h: 70704 70705 2007-01-01 Eric Seidel <eric (a] webkit.org> 70706 70707 Reviewed by andersca. 70708 70709 Add static function SVGColor::colorFromRGBColorString to allow parsing Colors from SVG color strings w/o creating an SVGColor object. 70710 70711 * ksvg2/svg/SVGAnimateColorElement.cpp: 70712 (WebCore::SVGAnimateColorElement::storeInitialValue): use colorFromRGBColorString 70713 (WebCore::SVGAnimateColorElement::startIfNecessary): use colorFromRGBColorString 70714 * ksvg2/svg/SVGColor.cpp: 70715 (WebCore::SVGColor::setRGBColor): use colorFromRGBColorString 70716 (WebCore::parseNumberOrPercent): new color parsing helper 70717 (WebCore::SVGColor::colorFromRGBColorString): cleaned up version of setRGBColor parsing logic 70718 * ksvg2/svg/SVGColor.h: 70719 70720 2007-01-01 Eric Seidel <eric (a] webkit.org> 70721 70722 Reviewed by andersca. 70723 70724 Split handleTimerEvent logic into separate functions in preparation for moving down into SVGAnimationElement 70725 70726 * ksvg2/svg/SVGAnimateColorElement.cpp: 70727 (WebCore::SVGAnimateColorElement::storeInitialValue): 70728 (WebCore::SVGAnimateColorElement::resetValues): 70729 (WebCore::SVGAnimateColorElement::updateCurrentValue): 70730 (WebCore::SVGAnimateColorElement::startIfNecessary): 70731 (WebCore::SVGAnimateColorElement::handleEndCondition): 70732 (WebCore::SVGAnimateColorElement::handleTimerEvent): 70733 * ksvg2/svg/SVGAnimateColorElement.h: 70734 * ksvg2/svg/SVGAnimateTransformElement.cpp: 70735 (WebCore::SVGAnimateTransformElement::storeInitialValue): 70736 (WebCore::SVGAnimateTransformElement::resetValues): 70737 (WebCore::SVGAnimateTransformElement::updateCurrentValue): 70738 (WebCore::SVGAnimateTransformElement::startIfNecessary): 70739 (WebCore::SVGAnimateTransformElement::handleEndCondition): 70740 (WebCore::SVGAnimateTransformElement::handleTimerEvent): 70741 * ksvg2/svg/SVGAnimateTransformElement.h: 70742 70743 2007-01-01 Rob Buis <buis (a] kde.org> 70744 70745 Reviewed by Eric. 70746 70747 Simple cleanups, removing unused color table, copyright and include guard fixes. 70748 70749 * ksvg2/svg/SVGColor.cpp: 70750 * ksvg2/svg/SVGColor.h: 70751 70752 2007-01-01 Eric Seidel <eric (a] webkit.org> 70753 70754 Reviewed by andersca. 70755 70756 More animation code cleanup. 70757 70758 * ksvg2/svg/SVGAnimateColorElement.cpp: 70759 (WebCore::SVGAnimateColorElement::handleTimerEvent): 70760 * ksvg2/svg/SVGAnimateTransformElement.cpp: 70761 (WebCore::SVGAnimateTransformElement::handleTimerEvent): 70762 * ksvg2/svg/SVGAnimationElement.cpp: 70763 (WebCore::SVGAnimationElement::SVGAnimationElement): 70764 (WebCore::SVGAnimationElement::connectedToTimer): 70765 (WebCore::SVGAnimationElement::connectTimer): 70766 (WebCore::SVGAnimationElement::disconnectTimer): 70767 (WebCore::SVGAnimationElement::updateForElapsedSeconds): 70768 * ksvg2/svg/SVGAnimationElement.h: 70769 * ksvg2/svg/SVGSetElement.cpp: 70770 (WebCore::SVGSetElement::handleTimerEvent): 70771 * ksvg2/svg/SVGSetElement.h: 70772 70773 2007-01-01 Eric Seidel <eric (a] webkit.org> 70774 70775 Reviewed by mitz. 70776 70777 More clean-up to animation code. 70778 70779 * ksvg2/svg/SVGAnimateColorElement.cpp: 70780 (WebCore::SVGAnimateColorElement::handleTimerEvent): 70781 * ksvg2/svg/SVGAnimateTransformElement.cpp: 70782 (WebCore::SVGAnimateTransformElement::handleTimerEvent): 70783 (WebCore::SVGAnimateTransformElement::parseTransformValue): 70784 (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix): 70785 70786 2007-01-01 Eric Seidel <eric (a] webkit.org> 70787 70788 Reviewed by olliej. 70789 70790 Begin pushing more animation logic out of SVGTimer and into the SVGAnimate* classes. 70791 70792 * ksvg2/misc/SVGTimer.cpp: 70793 (WebCore::SVGTimer::animationsByElement): add comment 70794 (WebCore::SVGTimer::notifyAll): push logic into SVGAnimte* classes 70795 * ksvg2/svg/SVGAnimateColorElement.cpp: 70796 (WebCore::SVGAnimateColorElement::applyAnimationToValue): added. 70797 * ksvg2/svg/SVGAnimateColorElement.h: 70798 * ksvg2/svg/SVGAnimateElement.cpp: 70799 * ksvg2/svg/SVGAnimateTransformElement.cpp: 70800 (WebCore::SVGAnimateTransformElement::applyAnimationToValue): added. 70801 * ksvg2/svg/SVGAnimateTransformElement.h: 70802 * ksvg2/svg/SVGAnimationElement.cpp: 70803 (WebCore::calculateTimePercentage): logic moved from SVGTimer 70804 (WebCore::SVGAnimationElement::updateForElapsedSeconds): logic moved from SVGTimer 70805 * ksvg2/svg/SVGAnimationElement.h: 70806 * ksvg2/svg/SVGTransformList.cpp: 70807 (SVGTransformList::concatenate): fixed spacing 70808 70809 2007-01-01 Eric Seidel <eric (a] webkit.org> 70810 70811 Reviewed by olliej. 70812 70813 Split out animationsByElement() logic in preparation for adding AnimationCompositor class 70814 Add addColorsAndClamp helper (since adding and clamping is the common case) 70815 70816 * ksvg2/misc/SVGTimer.cpp: 70817 (WebCore::SVGTimer::animationsByElement): split out from notifyAll 70818 (WebCore::SVGTimer::notifyAll): 70819 * ksvg2/misc/SVGTimer.h: 70820 * ksvg2/svg/SVGAnimateColorElement.cpp: 70821 (WebCore::SVGAnimateColorElement::addColorsAndClamp): added. 70822 * ksvg2/svg/SVGAnimateColorElement.h: 70823 70824 2006-12-31 Eric Seidel <eric (a] webkit.org> 70825 70826 Reviewed by olliej. 70827 70828 Split KSVGTimeScheduler into SVGTimer and TimeScheduler. 70829 (Basic clean-up before re-working animation system) 70830 70831 * WebCore.xcodeproj/project.pbxproj: 70832 * ksvg2/misc/KSVGTimeScheduler.cpp: Removed. 70833 * ksvg2/misc/KSVGTimeScheduler.h: Removed. 70834 * ksvg2/misc/SVGTimer.cpp: Added. 70835 (WebCore::SVGTimer::SVGTimer): 70836 (WebCore::SVGTimer::calculateTimePercentage): 70837 (WebCore::SVGTimer::notifyAll): 70838 * ksvg2/misc/SVGTimer.h: Added. 70839 * ksvg2/misc/TimeScheduler.cpp: Added. 70840 (WebCore::TimeScheduler::TimeScheduler): 70841 70842 2006-12-31 Eric Seidel <eric (a] webkit.org> 70843 70844 Reviewed by olliej. 70845 70846 Re-enable animateTransform (now that SVGList is fixed) 70847 (Things are only "less broken" not totally fixed yet.) 70848 70849 * ksvg2/misc/KSVGTimeScheduler.cpp: 70850 (WebCore::SVGTimer::notifyAll): 70851 70852 2006-12-31 Mitz Pettel <mitz (a] webkit.org> 70853 70854 Reviewed by Hyatt. 70855 70856 - http://bugs.webkit.org/show_bug.cgi?id=12049 70857 RenderBlock::calcMinMaxWidth() should not examine children of fixed-width blocks 70858 70859 No test possible (no change to functionality). 70860 70861 * rendering/RenderBlock.cpp: 70862 (WebCore::RenderBlock::calcMinMaxWidth): Call calc{Inline,Block}MinMaxWidth() 70863 only if their result is needed. 70864 70865 == Rolled over to ChangeLog-2006-12-31 == 70866