Rubber-stamped by Brady Eidson.
[webbrowser.git] / WebCore / ChangeLog-2006-12-31
blob804ca3fc9d0f9fdc4e6e17d898815ab59de712b6
1 2006-12-31  Eric Seidel  <eric@webkit.org>
3         Reviewed by weinig.
5         Make SVGPathSeg construction take fewer lines of code.
7         * WebCore.xcodeproj/project.pbxproj:
8         * ksvg2/svg/SVGPathElement.cpp:
9         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
10         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
11         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
12         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
13         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
14         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
15         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
16         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
17         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
18         (WebCore::SVGPathElement::createSVGPathSegArcRel):
19         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
20         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
21         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
22         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
23         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
24         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
25         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
26         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
27         * ksvg2/svg/SVGPathSegArc.cpp:
28         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
29         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
30         * ksvg2/svg/SVGPathSegArc.h:
31         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
32         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
33         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
34         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
35         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
36         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
37         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
38         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
39         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
40         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
41         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
42         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
43         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
44         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
45         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
46         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
47         * ksvg2/svg/SVGPathSegLineto.cpp:
48         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
49         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
50         * ksvg2/svg/SVGPathSegLineto.h:
51         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
52         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
53         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
54         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
55         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
56         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
57         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
58         * ksvg2/svg/SVGPathSegLinetoVertical.h:
59         * ksvg2/svg/SVGPathSegMoveto.cpp:
60         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
61         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
62         * ksvg2/svg/SVGPathSegMoveto.h:
64 2006-12-31  Eric Seidel  <eric@webkit.org>
66         Reviewed by weinig.
68         Implement path length measuring for SVGPathElement::getTotalLength and friends.
69         http://bugs.webkit.org/show_bug.cgi?id=12033
71         * WebCore.xcodeproj/project.pbxproj:
72         * ksvg2/svg/SVGPathElement.cpp:
73         (WebCore::SVGPathElement::getTotalLength):
74         (WebCore::SVGPathElement::getPointAtLength):
75         * platform/graphics/Path.cpp:
76         (WebCore::pathLengthApplierFunction):
77         (WebCore::Path::length):
78         (WebCore::Path::pointAtLength):
79         * platform/graphics/Path.h:
80         * platform/graphics/PathTraversalState.cpp: Added.
81         (WebCore::midPoint):
82         (WebCore::distanceLine):
83         (WebCore::QuadraticBezier::QuadraticBezier):
84         (WebCore::QuadraticBezier::approximateDistance):
85         (WebCore::QuadraticBezier::split):
86         (WebCore::CubicBezier::CubicBezier):
87         (WebCore::CubicBezier::approximateDistance):
88         (WebCore::CubicBezier::split):
89         (WebCore::curveLength):
90         (WebCore::PathTraversalState::PathTraversalState):
91         (WebCore::PathTraversalState::closeSubpath):
92         (WebCore::PathTraversalState::moveTo):
93         (WebCore::PathTraversalState::lineTo):
94         (WebCore::PathTraversalState::quadraticBezierTo):
95         (WebCore::PathTraversalState::cubicBezierTo):
96         * platform/graphics/PathTraversalState.h: Added.
97         (WebCore::PathTraversalState::):
99 2006-12-31  Sam Weinig  <sam@webkit.org>
101         Reviewed by Mitz.
103         Move the SVGZoomAndPanType enum out of SVGSVGElement and
104         SVGViewElement and into SVGZoomAndPan where it belongs.
106         * ksvg2/svg/SVGSVGElement.h:
107         * ksvg2/svg/SVGViewElement.h:
108         * ksvg2/svg/SVGZoomAndPan.cpp:
109         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
110         (WebCore::SVGZoomAndPan::parseMappedAttribute):
111         * ksvg2/svg/SVGZoomAndPan.h:
112         (WebCore::SVGZoomAndPan::):
114 2006-12-31  Mitz Pettel  <mitz@webkit.org>
116         Reviewed by Hyatt.
118         - fix http://bugs.webkit.org/show_bug.cgi?id=9659
119           Quirksmode: Fixed / Overflow > Positioned objects get hidden when scrolling
121         Added a 'fixed' flag to ClipRects, indicating that the cached rects are in
122         viewport coordinates. The flag is set (and scrolling is compensated for) for
123         fixed objects and their descendants.
125         * rendering/RenderLayer.cpp:
126         (WebCore::RenderLayer::calculateClipRects):
127         (WebCore::RenderLayer::calculateRects):
128         * rendering/RenderLayer.h:
129         (WebCore::ClipRects::ClipRects):
130         (WebCore::ClipRects::fixed):
132 2006-12-31  Mitz Pettel  <mitz@webkit.org>
134         Reviewed by Sam.
136         - fix http://bugs.webkit.org/show_bug.cgi?id=12037
137           For relatively positioned boxes in an RTL block, 'right' should win over 'left' if both are not 'auto'
139         Test: fast/block/positioning/relative-overconstrained.html
141         * rendering/RenderBox.cpp:
142         (WebCore::RenderBox::relativePositionOffsetX):
144 2006-12-30  Rob Buis  <buis@kde.org>
146         Reviewed by Eric.
148         http://bugs.webkit.org/show_bug.cgi?id=12004
149         Webkit doesnt handle omitting M at the start of path syntax well
151         Improve path parsing error handling.
153         * WebCore.xcodeproj/project.pbxproj:
154         * ksvg2/svg/SVGLength.cpp:
155         (WebCore::SVGLength::setValueAsString):
156         * ksvg2/svg/SVGParserUtilities.cpp:
157         (WebCore::SVGPathParser::parseSVG):
158         * ksvg2/svg/SVGParserUtilities.h:
159         * ksvg2/svg/SVGPathElement.cpp:
160         (WebCore::SVGPathElement::SVGPathElement):
161         (WebCore::SVGPathElement::parseMappedAttribute):
162         * ksvg2/svg/SVGPathElement.h:
163         * ksvg2/svg/SVGPolyElement.cpp:
164         (WebCore::SVGPolyElement::parseMappedAttribute):
165         * ksvg2/svg/SVGPolyElement.h:
166         * ksvg2/svg/svgpathparser.cpp: Removed.
167         * ksvg2/svg/svgpathparser.h: Removed.
169 2006-12-30  RĂ©mi Zara  <remi_zara@mac.com>
171         Reviewed by Darin.
173         The marker is used for start, mid and end.
175         * ksvg2/css/SVGCSSParser.cpp:
176         (WebCore::CSSParser::parseSVGValue):
178 2006-12-30  Rob Buis  <buis@kde.org>
180         Reviewed by weinig.
182         http://bugs.webkit.org/show_bug.cgi?id=12035
183         Use SVGParserUtilities in lists of values
185         Use SVGParserUtilities in some more places.
187         * ksvg2/svg/SVGAnimationElement.cpp:
188         (WebCore::SVGAnimationElement::parseMappedAttribute):
189         (WebCore::SVGAnimationElement::parseClockValue):
190         (WebCore::SVGAnimationElement::detectAnimationMode):
191         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
192         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
193         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
194         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
195         (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
196         * ksvg2/svg/SVGFEGaussianBlurElement.h:
197         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
198         (WebCore::SVGFESpecularLightingElement::parseMappedAttribute):
199         * ksvg2/svg/SVGFESpecularLightingElement.h:
200         * ksvg2/svg/SVGFETurbulenceElement.cpp:
201         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
202         * ksvg2/svg/SVGFETurbulenceElement.h:
203         * ksvg2/svg/SVGLengthList.cpp:
204         (WebCore::SVGLengthList::parse):
205         * ksvg2/svg/SVGNumberList.cpp:
206         (WebCore::SVGNumberList::parse):
207         * ksvg2/svg/SVGNumberList.h:
208         * ksvg2/svg/SVGStringList.cpp:
209         (WebCore::SVGStringList::reset):
210         (WebCore::SVGStringList::parse):
211         * ksvg2/svg/SVGStringList.h:
213 2006-12-30  Rob Buis  <buis@kde.org>
215         Reviewed by weinig.
217         http://bugs.webkit.org/show_bug.cgi?id=12034
218         Adapt preserveAspectRatio parsing to SVGParserUtilities
220         Use the new SVGParserUtilities methods to parse prserveAspectRatio attribute.
222         * ksvg2/svg/SVGParserUtilities.h:
223         (WebCore::checkString):
224         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
225         (WebCore::):
226         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
227         * ksvg2/svg/SVGTransformable.cpp:
229 2006-12-30  Mitz Pettel  <mitz@webkit.org>
231         Reviewed by Alexey.
233         - remove unused member variables m_loadingSheet and m_bAllDataReceived
235         No test possible (no change to functionality).
237         * dom/Document.cpp:
238         (WebCore::Document::Document):
239         (WebCore::Document::setCSSStyleSheet):
240         * dom/Document.h:
242 2006-12-30  Alexey Proskuryakov  <ap@webkit.org>
244         Reviewed by Mitz.
246         http://bugs.webkit.org/show_bug.cgi?id=11998
247         Incorrect serialization of quotation marks in XML attributes.
249         Test: fast/dom/serialize-attribute.xhtml
251         * editing/markup.cpp:
252         (WebCore::escapeTextForMarkup): Added an isAttributeValue parameter, as the quotation mark
253         only needs to be encoded in attribute values.
254         (WebCore::startMarkup): Pass appropriate isAttributeValue to escapeTextForMarkup().
256 2006-12-29  David Kilzer  <ddkilzer@webkit.org>
258         Build fix for no-svg build.
260         Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT.
262         * bindings/js/kjs_css.cpp:
263         (KJS::toJS):
264         * loader/CachedImage.cpp:
265         (WebCore::CachedImage::createImage):
267 2006-12-29  Geoffrey Garen  <ggaren@apple.com>
269         Reviewed by Brian Dash... err... Mark Rowe.
271         More cleanup in preparation for fixing <rdar://problem/4608404> 
272         WebScriptObject's _executionContext lack of ownership policy causes 
273         crashes (e.g., in Dashcode)
274         
275         The key change here is to RootObject::RootObject().
276         
277         Layout tests pass.
278         
279         Renamed "_bindingRoot" => "_bindingRootObject" because "RootObject" is the
280         type name.
281         
282         * bindings/objc/WebScriptObject.mm:
283         (_didExecute): Use Interpreter::globalObject(), since RootObject::rootObjectImp() 
284         no longer exists.
286         * page/mac/FrameMac.mm:
287         (WebCore::FrameMac::bindingRootObject): Use the new RootObject constructor.
288         Stop lying about who deletes _bindingRoot.
290         (WebCore::FrameMac::cleanupPluginObjects): => "destroy". Fixed a bug where
291         the RootObject would only free its own memory if there were a ReferencesSet*
292         associated with it.
294         * page/mac/WebCoreFrameBridge.mm:
295         (-[WebCoreFrameBridge rootObjectForView:]): Use new constructor. Changed
296         misleading comment.
298 2006-12-29  Rob Buis  <buis@kde.org>
300         Reviewed by Eric.
302         http://bugs.webkit.org/show_bug.cgi?id=12007
303         SVGColor::setRGBColor color creates/deletes many strings, slowing down parsing
305         Refactor code so svg reuses cssparser methods. Also make
306         SVGColor and SVGPaint more efficient by avoiding using
307         setRGBColor internally.
309         * bindings/js/kjs_css.cpp:
310         (KJS::toJS):
311         * css/cssparser.cpp:
312         (WebCore::CSSParser::parseColor):
313         (WebCore::CSSParser::parseColorFromValue):
314         (WebCore::CSSParser::parseShadow):
315         * css/cssparser.h:
316         * ksvg2/css/SVGCSSParser.cpp:
317         (WebCore::CSSParser::parseSVGPaint):
318         (WebCore::CSSParser::parseSVGColor):
319         * ksvg2/svg/SVGColor.cpp:
320         (WebCore::SVGColor::SVGColor):
321         (WebCore::SVGColor::setRGBColor):
322         (WebCore::SVGColor::cssText):
323         * ksvg2/svg/SVGColor.h:
324         * ksvg2/svg/SVGPaint.cpp:
325         (WebCore::SVGPaint::SVGPaint):
326         * ksvg2/svg/SVGPaint.h:
327         * platform/graphics/Color.cpp:
328         (WebCore::Color::parseHexColor):
329         * platform/graphics/Color.h:
331 2006-12-29  Rob Buis  <buis@kde.org>
333         Reviewed by weinig.
335         http://bugs.webkit.org/show_bug.cgi?id=12022
336         typo in SVGTransformable.cpp introduce in r18440
337      
338         Use the helper method proposed by Eric.
340         * ksvg2/svg/SVGTransformable.cpp:
341         (WebCore::checkString):
342         (WebCore::):
343         (WebCore::SVGTransformable::parseTransformAttribute):
345 2006-12-29  Rob Buis  <buis@kde.org>
347         Reviewed by Eric.
349         http://bugs.webkit.org/show_bug.cgi?id=12028
350         Adapt viewBox parsing to SVGParserUtilities
352         Use the new parseNumber and add tests for viewBox parsing.
354         * ksvg2/svg/SVGFitToViewBox.cpp:
355         (WebCore::SVGFitToViewBox::parseViewBox):
357 2006-12-29  Geoffrey Garen  <ggaren@apple.com>
359         Build fix: SVGImage only works on Mac.
361         * loader/CachedImage.cpp:
362         (WebCore::CachedImage::createImage):
364 2006-12-29  Sam Weinig  <sam@webkit.org>
366         Reviewed by Geoff.
368         Patch for http://bugs.webkit.org/show_bug.cgi?id=12018
369         Cleanup of CSSRule and its subclasses
371         - Make CSSRule::type() virtual instead of using a member variable.
372         - General style cleanup.
374         * WebCore.xcodeproj/project.pbxproj:
375         * css/CSSCharsetRule.cpp:
376         (WebCore::CSSCharsetRule::CSSCharsetRule):
377         * css/CSSCharsetRule.h:
378         (WebCore::CSSCharsetRule::isCharsetRule):
379         (WebCore::CSSCharsetRule::type):
380         * css/CSSFontFaceRule.cpp:
381         (WebCore::CSSFontFaceRule::CSSFontFaceRule):
382         (WebCore::CSSFontFaceRule::cssText):
383         * css/CSSFontFaceRule.h:
384         (WebCore::CSSFontFaceRule::isFontFaceRule):
385         (WebCore::CSSFontFaceRule::type):
386         * css/CSSImportRule.cpp:
387         (WebCore::CSSImportRule::CSSImportRule):
388         (WebCore::CSSImportRule::setCSSStyleSheet):
389         (WebCore::CSSImportRule::insertedIntoParent):
390         * css/CSSImportRule.h:
391         (WebCore::CSSImportRule::isImportRule):
392         (WebCore::CSSImportRule::type):
393         * css/CSSMediaRule.cpp:
394         (WebCore::CSSMediaRule::CSSMediaRule):
395         (WebCore::CSSMediaRule::insertRule):
396         (WebCore::CSSMediaRule::deleteRule):
397         (WebCore::CSSMediaRule::cssText):
398         * css/CSSMediaRule.h:
399         (WebCore::CSSMediaRule::isMediaRule):
400         (WebCore::CSSMediaRule::type):
401         * css/CSSPageRule.cpp:
402         (WebCore::CSSPageRule::CSSPageRule):
403         (WebCore::CSSPageRule::selectorText):
404         (WebCore::CSSPageRule::setSelectorText):
405         (WebCore::CSSPageRule::cssText):
406         * css/CSSPageRule.h:
407         (WebCore::CSSPageRule::style):
408         (WebCore::CSSPageRule::type):
409         * css/CSSRule.cpp:
410         (WebCore::CSSRule::cssText):
411         (WebCore::CSSRule::setCssText):
412         * css/CSSRule.h:
413         (WebCore::CSSRule::):
414         (WebCore::CSSRule::CSSRule):
415         * css/CSSStyleRule.cpp:
416         (WebCore::CSSStyleRule::CSSStyleRule):
417         (WebCore::CSSStyleRule::setSelectorText):
418         (WebCore::CSSStyleRule::cssText):
419         (WebCore::CSSStyleRule::parseString):
420         * css/CSSStyleRule.h:
421         (WebCore::CSSStyleRule::isStyleRule):
422         (WebCore::CSSStyleRule::style):
423         (WebCore::CSSStyleRule::type):
424         * css/CSSUnknownRule.h:
425         (WebCore::CSSUnknownRule::CSSUnknownRule):
426         (WebCore::CSSUnknownRule::type):
428 2006-12-29  Eric Seidel  <eric@webkit.org>
430         Reviewed by ap.
432         * platform/graphics/svg/SVGImage.cpp:
433         (WebCore::SVGImage::size): explicitly cast to integers to prevent compile error
435 2006-12-29  George Staikos  <staikos@kde.org>
437         Reviewed by Sam.
439         Don't crash on sites such as www.apple.com.  Painter was ended incorrectly among other issues.
441         * platform/graphics/qt/GraphicsContextQt.cpp:
442         (WebCore::TransparencyLayer::TransparencyLayer):
443         (WebCore::TransparencyLayer::cleanup):
444         (WebCore::GraphicsContext::endTransparencyLayer):
445         * platform/qt/ScrollViewCanvasQt.cpp:
446         (WebCore::ScrollViewCanvasQt::paintEvent):
448 2006-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
450         Build fixed, not reviewed. Noticed by Daniel Molkentin.
452         * platform/graphics/svg/SVGImage.h: s/WTF/wtf/ in include.
454 2006-12-29  Eric Seidel  <eric@webkit.org>
456         Reviewed by olliej.
458         * platform/graphics/svg/SVGImageEmptyClients.h:
459         (WebCore::SVGEmptyCromeClient::scaleFactor):  build fix, use 1.f instead of 1f
461 2006-12-29  Eric Seidel  <eric@webkit.org>
463         Reviewed by hyatt.
465         New tests:
466         * fast/images/svg-as-image.html
467         * fast/images/svg-as-background.html
468         * fast/images/svg-as-tiled-background.html
469         
470         Implement basic SVGImage support.
471         http://bugs.webkit.org/show_bug.cgi?id=5971
472         
473         This implementation depends on (rather ugly) stub Page and Frame clients in SVGImageEmptyClients.h
475         * WebCore.xcodeproj/project.pbxproj: add SVGImage.*
476         * ksvg2/svg/SVGFEImageElement.cpp:
477         (WebCore::SVGFEImageElement::parseMappedAttribute): ignore fragment urls
478         * loader/CachedImage.cpp:
479         (WebCore::CachedImage::createImage):
480         * platform/graphics/Image.h: made setData virtual
481         * platform/graphics/cg/PDFDocumentImage.cpp:
482         (WebCore::PDFDocumentImage::drawTiled): stub method
483         * platform/graphics/cg/PDFDocumentImage.h:
484         * platform/graphics/svg/SVGImage.cpp: Added.
485         (WebCore::SVGImage::SVGImage):
486         (WebCore::SVGImage::~SVGImage):
487         (WebCore::SVGImage::size):
488         (WebCore::SVGImage::draw):
489         (WebCore::SVGImage::drawTiled): stub method
490         (WebCore::SVGImage::setData):
491         * platform/graphics/svg/SVGImage.h: Added.
492         (WebCore::SVGImage::frameAtIndex):
493         * platform/graphics/svg/SVGImageEmptyClients.h: Added.
494         (WebCore::SVGEmptyCromeClient::~SVGEmptyCromeClient):
495         (WebCore::SVGEmptyCromeClient::chromeDestroyed):
496         (WebCore::SVGEmptyCromeClient::setWindowRect):
497         (WebCore::SVGEmptyCromeClient::windowRect):
498         (WebCore::SVGEmptyCromeClient::pageRect):
499         (WebCore::SVGEmptyCromeClient::scaleFactor):
500         (WebCore::SVGEmptyCromeClient::focus):
501         (WebCore::SVGEmptyCromeClient::unfocus):
502         (WebCore::SVGEmptyCromeClient::createWindow):
503         (WebCore::SVGEmptyCromeClient::createModalDialog):
504         (WebCore::SVGEmptyCromeClient::show):
505         (WebCore::SVGEmptyCromeClient::canRunModal):
506         (WebCore::SVGEmptyCromeClient::runModal):
507         (WebCore::SVGEmptyCromeClient::setToolbarsVisible):
508         (WebCore::SVGEmptyCromeClient::toolbarsVisible):
509         (WebCore::SVGEmptyCromeClient::setStatusbarVisible):
510         (WebCore::SVGEmptyCromeClient::statusbarVisible):
511         (WebCore::SVGEmptyCromeClient::setScrollbarsVisible):
512         (WebCore::SVGEmptyCromeClient::scrollbarsVisible):
513         (WebCore::SVGEmptyCromeClient::setMenubarVisible):
514         (WebCore::SVGEmptyCromeClient::menubarVisible):
515         (WebCore::SVGEmptyCromeClient::setResizable):
516         (WebCore::SVGEmptyCromeClient::addMessageToConsole):
517         (WebCore::SVGEmptyCromeClient::canRunBeforeUnloadConfirmPanel):
518         (WebCore::SVGEmptyCromeClient::runBeforeUnloadConfirmPanel):
519         (WebCore::SVGEmptyCromeClient::closeWindowSoon):
520         (WebCore::SVGEmptyFrameLoaderClient::~SVGEmptyFrameLoaderClient):
521         (WebCore::SVGEmptyFrameLoaderClient::frameLoaderDestroyed):
522         (WebCore::SVGEmptyFrameLoaderClient::hasWebView):
523         (WebCore::SVGEmptyFrameLoaderClient::hasFrameView):
524         (WebCore::SVGEmptyFrameLoaderClient::hasBackForwardList):
525         (WebCore::SVGEmptyFrameLoaderClient::resetBackForwardList):
526         (WebCore::SVGEmptyFrameLoaderClient::provisionalItemIsTarget):
527         (WebCore::SVGEmptyFrameLoaderClient::loadProvisionalItemFromPageCache):
528         (WebCore::SVGEmptyFrameLoaderClient::invalidateCurrentItemPageCache):
529         (WebCore::SVGEmptyFrameLoaderClient::privateBrowsingEnabled):
530         (WebCore::SVGEmptyFrameLoaderClient::makeDocumentView):
531         (WebCore::SVGEmptyFrameLoaderClient::makeRepresentation):
532         (WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromPageCache):
533         (WebCore::SVGEmptyFrameLoaderClient::forceLayout):
534         (WebCore::SVGEmptyFrameLoaderClient::forceLayoutForNonHTML):
535         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForCommit):
536         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForBackForwardNavigation):
537         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForReload):
538         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForStandardLoad):
539         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForInternalLoad):
540         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryAfterClientRedirect):
541         (WebCore::SVGEmptyFrameLoaderClient::setCopiesOnScroll):
542         (WebCore::SVGEmptyFrameLoaderClient::tokenForLoadErrorReset):
543         (WebCore::SVGEmptyFrameLoaderClient::resetAfterLoadError):
544         (WebCore::SVGEmptyFrameLoaderClient::doNotResetAfterLoadError):
545         (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent1):
546         (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent2):
547         (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent3):
548         (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent4):
549         (WebCore::SVGEmptyFrameLoaderClient::loadedFromPageCache):
550         (WebCore::SVGEmptyFrameLoaderClient::download):
551         (WebCore::SVGEmptyFrameLoaderClient::dispatchIdentifierForInitialRequest):
552         (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest):
553         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
554         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
555         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveResponse):
556         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveContentLength):
557         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoading):
558         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoading):
559         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
560         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidHandleOnloadEvents):
561         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
562         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelClientRedirect):
563         (WebCore::SVGEmptyFrameLoaderClient::dispatchWillPerformClientRedirect):
564         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidChangeLocationWithinPage):
565         (WebCore::SVGEmptyFrameLoaderClient::dispatchWillClose):
566         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveIcon):
567         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidStartProvisionalLoad):
568         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveTitle):
569         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCommitLoad):
570         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailProvisionalLoad):
571         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoad):
572         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoad):
573         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFirstLayout):
574         (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage):
575         (WebCore::SVGEmptyFrameLoaderClient::dispatchShow):
576         (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForMIMEType):
577         (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
578         (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
579         (WebCore::SVGEmptyFrameLoaderClient::cancelPolicyCheck):
580         (WebCore::SVGEmptyFrameLoaderClient::dispatchUnableToImplementPolicy):
581         (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSubmitForm):
582         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadMainResource):
583         (WebCore::SVGEmptyFrameLoaderClient::clearLoadingFromPageCache):
584         (WebCore::SVGEmptyFrameLoaderClient::isLoadingFromPageCache):
585         (WebCore::SVGEmptyFrameLoaderClient::revertToProvisionalState):
586         (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError):
587         (WebCore::SVGEmptyFrameLoaderClient::clearUnarchivingState):
588         (WebCore::SVGEmptyFrameLoaderClient::progressStarted):
589         (WebCore::SVGEmptyFrameLoaderClient::progressCompleted):
590         (WebCore::SVGEmptyFrameLoaderClient::incrementProgress):
591         (WebCore::SVGEmptyFrameLoaderClient::completeProgress):
592         (WebCore::SVGEmptyFrameLoaderClient::setMainFrameDocumentReady):
593         (WebCore::SVGEmptyFrameLoaderClient::startDownload):
594         (WebCore::SVGEmptyFrameLoaderClient::willChangeTitle):
595         (WebCore::SVGEmptyFrameLoaderClient::didChangeTitle):
596         (WebCore::SVGEmptyFrameLoaderClient::committedLoad):
597         (WebCore::SVGEmptyFrameLoaderClient::finishedLoading):
598         (WebCore::SVGEmptyFrameLoaderClient::finalSetupForReplace):
599         (WebCore::SVGEmptyFrameLoaderClient::cancelledError):
600         (WebCore::SVGEmptyFrameLoaderClient::cannotShowURLError):
601         (WebCore::SVGEmptyFrameLoaderClient::interruptForPolicyChangeError):
602         (WebCore::SVGEmptyFrameLoaderClient::cannotShowMIMETypeError):
603         (WebCore::SVGEmptyFrameLoaderClient::fileDoesNotExistError):
604         (WebCore::SVGEmptyFrameLoaderClient::shouldFallBack):
605         (WebCore::SVGEmptyFrameLoaderClient::setDefersLoading):
606         (WebCore::SVGEmptyFrameLoaderClient::willUseArchive):
607         (WebCore::SVGEmptyFrameLoaderClient::isArchiveLoadPending):
608         (WebCore::SVGEmptyFrameLoaderClient::cancelPendingArchiveLoad):
609         (WebCore::SVGEmptyFrameLoaderClient::clearArchivedResources):
610         (WebCore::SVGEmptyFrameLoaderClient::canHandleRequest):
611         (WebCore::SVGEmptyFrameLoaderClient::canShowMIMEType):
612         (WebCore::SVGEmptyFrameLoaderClient::representationExistsForURLScheme):
613         (WebCore::SVGEmptyFrameLoaderClient::generatedMIMETypeForURLScheme):
614         (WebCore::SVGEmptyFrameLoaderClient::frameLoadCompleted):
615         (WebCore::SVGEmptyFrameLoaderClient::restoreScrollPositionAndViewState):
616         (WebCore::SVGEmptyFrameLoaderClient::provisionalLoadStarted):
617         (WebCore::SVGEmptyFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
618         (WebCore::SVGEmptyFrameLoaderClient::addHistoryItemForFragmentScroll):
619         (WebCore::SVGEmptyFrameLoaderClient::didFinishLoad):
620         (WebCore::SVGEmptyFrameLoaderClient::prepareForDataSourceReplacement):
621         (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
622         (WebCore::SVGEmptyFrameLoaderClient::setTitle):
623         (WebCore::SVGEmptyFrameLoaderClient::userAgent):
624         (WebCore::SVGEmptyEditorClient::~SVGEmptyEditorClient):
625         (WebCore::SVGEmptyEditorClient::pageDestroyed):
626         (WebCore::SVGEmptyEditorClient::shouldDeleteRange):
627         (WebCore::SVGEmptyEditorClient::shouldShowDeleteInterface):
628         (WebCore::SVGEmptyEditorClient::smartInsertDeleteEnabled):
629         (WebCore::SVGEmptyEditorClient::isContinuousSpellCheckingEnabled):
630         (WebCore::SVGEmptyEditorClient::toggleContinuousSpellChecking):
631         (WebCore::SVGEmptyEditorClient::isGrammarCheckingEnabled):
632         (WebCore::SVGEmptyEditorClient::toggleGrammarChecking):
633         (WebCore::SVGEmptyEditorClient::spellCheckerDocumentTag):
634         (WebCore::SVGEmptyEditorClient::selectWordBeforeMenuEvent):
635         (WebCore::SVGEmptyEditorClient::isEditable):
636         (WebCore::SVGEmptyEditorClient::shouldBeginEditing):
637         (WebCore::SVGEmptyEditorClient::shouldEndEditing):
638         (WebCore::SVGEmptyEditorClient::shouldInsertNode):
639         (WebCore::SVGEmptyEditorClient::shouldInsertText):
640         (WebCore::SVGEmptyEditorClient::shouldApplyStyle):
641         (WebCore::SVGEmptyEditorClient::didBeginEditing):
642         (WebCore::SVGEmptyEditorClient::respondToChangedContents):
643         (WebCore::SVGEmptyEditorClient::didEndEditing):
644         (WebCore::SVGEmptyEditorClient::registerCommandForUndo):
645         (WebCore::SVGEmptyEditorClient::registerCommandForRedo):
646         (WebCore::SVGEmptyEditorClient::clearUndoRedoOperations):
647         (WebCore::SVGEmptyEditorClient::canUndo):
648         (WebCore::SVGEmptyEditorClient::canRedo):
649         (WebCore::SVGEmptyEditorClient::undo):
650         (WebCore::SVGEmptyEditorClient::redo):
651         (WebCore::SVGEmptyEditorClient::dataForArchivedSelection):
652         (WebCore::SVGEmptyEditorClient::userVisibleString):
653         (WebCore::SVGEmptyContextMenuClient::~SVGEmptyContextMenuClient):
654         (WebCore::SVGEmptyContextMenuClient::contextMenuDestroyed):
655         (WebCore::SVGEmptyContextMenuClient::addCustomContextMenuItems):
656         (WebCore::SVGEmptyContextMenuClient::contextMenuItemSelected):
657         (WebCore::SVGEmptyContextMenuClient::downloadURL):
658         (WebCore::SVGEmptyContextMenuClient::copyImageToClipboard):
659         (WebCore::SVGEmptyContextMenuClient::lookUpInDictionary):
660         (WebCore::SVGEmptyContextMenuClient::speak):
661         (WebCore::SVGEmptyContextMenuClient::stopSpeaking):
662         (WebCore::SVGEmptyContextMenuClient::searchWithSpotlight):
664 2006-12-29  George Staikos  <staikos@kde.org>
666         Reviewed by Olliej.
668         Make redirects work properly.  Sites will thank us for this. :-)
670         * platform/network/qt/ResourceHandleManagerQt.cpp:
671         (WebCore::ResourceHandleManager::receivedResponse):
673 2006-12-28  George Staikos  <staikos@kde.org>
675         Reviewed by Olliej.
677         * loader/CachedImage.cpp: build for Qt
679 2006-12-28  Daniel Molkentin <molkentin@kde.org>
681         Reviewed by Eric Seidel <eric@webkit.org>
683         - Fix font sizes
684         - Make Qt platform build again:
685           - Adjust Qt platform to the Image class split.
686           - Introduce BitmapImage class
687           - add stub PDFDocumentImage class
689         * WebCore.pro:
690         * editing/qt/EditorQt.cpp:
691         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
692         * loader/qt/FrameLoaderQt.cpp:
693         (WebCore::FrameLoader::partClearedInBegin):
694         * platform/graphics/qt/ImageQt.cpp:
695         (WebCore::BitmapImage::initPlatformData):
696         (WebCore::BitmapImage::invalidatePlatformData):
697         (WebCore::Image::loadPlatformResource):
698         (WebCore::BitmapImage::draw):
699         (WebCore::BitmapImage::drawTiled):
700         (WebCore::BitmapImage::checkForSolidColor):
701         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
702         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
703         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
704         (WebCore::SVGPaintServerLinearGradient::setup):
705         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
706         (WebCore::SVGPaintServerPattern::setup):
707         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
708         (WebCore::SVGPaintServer::teardown):
709         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
710         (WebCore::SVGPaintServerRadialGradient::setup):
711         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
712         (WebCore::SVGPaintServerSolid::setup):
713         * platform/qt/FrameQt.cpp:
714         (WebCore::FrameQt::FrameQt):
715         (WebCore::FrameQt::bindingRootObject):
717 2006-12-28  Geoffrey Garen  <ggaren@apple.com>
719         Reviewed by Brady Eidson.
720         
721         Some cleanup in preparation for fixing <rdar://problem/4608404> 
722         WebScriptObject's _executionContext lack of ownership policy causes 
723         crashes (e.g., in Dashcode)
724         
725         Layout tests pass.
727         Renamed "root" | "execContext" | "executionContext" => rootObject, because
728         that's the object's (admittedly vague) type name.
729         
730         * bindings/js/kjs_binding.cpp:
731         * bindings/js/kjs_binding.h: Removed createLanguageInstanceForValue
732         and createObjcInstanceForValue because their only purpose was to confuse you.
733         
734         * bindings/objc/DOMInternal.h: Moved declaration of createDOMWrapper here.
735         createDOMWrapper is the new name for createObjcInstanceForValue.
736         
737         * bindings/objc/DOMInternal.mm: Renamed Interpreter::createObjcInstanceForValue
738         to createDOMWrapper because creating DOM wrappers has nothing to do with the interpreter,
739         and everything to do with the DOM. Renamed value to object because it is one.
740         Removed newObj nil check that is unnecessary in ObjC.
742         * bindings/objc/WebScriptObject.mm: Replaced call to createLanguageInstanceForValue
743         with explicit code to do the same thing it would have done: (1) try to create 
744         a DOM wrapper; (2) if the object is not a wrappable DOM object, create a 
745         vanilla WebScriptObject for it instead.
747 2006-12-28  Mitz Pettel  <mitz@webkit.org>
749         Reviewed by Darin.
751         - fix http://bugs.webkit.org/show_bug.cgi?id=11729
752           REGRESSION: Crash closing page with frames after selection
754         * loader/FrameLoader.cpp:
755         (WebCore::FrameLoader::detachFromParent): Added call to pageDestroyed().
756         * page/FrameTree.cpp:
757         (WebCore::FrameTree::appendChild): Added an assertion that the parent and
758         the child are in the same page.
759         (WebCore::FrameTree::removeChild): Added calls to decrementFrameCount() and pageDestroyed().
761 2006-12-28  David Kilzer  <ddkilzer@webkit.org>
763         Reviewed by Mitz.
765         - fix http://bugs.webkit.org/show_bug.cgi?id=12016
766           REGRESSION: fast/text/stroking-decorations.html test fails with bus error in no-svg build
768         No test cases (no change in functionality).
770         * platform/TextStream.cpp: Properly initialize presicionFormats.
771         * rendering/RenderTreeAsText.cpp:
772         (WebCore::externalRepresentation): HTML tests now print out the stroke width, which is a float,
773         so the precision needs to be set.
775 2006-12-28  Eric Seidel  <eric@webkit.org>
777         Reviewed by rwlbuis.
779         Fix for memory smasher when drawing markers.
780         http://bugs.webkit.org/show_bug.cgi?id=12015
781         
782         No test case possible (crashes for some folks but not others, not even under --guard)
784         * platform/graphics/cg/PathCG.cpp:
785         (WebCore::CGPathApplierToPathApplier): array was too small
787 2006-12-28  Mitz Pettel  <mitz@webkit.org>
789         Reviewed by Darin.
791         - fix http://bugs.webkit.org/show_bug.cgi?id=11124
792           REGRESSION (r14297): No drag image for partially-selected complex text
794         Test: fast/text/atsui-partial-selection.html
796         * platform/Font.h: Changed comment.
797         * platform/mac/FontMac.mm:
798         (WebCore::Font::drawComplexText): Corrected the run length calculation.
799         Changed the ATSUI layout parameters to know about the entire text run, rather
800         than just the range we are drawing. ATSUI measures the characters before
801         the range and positions the range accordingly.
803 2006-12-28  Mitz Pettel  <mitz@webkit.org>
805         Reviewed by Darin.
807         - fix http://bugs.webkit.org/show_bug.cgi?id=9202
808           CSS3: border-radius not completely implemented, testcase hangs webkit
810         Test: fast/borders/borderRadiusAllStylesAllCorners.html
812         * rendering/RenderObject.cpp:
813         (WebCore::RenderObject::paintBorder): Changed to not draw "arcs" at straight
814         corners and to paint half-corners only where the styles mismatch.
815         Corrected the condition for matching styles: ridge, groove, inset and outset
816         all mismatch in the upper right and lower left corners and match in the other
817         two. The incorrect condition for a match was (almost) unnoticeable because of
818         the painting of both half-corners on each side that had at least one mismatch.
820 2006-12-28  Alexey Proskuryakov  <ap@webkit.org>
822         Reverting the previous checkin, as it caused an assertion in layout tests.
824         * rendering/RenderTableCell.cpp:
825         (WebCore::RenderTableCell::borderLeft):
826         (WebCore::RenderTableCell::borderRight):
827         (WebCore::RenderTableCell::borderTop):
828         (WebCore::RenderTableCell::borderBottom):
829         * rendering/RenderTableCell.h:
831 2006-12-28  Mitz Pettel  <mitz@webkit.org>
833         Reviewed by Darin.
835         - fix http://bugs.webkit.org/show_bug.cgi?id=11359
836           Incomplete repaint of table cell's collapsed border when changing only the cell
838         Test: fast/repaint/table-cell-collapsed-border.html
840         * rendering/RenderTableCell.cpp:
841         (WebCore::RenderTableCell::getAbsoluteRepaintRect): Overloaded to add the
842         outer half of any collapsed borders. This function checks the cell's borders'
843         widths but also the widths of the adjoining cells' borders, since they can
844         contribute to the length of this cell's borders perpendicular to them, making
845         such a border overflow the cell in both dimensions.
846         (WebCore::RenderTableCell::borderLeft): Split the collapsing borders case off to
847         borderHalfLeft().
848         (WebCore::RenderTableCell::borderRight): Ditto.
849         (WebCore::RenderTableCell::borderTop): Ditto.
850         (WebCore::RenderTableCell::borderBottom): Ditto.
851         (WebCore::RenderTableCell::borderHalfLeft): Added. Takes an 'outer' boolean
852         parameter. When true, this function returns the width of the part of the border
853         that is outside the cell (different from the inner width when the total width is odd).
854         (WebCore::RenderTableCell::borderHalfRight): Ditto.
855         (WebCore::RenderTableCell::borderHalfTop): Ditto.
856         (WebCore::RenderTableCell::borderHalfBottom): Ditto.
857         * rendering/RenderTableCell.h:
859 2006-12-28  Mitz Pettel  <mitz@webkit.org>
861         Reviewed by Alexey.
863         - fix http://bugs.webkit.org/show_bug.cgi?id=11671
864           REGRESSION (r13702): text-transform: capitalize changes non-breaking spaces to spaces
866         Test: fast/text/capitalize-preserve-nbsp.html
868         * platform/StringImpl.cpp:
869         (WebCore::StringImpl::capitalize): Copy back non-breaking spaces from the
870         original string to the capitalized string. Change a 'previous' non-breaking
871         space into a space (this improves the fix for <rdar://problem/4502311> from r13702).
873 2006-12-28  Mitz Pettel  <mitz@webkit.org>
875         Reviewed by Darin.
877         - fix http://bugs.webkit.org/show_bug.cgi?id=10699
878           div with border-radius does not redraw properly if element inside div is resized
880         Test: fast/repaint/border-radius-repaint.html
882         * rendering/RenderObject.cpp:
883         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
885 2006-12-28  Darin Adler  <darin@apple.com>
887         * loader/CachedImage.cpp: (WebCore::CachedImage::createImage):
888         Fixed an #ifdef PLATFORM(CG) that should be #if PLATFORM(CG).
889         Might have broken the build on some platforms.
891 2006-12-27  Geoffrey Garen  <ggaren@apple.com>
893         Build fix, plus a few "double &" => "double&" changes.
894         
895         * ksvg2/svg/SVGParserUtilities.cpp:
896         (WebCore::parseNumber):
897         (WebCore::SVGPathParser::calculateArc):
899 2006-12-27  Oliver Hunt <oliver@apple.com> 
901         Build fix
903         * platform/graphics/BitmapImage.h:
904         * platform/graphics/Image.cpp:
905         * platform/graphics/Image.h:
906         (WebCore::Image::getHBITMAP):
907         * platform/graphics/cg/PDFDocumentImage.cpp:
908         (WebCore::PDFDocumentImage::PDFDocumentImage):
910 2006-12-27  Eric Seidel  <eric@webkit.org>
912         Reviewed by olliej.
914         Add new PDFDocumentImage and BitmapImage classes (subclasses of Image)
915         (In preparation for adding SVGImage as part of bug 5971)
916         http://bugs.webkit.org/show_bug.cgi?id=11990
917         
918         Test cases landed separately as part of filing bug 11992.
920         * WebCore.xcodeproj/project.pbxproj: add BitmapImage.*
921         * loader/CachedImage.cpp:
922         (WebCore::nullImage): use BitmapImage directly
923         (WebCore::CachedImage::createImage): now create either BitmapImage or PDFDocumentImage directly
924         * loader/icon/IconDataCache.cpp:
925         (WebCore::IconDataCache::setImageData): use BitmapImage directly
926         * platform/graphics/BitmapImage.cpp: Added.
927         (WebCore::BitmapImage::BitmapImage):
928         (WebCore::BitmapImage::~BitmapImage):
929         (WebCore::BitmapImage::invalidateData):
930         (WebCore::BitmapImage::cacheFrame):
931         (WebCore::BitmapImage::size):
932         (WebCore::BitmapImage::setNativeData):
933         (WebCore::BitmapImage::frameCount):
934         (WebCore::BitmapImage::isSizeAvailable):
935         (WebCore::BitmapImage::frameAtIndex):
936         (WebCore::BitmapImage::frameDurationAtIndex):
937         (WebCore::BitmapImage::frameHasAlphaAtIndex):
938         (WebCore::BitmapImage::shouldAnimate):
939         (WebCore::BitmapImage::startAnimation):
940         (WebCore::BitmapImage::stopAnimation):
941         (WebCore::BitmapImage::resetAnimation):
942         (WebCore::BitmapImage::advanceAnimation):
943         * platform/graphics/BitmapImage.h: Added.
944         (WebCore::FrameData::FrameData):
945         (WebCore::BitmapImage::nativeImageForCurrentFrame): added.
946         (WebCore::BitmapImage::currentFrame):
947         (WebCore::BitmapImage::mayFillWithSolidColor): added.
948         (WebCore::BitmapImage::solidColor): added.
949         * platform/graphics/Image.cpp:
950         (WebCore::Image::Image):
951         (WebCore::Image::~Image):
952         * platform/graphics/Image.h:
953         (WebCore::Image::setNativeData): now virtual
954         (WebCore::Image::stopAnimation): now virtual
955         (WebCore::Image::resetAnimation): now virtual
956         (WebCore::Image::getNSImage): now virtual
957         (WebCore::Image::getTIFFRepresentation): now virtual
958         (WebCore::Image::getCGImageRef): now virtual
959         * platform/graphics/cg/ImageCG.cpp:
960         (WebCore::BitmapImage::checkForSolidColor):
961         (WebCore::BitmapImage::getCGImageRef): use nativeImageForCurrentFrame
962         (WebCore::fillWithSolidColor): added
963         (WebCore::BitmapImage::draw):
964         (WebCore::drawPattern): use fillWithSolidColor, mayFillWithSolidColor() and solidcolor()
965         (WebCore::BitmapImage::drawTiled): use fillWithSolidColor, mayFillWithSolidColor() and solidcolor()
966         * platform/graphics/cg/PDFDocumentImage.cpp:
967         (WebCore::PDFDocumentImage::PDFDocumentImage):
968         (WebCore::PDFDocumentImage::size): change to subclass from Image
969         (WebCore::PDFDocumentImage::setNativeData):
970         (WebCore::PDFDocumentImage::draw):
971         * platform/graphics/cg/PDFDocumentImage.h:
972         (WebCore::PDFDocumentImage::drawTiled):
973         * platform/graphics/mac/ImageMac.mm:
974         (WebCore::BitmapImage::initPlatformData):
975         (WebCore::BitmapImage::invalidatePlatformData):
976         (WebCore::Image::loadPlatformResource):
977         (WebCore::BitmapImage::getTIFFRepresentation):
978         (WebCore::BitmapImage::getNSImage):
979         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
980         (WebCore::SVGFEImage::getCIFilter): remove soon-to-be unnecessary comment
981         * rendering/RenderImage.cpp:
982         (WebCore::RenderImage::nullImage): use BitmapImage
984 2006-12-27  Mitz Pettel  <mitz@webkit.org>
986         Reviewed by Hyatt.
988         - fix http://bugs.webkit.org/show_bug.cgi?id=11452
989           REGRESSION (r16736-r16801): Incorrect repaint of fixed boxes
991         Test: fast/repaint/fixed.html
993         * rendering/RenderView.cpp:
994         (WebCore::RenderView::computeAbsoluteRepaintRect): Re-added.
995         * rendering/RenderView.h:
997 2006-12-27  Mitz Pettel  <mitz@webkit.org>
999         Reviewed by Geoff.
1001         - fix http://bugs.webkit.org/show_bug.cgi?id=11930
1002           Specifying border-radius makes the outline shrink
1004         Test: fast/css/border-radius-outline-offset.html
1006         * css/cssstyleselector.cpp:
1007         (WebCore::CSSStyleSelector::applyProperty): Added missing return statement.
1009 2006-12-27  Rob Buis  <buis@kde.org>
1011         Reviewed by Eric.
1013         http://bugs.webkit.org/show_bug.cgi?id=11108
1014         Replace usage of split by proper parsers
1015         http://bugs.webkit.org/show_bug.cgi?id=11908
1016         WebKit spends 40% of its time displaying "bamboo.svg" executing Regexes
1018         Get rid of split() when parsing transform attribute.
1020         * CMakeLists.txt:
1021         * WebCore.xcodeproj/project.pbxproj:
1022         * ksvg2/svg/SVGParserUtilities.cpp: Added.
1023         (WebCore::parseNumber):
1024         (WebCore::parseNumberOptionalNumber):
1025         (WebCore::SVGPolyParser::parsePoints):
1026         (WebCore::SVGPathParser::parseSVG):
1027         (WebCore::SVGPathParser::calculateArc):
1028         (WebCore::SVGPathParser::svgLineToHorizontal):
1029         (WebCore::SVGPathParser::svgLineToVertical):
1030         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
1031         (WebCore::SVGPathParser::svgCurveToQuadratic):
1032         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
1033         (WebCore::SVGPathParser::svgArcTo):
1034         * ksvg2/svg/SVGParserUtilities.h: Added.
1035         (WebCore::isWhitespace):
1036         (WebCore::skipOptionalSpaces):
1037         (WebCore::skipOptionalSpacesOrDelimiter):
1038         (WebCore::SVGPolyParser::~SVGPolyParser):
1039         (WebCore::SVGPathParser::~SVGPathParser):
1040         * ksvg2/svg/SVGPathElement.cpp:
1041         (WebCore::SVGPathElement::SVGPathElement):
1042         * ksvg2/svg/SVGPathElement.h:
1043         * ksvg2/svg/SVGTransformable.cpp:
1044         (WebCore::parseTransformParamList):
1045         (WebCore::SVGTransformable::parseTransformAttribute):
1046         * ksvg2/svg/svgpathparser.cpp:
1047         (WebCore::DeprecatedSVGPathParser::parseSVG):
1048         (WebCore::DeprecatedSVGPathParser::calculateArc):
1049         (WebCore::DeprecatedSVGPathParser::svgLineToHorizontal):
1050         (WebCore::DeprecatedSVGPathParser::svgLineToVertical):
1051         (WebCore::DeprecatedSVGPathParser::svgCurveToCubicSmooth):
1052         (WebCore::DeprecatedSVGPathParser::svgCurveToQuadratic):
1053         (WebCore::DeprecatedSVGPathParser::svgCurveToQuadraticSmooth):
1054         (WebCore::DeprecatedSVGPathParser::svgArcTo):
1055         * ksvg2/svg/svgpathparser.h:
1056         (WebCore::DeprecatedSVGPathParser::~DeprecatedSVGPathParser):
1058 2006-12-27  Mitz Pettel  <mitz@webkit.org>
1060         Reviewed by Geoff.
1062         - http://bugs.webkit.org/show_bug.cgi?id=11968
1063           BidiContext's m_basicDir is redundant
1065         No test possible (no functionality change)
1067         * rendering/bidi.cpp:
1068         (WebCore::BidiContext::BidiContext):
1069         (WebCore::operator==):
1070         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Use the block's
1071         direction to resolve 'automatic' text-align.
1072         * rendering/bidi.h:
1073         (WebCore::BidiContext::dir):
1075 2006-12-27  Nikolas Zimmermann  <zimmermann@kde.org>
1077         Build fix, not reviewed.
1079         Accidently commited an older revision of this file.
1081         * platform/graphics/svg/SVGPaintServerPattern.h:
1083 2006-12-27  Nikolas Zimmermann  <zimmermann@kde.org>
1085         Reviewed by Mitz & Eric.
1087         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11904
1089         We need to cache the CGPatternRef (m_pattern) for efficiency
1090         in SVGPaintServerPatternCg, and keep track wheter the underlying
1091         ImageBuffer has changed, and only update the pattern in that case.
1093         * platform/graphics/svg/SVGPaintServerPattern.cpp:
1094         (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
1095         (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
1096         (WebCore::SVGPaintServerPattern::setTile):
1097         * platform/graphics/svg/SVGPaintServerPattern.h:
1098         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
1099         (WebCore::SVGPaintServerPattern::setup):
1100         (WebCore::SVGPaintServerPattern::teardown):
1102 2006-12-26  Geoffrey Garen  <ggaren@apple.com>
1104         Reviewed by Eric Seidel.
1106         Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject 
1107         from KJS::Bindings::CInstance::~CInstance
1108         
1109         No testcase because we can't open and close windows in DumpRenderTree.
1110         
1111         * loader/FrameLoader.cpp: Removed closeDocument helper function because
1112         its only purpose was to call didCloseDocument, which is gone now.
1113         (WebCore::FrameLoader::detachFromParent): closeDocument => closeURL, 
1114         since didCloseDocument is gone now.
1116         * loader/FrameLoaderClient.h: Removed didCloseDocument because it proved
1117         unnecessary and harmful.
1118         
1119         * loader/mac/FrameLoaderMac.mm:
1120         (WebCore::FrameLoader::transitionToCommitted): closeDocument => closeURL, 
1121         since didCloseDocument is gone now.
1123 2006-12-26  Eric Seidel  <eric@webkit.org>
1125         Reviewed by olliej.
1127         ASSERT while loading SVG map
1128         http://bugs.webkit.org/show_bug.cgi?id=11987
1130         * ksvg2/css/SVGCSSParser.cpp: remove a few .impl() calls previously missed.
1131         (WebCore::CSSParser::parseSVGValue):
1132         (WebCore::CSSParser::parseSVGPaint):
1133         (WebCore::CSSParser::parseSVGColor):
1134         * ksvg2/misc/KCanvasRenderingStyle.cpp: handle invalid colors
1135         (WebCore::KSVGPainterFactory::fillPaintServer):
1136         (WebCore::KSVGPainterFactory::strokePaintServer):
1138 2006-12-26  Eric Seidel  <eric@webkit.org>
1140         Reviewed by ggaren.
1142         No test cases changed.
1143         
1144         Remove unnecessary (and inefficient) .impl() and .deprecatedString() calls.
1145         http://bugs.webkit.org/show_bug.cgi?id=11989
1147         * bindings/js/kjs_dom.cpp:
1148         (KJS::DOMNodeList::getOwnPropertySlot):
1149         * dom/Document.cpp:
1150         (WebCore::Document::createAttributeNS):
1151         * dom/Element.cpp:
1152         (WebCore::Element::getAttributeNS):
1153         (WebCore::Element::setAttribute):
1154         (WebCore::Element::setAttributeNS):
1155         (WebCore::Element::removeAttributeNS):
1156         (WebCore::Element::getAttributeNode):
1157         (WebCore::Element::getAttributeNodeNS):
1158         (WebCore::Element::hasAttribute):
1159         (WebCore::Element::hasAttributeNS):
1160         * dom/NamedAttrMap.cpp:
1161         (WebCore::NamedAttrMap::getNamedItemNS):
1162         (WebCore::NamedAttrMap::removeNamedItemNS):
1163         * dom/ProcessingInstruction.cpp:
1164         (WebCore::ProcessingInstruction::checkStyleSheet):
1165         * html/HTMLBaseElement.cpp:
1166         (WebCore::HTMLBaseElement::process):
1167         * html/HTMLEmbedElement.cpp:
1168         (WebCore::HTMLEmbedElement::parseMappedAttribute):
1169         * html/HTMLEmbedElement.h:
1170         * html/HTMLHRElement.cpp:
1171         (WebCore::HTMLHRElement::parseMappedAttribute):
1172         * html/HTMLScriptElement.cpp:
1173         (WebCore::HTMLScriptElement::insertedIntoDocument):
1174         * html/HTMLStyleElement.cpp:
1175         (WebCore::HTMLStyleElement::parseMappedAttribute):
1176         * ksvg2/svg/SVGAnimateElement.cpp:
1177         (WebCore::SVGAnimateElement::handleTimerEvent):
1178         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1179         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
1180         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1181         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
1182         * ksvg2/svg/SVGFEImageElement.cpp:
1183         (WebCore::SVGFEImageElement::parseMappedAttribute):
1184         * ksvg2/svg/SVGFitToViewBox.cpp:
1185         (WebCore::SVGFitToViewBox::parseMappedAttribute):
1186         * ksvg2/svg/SVGImageElement.cpp:
1187         (WebCore::SVGImageElement::parseMappedAttribute):
1188         * ksvg2/svg/SVGPatternElement.cpp:
1189         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
1190         (WebCore::SVGPatternElement::notifyAttributeChange):
1191         * ksvg2/svg/SVGPolyElement.cpp:
1192         (WebCore::SVGPolyElement::notifyAttributeChange):
1193         * ksvg2/svg/SVGStopElement.cpp:
1194         (WebCore::SVGStopElement::parseMappedAttribute):
1195         * ksvg2/svg/SVGTRefElement.cpp:
1196         (WebCore::SVGTRefElement::updateReferencedText):
1197         * ksvg2/svg/SVGTests.cpp:
1198         (WebCore::SVGTests::parseMappedAttribute):
1199         * ksvg2/svg/SVGTextPositioningElement.cpp:
1200         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
1201         * ksvg2/svg/SVGUseElement.cpp:
1202         (WebCore::SVGUseElement::closeRenderer):
1203         * ksvg2/svg/SVGViewElement.cpp:
1204         (WebCore::SVGViewElement::parseMappedAttribute):
1205         * page/Frame.cpp:
1206         (WebCore::Frame::selectionComputedStyle):
1207         * rendering/RenderPartObject.cpp:
1208         (WebCore::RenderPartObject::updateWidget):
1209         * rendering/SVGRenderTreeAsText.cpp:
1210         (WebCore::writeRenderResources):
1212 2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1214         Reviewed by Oliver.
1216         Add patternContentUnits support, and cleanup SVGPaintServerGradientCg.cpp
1217         Fixes coords-units-01-b.svg
1219         * ksvg2/svg/SVGPatternElement.cpp:
1220         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
1221         * platform/graphics/svg/SVGPaintServerPattern.cpp:
1222         (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
1223         (WebCore::SVGPaintServerPattern::contentBoundingBoxMode):
1224         (WebCore::SVGPaintServerPattern::setContentBoundingBoxMode):
1225         * platform/graphics/svg/SVGPaintServerPattern.h:
1226         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1227         (WebCore::SVGPaintServerGradient::renderPath):
1228         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
1229         (WebCore::SVGPaintServerPattern::setup):
1231 2006-12-26  Eric Seidel  <eric@webkit.org>
1233         Reviewed by ggaren
1235         No test cases changed.
1236         
1237         Remove unneeded isPaintingText() and activeClient() from SVGPaintServer system
1239         * platform/graphics/svg/SVGPaintServer.cpp:
1240         (WebCore::SVGPaintServer::SVGPaintServer):
1241         * platform/graphics/svg/SVGPaintServer.h:
1242         * platform/graphics/svg/SVGPaintServerGradient.h:
1243         * platform/graphics/svg/SVGPaintServerPattern.h:
1244         * platform/graphics/svg/SVGPaintServerSolid.h:
1245         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
1246         (WebCore::SVGPaintServer::teardown):
1247         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1248         (WebCore::SVGPaintServerGradient::teardown):
1249         (WebCore::SVGPaintServerGradient::setup):
1250         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
1251         (WebCore::SVGPaintServerPattern::setup):
1252         (WebCore::SVGPaintServerPattern::teardown):
1253         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
1254         (WebCore::SVGPaintServerSolid::setup):
1255         * rendering/RenderPath.cpp:
1256         (WebCore::RenderPath::paint):
1257         * rendering/SVGInlineFlowBox.cpp:
1258         (WebCore::paintSVGInlineFlow):
1260 2006-12-25  Geoffrey Garen  <ggaren@apple.com>
1262         Reviewed by Adam Roben.
1263         
1264         Fixed <rdar://problem/4778898> REGRESSION: crash in getInstanceForView() 
1265         when quitting from kcbs.com
1266         
1267         No testcase because we can't open and close windows in DRT.
1268         
1269         The crash was caused by deallocating plug-ins that were later referenced
1270         in the unload event handler.
1272         * loader/FrameLoader.cpp:
1273         (WebCore::FrameLoader::closeDocument): Call didCloseDocument after closing
1274         instead of before, so plugins don't get deallocated until the document
1275         has been destroyed and all event handlers have fired.
1276         
1277         * loader/FrameLoaderClient.h: Renamed "willCloseDocument" to "didCloseDocument",
1278         since we call it after closing now.
1280 2006-12-26  Eric Seidel  <eric@webkit.org>
1282         Reviewed by rwlbuis.
1284         Replace bogus SVGLength::isFraction() method with valueAsPercentage() to fix:
1285         http://bugs.webkit.org/show_bug.cgi?id=11973
1286         
1287         * ksvg2/svg/SVGLength.cpp:
1288         (WebCore::SVGLength::valueInSpecifiedUnits): remove extra spaces
1289         (WebCore::SVGLength::valueAsPercentage): new method
1290         * ksvg2/svg/SVGLength.h:
1291         * ksvg2/svg/SVGLinearGradientElement.cpp:
1292         (WebCore::SVGLinearGradientElement::buildGradient): use valueAsPercentage()
1293         * ksvg2/svg/SVGPatternElement.cpp:
1294         (WebCore::SVGPatternElement::drawPatternContentIntoTile): return if malloc fails
1295         * ksvg2/svg/SVGRadialGradientElement.cpp:
1296         (WebCore::SVGRadialGradientElement::buildGradient): use valueAsPercentage()
1297         * platform/graphics/cg/GraphicsContextCG.cpp:
1298         (WebCore::GraphicsContext::createImageBuffer): return 0 if malloc fails
1299         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1300         (WebCore::SVGPaintServerGradient::setup): return if malloc fails
1301         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
1302         (WebCore::SVGResourceMasker::applyMask): add comment about possible crash
1304 2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1306         Reviewed by Oliver.
1308         In the DOMParser class, we have to create content-type specific
1309         documents, instead of a pure "Document" object. Real-life SVG
1310         files us this way to convert strings "<svg><rect x=...></svg>
1311         to a new Document structure. 
1313         Add new testcase dynamic-svg-document-creation.svg.
1315         * xml/DOMParser.cpp:
1316         (WebCore::DOMParser::parseFromString):
1318 2006-12-25  Geoffrey Garen  <ggaren@apple.com>
1320         Reviewed by Oliver Hunt.
1322         Removed WebCoreSettings, cleaned up WebCore::Settings.
1324         * WebCore.exp: Exported Settings for use by WebKit, removed WebCoreSettings class.
1325         
1326         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreSetttings.h/.mm.
1327         Added Settings.cpp.
1329         * page/Frame.cpp: Removed cruft that duplicated Settings data. Callers now call
1330         through to Settings to get Settings data.
1332         * page/Page.cpp: Added Settings data member, to replace the one that WebView
1333         used to hold.
1335         * page/Settings.cpp: Added.
1336         * page/Settings.h:
1337             - Renamed all functions to match WebKit API. Renamed all variables to
1338             match functions. Favorite old name: "isPluginsEnabled."
1339             - Moved EditableLinkBehavior outside of the class. Having it inside
1340             just made it harder to type.
1341             - Merged in old WebCoreSettings functionality, like guarding against re-setting
1342             to the same value, and making sure to update page layout.
1343             - Paired setters and getters, putting setters first.            
1345 2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1347         Reviewed by Oliver.
1349         Fix some minor style issues.
1351         * ksvg2/svg/SVGPolygonElement.cpp:
1352         (WebCore::SVGPolygonElement::toPathData):
1353         * ksvg2/svg/SVGPolygonElement.h:
1354         * ksvg2/svg/SVGPolylineElement.cpp:
1355         (WebCore::SVGPolylineElement::toPathData):
1356         * ksvg2/svg/SVGPolylineElement.h:
1358 2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1360         Reviewed by Oliver.
1362         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11963
1363         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11123
1365         Fix SVGList JS wrappers, which operate on POD types (ie. Point).
1366         There exists a special JSSVGPODTypeWrapperCreatorForList class now,
1367         which operators on specialized SVGPODList's. It makes it possible
1368         to support stuff like "myList.getItem(0).value = 200", for POD lists.
1370         Adding two new testcases demonstrating the usage of SVG DOM & SVGAnimatedPoints.
1372         * WebCore.pro:
1373         * WebCore.xcodeproj/project.pbxproj:
1374         * bindings/js/JSSVGPODTypeWrapper.h:
1375         (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
1376         (WebCore::JSSVGPODTypeWrapperCreatorForList::~JSSVGPODTypeWrapperCreatorForList):
1377         (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
1378         * bindings/js/JSSVGPathSegListCustom.cpp:
1379         (WebCore::updatePathSegContextMap):
1380         (WebCore::removeFromPathSegContextMap):
1381         (WebCore::JSSVGPathSegList::clear):
1382         (WebCore::JSSVGPathSegList::initialize):
1383         * bindings/js/JSSVGPointListCustom.cpp: Added.
1384         (WebCore::JSSVGPointList::clear):
1385         (WebCore::JSSVGPointList::initialize):
1386         (WebCore::JSSVGPointList::getItem):
1387         (WebCore::JSSVGPointList::insertItemBefore):
1388         (WebCore::JSSVGPointList::replaceItem):
1389         (WebCore::JSSVGPointList::removeItem):
1390         (WebCore::JSSVGPointList::appendItem):
1391         * bindings/scripts/CodeGeneratorJS.pm:
1392         * ksvg2/misc/SVGDocumentExtensions.h:
1393         (WebCore::SVGDocumentExtensions::baseValueMap):
1394         (WebCore::SVGDocumentExtensions::genericContextMap):
1395         (WebCore::SVGDocumentExtensions::genericContext):
1396         (WebCore::SVGDocumentExtensions::setGenericContext):
1397         (WebCore::SVGDocumentExtensions::removeGenericContext):
1398         (WebCore::SVGDocumentExtensions::hasGenericContext):
1399         * ksvg2/svg/SVGAnimatedPathData.cpp:
1400         * ksvg2/svg/SVGAnimatedPathData.h:
1401         * ksvg2/svg/SVGAnimatedPoints.cpp:
1402         * ksvg2/svg/SVGAnimatedPoints.h:
1403         * ksvg2/svg/SVGLengthList.cpp:
1404         (WebCore::SVGLengthList::SVGLengthList):
1405         (WebCore::SVGLengthList::parse):
1406         * ksvg2/svg/SVGLengthList.h:
1407         * ksvg2/svg/SVGList.h:
1408         (WebCore::SVGPODListItem::SVGPODListItem):
1409         (WebCore::SVGPODListItem::operator Item&):
1410         (WebCore::SVGPODListItem::operator const Item&):
1411         (WebCore::SVGPODListItem::value):
1412         (WebCore::SVGPODListItem::setValue):
1413         (WebCore::SVGPODList::SVGPODList):
1414         (WebCore::SVGPODList::initialize):
1415         (WebCore::SVGPODList::getFirst):
1416         (WebCore::SVGPODList::getLast):
1417         (WebCore::SVGPODList::getItem):
1418         (WebCore::SVGPODList::insertItemBefore):
1419         (WebCore::SVGPODList::replaceItem):
1420         (WebCore::SVGPODList::removeItem):
1421         (WebCore::SVGPODList::appendItem):
1422         * ksvg2/svg/SVGPathSegList.idl:
1423         * ksvg2/svg/SVGPointList.cpp:
1424         (SVGPointList::SVGPointList):
1425         (SVGPointList::context):
1426         * ksvg2/svg/SVGPointList.h:
1427         * ksvg2/svg/SVGPointList.idl:
1428         * ksvg2/svg/SVGPolyElement.cpp:
1429         (WebCore::SVGPolyElement::SVGPolyElement):
1430         (WebCore::SVGPolyElement::points):
1431         (WebCore::SVGPolyElement::animatedPoints):
1432         (WebCore::SVGPolyElement::parseMappedAttribute):
1433         (WebCore::SVGPolyElement::notifyAttributeChange):
1434         * ksvg2/svg/SVGPolyElement.h:
1435         * rendering/RenderSVGText.cpp:
1437 2006-12-25  Alexey Proskuryakov  <ap@webkit.org>
1439         Reviewed by Maciej.
1441         http://bugs.webkit.org/show_bug.cgi?id=10313
1442         Reproducible crash when doing importStylesheet in javascript with 
1443         xsl files that use xsl:import
1445         This doesn't fully address the bug, but makes a couple of steps
1446         in that direction.
1448         * xml/XSLTProcessor.cpp:
1449         (WebCore::transformToString): Set m_stylesheet even if it's created implicitly,
1450         rather than passed from outside. Always reset it in the end (this doesn't affect
1451         Document::applyXSLTransform(), which was the only user of setXSLStylesheet()).
1453         * xml/xmlhttprequest.cpp:
1454         (WebCore::XMLHttpRequest::getResponseXML): Set the loaded document's URL.
1456 2006-12-24  Mitz Pettel  <mitz@webkit.org>
1458         Reviewed by Maciej and Geoff.
1460         - remove unused member variable m_styleSelectorDirty
1462         No test possible (no functionality change)
1464         * dom/Document.cpp:
1465         (WebCore::Document::Document):
1466         (WebCore::Document::recalcStyleSelector):
1467         * dom/Document.h:
1469 2006-12-24  Sam Weinig  <sam@webkit.org>
1471         Reviewed by Geoff.
1473         Patch for http://bugs.webkit.org/show_bug.cgi?id=11952
1474         style changes made through CSSMediaRule functions insertRule() 
1475         and deleteRule do not show up on the screen 
1477         Tests added:
1478         * fast/dom/css-mediarule-deleteRule-update.html
1479         * fast/dom/css-mediarule-insertRule-update.html
1481         * css/CSSMediaRule.cpp:
1482         (WebCore::CSSMediaRule::insertRule):
1483         (WebCore::CSSMediaRule::deleteRule):
1485 2006-12-24  Rob Buis  <buis@kde.org>
1487         Reviewed by Alexey.
1489         Get rid of unused variable.
1491         * ksvg2/svg/SVGURIReference.cpp:
1492         (WebCore::SVGURIReference::getTarget):
1494 2006-12-23  Alexey Proskuryakov  <ap@webkit.org>
1496         Reviewed by Geoff.
1498         http://bugs.webkit.org/show_bug.cgi?id=11933
1499         REGRESSION: trying to change a property in a computed style declaration results in a crash
1501         Test: fast/dom/computed-style-set-property.html
1503         * bindings/js/kjs_css.cpp:
1504         (KJS::DOMCSSStyleDeclaration::put): Added a check for null m_impl->stylesheet(). Also, fixed
1505         incorrect logic in Dashboard branch - it didn't return in time if removeProperty() raised
1506         an exception (credit for noticing this bug goes to Geoff).
1508 2006-12-23  Lars Naesbye Christensen  <lars@naesbye.dk>
1510         Reviewed by Geoff.
1512         Patch for http://bugs.webkit.org/show_bug.cgi?id=11940
1513         Bad transparency in some cursor pointer images
1515         * Resources/northEastResizeCursor.png:
1516         * Resources/northEastSouthWestResizeCursor.png:
1517         * Resources/northWestResizeCursor.png:
1518         * Resources/northWestSouthEastResizeCursor.png:
1519         * Resources/southEastResizeCursor.png:
1520         * Resources/southWestResizeCursor.png:
1522 2006-12-23  Sam Weinig  <sam@webkit.org>
1524         Reviewed by Geoff.
1526         Patch for http://bugs.webkit.org/show_bug.cgi?id=11876
1527         CSSMediaRule functions insertRule and deleteRule don't raise exceptions
1529         Test added:
1530         * fast/dom/css-mediarule-functions.html
1532         * bindings/js/kjs_css.cpp:
1533         (KJS::DOMCSSRuleFunc::callAsFunction):
1534         * css/CSSMediaRule.cpp: add exception handling
1535         (WebCore::CSSMediaRule::insertRule):
1536         (WebCore::CSSMediaRule::deleteRule):
1537         * css/CSSMediaRule.h: add ExceptionCode arguments
1538         * css/CSSMediaRule.idl: un-comment exceptions
1540 2006-12-23  David Hyatt  <hyatt@apple.com>
1542         Fix 11942.  The inheritable properties array is duplicated (lame).  Make
1543         sure to keep both in sync.
1545         Reviewed by mitz
1547         * css/CSSComputedStyleDeclaration.cpp:
1548         * css/CSSMutableStyleDeclaration.cpp:
1549         (WebCore::):
1551 2006-12-22  Geoffrey Garen  <ggaren@apple.com>
1553         Reviewed by Brady Eidson.
1554         
1555         Fixed <rdar://problem/4871518> Leopard9A321: Crash visiting www.audible.com 
1556         (WebCore::FrameLoader::loadSubframe)
1558         * loader/mac/FrameLoaderMac.mm:
1559         (WebCore::FrameLoader::createFrame): Updated to reflect the fact that
1560         createChildFrameNamed: now returns a WebCore::Frame* instead of a 
1561         WebCoreFrameBridge *.
1562         * page/mac/WebCoreFrameBridge.h:
1564 2006-12-22  David Hyatt  <hyatt@apple.com>
1566         Make sure to actually set the stroke thickness for text decorations.
1567         Covered by bugzilla bug 11921.
1569         Reviewed by mitz
1571         * rendering/InlineFlowBox.cpp:
1572         (WebCore::InlineFlowBox::paintDecorations):
1573         * rendering/InlineTextBox.cpp:
1574         (WebCore::InlineTextBox::paintDecoration):
1576 2006-12-22  Nikolas Zimmermann  <zimmermann@kde.org>
1578         Reviewed by Rob.
1580         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11934
1582         Adding/removing SVGPathSeg* items to a SVGPathElement (through SVGPathSegList
1583         interface) has live update problems, as the notifyAttributeChange() function
1584         isn't called anywhere. The context param is currently stored per SVGPathSeg,
1585         which is not needed - as it can be done using SVGPathSegList completely. It
1586         wastes memory, that is fixed. In order to get rid of the context param in
1587         SVGPathSeg, we need a way to map SVGPathSeg* objects to SVGStyledElement*
1588         objects ("context element"). That is done using a new HashMap in the
1589         SVGDocumentExtensions class.
1591         * WebCore.pro:
1592         * WebCore.xcodeproj/project.pbxproj:
1593         * bindings/js/JSSVGPathSegListCustom.cpp: Added.
1594         (WebCore::updatePathSegContextMap):
1595         (WebCore::removeFromPathSegContextMap):
1596         (WebCore::JSSVGPathSegList::getItem):
1597         (WebCore::JSSVGPathSegList::insertItemBefore):
1598         (WebCore::JSSVGPathSegList::replaceItem):
1599         (WebCore::JSSVGPathSegList::removeItem):
1600         (WebCore::JSSVGPathSegList::appendItem):
1601         * bindings/scripts/CodeGeneratorJS.pm:
1602         * ksvg2/misc/SVGDocumentExtensions.h:
1603         (WebCore::SVGDocumentExtensions::pathSegContextMap):
1604         (WebCore::SVGDocumentExtensions::pathSegContext):
1605         (WebCore::SVGDocumentExtensions::setPathSegContext):
1606         (WebCore::SVGDocumentExtensions::removePathSegContext):
1607         (WebCore::SVGDocumentExtensions::hasPathSegContext):
1608         * ksvg2/svg/SVGList.h:
1609         (WebCore::SVGList::getFirst):
1610         (WebCore::SVGList::getLast):
1611         * ksvg2/svg/SVGPathElement.cpp:
1612         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
1613         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
1614         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
1615         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
1616         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
1617         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
1618         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
1619         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
1620         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
1621         (WebCore::SVGPathElement::createSVGPathSegArcRel):
1622         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
1623         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
1624         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
1625         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
1626         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
1627         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
1628         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
1629         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
1630         (WebCore::SVGPathElement::svgMoveTo):
1631         (WebCore::SVGPathElement::svgLineTo):
1632         (WebCore::SVGPathElement::svgLineToHorizontal):
1633         (WebCore::SVGPathElement::svgLineToVertical):
1634         (WebCore::SVGPathElement::svgCurveToCubic):
1635         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
1636         (WebCore::SVGPathElement::svgCurveToQuadratic):
1637         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
1638         (WebCore::SVGPathElement::svgArcTo):
1639         (WebCore::SVGPathElement::pathSegList):
1640         * ksvg2/svg/SVGPathElement.h:
1641         * ksvg2/svg/SVGPathSeg.cpp: Removed.
1642         * ksvg2/svg/SVGPathSeg.h:
1643         (WebCore::SVGPathSeg::SVGPathSeg):
1644         (WebCore::SVGPathSeg::~SVGPathSeg):
1645         (WebCore::SVGPathSeg::toString):
1646         * ksvg2/svg/SVGPathSegArc.cpp:
1647         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
1648         (WebCore::SVGPathSegArcAbs::setX):
1649         (WebCore::SVGPathSegArcAbs::setY):
1650         (WebCore::SVGPathSegArcAbs::setR1):
1651         (WebCore::SVGPathSegArcAbs::setR2):
1652         (WebCore::SVGPathSegArcAbs::setAngle):
1653         (WebCore::SVGPathSegArcAbs::setLargeArcFlag):
1654         (WebCore::SVGPathSegArcAbs::setSweepFlag):
1655         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
1656         (WebCore::SVGPathSegArcRel::setX):
1657         (WebCore::SVGPathSegArcRel::setY):
1658         (WebCore::SVGPathSegArcRel::setR1):
1659         (WebCore::SVGPathSegArcRel::setR2):
1660         (WebCore::SVGPathSegArcRel::setAngle):
1661         (WebCore::SVGPathSegArcRel::setLargeArcFlag):
1662         (WebCore::SVGPathSegArcRel::setSweepFlag):
1663         * ksvg2/svg/SVGPathSegArc.h:
1664         * ksvg2/svg/SVGPathSegClosePath.cpp:
1665         * ksvg2/svg/SVGPathSegClosePath.h:
1666         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
1667         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
1668         (WebCore::SVGPathSegCurvetoCubicAbs::setX):
1669         (WebCore::SVGPathSegCurvetoCubicAbs::setY):
1670         (WebCore::SVGPathSegCurvetoCubicAbs::setX1):
1671         (WebCore::SVGPathSegCurvetoCubicAbs::setY1):
1672         (WebCore::SVGPathSegCurvetoCubicAbs::setX2):
1673         (WebCore::SVGPathSegCurvetoCubicAbs::setY2):
1674         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
1675         (WebCore::SVGPathSegCurvetoCubicRel::setX):
1676         (WebCore::SVGPathSegCurvetoCubicRel::setY):
1677         (WebCore::SVGPathSegCurvetoCubicRel::setX1):
1678         (WebCore::SVGPathSegCurvetoCubicRel::setY1):
1679         (WebCore::SVGPathSegCurvetoCubicRel::setX2):
1680         (WebCore::SVGPathSegCurvetoCubicRel::setY2):
1681         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
1682         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
1683         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
1684         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
1685         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
1686         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
1687         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
1688         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
1689         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
1690         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
1691         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
1692         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
1693         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
1694         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
1695         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
1696         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
1697         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
1698         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
1699         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
1700         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
1701         (WebCore::SVGPathSegCurvetoQuadraticRel::setX):
1702         (WebCore::SVGPathSegCurvetoQuadraticRel::setY):
1703         (WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
1704         (WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
1705         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
1706         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1707         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
1708         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
1709         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
1710         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
1711         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
1712         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
1713         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
1714         * ksvg2/svg/SVGPathSegLineto.cpp:
1715         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
1716         (WebCore::SVGPathSegLinetoAbs::setX):
1717         (WebCore::SVGPathSegLinetoAbs::setY):
1718         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
1719         (WebCore::SVGPathSegLinetoRel::setX):
1720         (WebCore::SVGPathSegLinetoRel::setY):
1721         * ksvg2/svg/SVGPathSegLineto.h:
1722         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
1723         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
1724         (WebCore::SVGPathSegLinetoHorizontalAbs::setX):
1725         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
1726         (WebCore::SVGPathSegLinetoHorizontalRel::setX):
1727         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
1728         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
1729         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
1730         (WebCore::SVGPathSegLinetoVerticalAbs::setY):
1731         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
1732         (WebCore::SVGPathSegLinetoVerticalRel::setY):
1733         * ksvg2/svg/SVGPathSegLinetoVertical.h:
1734         * ksvg2/svg/SVGPathSegList.cpp:
1735         (WebCore::SVGPathSegList::SVGPathSegList):
1736         (WebCore::SVGPathSegList::context):
1737         * ksvg2/svg/SVGPathSegList.h:
1738         * ksvg2/svg/SVGPathSegList.idl:
1739         * ksvg2/svg/SVGPathSegMoveto.cpp:
1740         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
1741         (WebCore::SVGPathSegMovetoAbs::setX):
1742         (WebCore::SVGPathSegMovetoAbs::setY):
1743         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
1744         (WebCore::SVGPathSegMovetoRel::setX):
1745         (WebCore::SVGPathSegMovetoRel::setY):
1746         * ksvg2/svg/SVGPathSegMoveto.h:
1748 2006-12-22  Mitz Pettel  <mitz@webkit.org>
1750         Reviewed by Beth.
1752         - fix http://bugs.webkit.org/show_bug.cgi?id=11903
1753           REGRESSION: outline not drawn if line style is dashed.
1755         This fixes a bunch of existing pixel tests.
1757         * rendering/RenderObject.cpp:
1758         (WebCore::RenderObject::drawBorder):
1760 2006-12-22  John Sullivan  <sullivan@apple.com>
1762         Reviewed by Kevin Decker
1764         - renamed markMisspellingsInAdjacentWords to markMisspellingsAfterTypingToPosition
1765           in anticipation of fixing it to work more correctly with grammar checking, where
1766           only checking adjacent words isn't good enough.
1768         * editing/Editor.h:
1769         renamed markMisspellingsInAdjacentWords to markMisspellingsAfterTypingToPosition 
1771         * editing/TypingCommand.cpp:
1772         (WebCore::TypingCommand::markMisspellingsAfterTyping):
1773         updated for name change
1775         * editing/mac/EditorMac.mm:
1776         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
1777         renamed from markMisspellingsInAdjacentWords and added FIXME comment
1779 2006-12-22  Eric Seidel  <eric@webkit.org>
1781         Reviewed by aroben.
1783         http://bugs.webkit.org/show_bug.cgi?id=11912
1784         Overriding visibility does not behave as expected.
1786         * rendering/RenderSVGContainer.cpp:
1787         (WebCore::RenderSVGContainer::paint): allow children to draw when container is visibility='hidden'
1789 2006-12-22  Nikolas Zimmermann  <zimmermann@kde.org>
1791         Reviewed by Rob.
1793         Fix SVGPathSeg JS object creation. SVGPathSegList has to return
1794         the actual SVGPathSegLineToAbs/MoveToRel... object instead of a pure
1795         SVGPathSeg JS object.
1797         * WebCore.xcodeproj/project.pbxproj:
1798         * WebCore/bindings/js/JSSVGPathSegCustom.cpp: Added.
1799         * bindings/scripts/CodeGeneratorJS.pm:
1801 2006-12-21  Beth Dakin  <bdakin@apple.com>
1803         Reviewed by Geoff.
1805         Fix for <rdar://problem/4897162> REGRESSION: Attempting to create a 
1806         new message in .Mac web mail causes Safari to crash 
1807         ( KJS::DOMCSSStyleDeclaration::put() + 368 )
1809         This was a regression from my clone-node change. This fix is very 
1810         simple.
1812         * dom/StyledElement.cpp:
1813         (WebCore::StyledElement::copyNonAttributeProperties): Must set the 
1814         data that getInlineStyleDecl() points to instead of setting 
1815         m_inlineStyleDecl directly. I also changed some variable names.
1816         * dom/StyledElement.h: Don't need parameter name here.
1818 2006-12-21  Adele Peterson  <adele@apple.com>
1820         Reviewed by Geoff.
1822         - Fix for <rdar://problem/4895716> REGRESSION: Pressing return key in search field doesn't begin search
1824         Test: fast/events/onsearch-enter.html
1826         * html/HTMLInputElement.cpp:
1827         (WebCore::HTMLInputElement::defaultEventHandler): Calls onSearch when handling "Enter".  Also removed
1828          special case for AppKit search fields, so now the enter event is considered handled here.
1829         (WebCore::HTMLInputElement::onSearch): Added. Dispatches search event.
1830         * html/HTMLInputElement.h: Added onSearch.
1831         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::onSearch): Calls onSearch on the node.
1833 2006-12-21  Geoffrey Garen  <ggaren@apple.com>
1835         Reviewed by Brady Eidson.
1836         
1837         Fixed <rdar://problem/4897205> ASSERTION FAILURE in ContainerNode::queuePostAttachCallback 
1838         when creating an iframe from an iframe onload handler
1840         I added that assertion to try to "keep things simple," but I've found a 
1841         testcase that demonstrates why things need to be complicated.
1843         * dom/ContainerNode.cpp:
1844         (WebCore::ContainerNode::queuePostAttachCallback):
1846 2006-12-21  Alexey Proskuryakov  <ap@webkit.org>
1848         Reviewed by Darin.
1850         http://bugs.webkit.org/show_bug.cgi?id=11919
1851         Allow setting CSS values to null.
1853         * bindings/js/kjs_css.cpp:
1854         (KJS::DOMCSSStyleDeclaration::put):
1855         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
1856         Convert null values to null strings.
1858 2006-12-21  Rob Buis  <buis@kde.org>
1860         Reviewed by Anders.
1862         http://bugs.webkit.org/show_bug.cgi?id=11898
1863         CSSMediaRule functions insertRule and deleteRule assert when called from js in debug builds
1865         Test explicitly for the two media rule functions so it ends up calling callAsFunction.
1867         * bindings/js/kjs_css.cpp:
1868         (KJS::DOMCSSRule::getOwnPropertySlot):
1870 2006-12-21  Lars Knoll <lars@trolltech.com>
1872         Reviewed by Zack
1874         * loader/FrameLoaderClient.h:
1875         * loader/qt/FrameLoaderQt.cpp:
1876         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1877         (WebCore::FrameLoader::partClearedInBegin):
1878         (WebCore::FrameLoader::restoreDocumentState):
1879                 comment out a few notImplemented() warnings
1880         * platform/qt/FrameQt.cpp:
1881         (WebCore::FrameQt::bindingRootObject):
1882         (WebCore::FrameQt::addPluginRootObject):
1883         * platform/qt/FrameQt.h:
1884                  implement these
1886 2006-12-20  David Hyatt  <hyatt@apple.com>
1888         Make sure the execrable match-nearest-mail-blockquote-color CSS property is actually initialized (amazingly
1889         it started off with the value "match", since it wasn't even initialized).  Now that it is actually being
1890         initialized and properly copied and assigned to, tests have failed.  It seems that we were getting the
1891         behavior of "match" by default, when the initial value was supposed to be "normal."
1893         Because this property really should not exist at all, it's unclear to me what the right solution is here.
1894         
1895         * rendering/RenderStyle.cpp:
1896         (WebCore::StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
1897         (WebCore::StyleCSS3NonInheritedData::operator==):
1898         * rendering/RenderStyle.h:
1900 2006-12-20  Brady Eidson  <beidson@apple.com>
1902         Reviewed by Adam's rubberstamp
1904         Accidentally left a logging channel on in my checkin
1906         * platform/Logging.cpp:
1907         (WebCore::):
1909 2006-12-21  Nikolas Zimmermann  <zimmermann@kde.org>
1911         Reviewed by Oliver.
1913         Fix removeItem recursively calling itself (!). It was meant to call m_vector.remove(index)
1914         not removeItem(index, ec). This bug is in SVN for quite some time now :-)
1916         * ksvg2/svg/SVGList.h:
1917         (WebCore::SVGList::removeItem):
1919 2006-12-20  David Harrison  <harrison@apple.com>
1921         Reviewed by John Sullivan.
1923         <rdar://problem/4893376> REGRESSION: Crash occurs at WebCoreFrameBridge fontForSelection: when drag selecting from a line break
1924         
1925         No layout test added because crash only happens in path where editing window is key,
1926         which is never the case for the automated tests.
1928         * page/mac/WebCoreFrameBridge.mm:
1929         (-[WebCoreFrameBridge fontForSelection:]):
1930         Add nil check of fontForSelection() result.
1932 2006-12-21  Nikolas Zimmermann  <zimmermann@kde.org>
1934         Reviewed by Maciej.
1936         Fix dynamic gradient changes, via JS. It actually worked before, but it
1937         wasn't repainted. Behave just like the pattern notifyAttributeChange() code now.
1939         * ksvg2/svg/SVGGradientElement.cpp:
1940         (WebCore::SVGGradientElement::notifyAttributeChange):
1942 2006-12-20  Geoffrey Garen  <ggaren@apple.com>
1944         Reviewed by Darin Adler.
1946         Fixed <rdar://problem/4809825>. We need to check isSafeScript when converting
1947         a Location to string. 
1948         
1949         It's really a bug, and poor design, for objects to override toString.
1950         Subclasses that want custom toString implementations should add a toString 
1951         function to their prototypes instead of overriding the JavaScript ToString 
1952         operation. Following this design pattern would have avoided this bug in the
1953         first place.
1954         
1955         * bindings/js/kjs_window.cpp:
1956         (KJS::Location::toString):
1958 2006-12-20  David Hyatt  <hyatt@apple.com>
1960         Fix SVG stroking.  Make strokeThickness() get pushed into CG immediately
1961         when set in the GraphicsContext.  Remove setLineWidth since it is
1962         redundant with setStrokeThickness now.
1964         Reviewed by mitz
1966         * html/CanvasRenderingContext2D.cpp:
1967         (WebCore::CanvasRenderingContext2D::setLineWidth):
1968         * platform/graphics/GraphicsContext.cpp:
1969         (WebCore::GraphicsContext::setPlatformStrokeThickness):
1970         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1971         * platform/graphics/GraphicsContext.h:
1972         * platform/graphics/cg/GraphicsContextCG.cpp:
1973         (WebCore::GraphicsContext::drawLine):
1974         (WebCore::GraphicsContext::drawEllipse):
1975         (WebCore::GraphicsContext::strokeArc):
1976         (WebCore::GraphicsContext::drawConvexPolygon):
1977         (WebCore::GraphicsContext::setPlatformStrokeThickness):
1978         * platform/graphics/qt/GraphicsContextQt.cpp:
1979         * platform/mac/FontMac.mm:
1980         (WebCore::Font::drawComplexText):
1981         (WebCore::Font::drawGlyphs):
1983 2006-12-20  David Hyatt  <hyatt@apple.com>
1985         Fix for bug 11893, white text on form controls.  Just make sure that
1986         all form control drawing in RenderTheme is bracketed by save/restore
1987         calls.
1989         Reviewed by adele
1991         * platform/mac/LocalCurrentGraphicsContext.h:
1992         * platform/mac/LocalCurrentGraphicsContext.mm:
1993         (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
1994         (WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
1995         * rendering/RenderThemeMac.mm:
1996         (WebCore::RenderThemeMac::paintTextField):
1997         (WebCore::RenderThemeMac::paintTextArea):
1999 2006-12-20  Mark Rowe  <bdash@webkit.org>
2001         Reviewed by Anders.
2003         Fix leak of CGContextRef from GraphicsContext::createImageBuffer.
2005         * platform/graphics/cg/GraphicsContextCG.cpp:
2006         (WebCore::GraphicsContext::createImageBuffer): Release newly-created CGContextRef after passing it to GraphicsContext.
2008 2006-12-20  Timothy Hatcher  <timothy@apple.com>
2010         Reviewed by Mark Rowe.
2012         <rdar://problem/4871993> WebCore-421.31 build fails with "Public API change" error when gcc 3.3 is the default compiler
2014         * bindings/scripts/CodeGeneratorObjC.pm: ignore blank lines in the public API check
2016 2006-12-20  David Harrison  <harrison@apple.com>
2018         Reviewed by John Sullivan.
2020         <rdar://problem/4570218> REGRESSION (?-10.4.7): cntl-K only works the first time
2022         Test:
2023         * editing/deleting/delete-to-end-of-paragraph.html
2024         
2025         * editing/TypingCommand.cpp:
2026         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2027         If the selection was a caret at the end of the paragraph, extend selection so it wraps to the start of next paragraph (if any),
2029 2006-12-20  Nikolas Zimmermann  <zimmermann@kde.org>
2031         Build fix, reviewed by Mitz.
2033         Fix mac build, by using proper float -> int conversion.
2035         * rendering/InlineFlowBox.cpp:
2036         (WebCore::InlineFlowBox::placeBoxesHorizontally):
2038 2006-12-20  David Hyatt  <hyatt@apple.com>
2040         Make sure text decoration colors prefer stroke over fill (and honor both of the new CSS properties added
2041         for these values over color).
2043         Reviewed by mitz
2045         Added fast/text/stroking-decorations.html
2047         * rendering/InlineFlowBox.cpp:
2048         (WebCore::InlineFlowBox::paintDecorations):
2049         * rendering/RenderObject.cpp:
2050         (WebCore::decorationColor):
2051         (WebCore::RenderObject::getTextDecorationColors):
2053 2006-12-20  David Kilzer  <ddkilzer@kilzer.net>
2055         Reviewed by Darin.
2057         http://bugs.webkit.org/show_bug.cgi?id=11746
2058         REGRESSION(r14931): Outlook Web Access incorrectly positions the insertion point when replying to e-mail
2060         Set caret at beginning of text on initial focus.
2062         Test: fast/forms/textarea-initial-caret-position.html
2064         * html/HTMLTextAreaElement.cpp:
2065         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
2067 2006-12-20  David Hyatt  <hyatt@apple.com>
2069         Fix for bug 11889, support stroking and filling of HTML text from CSS.  This patch adds four new CSS properties:
2070         text-fill-color, text-stroke-color, text-stroke-width and text-stroke (a shorthand for the other two).  Text
2071         is filled and not stroked by default and does so using the text-fill-color.  If this property is not set, then
2072         color is used.
2074         Stroking is accomplished by setting a stroke width.  Stroke color, if omitted, will be picked up from the color
2075         property.  You can set either color to be transparent or partially transparent.  A fully transparent fill color is
2076         the way to achieve an "outline" effect where only stroking happens.
2078         Stroking and filling are both customizable inside the ::selection pseudo-element, and so when selecting you can
2079         vary colors and widths.
2081         text-shadow applies to both the stroke and the fill.
2083         text-decorations do not yet respect the stroke/fill colors.  This will follow in a later patch.
2085         Reviewed by mitz
2087         Added fast/text/stroking.html as a layout test.  Enhanced RenderTreeAsText.cpp to dump fill and stroke information.
2089         * css/CSSComputedStyleDeclaration.cpp:
2090         (WebCore::):
2091         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2092         * css/CSSPropertyNames.in:
2093         * css/cssparser.cpp:
2094         (WebCore::CSSParser::parseValue):
2095         * css/cssstyleselector.cpp:
2096         (WebCore::CSSStyleSelector::applyProperty):
2097         * platform/mac/FontMac.mm:
2098         (WebCore::Font::drawComplexText):
2099         (WebCore::Font::drawGlyphs):
2100         * rendering/InlineFlowBox.cpp:
2101         (WebCore::InlineFlowBox::placeBoxesHorizontally):
2102         * rendering/InlineFlowBox.h:
2103         (WebCore::InlineFlowBox::InlineFlowBox):
2104         (WebCore::InlineFlowBox::maxHorizontalVisualOverflow):
2105         * rendering/InlineTextBox.cpp:
2106         (WebCore::updateGraphicsContext):
2107         (WebCore::InlineTextBox::paint):
2108         (WebCore::InlineTextBox::paintSelection):
2109         (WebCore::InlineTextBox::paintMarkedTextBackground):
2110         (WebCore::InlineTextBox::paintTextMatchMarker):
2111         * rendering/RenderObject.cpp:
2112         (WebCore::RenderObject::selectionForegroundColor):
2113         * rendering/RenderStyle.cpp:
2114         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
2115         (WebCore::StyleCSS3InheritedData::operator==):
2116         (WebCore::RenderStyle::diff):
2117         * rendering/RenderStyle.h:
2118         (WebCore::RenderStyle::textStrokeColor):
2119         (WebCore::RenderStyle::textStrokeWidth):
2120         (WebCore::RenderStyle::textFillColor):
2121         (WebCore::RenderStyle::setTextStrokeColor):
2122         (WebCore::RenderStyle::setTextStrokeWidth):
2123         (WebCore::RenderStyle::setTextFillColor):
2124         (WebCore::RenderStyle::initialTextStrokeWidth):
2125         * rendering/RenderTreeAsText.cpp:
2126         (WebCore::operator<<):
2128 2006-12-19  Adele Peterson  <adele@apple.com>
2130         Reviewed by Anders.
2132         - Fix for <rdar://problem/3824247> Select All works even if -khtml-user-select:none; style is set
2134         Also made user-select:none work on new list boxes, and cleaned up the list box defaultEventHandler.
2136         Test: editing/selection/select-all-user-select-none.html
2138         * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Make sure canSelect is true on the root renderer.
2139         * html/HTMLSelectElement.cpp:
2140         (WebCore::HTMLSelectElement::canSelectAll): Check canSelect here.
2141         (WebCore::HTMLSelectElement::selectAll): Added nil check for renderer.
2142         (WebCore::HTMLSelectElement::defaultEventHandler): Return early if the event has been handled.
2143         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Check canSelect here.
2144         * html/HTMLSelectElement.h:
2146 2006-12-19  Anders Carlsson  <acarlsson@apple.com>
2148         Reviewed by Adele.
2150         <rdar://problem/4701860> 
2151         http://bugs.webkit.org/show_bug.cgi?id=11010
2152         [9A255] Crash in WebCore::EventTargetNode::dispatchEvent
2153         
2154         * html/HTMLScriptElement.cpp:
2155         (WebCore::HTMLScriptElement::notifyFinished):
2156         Ref the script element while running the script since it can be freed
2157         when executing the script.
2159 2006-12-19  Darin Adler  <darin@apple.com>
2161         Reviewed by Geoff.
2163         - <rdar://problem/4885227>
2164           frame resizing is now live and no longer does direct drawing
2166         * html/HTMLFrameSetElement.h: Made frameBorder() and noResize() const.
2167         Added rowLengths() and colLengths() getters so that we don't have to
2168         have RenderFrameSet as a friend. Stopped using bit fields.
2170         * html/HTMLFrameSetElement.cpp:
2171         (WebCore::HTMLFrameSetElement::defaultEventHandler): Removed now-uneeded
2172         check for contextmenu events. Look at return value from userResize to
2173         decide whether to mark the event as "default handled". In the case where
2174         the event is handled, don't call through to the base class.
2176         * rendering/RenderFrameSet.h: No longer mark HTMLFrameSetElement as a
2177         friend. Made positionFrames and canResize private, and changed canResize
2178         to take an IntPoint. Added isResizingRow, isResizingColumn, canResizeRow,
2179         and canResizeColumn functions to be used soon for cursor feedback.
2180         Removed override of non-virtual element() function and replaced it with
2181         a private frameSet() inline function. Grouped all the data members for
2182         each axis into a GridAxis class, and made one called m_cols and one called
2183         m_rows. Used vectors for the resizable bits of this instead of new/delete
2184         arrays. Added a constant named "noSplit" so we don't have to use -1
2185         everywhere explicitly for this purpose. Renamed setResizing to
2186         setIsResizing and made it private. Eliminated resizing() function.
2187         Added new private helper functions, layOutAxis, findNonResizableSplits,
2188         splitPosition, hitTestSplit, startResizing, and continueResizing.
2189         Renamed m_resizing to m_isResizing, and m_clientResizing to
2190         m_isChildResizing.
2192         * rendering/RenderFrameSet.cpp:
2193         (WebCore::RenderFrameSet::RenderFrameSet): Removed now-unneeded initialization
2194         that is handled by the GridAxis and Vector constructors.
2195         (WebCore::RenderFrameSet::~RenderFrameSet): Ditto (for destructors).
2196         (WebCore::RenderFrameSet::GridAxis::GridAxis): Added.
2197         (WebCore::RenderFrameSet::frameSet): Added. Inline function so we don't have
2198         to cast the result of node() or element() everywhere.
2199         (WebCore::RenderFrameSet::nodeAtPoint): Updated for name changes.
2200         (WebCore::RenderFrameSet::GridAxis::resize): Added. Helper function to be used
2201         in the layout function.
2202         (WebCore::RenderFrameSet::layOutAxis): Added. Factored out the part of the
2203         layout function that used to be inside a for loop for the two axes.
2204         The algorithm is otherwise unchanged.
2205         (WebCore::RenderFrameSet::findNonResizableSplits): Added. Factored out the
2206         code that set up the "split variable" arrays from the layout function.
2207         (WebCore::RenderFrameSet::layout): Moved the bulk of this function into the
2208         new helpers. This allowed me to remove the use of goto.
2209         (WebCore::RenderFrameSet::positionFrames): Updated for change to data structures.
2210         Also added some more local variables for clarity.
2211         (WebCore::RenderFrameSet::startResizing): Added. Code factored out of the
2212         userResize function that handles mousedown events that might begin a resize.
2213         (WebCore::RenderFrameSet::continueResizing): Added. Code factored out of the
2214         userResize function that handles mouse events that continue a resize already
2215         in progress, including mouseup events that end the resizing. Uses the new
2216         splitPosition function so it can be used over and over again while resizing.
2217         (WebCore::RenderFrameSet::userResize): Restructured to use the new helper
2218         functions. Removed the direct drawing of a gray bar during mouse movement;
2219         instead we do the resizing live.
2220         (WebCore::RenderFrameSet::setIsResizing): Updated for name changes.
2221         (WebCore::RenderFrameSet::isResizingRow): Added.
2222         (WebCore::RenderFrameSet::isResizingColumn): Added.
2223         (WebCore::RenderFrameSet::canResize): Changed to use hitTestSplit for clarity.
2224         (WebCore::RenderFrameSet::canResizeRow): Added.
2225         (WebCore::RenderFrameSet::canResizeColumn): Added.
2226         (WebCore::RenderFrameSet::splitPosition): Added.
2227         (WebCore::RenderFrameSet::hitTestSplit): Added. Contains the guts of the code
2228         that was used both in canResize and userResize before -- now it's shared.
2229         (WebCore::RenderFrameSet::dump): Updated for name changes.
2231 2006-12-19  Justin Garcia  <justin.garcia@apple.com>
2233         Reviewed by harrison
2234         
2235         Added Selection::removeAllRanges() and ::addRange()
2237         * bindings/js/kjs_window.cpp:
2238         (KJS::SelectionFunc::callAsFunction): Added the bindings for
2239         the two new functions.
2240         * bindings/js/kjs_window.h:
2241         (KJS::Selection::):
2242         * editing/SelectionController.cpp:
2243         (WebCore::SelectionController::removeAllRanges): Equivalent
2244         to clear().
2245         (WebCore::SelectionController::addRange): Until we support
2246         discontiguous selections, the new selected range is the 
2247         union of the old selected range and the passed range if
2248         the two intersect, and the old range if they don't.
2249         * editing/SelectionController.h:
2251 2006-12-19  Beth Dakin  <bdakin@apple.com>
2253         Reviewed by Hyatt.
2255         Fix for <rdar://problem/4860924> outerHTML gives an out-of-date 
2256         result when applied to a clone
2258         We were only copying the m_inlineStyleDecl over to clones, but we 
2259         need to copy m_isStyleAttributeValid and 
2260         m_synchronizingStyleAttribute as well to know when we have to 
2261         update style, etc.
2263         * dom/StyledElement.cpp:
2264         (WebCore::StyledElement::copyNonAttributeProperties): Copy over all 
2265         three member variables.
2266         * dom/StyledElement.h:
2267         * html/HTMLElement.cpp:
2268         (WebCore::HTMLElement::cloneNode): No longer need to copy the 
2269         inline style decl explicitly because copyNonAttributeProperties() 
2270         will take care of it.
2271         * html/HTMLInputElement.cpp:
2272         (WebCore::HTMLInputElement::copyNonAttributeProperties): Call into 
2273         parent class implementation. This is important now that there is 
2274         more than one implementation of this function.
2276 2006-12-19  Geoffrey Garen  <ggaren@apple.com>
2278         Reviewed by Darin Adler.
2280         Fixed http://bugs.webkit.org/show_bug.cgi?id=11880
2281         REGRESSION (r18304): Assertion failure in -[WebHTMLView _canProcessDragWithDraggingInfo:] 
2282         when dragging over the window's a scroll bar (innerFrame)
2283         
2284         RenderLayer needs to check 'active,' when deciding what to do if hit testing 
2285         hasn't hit anything, because we want the default hit testing mechanism to return the 
2286         document when we hit a scrollbar.
2287         
2288         This problem shows that the idea of 'capturing' was a little too ambitious
2289         in hit testing, at least given the current state of things. So, I've replaced
2290         'capturing' with 'mouseUp,' the condition that provided the immediate need
2291         for the capturing flag in the first place.
2293         * page/EventHandler.cpp:
2294         (WebCore::EventHandler::handleMouseMoveEvent):
2295         * rendering/HitTestRequest.h: Removed 'capturing' 
2296         (WebCore::HitTestRequest::HitTestRequest):
2297         * rendering/RenderLayer.cpp:
2298         (WebCore::RenderLayer::hitTestLayer):
2300 2006-12-19  Brady Eidson  <beidson@apple.com>
2302         Reviewed by Ada
2304         Added a logging channel for network activity for loader work
2306         * platform/Logging.cpp:
2307         (WebCore::):
2308         * platform/Logging.h:
2309         * platform/mac/LoggingMac.mm:
2310         (WebCore::InitializeLoggingChannelsIfNecessary):
2312 2006-12-19  Justin Garcia  <justin.garcia@apple.com>
2314         Reviewed by hyatt
2315         
2316         <rdar://problem/4888891>
2317         Docs & Spreadsheets: Comment fails to insert if text is selected in the document
2318         
2319         * dom/Range.cpp:
2320         (WebCore::Range::surroundContents): If startContainer is a text node,
2321         it will be split when the range is extracted, and it will be its parent
2322         that will have to accept newParent.  Also cleaned up some code with 
2323         isDescendantOf.
2325 2006-12-19  Timothy Hatcher  <timothy@apple.com>
2327         Reviewed by Darin.
2329         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
2331         * WebCore.xcodeproj/project.pbxproj:
2333 2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2335         Reviewed by Oliver.
2337         Fix SVGList index validation (off-by-one error).
2339         Adding new testcase js-font-test.svg, which uses SVGLengthList interface.
2340         (This is a very old ksvg1 testcase, adopted for SVG1.1)
2342         * ksvg2/svg/SVGList.h:
2343         (WebCore::SVGList::getItem):
2344         (WebCore::SVGList::replaceItem):
2345         (WebCore::SVGList::removeItem):
2347 2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2349         Reviewed by Oliver.
2351         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11879
2353         Fix pattern on stroke/fill of text.
2355         * ksvg2/svg/SVGPatternElement.cpp:
2356         (WebCore::SVGPatternElement::notifyAttributeChange):
2357         * platform/graphics/svg/SVGPaintServerGradient.cpp:
2358         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2359         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2360         (WebCore::SVGPaintServerGradient::teardown):
2361         (WebCore::SVGPaintServerGradient::setup):
2362         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2363         (WebCore::SVGPaintServerPattern::setup):
2365 2006-12-19  Alice Liu  <alice.liu@apple.com>
2367         Build fix
2369         * platform/graphics/ImageBuffer.cpp:
2371 2006-12-19  Alexey Proskuryakov  <ap@webkit.org>
2373         Reviewed by Darin.
2375         http://bugs.webkit.org/show_bug.cgi?id=7296
2376         JavaScript error not thrown when trying to set a CSS property to an invalid value
2378         * bindings/js/kjs_css.cpp:
2379         (KJS::DOMCSSStyleDeclaration::put): When not in Dashboard compatibility mode,
2380         raise exception for invalid values. Also removed an unnecessary call to
2381         removeProperty(), which prevented the property value from being preserved in 
2382         error case.
2384         * css/CSSMutableStyleDeclaration.cpp:
2385         (WebCore::CSSMutableStyleDeclaration::setProperty): Moved the handling of
2386         empty property values here. Also removed an unnecessary call to removeProperty().
2388 2006-12-19  Anders Carlsson  <acarlsson@apple.com>
2390         Reviewed by Adam.
2392         * dom/Document.h:
2393         * page/EventHandler.h:
2394         Use correct forward declarations for HitTestRequest.
2395         
2396 2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2398         Build fix, not reviewed.
2400         Fix Qt/Linux build. Missing GraphicsContext.h include.
2401         Fix Mac build, by adding lroundf() (I swear this compiled w/o that, locally :-)
2403         * platform/graphics/qt/ImageBufferQt.cpp:
2404         * ksvg2/svg/SVGPatternElement.cpp:
2406 2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2408         Reviewed by Sam. Previous attempts reviewed by Oliver & Eric.
2410         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11867
2412         Bring back masking, by adding off-screen rendering functionality in GraphicsContext.
2413         Add new "static GraphicsContext* createImageContext(const IntSize& size, bool grayScale)"
2414         function, and implement it with CGBitmapContext in the GraphicsContextCG (stubs for Qt.)
2416         Mask image sizes are dynamically calculated using the passed bounding box in applyMask,
2417         as it was orignally planned. Gradient stroke mask image sizes aren't hardcoded to 2048x2048
2418         anymore, but are as well dynamically calculated using getAbsoluteRepaintRect().
2420         Add new ImageBuffer class encapsulating the size of the image, a platform-specific
2421         handle (ie. CGImageRef for CG platform) plus the GraphicsContext pointer, obtained
2422         via GraphicsContext::createImageBuffer. Offer a generic logic for rendering subtrees
2423         of the rendering tree into a ImageBuffer (see renderSubtreeToImage function)
2424         ImageBufferCG is completly implemented, ImageBufferQt is stubbed.
2426         Also add correct default values for x/y/width/height of <mask>.
2427         Fixes masking related LayoutTests, and speeds up gradient-on-stroke a lot.
2429         * CMakeLists.txt:
2430         * WebCore.pro:
2431         * WebCore.xcodeproj/project.pbxproj:
2432         * ksvg2/svg/SVGFEImageElement.cpp:
2433         * ksvg2/svg/SVGImageElement.cpp:
2434         * ksvg2/svg/SVGMaskElement.cpp:
2435         (WebCore::SVGMaskElement::SVGMaskElement):
2436         (WebCore::SVGMaskElement::attributeChanged):
2437         (WebCore::SVGMaskElement::parseMappedAttribute):
2438         (WebCore::SVGMaskElement::drawMaskerContent):
2439         (WebCore::SVGMaskElement::canvasResource):
2440         * ksvg2/svg/SVGMaskElement.h:
2441         * ksvg2/svg/SVGPatternElement.cpp:
2442         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2443         (WebCore::SVGPatternElement::notifyAttributeChange):
2444         * ksvg2/svg/SVGPatternElement.h:
2445         * platform/graphics/GraphicsContext.h:
2446         * platform/graphics/ImageBuffer.cpp: Added.
2447         (WebCore::ImageBuffer::renderSubtreeToImage):
2448         * platform/graphics/ImageBuffer.h: Added.
2449         * platform/graphics/cg/GraphicsContextCG.cpp:
2450         (WebCore::GraphicsContext::createImageBuffer):
2451         * platform/graphics/cg/ImageBufferCG.cpp: Added.
2452         (WebCore::ImageBuffer::ImageBuffer):
2453         (WebCore::ImageBuffer::~ImageBuffer):
2454         (WebCore::ImageBuffer::size):
2455         (WebCore::ImageBuffer::context):
2456         (WebCore::ImageBuffer::cgImage):
2457         * platform/graphics/mac/GraphicsContextMac.mm:
2458         * platform/graphics/qt/GraphicsContextQt.cpp:
2459         (WebCore::GraphicsContext::createImageBuffer):
2460         * platform/graphics/qt/ImageBufferQt.cpp: Added.
2461         (WebCore::ImageBuffer::ImageBuffer):
2462         (WebCore::ImageBuffer::~ImageBuffer):
2463         (WebCore::ImageBuffer::size):
2464         (WebCore::ImageBuffer::context):
2465         * platform/graphics/svg/SVGPaintServerGradient.h:
2466         * platform/graphics/svg/SVGPaintServerPattern.cpp:
2467         (WebCore::SVGPaintServerPattern::tile):
2468         (WebCore::SVGPaintServerPattern::setTile):
2469         * platform/graphics/svg/SVGPaintServerPattern.h:
2470         * platform/graphics/svg/SVGResourceImage.h: Removed.
2471         * platform/graphics/svg/SVGResourceMasker.cpp:
2472         (WebCore::SVGResourceMasker::setMask):
2473         (WebCore::SVGResourceMasker::mask):
2474         * platform/graphics/svg/SVGResourceMasker.h:
2475         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2476         (WebCore::SVGPaintServerGradient::teardown):
2477         (WebCore::SVGPaintServerGradient::renderPath):
2478         (WebCore::SVGPaintServerGradient::setup):
2479         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2480         (WebCore::patternCallback):
2481         (WebCore::SVGPaintServerPattern::setup):
2482         * platform/graphics/svg/cg/SVGResourceImageCg.cpp: Removed.
2483         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
2484         (WebCore::SVGResourceMasker::applyMask):
2485         * platform/graphics/svg/qt/SVGResourceImageQt.cpp: Removed.
2487 2006-12-19  David Hyatt  <hyatt@apple.com>
2489         Make sure to initialize the CG fill and stroke colors to our initial fill/stroke colors when first
2490         constructing a GraphicsContextCG.  Because Safari actually draws text in the bookmarks bar using GraphicsContext
2491         and sets a fill color, this could only really be seen in another WebKit app.
2493         Patched GraphicsContextQt as well, since it has the same pattern.
2495         Reviewed by bdash
2497         * platform/graphics/cg/GraphicsContextCG.cpp:
2498         (WebCore::setCGFillColor):
2499         (WebCore::setCGStrokeColor):
2500         (WebCore::GraphicsContext::GraphicsContext):
2502 2006-12-19  Lars Knoll <lars@trolltech.com>
2504         Reviewed by Rob.
2506         * loader/FrameLoader.cpp:
2507         (WebCore::FrameLoader::URL):\
2508                 Fix a crash, because of the incompletely ported loader
2509         * platform/qt/FontQt.cpp:
2510         (WebCore::Font::drawGlyphs):
2511                 Adapt to the changes in GraphicsContext
2513 2006-12-19  David Hyatt  <hyatt@apple.com>
2515         Convert stroke thickness to a float.  This allows the thickness argument to strokeArc to be eliminated.
2516        
2517         Reviewed by olliej
2519         * platform/graphics/GraphicsContext.cpp:
2520         (WebCore::GraphicsContext::setStrokeThickness):
2521         (WebCore::GraphicsContext::strokeThickness):
2522         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2523         * platform/graphics/GraphicsContext.h:
2524         * platform/graphics/cg/GraphicsContextCG.cpp:
2525         (WebCore::GraphicsContext::drawEllipse):
2526         (WebCore::GraphicsContext::strokeArc):
2527         * platform/graphics/qt/GraphicsContextQt.cpp:
2528         (WebCore::GraphicsContext::strokeArc):
2529         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2530         * rendering/RenderObject.cpp:
2531         (WebCore::RenderObject::drawBorderArc):
2533 2006-12-19  David Hyatt  <hyatt@apple.com>
2535         Rename drawArc to strokeArc and remove its strange behavior of trying to "fill" by stroking using the passed in
2536         thickness.  Now the method is purely about stroking an arc and always uses the passed in thickness.   Fix the
2537         border-radius code that calls the method so that it makes more sense now.  If stroke thickness is converted
2538         to a float, then even the extra argument can go away, and this method can be a clean stroke of an arc.
2540         Make sure to get square list markers right by setting both stroke and fill color properly.
2542         Reviewed by mitz, olliej
2544         * platform/graphics/GraphicsContext.h:
2545         * platform/graphics/cg/GraphicsContextCG.cpp:
2546         (WebCore::GraphicsContext::strokeArc):
2547         * platform/graphics/qt/GraphicsContextQt.cpp:
2548         (WebCore::GraphicsContext::strokeArc):
2549         * rendering/RenderListMarker.cpp:
2550         (WebCore::RenderListMarker::paint):
2551         * rendering/RenderObject.cpp:
2552         (WebCore::RenderObject::drawBorderArc):
2554 2006-12-18  Geoffrey Garen  <ggaren@apple.com>
2556         Reviewed by Beth Dakin.
2558         Fixed <rdar://problem/4549745> REGRESSION: scrolling on Google maps 
2559         continues after the mouse is released outside the window (8137)
2560         
2561         The RenderLayer hit testing code assumed that, when the mouse was outside
2562         the WebView, we only needed to capture mouse events while the mouse was
2563         down (in other words, mouse move events). We actually need to capture mouse 
2564         up events, as well.
2566         * dom/Document.cpp:
2567         (WebCore::Document::prepareMouseEvent): To match EventHandler::prepareMouseEvent, 
2568         I changed this function to take a HitTestRequest instead of the broken-out values of one.
2569         For clarity, I moved an assert to top of function.
2570         (WebCore::Document::addMarker): Removed stray character.
2571         * dom/Document.h:
2573         * page/EventHandler.cpp: Changed prepareMouseEvent to take a HitTestRequest,
2574         instead of the broken-out values of one. This simplified the code, and made
2575         the task of adding an extra, optional parameter to hit testing much easier.
2576         (WebCore::EventHandler::handleMousePressEvent):
2577         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2578         (WebCore::EventHandler::handleMouseMoveEvent): Set the 'capturing' flag
2579         if the move occurs while the mouse is down. This replaces RenderLayer's
2580         heavy-handed assumption that we should always capture if the mouse is down.
2581         (WebCore::EventHandler::handleMouseReleaseEvent): Set the 'capturing'
2582         flag, since we assume every mouse up follows a mouse down inside the WebView.
2583         (We'd like to ASSERT as much, but DRT's event sending mechanism is crazy, and
2584         violates this axiom.)
2585         (WebCore::EventHandler::updateDragAndDrop):
2586         (WebCore::EventHandler::prepareMouseEvent):
2587         (WebCore::EventHandler::handleWheelEvent):
2588         (WebCore::EventHandler::sendContextMenuEvent):
2589         (WebCore::EventHandler::hoverTimerFired):
2590         * page/EventHandler.h:
2592         * rendering/HitTestRequest.h:
2593         (WebCore::HitTestRequest::HitTestRequest): Added 'capturing' data member,
2594         which specifies whether the hit test should capture mouse events that occur
2595         outside the WebView.
2597         * rendering/RenderLayer.cpp:
2598         (WebCore::RenderLayer::hitTestLayer): Moved misleading comment to where
2599         it actually applies. Changed 'active' test to new 'capturing' test, so
2600         the hit test requester can decide whether we need to capture mouse events
2601         that don't intersect any layer.
2603 2006-12-18  David Hyatt  <hyatt@apple.com>
2605         Make sure a stroke style is set for list bullets.
2607         Reviewed by mitz
2609         * rendering/RenderListMarker.cpp:
2610         (WebCore::RenderListMarker::paint):
2612 2006-12-18  Ada Chan  <adachan@apple.com>
2614         Reviewed by Adam.
2616         Moved implementation of Frame::scheduleClose to Frame.cpp.
2617         Added canRunBeforeUnloadConfirmPanel, runBeforeUnloadConfirmPanel, and closeWindowSoon
2618         in Chrome and ChromeClient.
2620         * WebCore.exp:
2621         * bridge/win/FrameWin.h:
2622         * page/Chrome.cpp:
2623         (WebCore::Chrome::canRunBeforeUnloadConfirmPanel):
2624         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
2625         (WebCore::Chrome::closeWindowSoon):
2626         * page/Chrome.h:
2627         * page/ChromeClient.h:
2628         * page/Frame.cpp:
2629         (WebCore::Frame::shouldClose):
2630         (WebCore::Frame::scheduleClose):
2631         * page/Frame.h:
2632         * page/mac/FrameMac.h:
2633         * page/mac/FrameMac.mm:
2634         * page/mac/WebCoreFrameBridge.h:
2635         * platform/gdk/FrameGdk.h:
2636         * platform/gdk/TemporaryLinkStubs.cpp:
2637         (FrameGdk::issuePasteCommand):
2638         * platform/qt/FrameQt.cpp:
2639         * platform/qt/FrameQt.h:
2640         * platform/win/TemporaryLinkStubs.cpp:
2641         (WebCore::FrameWin::issuePasteCommand):
2643 2006-12-18  Alice Liu  <alice.liu@apple.com>
2645         Reviewed by Adam.
2647         Fixed <rdar://problem/4766174> REGRESSION(r16081): Aspect eWFM: Unable to log in
2649         * loader/FrameLoader.cpp:
2650         (WebCore::FrameLoader::didExplicitOpen):
2652 2006-12-18  David Hyatt  <hyatt@apple.com>
2654         Add save/restore calls around the painting of text areas on Mac, since the methods in question
2655         alter the current fill color in CG destructively.
2657         Reviewed by olliej
2659         * rendering/RenderThemeMac.mm:
2660         (WebCore::RenderThemeMac::paintButton):
2661         (WebCore::RenderThemeMac::paintTextField):
2662         (WebCore::RenderThemeMac::paintTextArea):
2663         (WebCore::RenderThemeMac::paintSliderTrack):
2664         (WebCore::RenderThemeMac::paintSliderThumb):
2666 2006-12-18  David Hyatt  <hyatt@apple.com>
2668         Fix list markers to properly stroke and fill.  I screwed this up when changing how text draws.
2670         Reviewed by olliej
2672         * rendering/RenderListMarker.cpp:
2673         (WebCore::RenderListMarker::paint):
2675 2006-12-18  David Hyatt  <hyatt@apple.com>
2677         Eliminate the Pen object in favor of separate stroke variables, since most code just wants to set the
2678         stroke color.  This also makes it easier for us to push only stroke color through into CG synchronously
2679         while leaving the others alone.
2681         Reviewed by olliej
2683         * platform/graphics/GraphicsContext.cpp:
2684         (WebCore::GraphicsContextState::GraphicsContextState):
2685         (WebCore::GraphicsContext::setStrokeThickness):
2686         (WebCore::GraphicsContext::setStrokeStyle):
2687         (WebCore::GraphicsContext::setStrokeColor):
2688         (WebCore::GraphicsContext::strokeThickness):
2689         (WebCore::GraphicsContext::strokeStyle):
2690         (WebCore::GraphicsContext::strokeColor):
2691         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2692         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2693         * platform/graphics/GraphicsContext.h:
2694         (WebCore::):
2695         * platform/graphics/cg/GraphicsContextCG.cpp:
2696         (WebCore::GraphicsContext::drawRect):
2697         (WebCore::GraphicsContext::drawLine):
2698         (WebCore::GraphicsContext::drawEllipse):
2699         (WebCore::GraphicsContext::drawArc):
2700         (WebCore::GraphicsContext::drawConvexPolygon):
2701         (WebCore::GraphicsContext::drawLineForText):
2702         (WebCore::GraphicsContext::setPlatformStrokeColor):
2703         * platform/graphics/qt/GraphicsContextQt.cpp:
2704         (WebCore::toQPenStyle):
2705         (WebCore::GraphicsContext::setPlatformStrokeColor):
2706         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2707         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2708         * platform/mac/FontMac.mm:
2709         (WebCore::Font::drawComplexText):
2710         (WebCore::Font::drawGlyphs):
2711         * rendering/InlineFlowBox.cpp:
2712         (WebCore::InlineFlowBox::paintDecorations):
2713         * rendering/InlineTextBox.cpp:
2714         (WebCore::updateTextColor):
2715         (WebCore::InlineTextBox::paint):
2716         (WebCore::InlineTextBox::paintDecoration):
2717         (WebCore::InlineTextBox::paintMarkedTextUnderline):
2718         * rendering/RenderBlock.cpp:
2719         (WebCore::RenderBlock::paintObject):
2720         * rendering/RenderBox.cpp:
2721         * rendering/RenderBox.h:
2722         * rendering/RenderFrameSet.cpp:
2723         (WebCore::RenderFrameSet::userResize):
2724         * rendering/RenderImage.cpp:
2725         (WebCore::RenderImage::paint):
2726         * rendering/RenderObject.cpp:
2727         (WebCore::RenderObject::drawBorderArc):
2728         (WebCore::RenderObject::drawBorder):
2729         * rendering/RenderTable.cpp:
2730         (WebCore::RenderTable::paint):
2731         * rendering/RenderTableCell.cpp:
2732         (WebCore::RenderTableCell::paint):
2733         * rendering/RenderText.cpp:
2734         * rendering/RenderThemeMac.mm:
2735         (WebCore::RenderThemeMac::paintMenuListButton):
2737 2006-12-18  Darin Adler  <darin@apple.com>
2739         Reviewed by Adele.
2741         - fix <rdar://problem/4889565> REGRESSION (r17597): Command-clicking a submit
2742           button does not submit in a new tab/window
2743           http://bugs.webkit.org/show_bug.cgi?id=11858
2745         - change DOMActivate events to be created as a part of default handling of
2746           click events instead of having the sender of the click event also send
2747           a DOMActivate event
2749         - fixed some edge cases in the slider thumb element handler; since this is
2750           inside a shadow DOM, it's likely none of these can arise in practice
2752         No easy way to test the command-click part since the behavior is in Safari.
2753         To make a test we'd have to provide JavaScript access to the modifiers passed
2754         to the policy delegate or have some way to query the underlying event from
2755         JavaScript.
2757         * dom/EventTargetNode.cpp: Change all assert to ASSERT.
2758         (WebCore::EventTargetNode::dispatchMouseEvent): Renamed some local variables
2759         for clarity. Added a RefPtr for relatedTarget since it might be deallocated
2760         by the handlers for the click event and is used in the code that creates the
2761         dblclick event. Removed the code to create a DOMActivate event, since that's
2762         now done in the default event handler for the click event.
2763         (WebCore::EventTargetNode::defaultEventHandler): Added code to check for a
2764         click event and dispatch a DOMActivate event using the click event as the
2765         underlying event. The part of this that fixes the bug is that we use the
2766         click event as the underlying event; the old code used the same underlying
2767         event as for the click event, not the click event itself. The underlying event
2768         for the click event is usually 0, since we propagate the key state to the click
2769         event instead of using an underlying event in the common case.
2771         * dom/Document.cpp: (WebCore::Document::defaultEventHandler): Added call
2772         to the base class's defaultEventHandler function, except in the case where
2773         the event is already handled.
2775         * html/HTMLInputElement.h: Removed clickX() and clickY().
2776         * html/HTMLInputElement.cpp:
2777         (WebCore::HTMLInputElement::appendFormData): Use xPos and yPos directly,
2778         so we can remove clickX() and clickY().
2779         (WebCore::HTMLInputElement::defaultEventHandler): Removed code that calls
2780         setDefaultHandled for click events since we are just recording the x and y
2781         coordinates of the events; that's not "handling" an event, and setting
2782         the flag prevents us from calling the base class's default event handler,
2783         which is now needed to submmit the form.
2785         * rendering/RenderSlider.cpp:
2786         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2787         Added some missing isMouseEvent checks in code that casts to a MouseEvent.
2788         Added check document()->frame() in code that manipulates the frame so that
2789         fake events, which might happen when there's no frame, can't cause a crash.
2790         Added an m_inDragMode check so we don't try to handle mouseup events when
2791         we are not handling a drag. Remove the setDefaultHandled call from the
2792         mousemove case, because mousemove events are observed, and not "handled"
2793         in the "nobody else should look at this event" sense. Added a call to the
2794         base class's default event handler, and some return statements so that we
2795         won't call it when the event has been handled.
2797         * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::defaultEventHandler):
2798         Removed an unneeded "return" for a function that has no return value.
2800 2006-12-18  Beth Dakin  <bdakin@apple.com>
2802         Reviewed by Adele.
2804         Fix for <rdar://problem/4749770> WebCore crashes on a blog website 
2805         in WebCore::InlineBox::root() + 6
2807         We null-check inlineBoxWrapper everywhere else in the code except 
2808         for these 3 spots. This patch adds them in. Only one of the checks 
2809         is required to fix the crash. What we render for the test case now 
2810         matches shipping Safari, but still seems wrong because we do not 
2811         match Firefox. I will file a follow-up about the rendering problem.
2813         * rendering/RenderListItem.cpp:
2814         (WebCore::RenderListItem::positionListMarker): This is the required 
2815         null-check. 
2816         * rendering/RenderListMarker.cpp:
2817         (WebCore::RenderListMarker::setSelectionState): Null-check for 
2818         safety. 
2819         (WebCore::RenderListMarker::selectionRect): Same.
2821 2006-12-18  David Hyatt  <hyatt@apple.com>
2823         Fix performance regression caused by adding setting of stroke colors as well as fill colors to every font drawing
2824         call on Mac.  Fix is rather involved:
2826         (1) Fill color is now updated in CG synchronously.  There is no more delay in the push.  I used the model that
2827         Qt added for this, setPlatformFillColor, so we're the same now.
2829         (2) Text was being drawn using the pen color, which is tantamount to using the stroke color.  Since text in HTML
2830         is really a fill and not a stroke, all cross-platform code that draws text has been patched to use fill instead
2831         of the pen.
2833         (3) Added a new API to GraphicsContext to set the text drawing mode to any combination of fill/stroke/clip.
2834         Ports should implement setPlatformTextDrawingMode or just query the mode in their drawGlyphs/drawComplexText
2835         method on their Font class to get the new functionality.
2837         (4) InlineTextBox will set the fill and stroke colors appropriately now rather than always assuming fill.
2839         (5) Fixed a bug in GraphicsContextCG where fillRectWithColor was updating the CG fill color in the state object
2840         as a side effect, creating a mismatch between CG's fill color and the stored cross-platform fill color.
2842         Reviewed by olliej
2844         * platform/graphics/GraphicsContext.cpp:
2845         (WebCore::GraphicsContextState::GraphicsContextState):
2846         (WebCore::GraphicsContext::textDrawingMode):
2847         (WebCore::GraphicsContext::setTextDrawingMode):
2848         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
2849         (WebCore::GraphicsContext::setPlatformPen):
2850         * platform/graphics/GraphicsContext.h:
2851         * platform/graphics/cg/GraphicsContextCG.cpp:
2852         (WebCore::GraphicsContext::fillRect):
2853         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
2854         (WebCore::GraphicsContext::setPlatformFillColor):
2855         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2856         (WebCore::SVGPaintServerGradient::teardown):
2857         (WebCore::SVGPaintServerGradient::setup):
2858         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2859         (WebCore::SVGPaintServerPattern::setup):
2860         (WebCore::SVGPaintServerPattern::teardown):
2861         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
2862         (WebCore::SVGPaintServerSolid::setup):
2863         * platform/mac/FontMac.mm:
2864         (WebCore::Font::drawComplexText):
2865         (WebCore::Font::drawGlyphs):
2866         * platform/mac/WebCoreTextRenderer.mm:
2867         (WebCoreDrawTextAtPoint):
2868         * rendering/EllipsisBox.cpp:
2869         (WebCore::EllipsisBox::paint):
2870         * rendering/InlineTextBox.cpp:
2871         (WebCore::correctedTextColor):
2872         (WebCore::updateTextColor):
2873         (WebCore::InlineTextBox::paint):
2874         (WebCore::InlineTextBox::paintSelection):
2875         (WebCore::InlineTextBox::paintMarkedTextBackground):
2876         (WebCore::InlineTextBox::paintTextMatchMarker):
2877         * rendering/RenderFileUploadControl.cpp:
2878         (WebCore::RenderFileUploadControl::paintObject):
2879         * rendering/RenderListBox.cpp:
2880         (WebCore::RenderListBox::paintItemForeground):
2881         * rendering/RenderListMarker.cpp:
2882         (WebCore::RenderListMarker::paint):
2884 2006-12-18  Matt Perry  <mpcomplete@chromium.org>
2886         Reviewed by Maciej.
2888         Bug 11760: Animated GIFs with offsets crash WebKit
2889         http://bugs.webkit.org/show_bug.cgi?id=11760
2891         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2892         ensure we don't write past the end of the image buffer when the offset
2893         is nonzero.  also fix the way we composite frames when animating.
2894         (WebCore::GIFImageDecoder::initFrameBuffer):
2895         (WebCore::GIFImageDecoder::haveDecodedRow):
2897 2006-12-18  Pam Greene  <pam@chromium.org>
2899         Reviewed by Darin.
2901         Changed hidden input controls to reset to their initial values
2902         when the form is reset.  Also added layout tests for resetting
2903         other input controls.
2905         Fixes http://bugs.webkit.org/show_bug.cgi?id=11866
2907         * html/HTMLInputElement.cpp:
2908         (WebCore::HTMLInputElement::setValue):
2909         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2911 2006-12-18  Alice Liu  <alice.liu@apple.com>
2913         Oops forgot a file. 
2915         * editing/EditorDeleteAction.h: Added.
2916         (WebCore::):
2918 2006-12-18  Alice Liu  <alice.liu@apple.com>
2920         Reviewed by Adam.
2922         Have the Editor handle deletion instead of WebHTMLView
2924         * WebCore.exp:
2925         Exposed Editor::deleteWithDirection and ::deleteRange()
2927         * WebCore.xcodeproj/project.pbxproj:
2928         Added EditorDeleteAction.h
2930         * editing/Editor.cpp:
2931         (WebCore::Editor::deleteRange):
2932         (WebCore::Editor::deleteWithDirection):
2933         Implemented
2935         (WebCore::Editor::deleteSelectionWithSmartDelete):
2936         Overloaded to take no params, in which case canSmartCopyOrDelete is called
2938         (WebCore::execCopy):
2939         (WebCore::execCut):
2940         (WebCore::execDelete):
2941         (WebCore::execPaste):
2942         Call the editor instead of asking frame to cut/copy/paste/delete
2944         (WebCore::execBackwardDelete):
2945         (WebCore::execForwardDelete):
2946         Call deleteWithDirection instead of just executing a TypingCommand
2948         (WebCore::CommandEntry::):
2949         distinguished delete (which deletes selection) from backwards delete (single character, no selection)
2951         (WebCore::Editor::cut):
2952         (WebCore::Editor::performDelete):
2953         Trivial changes
2955         * editing/Editor.h:
2956         Added some functons.
2957         (WebCore::Editor::setStartNewKillRingSequence):
2958         (WebCore::Editor::propogateDOMException):
2959         (WebCore::Editor::addToKillRing):
2960         * editing/mac/EditorMac.mm:
2961         Factored out support for Kill Rings to this file
2963         * platform/mac/PasteboardMac.mm:
2964         Trivial change
2966 2006-12-18  Kevin McCullough  <KMcCullough@apple.com>
2968         Reviewed by Oliver.
2970         - Removed CG header include
2972         * platform/graphics/ImageSource.h:
2974 2006-12-18  John Sullivan  <sullivan@apple.com>
2976         Reviewed by Tim Hatcher
2978         - fixed <rdar://problem/4887764> GMAIL: Crash occurs at WebCore::Range::cloneRange() 
2979           when I ctrl-click in a empty list item
2981         * editing/mac/EditorMac.mm:
2982         (WebCore::isRangeUngrammatical):
2983         bail out immediately for nil range (which selectionController()->toRange().get()
2984         can return). Also save some work by bailing out immediately for collapsed ranges.
2986 2006-12-18  Alice Liu  <alice.liu@apple.com>
2988         Leopard build fix.
2990         * platform/ContextMenu.cpp:
2991         (WebCore::ContextMenu::checkOrEnableIfNeeded):
2993 2006-12-17  Zack Rusin  <zack@kde.org>
2995         Fix compilation after the const changes.
2997         * platform/qt/ContextMenuItemQt.cpp:
2998         (WebCore::ContextMenuItem::type):
2999         (WebCore::ContextMenuItem::setTitle):
3000         (WebCore::ContextMenuItem::setChecked):
3001         (WebCore::ContextMenuItem::setEnabled):
3003 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
3005         Reviewed by Eric.
3007         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10956
3009         Long standing regression. The old code in FontMac.mm, used set the fill/stroke
3010         color "[nsColor(graphicsContext->pen().color()) set];", and current code only
3011         sets the fill color. Reverting to old behaviour fixes gradient-on-stroke-of-text.
3013         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3014         (WebCore::SVGPaintServerGradient::setup):
3015         * platform/mac/FontMac.mm:
3016         (WebCore::Font::drawComplexText):
3017         (WebCore::Font::drawGlyphs):
3019 2006-12-17  Lars Naesbye Christensen  <lars@naesbye.dk>
3021         Reviewed, tweaked and landed by Alexey.
3023         http://bugs.webkit.org/show_bug.cgi?id=11798
3024         [CSS 3] missing cursor support for 'none'
3026         * Resources/noneCursor.png: Added.
3027         * WebCore.xcodeproj/project.pbxproj:
3028         * css/CSSComputedStyleDeclaration.cpp:
3029         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3030         * css/CSSValueKeywords.in:
3031         * css/cssparser.cpp: Also fixed previously broken -webkit-background-composite: copy.
3032         * manual-tests/cursor.html:
3033         * page/EventHandler.cpp:
3034         (WebCore::selectCursor):
3035         * platform/Cursor.h:
3036         * platform/gdk/CursorGdk.cpp:
3037         (WebCore::noneCursor):
3038         * platform/mac/CursorMac.mm:
3039         (WebCore::noneCursor):
3040         * platform/qt/CursorQt.cpp:
3041         (WebCore::noneCursor):
3042         * platform/win/CursorWin.cpp:
3043         (WebCore::noneCursor):
3044         * rendering/RenderStyle.h:
3045         (WebCore::):
3047 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
3049         Build fix, not reviewed.
3051         This should hopefully fix Qt build.
3053         * ksvg2/svg/SVGLength.cpp: Include math.h for Qt/Linux build.
3055 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
3057         Reviewed by Rob.
3059         Remove SVGHelper class. Move the last static function "parseSeparatedList"
3060         to the only place using it: SVGAnimationElement. Update all build files.
3062         Remove any lazy_create macro usage, by what it does - cleaner.
3064         * CMakeLists.txt:
3065         * WebCore.pro:
3066         * WebCore.xcodeproj/project.pbxproj:
3067         * ksvg2/misc/KCanvasRenderingStyle.cpp:
3068         * ksvg2/svg/SVGAElement.cpp:
3069         * ksvg2/svg/SVGAnimationElement.cpp:
3070         (WebCore::parseSeparatedList):
3071         (WebCore::SVGAnimationElement::parseMappedAttribute):
3072         * ksvg2/svg/SVGCircleElement.cpp:
3073         * ksvg2/svg/SVGClipPathElement.cpp:
3074         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
3075         * ksvg2/svg/SVGCursorElement.cpp:
3076         * ksvg2/svg/SVGEllipseElement.cpp:
3077         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
3078         * ksvg2/svg/SVGFEBlendElement.cpp:
3079         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
3080         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
3081         * ksvg2/svg/SVGFECompositeElement.cpp:
3082         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
3083         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
3084         * ksvg2/svg/SVGFEFloodElement.cpp:
3085         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
3086         * ksvg2/svg/SVGFEImageElement.cpp:
3087         * ksvg2/svg/SVGFELightElement.cpp:
3088         * ksvg2/svg/SVGFEMergeElement.cpp:
3089         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
3090         * ksvg2/svg/SVGFEOffsetElement.cpp:
3091         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
3092         * ksvg2/svg/SVGFETileElement.cpp:
3093         * ksvg2/svg/SVGFilterElement.cpp:
3094         * ksvg2/svg/SVGForeignObjectElement.cpp:
3095         * ksvg2/svg/SVGGradientElement.cpp:
3096         * ksvg2/svg/SVGHelper.cpp: Removed.
3097         * ksvg2/svg/SVGHelper.h: Removed.
3098         * ksvg2/svg/SVGImageElement.cpp:
3099         * ksvg2/svg/SVGLength.cpp:
3100         * ksvg2/svg/SVGLineElement.cpp:
3101         * ksvg2/svg/SVGLinearGradientElement.cpp:
3102         * ksvg2/svg/SVGMarkerElement.cpp:
3103         * ksvg2/svg/SVGMaskElement.cpp:
3104         * ksvg2/svg/SVGPathElement.cpp:
3105         * ksvg2/svg/SVGPatternElement.cpp:
3106         * ksvg2/svg/SVGPolyElement.cpp:
3107         * ksvg2/svg/SVGRadialGradientElement.cpp:
3108         * ksvg2/svg/SVGRectElement.cpp:
3109         * ksvg2/svg/SVGStopElement.cpp:
3110         * ksvg2/svg/SVGStyledElement.cpp:
3111         * ksvg2/svg/SVGStyledTransformableElement.cpp:
3112         * ksvg2/svg/SVGSymbolElement.cpp:
3113         * ksvg2/svg/SVGTests.cpp:
3114         * ksvg2/svg/SVGTextContentElement.cpp:
3115         * ksvg2/svg/SVGTextElement.cpp:
3116         * ksvg2/svg/SVGTextPositioningElement.cpp:
3117         * ksvg2/svg/SVGTransformable.cpp:
3118         * ksvg2/svg/SVGURIReference.cpp:
3119         * ksvg2/svg/SVGUseElement.cpp:
3120         * ksvg2/svg/SVGViewElement.cpp:
3121         * ksvg2/svg/SVGZoomAndPan.cpp:
3123 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
3125         Reviewed by Rob.
3127         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11813
3129         Pass SVGLength around by value, remove any SVGLength* usage.
3130         Bindings work fine, as the SVG POD JS Wrapper stuff is already in svn.
3132         No new regressions, none fixed. But the code itself is much cleaner.
3133         And some problems with width-full-percentage.svg have been fixed, viewport
3134         clipping works in any case now, also for percentual width/height values set on <svg>.
3136         * bindings/scripts/CodeGenerator.pm:
3137         * bindings/scripts/CodeGeneratorJS.pm:
3138         * ksvg2/misc/KCanvasRenderingStyle.cpp:
3139         (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
3140         * ksvg2/svg/SVGAnimatedTemplate.h:
3141         * ksvg2/svg/SVGCircleElement.cpp:
3142         (WebCore::SVGCircleElement::SVGCircleElement):
3143         (WebCore::SVGCircleElement::parseMappedAttribute):
3144         (WebCore::SVGCircleElement::toPathData):
3145         * ksvg2/svg/SVGCircleElement.h:
3146         * ksvg2/svg/SVGCursorElement.cpp:
3147         (WebCore::SVGCursorElement::SVGCursorElement):
3148         (WebCore::SVGCursorElement::parseMappedAttribute):
3149         * ksvg2/svg/SVGCursorElement.h:
3150         * ksvg2/svg/SVGElement.cpp:
3151         * ksvg2/svg/SVGEllipseElement.cpp:
3152         (WebCore::SVGEllipseElement::SVGEllipseElement):
3153         (WebCore::SVGEllipseElement::parseMappedAttribute):
3154         (WebCore::SVGEllipseElement::toPathData):
3155         * ksvg2/svg/SVGEllipseElement.h:
3156         * ksvg2/svg/SVGFilterElement.cpp:
3157         (WebCore::SVGFilterElement::SVGFilterElement):
3158         (WebCore::SVGFilterElement::parseMappedAttribute):
3159         (WebCore::SVGFilterElement::canvasResource):
3160         * ksvg2/svg/SVGFilterElement.h:
3161         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
3162         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
3163         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
3164         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
3165         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
3166         * ksvg2/svg/SVGFitToViewBox.cpp:
3167         (WebCore::SVGFitToViewBox::parseViewBox):
3168         * ksvg2/svg/SVGForeignObjectElement.cpp:
3169         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3170         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
3171         (WebCore::SVGForeignObjectElement::createRenderer):
3172         (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
3173         * ksvg2/svg/SVGForeignObjectElement.h:
3174         * ksvg2/svg/SVGHelper.cpp:
3175         (WebCore::SVGHelper::parseSeparatedList):
3176         * ksvg2/svg/SVGHelper.h:
3177         * ksvg2/svg/SVGImageElement.cpp:
3178         (WebCore::SVGImageElement::SVGImageElement):
3179         (WebCore::SVGImageElement::parseMappedAttribute):
3180         * ksvg2/svg/SVGImageElement.h:
3181         * ksvg2/svg/SVGLength.cpp:
3182         (WebCore::storeUnit):
3183         (WebCore::extractMode):
3184         (WebCore::extractType):
3185         (WebCore::lengthTypeToString):
3186         (WebCore::stringToLengthType):
3187         (WebCore::SVGLength::SVGLength):
3188         (WebCore::SVGLength::unitType):
3189         (WebCore::SVGLength::value):
3190         (WebCore::SVGLength::setValue):
3191         (WebCore::SVGLength::setValueInSpecifiedUnits):
3192         (WebCore::SVGLength::setValueAsString):
3193         (WebCore::SVGLength::valueAsString):
3194         (WebCore::SVGLength::newValueSpecifiedUnits):
3195         (WebCore::SVGLength::convertToSpecifiedUnits):
3196         (WebCore::SVGLength::isFraction):
3197         (WebCore::SVGLength::dpi):
3198         (WebCore::SVGLength::PercentageOfViewport):
3199         * ksvg2/svg/SVGLength.h:
3200         (WebCore::):
3201         (WebCore::SVGLength::):
3202         * ksvg2/svg/SVGLength.idl:
3203         * ksvg2/svg/SVGLengthList.cpp:
3204         (WebCore::SVGLengthList::SVGLengthList):
3205         (WebCore::SVGLengthList::parse):
3206         * ksvg2/svg/SVGLengthList.h:
3207         * ksvg2/svg/SVGLineElement.cpp:
3208         (WebCore::SVGLineElement::SVGLineElement):
3209         (WebCore::SVGLineElement::parseMappedAttribute):
3210         (WebCore::SVGLineElement::toPathData):
3211         * ksvg2/svg/SVGLineElement.h:
3212         * ksvg2/svg/SVGLinearGradientElement.cpp:
3213         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
3214         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
3215         (WebCore::SVGLinearGradientElement::buildGradient):
3216         * ksvg2/svg/SVGLinearGradientElement.h:
3217         * ksvg2/svg/SVGMarkerElement.cpp:
3218         (WebCore::SVGMarkerElement::SVGMarkerElement):
3219         (WebCore::SVGMarkerElement::parseMappedAttribute):
3220         (WebCore::SVGMarkerElement::canvasResource):
3221         * ksvg2/svg/SVGMarkerElement.h:
3222         * ksvg2/svg/SVGMaskElement.cpp:
3223         (WebCore::SVGMaskElement::SVGMaskElement):
3224         (WebCore::SVGMaskElement::attributeChanged):
3225         (WebCore::SVGMaskElement::parseMappedAttribute):
3226         (WebCore::SVGMaskElement::drawMaskerContent):
3227         * ksvg2/svg/SVGMaskElement.h:
3228         * ksvg2/svg/SVGPatternElement.cpp:
3229         (WebCore::SVGPatternElement::SVGPatternElement):
3230         (WebCore::SVGPatternElement::parseMappedAttribute):
3231         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
3232         (WebCore::SVGPatternElement::notifyAttributeChange):
3233         (WebCore::SVGPatternElement::getCTM):
3234         * ksvg2/svg/SVGPatternElement.h:
3235         * ksvg2/svg/SVGRadialGradientElement.cpp:
3236         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
3237         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
3238         (WebCore::SVGRadialGradientElement::buildGradient):
3239         * ksvg2/svg/SVGRadialGradientElement.h:
3240         * ksvg2/svg/SVGRectElement.cpp:
3241         (WebCore::SVGRectElement::SVGRectElement):
3242         (WebCore::SVGRectElement::parseMappedAttribute):
3243         (WebCore::SVGRectElement::toPathData):
3244         * ksvg2/svg/SVGRectElement.h:
3245         * ksvg2/svg/SVGSVGElement.cpp:
3246         (WebCore::SVGSVGElement::SVGSVGElement):
3247         (WebCore::SVGSVGElement::viewport):
3248         (WebCore::SVGSVGElement::parseMappedAttribute):
3249         (WebCore::SVGSVGElement::createSVGLength):
3250         (WebCore::SVGSVGElement::getCTM):
3251         (WebCore::SVGSVGElement::getScreenCTM):
3252         * ksvg2/svg/SVGSVGElement.h:
3253         * ksvg2/svg/SVGStyledElement.cpp:
3254         * ksvg2/svg/SVGStyledElement.h:
3255         * ksvg2/svg/SVGTextContentElement.cpp:
3256         (WebCore::SVGTextContentElement::SVGTextContentElement):
3257         (WebCore::SVGTextContentElement::parseMappedAttribute):
3258         * ksvg2/svg/SVGTextContentElement.h:
3259         * ksvg2/svg/SVGTextElement.cpp:
3260         * ksvg2/svg/SVGTextPositioningElement.cpp:
3261         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
3262         * ksvg2/svg/SVGUseElement.cpp:
3263         (WebCore::SVGUseElement::SVGUseElement):
3264         (WebCore::SVGUseElement::parseMappedAttribute):
3265         (WebCore::SVGUseElement::closeRenderer):
3266         * ksvg2/svg/SVGUseElement.h:
3267         * page/EventHandler.cpp:
3268         (WebCore::selectCursor):
3269         * rendering/RenderForeignObject.cpp:
3270         (WebCore::RenderForeignObject::translationForAttributes):
3271         * rendering/RenderPath.cpp:
3272         * rendering/RenderPath.h:
3273         * rendering/RenderSVGContainer.cpp:
3274         (WebCore::RenderSVGContainer::layout):
3275         (WebCore::RenderSVGContainer::calcViewport):
3276         * rendering/RenderSVGImage.cpp:
3277         (WebCore::RenderSVGImage::relativeBBox):
3278         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
3279         (WebCore::RenderSVGImage::translationForAttributes):
3280         * rendering/RenderSVGText.cpp:
3281         (WebCore::RenderSVGText::layout):
3282         * rendering/SVGInlineFlowBox.cpp:
3283         (WebCore::translateBox):
3284         (WebCore::placePositionedBoxesHorizontally):
3285         (WebCore::placeBoxesVerticallyWithAbsBaseline):
3287 2006-12-16  Sam Weinig  <sam@webkit.org>
3289         Reviewed by Maciej.
3291         Patch for http://bugs.webkit.org/show_bug.cgi?id=11856
3292         Update renderName() methods to return current class names.
3294         * rendering/RenderPath.h:
3295         (WebCore::RenderPath::renderName): Returns "RenderPath" instead of "KCanvasItem".
3296         * rendering/RenderSVGContainer.h:
3297         (WebCore::RenderSVGContainer::renderName): Returns "RenderSVGContainer" instead of "KCanvasContainer".
3298         * rendering/RenderTextControl.h:
3299         (WebCore::RenderTextControl::renderName): Returns "RenderTextControl" instead of "RenderTextField".
3301 2006-12-16  Sam Weinig  <sam@webkit.org>
3303         Reviewed by Mitz.
3305         Patch for http://bugs.webkit.org/show_bug.cgi?id=11844
3306         Code Cleanup for more of the rendering code
3308         * WebCore.xcodeproj/project.pbxproj:
3309         * rendering/RenderCounter.cpp:
3310         (WebCore::RenderCounter::calcMinMaxWidth):
3311         * rendering/RenderText.cpp:
3312         (WebCore::RenderText::RenderText):
3313         (WebCore::RenderText::setStyle):
3314         (WebCore::RenderText::destroy):
3315         (WebCore::RenderText::attachTextBox):
3316         (WebCore::RenderText::findNextInlineTextBox):
3317         (WebCore::RenderText::positionForCoordinates):
3318         (WebCore::firstRendererOnNextLine):
3319         (WebCore::lastRendererOnPrevLine):
3320         (WebCore::RenderText::caretRect):
3321         (WebCore::RenderText::posOfChar):
3322         (WebCore::RenderText::allAscii):
3323         (WebCore::RenderText::shouldUseMonospaceCache):
3324         (WebCore::RenderText::cacheWidths):
3325         (WebCore::RenderText::widthFromCache):
3326         (WebCore::RenderText::trimmedMinMaxWidth):
3327         (WebCore::RenderText::calcMinMaxWidth):
3328         (WebCore::isSpaceAccordingToStyle):
3329         (WebCore::RenderText::containsOnlyWhitespace):
3330         (WebCore::RenderText::minXPos):
3331         (WebCore::RenderText::setSelectionState):
3332         (WebCore::RenderText::setTextWithOffset):
3333         (WebCore::RenderText::setText):
3334         (WebCore::RenderText::position):
3335         (WebCore::RenderText::width):
3336         (WebCore::RenderText::getAbsoluteRepaintRect):
3337         (WebCore::RenderText::selectionRect):
3338         (WebCore::RenderText::verticalPositionHint):
3339         (WebCore::RenderText::font):
3340         (WebCore::RenderText::caretMinOffset):
3341         (WebCore::RenderText::caretMaxOffset):
3342         (WebCore::RenderText::previousOffset):
3343         (WebCore::RenderText::nextOffset):
3344         (WebCore::RenderText::inlineBox):
3345         * rendering/RenderText.h:
3346         (WebCore::RenderText::isTextFragment):
3347         (WebCore::RenderText::data):
3348         (WebCore::RenderText::string):
3349         (WebCore::RenderText::paint):
3350         (WebCore::RenderText::layout):
3351         (WebCore::RenderText::nodeAtPoint):
3352         (WebCore::RenderText::length):
3353         (WebCore::RenderText::text):
3354         (WebCore::RenderText::stringLength):
3355         * rendering/RenderTextControl.cpp:
3356         (WebCore::RenderTextControl::setStyle):
3357         (WebCore::disabledTextColor):
3358         (WebCore::RenderTextControl::createInnerBlockStyle):
3359         (WebCore::RenderTextControl::createInnerTextStyle):
3360         (WebCore::RenderTextControl::createResultsButtonStyle):
3361         (WebCore::RenderTextControl::createCancelButtonStyle):
3362         (WebCore::RenderTextControl::showPlaceholderIfNeeded):
3363         (WebCore::RenderTextControl::hidePlaceholderIfNeeded):
3364         (WebCore::RenderTextControl::createSubtreeIfNeeded):
3365         (WebCore::RenderTextControl::updateFromElement):
3366         (WebCore::RenderTextControl::selectionStart):
3367         (WebCore::RenderTextControl::setSelectionRange):
3368         (WebCore::RenderTextControl::visiblePositionForIndex):
3369         (WebCore::RenderTextControl::subtreeHasChanged):
3370         (WebCore::RenderTextControl::textWithHardLineBreaks):
3371         (WebCore::RenderTextControl::calcHeight):
3372         (WebCore::RenderTextControl::nodeAtPoint):
3373         (WebCore::RenderTextControl::layout):
3374         (WebCore::RenderTextControl::calcMinMaxWidth):
3375         (WebCore::RenderTextControl::addSearchResult):
3376         (WebCore::RenderTextControl::showPopup):
3377         (WebCore::RenderTextControl::itemText):
3378         (WebCore::RenderTextControl::itemIsEnabled):
3379         (WebCore::RenderTextControl::listSize):
3380         (WebCore::RenderTextControl::scroll):
3381         * rendering/RenderTextControl.h:
3382         (WebCore::RenderTextControl::renderName):
3383         (WebCore::RenderTextControl::removeLeftoverAnonymousBoxes):
3384         * rendering/RenderTextFragment.cpp:
3385         (WebCore::RenderTextFragment::RenderTextFragment):
3386         (WebCore::RenderTextFragment::originalString):
3387         * rendering/RenderTextFragment.h:
3388         (WebCore::RenderTextFragment::isTextFragment):
3389         * rendering/RenderTheme.cpp:
3390         (WebCore::RenderTheme::adjustStyle):
3391         (WebCore::RenderTheme::isControlStyled):
3392         (WebCore::RenderTheme::stateChanged):
3393         (WebCore::RenderTheme::adjustCheckboxStyle):
3394         (WebCore::RenderTheme::adjustRadioStyle):
3395         * rendering/RenderTheme.h:
3396         (WebCore::):
3397         * rendering/RenderThemeMac.h:
3398         * rendering/RenderThemeMac.mm:
3399         (WebCore::RenderThemeMac::RenderThemeMac):
3400         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
3401         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
3402         (WebCore::RenderThemeMac::activeListBoxSelectionBackgroundColor):
3403         (WebCore::RenderThemeMac::systemFont):
3404         (WebCore::RenderThemeMac::isControlStyled):
3405         (WebCore::RenderThemeMac::adjustRepaintRect):
3406         (WebCore::RenderThemeMac::updateCheckedState):
3407         (WebCore::RenderThemeMac::controlSupportsTints):
3408         (WebCore::RenderThemeMac::setFontFromControlSize):
3409         (WebCore::RenderThemeMac::paintCheckbox):
3410         (WebCore::RenderThemeMac::checkboxMargins):
3411         (WebCore::RenderThemeMac::setCheckboxCellState):
3412         (WebCore::RenderThemeMac::setCheckboxSize):
3413         (WebCore::RenderThemeMac::paintRadio):
3414         (WebCore::RenderThemeMac::radioMargins):
3415         (WebCore::RenderThemeMac::setRadioCellState):
3416         (WebCore::RenderThemeMac::setRadioSize):
3417         (WebCore::RenderThemeMac::adjustButtonStyle):
3418         (WebCore::RenderThemeMac::buttonMargins):
3419         (WebCore::RenderThemeMac::setButtonSize):
3420         (WebCore::RenderThemeMac::setButtonCellState):
3421         (WebCore::RenderThemeMac::adjustTextFieldStyle):
3422         (WebCore::RenderThemeMac::adjustTextAreaStyle):
3423         (WebCore::RenderThemeMac::popupButtonMargins):
3424         (WebCore::RenderThemeMac::popupButtonPadding):
3425         (WebCore::TopGradientInterpolate):
3426         (WebCore::BottomGradientInterpolate):
3427         (WebCore::MainGradientInterpolate):
3428         (WebCore::TrackGradientInterpolate):
3429         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3430         (WebCore::RenderThemeMac::paintMenuListButton):
3431         (WebCore::RenderThemeMac::adjustMenuListStyle):
3432         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
3433         (WebCore::RenderThemeMac::paintSliderTrack):
3434         (WebCore::RenderThemeMac::paintSliderThumb):
3435         (WebCore::RenderThemeMac::paintSearchField):
3436         (WebCore::RenderThemeMac::setSearchCellState):
3437         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
3438         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
3439         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
3440         * rendering/RenderTreeAsText.cpp:
3441         (WebCore::operator<<):
3442         (WebCore::writeIndent):
3443         (WebCore::printBorderStyle):
3444         (WebCore::getTagName):
3445         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
3446         (WebCore::writeTextRun):
3447         (WebCore::write):
3448         (WebCore::writeLayers):
3449         (WebCore::nodePosition):
3450         (WebCore::writeSelection):
3451         * rendering/RenderTreeAsText.h:
3452         * rendering/RenderView.cpp:
3453         (WebCore::RenderView::RenderView):
3454         (WebCore::RenderView::calcMinMaxWidth):
3455         (WebCore::RenderView::layout):
3456         (WebCore::RenderView::absolutePosition):
3457         (WebCore::RenderView::paint):
3458         (WebCore::RenderView::repaintViewRectangle):
3459         (WebCore::rendererAfterPosition):
3460         (WebCore::RenderView::selectionRect):
3461         (WebCore::RenderView::setSelection):
3462         (WebCore::RenderView::selectionStartEnd):
3463         (WebCore::RenderView::updateWidgetPositions):
3464         (WebCore::RenderView::addWidget):
3465         (WebCore::RenderView::removeWidget):
3466         (WebCore::RenderView::viewRect):
3467         (WebCore::RenderView::docHeight):
3468         (WebCore::RenderView::docWidth):
3469         (WebCore::RenderView::setBestTruncatedAt):
3470         * rendering/RenderView.h:
3471         (WebCore::RenderView::renderName):
3472         (WebCore::RenderView::selectionStart):
3473         (WebCore::RenderView::selectionEnd):
3474         * rendering/RenderWidget.cpp:
3475         (WebCore::RenderWidget::destroy):
3476         (WebCore::RenderWidget::resizeWidget):
3477         (WebCore::RenderWidget::setStyle):
3478         (WebCore::RenderWidget::paint):
3479         (WebCore::RenderWidget::updateWidgetPosition):
3480         (WebCore::RenderWidget::setSelectionState):
3481         * rendering/RootInlineBox.cpp:
3482         (WebCore::RootInlineBox::placeEllipsis):
3483         (WebCore::RootInlineBox::fillLineSelectionGap):
3484         (WebCore::RootInlineBox::selectionState):
3485         (WebCore::RootInlineBox::firstSelectedBox):
3486         (WebCore::RootInlineBox::lastSelectedBox):
3487         (WebCore::RootInlineBox::selectionTop):
3488         (WebCore::RootInlineBox::closestLeafChildForXPos):
3489         * rendering/RootInlineBox.h:
3490         (WebCore::RootInlineBox::isRootInlineBox):
3491         (WebCore::RootInlineBox::setVerticalOverflowPositions):
3492         (WebCore::RootInlineBox::setHorizontalOverflowPositions):
3493         (WebCore::RootInlineBox::setVerticalSelectionPositions):
3494         (WebCore::RootInlineBox::lineBreakObj):
3495         (WebCore::RootInlineBox::lineBreakPos):
3496         (WebCore::RootInlineBox::setLineBreakPos):
3497         (WebCore::RootInlineBox::blockHeight):
3498         (WebCore::RootInlineBox::setBlockHeight):
3499         (WebCore::RootInlineBox::endsWithBreak):
3500         (WebCore::RootInlineBox::setEndsWithBreak):
3501         * rendering/SVGInlineFlowBox.cpp:
3502         (WebCore::SVGInlineFlowBox::paint):
3503         (WebCore::paintSVGInlineFlow):
3504         (WebCore::translateBox):
3505         (WebCore::placePositionedBoxesHorizontally):
3506         (WebCore::placeBoxesVerticallyWithAbsBaseline):
3507         (WebCore::placeSVGFlowVertically):
3508         * rendering/SVGInlineFlowBox.h:
3509         * rendering/SVGRenderTreeAsText.cpp:
3510         (WebCore::TextStreamSeparator::TextStreamSeparator):
3511         (WebCore::operator<<):
3512         (WebCore::hasFractions):
3513         (WebCore::writeIndent):
3514         (WebCore::writeStyle):
3515         (WebCore::getTagName):
3516         (WebCore::write):
3517         (WebCore::writeRenderResources):
3518         * rendering/SVGRenderTreeAsText.h:
3519         (WebCore::operator<<):
3520         * rendering/SVGRootInlineBox.cpp:
3521         (WebCore::SVGRootInlineBox::paint):
3522         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
3523         * rendering/SVGRootInlineBox.h:
3524         * rendering/TableLayout.h:
3526 2006-12-16  Adam Roben  <aroben@apple.com>
3528         Build fixes.
3530         * platform/ContextMenuItem.h: Fixed const declarations.
3531         * platform/mac/ContextMenuItemMac.mm: Dito.
3532         (WebCore::ContextMenuItem::type):
3533         (WebCore::ContextMenuItem::setTitle):
3534         (WebCore::ContextMenuItem::setChecked):
3535         (WebCore::ContextMenuItem::setEnabled):
3537 2006-12-16  Adele Peterson  <adele@apple.com>
3539         Reviewed by Maciej.
3541         Fix for http://bugs.webkit.org/show_bug.cgi?id=11189
3542         <rdar://problem/4770249> REGRESSION (NativeListBox): When a list box has focus, pressing command- A (select all) doesn't selected all items in list
3544         Test: fast/forms/listbox-select-all.html
3546         * dom/Node.h: We should try to find a more appropriate place to put these methods.
3547         (WebCore::Node::canSelectAll): Added.
3548         (WebCore::Node::selectAll): Added.
3549         * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Before selecting editable content, give the focused node
3550           a chance to select its content.
3551         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::selectAll): Selects all items in a multi-select list box.  Single-select
3552           list boxes will just do nothing, but we still want the select to handle this case when it has focus, rather than selecting other content.
3553         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::canSelectAll): Returns true for list boxes.
3555 2006-12-16  Zack Rusin  <zack@kde.org>
3557         Add a stub for SearchPopupMenu for Qt code.
3559         * platform/qt/SearchPopupMenuQt.cpp: Added.
3560         (WebCore::SearchPopupMenu::SearchPopupMenu):
3561         (WebCore::SearchPopupMenu::saveRecentSearches):
3562         (WebCore::SearchPopupMenu::loadRecentSearches):
3564 2006-12-16  Zack Rusin  <zack@kde.org>
3566         Make it compile after last nights changes.
3568         * WebCore.pro:
3569         * loader/qt/DocumentLoaderQt.cpp:
3570         (WebCore::DocumentLoader::stopLoading):
3571         (WebCore::DocumentLoader::prepareForLoadStart):
3572         * platform/qt/ContextMenuItemQt.cpp:
3573         (WebCore::ContextMenuItem::ContextMenuItem):
3574         (WebCore::ContextMenuItem::releasePlatformDescription):
3575         (WebCore::ContextMenuItem::type):
3576         (WebCore::ContextMenuItem::setType):
3577         (WebCore::ContextMenuItem::action):
3578         (WebCore::ContextMenuItem::setAction):
3579         (WebCore::ContextMenuItem::setTitle):
3580         (WebCore::ContextMenuItem::platformSubMenu):
3581         (WebCore::ContextMenuItem::setSubMenu):
3582         (WebCore::ContextMenuItem::setChecked):
3583         (WebCore::ContextMenuItem::setEnabled):
3584         * platform/qt/ContextMenuQt.cpp:
3585         (WebCore::ContextMenu::appendItem):
3586         (WebCore::ContextMenu::insertItem):
3587         * platform/qt/TemporaryLinkStubs.cpp:
3589 2006-12-16  Adele Peterson  <adele@apple.com>
3591         One more...
3593         * editing/ReplaceSelectionCommand.cpp:
3594         (WebCore::ReplacementFragment::ReplacementFragment):
3596 2006-12-16  Adele Peterson  <adele@apple.com>
3598         Missed one instance of isNonWidgetTextField.
3600         * editing/DeleteSelectionCommand.cpp:
3601         (WebCore::DeleteSelectionCommand::doApply):
3603 2006-12-16  Hunter L. Williams <hlwebkit@gmail.com>
3605         Reviewed by Adele.
3607         Fix mouse wheel scrolling in <textarea> controls.
3609         * rendering/RenderTextControl.cpp:
3610         * rendering/RenderTextControl.h:
3611         Override |scroll| on RenderTextControl to forward the call to the RenderObject of the 
3612         inner m_innerText, which has a layer that can be scrolled.
3614 2006-12-16  Adele Peterson  <adele@apple.com>
3616         RS by Adam.
3618         Removed RenderLineEdit, TextField, WebCoreTextField classes, and use of isNonWidgetTextField,
3620         * WebCore.xcodeproj/project.pbxproj:
3621         * html/HTMLInputElement.cpp:
3622         (WebCore::HTMLInputElement::isKeyboardFocusable):
3623         (WebCore::HTMLInputElement::isMouseFocusable):
3624         (WebCore::HTMLInputElement::focus):
3625         (WebCore::HTMLInputElement::updateFocusAppearance):
3626         (WebCore::HTMLInputElement::aboutToUnload):
3627         (WebCore::HTMLInputElement::dispatchFocusEvent):
3628         (WebCore::HTMLInputElement::dispatchBlurEvent):
3629         (WebCore::HTMLInputElement::setValue):
3630         (WebCore::HTMLInputElement::defaultEventHandler):
3631         * html/HTMLInputElement.h:
3632         (WebCore::HTMLInputElement::isTextField):
3633         * html/HTMLTextFieldInnerElement.cpp:
3634         (WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler):
3635         * platform/TextField.h: Removed.
3636         * platform/mac/TextFieldMac.mm: Removed.
3637         * platform/mac/WebCoreTextField.h: Removed.
3638         * platform/mac/WebCoreTextField.mm: Removed.
3639         * rendering/RenderLineEdit.cpp: Removed.
3640         * rendering/RenderLineEdit.h: Removed.
3642 2006-12-16  Adele Peterson  <adele@apple.com>
3644         Two more files I forgot to svn add for search fields.
3646         * platform/SearchPopupMenu.h: Added.
3647         (WebCore::SearchPopupMenu::create):
3648         * platform/mac/SearchPopupMenuMac.mm: Added.
3649         (WebCore::SearchPopupMenu::SearchPopupMenu):
3650         (WebCore::autosaveKey):
3651         (WebCore::SearchPopupMenu::saveRecentSearches):
3652         (WebCore::SearchPopupMenu::loadRecentSearches):
3654 2006-12-16  Adele Peterson  <adele@apple.com>
3656         Reviewed by Adam.
3658         * platform/PopupMenuClient.h: Added. Broken out of PopupMenu class.
3659         (WebCore::PopupMenuClient::~PopupMenuClient):
3661 2006-12-16  Adele Peterson  <adele@apple.com>
3663         Reviewed by Adam.
3665         WebCore part of fix for:
3666         <rdar://problem/4463829> Switch to use new search field implementation for <input type="search">
3668         * WebCore.xcodeproj/project.pbxproj: Added SearchPopupMenu.h, SearchPopupMenuMac.mm, and PopupMenuClient.h.
3670         Added pseudo classes and corresponding values for -webkit appearance for the cancel button and for the three types of "decoration" that 
3671         correspond to the different functions of the magnifier glass in the search field.  One for the button that will show and hide the
3672         recent searches menu.  One for decoration when the results attribute is set, but no results are saved.  And one for decoration
3673         when no results attribute is set.  We added these different pseudo elements so that RenderTextControl can decide which pseudo class
3674         is appropriate, and each theme can decide for itself which kind of image is appropriate for each function.
3675         
3676         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
3677         * css/CSSSelector.h: (WebCore::CSSSelector::): Added to PseudoType enum.
3678         * css/CSSValueKeywords.in: Added searchfield-decoration, searchfield-results-decoration, searchfield-results-button, searchfield-cancel-button values.
3679         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): Added cases for -webkit-search-cancel-button, 
3680           -webkit-search-decoration, -webkit-search-results-decoration, -webkit-search-results-button
3681         * rendering/RenderStyle.cpp: Addes new pseudoBits for matching pseudoIds.
3682         (WebCore::):
3683         (WebCore::pseudoBit):
3684         * rendering/RenderStyle.h: Added new appearance values and pseudoIds.
3685         (WebCore::):
3686         (WebCore::RenderStyle::):
3687         * css/html4.css: Added style for input[type=search], and the new pseudo elements.
3689         The structure of the shadow DOM for new search field adds an intermediate block that contains 3 inline-blocks for the magnifier, text element, and cancel button.
3690         Since the tree has become deeper, some editing and event code that used to check for a shadowParent, really needs to check the shadowAncestorNode.
3692         * editing/Editor.cpp: (WebCore::Editor::dispatchCPPEvent): Check shadowAncestorNode instead of shadowParentNode.
3693         * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent): ditto.
3694         * editing/htmlediting.cpp:
3695         (WebCore::firstEditablePositionAfterPositionInRoot): ditto.
3696         (WebCore::lastEditablePositionBeforePositionInRoot): ditto.
3697         * editing/ReplaceSelectionCommand.cpp:
3698         (WebCore::ReplacementFragment::ReplacementFragment): ditto.
3699         (WebCore::ReplaceSelectionCommand::shouldMerge): Nil check enclosingBlock call.  I ran into this while testing search fields in mixed editability.
3700         (WebCore::ReplaceSelectionCommand::doApply): ditto.
3702         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Remove use of RenderLineEdit.
3703         * html/HTMLInputElement.cpp:
3704         (WebCore::HTMLInputElement::selectionStart): ditto.
3705         (WebCore::HTMLInputElement::selectionEnd): ditto.
3706         (WebCore::HTMLInputElement::setSelectionStart): ditto.
3707         (WebCore::HTMLInputElement::setSelectionEnd): ditto.
3708         (WebCore::HTMLInputElement::select): ditto.
3709         (WebCore::HTMLInputElement::setSelectionRange): ditto.
3710         (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
3711         (WebCore::HTMLInputElement::createRenderer): ditto.
3712         (WebCore::HTMLInputElement::defaultEventHandler): ditto.
3713         (WebCore::HTMLInputElement::addSearchResult): Added. Calls addSearchResult on the renderer.
3714         * html/HTMLInputElement.h:
3715         (WebCore::HTMLInputElement::isNonWidgetTextField): Added case for search field.
3716         (WebCore::HTMLInputElement::isSearchField): Added.
3718         * platform/PopupMenu.h: Broke PopupMenuClient out into a separate file.
3719         * platform/PopupMenuClient.h: Added.
3720         (WebCore::PopupMenuClient::~PopupMenuClient):
3721         * platform/graphics/Icon.h:
3723         * platform/SearchPopupMenu.h: Added. Saves and loads recent search vector.
3724         (WebCore::SearchPopupMenu::create):
3725         * platform/mac/SearchPopupMenuMac.mm: Added.
3726         (WebCore::SearchPopupMenu::SearchPopupMenu):
3727         (WebCore::autosaveKey):
3728         (WebCore::SearchPopupMenu::saveRecentSearches):
3729         (WebCore::SearchPopupMenu::loadRecentSearches):
3731         * html/HTMLTextFieldInnerElement.h: Reorganized this class.
3732           Added subclasses HTMLTextFieldInnerTextElement, HTMLSearchFieldResultsButtonElement, HTMLSearchFieldCancelButtonElement
3733         (WebCore::HTMLTextFieldInnerElement::isMouseFocusable): Added.  Returns false so setFocusNodeIfNeeded 
3734          will try to focus the input element instead of nodes in the shadow tree.
3735         (WebCore::HTMLTextFieldInnerElement::isShadowNode): Now returns whether or not a shadowParent has been specified.
3736          * html/HTMLTextFieldInnerElement.cpp:
3737         (WebCore::HTMLTextFieldInnerTextElement::HTMLTextFieldInnerTextElement):
3738         (WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler): Moved this from the old HTMLTextFieldInnerElement class.
3739         (WebCore::HTMLSearchFieldResultsButtonElement::HTMLSearchFieldResultsButtonElement):
3740         (WebCore::HTMLSearchFieldResultsButtonElement::defaultEventHandler): Shows and hides recent searches menu.
3741         (WebCore::HTMLSearchFieldCancelButtonElement::HTMLSearchFieldCancelButtonElement):
3742         (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): On mouse up, clears the value from the text field.
3744        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::listSize): Changed return type to unsigned.
3745         * rendering/RenderMenuList.h: (WebCore::RenderMenuList::valueShouldChangeOnHotTrack): Added.
3746         
3747         * WebCore.exp: Export _wkDrawTextFieldCellFocusRing.
3748         * platform/mac/WebCoreSystemInterface.h: Added wkDrawTextFieldCellFocusRing
3749         * platform/mac/WebCoreSystemInterface.mm: ditto.
3751         * rendering/RenderTextControl.h:
3752         (WebCore::RenderTextControl::popupIsVisible): Added so HTMLSearchFieldResultsButtonElement knows whether or not the menu is already up.
3753         (WebCore::RenderTextControl::shouldPopOver): Added as a PopupClient method so the results menu shows up under the control instead of over.
3754         (WebCore::RenderTextControl::valueShouldChangeOnHotTrack):
3755         * rendering/RenderTextControl.cpp:
3756         (WebCore::RenderTextControl::RenderTextControl): Initialize m_placeholderIsVisible, m_searchPopup, and m_searchPopupIsVisible.
3757         (WebCore::RenderTextControl::~RenderTextControl): Detach the node at the top of the shadow tree (m_innerBlock for search fields, and m_innerText for other text controls).
3758         (WebCore::RenderTextControl::setStyle): Sets style on new elements.
3759         (WebCore::disabledTextColor): Added so this can be used in setPlaceholder.
3760         (WebCore::RenderTextControl::createInnerBlockStyle): Added.
3761         (WebCore::RenderTextControl::createInnerTextStyle): Added.
3762         (WebCore::RenderTextControl::createResultsButtonStyle): Added.
3763         (WebCore::RenderTextControl::createCancelButtonStyle): Added.
3764         (WebCore::RenderTextControl::showPlaceholderIfNeeded): Added. Shows the placeholder if there's no value and the field doesn't have focus.
3765         (WebCore::RenderTextControl::hidePlaceholderIfNeeded): Added. Clears the placeholder if there's a value or the field has focus. 
3766         (WebCore::RenderTextControl::createSubtreeIfNeeded): Added. Creates all of the shadow tree elements.
3767         (WebCore::RenderTextControl::updateFromElement): Calls showPlaceholderIfNeeded.
3768         (WebCore::RenderTextControl::visiblePositionForIndex): Renaming (m_div to m_innerText).
3769         (WebCore::RenderTextControl::indexForVisiblePosition): ditto.
3770         (WebCore::RenderTextControl::updateCancelButtonVisibility): Shows and hides cancel button based on the value of the control.
3771         (WebCore::RenderTextControl::subtreeHasChanged): Fires onSearch if the incremental attribute is set.
3772         (WebCore::RenderTextControl::text): Renaming.
3773         (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
3774         (WebCore::RenderTextControl::calcHeight): Take the size of the results button and cancel button into account when calculating height.
3775         (WebCore::RenderTextControl::nodeAtPoint): Act as if we've hit the shadow tree elements based on the x coordinate of the mouse event.
3776         (WebCore::RenderTextControl::layout): Set the height and width of the text block taking the other shadow tree elements into account.
3777         (WebCore::RenderTextControl::calcMinMaxWidth): Take new shadow tree elements into account when calculating width.
3778         (WebCore::RenderTextControl::forwardEvent): Forward events to appropriate shadow nodes.
3779         (WebCore::RenderTextControl::scrollWidth): Renaming.
3780         (WebCore::RenderTextControl::scrollHeight): ditto.
3781         (WebCore::RenderTextControl::scrollLeft): ditto.
3782         (WebCore::RenderTextControl::scrollTop): ditto.
3783         (WebCore::RenderTextControl::setScrollLeft): ditto.
3784         (WebCore::RenderTextControl::setScrollTop): ditto.
3785         (WebCore::RenderTextControl::autosaveName): ditto.
3786         (WebCore::RenderTextControl::addSearchResult): Added. Saves value to search result list.
3787         (WebCore::RenderTextControl::onSearch): Added. Dispatches search event.
3788         (WebCore::RenderTextControl::showPopup): Added. Loads searches, and displays menu.
3789         (WebCore::RenderTextControl::hidePopup): Added PopupClient method.
3790         (WebCore::RenderTextControl::valueChanged): Added PopupClient method. Interprets the selected menu item index, and either sets the value and 
3791          fires onSearch, or clears all recent searches for this autosave name.
3792         (WebCore::RenderTextControl::itemText): Added PopupClient method.
3793         (WebCore::RenderTextControl::itemIsEnabled): Added PopupClient method.
3794         (WebCore::RenderTextControl::itemStyle): ditto.
3795         (WebCore::RenderTextControl::clientStyle): ditto.
3796         (WebCore::RenderTextControl::clientDocument): ditto.
3797         (WebCore::RenderTextControl::clientPaddingLeft): ditto.
3798         (WebCore::RenderTextControl::clientPaddingRight): ditto.
3799         (WebCore::RenderTextControl::listSize): ditto.
3800         (WebCore::RenderTextControl::selectedIndex): ditto.
3801         (WebCore::RenderTextControl::itemIsSeparator): ditto.
3802         (WebCore::RenderTextControl::itemIsLabel): ditto.
3803         (WebCore::RenderTextControl::itemIsSelected): ditto.
3804         (WebCore::RenderTextControl::setTextFromItem): ditto.
3806         * rendering/RenderTheme.cpp: Added search field theme.
3807         (WebCore::RenderTheme::adjustStyle):
3808         (WebCore::RenderTheme::paint):
3809         (WebCore::RenderTheme::paintBorderOnly):
3810         (WebCore::RenderTheme::paintDecorations):
3811         (WebCore::RenderTheme::isControlStyled): Returns false for search fields, until we've worked out the kinks.
3812         (WebCore::RenderTheme::adjustSearchFieldStyle):
3813         (WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
3814         (WebCore::RenderTheme::adjustSearchFieldDecorationStyle):
3815         (WebCore::RenderTheme::adjustSearchFieldResultsDecorationStyle):
3816         (WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
3817         * rendering/RenderTheme.h:
3818         (WebCore::RenderTheme::paintSearchField):
3819         (WebCore::RenderTheme::paintSearchFieldCancelButton):
3820         (WebCore::RenderTheme::paintSearchFieldDecoration):
3821         (WebCore::RenderTheme::paintSearchFieldResultsDecoration):
3822         (WebCore::RenderTheme::paintSearchFieldResultsButton):
3823         * rendering/RenderThemeMac.h:
3824         * rendering/RenderThemeMac.mm:
3825         (WebCore::RenderThemeMac::RenderThemeMac):
3826         (WebCore::RenderThemeMac::sizeForSystemFont): Added.  Compares style's font to systemFontSizeForControlSize to determine
3827          what controlSize to use after a style's font has already been initially adjusted.
3828         (WebCore::RenderThemeMac::controlSizeForSystemFont): Added. ditto.
3829         (WebCore::RenderThemeMac::paintCheckbox):
3830         (WebCore::RenderThemeMac::paintRadio):
3831         (WebCore::RenderThemeMac::menuListSizes): 
3832         (WebCore::RenderThemeMac::minimumMenuListSize): Uses sizeForSystemFont instead of hardcoded adjusted font sizes.
3833         (WebCore::RenderThemeMac::paintSearchField):
3834         (WebCore::RenderThemeMac::setSearchCellState):
3835         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
3836         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
3837         (WebCore::RenderThemeMac::cancelButtonSizes):
3838         (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
3839         (WebCore::RenderThemeMac::resultsButtonSizes):
3840         (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
3841         (WebCore::RenderThemeMac::paintSearchFieldDecoration):
3842         (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
3843         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
3844         (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
3845         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
3847 2006-12-16  Beth Dakin  <bdakin@apple.com>
3849         Reviewed by Adam (and partially Geoff).
3851         Primarily, this patch gives WebCore context menus the ability to
3852         enable/disable and set state. It does a few other things along the
3853         way, though. Some of the more noticeable things:
3854                -Re-architects the ContextMenuItem class a bit so that the
3855                 ownership model is a bit less confusing. ContextMenuItem is
3856                 now *purely* a wrapper for the platformDescription. There
3857                 are no other member variables. If you ever need the
3858                 platformDescription outside of the MenuItem class, you have
3859                 to call releasePlatformDescription(), which transfers
3860                 ownership of the platformDescription to the caller.
3861                -Moves fontForSelection() from FrameMac into Editor.cpp.
3862                 Turns out I don't need to use this function for my patch
3863                 after all, but it doesn't seem like a terrible idea to move
3864                 it anyway since we seem to be moving things from FrameMac
3865                 into Editor these days anyway.
3867         * WebCore.exp:
3868         * editing/Editor.cpp:
3869         (WebCore::Editor::fontForSelection): Moved in from FrameMac.
3870         * editing/Editor.h: Same, and name change.
3871         * editing/mac/EditorMac.mm: Name change.
3872         * page/ContextMenuClient.h: contextMenuItemSelected() has to take a
3873         pointer to the parent context menu since ContextMenuItem no longer
3874         holds on to it.
3875         * page/ContextMenuController.cpp: Same.
3876         (WebCore::ContextMenuController::contextMenuItemSelected): Same.
3877         * page/mac/FrameMac.h: Move fontForSelection to Editor
3878         * page/mac/FrameMac.mm: Same.
3879         * page/mac/WebCoreFrameBridge.mm:
3880         (-[WebCoreFrameBridge fontForSelection:]): Account for above.
3881         * platform/ContextMenu.cpp:
3882         (WebCore::separatorItem): Can't be const because appendItem now
3883         expects a non-const menu item.
3884         (WebCore::createAndAppendFontSubMenu): Change name for clarity.
3885         (WebCore::createAndAppendSpellingAndGrammarSubMenu): Same.
3886         (WebCore::createAndAppendSpellingSubMenu): Same.
3887         (WebCore::createAndAppendSpeechSubMenu): Same.
3888         (WebCore::createAndAppendWritingDirectionSubMenu): Same.
3889         (WebCore::ContextMenu::populate): Account for above.
3890         (WebCore::triStateToBool): New helper.
3891         (WebCore::ContextMenu::checkOrEnableIfNeeded): Transfers
3892         logic from WebHTMLView into WebCore to determine if menu items are
3893         enabled or disabled and to determine if they require a check.
3894         * platform/ContextMenu.h:
3895         * platform/ContextMenuItem.h: Re-factored stuff so that our only
3896         member variable is the platform description.
3897         (WebCore::): Get rid of if-def.
3898         * platform/cf/RetainPtr.h: Add releaseRef like in PassRefPtr.
3899         (WebCore::RetainPtr::releaseRef):
3900         * platform/mac/ContextMenuItemMac.mm: Same as .h
3901         (WebCore::ContextMenuItem::ContextMenuItem): Same.
3902         (WebCore::ContextMenuItem::releasePlatformDescription): Same.
3903         (WebCore::ContextMenuItem::type): Same.
3904         (WebCore::ContextMenuItem::platformSubMenu): Same.
3905         (WebCore::ContextMenuItem::setType): Same.
3906         (WebCore::ContextMenuItem::setTitle): Same.
3907         (WebCore::ContextMenuItem::setSubMenu): Same.
3908         (WebCore::ContextMenuItem::setChecked): Same.
3909         (WebCore::ContextMenuItem::setEnabled): Same.
3910         * platform/mac/ContextMenuMac.mm:
3911         (-[WebCoreMenuTarget forwardContextMenuAction:]): Don't set the
3912         parent menu.
3913         (WebCore::setMenuItemTarget):
3914         (WebCore::ContextMenu::appendItem): Call releasePlatformDescription
3915         (WebCore::ContextMenu::insertItem): Same.
3917 2006-12-15  Darin Fisher  <darin@chromium.org>
3919         Reviewed by Oliver.
3921         Allow images to load into frames again.  Tidy up code a bit and
3922         add some much needed documentation.
3924         * platform/MimeTypeRegistry.cpp:
3925         (WebCore::initialiseSupportedImageMIMETypes):
3926         (WebCore::initialiseSupportedNonImageMimeTypes):
3927         * platform/MimeTypeRegistry.h:
3929 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
3931         Fix build.
3933         * loader/DocumentLoader.cpp:
3934         (WebCore::DocumentLoader::response):
3935         (WebCore::DocumentLoader::setResponse):
3936         (WebCore::DocumentLoader::isStopping):
3937         (WebCore::DocumentLoader::mainDocumentError):
3938         * loader/DocumentLoader.h:
3940 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
3942         Reviewed by Geoff.
3944         More loader cleanup.
3946         * loader/DocumentLoader.h:
3947         (WebCore::DocumentLoader::isStopping):
3948         (WebCore::DocumentLoader::response):
3949         (WebCore::DocumentLoader::mainDocumentError):
3950         (WebCore::DocumentLoader::setResponse):
3951         * loader/FrameLoader.h:
3952         * loader/FrameLoaderClient.h:
3953         * loader/mac/DocumentLoaderMac.mm:
3954         (WebCore::DocumentLoader::DocumentLoader):
3955         (WebCore::DocumentLoader::stopLoading):
3956         (WebCore::DocumentLoader::receivedData):
3957         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
3958         (WebCore::DocumentLoader::prepareForLoadStart):
3959         * loader/mac/FrameLoaderMac.mm:
3960         (WebCore::FrameLoader::commitProvisionalLoad):
3961         (WebCore::FrameLoader::setResponse):
3962         * loader/mac/ImageDocumentMac.mm:
3963         (WebCore::finishImageLoad):
3965 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
3967         * loader/DocumentLoader.h:
3968         Whoops, didn't mean to commit this.
3969         
3970 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
3972         Reviewed by Darin and Brady (in no particular order).
3973         
3974         More loader cleanup.
3975         
3976         * loader/FrameLoader.h:
3977         * loader/mac/FrameLoaderMac.mm:
3978         (WebCore::FrameLoader::cancelledError):
3979         (WebCore::FrameLoader::fileDoesNotExistError):
3980         (WebCore::FrameLoader::cannotShowMIMEType):
3981         (WebCore::FrameLoader::interruptionForPolicyChangeError):
3982         * loader/mac/MainResourceLoaderMac.mm:
3983         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
3985 2006-12-16  Alexey Proskuryakov  <ap@webkit.org>
3987         Try to fix Windows buid.
3989         * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTarget.{h,cpp}
3991 2006-12-15  Alexey Proskuryakov  <ap@webkit.org>
3993         Reviewed by Darin.
3995         http://bugs.webkit.org/show_bug.cgi?id=11610
3996         XMLHttpRequest.onreadystatechange doesn't provide access to the request object
3998         Created a separate EventTarget class, now that EventTargetNode isn't the only kind.
4000         Test: http/tests/xmlhttprequest/event-target.html
4002         * WebCore.xcodeproj/project.pbxproj: Added EventTarget.{h,cpp}
4004         * bindings/js/kjs_dom.cpp:
4005         (KJS::toJS): Added an EventTarget variant.
4006         * bindings/js/kjs_dom.h: Added toJS() for EventTarget; some minor style fixes.
4008         * bindings/objc/DOM.mm:
4009         (+[DOMNode _eventTargetWith:WebCore::]):
4010         * bindings/scripts/CodeGeneratorObjC.pm:
4011         Added an EventTarget->DOMEventTarget converter in DOMNode (WebCoreInternal). 
4012         It only works for nodes, since we don't have an ObjC binding for XMLHttpRequest.
4013         Corrected spelling of internalHeaderContent.
4015         * dom/Event.cpp:
4016         (WebCore::Event::setTarget):
4017         * dom/Event.h:
4018         (WebCore::Event::target):
4019         (WebCore::Event::currentTarget):
4020         (WebCore::Event::setCurrentTarget):
4021         These methods now work with EventTargets instead of Nodes.
4023         * dom/EventTarget.cpp: Added.
4024         (WebCore::EventTarget::~EventTarget):
4025         (WebCore::EventTarget::toNode):
4026         (WebCore::EventTarget::toXMLHttpRequest):
4027         * dom/EventTarget.h: Added.
4028         (WebCore::EventTarget::ref):
4029         (WebCore::EventTarget::deref):
4030         Originally, my intention was to share much of the implementation between 
4031         EventTargetNode and XHR, but now I don't see anything substantial worth sharing.
4033         * dom/EventTargetNode.cpp:
4034         (WebCore::EventTargetNode::dispatchGenericEvent): Cast Node to EventTargetNode.
4036         * dom/EventTargetNode.h: Made EventTarget methods virtual.
4037         (WebCore::EventTargetNode::toNode): Added poor man's RTTI to upcast from EventTarget.
4038         (WebCore::EventTargetNode::refEventTarget):
4039         (WebCore::EventTargetNode::derefEventTarget):
4041         * dom/MouseEvent.cpp:
4042         (WebCore::MouseEvent::toElement):
4043         (WebCore::MouseEvent::fromElement):
4044         * dom/MouseRelatedEvent.cpp:
4045         (WebCore::MouseRelatedEvent::receivedTarget):
4046         * html/HTMLAnchorElement.cpp:
4047         (WebCore::HTMLAnchorElement::defaultEventHandler):
4048         * html/HTMLLabelElement.cpp:
4049         (WebCore::HTMLLabelElement::defaultEventHandler):
4050         * page/ContextMenuController.cpp:
4051         (WebCore::ContextMenuController::handleContextMenuEvent):
4052         * rendering/RenderSlider.cpp:
4053         (WebCore::RenderSlider::mouseEventIsInThumb):
4054         Cast from EventTarget to Node as appropriate.
4056         * xml/xmlhttprequest.cpp:
4057         (WebCore::XMLHttpRequest::dispatchEvent):
4058         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
4059         Set target and currentTarget before dispatching.
4061         * xml/xmlhttprequest.h: Made EventTarget methods virtual, added a bool tempEvent parameter
4062         to match EventTargetNode.
4063         (WebCore::XMLHttpRequest::toXMLHttpRequest): Added poor man's RTTI to upcast from EventTarget.
4064         (WebCore::XMLHttpRequest::refEventTarget):
4065         (WebCore::XMLHttpRequest::derefEventTarget):
4067 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
4069         Reviewed by Darin.
4071         More loader cleanup, use KURL instead of NSURL in a couple of places.
4073         * loader/DocumentLoader.h:
4074         * loader/FrameLoader.h:
4075         * loader/FrameLoaderClient.h:
4076         * loader/ResourceLoader.h:
4077         * loader/mac/DocumentLoaderMac.mm:
4078         (WebCore::DocumentLoader::DocumentLoader):
4079         (WebCore::DocumentLoader::prepareForLoadStart):
4080         * loader/mac/FrameLoaderMac.mm:
4081         (WebCore::FrameLoader::willUseArchive):
4082         * loader/mac/ResourceLoaderMac.mm:
4083         (WebCore::ResourceLoader::load):
4085 2006-12-15  Brett Wilson  <brettw@chromium.org>
4087         Reviewed by Darin and Alexey.
4089         Fix the Windows build, move various Client implementations out of
4090         WebCore and into WebKit.
4092         * WebCore.vcproj/WebCore/WebCore.vcproj:
4093         * bridge/win/ChromeClientWin.h: Removed.
4094         * bridge/win/ContextMenuClientWin.h: Removed.
4095         * bridge/win/EditorClientWin.h: Removed.
4096         * bridge/win/FrameWin.cpp:
4097         (WebCore::FrameWin::FrameWin):
4098         * bridge/win/FrameWin.h:
4099         * loader/win/FrameLoaderClientWin.cpp: Removed.
4100         * loader/win/FrameLoaderClientWin.h: Removed.
4101         * platform/network/win/ResourceHandleWin.cpp:
4102         (WebCore::ResourceHandle::start):
4103         * platform/win/TemporaryLinkStubs.cpp:
4104         (WebCore::DocumentLoader::URL):
4105         (WebCore::FrameLoader::load):
4106         (WebCore::FrameLoader::createFrame):
4107         (WebCore::FrameLoader::loadResourceSynchronously):
4108         (WebCore::Pasteboard::writeSelection):
4109         (WebCore::Pasteboard::writeURL):
4110         (WebCore::Pasteboard::clear):
4111         (WebCore::Pasteboard::~Pasteboard):
4112         (WebCore::PolicyCheck::call):
4113         (WebCore::PopupMenu::PopupMenu):
4114         (WebCore::ResourceHandle::loadsBlocked):
4115         (WebCore::ResourceLoader::cancel):
4117 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
4119         Reviewed by Maciej.
4121         http://bugs.webkit.org/show_bug.cgi?id=11842
4122         REGRESSION: Using Safari's snippet editor leaves applewebdata: URLs in history
4123         
4124         * loader/mac/DocumentLoaderMac.mm:
4125         (WebCore::DocumentLoader::URLForHistory):
4126         Don't return appleweburls without an unreachable url.
4128 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
4130         Reviewed by Darin.
4132         Replace more instances of NSError with ResourceError.
4133         
4134         Also remove a check for a selector that was added pre-Tiger.
4135         
4136         * WebCore.exp:
4137         * loader/DocumentLoader.h:
4138         * loader/FrameLoader.h:
4139         * loader/ResourceLoader.h:
4140         * loader/mac/DocumentLoaderMac.mm:
4141         (WebCore::DocumentLoader::setMainDocumentError):
4142         (WebCore::DocumentLoader::mainDocumentError):
4143         (WebCore::DocumentLoader::clearErrors):
4144         (WebCore::DocumentLoader::mainReceivedError):
4145         * loader/mac/FrameLoaderMac.mm:
4146         (WebCore::FrameLoader::cancelMainResourceLoad):
4147         (WebCore::FrameLoader::opened):
4148         (WebCore::FrameLoader::mainReceivedError):
4149         (WebCore::FrameLoader::cancelledError):
4150         (WebCore::FrameLoader::fileDoesNotExistError):
4151         (WebCore::FrameLoader::handleUnimplementablePolicy):
4152         (WebCore::FrameLoader::setMainDocumentError):
4153         (WebCore::FrameLoader::mainReceivedCompleteError):
4154         (WebCore::FrameLoader::sendRemainingDelegateMessages):
4155         (WebCore::FrameLoader::requestFromDelegate):
4156         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
4157         (WebCore::FrameLoader::loadResourceSynchronously):
4158         * loader/mac/ResourceLoaderMac.mm:
4159         (WebCore::ResourceLoader::willSendRequest):
4160         (WebCore::ResourceLoader::didCancel):
4161         (WebCore::ResourceLoader::cancel):
4162         (WebCore::ResourceLoader::cancelledError):
4163         * loader/mac/SubresourceLoaderMac.mm:
4164         (WebCore::SubresourceLoader::didCancel):
4166 2006-12-15  Rob Buis  <buis@kde.org>
4168         Reviewed by Darin.
4170         http://bugs.webkit.org/show_bug.cgi?id=11824
4171         CSSStyleSheet.title property is always null
4173         Set title on the stylesheet just after creating it, for the HTML
4174         elements <link> and <style>.
4176         * css/StyleSheet.h:
4177         (WebCore::StyleSheet::setTitle):
4178         * dom/Element.cpp:
4179         (WebCore::Element::title):
4180         * dom/Element.h:
4181         * dom/StyleElement.cpp:
4182         (WebCore::StyleElement::childrenChanged):
4183         * dom/StyleElement.h:
4184         * html/HTMLElement.cpp:
4185         * html/HTMLElement.h:
4186         * html/HTMLLinkElement.cpp:
4187         (WebCore::HTMLLinkElement::parseMappedAttribute):
4188         (WebCore::HTMLLinkElement::setCSSStyleSheet):
4189         * html/HTMLStyleElement.cpp:
4190         (WebCore::HTMLStyleElement::parseMappedAttribute):
4191         * ksvg2/svg/SVGStyleElement.cpp:
4192         (WebCore::SVGStyleElement::setTitle):
4193         (WebCore::SVGStyleElement::parseMappedAttribute):
4194         * ksvg2/svg/SVGStyleElement.h:
4196 2006-12-15  Lars Knoll  <lars@trolltech.com>
4198         Reviewed by Zack
4200         Fix compilation.
4202         * loader/SubresourceLoader.h:
4203         * platform/qt/PopupMenuQt.cpp:
4204         (WebCore::PopupMenu::PopupMenu):
4206 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
4208         Reviewed by Maciej.
4210         Use char* pointer + length instead of NSData in a bunch of places.
4212         * loader/DocumentLoader.h:
4213         * loader/FrameLoader.h:
4214         * loader/FrameLoaderClient.h:
4215         * loader/MainResourceLoader.h:
4216         * loader/NetscapePlugInStreamLoader.h:
4217         * loader/ResourceLoader.h:
4218         (WebCore::ResourceLoader::willStopBufferingData):
4219         * loader/SubresourceLoader.h:
4220         * loader/mac/DocumentLoaderMac.mm:
4221         (WebCore::DocumentLoader::commitLoad):
4222         (WebCore::DocumentLoader::receivedData):
4223         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
4224         * loader/mac/FrameLoaderMac.mm:
4225         (WebCore::FrameLoader::didReceiveData):
4226         (WebCore::FrameLoader::receivedData):
4227         (WebCore::FrameLoader::committedLoad):
4228         * loader/mac/MainResourceLoaderMac.mm:
4229         (WebCore::MainResourceLoader::addData):
4230         (WebCore::MainResourceLoader::didReceiveData):
4231         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
4232         (WebCore::NetscapePlugInStreamLoader::didReceiveData):
4233         * loader/mac/ResourceLoaderMac.mm:
4234         (WebCore::ResourceLoader::addData):
4235         (WebCore::ResourceLoader::didReceiveData):
4236         (WebCore::ResourceLoader::willStopBufferingData):
4237         * loader/mac/SubresourceLoaderMac.mm:
4238         (WebCore::SubresourceLoader::didReceiveData):
4239         * platform/network/ResourceHandleClient.h:
4240         (WebCore::ResourceHandleClient::willStopBufferingData):
4241         * platform/network/mac/ResourceHandleMac.mm:
4242         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
4244 2006-12-14  Adele Peterson  <adele@apple.com>
4246         Reviewed by Adam. 
4248         Added PopupMenuClient class so the PopupMenu class no longer needs to know
4249         about the RenderMenuList or the DOM.
4251         * platform/PopupMenu.h:
4252         (WebCore::PopupMenuClient::~PopupMenuClient):
4253         (WebCore::PopupMenu::create): Made this protected so PopupMenu can be subclassed.
4254         (WebCore::PopupMenu::disconnectClient): Renamed from disconnectMenuList.
4255         (WebCore::PopupMenu::client): Added.
4256         * platform/mac/PopupMenuMac.mm:
4257         (WebCore::PopupMenu::PopupMenu): Created using PopupMenuClient instead of RenderMenuList.
4258         (WebCore::PopupMenu::populate): Asks the client for info about the list items instead of looking at the DOM or the renderer. 
4259         (WebCore::PopupMenu::show): ditto.
4260         (WebCore::PopupMenu::hide): ditto.
4261         * rendering/RenderMenuList.h: Now also inherits from PopupMenuClient.
4262         (WebCore::RenderMenuList::shouldPopOver): Added.  Tells the popup whether the menu should pop over the client, or under.
4263         * rendering/RenderMenuList.cpp:
4264         (WebCore::RenderMenuList::~RenderMenuList): Calls disconnectClient().
4265         (WebCore::RenderMenuList::calcMinMaxWidth): Removed unnecessary (and harmful) call to updateFromElement. updateFromElmeent
4266          can add children, and you don't want to do that in the middle of calculating width.
4267         (WebCore::RenderMenuList::itemText): Added PopupClient method to provide information about the items in the menu list.
4268         (WebCore::RenderMenuList::itemIsEnabled): ditto.
4269         (WebCore::RenderMenuList::itemStyle): ditto.
4270         (WebCore::RenderMenuList::clientStyle): ditto.
4271         (WebCore::RenderMenuList::clientDocument): ditto.
4272         (WebCore::RenderMenuList::clientPaddingLeft): ditto.
4273         (WebCore::RenderMenuList::clientPaddingRight): ditto.
4274         (WebCore::RenderMenuList::listSize): ditto.
4275         (WebCore::RenderMenuList::selectedIndex): ditto.
4276         (WebCore::RenderMenuList::itemIsSeparator): ditto.
4277         (WebCore::RenderMenuList::itemIsLabel): ditto.
4278         (WebCore::RenderMenuList::itemIsSelected): ditto.
4279         (WebCore::RenderMenuList::setTextFromItem): ditto.
4281 2006-12-14  Geoffrey Garen  <ggaren@apple.com>
4283         Fixed <rdar://problem/4882713> GMAIL (REGRESSION): Can't apply font style, 
4284         foreground or background to selected text
4285         
4286         Also <rdar://problem/4883751> REGRESSION: Caret fails to insert itself 
4287         automatically in a new note window
4288         
4289         I'm rolling out my change to move focus to the page level because it caused
4290         too many unexpected and bizarre regressions. Our code relies on focus
4291         being per-document so that it can make focus changes that are effectively
4292         no-ops, and so that it can conflate focus and selection in some cases (a bad 
4293         idea, since they're not the same).
4294         
4295         Hopefully we can revisit this, along with hover and active, in the future.
4297         * dom/Document.cpp:
4298         (WebCore::widgetForNode):
4299         (WebCore::relinquishesEditingFocus):
4300         (WebCore::acceptsEditingFocus):
4301         (WebCore::clearSelectionIfNeeded):
4302         (WebCore::Document::removedLastRef):
4303         (WebCore::Document::detach):
4304         (WebCore::Document::focusedNodeDetached):
4305         (WebCore::Document::setFocusedNode):
4306         * dom/Document.h:
4307         (WebCore::Document::focusedNode):
4308         * page/FocusController.cpp:
4309         * page/FocusController.h:
4311 2006-12-14  Maciej Stachowiak  <mjs@apple.com>
4313         Reviewed by Geoff.
4315         - fix failing drag & drop layout tests
4317         * platform/mac/KURLMac.mm:
4318         (WebCore::KURL::getNSURL): Turn empty KURL into empty NSURL, but null KURL into
4319         nil.
4321 2006-12-14  Steve Falkenburg  <sfalken@apple.com>
4323         Build fix.
4325         * loader/MainResourceLoader.h:
4327 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
4329         Reviewed by John.
4331         Convert a bunch of NSErrors to ResourceError.
4332         
4333         Make the ResourceError accessor functions const.
4334         
4335         * WebCore.exp:
4336         * WebCore.xcodeproj/project.pbxproj:
4337         * loader/FrameLoader.h:
4338         * loader/FrameLoaderClient.h:
4339         * loader/MainResourceLoader.h:
4340         * loader/NetscapePlugInStreamLoader.h:
4341         * loader/ResourceLoader.h:
4342         * loader/SubresourceLoader.h:
4343         * loader/mac/FrameLoaderMac.mm:
4344         (WebCore::FrameLoader::didFailToLoad):
4345         (WebCore::FrameLoader::receivedMainResourceError):
4346         (WebCore::FrameLoader::interruptionForPolicyChangeError):
4347         * loader/mac/MainResourceLoaderMac.mm:
4348         (WebCore::MainResourceLoader::receivedError):
4349         (WebCore::MainResourceLoader::didCancel):
4350         (WebCore::MainResourceLoader::interruptionForPolicyChangeError):
4351         (WebCore::MainResourceLoader::didFail):
4352         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
4353         (WebCore::NetscapePlugInStreamLoader::didFail):
4354         (WebCore::NetscapePlugInStreamLoader::didCancel):
4355         * loader/mac/ResourceLoaderMac.mm:
4356         (WebCore::ResourceLoader::didFail):
4357         (WebCore::ResourceLoader::didCancel):
4358         * loader/mac/SubresourceLoaderMac.mm:
4359         (WebCore::SubresourceLoader::didFail):
4360         (WebCore::SubresourceLoader::didCancel):
4361         * platform/network/ResourceError.h:
4362         (WebCore::ResourceError::domain):
4363         (WebCore::ResourceError::errorCode):
4364         (WebCore::ResourceError::failingURL):
4365         (WebCore::ResourceError::localizedDescription):
4366         (WebCore::ResourceError::unpackPlatformErrorIfNeeded):
4368 2006-12-14  George Staikos  <staikos@kde.org>
4370         Link, after the last loader changes.  Please update this directory with stubs when modifying the loader.
4372         * loader/qt/FrameLoaderQt.cpp:
4373         (WebCore::FrameLoader::loadResourceSynchronously):
4375 2006-12-14  Justin Garcia  <justin.garcia@apple.com>
4377         Reviewed by harrison
4379         <rdar://problem/4866671>
4380         CrashTracer: 1 crashes in Mail after deleting a list item at WebCore::DeleteSelectionCommand::doApply()
4381         
4382         Don't allow VisiblePositions inside -webkit-user-select:none regions.
4383         Renamed inRenderedContent to isCandidate.
4385         * dom/Document.cpp:
4386         (WebCore::Document::updateSelection):
4387         * dom/Position.cpp:
4388         (WebCore::Position::previousCharacterPosition):
4389         (WebCore::Position::nextCharacterPosition):
4390         (WebCore::nodeIsUserSelectNone):
4391         (WebCore::Position::isCandidate):
4392         (WebCore::Position::rendersInDifferentPosition):
4393         * dom/Position.h:
4394         * editing/InsertParagraphSeparatorCommand.cpp:
4395         (WebCore::InsertParagraphSeparatorCommand::doApply):
4396         * editing/InsertTextCommand.cpp:
4397         (WebCore::InsertTextCommand::input):
4398         * editing/VisiblePosition.cpp:
4399         (WebCore::VisiblePosition::canonicalPosition):
4400         * editing/htmlediting.cpp:
4401         (WebCore::nextCandidate):
4402         (WebCore::nextVisuallyDistinctCandidate):
4403         (WebCore::previousCandidate):
4404         (WebCore::previousVisuallyDistinctCandidate):
4405         * editing/visible_units.cpp:
4406         (WebCore::previousLinePosition):
4407         (WebCore::nextLinePosition):
4408         (WebCore::startOfParagraph):
4409         * page/Frame.cpp:
4410         (WebCore::Frame::styleForSelectionStart):
4412 2006-12-14  David Hyatt  <hyatt@apple.com>
4414         Get rid of the containsStart check and just rely on the selectionState
4415         bits.  This allows selection gap filling to behave properly in the presence
4416         of inline blocks and inline tables on lines when the selection originates
4417         inside the inline block.
4419         Reviewed by ggaren
4421         * rendering/RenderBlock.cpp:
4422         (WebCore::RenderBlock::fillInlineSelectionGaps):
4424 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
4426         Reviewed by John.
4427         
4428         General loader cleanup, convert NSURLResponse to ResourceResponse in some places.
4429         
4430         * loader/DocumentLoader.h:
4431         * loader/SubresourceLoader.h:
4432         * loader/mac/DocumentLoaderMac.mm:
4433         (WebCore::DocumentLoader::addResponse):
4434         * loader/mac/FrameLoaderMac.mm:
4435         (WebCore::FrameLoader::opened):
4436         * loader/mac/SubresourceLoaderMac.mm:
4437         (WebCore::SubresourceLoader::create):
4439 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
4441         Reviewed by Darin.
4443         Add loadResourceSynchronously to ResourceHandle and have FrameLoader use it instead of
4444         calling NSURLConnection directly.
4446         Add an isNull flag to ResourceError so we can convert correctly between nil NSErrors and ResourceErrors.
4448         Get rid of ServeSynchronousRequest and use the loader instead.
4449         
4450         * WebCore.exp:
4451         * dom/XMLTokenizer.cpp:
4452         (WebCore::openFunc):
4453         * loader/FrameLoader.h:
4454         * loader/LoaderFunctions.h:
4455         * loader/mac/FrameLoaderMac.mm:
4456         (WebCore::FrameLoader::canLoad):
4457         (WebCore::FrameLoader::loadResourceSynchronously):
4458         * loader/mac/LoaderFunctionsMac.mm:
4459         * platform/network/ResourceError.h:
4460         (WebCore::ResourceError::ResourceError):
4461         (WebCore::ResourceError::isNull):
4462         * platform/network/ResourceHandle.h:
4463         * platform/network/ResourceRequest.cpp:
4464         (WebCore::ResourceRequest::isConditional):
4465         * platform/network/ResourceRequest.h:
4466         * platform/network/mac/ResourceErrorMac.mm:
4467         (-[NSError WebCore]):
4468         * platform/network/mac/ResourceHandleMac.mm:
4469         (WebCore::ResourceHandle::loadResourceSynchronously):
4470         * xml/XSLTProcessor.cpp:
4471         (WebCore::docLoaderFunc):
4472         * xml/xmlhttprequest.cpp:
4473         (WebCore::XMLHttpRequest::send):
4475 2006-12-14  Nikolas Zimmermann  <zimmermann@kde.org>
4477         Reviewed by Darin.
4479         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11830
4481         Fix fundamental problems with JS SVG POD types.
4482         (currently: FloatPoint/FloatRect/AffineTransform)
4484         This doesn't affect any testcase, but when I wrote my SVGLength* -> SVGLength
4485         the problem got visible (aka. baseVal-animVal-equality.svg broke and more)
4486         With that patch applied first, none breaks - so SVG POD JS wrappers do work now.
4488         In detail:
4489         - Fix setBaseValue() confusion. ONLY use the hash map in SVGDocumentExtension
4490           when we're animating a property. Add "start##Property" / "stop##Property" methods
4491           which take care, of moving "animVal" -> "baseVal" hash, and back after animation stopped.
4493           These new methods are not yet used anywhere, but finally the "animated property" system is complete.
4495         - Offer a new JSSVGPODTypeWrapper class, wrapping around non-pointer POD types like FloatPoint etc.
4496           to be used in the generated JS bindings. Currently if you modified ie the "x" property of a SVGPoint
4497           from JS, you only actually modified the "m_x" object stored in the JSSVGPoint wrapper.
4499           If you take SVGLength as example (more frequently used in the JS SVG bindings, that's why I'm using it)
4500           "document.rootElement.width.baseVal.value = 100;" only modified the "SVGLength m_impl" object stored in
4501           JSSVGLength, but the "SVGSVGElement" didn't notice it width got changed. The new commitChanges() logic
4502           fixes these problems.
4504         It's quite hard too describe the actual changes, if one is not familiar with the code. This is the result
4505         of endless discussions with Eric Seidel, and we hope this is a decent solution addressing all issues.
4507         * WebCore.xcodeproj/project.pbxproj:
4508         * bindings/js/JSSVGMatrixCustom.cpp:
4509         (WebCore::JSSVGMatrix::inverse):
4510         (WebCore::JSSVGMatrix::rotateFromVector):
4511         * bindings/js/JSSVGPODTypeWrapper.h: Added.
4512         (WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper):
4513         (WebCore::JSSVGPODTypeWrapper::~JSSVGPODTypeWrapper):
4514         (WebCore::JSSVGPODTypeWrapper::operator PODType&):
4515         (WebCore::JSSVGPODTypeWrapper::commitChange):
4516         (WebCore::JSSVGPODTypeWrapperCreator::JSSVGPODTypeWrapperCreator):
4517         (WebCore::JSSVGPODTypeWrapperCreator::~JSSVGPODTypeWrapperCreator):
4518         (WebCore::JSSVGPODTypeWrapperCreator::commitChange):
4519         * bindings/scripts/CodeGeneratorJS.pm:
4520         * ksvg2/misc/SVGDocumentExtensions.h:
4521         (WebCore::SVGDocumentExtensions::removeBaseValue):
4522         * ksvg2/svg/SVGElement.h:
4524 2006-12-14  Alexey Proskuryakov  <ap@webkit.org>
4526         Reviewed by Darin.
4528         http://bugs.webkit.org/show_bug.cgi?id=11828
4529         Fix a leak of NSURLRequest on each update - RetainPtr retains the object itself.
4531         * platform/network/mac/ResourceRequestMac.mm:
4532         (WebCore::ResourceRequest::doUpdatePlatformRequest):
4534 2006-12-14  Simon Hausmann  <hausmann@kde.org>
4536         Reviewed by Zack Rusin.
4538         * WebCore.pro: Clean up the xpath grammar generation rule.
4540 2006-12-14  Zack Rusin  <zack@kde.org>
4542         Make it link with temporary stubs.
4544         * loader/qt/DocumentLoaderQt.cpp:
4545         (WebCore::DocumentLoader::originalRequest):
4546         (WebCore::DocumentLoader::originalRequestCopy):
4547         (WebCore::DocumentLoader::request):
4548         (WebCore::DocumentLoader::initialRequest):
4549         (WebCore::DocumentLoader::actualRequest):
4550         (WebCore::DocumentLoader::URL):
4552 2006-12-14  Zack Rusin  <zack@kde.org>
4554         Compilation fixes for the Qt port after last nights
4555         changes.
4557         * loader/qt/DocumentLoaderQt.cpp:
4558         (WebCore::DocumentLoader::URL):
4559         (WebCore::DocumentLoader::unreachableURL):
4560         * loader/qt/FrameLoaderQt.cpp:
4561         (WebCore::PolicyCheck::call):
4562         * platform/network/ResourceRequest.h:
4563         (WebCore::ResourceRequest::setHTTPReferrer):
4565 2006-12-14  Rob Buis  <buis@kde.org>
4567         Reviewed by Oliver.
4569         http://bugs.webkit.org/show_bug.cgi?id=11726
4570         SVG Image do not take into account clip/overflow when hit testing
4572         Take into account the overflowRect when hit-testing <svg> container.
4574         * rendering/RenderSVGContainer.cpp:
4575         (WebCore::RenderSVGContainer::viewportTransform):
4576         (WebCore::RenderSVGContainer::nodeAtPoint):
4577         * rendering/RenderSVGContainer.h:
4579 2006-12-13  David Hyatt  <hyatt@apple.com>
4581         Fix for bug 11825, dragging elements via -khtml-user-drag is broken (affects Dashboard).  Make sure
4582         to clear the paintingRoot properly when recurring into children.  It would be nice to find a design
4583         that prevented this mistake from being made and didn't require explicit clearing of the root.
4585         Reviewed by olliej
4587         * rendering/InlineFlowBox.cpp:
4588         (WebCore::InlineFlowBox::paint):
4589         * rendering/RenderBlock.cpp:
4590         (WebCore::RenderBlock::paintChildren):
4591         * rendering/RenderBox.cpp:
4592         (WebCore::RenderBox::paint):
4593         * rendering/RenderTable.cpp:
4594         (WebCore::RenderTable::paint):
4596 2006-12-13  Anders Carlsson  <acarlsson@apple.com>
4598         * loader/FrameLoader.h:
4599         id is mac-only.
4600         
4601 2006-12-13  Brady Eidson  <beidson@apple.com>
4603         Implicitly reviewed by Darin, Hyatt, Maciej, and others!
4605         Fixes a document tear down crash.
4606         Changes a few long standing assertions to our new style
4608         * dom/Document.cpp:
4609         (WebCore::Document::~Document):
4610         (WebCore::Document::topDocument):
4612 2006-12-13  Maciej Stachowiak  <mjs@apple.com>
4614         Reviewed by Anders.
4616         - converted many places to use ResourceRequest instead of NSURLRequest
4618         * WebCore.exp:
4619         * loader/DocumentLoader.h:
4620         * loader/FrameLoader.cpp:
4621         (WebCore::FrameLoader::stopPolicyCheck):
4622         * loader/FrameLoader.h:
4623         (WebCore::PolicyCheck::request):
4624         * loader/FrameLoaderClient.h:
4625         * loader/MainResourceLoader.h:
4626         * loader/mac/DocumentLoaderMac.mm:
4627         (WebCore::DocumentLoader::DocumentLoader):
4628         (WebCore::DocumentLoader::originalRequest):
4629         (WebCore::DocumentLoader::originalRequestCopy):
4630         (WebCore::DocumentLoader::request):
4631         (WebCore::DocumentLoader::initialRequest):
4632         (WebCore::DocumentLoader::actualRequest):
4633         (WebCore::DocumentLoader::URL):
4634         (WebCore::DocumentLoader::unreachableURL):
4635         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
4636         (WebCore::DocumentLoader::setRequest):
4637         (WebCore::DocumentLoader::stopLoading):
4638         (WebCore::DocumentLoader::setLastCheckedRequest):
4639         (WebCore::DocumentLoader::lastCheckedRequest):
4640         (WebCore::DocumentLoader::URLForHistory):
4641         * loader/mac/FrameLoaderMac.mm:
4642         (WebCore::FrameLoader::load):
4643         (WebCore::FrameLoader::startLoadingMainResource):
4644         (WebCore::FrameLoader::applyUserAgent):
4645         (WebCore::FrameLoader::originalRequest):
4646         (WebCore::FrameLoader::receivedMainResourceError):
4647         (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
4648         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
4649         (WebCore::FrameLoader::commitProvisionalLoad):
4650         (WebCore::FrameLoader::initialRequest):
4651         (WebCore::FrameLoader::setRequest):
4652         (WebCore::FrameLoader::checkNavigationPolicy):
4653         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
4654         (WebCore::FrameLoader::reloadAllowingStaleData):
4655         (WebCore::FrameLoader::reload):
4656         (WebCore::FrameLoader::checkNewWindowPolicy):
4657         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
4658         (WebCore::FrameLoader::continueAfterNavigationPolicy):
4659         (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
4660         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
4661         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
4662         (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
4663         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
4664         (WebCore::FrameLoader::post):
4665         (WebCore::FrameLoader::addExtraFieldsToRequest):
4666         (WebCore::FrameLoader::isReloading):
4667         (WebCore::FrameLoader::referrer):
4668         (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
4669         (WebCore::FrameLoader::loadResourceSynchronously):
4670         (WebCore::FrameLoader::originalRequestURL):
4671         (WebCore::PolicyCheck::set):
4672         (WebCore::PolicyCheck::call):
4673         (WebCore::PolicyCheck::clearRequest):
4674         * loader/mac/MainResourceLoaderMac.mm:
4675         (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
4676         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
4677         (WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
4678         * loader/mac/SubresourceLoaderMac.mm:
4679         (WebCore::SubresourceLoader::create):
4680         * loader/mac/WebDataProtocol.h:
4681         * loader/mac/WebDataProtocol.mm:
4682         * platform/KURL.cpp:
4683         (WebCore::operator!=):
4684         * platform/KURL.h:
4685         * platform/mac/KURLMac.mm:
4686         (WebCore::KURL::getNSURL):
4687         * platform/network/FormData.h:
4688         (WebCore::operator==):
4689         (WebCore::operator!=):
4690         * platform/network/ResourceRequest.cpp:
4691         (WebCore::operator==):
4692         * platform/network/ResourceRequest.h:
4693         * platform/network/mac/ResourceRequestMac.mm:
4694         (WebCore::ResourceRequest::doUpdatePlatformRequest):
4696 2006-12-13  Geoffrey Garen  <ggaren@apple.com>
4698         Reviewed by Darin Adler, Dave Hyatt.
4699         
4700         Beefed up FocusController to handle frame focus. Changed implementors to
4701         use FocusController, rather than the widget hierarchy, to focus frames.
4703         (WebCore::FocusController::focusedNode): Made a minor change to focus a frame
4704         before focusing the element inside of it. This matches FF.
4705         (WebCore::FocusController::focusedFrame):
4706         * platform/Widget.h:
4708 2006-12-13  Justin Garcia  <justin.garcia@apple.com>
4710         Reviewed by adele
4712         <rdar://problem/4818145>
4713         Cannot setSelectedDOMRange to non-editable island unless it has editable content on both sides
4714         
4715         There are editable positions before/after a "non-editable island" if its 
4716         a table, but the code in canonicalPosition was not using 
4717         editableRootForPosition to find root editable elements.
4718         
4719         * editing/VisiblePosition.cpp:
4720         (WebCore::VisiblePosition::canonicalPosition): Use editableRootForPosition
4721         to fix the table case.
4723 2006-12-13  Steve Falkenburg  <sfalken@apple.com>
4725         Reviewed by Adam.
4727         Added missing forwarding headers.        
4729         * ForwardingHeaders/kjs/value.h: Added.
4730         * ForwardingHeaders/wtf/HashTable.h: Added.
4732 2006-12-13  Lars Knoll <lars@trolltech.com>
4734         Reviewed by Maciej, Zack.
4736         Make the Qt cbuild compile again.
4738         * WebCore.pro:
4739         * loader/qt/ResourceLoaderQt.cpp:
4740         * platform/network/qt/ResourceHandleQt.cpp:
4741         (WebCore::ResourceHandle::start):
4742         (WebCore::ResourceHandle::loadsBlocked):
4743         * platform/qt/FrameQtClient.cpp:
4744         (WebCore::FrameQtClient::openURL):
4745         (WebCore::FrameQtClient::submitForm):
4747 2006-12-12  Adam Roben  <aroben@apple.com>
4749         Reviewed by Anders.
4751         Changed #import to #include to match the rest of our ForwardingHeaders.
4753         * ForwardingHeaders/wtf/StringExtras.h:
4755 2006-12-12  Justin Garcia  <justin.garcia@apple.com>
4757         Reviewed by harrison
4758         
4759         <rdar://problem/4757667>
4760         GoogleDocs: Style menu does not open
4762         * bindings/js/kjs_window.cpp:
4763         (KJS::Selection::getValueProperty): Added rangeCount.
4764         * bindings/js/kjs_window.h:
4765         (KJS::Selection::):
4766         * editing/SelectionController.h:
4767         (WebCore::SelectionController::rangeCount): Added.
4769 2006-12-12  Alice Liu  <alice.liu@apple.com>
4771         Reviewed by Oliver.
4773         * bindings/js/JSSVGMatrixCustom.cpp:
4774         added #ifdef SVG_SUPPORT
4776 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
4778         Suggested by Darin.
4780         * loader/ResourceLoader.cpp:
4781         Move down include of ResourceHandle.h.
4783 2006-12-12  Geoffrey Garen  <ggaren@apple.com>
4785         Reviewed by Adam Roben, Dave Hyatt, Darin Adler.
4786         
4787         Factored focus control into a FocusController class. I inted to use this
4788         class for handling window active state and the focused frame, as well.
4790         Layout tests pass.
4792         * WebCore.xcodeproj/project.pbxproj:
4793         * dom/Document.cpp:
4794         (WebCore::Document::view):
4795         (WebCore::Document::page): New helper function.
4796         * dom/Document.h: Moved setters before getters.
4797         (WebCore::Document::hoverNode):
4798         (WebCore::Document::activeNode):
4799         * dom/Node.cpp:
4800         (WebCore::Node::detach): Use the FocusController.
4801         * page/FocusController.cpp: Added.
4802         (WebCore::shouldFocus): renamed and refactored this helper function.
4803         (WebCore::shouldUnfocus): ditto.
4804         * page/FocusController.h: Added.
4806 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
4808         Rubber Stamped by Geoff.
4810         * platform/Base64.cpp:
4811         * platform/Base64.h:
4812         Put functions inside of the WebCore namespace.
4814 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
4816         Try fixing the non-Mac builds.
4817         
4818         * loader/ResourceLoader.cpp:
4819         (WebCore::ResourceLoader::willSendRequest):
4820         (WebCore::ResourceLoader::didReceiveResponse):
4821         (WebCore::ResourceLoader::didReceiveData):
4822         (WebCore::ResourceLoader::didFinishLoading):
4823         (WebCore::ResourceLoader::didFail):
4824         * loader/SubresourceLoader.cpp:
4825         (WebCore::SubresourceLoader::create):
4826         * loader/SubresourceLoader.h:
4828 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
4830         Reviewed by Darin.
4832         Turn ResourceLoader into a ResourceHandleClient and stop using NSURLConnection in the loader.
4834         * WebCore.exp:
4835         Add new methods needed by WebKit.
4836         
4837         * WebCore.xcodeproj/project.pbxproj:
4838         Make ResourceHandle.h a private header.
4839         
4840         * loader/FrameLoaderClient.h:
4841         Change the download method to take a ResourceHandle instead of an NSURLConnection.
4842         
4843         * loader/MainResourceLoader.h:
4844         Get rid of the proxy instance variable, that's handled by ResourceHandlw now.
4845         
4846         * loader/ResourceLoader.h:
4847         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
4848         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
4849         (WebCore::ResourceLoader::willStopBufferingData):
4850         (WebCore::ResourceLoader::willCacheResponse):
4851         (WebCore::ResourceLoader::receivedCredential):
4852         (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
4853         (WebCore::ResourceLoader::receivedCancellation):
4854         (WebCore::ResourceLoader::handle):
4855         * loader/SubresourceLoader.h:
4856         Make ResourceLoader a ResourceHandleClient, moving the methods from SubresourceLoader.
4857         
4858         * loader/mac/MainResourceLoaderMac.mm:
4859         (WebCore::MainResourceLoader::MainResourceLoader):
4860         (WebCore::MainResourceLoader::continueAfterContentPolicy):
4861         (WebCore::MainResourceLoader::loadNow):
4862         (WebCore::MainResourceLoader::load):
4863         Use a ResourceHandle instead of an NSURLConnection.
4864         
4865         * loader/mac/ResourceLoaderMac.mm:
4866         (WebCore::ResourceLoader::~ResourceLoader):
4867         (WebCore::ResourceLoader::releaseResources):
4868         (WebCore::ResourceLoader::load):
4869         (WebCore::ResourceLoader::setDefersLoading):
4870         (WebCore::ResourceLoader::resourceData):
4871         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
4872         (WebCore::ResourceLoader::didCancel):
4873         (WebCore::ResourceLoader::willSendRequest):
4874         (WebCore::ResourceLoader::didReceiveResponse):
4875         (WebCore::ResourceLoader::didReceiveData):
4876         (WebCore::ResourceLoader::didFinishLoading):
4877         (WebCore::ResourceLoader::didFail):
4878         Remove the WebCoreResourceLoaderAsDelegate class, use a ResourceHandle instead of an NSURLConnection.
4879         
4880         * loader/mac/SubresourceLoaderMac.mm:
4881         Remove ResourceHandleClient methods.
4882         
4883         * platform/network/ResourceHandle.cpp:
4884         (WebCore::ResourceHandle::ResourceHandle):
4885         (WebCore::ResourceHandle::create):
4886         * platform/network/ResourceHandle.h:
4887         * platform/network/ResourceHandleInternal.h:
4888         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
4889         Add an extra argument denoting whether this ResourceHandle can possibly be "converted" into one used for downloads.
4890         
4891         * platform/network/mac/ResourceHandleMac.mm:
4892         (WebCore::ResourceHandle::~ResourceHandle):
4893         (WebCore::ResourceHandle::start):
4894         (WebCore::ResourceHandle::releaseProxy):
4895         (WebCore::ResourceHandle::connection):
4896         New methods for creating a NSURLConnectionDelegateProxy which is used when creating a NSURLDownload from an existing
4897         connection.
4899 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
4901         Reviewed by Geoff.
4903         * loader/mac/SubresourceLoaderMac.mm:
4904         (WebCore::SubresourceLoader::load):
4905         * platform/network/mac/ResourceHandleMac.mm:
4906         (WebCore::ResourceHandle::start):
4907         Move the didTellBridgeAboutLoad call to SubresourceLoader in preparation for getting rid of
4908         the DocLoader parameter to ResourceHandle::create.
4910 2006-12-12  George Staikos  <staikos@kde.org>
4912         Make the last checkin compile.
4914         * WebCore.pro:
4915         * ksvg2/svg/SVGTransform.cpp:
4917 2006-12-12  Nikolas Zimmermann  <zimmermann@kde.org>
4919         Reviewed by Sam Weinig & Rob Buis.
4921         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11797
4923         Remove SVGMatrix, replace it by AffineTransform usage everywhere.
4924         Changed AffineTransform API to be able to be used within generation
4925         (m11() -> a(), m12() -> b(), ...). Add some methods needed for SVG.
4927         The actual SVGMatrix -> AffineTransformation patch has been created
4928         by Rob - I just adapted it to the autogenerated POD style.
4930         * WebCore.xcodeproj/project.pbxproj:
4931         * bindings/js/JSSVGMatrixCustom.cpp: Added.
4932         (WebCore::JSSVGMatrix::inverse):
4933         (WebCore::JSSVGMatrix::rotateFromVector):
4934         * bindings/objc/DOMInternal.h:
4935         * bindings/scripts/CodeGeneratorJS.pm:
4936         * bindings/scripts/CodeGeneratorObjC.pm:
4937         * ksvg2/misc/KSVGTimeScheduler.cpp:
4938         * ksvg2/misc/SVGImageLoader.cpp:
4939         * ksvg2/svg/SVGAnimateTransformElement.cpp:
4940         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
4941         (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
4942         (WebCore::SVGAnimateTransformElement::initialMatrix):
4943         (WebCore::SVGAnimateTransformElement::transformMatrix):
4944         * ksvg2/svg/SVGAnimateTransformElement.h:
4945         * ksvg2/svg/SVGClipPathElement.cpp:
4946         (WebCore::SVGClipPathElement::canvasResource):
4947         * ksvg2/svg/SVGFitToViewBox.cpp:
4948         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
4949         * ksvg2/svg/SVGFitToViewBox.h:
4950         * ksvg2/svg/SVGLengthList.cpp:
4951         * ksvg2/svg/SVGLinearGradientElement.cpp:
4952         (WebCore::SVGLinearGradientElement::buildGradient):
4953         * ksvg2/svg/SVGLocatable.cpp:
4954         (WebCore::SVGLocatable::getCTM):
4955         (WebCore::SVGLocatable::getScreenCTM):
4956         (WebCore::SVGLocatable::getTransformToElement):
4957         * ksvg2/svg/SVGLocatable.h:
4958         * ksvg2/svg/SVGMarkerElement.cpp:
4959         * ksvg2/svg/SVGMatrix.cpp: Removed.
4960         * ksvg2/svg/SVGMatrix.h: Removed.
4961         * ksvg2/svg/SVGMatrix.idl:
4962         * ksvg2/svg/SVGNumberList.cpp:
4963         * ksvg2/svg/SVGPatternElement.cpp:
4964         (WebCore::SVGPatternElement::notifyAttributeChange):
4965         (WebCore::SVGPatternElement::getCTM):
4966         * ksvg2/svg/SVGPatternElement.h:
4967         * ksvg2/svg/SVGPoint.idl:
4968         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
4969         (WebCore::SVGPreserveAspectRatio::getCTM):
4970         * ksvg2/svg/SVGPreserveAspectRatio.h:
4971         * ksvg2/svg/SVGRadialGradientElement.cpp:
4972         (WebCore::SVGRadialGradientElement::buildGradient):
4973         * ksvg2/svg/SVGSVGElement.cpp:
4974         (WebCore::SVGSVGElement::viewport):
4975         (WebCore::SVGSVGElement::createSVGMatrix):
4976         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
4977         (WebCore::SVGSVGElement::getCTM):
4978         (WebCore::SVGSVGElement::getScreenCTM):
4979         * ksvg2/svg/SVGSVGElement.h:
4980         * ksvg2/svg/SVGStyledElement.cpp:
4981         * ksvg2/svg/SVGStyledLocatableElement.cpp:
4982         (WebCore::SVGStyledLocatableElement::getCTM):
4983         (WebCore::SVGStyledLocatableElement::getScreenCTM):
4984         * ksvg2/svg/SVGStyledLocatableElement.h:
4985         * ksvg2/svg/SVGStyledTransformableElement.cpp:
4986         (WebCore::SVGStyledTransformableElement::localMatrix):
4987         (WebCore::SVGStyledTransformableElement::getCTM):
4988         (WebCore::SVGStyledTransformableElement::getScreenCTM):
4989         (WebCore::SVGStyledTransformableElement::updateLocalTransform):
4990         (WebCore::SVGStyledTransformableElement::attach):
4991         * ksvg2/svg/SVGStyledTransformableElement.h:
4992         * ksvg2/svg/SVGTextElement.cpp:
4993         (WebCore::SVGTextElement::localMatrix):
4994         (WebCore::SVGTextElement::updateLocalTransform):
4995         (WebCore::SVGTextElement::attach):
4996         (WebCore::SVGTextElement::getScreenCTM):
4997         (WebCore::SVGTextElement::getCTM):
4998         * ksvg2/svg/SVGTextElement.h:
4999         * ksvg2/svg/SVGTransform.cpp:
5000         (SVGTransform::SVGTransform):
5001         (SVGTransform::matrix):
5002         (SVGTransform::setMatrix):
5003         (SVGTransform::setTranslate):
5004         (SVGTransform::setScale):
5005         (SVGTransform::setRotate):
5006         (SVGTransform::setSkewX):
5007         (SVGTransform::setSkewY):
5008         * ksvg2/svg/SVGTransform.h:
5009         * ksvg2/svg/SVGTransformList.cpp:
5010         (SVGTransformList::createSVGTransformFromMatrix):
5011         (SVGTransformList::concatenate):
5012         * ksvg2/svg/SVGTransformList.h:
5013         * ksvg2/svg/SVGTransformable.cpp:
5014         (WebCore::SVGTransformable::getCTM):
5015         (WebCore::SVGTransformable::getScreenCTM):
5016         (WebCore::SVGTransformable::parseTransformAttribute):
5017         * ksvg2/svg/SVGTransformable.h:
5018         * platform/graphics/AffineTransform.cpp:
5019         (WebCore::AffineTransform::multiply):
5020         (WebCore::AffineTransform::scale):
5021         (WebCore::AffineTransform::scaleNonUniform):
5022         (WebCore::AffineTransform::rotateFromVector):
5023         (WebCore::AffineTransform::flipX):
5024         (WebCore::AffineTransform::flipY):
5025         (WebCore::AffineTransform::skewX):
5026         (WebCore::AffineTransform::skewY):
5027         * platform/graphics/AffineTransform.h:
5028         * platform/graphics/cairo/AffineTransformCairo.cpp:
5029         (WebCore::AffineTransform::a):
5030         (WebCore::AffineTransform::setA):
5031         (WebCore::AffineTransform::b):
5032         (WebCore::AffineTransform::setB):
5033         (WebCore::AffineTransform::c):
5034         (WebCore::AffineTransform::setC):
5035         (WebCore::AffineTransform::d):
5036         (WebCore::AffineTransform::setD):
5037         (WebCore::AffineTransform::e):
5038         (WebCore::AffineTransform::setE):
5039         (WebCore::AffineTransform::f):
5040         (WebCore::AffineTransform::setF):
5041         (WebCore::AffineTransform::inverse):
5042         * platform/graphics/cg/AffineTransformCG.cpp:
5043         (WebCore::AffineTransform::a):
5044         (WebCore::AffineTransform::setA):
5045         (WebCore::AffineTransform::b):
5046         (WebCore::AffineTransform::setB):
5047         (WebCore::AffineTransform::c):
5048         (WebCore::AffineTransform::setC):
5049         (WebCore::AffineTransform::d):
5050         (WebCore::AffineTransform::setD):
5051         (WebCore::AffineTransform::e):
5052         (WebCore::AffineTransform::setE):
5053         (WebCore::AffineTransform::f):
5054         (WebCore::AffineTransform::setF):
5055         (WebCore::AffineTransform::inverse):
5056         * platform/graphics/qt/AffineTransformQt.cpp:
5057         (WebCore::AffineTransform::a):
5058         (WebCore::AffineTransform::setA):
5059         (WebCore::AffineTransform::b):
5060         (WebCore::AffineTransform::setB):
5061         (WebCore::AffineTransform::c):
5062         (WebCore::AffineTransform::setC):
5063         (WebCore::AffineTransform::d):
5064         (WebCore::AffineTransform::setD):
5065         (WebCore::AffineTransform::e):
5066         (WebCore::AffineTransform::setE):
5067         (WebCore::AffineTransform::f):
5068         (WebCore::AffineTransform::setF):
5069         (WebCore::AffineTransform::inverse):
5070         * rendering/RenderForeignObject.cpp:
5071         (WebCore::RenderForeignObject::paint):
5072         (WebCore::RenderForeignObject::nodeAtPoint):
5073         * rendering/RenderPath.cpp:
5074         (WebCore::RenderPath::mapAbsolutePointToLocal):
5075         * rendering/RenderSVGImage.cpp:
5076         (WebCore::RenderSVGImage::paint):
5077         (WebCore::RenderSVGImage::nodeAtPoint):
5078         * rendering/RenderSVGText.cpp:
5079         (WebCore::RenderSVGText::computeAbsoluteRepaintRect):
5080         (WebCore::RenderSVGText::nodeAtPoint):
5081         (WebCore::RenderSVGText::paint):
5082         * rendering/SVGInlineFlowBox.cpp:
5083         (WebCore::paintSVGInlineFlow):
5084         * rendering/SVGRenderTreeAsText.cpp:
5085         (WebCore::operator<<):
5087 2006-12-12  George Staikos  <staikos@kde.org>
5089         Reviewed by Alexey.
5091         Fix the Qt build again.
5093         * WebCore.pro:
5094         * loader/qt/FrameLoaderQt.cpp:
5095         (WebCore::FrameLoader::createFrame):
5096         (WebCore::FrameLoader::load):
5097         * platform/qt/PasteboardQt.cpp:
5098         (WebCore::Pasteboard::writeSelection):
5099         (WebCore::Pasteboard::writeURL):
5100         (WebCore::Pasteboard::clear):
5102 2006-12-12  Geoffrey Garen  <ggaren@apple.com>
5104         Reviewed by Beth Dakin.
5105         
5106         Moved focus control to the page level. Fixed a minor bug where a node
5107         would retain keyboard focus even when removed from the document.
5108         
5109         We should probably move this, along with hover and active, into a separate
5110         FocusController. But I'm too tired right now.
5112         * dom/Document.cpp: Migrated code to Page
5113         (WebCore::Document::removedLastRef):
5114         (WebCore::Document::detach):
5115         (WebCore::Document::setFocusedNode):
5116         (WebCore::Document::focusedNode):
5117         * dom/Document.h:
5118         * dom/Node.cpp:
5119         (WebCore::Node::detach): Clear ourselves from keyboard focus. This fixes
5120         the minor bug and was also necessary to prevent regressions caused by hanging
5121         on to a focused node after the document was replaced.
5122         * dom/Node.h:
5123         (WebCore::Node::inDetach):
5124         * page/Page.cpp: Migrated code from Document
5125         (WebCore::shouldAcquireEditingFocus):
5126         (WebCore::shouldRelinquishEditingFocus):
5127         (WebCore::clearSelectionIfNeeded):
5128         (WebCore::widgetForNode):
5129         (WebCore::Page::setFocusedNode):
5130         * page/Page.h:
5131         (WebCore::Page::focusedNode):
5133 2006-12-11  Alexey Proskuryakov  <ap@webkit.org>
5135         Reviewed by Darin.
5137         http://bugs.webkit.org/show_bug.cgi?id=11053
5138         XMLHttpRequest should be an EventTarget
5140         Test: http/tests/xmlhttprequest/event-target.html
5142         * bindings/js/JSXMLHttpRequest.cpp:
5143         (KJS::JSXMLHttpRequest::mark):
5144         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
5145         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
5146         * bindings/js/JSXMLHttpRequest.h:
5147         (KJS::JSXMLHttpRequest::):
5148         * xml/xmlhttprequest.cpp:
5149         (WebCore::XMLHttpRequest::addEventListener):
5150         (WebCore::XMLHttpRequest::removeEventListener):
5151         (WebCore::XMLHttpRequest::dispatchEvent):
5152         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
5153         * xml/xmlhttprequest.h:
5154         (WebCore::XMLHttpRequest::eventListeners):
5155         Implement EventTarget methods (except for NS variations, which Firefox doesn't have either).
5157 2006-12-11  Darin Adler  <darin@apple.com>
5159         Reviewed by Geoff.
5161         - fix http://bugs.webkit.org/show_bug.cgi?id=11809
5162           fast/dom/gc-8.html crash in alternate-thread marking code in ScriptInterpreter
5164         DocumentType objects were getting filed under the wrong document in the
5165         DOM objects structure.
5167         * bindings/js/kjs_binding.h: Added a destructor for debugging purposes only.
5168         * bindings/js/kjs_binding.cpp:
5169         (KJS::wrapperSet): Added. Set of outstanding wrappers for debugging.
5170         (KJS::addWrapper): Added.
5171         (KJS::removeWrapper): Added.
5172         (KJS::removeWrappers): Added.
5173         (KJS::DOMObject::~DOMObject): Added. Asserts that there is no outstanding reference
5174         to this wrapper since it's being destroyed.
5175         (KJS::ScriptInterpreter::putDOMObject): Added a call to ADD_WRAPPER.
5176         (KJS::ScriptInterpreter::forgetDOMObject): Added a call to REMOVE_WRAPPER.
5177         (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Added a call to REMOVE_WRAPPER.
5178         (KJS::ScriptInterpreter::putDOMNodeForDocument): Added a call to ADD_WRAPPER.
5179         (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Added a call to REMOVE_WRAPPERS.
5180         (KJS::ScriptInterpreter::updateDOMNodeDocument): Added calls to REMOVE_WRAPPER and
5181         ADD_WRAPPER so the out-of-order transaction doesn't upset the assertions in the functions
5182         we're calling. Another solution would be to reorder the two, but I think that would
5183         create a race where another thread could garbage collect after the forget but before the put.
5184         (KJS::ScriptInterpreter::wasRunByUserGesture): Tweaked formatting.
5186         * dom/Document.cpp: (WebCore::Document::adoptNode): Removed call to updateDOMNodeDocument
5187         since setDocument now takes care of that.
5188         * dom/Node.cpp:
5189         (WebCore::Node::setDocument): Added call to updateDOMNodeDocument here.
5190         (WebCore::Node::checkAddChild): Removed call to updateDOMNodeDocument since setDocument
5191         now takes care of that.
5193 2006-12-11  Alexey Proskuryakov  <ap@nypop.com>
5195         Reviewed by Darin.
5197         http://bugs.webkit.org/show_bug.cgi?id=9673
5198         Add support for window.atob() and window.btoa()
5200         * WebCore.xcodeproj/project.pbxproj: Added Base64.{h,cpp}
5201         * bindings/js/kjs_window.cpp:
5202         (KJS::WindowFunc::callAsFunction):
5203         * bindings/js/kjs_window.h:
5204         (KJS::Window::):
5205         * platform/Base64.cpp: Added.
5206         (base64Encode):
5207         (base64Decode):
5208         * platform/Base64.h: Added.
5209         * ForwardingHeaders/wtf/StringExtras.h: Added.
5210         * platform/DeprecatedString.cpp: Use strncasecmp from StringExtras.
5212 2006-12-11  Darin Adler  <darin@apple.com>
5214         Reviewed by Brady.
5216         - did some of the Mac-specific file moves mentioned in my recent mail to the WebKit list
5218         * WebCore.xcodeproj/project.pbxproj: Updated project for file moves.
5220         * bridge/mac/FrameMac.h: Moved to page/mac.
5221         * bridge/mac/FrameMac.mm: Ditto.
5222         * bridge/mac/WebCoreFrameBridge.h: Ditto.
5223         * bridge/mac/WebCoreFrameBridge.mm: Ditto.
5224         * bridge/mac/WebCoreFrameView.h: Ditto.
5225         * bridge/mac/WebCoreViewFactory.h: Ditto.
5226         * bridge/mac/WebCoreViewFactory.m: Ditto.
5227         * bridge/mac/WebDashboardRegion.h: Ditto.
5228         * bridge/mac/WebDashboardRegion.m: Ditto.
5230         * bridge/mac/WebCoreKeyboardAccess.h: Moved to page/mac,
5231         renamed WebCoreKeyboardUIMode.h, and made a C++ header.
5233         * page/EventHandler.h: Updated for change to WebCoreKeyboardAccess.
5234         * page/mac/EventHandlerMac.mm:
5235         (WebCore::EventHandler::tabsToLinks): Ditto.
5236         (WebCore::EventHandler::tabsToAllControls): Ditto.
5237         (WebCore::EventHandler::keyboardUIMode): Ditto.
5239 2006-12-11  Beth Dakin  <bdakin@apple.com>
5241         Reviewed by Adam.
5243         Primarily, this patch implements/hooks-up actions for the sub-menu
5244         items in WebCore context menus. I fixed a few other things along
5245         the way too:
5246                 -Made BUILDING_ON_TIGER ifdef work within C++ as well as
5247                  Obj-C
5248                 -Fixed bug where we would throw and Obj-C exception and
5249                  fail to pop up menus with more than one separator item.
5250                 -Re-named some of the spelling/grammar tags since Tiger and
5251                  Leopard share more of the actions than initially
5252                  anticipated.
5254         * WebCorePrefix.h: Make BUILDING_ON_TIGER available to C++
5255         * bridge/EditorClient.h: New functions to toggle
5256         spelling/grammar checking.
5257         * editing/Editor.cpp:
5258         (WebCore::Editor::toggleContinuousSpellChecking): Call into client.
5259         (WebCore::Editor::toggleGrammarChecking): Same.
5260         (WebCore::Editor::toggleBold): call execToggleBold()
5261         (WebCore::Editor::toggleUnderline): Create appropriate underline
5262         style and apply to selection.
5263         (WebCore::Editor::setBaseWritingDirection): Create appropriate
5264         writing direction and apply to selection.
5265         * editing/Editor.h:
5266         * editing/mac/EditorMac.mm: New functions to show spelling guesses,
5267         fonts, styles, and color panels.
5268         * page/ContextMenuClient.h: New functions for the speech sub-menu.
5269         * page/ContextMenuController.cpp:
5270         (WebCore::ContextMenuController::contextMenuItemSelected): Fill in
5271         editing sub-menu actions.
5272         * platform/ContextMenu.cpp:
5273         (WebCore::separatorItem): Helper function to create a separator 
5274         item.
5275         (WebCore::createFontSubMenu): Put very mac-specific things within a
5276         platform ifdef.
5277         (WebCore::createSpellingAndGrammarSubMenu): Re-named some of the
5278         spelling sub-menu tags.
5279         (WebCore::createSpellingSubMenu): Same.
5280         (WebCore::ContextMenu::populate): We can't share the separator
5281         item. When we do, menus with more than one separator throw and obj-
5282         c exception and fail to pop-up.
5283         * platform/ContextMenuItem.h:
5284         (WebCore::): Re-named some of the spelling sub-menu tags.
5286 2006-12-11  Alice Liu  <alice.liu@apple.com>
5288         Reviewed by Geoff, Adam.
5290         Switch to use the Editor for copying URLs.  Also some Pasteboard and PlatformMouseEvent cleanup.
5292         All layout tests pass as they would without this patch. 
5294         * WebCore.exp:
5295         added Editor::copyURL to be called from WebKit
5296         
5297         * editing/Editor.cpp:
5298         (WebCore::Editor::tryDHTMLCopy):
5299         (WebCore::Editor::tryDHTMLCut):
5300         Pasteboard::clearTypes() changed to clear()
5302         (WebCore::Editor::writeSelectionToPasteboard):        
5303         (WebCore::Editor::cut):
5304         (WebCore::Editor::copy):
5305         Changed signature of writeSelection to take raw pointer instead of PassRefPtr
5307         (WebCore::Editor::copyURL):
5308         * editing/Editor.h:
5309         Added copyURL.
5310         
5311         * page/ContextMenuClient.h:
5312         * page/ContextMenuController.cpp:
5313         (WebCore::ContextMenuController::contextMenuItemSelected):
5314         Removed copyLinkToClipboard
5315         
5316         * platform/KURL.cpp:
5317         (WebCore::KURL::lastPathComponent):
5318         * platform/KURL.h:
5319         Added lastPathComponent. 
5320         
5321         * platform/Pasteboard.h:
5322         Changed some function names.
5323         Moved some functions out of class to static.
5324         
5325         * platform/PlatformMouseEvent.h:
5326         (WebCore::):
5327         Removed MouseEventType enum, added NoButton to MouseButton without disturbing other button values.
5328         
5329         * platform/mac/PasteboardMac.mm:
5330         Added writeURL, and moved some things around
5331         
5332         * platform/mac/WebCoreSystemInterface.h:
5333         * platform/mac/WebCoreSystemInterface.mm:
5334         Add some calls necessary for Pasteboard::writeURL to work
5336 2006-12-11  Darin Adler  <darin@apple.com>
5338         Reviewed by Brady.
5340         - http://bugs.webkit.org/show_bug.cgi?id=11794
5341           fix lifetime problems affecting Frame's ownerElement pointer
5343         * CMakeLists.txt:
5344         * WebCore.vcproj/WebCore/WebCore.vcproj:
5345         * WebCore.xcodeproj/project.pbxproj:
5346         * WebCoreSources.bkl:
5347         Updated for new source files.
5349         * WebCore.exp: Updated for changes to entry point names.
5351         * bridge/mac/FrameMac.h:
5352         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
5353         * bridge/win/FrameWin.h:
5354         * bridge/win/FrameWin.cpp: (WebCore::FrameWin::FrameWin):
5355         * platform/qt/FrameQt.h:
5356         * platform/qt/FrameQt.cpp: (WebCore::FrameQt::FrameQt):
5357         Updated owner element type to HTMLFrameOwnerElement.
5359         * bridge/mac/WebCoreFrameBridge.h: Removed non-C++ case since we don't
5360         use that any more. Updated owner element type to HTMLFrameOwnerElement.
5362         * dom/Document.cpp: Added include so that the ownerElement function can
5363         compile (since it downcasts an HTMLFrameOwnerElement to an Element).
5365         * html/HTMLFrameElement.cpp:
5366         (WebCore::containingFrameSetElement): Moved this function in here; it
5367         doesn't need to be a member function.
5368         (WebCore::HTMLFrameElement::attach): Updated to call this.
5370         * html/HTMLFrameElementBase.h:
5371         * html/HTMLFrameElementBase.cpp:
5372         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Inherit from
5373         HTMLFrameOwnerElement. Removed contentFrame, contentDocument, and
5374         containingFrameSetElement. Removed friend classes.
5376         * html/HTMLFrameOwnerElement.h: Added.
5377         * html/HTMLFrameOwnerElement.cpp: Added.
5379         * html/HTMLEmbedElement.h:
5380         * html/HTMLEmbedElement.cpp:
5381         * html/HTMLObjectElement.h:
5382         * html/HTMLObjectElement.cpp:
5383         Remove now-unneeded contentDocument functions.
5385         * html/HTMLPlugInElement.h:
5386         * html/HTMLPlugInElement.cpp:
5387         (WebCore::HTMLPlugInElement::HTMLPlugInElement): Inherit from
5388         HTMLFrameOwnerElement.
5390         * loader/FormState.h:
5391         * loader/FormState.cpp: Use HTMLFormElement instead of just Element.
5393         * loader/FrameLoader.h:
5394         * loader/FrameLoader.cpp:
5395         (WebCore::FrameLoader::requestFrame): Use HTMLFormElement.
5396         (WebCore::FrameLoader::loadSubframe): Ditto.
5397         (WebCore::FrameLoader::requestObject): Don't pass an element parameter
5398         to shouldUsePlugin, and remove now-unneeded type casts.
5399         (WebCore::FrameLoader::shouldUsePlugin): Removed unneeded element parameter.
5400         (WebCore::FrameLoader::handleFallbackContent): Use HTMLFrameOwnerElement.
5401         (WebCore::FrameLoader::updateBaseURLForEmptyDocument): Ditto.
5402         (WebCore::FrameLoader::isHostedByObjectElement): Ditto.
5403         * loader/mac/FrameLoaderMac.mm:
5404         (WebCore::FrameLoader::load): Use HTMLFormElement.
5405         (WebCore::FrameLoader::post): Ditto.
5406         (WebCore::FrameLoader::createFrame): Use HTMLFrameOwnerElement.
5408         * page/Frame.h:
5409         * page/FramePrivate.h:
5410         * page/Frame.cpp:
5411         (WebCore::parentFromOwnerElement): Use HTMLFrameOwnerElement.
5412         (WebCore::Frame::Frame): Ditto. Also set m_contentFrame on the owner element.
5413         (WebCore::Frame::ownerElement): Ditto.
5414         (WebCore::Frame::ownerRenderer): Ditto.
5415         (WebCore::Frame::disconnectOwnerElement): Clear m_contentFrame on the owner
5416         element before disconnecting it.
5417         (WebCore::FramePrivate::FramePrivate): Use HTMLFrameOwnerElement.
5419         * page/mac/EventHandlerMac.mm: Include HTMLFrameOwnerElement.h so that
5420         the code here will compile (no code changes needed).
5422         * rendering/RenderFrame.cpp: (WebCore::RenderFrame::viewCleared):
5423         Updated so that RenderFrame doesn't need to be a friend of HTMLFrameElementBase.
5425         * rendering/RenderPart.h:
5426         * rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart):
5427         Use HTMLFrameOwnerElement.
5429         * rendering/RenderPartObject.h:
5430         * rendering/RenderPartObject.cpp:
5431         (WebCore::RenderPartObject::RenderPartObject): Use HTMLFrameOwnerElement.
5432         (WebCore::RenderPartObject::viewCleared): Updated so that RenderFrame doesn't
5433         need to be a friend of HTMLFrameElementBase.
5435         - other changes
5437         * platform/network/ResourceHandleInternal.h: Added Noncopyable and
5438         fixed indentation.
5440 2006-12-11  David Hyatt  <hyatt@apple.com>
5442         Fix failing layout test.  Remove WTF::Unicode::isSpace and just revert
5443         the caller to the old behavior.
5445         Reviewed by darin
5447         * platform/StringImpl.cpp:
5448         (WebCore::isSpace):
5450 2006-12-11  Alexey Proskuryakov  <ap@webkit.org>
5452         Reviewed by Adam.
5454         http://bugs.webkit.org/show_bug.cgi?id=11807
5455         Merge EventHandler::m_bMousePressed and EventHandler::m_mousePressed
5457         * page/EventHandler.cpp:
5458         (WebCore::EventHandler::EventHandler):
5459         (WebCore::EventHandler::handleMousePressEvent):
5460         (WebCore::EventHandler::handleMouseMoveEvent):
5461         (WebCore::EventHandler::handleMouseReleaseEvent):
5462         (WebCore::EventHandler::autoscrollTimerFired):
5463         * page/EventHandler.h:
5464         * page/mac/EventHandlerMac.mm:
5465         (WebCore::EventHandler::handleDrag):
5466         (WebCore::EventHandler::mouseMoved):
5467         Merge EventHandler::m_bMousePressed and EventHandler::m_mousePressed
5469         (WebCore::EventHandler::lastEventIsMouseUp):
5470         Check that the "new" event is newer than the "old" one - that's not always the case 
5471         when running in DRT, as [NSApp currentEvent] isn't updated by eventSender.
5473 2006-12-11  Nikolas Zimmermann  <zimmermann@kde.org>
5475         Reviewed by Sam Weinig.
5477         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11801
5479         Autogenerate POD types for ObjC/JS.
5481         This removes the need for the hand-written JSSVG*, DOMSVG* wrappers
5482         in bindings/js, bindings/objc. Makes it much easier to convert more
5483         SVG types to POD types (ie. SVGMatrix* -> AffineTransform etc.)
5485         Affected test: svg/custom/SVGPoint-matrixTransform.svg
5487         It's failing with this patch, as the SVGPoint matrixTransform() function
5488         got disabled, until the SVGMatrix -> AffineTransform transition patch
5489         is landed. Otherwhise we'd need to add special cases to both CodeGeneratorJS/ObjC.pm
5490         which would be a waste of time, as SVGMatrix is about to die.
5492         Temporarily updating layout test result, as suggested by John Sullivan, so
5493         no-one notices that SVGPoint-matrixTransform.svg actually fails right now.
5495         Expect that to be fixed again in the next hour(s).
5497         * DerivedSources.make:
5498         * WebCore.xcodeproj/project.pbxproj:
5499         * bindings/js/JSSVGNumber.cpp: Removed.
5500         * bindings/js/JSSVGNumber.h: Removed.
5501         * bindings/js/JSSVGPoint.cpp: Removed.
5502         * bindings/js/JSSVGPoint.h: Removed.
5503         * bindings/js/JSSVGRect.cpp: Removed.
5504         * bindings/js/JSSVGRect.h: Removed.
5505         * bindings/objc/DOMSVGNumber.mm: Removed.
5506         * bindings/objc/DOMSVGPoint.mm: Removed.
5507         * bindings/objc/DOMSVGRect.mm: Removed.
5508         * bindings/scripts/CodeGeneratorJS.pm:
5509         * bindings/scripts/CodeGeneratorObjC.pm:
5510         * ksvg2/svg/SVGNumber.idl:
5511         * ksvg2/svg/SVGPoint.idl:
5512         * ksvg2/svg/SVGRect.idl:
5514 2006-12-10  Lars Knoll <lars@trolltech.com>
5516         Reviewed by Zack
5518         Fix another issue with frame loading
5520         * platform/network/qt/ResourceHandleManagerQt.cpp:
5521         (WebCore::ResourceHandleManager::cancel):
5522         (WebCore::ResourceHandleManager::receivedData):
5523         (WebCore::ResourceHandleManager::receivedFinished):
5524         (WebCore::FileLoader::request):
5525         * platform/qt/FrameQtClient.cpp:
5526         (WebCore::FrameQtClient::openURL):
5528 2006-12-10  George Staikos  <staikos@kde.org>
5530         Reviewed by Zack.
5532         Make the xpath grammar hack more specific (and work on OS X) until
5533         it's cleaned up.
5535         * WebCore.pro:
5537 2006-12-10  Zack Rusin  <zack@kde.org>
5539         Set the widgetclient correctly. This code
5540         should be platform independent!
5542         * platform/qt/WidgetQt.cpp:
5543         (WebCore::WidgetPrivate::WidgetPrivate):
5544         (WebCore::Widget::setClient):
5545         (WebCore::Widget::client):
5546         (WebCore::Widget::focusPolicy):
5548 2006-12-11  Lars Knoll <lars@trolltech.com>
5550         Reviewed by Zack
5552         Fix loading of local files.
5554         * platform/network/qt/ResourceHandleManagerQt.cpp:
5555         (WebCore::FileLoader::request):
5557 2006-12-10  Zack Rusin  <zack@kde.org>
5559        Don't use my QTransform magic, affine QMatrix is fine for
5560        SVG so use setMatrix.
5562         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
5563         (WebCore::SVGPaintServerLinearGradient::setup):
5564         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
5565         (WebCore::setup):
5567 2006-12-10  Lars Knoll <lars@trolltech.com>
5569         Reviewed by Zack
5571         Make sure we call checkCompleted() on the FrameLoader
5572         to get the regression tests running.
5574         * WebCore.pro:
5575         * loader/qt/FrameLoaderQt.cpp:
5576         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
5577         (WebCore::FrameLoader::saveDocumentState):
5578         * page/qt/EventHandlerQt.cpp:
5579         (WebCore::EventHandler::handleDrag):
5580         * platform/qt/FrameQtClient.cpp:
5581         (WebCore::FrameQtClient::openURL):
5582         (WebCore::FrameQtClient::didReceiveResponse):
5583         (WebCore::FrameQtClient::didFinishLoading):
5584         (WebCore::FrameQtClient::didFail):
5585         * platform/qt/FrameQtClient.h:
5587 2006-12-10  Zack Rusin  <zack@kde.org>
5589         Enable the SVG build by default and make it build.
5591         * WebCore.pro:
5592         * loader/qt/FrameLoaderQt.cpp: Output the method name
5594 2006-12-10  Zack Rusin  <zack@kde.org>
5596         Move the client classes to WebKitQt/WebCoreSupport.
5598         * WebCore.pro:
5599         * loader/qt/FrameLoaderClientQt.cpp: Removed.
5600         * loader/qt/FrameLoaderClientQt.h: Removed.
5601         * platform/qt/ChromeClientQt.cpp: Removed.
5602         * platform/qt/ChromeClientQt.h: Removed.
5603         * platform/qt/ContextMenuClientQt.cpp: Removed.
5604         * platform/qt/ContextMenuClientQt.h: Removed.
5605         * platform/qt/EditorClientQt.cpp: Removed.
5606         * platform/qt/EditorClientQt.h: Removed.
5608 2006-12-10  Lars Knoll <lars@trolltech.com>
5610         Reviewed by Zack.
5612         Add some stubs required to link.
5614         * platform/qt/FrameQt.cpp:
5615         (WebCore::FrameQt::runJavaScriptAlert):
5616         (WebCore::FrameQt::runJavaScriptConfirm):
5617         (WebCore::FrameQt::runJavaScriptPrompt):
5618         (WebCore::FrameQt::bindingRootObject):
5620 2006-12-10  Rob Buis  <buis@kde.org>
5622         Reviewed by Darin.
5624         http://bugs.webkit.org/show_bug.cgi?id=10996
5625         WebKit needs (possibly private) XML/SVG innerText support (for DumpRenderTree)
5627         Create an internal method to create innerText functionality for non-HTML
5628         nodes. When called from DRT this omits CDATA nodes.
5630         * dom/Element.cpp:
5631         (WebCore::Element::innerText):
5632         (WebCore::Element::outerText):
5633         * dom/Element.h:
5634         * dom/Element.idl:
5635         * html/HTMLElement.cpp:
5636         * html/HTMLElement.h:
5638 2006-12-10  Darin Fisher  <darin@chromium.org>
5640         Reviewed by Maciej.
5642         Fixes http://bugs.webkit.org/show_bug.cgi?id=11790
5643         No way to initialize ResourceResponse::m_httpHeaderFields
5645         * platform/network/ResourceResponse.cpp: impl setHTTPHeaderField
5646         (WebCore::ResourceResponse::setHTTPHeaderField):
5647         * platform/network/ResourceResponse.h: decl setHTTPHeaderField
5649 2006-12-10  Zack Rusin  <zack@kde.org>
5651         Cleaning up the code after removals.
5653         * platform/qt/FrameQt.cpp:
5654         * platform/qt/FrameQt.h: Remove virtual methods
5655         which have been moved to different objects
5657 2006-12-10  Zack Rusin  <zack@kde.org>
5659         Cleanup the FrameQtClient a little bit more. Remove
5660         unused methods.
5662         * platform/qt/FrameQtClient.cpp:
5663         * platform/qt/FrameQtClient.h:
5665 2006-12-09  Adam Roben  <aroben@apple.com>
5667         Build fix.
5669         * xml/XPathParser.cpp:
5670         (WebCore::XPath::charCat): Use C++ unsigned instead of uint.
5672 2006-12-09  George Staikos  <staikos@kde.org>
5674         Reviewed by Zack.
5676         Make it not crash, and make it set the title on Qt platform.
5678         * loader/qt/FrameLoaderClientQt.cpp:
5679         (WebCore::FrameLoaderClientQt::hasWebView):
5680         (WebCore::FrameLoaderClientQt::hasFrameView):
5681         (WebCore::FrameLoaderClientQt::didChangeTitle):
5682         * loader/qt/FrameLoaderQt.cpp:
5683         (WebCore::FrameLoader::setTitle):
5684         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
5686 2006-12-10  Zack Rusin  <zack@kde.org>
5688         Renaming FrameQtClientDefault to FrameQtClient.
5689         Removing FrameQtClient. Adding FrameLoaderClient
5690         as an argument. Clenaing up the code a bit.
5692         * platform/qt/FrameQt.cpp:
5693         (WebCore::FrameQt::FrameQt):
5694         * platform/qt/FrameQt.h:
5695         * platform/qt/FrameQtClient.cpp:
5696         (WebCore::FrameQtClient::FrameQtClient):
5697         (WebCore::FrameQtClient::~FrameQtClient):
5698         (WebCore::FrameQtClient::setFrame):
5699         (WebCore::FrameQtClient::openURL):
5700         (WebCore::FrameQtClient::submitForm):
5701         (WebCore::FrameQtClient::checkLoaded):
5702         (WebCore::FrameQtClient::runJavaScriptAlert):
5703         (WebCore::FrameQtClient::runJavaScriptConfirm):
5704         (WebCore::FrameQtClient::runJavaScriptPrompt):
5705         (WebCore::FrameQtClient::menubarVisible):
5706         (WebCore::FrameQtClient::toolbarVisible):
5707         (WebCore::FrameQtClient::statusbarVisible):
5708         (WebCore::FrameQtClient::personalbarVisible):
5709         (WebCore::FrameQtClient::locationbarVisible):
5710         (WebCore::FrameQtClient::loadFinished):
5711         (WebCore::FrameQtClient::didReceiveResponse):
5712         (WebCore::FrameQtClient::didFinishLoading):
5713         (WebCore::FrameQtClient::didFail):
5714         (WebCore::FrameQtClient::didReceiveData):
5715         (WebCore::FrameQtClient::traverseNextFrameStayWithin):
5716         (WebCore::FrameQtClient::numPendingOrLoadingRequests):
5717         (WebCore::FrameQtClient::receivedAllData):
5718         (WebCore::FrameQtClient::setTitle):
5719         * platform/qt/FrameQtClient.h:
5721 2006-12-10  Zack Rusin  <zack@kde.org>
5723         Fixes compilation after the last removals.
5725         * WebCore.pro:
5727 2006-12-10  Lars Knoll <lars@trolltech.com>
5729         Reviewed by Zack.
5731         Implement a decent network loader using QHttp.
5733         * loader/qt/FrameLoaderQt.cpp:
5734         (WebCore::FrameLoader::load):
5735         * platform/network/ResourceHandle.cpp:
5736         (WebCore::ResourceHandle::request):
5737         * platform/network/ResourceHandle.h:
5738         * platform/network/ResourceHandleInternal.h:
5739         * platform/network/qt/ResourceHandleManager.cpp: Removed.
5740         * platform/network/qt/ResourceHandleManager.h: Removed.
5741         * platform/network/qt/ResourceHandleManagerKDE.cpp: Added.
5742         (WebCore::ResourceHandleManager::self):
5743         (WebCore::ResourceHandleManager::ResourceHandleManager):
5744         (WebCore::ResourceHandleManager::~ResourceHandleManager):
5745         (WebCore::ResourceHandleManager::slotData):
5746         (WebCore::ResourceHandleManager::slotMimetype):
5747         (WebCore::ResourceHandleManager::slotResult):
5748         (WebCore::ResourceHandleManager::remove):
5749         (WebCore::ResourceHandleManager::add):
5750         (WebCore::ResourceHandleManager::cancel):
5751         * platform/network/qt/ResourceHandleManagerKDE.h: Added.
5752         * platform/network/qt/ResourceHandleManagerQt.cpp: Added.
5753         (WebCore::ResourceHandleManager::ResourceHandleManager):
5754         (WebCore::ResourceHandleManager::~ResourceHandleManager):
5755         (WebCore::ResourceHandleManager::self):
5756         (WebCore::RequestQt::RequestQt):
5757         (WebCore::ResourceHandleManager::add):
5758         (WebCore::ResourceHandleManager::cancel):
5759         (WebCore::ResourceHandleManager::receivedResponse):
5760         (WebCore::ResourceHandleManager::receivedData):
5761         (WebCore::ResourceHandleManager::receivedFinished):
5762         (WebCore::LoaderThread::LoaderThread):
5763         (WebCore::LoaderThread::run):
5764         (WebCore::FileLoader::FileLoader):
5765         (WebCore::FileLoader::request):
5766         (WebCore::FileLoader::cancel):
5767         (WebCore::WebCoreHttp::WebCoreHttp):
5768         (WebCore::WebCoreHttp::~WebCoreHttp):
5769         (WebCore::WebCoreHttp::request):
5770         (WebCore::WebCoreHttp::scheduleNextRequest):
5771         (WebCore::WebCoreHttp::getConnection):
5772         (WebCore::WebCoreHttp::onResponseHeaderReceived):
5773         (WebCore::WebCoreHttp::onReadyRead):
5774         (WebCore::WebCoreHttp::onRequestFinished):
5775         (WebCore::WebCoreHttp::onStateChanged):
5776         (WebCore::WebCoreHttp::cancel):
5777         (WebCore::qHash):
5778         (WebCore::operator==):
5779         (WebCore::HostInfo::HostInfo):
5780         (WebCore::NetworkLoader::NetworkLoader):
5781         (WebCore::NetworkLoader::~NetworkLoader):
5782         (WebCore::NetworkLoader::request):
5783         (WebCore::NetworkLoader::connectionClosed):
5784         (WebCore::NetworkLoader::cancel):
5785         * platform/network/qt/ResourceHandleManagerQt.h: Added.
5786         (WebCore::LoaderThread::):
5787         (WebCore::LoaderThread::waitForSetup):
5788         * platform/network/qt/ResourceHandleQt.cpp:
5789         (WebCore::ResourceHandle::start):
5790         * platform/qt/FrameQt.cpp:
5791         (WebCore::FrameQt::FrameQt):
5792         (WebCore::FrameQt::keyEvent):
5793         * platform/qt/FrameQt.h:
5794         * platform/qt/FrameQtClient.cpp:
5795         (WebCore::FrameQtClientDefault::FrameQtClientDefault):
5796         (WebCore::FrameQtClientDefault::openURL):
5797         (WebCore::FrameQtClientDefault::submitForm):
5798         (WebCore::FrameQtClientDefault::didReceiveResponse):
5799         (WebCore::FrameQtClientDefault::didFinishLoading):
5800         (WebCore::FrameQtClientDefault::didFail):
5801         (WebCore::FrameQtClientDefault::didReceiveData):
5802         (WebCore::FrameQtClientDefault::receivedAllData):
5803         (WebCore::FrameQtClientDefault::setTitle):
5804         * platform/qt/FrameQtClient.h:
5806 2006-12-09  George Staikos  <staikos@kde.org>
5808         Reviewed by Zack.
5810         Fix bison again on qmake build.
5812         * WebCore.pro:
5814 2006-12-09  Zack Rusin  <zack@kde.org>
5816         Reviewed by Zack.
5818         Use the correct filename.
5820         * WebCore.pro: it's PasteboardQt.cpp
5822 2006-12-09  Zack Rusin  <zack@kde.org>
5824         Reviewed by Lars.
5826         Correctly set the font on widgets.
5828         * platform/qt/WidgetQt.cpp:
5829         (WebCore::Widget::setFont):
5831 2006-12-09  Adam Treat  <treat@kde.org>
5833         Reviewed by Zack
5835         No more nil renderer warnings
5837         * platform/qt/ScrollViewCanvasQt.cpp:
5838         (WebCore::ScrollViewCanvasQt::paintEvent):
5840 2006-12-09  Friedemann Kleint  <fkleint@trolltech.com>
5842         Reviewed by Zack
5844         Removed compiler warnings about rounding issues
5846         * platform/qt/FontPlatformDataQt.cpp:
5847         (WebCore::FontPlatformData::FontPlatformData):
5848         * platform/qt/FontQt.cpp:
5849         (WebCore::Font::drawComplexText):
5851 2006-12-09  George Staikos  <staikos@kde.org>
5853         Reviewed by Zack.
5855         Qt 4.1 (especially Qtopia) build fixes
5857         * platform/qt/FrameQtClient.cpp:
5858         * platform/qt/GraphicsContextQt.cpp:
5859         * platform/qt/PlatformKeyboardEventQt.cpp:
5860         * platform/qt/CursorQt.cpp:
5861         * platform/qt/WidgetQt.cpp:
5862         * platform/Cursor.h:
5863         * platform/Arena.h:
5865 2006-12-09  Lars Knoll <lars@trolltech.com>
5867         Reviewed by Zack
5869         Make it possible to build WebKit with qmake.
5871         * WebCore.pro: Added.
5872         * platform/graphics/qt/GraphicsContextQt.cpp:
5874 2006-12-10  Lars Knoll <lars@trolltech.com>
5876         Reviewed by Zack.
5878         Compile after latest WebKit changes and don't depend
5879         on deprecated methods in Qt.
5881         * platform/network/qt/ResourceHandleManager.cpp:
5882         (WebCore::ResourceHandleManager::remove):
5883         (WebCore::ResourceHandleManager::deliverJobData):
5884         * platform/network/qt/ResourceHandleQt.cpp:
5885         (WebCore::ResourceHandle::extractCharsetFromHeaders):
5886         * platform/qt/PlatformKeyboardEventQt.cpp:
5887         (WebCore::windowsKeyCodeForKeyEvent):
5889 2006-12-10  Lars Knoll <lars@trolltech.com>
5891         Reviewed by Zack.
5893         Use the Qt image loading framework.
5895         * CMakeLists.txt:
5896         * platform/graphics/ImageSource.h:
5897         * platform/graphics/qt/GraphicsContextQt.cpp:
5898         * platform/graphics/qt/ImageDecoderQt.cpp: Added.
5899         (WebCore::ImageDecoderQt::ImageData::ImageData):
5900         (WebCore::ImageDecoderQt::ReadContext::):
5901         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
5902         (WebCore::ImageDecoderQt::ReadContext::read):
5903         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
5904         (WebCore::ImageDecoderQt::ImageDecoderQt):
5905         (WebCore::ImageDecoderQt::~ImageDecoderQt):
5906         (WebCore::ImageDecoderQt::hasFirstImageHeader):
5907         (WebCore::ImageDecoderQt::reset):
5908         (WebCore::ImageDecoderQt::setData):
5909         (WebCore::ImageDecoderQt::isSizeAvailable):
5910         (WebCore::ImageDecoderQt::frameCount):
5911         (WebCore::ImageDecoderQt::repetitionCount):
5912         (WebCore::ImageDecoderQt::ImageDecoderQt::supportsAlpha):
5913         (WebCore::ImageDecoderQt::duration):
5914         (WebCore::ImageDecoderQt::frameBufferAtIndex):
5915         (WebCore::ImageDecoderQt::imageAtIndex):
5916         * platform/graphics/qt/ImageDecoderQt.h: Added.
5917         (WebCore::ImageDecoderQt::):
5918         * platform/graphics/qt/ImageSourceQt.cpp:
5919         (WebCore::):
5920         (WebCore::detectImageFormat):
5921         (WebCore::createDecoder):
5922         (WebCore::ImageSource::setData):
5923         (WebCore::ImageSource::createFrameAtIndex):
5924         (WebCore::ImageSource::frameDurationAtIndex):
5925         (WebCore::ImageSource::frameHasAlphaAtIndex):
5927 2006-12-09  Lars Knoll  <lars@trolltech.com>
5929         Reviewed by Maciej.
5931         Remove an explicit ICU dependency.
5933         * xml/XPathParser.cpp:
5934         (WebCore::XPath::charCat):
5936 2006-12-09  Zack Rusin  <zack@kde.org>
5938         Adjusting the build after the icu changes.
5940         * CMakeLists.txt:
5942 2006-12-09  Adam Roben  <aroben@apple.com>
5944         Reviewed by Darin.
5946         Changed all ForwardingHeaders to use #include instead of #import.
5948         * ForwardingHeaders/kjs/JSLock.h:
5949         * ForwardingHeaders/kjs/SavedBuiltins.h:
5950         * ForwardingHeaders/kjs/collector.h:
5951         * ForwardingHeaders/kjs/dtoa.h:
5952         * ForwardingHeaders/kjs/internal.h:
5953         * ForwardingHeaders/kjs/interpreter.h:
5954         * ForwardingHeaders/kjs/lookup.h:
5955         * ForwardingHeaders/kjs/object.h:
5956         * ForwardingHeaders/kjs/property_map.h:
5957         * ForwardingHeaders/kjs/protect.h:
5958         * ForwardingHeaders/wtf/AlwaysInline.h:
5959         * ForwardingHeaders/wtf/Assertions.h:
5960         * ForwardingHeaders/wtf/FastMalloc.h:
5961         * ForwardingHeaders/wtf/GetPtr.h:
5962         * ForwardingHeaders/wtf/HashCountedSet.h:
5963         * ForwardingHeaders/wtf/HashMap.h:
5964         * ForwardingHeaders/wtf/HashSet.h:
5965         * ForwardingHeaders/wtf/HashTraits.h:
5966         * ForwardingHeaders/wtf/MathExtras.h:
5967         * ForwardingHeaders/wtf/Noncopyable.h:
5968         * ForwardingHeaders/wtf/OwnArrayPtr.h:
5969         * ForwardingHeaders/wtf/OwnPtr.h:
5970         * ForwardingHeaders/wtf/PassRefPtr.h:
5971         * ForwardingHeaders/wtf/Platform.h:
5972         * ForwardingHeaders/wtf/RefPtr.h:
5973         * ForwardingHeaders/wtf/Vector.h:
5975 2006-12-09  Rob Buis  <buis@kde.org>
5977         Reviewed by Darin.
5979         http://bugs.webkit.org/show_bug.cgi?id=11625
5980         Investigate possibility to share code between HTMLStyleElement and SVGStyleElement
5982         Add a class shared by both HTMLStyleElement and SVGStyleElement that
5983         encapsulates the common logic.
5985         * CMakeLists.txt:
5986         * WebCore.xcodeproj/project.pbxproj:
5987         * dom/Document.cpp:
5988         (WebCore::Document::recalcStyleSelector):
5989         Generalize stylesheet processing of svg and html.
5991         * dom/StyleElement.cpp: Added.
5992         (WebCore::StyleElement::StyleElement):
5993         (WebCore::StyleElement::sheet):
5994         (WebCore::StyleElement::insertedIntoDocument):
5995         (WebCore::StyleElement::removedFromDocument):
5996         (WebCore::StyleElement::childrenChanged):
5997         * dom/StyleElement.h: Added.
5998         (WebCore::StyleElement::~StyleElement):
5999         (WebCore::StyleElement::isLoading):
6000         Common base class for SVGStyleElement and HTMLStyleElement.
6002         * html/HTMLStyleElement.cpp:
6003         (WebCore::HTMLStyleElement::HTMLStyleElement):
6004         (WebCore::HTMLStyleElement::parseMappedAttribute):
6005         (WebCore::HTMLStyleElement::insertedIntoDocument):
6006         (WebCore::HTMLStyleElement::removedFromDocument):
6007         (WebCore::HTMLStyleElement::childrenChanged):
6008         (WebCore::HTMLStyleElement::media):
6009         (WebCore::HTMLStyleElement::setMedia):
6010         (WebCore::HTMLStyleElement::type):
6011         (WebCore::HTMLStyleElement::setType):
6012         * html/HTMLStyleElement.h:
6013         Use new common class.
6015         * ksvg2/svg/SVGElement.cpp:
6016         * ksvg2/svg/SVGElement.h:
6017         * ksvg2/svg/SVGSVGElement.cpp:
6018         (WebCore::SVGSVGElement::contentScriptType):
6019         (WebCore::SVGSVGElement::contentStyleType):
6020         * ksvg2/svg/SVGSVGElement.h:
6021         Do not use tryGetAttribute(NS) anymore.
6023         * ksvg2/svg/SVGStyleElement.cpp:
6024         (WebCore::SVGStyleElement::SVGStyleElement):
6025         (WebCore::SVGStyleElement::xmlspace):
6026         (WebCore::SVGStyleElement::type):
6027         (WebCore::SVGStyleElement::media):
6028         (WebCore::SVGStyleElement::title):
6029         (WebCore::SVGStyleElement::insertedIntoDocument):
6030         (WebCore::SVGStyleElement::removedFromDocument):
6031         (WebCore::SVGStyleElement::childrenChanged):
6032         * ksvg2/svg/SVGStyleElement.h:
6033         Use new common class.
6035 2006-12-08  David Hyatt  <hyatt@apple.com>
6037         Land the new ICU abstraction layer (WTF::Unicode).  Patch
6038         by Lars with a couple of fixes thrown in by me.
6040         Reviewed by hyatt
6042         * ForwardingHeaders/wtf/icu/UnicodeIcu.h: Added.
6043         * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
6044         * WebCore.xcodeproj/project.pbxproj:
6045         * css/cssparser.cpp:
6046         (WebCore::ParseString::lower):
6047         * dom/Document.cpp:
6048         (WebCore::isValidNameStart):
6049         (WebCore::isValidNamePart):
6050         * editing/TextIterator.cpp:
6051         (WebCore::CircularSearchBuffer::append):
6052         * html/HTMLFontElement.cpp:
6053         (WebCore::parseFontSizeNumber):
6054         * html/HTMLInputElement.cpp:
6055         (WebCore::numGraphemeClusters):
6056         (WebCore::numCharactersInGraphemeClusters):
6057         * html/HTMLSelectElement.cpp:
6058         (WebCore::stripLeadingWhiteSpace):
6059         * page/Frame.h:
6060         * platform/DeprecatedString.h:
6061         (WebCore::DeprecatedChar::isSpace):
6062         (WebCore::DeprecatedChar::lower):
6063         (WebCore::DeprecatedChar::upper):
6064         * platform/Font.cpp:
6065         (WebCore::WidthIterator::advance):
6066         (WebCore::WidthIterator::normalizeVoicingMarks):
6067         * platform/FontCache.h:
6068         * platform/FontData.h:
6069         * platform/GlyphMap.cpp:
6070         * platform/GlyphMap.h:
6071         * platform/GlyphWidthMap.h:
6072         * platform/KURL.cpp:
6073         (WebCore::encodeHostname):
6074         * platform/StringHash.h:
6075         (WTF::):
6076         * platform/StringImpl.cpp:
6077         (WebCore::isSpace):
6078         (WebCore::parseLength):
6079         (WebCore::StringImpl::isLower):
6080         (WebCore::StringImpl::lower):
6081         (WebCore::StringImpl::upper):
6082         (WebCore::StringImpl::secure):
6083         (WebCore::StringImpl::foldCase):
6084         (WebCore::StringImpl::capitalize):
6085         (WebCore::StringImpl::toInt):
6086         (WebCore::equalIgnoringCase):
6087         (WebCore::StringImpl::find):
6088         * platform/StringImpl.h:
6089         * platform/TextBoundaries.h:
6090         * platform/TextBreakIterator.h: Added.
6091         (WebCore::):
6092         * platform/TextBreakIteratorICU.cpp: Added.
6093         (WebCore::wordBreakIterator):
6094         (WebCore::characterBreakIterator):
6095         (WebCore::textBreakFirst):
6096         (WebCore::textBreakNext):
6097         (WebCore::textBreakPreceding):
6098         (WebCore::textBreakFollowing):
6099         (WebCore::textBreakCurrent):
6100         * platform/TextCodec.h:
6101         * platform/TextCodecLatin1.cpp:
6102         * platform/TextEncoding.cpp:
6103         (WebCore::TextEncoding::encode):
6104         * platform/TextEncoding.h:
6105         * platform/TextEncodingRegistry.cpp:
6106         (WebCore::buildTextEncodingNameMap):
6107         (WebCore::buildTextCodecMap):
6108         * platform/TextEncodingRegistry.h:
6109         * platform/UChar.h: Removed.
6110         * platform/graphics/GraphicsContext.h:
6111         * platform/qt/GlyphMapQt.cpp:
6112         * platform/qt/TextBreakIteratorQt.cpp: Added.
6113         (WebCore::TextBreakIterator::following):
6114         (WebCore::TextBreakIterator::preceding):
6115         (WebCore::WordBreakIteratorQt::first):
6116         (WebCore::WordBreakIteratorQt::next):
6117         (WebCore::WordBreakIteratorQt::previous):
6118         (WebCore::CharBreakIteratorQt::first):
6119         (WebCore::CharBreakIteratorQt::next):
6120         (WebCore::CharBreakIteratorQt::previous):
6121         (WebCore::wordBreakIterator):
6122         (WebCore::characterBreakIterator):
6123         (WebCore::textBreakFirst):
6124         (WebCore::textBreakNext):
6125         (WebCore::textBreakPreceding):
6126         (WebCore::textBreakFollowing):
6127         (WebCore::textBreakCurrent):
6128         * platform/qt/TextCodecQt.cpp: Added.
6129         (WebCore::getAtomicName):
6130         (WebCore::TextCodecQt::registerEncodingNames):
6131         (WebCore::newTextCodecQt):
6132         (WebCore::TextCodecQt::registerCodecs):
6133         (WebCore::TextCodecQt::TextCodecQt):
6134         (WebCore::TextCodecQt::~TextCodecQt):
6135         (WebCore::TextCodecQt::decode):
6136         (WebCore::TextCodecQt::encode):
6137         * platform/qt/TextCodecQt.h: Added.
6138         * rendering/RenderBlock.cpp:
6139         (WebCore::RenderBlock::updateFirstLetter):
6140         * rendering/RenderText.cpp:
6141         (WebCore::RenderText::previousOffset):
6142         (WebCore::RenderText::nextOffset):
6143         (WebCore::RenderText::widthFromCache):
6144         * rendering/RenderText.h:
6145         * rendering/bidi.cpp:
6146         (WebCore::BidiState::BidiState):
6147         (WebCore::BidiContext::BidiContext):
6148         (WebCore::bidiNext):
6149         (WebCore::bidiFirst):
6150         (WebCore::BidiIterator::direction):
6151         (WebCore::appendRun):
6152         (WebCore::embed):
6153         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
6154         (WebCore::RenderBlock::bidiReorderLine):
6155         (WebCore::RenderBlock::layoutInlineChildren):
6156         * rendering/bidi.h:
6157         (WebCore::BidiStatus::BidiStatus):
6158         (WebCore::BidiContext::dir):
6159         (WebCore::BidiContext::basicDir):
6160         (WebCore::BidiRun::BidiRun):
6161         * rendering/break_lines.h:
6163 2006-12-08  Adam Roben  <aroben@apple.com>
6165         Rolling out r17865 because it caused a performance regression.
6167         * loader/TextResourceDecoder.cpp:
6168         (WebCore::findXMLEncoding):
6169         * platform/CString.cpp:
6170         (WebCore::CString::data):
6171         * platform/CString.h:
6172         * platform/TextStream.cpp:
6173         (WebCore::TextStream::operator<<):
6174         * platform/TextStream.h:
6176 2006-12-08  Zack Rusin  <zack@kde.org>
6178         Reviewed by Maciej.
6180         Fix the Qt/KDE build after all the API changes.
6182         * CMakeLists.txt:
6183         * editing/qt/EditorQt.cpp: Added.
6184         (WebCore::Editor::newGeneralClipboard):
6185         (WebCore::Editor::ignoreSpelling):
6186         (WebCore::Editor::learnSpelling):
6187         (WebCore::Editor::advanceToNextMisspelling):
6188         (WebCore::Editor::isSelectionMisspelled):
6189         (WebCore::Editor::isSelectionUngrammatical):
6190         (WebCore::Editor::guessesForUngrammaticalSelection):
6191         (WebCore::Editor::guessesForMisspelledSelection):
6192         (WebCore::Editor::markMisspellingsInAdjacentWords):
6193         (WebCore::Editor::markMisspellings):
6194         * loader/NavigationAction.h:
6195         * loader/qt/FrameLoaderClientQt.cpp:
6196         (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
6197         (WebCore::FrameLoaderClientQt::canHandleRequest):
6198         * loader/qt/FrameLoaderClientQt.h:
6199         * loader/qt/FrameLoaderQt.cpp:
6200         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
6201         (WebCore::FrameLoader::load):
6202         * loader/qt/ResourceLoaderQt.cpp:
6203         * platform/ContextMenu.h:
6204         * platform/graphics/qt/GraphicsContextQt.cpp:
6205         * platform/graphics/qt/PathQt.cpp:
6206         (WebCore::Path::addArc):
6207         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
6208         (WebCore::SVGPaintServerLinearGradient::setup):
6209         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
6210         (WebCore::setup):
6211         * platform/network/ResourceHandle.h:
6212         (WebCore::ResourceHandle::getInternal):
6213         * platform/network/ResourceHandleInternal.h:
6214         * platform/network/qt/ResourceHandleManager.cpp:
6215         (WebCore::ResourceHandleManager::slotData):
6216         (WebCore::ResourceHandleManager::remove):
6217         * platform/network/qt/ResourceHandleQt.cpp:
6218         (WebCore::ResourceHandle::~ResourceHandle):
6219         (WebCore::ResourceHandle::start):
6220         * platform/qt/ChromeClientQt.cpp:
6221         (WebCore::ChromeClientQt::addMessageToConsole):
6222         (WebCore::ChromeClientQt::chromeDestroyed):
6223         * platform/qt/ChromeClientQt.h:
6224         * platform/qt/ContextMenuClientQt.cpp:
6225         (WebCore::ContextMenuClientQt::copyLinkToClipboard):
6226         (WebCore::ContextMenuClientQt::downloadURL):
6227         (WebCore::ContextMenuClientQt::copyImageToClipboard):
6228         (WebCore::ContextMenuClientQt::contextMenuDestroyed):
6229         (WebCore::ContextMenuClientQt::contextMenuItemSelected):
6230         * platform/qt/ContextMenuClientQt.h:
6231         * platform/qt/ContextMenuItemQt.cpp: Added.
6232         (WebCore::ContextMenuItem::ContextMenuItem):
6233         (WebCore::ContextMenuItem::~ContextMenuItem):
6234         (WebCore::ContextMenuItem::platformDescription):
6235         (WebCore::ContextMenuItem::action):
6236         (WebCore::ContextMenuItem::title):
6237         (WebCore::ContextMenuItem::setAction):
6238         (WebCore::ContextMenuItem::setTitle):
6239         (WebCore::ContextMenuItem::setSubMenu):
6240         * platform/qt/ContextMenuQt.cpp:
6241         (WebCore::ContextMenu::ContextMenu):
6242         (WebCore::ContextMenu::~ContextMenu):
6243         (WebCore::ContextMenu::appendItem):
6244         (WebCore::ContextMenu::itemCount):
6245         (WebCore::ContextMenu::insertItem):
6246         (WebCore::ContextMenu::setPlatformDescription):
6247         * platform/qt/CursorQt.cpp:
6248         (WebCore::copyCursor):
6249         * platform/qt/EditorClientQt.cpp:
6250         (WebCore::EditorClientQt::shouldInsertNode):
6251         (WebCore::WebCore::EditorClientQt::pageDestroyed):
6252         (WebCore::EditorClientQt::smartInsertDeleteEnabled):
6253         * platform/qt/EditorClientQt.h:
6254         * platform/qt/FrameQt.cpp:
6255         (WebCore::FrameQt::FrameQt):
6256         (WebCore::FrameQt::keyEvent):
6257         * platform/qt/FrameQt.h:
6258         * platform/qt/FrameQtClient.cpp:
6259         (WebCore::FrameQtClientDefault::openURL):
6260         (WebCore::FrameQtClientDefault::submitForm):
6261         * platform/qt/LoaderFunctionsQt.cpp:
6262         * platform/qt/PasteboardQt.cpp: Added.
6263         (WebCore::Pasteboard::Pasteboard):
6264         (WebCore::Pasteboard::generalPasteboard):
6265         (WebCore::Pasteboard::clearTypes):
6266         (WebCore::Pasteboard::writeSelection):
6267         (WebCore::Pasteboard::canSmartReplace):
6268         (WebCore::Pasteboard::plainText):
6269         (WebCore::Pasteboard::documentFragment):
6271 === Safari-521.32 ===
6273 2006-12-08  Rob Buis  <buis@kde.org>
6275         Reviewed by Maciej.
6277         http://bugs.webkit.org/show_bug.cgi?id=10188
6278         Form elements added via appendChild() are not accessible via form.element
6280         Make sure looking up form elements works when the form is not appended
6281         to the document.
6283         * html/HTMLFormElement.cpp:
6284         (WebCore::HTMLFormElement::registerFormElement):
6286 2006-12-08  Rob Buis  <buis@kde.org>
6288         Reviewed by Adele.
6290         http://bugs.webkit.org/show_bug.cgi?id=11765
6291         REGRESSION: Clicking on a select with size other than 1 and no children results in a crash
6293         Make sure returned value is -1 for selects without children.
6295         * rendering/RenderListBox.cpp:
6296         (WebCore::RenderListBox::listIndexAtOffset):
6298 2006-12-08  Adam Roben  <aroben@apple.com>
6300         Reviewed by Anders.
6302         This is a mo' better fix for ensuring we don't use macro definitions
6303         of min/max.
6305         * config.h:
6307 2006-12-08  Peter Kasting  <pkasting@google.com>
6309         Reviewed and landed by Alexey.
6311         http://bugs.webkit.org/show_bug.cgi?id=11759:
6312         Windows build bustage
6314         * WebCore.vcproj/WebCore/WebCore.vcproj:
6315         * bridge/win/ContextMenuClientWin.h:
6316         * bridge/win/FrameWin.h:
6317         * loader/win/FrameLoaderWin.cpp:
6318         (WebCore::FrameLoader::submitForm):
6319         * platform/network/win/ResourceHandleWin.cpp:
6320         (WebCore::ResourceHandle::onRequestComplete):
6321         (WebCore::ResourceHandle::fileLoadTimer):
6322         (WebCore::ResourceHandle::cancel):
6323         * platform/win/MouseEventWin.cpp:
6324         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
6325         * platform/win/TemporaryLinkStubs.cpp:
6326         (WebCore::fileButtonChooseFileLabel):
6327         (WebCore::inputElementAltText):
6328         (WebCore::copyCursor):
6329         (WebCore::resetButtonDefaultLabel):
6330         (WebCore::ContextMenuClientWin::contextMenuItemSelected):
6331         (WebCore::ContextMenuClientWin::copyLinkToClipboard):
6332         (WebCore::ContextMenuClientWin::downloadURL):
6333         (WebCore::ContextMenuClientWin::copyImageToClipboard):
6334         (WebCore::Editor::ignoreSpelling):
6335         (WebCore::Editor::learnSpelling):
6336         (WebCore::Editor::isSelectionUngrammatical):
6337         (WebCore::Editor::isSelectionMisspelled):
6338         (WebCore::Editor::guessesForMisspelledSelection):
6339         (WebCore::Editor::guessesForUngrammaticalSelection):
6340         (WebCore::Editor::markMisspellingsInAdjacentWords):
6341         (WebCore::FrameLoader::load):
6342         (WebCore::FrameWin::scheduleClose):
6343         (WebCore::FrameWin::respondToChangedSelection):
6345 2006-12-08  Sam Weinig  <sam@webkit.org>
6347         Reviewed by Geoff.
6349         Fix for http://bugs.webkit.org/show_bug.cgi?id=11777
6350         Crash when using XMLSerializer.serializeToString() on
6351         documentless, DocumentType nodes.
6353         Test: fast/dom/XMLSerializer-doctype.html
6354         Test: fast/dom/XMLSerializer-doctype2.html
6356         * dom/DOMImplementation.cpp:
6357         (WebCore::DOMImplementation::createDocument): set the document of the 
6358         DocumentType node to the new document.
6359         * xml/XMLSerializer.cpp: Cleanup.
6360         (WebCore::XMLSerializer::serializeToString): now throws an exception
6361         for documentless nodes. 
6362         * xml/XMLSerializer.h: cleanup
6363         * xml/XMLSerializer.idl: add exception
6365 2006-12-07  Justin Garcia  <justin.garcia@apple.com>
6367         Reviewed by john
6369         <rdar://problem/4836287>
6370         Cannot expand selection out of editable element when containing element is non-editable.
6372         * editing/Selection.cpp:
6373         (WebCore::Selection::adjustForEditableContent): Restrict the selection endpoints
6374         to the same *highest* editable root.  This bug only happened when creating selections
6375         based in an editable region and extending into a higher editable root, so this change 
6376         doesn't expose any new kinds of deletions, but we should start thinking about how
6377         those deletions should behave.
6378         * editing/SelectionController.cpp:
6379         (WebCore::SelectionController::selectAll): Ditto.
6381 2006-12-08  Beth Dakin  <bdakin@apple.com>
6383         Reviewed by Maciej.
6385         Add a new member variable to ContextMenuItem to hold on to the sub-
6386         menu. The new member variable is an OwnPtr<ContextMenu>
6388         * platform/ContextMenu.cpp: Because of the OwnPtr in
6389         ContextMenuItem, we have to separate the declaration of
6390         ContextMenuItems away from the calls to appendItem(). Not doing so
6391         causes a build failure because OwnPtr inherits from Noncopyable.
6392         (WebCore::createFontSubMenu): Same.
6393         (WebCore::createSpellingAndGrammarSubMenu): Same.
6394         (WebCore::createSpellingSubMenu): Same.
6395         (WebCore::createSpeechSubMenu): Same.
6396         (WebCore::createWritingDirectionSubMenu): Same.
6397         (WebCore::ContextMenu::populate): Same.
6398         * platform/ContextMenuItem.h:  New member variable m_subMenu.
6399         * platform/mac/ContextMenuItemMac.mm: Take care of setting
6400         m_subMenu in addition to setting the submenu of the NSMenuItem when
6401         we have a sub-menu.
6402         (WebCore::menuToArray):
6403         (WebCore::ContextMenuItem::ContextMenuItem): Same.
6404         (WebCore::ContextMenuItem::platformSubMenu): Same.
6405         (WebCore::ContextMenuItem::setSubMenu): Same.
6407 2006-12-08  Darin Fisher  <darin@chromium.org>
6409         Reviewed by Darin.
6411         http://bugs.webkit.org/show_bug.cgi?id=11778
6412         CString::data() should be documented as returning a null terminated char array
6414         * platform/CString.h:
6415         Add some basic documentation to CString.h
6417 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
6419         Reviewed by Geoff.
6421         http://bugs.webkit.org/show_bug.cgi?id=11718
6422         REGRESSION: When I mouse up after dragging a selection outside of a iframe, the iframe
6423         continues to scroll automatically.
6425         Test: manual-tests/autoscroll.html
6427         * manual-tests/autoscroll.html: Added.
6429         * page/EventHandler.cpp:
6430         (WebCore::EventHandler::handleMousePressEvent):
6431         Assign to m_mousePressNode earlier, so that it is available in the superframe as well.
6432         Reset m_mouseDownWasInSubframe to false when starting to handle a mousedown - previously, its value
6433         was only defined if the event was passed down to a widget or a subframe.
6435         (WebCore::EventHandler::stopAutoscrollTimer):
6436         If the mouse down event was in a subframe, stop the subframe's timer.
6438 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
6440         Reviewed by Geoff.
6442         http://bugs.webkit.org/show_bug.cgi?id=6275
6443         XMLHttpRequest.getResponseHeader should return a null string for non-existent headers
6445         * bindings/js/JSXMLHttpRequest.cpp:
6446         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
6447         Convert null getResponseHeader strings to JS null, rather than undefined.
6449 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
6451         Reviewed by Darin.
6453         http://bugs.webkit.org/show_bug.cgi?id=9854
6454         HTTP Refresh header with quotes is parsed incorrectly
6456         Test: http/tests/misc/redirect-with-quotes.php
6458         * WebCore.xcodeproj/project.pbxproj:
6459         Added HTTPParsers.{h,cpp}. I intend to move Content-Type parsing here, as well.
6461         * dom/Document.cpp:
6462         (WebCore::Document::processHttpEquiv):
6463         * loader/FrameLoader.cpp:
6464         (WebCore::FrameLoader::receivedFirstData):
6465         Use the new implementation in HTTPHeaders.
6467         * platform/network/HTTPParsers.cpp: Added.
6468         (WebCore::skipWhiteSpace):
6469         (WebCore::parseHTTPRefresh):
6470         * platform/network/HTTPParsers.h: Added.
6471         Merged and rewrote existing implementations for better Firefox compatibility.
6473 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
6475         Reviewed by Tim H.
6477         http://bugs.webkit.org/show_bug.cgi?id=11772
6478         REGRESSION: XMLSerializer.serializeToString incorrect value for CDATA nodes
6480         Test: fast/dom/serialize-cdata.html
6482         * editing/markup.cpp:
6483         (WebCore::startMarkup): Dump CDATA sections, too.
6485 2006-12-08  Mitz Pettel  <mitz@webkit.org>
6487         Reviewed by hyatt.
6489         Deleted misplaced comment.
6491         * rendering/RenderWidget.cpp:
6493 2006-12-08  Rob Buis  <buis@kde.org>
6495         Reviewed by Darin.
6497         http://bugs.webkit.org/show_bug.cgi?id=6074
6498         WebKit+SVG and FireFox disagree on invalid "transform" handling
6500         Test for parsing failure on transform attribute and clear the transform
6501         list upon failure to match FF behaviour.
6503         * ksvg2/svg/SVGGradientElement.cpp:
6504         (WebCore::SVGGradientElement::parseMappedAttribute):
6505         * ksvg2/svg/SVGPatternElement.cpp:
6506         (WebCore::SVGPatternElement::parseMappedAttribute):
6507         * ksvg2/svg/SVGStyledTransformableElement.cpp:
6508         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
6509         * ksvg2/svg/SVGTextElement.cpp:
6510         (WebCore::SVGTextElement::parseMappedAttribute):
6511         * ksvg2/svg/SVGTransformable.cpp:
6512         (WebCore::SVGTransformable::parseTransformAttribute):
6513         * ksvg2/svg/SVGTransformable.h:
6515 2006-12-07  Geoffrey Garen  <ggaren@apple.com>
6517         Reviewed by Beth Dakin.
6519         Fixed <rdar://problem/4870551> 9A320: <input type="text"> no longer 
6520         dispatches onchange event in response to enter key
6521         
6522         To match our old behavior and FF, we need to dispatch onchange in response to the
6523         ENTER key. The strategy here is just to dispatch a blur event, since that's how
6524         the search field always worked, and the DOM spec says onchange only fires
6525         as a precursor to blur.
6527         * ChangeLog:
6528         * html/HTMLInputElement.cpp:
6529         (WebCore::HTMLInputElement::defaultEventHandler):
6531 2006-12-07  Adam Roben  <aroben@apple.com>
6533         Reviewed by Oliver.
6535         Some small context menu-related fixes.
6537         * html/HTMLFrameSetElement.cpp:
6538         (WebCore::HTMLFrameSetElement::defaultEventHandler): Don't try to
6539         resize on a contextmenuEvent.
6540         * html/HTMLInputElement.cpp:
6541         (WebCore::HTMLInputElement::defaultEventHandler): Only pass the event
6542         off to HTMLGenericFormElement if we haven't handled it.
6544 2006-12-07  Anders Carlsson  <acarlsson@apple.com>
6546         Reviewed by Darin.
6548         <rdar://problem/4838778>
6549         Title: DashboardClient crashing in WebCore::SubresourceLoader::didFail
6550         
6551         * loader/SubresourceLoader.cpp:
6552         (WebCore::SubresourceLoader::stopLoading):
6553         * loader/SubresourceLoader.h:
6554         Add stopLoading method which currently just clears the client. This isn't the ideal fix,
6555         since it doesn't actually stop the load.
6556         
6557         * loader/mac/SubresourceLoaderMac.mm:
6558         (WebCore::SubresourceLoader::willSendRequest):
6559         (WebCore::SubresourceLoader::didReceiveResponse):
6560         (WebCore::SubresourceLoader::didReceiveData):
6561         (WebCore::SubresourceLoader::didFinishLoading):
6562         (WebCore::SubresourceLoader::didFail):
6563         (WebCore::SubresourceLoader::didCancel):
6564         Add null-checks.
6565         
6566         * xml/xmlhttprequest.cpp:
6567         (WebCore::XMLHttpRequest::abort):
6568         Call stopLoading.
6570 2006-12-07  Kevin McCullough  <kmccullough@apple.com>
6572         Reviewed by Geof.
6574         - added the ability to set the auto repeating variable to force a keyPressed
6575         event from a keyDown event.
6577         * platform/PlatformKeyboardEvent.h:
6578         (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
6580 2006-12-07  Peter Kasting  <pkasting@google.com>
6582         Reviewed by Darin.
6584         http://bugs.webkit.org/show_bug.cgi?id=11749
6585         Don't call updateThumbProportion() unnecessarily.
6587         * platform/ScrollBar.cpp:
6588         (WebCore::Scrollbar::setProportion):
6590 2006-12-07  Beth Dakin  <bdakin@apple.com>
6592         Reviewed by Brady.
6594         Fixes "Open in new Window" item in WebCore ContextMenus. It wasn't 
6595         doing anything before, and now it works! Also some formatting 
6596         changes, etc.
6598         * page/ContextMenuClient.h: Several of the parameters to several of 
6599         the functions here should be const or const references. And now 
6600         they are!
6601         * page/ContextMenuController.cpp:
6602         (WebCore::openNewWindow): Moved the open new window functionality 
6603         into a helper function since it is used by several menu item tags. 
6604         Now after calling chrome()->createWindow() we call chrome()->show() 
6605         on the new window, and so it appears!
6606         (WebCore::ContextMenuController::contextMenuItemSelected): Call new 
6607         openNewWindow function to do the right thing. Shift some 
6608         formatting, use local variable for HitTestResult. Implement action 
6609         for ContextMenuItemTagOpenLink.
6611 2006-12-06  Kevin McCullough  <KMcCullough@apple.com>
6613         Reviewed by.
6615         - Removed a conflict marker
6617         * ChangeLog:
6619 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
6621         Reviewed by darin
6622         
6623         <rdar://problem/4818134>
6624         Crash in WebCore::selectRange when invoking WebView:insertNewLine in any empty content editable DIV.
6626         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RebalanceWhitespaceCommand.*.
6627         * editing/visible_units.cpp:
6628         (WebCore::startOfLine): There are VisiblePositions at offset 0 in blocks without
6629         RootInlineBoxes, like empty editable blocks and bordered blocks.
6630         (WebCore::endOfLine): Ditto.
6631         
6632 2006-12-06  Kevin McCullough  <KMcCullough@apple.com>
6634         Reviewed by.
6636         - Removed a conflict marker
6638         * ChangeLog:
6640 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
6642         Reviewed by john
6643         
6644         <rdar://problem/4854869>
6645         Inserting a new line in a contenteditable=true SPAN whose parent is a DIV asserts
6647         * editing/htmlediting.cpp:
6648         (WebCore::enclosingBlock): Use enclosingNodeWithType to prevent escape
6649         from editable content.
6650         * editing/markup.cpp:
6651         (WebCore::createMarkup): A null commonAncestorBlock will happen
6652         if commonAncestor is inside an inline editable root that doesn't
6653         contain any blocks.  Removed an early return for this case: the 
6654         code below the early return can and must handle it.
6656 2006-12-06  Timothy Hatcher  <timothy@apple.com>
6658         Reviewed by Mark Rowe.
6660         <rdar://problem/4843505> Fix cross-library ivar use for 64-bit Objective-C
6662         Adds a new WebCore.LP64.exp file that gets appended to the normal export file.
6663         This new file will have 64-bit only symbols we need to export.
6665         * WebCore.LP64.exp: Added.
6666         * WebCore.xcodeproj/project.pbxproj:
6668 2006-12-06  Anders Carlsson  <acarlsson@apple.com>
6670         Reviewed by Maciej.
6671         
6672         Change SubresourceLoader to use a ResourceHandle, and change ResourceHandle to use a NSURLConnection.
6673         
6674         * loader/ResourceLoader.h:
6675         * loader/SubresourceLoader.cpp:
6676         (WebCore::SubresourceLoader::create):
6677         (WebCore::SubresourceLoader::didReceiveData):
6678         (WebCore::SubresourceLoader::didFinishLoading):
6679         (WebCore::SubresourceLoader::didFail):
6680         * loader/SubresourceLoader.h:
6681         (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge):
6682         (WebCore::SubresourceLoader::didCancelAuthenticationChallenge):
6683         (WebCore::SubresourceLoader::willStopBufferingData):
6684         (WebCore::SubresourceLoader::willCacheResponse):
6685         (WebCore::SubresourceLoader::receivedCredential):
6686         (WebCore::SubresourceLoader::receivedRequestToContinueWithoutCredential):
6687         (WebCore::SubresourceLoader::receivedCancellation):
6688         * loader/SubresourceLoaderClient.h:
6689         (WebCore::SubresourceLoaderClient::didFail):
6690         * loader/icon/IconLoader.cpp:
6691         (WebCore::IconLoader::didFail):
6692         * loader/icon/IconLoader.h:
6693         * loader/loader.cpp:
6694         (WebCore::Loader::didFail):
6695         * loader/loader.h:
6696         * loader/mac/ResourceLoaderMac.mm:
6697         (WebCore::ResourceLoader::ResourceLoader):
6698         (WebCore::ResourceLoader::addData):
6699         (WebCore::ResourceLoader::resourceData):
6700         * loader/mac/SubresourceLoaderMac.mm:
6701         (WebCore::SubresourceLoader::SubresourceLoader):
6702         (WebCore::SubresourceLoader::setDefersLoading):
6703         (WebCore::SubresourceLoader::resourceData):
6704         (WebCore::SubresourceLoader::load):
6705         (WebCore::SubresourceLoader::create):
6706         (WebCore::SubresourceLoader::willSendRequest):
6707         (WebCore::SubresourceLoader::didReceiveResponse):
6708         (WebCore::SubresourceLoader::didReceiveData):
6709         (WebCore::SubresourceLoader::didFinishLoading):
6710         (WebCore::SubresourceLoader::didFail):
6711         (WebCore::SubresourceLoader::didCancel):
6712         * platform/network/ResourceHandle.cpp:
6713         (WebCore::ResourceHandle::ResourceHandle):
6714         (WebCore::ResourceHandle::create):
6715         * platform/network/ResourceHandle.h:
6716         * platform/network/ResourceHandleClient.h:
6717         (WebCore::ResourceHandleClient::didReceiveData):
6718         (WebCore::ResourceHandleClient::didFail):
6719         (WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
6720         (WebCore::ResourceHandleClient::didCancelAuthenticationChallenge):
6721         (WebCore::ResourceHandleClient::willStopBufferingData):
6722         (WebCore::ResourceHandleClient::willCacheResponse):
6723         (WebCore::ResourceHandleClient::receivedCredential):
6724         (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential):
6725         (WebCore::ResourceHandleClient::receivedCancellation):
6726         * platform/network/ResourceHandleInternal.h:
6727         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
6728         * platform/network/mac/ResourceHandleMac.mm:
6729         (WebCore::ResourceHandle::~ResourceHandle):
6730         (WebCore::ResourceHandle::start):
6731         (WebCore::ResourceHandle::cancel):
6732         (WebCore::ResourceHandle::setDefersLoading):
6733         (WebCore::ResourceHandle::delegate):
6734         (WebCore::ResourceHandle::releaseDelegate):
6735         (WebCore::ResourceHandle::supportsBufferedData):
6736         (WebCore::ResourceHandle::bufferedData):
6737         (-[WebCoreResourceHandleAsDelegate initWithHandle:]):
6738         (-[WebCoreResourceHandleAsDelegate detachHandle]):
6739         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
6740         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
6741         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
6742         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
6743         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
6744         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
6745         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
6746         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
6747         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
6748         (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]):
6749         (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]):
6750         (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]):
6751         * xml/xmlhttprequest.cpp:
6752         (WebCore::XMLHttpRequest::didFail):
6753         * xml/xmlhttprequest.h:
6755 2006-12-06  Beth Dakin  <bdakin@apple.com>
6757         Reviewed by Adam.
6759         There are two bugs with WebCore ContextMenus due to the static 
6760         ContextMenuItems. One bug is that we often crashed in 
6761         NSAutoreleasePool upon quitting the browser. The other bug is that 
6762         we were adding static NSMenuItems to multiple NSMenus, which is 
6763         disallowed. To fix these bugs, the MenuItems are no longer static. 
6764         This is in line with the current design in WebKit anyway. I made 
6765         some re-arrangements in the code because I also removed the macro 
6766         that was used to create the menu items since it was a bit 
6767         confusing.
6769         * platform/ContextMenu.cpp:
6770         (WebCore::createFontSubMenu):
6771         (WebCore::createSpellingAndGrammarSubMenu):
6772         (WebCore::createSpellingSubMenu):
6773         (WebCore::createSpeechSubMenu):
6774         (WebCore::createWritingDirectionSubMenu):
6775         (WebCore::ContextMenu::populate):
6776         * platform/ContextMenuItem.h:
6777         * platform/mac/ContextMenuItemMac.mm:
6778         (WebCore::ContextMenuItem::ContextMenuItem): Use the NSMenuItem 
6779         global separator item if we have SeparatorType.
6780         * platform/mac/ContextMenuMac.mm:
6781         (WebCore::setMenuItemTarget):  Change name of getNSMenuItem since 
6782         that is no longer accurate.
6783         (WebCore::ContextMenu::appendItem): Above name change.
6784         (WebCore::ContextMenu::insertItem): Same.
6786 2006-12-06  Kevin McCullough  <kmccullough@apple.com>
6788         Reviewed by Geof.
6790         - Returned the semantic meaning of the mask to be the actual repeat count,
6791         and changed auto_repeat to correctly differnetiate between keypressed and keydown.
6793         * platform/win/KeyEventWin.cpp:
6794         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
6796 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
6798         Reviewed by harrison
6799         
6800         <rdar://problem/4753545>
6801         REGRESSION: Edited whitespace sequences are all nbsps (10636)
6803         * WebCore.xcodeproj/project.pbxproj: Removed RebalanceWhitespaceCommand.* from the project.
6804         * editing/CompositeEditCommand.cpp:
6805         (WebCore::isWhitespace): Moved from htmlediting.
6806         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Moved the work that was
6807         once done in its own command here.  
6808         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): Prevents
6809         whitespace around a position from collapsing when it's pushed apart during Paste.
6810         This function can eventually be deployed to eliminate the need for leading/trailing 
6811         whitespace handling in InsertParagraphSeparator, InsertLineBreak, Delete, and BreakBlockquote.
6812         (WebCore::CompositeEditCommand::rebalanceWhitespace): Cleaned up.
6813         * editing/CompositeEditCommand.h:
6814         * editing/DeleteSelectionCommand.cpp:
6815         (WebCore::DeleteSelectionCommand::doApply): Do rebalanceWhitespaceAt *before*
6816         saving the typing style, because whitespace rebalancing is no longer it's own
6817         command that claims to preserve the typing style.
6818         * editing/RebalanceWhitespaceCommand.cpp: Removed.
6819         * editing/RebalanceWhitespaceCommand.h: Removed.
6820         * editing/ReplaceSelectionCommand.cpp:
6821         (WebCore::ReplaceSelectionCommand::doApply): Moved the code to prepare whitespace
6822         arond a position for being pushed aparat to its own method.
6823         * editing/htmlediting.cpp:
6824         (WebCore::stringWithRebalancedWhitespace): Added.  Returns a rebalanced string.
6825         Takes in whether or not the beginning of that string will be at the start of
6826         a paragraph, because a space at such a position must have be nbsp, even if
6827         that doesn't follow the nbsp/space pattern used.  Similar stuff for the end 
6828         of a paragraph.
6829         * editing/htmlediting.h:
6830         * editing/markup.cpp:
6831         (WebCore::fillContainerFromString): Call stringWithRelabacedWhitespace.  Pass 
6832         it the startOfParagraph/endOfParagraph bools.
6834 2006-12-05  John Sullivan  <sullivan@apple.com>
6836         Reviewed by Beth
6838         Moved spelling and grammar code from Frame to Editor
6840         * WebCore.exp:
6841         updated for these changes
6843         * page/Frame.h:
6844         removed declarations of spelling and grammar functions
6846         * bridge/mac/FrameMac.h:
6847         removed declarations of spelling and grammar functions
6849         * bridge/mac/FrameMac.mm:
6850         moved implementation of spelling and grammar functions from here
6851         (WebCore::FrameMac::respondToChangedSelection):
6852         updated for moved functions
6854         * editing/Editor.h:
6855         moved declarations of spelling and grammar functions to here
6857         * editing/mac/EditorMac.mm:
6858         moved implementation of spelling and grammar functions to here; changed
6859         only to make it compile (e.g. removing "editor()->" and adding "frame()->"
6860         where appropraite.
6861         (WebCore::findFirstMisspellingInRange):
6862         (WebCore::paragraphAlignedRangeForRange):
6863         (WebCore::findFirstGrammarDetailInRange):
6864         (WebCore::findFirstBadGrammarInRange):
6865         (WebCore::Editor::advanceToNextMisspelling):
6866         (WebCore::Editor::isSelectionMisspelled):
6867         (WebCore::isRangeUngrammatical):
6868         (WebCore::Editor::isSelectionUngrammatical):
6869         (WebCore::Editor::guessesForUngrammaticalSelection):
6870         (WebCore::core):
6871         (WebCore::Editor::guessesForMisspelledSelection):
6872         (WebCore::Editor::markMisspellingsInAdjacentWords):
6873         (WebCore::markAllMisspellingsInRange):
6874         (WebCore::markAllBadGrammarInRange):
6875         (WebCore::Editor::markMisspellings):
6877         * platform/ContextMenu.cpp:
6878         (WebCore::ContextMenu::populate):
6879         updated for moved functions
6881         * editing/TypingCommand.cpp:
6882         (WebCore::TypingCommand::markMisspellingsAfterTyping):
6883         updated for moved functions
6885 2006-12-05  Anders Carlsson  <acarlsson@apple.com>
6887         Reviewed by Maciej.
6889         General cleanup, get rid of PlatformResponse (we have ResourceResponse now)
6890         and remove a couple of functions that were unused.
6892         * loader/CachedResource.h:
6893         * loader/LoaderFunctions.h:
6894         * loader/mac/LoaderFunctionsMac.mm:
6895         * platform/network/ResourceHandle.h:
6896         * platform/network/ResourceHandleClient.h:
6897         * platform/network/mac/ResourceHandleMac.mm:
6898         (WebCore::ResourceHandle::~ResourceHandle):
6900 2006-12-05  Kevin McCullough  <kmccullough@apple.com>
6902         Reviewed by John.
6904         - keydown is now a keydown event instead of a keypress event.
6905           Fixes some form submission oddities.
6907         * platform/win/KeyEventWin.cpp:
6909 2006-12-05  John Sullivan  <sullivan@apple.com>
6911         Tiger build fix
6913         * editing/mac/EditorMac.mm:
6914         declare -[NSSpellChecker learnWord:], on Tiger only (it's API on Leopard)
6916 2006-12-05  John Sullivan  <sullivan@apple.com>
6918         Reviewed by Geoff Garen
6920         * page/Frame.h:
6921         remove declarations of ignoreSpelling() and learnSpelling()
6923         * bridge/mac/FrameMac.h:
6924         remove declarations of ignoreSpelling() and learnSpelling()
6925         * bridge/mac/FrameMac.mm:
6926         moved implementations of ignoreSpelling() and learnSpelling() from here
6928         * editing/Editor.h:
6929         added declarations of ignoreSpelling() and learnSpelling()
6931         * editing/mac/EditorMac.mm:
6932         (WebCore::Editor::ignoreSpelling):
6933         moved here from FrameMac.mm
6934         (WebCore::Editor::learnSpelling):
6935         ditto
6937         * page/ContextMenuController.cpp:
6938         (WebCore::ContextMenuController::contextMenuItemSelected):
6939         updated callers to use frame()->editor() rather than frame()
6941 2006-12-05  John Sullivan  <sullivan@apple.com>
6943         Reviewed by Adam
6945         New context-menu mechanism fix for:
6946         <rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar
6948         * platform/ContextMenu.cpp:
6949         (WebCore::ContextMenu::populate):
6950         Leave out "No Guesses Found" and separator for grammar-checking case.
6952 2006-12-05  Rob Buis  <buis@kde.org>
6954         Reviewed by Mitz.
6956         http://bugs.webkit.org/show_bug.cgi?id=11686
6957         WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)
6959         Make sure the SVG render objects are laid out before measuring their 
6960         dimensions using relativeBBox.
6962         * ksvg2/svg/SVGLocatable.cpp:
6963         (WebCore::SVGLocatable::getBBox):
6965 2006-12-05  John Sullivan  <sullivan@apple.com>
6967         Reviewed by Darin
6969         Grammar/Spelling code re-homing, baby step one: put isGrammarCheckingEnabled in Editor
6970         since that's where isContinousSpellCheckingEnabled lives.
6972         * editing/Editor.h:
6973         * editing/Editor.cpp:
6974         (WebCore::Editor::isGrammarCheckingEnabled):
6975         new method, calls through to client a la isContinuousSpellCheckingEnabled
6977         * bridge/mac/FrameMac.mm:
6978         (WebCore::FrameMac::advanceToNextMisspelling):
6979         call editor() rather than editor()->client()
6980         (WebCore::FrameMac::markMisspellings):
6981         ditto
6983         * platform/ContextMenu.cpp:
6984         (WebCore::ContextMenu::populate):
6985         ditto
6987 2006-12-05  Darin Adler  <darin@apple.com>
6989         Reviewed by Geoff.
6991         - a little cleanup
6993         * html/HTMLInputElement.h: Removed unneeded includes of RenderObject.h
6994         and RenderStyle.h.
6995         * html/HTMLSelectElement.h: Removed unneeded include of RenderStyle.h.
6996         * ksvg2/svg/SVGStyledElement.h: Removed unneeded include of RenderStyle.h.
6998         * ksvg2/svg/SVGSVGElement.h: Remove unneeded parameter to createSVGPoint.
6999         * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createSVGPoint):
7000         Ditto.
7002         * ksvg2/scripts/generateJSBindings.pl: Removed unused script.
7004 2006-12-05  Darin Adler  <darin@apple.com>
7006         * doc: Removed empty directory. It's not clear this is a good place for
7007         documentation, so lets add it back later if we actually start using it.
7009 2006-12-05  Anders Carlsson  <acarlsson@apple.com>
7011         Reviewed by Brady, Darin.
7013         * loader/loader.cpp:
7014         (WebCore::Loader::receivedAllData):
7015         Remove ref() call that was left around by mistake.
7017 2006-12-05  Sam Weinig  <sam@webkit.org>
7019         Reviewed by Tim H.
7021         Fix for http://bugs.webkit.org/show_bug.cgi?id=11758
7022         Don't compile custom SVG and XSLT bindings in non-svg build
7024         * bindings/js/JSSVGNumber.cpp:
7025         * bindings/js/JSSVGNumber.h:
7026         * bindings/js/JSSVGPoint.cpp:
7027         * bindings/js/JSSVGPoint.h:
7028         * bindings/js/JSSVGRect.cpp:
7029         * bindings/js/JSSVGRect.h:
7030         * bindings/js/JSXSLTProcessor.cpp:
7031         * bindings/js/JSXSLTProcessor.h:
7033 2006-12-04  John Sullivan  <sullivan@apple.com>
7035         Reviewed by Darin
7037         WebCore part of fix for:
7038         <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"
7040         The context menu mechanism is currently in flux; the old mechanism is still in place, but an
7041         up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
7042         test the new mechanism because it doesn't work well enough yet. Also, some of this code 
7043         should move from Frame to Editor, but that will wait for another checkin.
7045         * page/Frame.h:
7046         added pure virtual function declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
7048         * bridge/mac/FrameMac.h:
7049         added virtual functions declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
7051         * bridge/mac/FrameMac.mm:
7052         (WebCore::FrameMac::isSelectionMisspelled):
7053         now updates spelling panel (whether or not it's showing), since this is now needed to make -[NSSSpellChecker
7054         ignoreWord:inSpellDocumentWithTag:] work correctly
7055         (WebCore::isRangeUngrammatical):
7056         new function, helper used by both isSelectionUngrammatical() and guessesForUngrammaticalSelection()
7057         (WebCore::FrameMac::isSelectionUngrammatical):
7058         new function, calls isRangeUngrammatical
7059         (WebCore::FrameMac::guessesForUngrammaticalSelection):
7060         ditto
7062         * platform/ContextMenu.cpp:
7063         (WebCore::ContextMenu::populate):
7064         now considers bad grammar as well as misspellings
7065         
7066         * platform/ContextMenuItem.h:
7067         added ContextMenuItemTagIgnoreGrammar
7068         
7069 2006-12-05  Pam Greene  <pam@chromium.org>
7071         Reviewed, tweaked and landed by Alexey.
7073         <http://bugs.webkit.org/show_bug.cgi?id=11639> Form buttons don't look different when clicked
7075         * rendering/RenderThemeWin.cpp:
7076         (WebCore::RenderThemeWin::determineState): Moved test for active 
7077         state before test for hover state, since active should override hover 
7078         when both are true.
7080         * platform/gdk/RenderThemeGdk.cpp: 
7081         (WebCore::RenderThemeGdk::determineState): Same fix.
7083 2006-12-05  Pam Greene  <pam@chromium.org>
7085         Reviewed and landed by Alexey.
7087         http://bugs.webkit.org/show_bug.cgi?id=11681
7088         Don't select the first option when resetting a listbox-style form 
7089         control (i.e., a multi-select control or one with size > 1) that
7090         has no default selection.
7092         Test: fast/dom/HTMLSelectElement/listbox-select-reset.html
7094         * html/HTMLSelectElement.cpp:
7095         (WebCore::HTMLSelectElement::reset):
7097 2006-12-05  Lars Naesbye Christensen  <lars@naesbye.dk>
7099         Reviewed and landed by Alexey.
7101         http://bugs.webkit.org/show_bug.cgi?id=11752
7102         [CSS 3] missing support for cursor selector 'copy'
7104         * Resources/copyCursor.png: Added.
7105         * WebCore.xcodeproj/project.pbxproj:
7106         * css/CSSComputedStyleDeclaration.cpp:
7107         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7108         * css/CSSValueKeywords.in:
7109         * manual-tests/cursor.html:
7110         * page/EventHandler.cpp:
7111         (WebCore::selectCursor):
7112         * platform/Cursor.h:
7113         * platform/mac/CursorMac.mm:
7114         (WebCore::copyCursor):
7115         * rendering/RenderStyle.h:
7116         (WebCore::):
7118 2006-12-04  Beth Dakin  <bdakin@apple.com>
7120         Reviewed by Geoff.
7122         Fix from last check-in. This line was badbad.
7124         * platform/mac/ContextMenuMac.mm:
7125         (WebCore::ContextMenu::~ContextMenu):
7127 2006-12-04  Beth Dakin  <bdakin@apple.com>
7129         Reviewed by Geoff.
7131         With the new changes to ContextMenuItems, WebCore context menus 
7132         stopped appearing at all. And then when I got them to appear, they 
7133         crashed. This fixes both of these problems.
7135         * platform/mac/ContextMenuItemMac.mm:
7136         (WebCore::ContextMenuItem::ContextMenuItem): keyEquivalent cannot 
7137         be nil. This was causing Obj-C to throw an exception preventing the 
7138         menus from popping up at all. 
7139         * platform/mac/ContextMenuMac.mm:
7140         (+[WebCoreMenuTarget sharedMenuTarget]): Re-name our static 
7141         MenuTarget so that it is more clear that it is a static and shared 
7142         WebCoreMenuTarget.
7143         (WebCore::ContextMenu::ContextMenu): Initialize the 
7144         WebCoreMenuTarget's controller in the ContextMenu constructor 
7145         instead of in getNSMenuItem since the controller will only possibly 
7146         change when a new ContextMenu has been created.
7147         (WebCore::ContextMenu::~ContextMenu): Set the target's controller 
7148         to 0.
7149         (WebCore::getNSMenuItem): A lot of this work is being done other 
7150         places now. Call new class method on WebCoreMenuTarget to get the 
7151         shared target.
7152         (WebCore::ContextMenu::appendItem): We should not be releasing the 
7153         menuItem here! This caused the crashes I saw.
7154         (WebCore::ContextMenu::insertItem): Same.
7156 2006-12-04  Anders Carlsson  <acarlsson@apple.com>
7158         Fix the build.
7159         
7160         * loader/mac/SubresourceLoaderMac.mm:
7161         (WebCore::SubresourceLoader::~SubresourceLoader):
7162         Add back the destructor.
7164 2006-12-04  Anders Carlsson  <acarlsson@apple.com>
7166         Reviewed by Darin.
7167         
7168         Change all ResourceHandleClients to be SubresourceLoaderClients instead. Also,
7169         make SubresourceLoader a ResourceHandleClient. This is a first step towards turning ResourceHandle into a 
7170         standalone class which doesn't need to know about SubresourceLoader.
7172         * WebCore.xcodeproj/project.pbxproj:
7173         * loader/ResourceLoader.cpp:
7174         (WebCore::ResourceLoader::~ResourceLoader):
7175         (WebCore::ResourceLoader::ResourceLoader):
7176         (WebCore::ResourceLoader::setDefersLoading):
7177         * loader/SubresourceLoader.cpp:
7178         (WebCore::SubresourceLoader::SubresourceLoader):
7179         (WebCore::SubresourceLoader::~SubresourceLoader):
7180         (WebCore::SubresourceLoader::create):
7181         (WebCore::SubresourceLoader::willSendRequest):
7182         (WebCore::SubresourceLoader::didReceiveResponse):
7183         (WebCore::SubresourceLoader::didReceiveData):
7184         (WebCore::SubresourceLoader::didFinishLoading):
7185         (WebCore::SubresourceLoader::didFailWithError):
7186         (WebCore::SubresourceLoader::receivedAllData):
7187         * loader/SubresourceLoader.h:
7188         (WebCore::SubresourceLoader::loaderAsResourceHandleClient):
7189         (WebCore::SubresourceLoader::handle):
7190         * loader/SubresourceLoaderClient.h: Added.
7191         (WebCore::SubresourceLoaderClient::~SubresourceLoaderClient):
7192         (WebCore::SubresourceLoaderClient::willSendRequest):
7193         (WebCore::SubresourceLoaderClient::didReceiveResponse):
7194         (WebCore::SubresourceLoaderClient::didReceiveData):
7195         (WebCore::SubresourceLoaderClient::didFinishLoading):
7196         (WebCore::SubresourceLoaderClient::didFailWithError):
7197         (WebCore::SubresourceLoaderClient::receivedAllData):
7198         * loader/icon/IconLoader.cpp:
7199         (WebCore::IconLoader::startLoading):
7200         (WebCore::IconLoader::stopLoading):
7201         (WebCore::IconLoader::didReceiveResponse):
7202         (WebCore::IconLoader::didReceiveData):
7203         (WebCore::IconLoader::didFailWithError):
7204         (WebCore::IconLoader::didFinishLoading):
7205         (WebCore::IconLoader::clearLoadingState):
7206         * loader/icon/IconLoader.h:
7207         * loader/loader.cpp:
7208         (WebCore::Loader::servePendingRequests):
7209         (WebCore::Loader::receivedAllData):
7210         (WebCore::Loader::didFailWithError):
7211         (WebCore::Loader::didReceiveResponse):
7212         (WebCore::Loader::didReceiveData):
7213         (WebCore::Loader::cancelRequests):
7214         * loader/loader.h:
7215         * loader/mac/SubresourceLoaderMac.mm:
7216         (WebCore::SubresourceLoader::SubresourceLoader):
7217         (WebCore::SubresourceLoader::create):
7218         (WebCore::SubresourceLoader::willSendRequest):
7219         (WebCore::SubresourceLoader::didReceiveResponse):
7220         (WebCore::SubresourceLoader::didReceiveData):
7221         (WebCore::SubresourceLoader::didFinishLoading):
7222         (WebCore::SubresourceLoader::didFail):
7223         (WebCore::SubresourceLoader::didCancel):
7224         * platform/network/ResourceHandle.cpp:
7225         (WebCore::ResourceHandle::ResourceHandle):
7226         (WebCore::ResourceHandle::create):
7227         * platform/network/ResourceHandle.h:
7228         * platform/network/ResourceHandleClient.h:
7229         * platform/network/ResourceHandleInternal.h:
7230         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
7231         * platform/network/mac/ResourceHandleMac.mm:
7232         (WebCore::ResourceHandle::start):
7233         (WebCore::ResourceHandle::finishJobAndHandle):
7234         (WebCore::ResourceHandle::loader):
7235         * xml/xmlhttprequest.cpp:
7236         (WebCore::XMLHttpRequest::send):
7237         (WebCore::XMLHttpRequest::didFailWithError):
7238         (WebCore::XMLHttpRequest::didFinishLoading):
7239         (WebCore::XMLHttpRequest::willSendRequest):
7240         (WebCore::XMLHttpRequest::didReceiveResponse):
7241         (WebCore::XMLHttpRequest::didReceiveData):
7242         * xml/xmlhttprequest.h:
7244 2006-12-04  Darin Adler  <darin@apple.com>
7246         Reviewed by Adele.
7248         - fix another part of http://bugs.webkit.org/show_bug.cgi?id=11628
7249           REGRESSION (r17597): Command-return in text fields doesn't open a new tab or window
7251         This fixes command-return when the focus is on a link.
7252         Despite the title of the bug, Mitz wanted me to fix both, and I will not
7253         say no to him!
7255         Test: fast/events/simulated-key-state.html
7257         * dom/EventTargetNode.cpp:
7258         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Instead of always passing
7259         false for all the key state in simulated mouse events, pass the state from the
7260         first underlying event in the chain that has key state; in the case in the bug,
7261         the keyboard event will be the underlying event itself and we'll propagate the
7262         alt key modifier to the mouse event, resulting in the effect we want. It's nice
7263         that JavaScript also gets to see the proper modifiers in the mouse event.
7265         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
7266         Added code to pass in an underlying event to dispatchSimulatedClick. After looking
7267         at all the other callers, this seems to be the only one that needs to pass an
7268         event that is currently passing 0. Also removed the code that only simulated a
7269         click when the event has a PlatformKeyboardEvent -- no reason for that and it
7270         prevented me from writing a layout test for the fix. 
7272         * dom/UIEventWithKeyState.h: Added findEventWithKeyState function that walks the
7273         underlyingEvent chain to find the first event that has key state. This already
7274         existed in WebKit, but I wanted to use it in dispatchSimulatedMouseEvent.
7275         * dom/UIEventWithKeyState.cpp: Added.
7277         * CMakeLists.txt: Added UIEventWithKeyState.cpp.
7278         * WebCore.vcproj/WebCore/WebCore.vcproj: Added UIEventWithKeyState.cpp.
7279         * WebCore.xcodeproj/project.pbxproj: Added UIEventWithKeyState.cpp.
7280         * WebCoreSources.bkl: Added UIEventWithKeyState.cpp.
7282         * WebCore.exp: Added findEventWithKeyState, used by WebKit.
7284 2006-12-04  Kevin McCullough  <KMcCullough@apple.com>
7286         Reviewed by Darin.
7288         - rdar://problem/4833935
7289         - removed the guards for the "multiple forms submission" issue, which may not be
7290           an issue anymore and the guards prevent perfectly legitimate websites from
7291           working correctly.
7293         * bridge/mac/FrameMac.mm:
7294         (WebCore::FrameMac::setView):
7295         * bridge/mac/WebCoreAXObject.mm:
7296         (-[WebCoreAXObject accessibilityPerformAction:]):
7297         * bridge/win/FrameWin.cpp:
7298         (WebCore::FrameWin::keyPress):
7299         * config.h:
7300         * loader/FrameLoader.cpp:
7301         (WebCore::FrameLoader::submitForm):
7302         * loader/FrameLoader.h:
7303         * loader/mac/FrameLoaderMac.mm:
7304         (WebCore::FrameLoader::receivedMainResourceError):
7305         * loader/qt/FrameLoaderQt.cpp:
7306         (WebCore::FrameLoader::submitForm):
7307         * page/Frame.cpp:
7308         (WebCore::Frame::setView):
7309         * page/mac/EventHandlerMac.mm:
7310         (WebCore::EventHandler::keyEvent):
7311         (WebCore::EventHandler::mouseDown):
7312         * platform/qt/FrameQt.cpp:
7313         (WebCore::FrameQt::keyEvent):
7315 2006-12-02  Geoffrey Garen  <ggaren@apple.com>
7317         Reviewed by Darin Adler.
7318         
7319         Added support for Dashboard backward compatibility mode.
7320         
7321         * html/CanvasRenderingContext2D.cpp:
7322         (WebCore::CanvasRenderingContext2D::stroke): Added support for old behavior
7323         of automatically clearing the stroke path buffer after a call to stroke().
7324         * html/HTMLCanvasElement.cpp: Added supoprt for old behavior of the canvas
7325         tag being self-closing.
7326         (WebCore::HTMLCanvasElement::endTagRequirement):
7327         (WebCore::HTMLCanvasElement::tagPriority):
7328         * html/HTMLCanvasElement.h:
7329         * html/HTMLParser.cpp: Ditto.
7330         (WebCore::HTMLParser::canvasCreateErrorCheck):
7331         * xml/xmlhttprequest.cpp: Added support for old behavior of silently ignoring
7332         a call to setRequestHeader() if it preceded a call to open() or followed a call
7333         to send().
7334         (WebCore::XMLHttpRequest::setRequestHeader):
7336 2006-12-04  Darin Adler  <darin@apple.com>
7338         Reviewed by Alice.
7340         * bridge/EditorClient.h: Removed "_web_" prefix from
7341         C++ userVisibleString member function. Alice will probably change
7342         this so it's not on the editor client any more later.
7344         * editing/Editor.h: Removed "_web_" prefix from
7345         C++ userVisibleString member function.
7346         * editing/Editor.cpp: Tweaked formatting a bit. Removed Mac-specific
7347         code from this file.
7349         * editing/mac/EditorMac.mm:
7350         (WebCore::Editor::newGeneralClipboard): Removed unnneded local variable.
7351         (WebCore::Editor::userVisibleString): Moved this function here.
7353         * platform/Pasteboard.h: Added some FIXMEs. Removed unneeded includes.
7354         Made Pasteboard noncopyable. Removed use of "protected" where we should
7355         be using "private". Removed s_generalPasteboard.
7356         * platform/mac/PasteboardMac.mm: Added some FIXMEs. Removed the
7357         s_generalPasteboard global. Removed the unused destructor. Updated call
7358         to userVisibleString for name change. Tweaked formatting.
7360 2006-12-04  Alice Liu  <alice.liu@apple.com>
7362         Reviewed by Oliver.
7364         Moved some constants from EventHandlerMac.mm to EventHandler.cpp
7365         Added some platform-specific data members and functions.
7367         * page/EventHandler.cpp:
7368         * page/EventHandler.h:
7369         * page/mac/EventHandlerMac.mm:
7370         * platform/PlatformMouseEvent.h:
7371         (WebCore::):
7372         (WebCore::PlatformMouseEvent::timestamp):
7373         (WebCore::PlatformMouseEvent::activatedWebView):
7374         (WebCore::PlatformMouseEvent::type):
7376 2006-12-04  Anders Carlsson  <acarlsson@apple.com>
7378         Reviewed by Darin, Geoff.
7380         Get rid of ResourceHandle::kill(), all it did was to balance out a ref() in ResourceHandle::start().
7381         We use RefPtrs to ResourceHandle instead.
7383         * loader/icon/IconLoader.cpp:
7384         (WebCore::IconLoader::~IconLoader):
7385         (WebCore::IconLoader::stopLoading):
7386         (WebCore::IconLoader::didReceiveResponse):
7387         * loader/loader.cpp:
7388         (WebCore::Loader::servePendingRequests):
7389         (WebCore::Loader::cancelRequests):
7390         (WebCore::Loader::jobForRequest):
7391         * loader/loader.h:
7392         * platform/network/ResourceHandle.cpp:
7393         * platform/network/ResourceHandle.h:
7394         * platform/network/mac/ResourceHandleMac.mm:
7395         (WebCore::ResourceHandle::start):
7396         (WebCore::ResourceHandle::finishJobAndHandle):
7397         (WebCore::ResourceHandle::reportError):
7398         * xml/xmlhttprequest.cpp:
7399         (WebCore::XMLHttpRequest::abort):
7400         (WebCore::XMLHttpRequest::didFinishLoading):
7402 2006-12-04  Oliver Hunt  <oliver@apple.com>
7404         Build fix for non-SVG builds
7406         * bindings/js/JSSVGPoint.cpp:
7407         (WebCore::JSSVGPointProtoFunc::callAsFunction):
7409 2006-12-04  Darin Adler  <darin@apple.com>
7411         Reviewed by Beth.
7413         - fix http://bugs.webkit.org/show_bug.cgi?id=11632
7414           AKA <rdar://problem/4858866> REGRESSION (r17770): Overflow areas' scrollbars don't work
7416         No test case added at the moment, but Beth said she'd investigate
7417         adding one after the fact.
7419         * page/mac/EventHandlerMac.mm:
7420         (WebCore::EventHandler::passMousePressEventToScrollbar):
7421         Fix obvious-in-retrospect copy and paste error -- call
7422         passMouseDownEventToWidget instead of passWheelEventToWidget.
7424 2006-12-04  Peter Kasting  <pkasting@google.com>
7426         Reviewed and landed by Alexey.
7428         http://bugs.webkit.org/show_bug.cgi?id=11738:
7429         Make link clicking work again on Windows.
7431         This re-implements a few functions that used to be part of FrameWin in
7432         their new loader-based locations, and copies a few things from the Mac
7433         and Qt event handling code that aren't strictly necessary but are
7434         pretty simple.
7436         * WebCore.vcproj/WebCore/WebCore.vcproj:
7437         * bridge/win/ChromeClientWin.h:
7438         * bridge/win/ContextMenuClientWin.h:
7439         * bridge/win/EditorClientWin.h:
7440         * bridge/win/FrameWin.cpp:
7441         (WebCore::FrameWin::client):
7442         * bridge/win/FrameWin.h:
7443         * loader/win/DocumentLoaderWin.cpp: Added.
7444         (WebCore::DocumentLoader::setTitle):
7445         * loader/win/FrameLoaderClientWin.cpp: Added.
7446         (WebCore::FrameLoaderClientWin::userAgent):
7447         * loader/win/FrameLoaderClientWin.h:
7448         * loader/win/FrameLoaderWin.cpp: Added.
7449         (WebCore::FrameLoader::urlSelected):
7450         (WebCore::FrameLoader::submitForm):
7451         (WebCore::FrameLoader::setTitle):
7452         * page/win/EventHandlerWin.cpp: Added.
7453         (WebCore::EventHandler::passMousePressEventToSubframe):
7454         (WebCore::EventHandler::passMouseMoveEventToSubframe):
7455         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
7456         (WebCore::EventHandler::passWheelEventToSubframe):
7457         (WebCore::EventHandler::passMousePressEventToScrollbar):
7458         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
7459         * platform/win/TemporaryLinkStubs.cpp:
7460         (WebCore::EventHandler::tabsToLinks):
7461         (WebCore::EventHandler::tabsToAllControls):
7462         (WebCore::EventHandler::lastEventIsMouseUp):
7463         (WebCore::EventHandler::passSubframeEventToSubframe):
7464         (WebCore::EventHandler::passMouseDownEventToWidget):
7465         (WebCore::EventHandler::passWheelEventToWidget):
7466         (WebCore::FrameLoader::getHistoryLength):
7467         (WebCore::FrameLoader::historyURL):
7468         (WebCore::FrameLoader::createFrame):
7469         (WebCore::FrameLoaderClientWin::setTitle):
7471 2006-12-04  Peter Kasting  <pkasting@google.com>
7473         Reviewed by Mitz.
7475         http://bugs.webkit.org/show_bug.cgi?id=11748:
7476         Windows build bustage.
7478         * WebCore.vcproj/WebCore/WebCore.vcproj:
7479         * platform/ContextMenuItem.h:
7480         * platform/win/TemporaryLinkStubs.cpp:
7481         (WebCore::ContextMenuItem::ContextMenuItem):
7482         (WebCore::ContextMenuItem::platformDescription):
7483         (WebCore::ContextMenuItem::action):
7484         (WebCore::ContextMenuItem::setAction):
7485         (WebCore::ContextMenuItem::title):
7486         (WebCore::ContextMenuItem::setTitle):
7487         (WebCore::ContextMenuItem::platformSubMenu):
7488         (WebCore::ContextMenuItem::setSubMenu):
7490 2006-12-04  John Sullivan  <sullivan@apple.com>
7492         Reviewed by Anders
7494         Moved EditorMac.mm to its appropriate location
7496         * platform/mac/EditorMac.mm: Removed.
7497         * editing/mac/EditorMac.mm: Added
7499         * WebCore.xcodeproj/project.pbxproj:
7500         updated for this change
7502 2006-12-04  Rob Buis  <buis@kde.org>
7504         Reviewed by dhyatt.
7506         Patch by pmax.
7508         http://bugs.webkit.org/show_bug.cgi?id=3280
7509         With LEGEND element, align=right value is not supported
7510         http://bugs.webkit.org/show_bug.cgi?id=11544
7511         <legend> rendering doesn't take align into account
7513         Allow aligning for legends in both RTL and LTR mode.
7515         * rendering/RenderFieldset.cpp:
7516         (WebCore::RenderFieldset::layoutLegend):
7518 2006-12-03  Mark Rowe  <bdash@webkit.org>
7520         Reviewed by Alexey.
7522         http://bugs.webkit.org/show_bug.cgi?id=11730
7523         Bug 11730: Meta HTTP Refresh that contains a fraction / decimal get ignored.
7525         * dom/Document.cpp:
7526         (WebCore::Document::processHttpEquiv): Parse the refresh interval as a double rather than an integer.
7528 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
7530         Reviewed by Oliver.
7532         Fix following bugs:
7533         http://bugs.webkit.org/show_bug.cgi?id=11734
7534         http://bugs.webkit.org/show_bug.cgi?id=11685
7536         SVGPoint/SVGRect/SVGNumber were missing put() support.
7537         SVGPoint.matrixTransform() was missing.
7539         In SVG DOM there are no cases where a readwrite property
7540         exists of type SVGRect/SVGNumber/SVGPoint. Only function
7541         calls returns instances of these objects. It would make
7542         no sense to be able to write "someObj.getBbox().x = 100", and
7543         modify the actual stored internal value of "someObj".
7545         The only cases where these modification makes sense, is
7546         when these SVGPoint/SVGRect/SVGNumber objects are created
7547         via document.rootElement.createSVGPoint/Rect/Number (SVGSVGElement interface).
7549         Result: The current implementation, where we just modify the stored FloatPoint/FloatRect/double
7550         values in the JSSVGPoint/Rect/Number wrappers directly, is sufficient.
7552         Patch created by Rob & me - co production.
7553         Long live the great carto.next examples! :-)
7555         * CMakeLists.txt:
7556         * DerivedSources.make:
7557         * bindings/js/JSSVGNumber.cpp:
7558         (WebCore::):
7559         (WebCore::JSSVGNumber::getOwnPropertySlot):
7560         (WebCore::JSSVGNumber::getValueProperty):
7561         (WebCore::JSSVGNumber::put):
7562         (WebCore::JSSVGNumber::putValueProperty):
7563         * bindings/js/JSSVGNumber.h:
7564         (WebCore::JSSVGNumber::):
7565         (WebCore::JSSVGNumber::impl):
7566         * bindings/js/JSSVGPoint.cpp:
7567         (WebCore::JSSVGPoint::JSSVGPoint):
7568         (WebCore::JSSVGPoint::put):
7569         (WebCore::JSSVGPoint::putValueProperty):
7570         (WebCore::JSSVGPointProtoFunc::callAsFunction):
7571         * bindings/js/JSSVGPoint.h:
7572         (WebCore::JSSVGPoint::):
7573         * bindings/js/JSSVGRect.cpp:
7574         (WebCore::JSSVGRect::put):
7575         (WebCore::JSSVGRect::putValueProperty):
7576         * bindings/js/JSSVGRect.h:
7577         * bindings/objc/DOMSVGPoint.mm:
7578         (-[DOMSVGPoint matrixTransform:]):
7579         * platform/graphics/FloatPoint.cpp:
7580         (WebCore::FloatPoint::matrixTransform):
7581         * platform/graphics/FloatPoint.h:
7583 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
7585         Reviewed by Dave.
7587         Another missing piece in the platform/graphics move.
7589         * WebCore.xcodeproj/project.pbxproj:
7590         * platform/ImageAnimationObserver.h: Moved to platform/graphics.
7592 2006-12-03  Rob Buis  <buis@kde.org>
7594         Reviewed by Oliver.
7596         http://bugs.webkit.org/show_bug.cgi?id=11667
7597         SVG: method .getTransformToElement(elt) in SVGLocatable not implemented
7599         Implement getTransformToElement functionality. Introduce virtual
7600         baseclass SVGLocatable to allow one implementation of the functionality.
7601         Finally cleanup some code.
7603         * ksvg2/svg/SVGLocatable.cpp:
7604         (WebCore::SVGLocatable::getTransformToElement):
7605         * ksvg2/svg/SVGLocatable.h:
7606         * ksvg2/svg/SVGStyledLocatableElement.cpp:
7607         (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
7608         (WebCore::SVGStyledLocatableElement::nearestViewportElement):
7609         (WebCore::SVGStyledLocatableElement::farthestViewportElement):
7610         (WebCore::SVGStyledLocatableElement::getCTM):
7611         (WebCore::SVGStyledLocatableElement::getScreenCTM):
7612         * ksvg2/svg/SVGStyledLocatableElement.h:
7613         * ksvg2/svg/SVGStyledTransformableElement.cpp:
7614         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
7615         (WebCore::SVGStyledTransformableElement::localMatrix):
7616         (WebCore::SVGStyledTransformableElement::getCTM):
7617         (WebCore::SVGStyledTransformableElement::getScreenCTM):
7618         (WebCore::SVGStyledTransformableElement::updateLocalTransform):
7619         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
7620         (WebCore::SVGStyledTransformableElement::nearestViewportElement):
7621         (WebCore::SVGStyledTransformableElement::farthestViewportElement):
7622         * ksvg2/svg/SVGStyledTransformableElement.h:
7623         * ksvg2/svg/SVGTextElement.h:
7624         * ksvg2/svg/SVGTransformable.h:
7626 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
7628         Reviewed by Rob.
7630         Move some files around, which have been forgotton in the platform/graphics move.
7632         * CMakeLists.txt:
7633         * WebCore.xcodeproj/project.pbxproj:
7634         * platform/mac/GraphicsContextMac.mm: Moved to platform/graphics/mac.
7635         * platform/qt/GraphicsContextQt.cpp: Moved to platform/grahpics/qt.
7637 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
7639         Reviewed by Mitz.
7641         Fix non-svg build.
7643         * platform/graphics/GraphicsContext.h:
7644         * platform/mac/GraphicsContextMac.mm:
7646 2006-12-02  John Sullivan  <sullivan@apple.com>
7648         Reviewed by Tim Omernick
7650         Removed a couple of big chunks of duplicated code from the spelling and grammar stuff by merging
7651         the find-next-instance functions with the mark-all-instances functions.
7653         * bridge/mac/FrameMac.mm:
7654         (WebCore::findFirstMisspellingInRange):
7655         added markAll parameter, and reworked loop so that if markAll parameter is true, this function loops
7656         through the entire range and marks each misspelling
7657         (WebCore::findFirstGrammarDetailInRange):
7658         extracted from findFirstBadGrammarInRange; loops through the potentially-multiple details in a given
7659         ungrammatical phrase (e.g., multiple grammar errors in one sentence). Has a markAll parameter akin
7660         to the one in findFirstMisspellingInRange.
7661         (WebCore::findFirstBadGrammarInRange):
7662         added markAll parameter like the one in findFirstMisspellingInRange, and extracted findFirstGrammarDetailInRange
7663         (WebCore::FrameMac::advanceToNextMisspelling):
7664         pass "false" for new markAll parameters
7665         (WebCore::markAllMisspellingsInRange):
7666         now just calls findFirstMisspellingInRange with markAll = true, thus removing a big hunk of duplicated code
7667         (WebCore::markAllBadGrammarInRange):
7668         now just calls findFirstBadGrammarInRange with markAll = true, thus removing a big hunk of duplicated code
7670 2006-12-02  Mitz Pettel  <mitz@webkit.org>
7672         Reviewed by Hyatt.
7674         - fix http://bugs.webkit.org/show_bug.cgi?id=11672
7675           REGRESSION (r17068): Repro crash due to painting without layout
7677         Test: fast/dynamic/containing-block-change.html
7679         * rendering/RenderObject.cpp:
7680         (WebCore::RenderObject::setStyle): Changed the logic used
7681         to find absolutely positioned descendant's current containing block to
7682         match the changes made to containingBlock() in the fix for bug 9347.
7684 2006-12-02  Darin Fisher  <darin@chromium.org>
7686         Reviewed by Darin.
7688         http://bugs.webkit.org/show_bug.cgi?id=11709
7689         DeprecatedString::format is broken on Windows
7691         Use _vscprintf on Windows to compute the length of the buffer that
7692         vsnprintf would need.
7694         * platform/DeprecatedString.cpp:
7695         (WebCore::DeprecatedString::format):
7696         * platform/String.cpp:
7697         (WebCore::String::format):
7699 2006-12-01  Beth Dakin  <bdakin@apple.com>
7701         Reviewed by Adam.
7703         Support for sub-menus in WebCore context menus. This also re-
7704         architects the ContextMenuItem class so that it is more like
7705         ContextMenu in that the class is now really just a wrapper for the
7706         platformDescription
7708         * WebCore.exp:
7709         * WebCore.xcodeproj/project.pbxproj:
7710         * page/ContextMenuController.cpp:
7711         (WebCore::ContextMenuController::contextMenuItemSelected): Add
7712         place-holders for new tags for the sub-menu items. I will flesh
7713         these out in a separate check-in.
7714         * platform/ContextMenu.cpp:
7715         (WebCore::createFontSubMenu):
7716         (WebCore::createSpellingAndGrammarSubMenu):
7717         (WebCore::createSpellingSubMenu):
7718         (WebCore::createSpeechSubMenu):
7719         (WebCore::createWritingDirectionSubMenu):
7720         (WebCore::ContextMenu::populate): Call the above functions to add
7721         the appropriate sub-menus to editing context menus.
7722         * platform/ContextMenu.h:
7723         * platform/ContextMenuItem.h:
7724         (WebCore::): New tags in the ContextMenuAction enumeration.
7725         (WebCore::ContextMenuItem::parentMenu):
7726         (WebCore::ContextMenuItem::setType):
7727         * platform/PlatformMenuDescription.h: Added. This defines
7728         PlatformMenuDesciption. It needs to be its own header because we
7729        have to include it from ContextMenu.h and ContextMenuItem.h
7730         * platform/mac/ContextMenuItemMac.mm: Lots of adjustments here to
7731         make this class basically just be a wrapper for NSMenuItem.
7732         (WebCore::ContextMenuItem::ContextMenuItem):
7733         (WebCore::ContextMenuItem::~ContextMenuItem):
7734         (WebCore::ContextMenuItem::platformDescription):
7735         (WebCore::ContextMenuItem::action):
7736         (WebCore::ContextMenuItem::title):
7737         (WebCore::ContextMenuItem::platformSubMenu):
7738         (WebCore::ContextMenuItem::setAction):
7739         (WebCore::ContextMenuItem::setTitle):
7740         (WebCore::ContextMenuItem::setSubMenu):
7741         * platform/mac/ContextMenuMac.mm:
7742         (WebCore::ContextMenu::ContextMenu):
7743         (WebCore::getNSMenuItem): Now we only have to get the
7744         platformDescription of the ContextMenuItem and then set its target
7745         and action.
7746         (WebCore::ContextMenu::itemCount):
7748 2006-12-01  Kevin McCullough  <KMcCullough@apple.com>
7750         Reviewed by .
7752         - accidentally checked in with previous checkin
7754         * platform/qt/FrameQt.cpp:
7755         (WebCore::FrameQt::keyEvent):
7757 2006-12-01  Kevin McCullough  <KMcCullough@apple.com>
7759         Reviewed by Adam.
7761         - better solution to the ambiguous reference
7763         * platform/Widget.h:
7764         (WebCore::Widget::handleMouseMoveEvent):
7765         (WebCore::Widget::handleMouseReleaseEvent):
7766         * platform/qt/FrameQt.cpp:
7767         (WebCore::FrameQt::keyEvent):
7768         * platform/win/PlatformScrollBar.h:
7769         * platform/win/TemporaryLinkStubs.cpp:
7770         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
7771         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
7773 2006-12-01  Justin Garcia  <justin.garcia@apple.com>
7775         Reviewed by john
7776         
7777         <rdar://problem/4826940>
7778         Selection change performed even when delete delegate replies NO (11415)
7780         No layout test for the bug fix, because there's no way to register a custom
7781         editing delegate from a layout test.  Layout tests are effected by the change
7782         to avoid sending unnecessary shouldChangeSelections, however. 
7784         * editing/Editor.cpp:
7785         (WebCore::Editor::appliedEditing): Don't bother sending shouldChangeSelection
7786         if the editing operation didn't change the selection.  Still call
7787         setSelection though, because it does work in this case that's necessary,
7788         like clearing the typing style.
7789         (WebCore::Editor::unappliedEditing): Ditto.
7790         (WebCore::Editor::reappliedEditing): Ditto.
7791         * editing/TypingCommand.cpp:
7792         (WebCore::TypingCommand::deleteKeyPressed): Don't set the starting
7793         selection if the editing delegate returns NO from shouldDeleteRange.
7794         Notice we now call setStartingSelection in the case where
7795         the current selection was a range selection.  This is fine because
7796         it's a no-op (the starting selection is already the current selection).
7797         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
7799 2006-12-01  John Sullivan  <sullivan@apple.com>
7801         Reviewed by Darin
7802         
7803         Move subrange helper function from spellchecking code to TextIterator
7805         * editing/TextIterator.h:
7806         added TextIterator::subrange
7807         * editing/TextIterator.cpp:
7808         (WebCore::CharacterIterator::advance):
7809         early return if count is <= 0; assert that it's not < 0
7810         (WebCore::TextIterator::subrange):
7811         new function, moved from FrameMac.mmm
7813         * bridge/mac/FrameMac.mm:
7814         moved subrange() function to TextIterator
7815         (WebCore::FrameMac::advanceToNextMisspelling):
7816         use TextIterator::subrange
7817         (WebCore::markAllMisspellingsInRange):
7818         ditto
7819         (WebCore::markAllBadGrammarInRange):
7820         ditto
7822 2006-12-01  Darin Adler  <darin@apple.com>
7824         Reviewed by Mitz.
7826         - fix http://bugs.webkit.org/show_bug.cgi?id=11628
7827           REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window
7829         I couldn't think of an easy way to make a regression test for this, but maybe
7830         I'll get an idea later about how to do it.
7832         The main thing I did was add a concept of a DOM event having an "underlying event".
7833         That allows the DOM activate event to contain inside it the original keyboard event
7834         that triggered the form submission, and thus allows WebKit to see the modifier keys
7835         from that original event. The code that uses the underlying event is in WebKit, but
7836         the code to set it up is here in WebCore.
7838         - also do some clean-up to related event handling code
7840         * bindings/js/kjs_events.cpp: (KJS::DOMEvent::getValueProperty): Updated for the
7841         name change of cancelBubble.
7843         * dom/Event.h: Removed a useless comment. Fixed some whitespace and formatting.
7844         Renamed getCancelBubble to cancelBubble to match the DOM -- I suspect the old
7845         name predated the use of the m_ prefix on data members. Added the underlying event,
7846         and a getter and setter.
7847         * dom/Event.cpp:
7848         (WebCore::Event::setTarget): Updated to take a PassRefPtr.
7849         (WebCore::Event::setUnderlyingEvent): Added.
7851         * dom/EventTargetNode.h: Added an optional underlyingEvent parameter to
7852         dispatchUIEvent, one of the overloads of dispatchMouseEvent, and
7853         dispatchSimulatedMouseEvent. Added a new dispatchSimulatedClick function here that
7854         mostly replaces the click function in HTMLElement.
7855         * dom/EventTargetNode.cpp:
7856         (WebCore::EventTargetNode::dispatchGenericEvent): Updated for the name change
7857         of cancelBubble.
7858         (WebCore::EventTargetNode::dispatchUIEvent): Added an underlying event parameter,
7859         which gets attached to the UIEvent object after it's created.
7860         (WebCore::EventTargetNode::dispatchMouseEvent): Tweaked formatting and parameter
7861         name for the version that creates a mouse event for a real platform mouse event.
7862         Added an underlying event parameter to the main version, and attached it to all
7863         three of the events that can be dispatched.
7864         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Added an underlying
7865         event parameter, passed it along to dispatchMouseEvent.
7866         (WebCore::EventTargetNode::dispatchSimulatedClick): Moved this here from HTMLElement
7867         and renamed it from click. Added an underlyingEvent parameter, and passed that along
7868         in all three of the calls to dispatchSimulatedMouseEvent.
7870         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::shouldClose): Updated call to
7871         setTarget that no longer needs a get().
7872         * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
7874         * html/HTMLAnchorElement.cpp:
7875         (WebCore::HTMLAnchorElement::defaultEventHandler): Converted a call to click
7876         to a call to dispatchSimulatedClick.
7877         (WebCore::HTMLAnchorElement::accessKeyAction): Ditto.
7878         * html/HTMLButtonElement.cpp:
7879         (WebCore::HTMLButtonElement::accessKeyAction): Ditto.
7880         * html/HTMLElement.h: Removed the parameters to click and made it non-virtual.
7881         We could move it down to the input and button elements, now that it's just
7882         a single function call, but it's also OK to just leave it here.
7883         * html/HTMLElement.cpp:
7884         (WebCore::HTMLElement::click): Removed the parameters and changed this to just
7885         call dispatchSimulatedClick. The real work is now in dispatchSimulatedClick.
7886         (WebCore::HTMLElement::accessKeyAction): Converted a call to click to a call to
7887         dispatchSimulatedClick.
7888         * html/HTMLFormElement.cpp:
7889         (WebCore::HTMLFormElement::submitClick): Ditto. But unlike accessKeyAction callers,
7890         pass the event along as the underlying event.
7891         * html/HTMLInputElement.h:
7892         * html/HTMLInputElement.cpp: Removed override of virtual click function. The
7893         special cases for the file control and hidden input elements aren't needed.
7894         (WebCore::HTMLInputElement::accessKeyAction): Converted a call to click to a call to
7895         dispatchSimulatedClick.
7896         (WebCore::HTMLInputElement::defaultEventHandler): Converted calls to click to calls to
7897         dispatchSimulatedClick, passing along the event as the underlying event.
7898         * html/HTMLLabelElement.cpp:
7899         (WebCore::HTMLLabelElement::defaultEventHandler): Converted a call to click to a call
7900         to dispatchSimulatedClick, passing the event along as the underlying event. Also
7901         changed the local variable for the element to a RefPtr since the code assumes it's
7902         still around after calling arbitrary JavaScript code.
7903         * html/HTMLSelectElement.cpp:
7904         (WebCore::HTMLSelectElement::accessKeyAction): Converted a call to click to a call to
7905         dispatchSimulatedClick.
7907         * rendering/RenderFileUploadControl.h:
7908         * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::click):
7909         Removed unneeded ignored parameter to the click function, and also made it non-virtual.
7911         * loader/NavigationAction.h: Removed unneeded includes.
7912         * loader/NavigationAction.cpp: Moved all the code here from NavigationActionMac.mm,
7913         since none of it is Mac-specific any more.
7914         * loader/mac/NavigationActionMac.mm: Removed.
7915         * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
7917         * ksvg2/svg/SVGAElement.cpp: Removed an unnecessary include.
7919         * loader/FrameLoader.cpp: Added a newly-needed incluude.
7920         * loader/mac/DocumentLoaderMac.mm: Ditto.
7921         * loader/mac/FrameLoaderMac.mm: Ditto.
7922         * rendering/RenderWidget.cpp: Ditto.
7924 2006-12-01  John Sullivan  <sullivan@apple.com>
7926         Reviewed by Darin
7928         - fixed <rdar://problem/4811175> Many false reports of bad grammar appear, caused by 
7929           insufficient context passed to grammar checker
7931         * bridge/mac/FrameMac.mm:
7932         (WebCore::markAllMisspellingsInRange):
7933         new function, extracted from markMisspellings -- ignores grammar
7934         (WebCore::markAllBadGrammarInRange):
7935         new function, extracted from markMisspellings -- ignores spelling, and operates on
7936         appropriately-sized chunks of text
7937         (WebCore::FrameMac::markMisspellings):
7938         now calls markAllMisspellingsInRange and (optionally) markAllBadGrammarInRange rather
7939         than trying to interweave the spelling and grammar logic
7941 2006-12-01  John Sullivan  <sullivan@apple.com>
7943         Reviewed by Darin
7945         With these changes, grammar checking works correctly for the one-by-one case.
7946         It still doesn't work correctly for the check-as-you-type case; I need to make these
7947         same kinds of changes in markMisspellings, and refactor to share more code between
7948         the two cases, but I wanted to get this working code in before modifying it further.
7950         The major change here is that advanceToNextMisspelling used to look at small chunks of
7951         text at a time, checking each one for both misspellings and questionable grammar. But
7952         grammar checking needs at least paragraph-sized chunks of text to have enough context
7953         to work correctly, so the old mechanism was causing many spurious complaints of bad
7954         grammar (e.g., almost every word seemed to be at the start of a sentence so the checker
7955         would complain about missing capitalization). So now the spell checker runs in the
7956         specified range first. Then the grammar checker runs on the same range (stopping at the
7957         next misspelling, if any), but expanded to paragraph-aligned boundaries.
7959         * bridge/mac/FrameMac.mm:
7960         (WebCore::findFirstMisspellingInRange):
7961         new function, extracted from advanceToNextMisspelling, and ignores grammar
7962         (WebCore::paragraphAlignedRangeForRange):
7963         new function, used by findNextBadGrammarInRange
7964         (WebCore::findFirstBadGrammarInRange):
7965         new function, extracted from advanceToNextMisspelling, and rewritten to use paragraph-aligned
7966         chunks, and ignores spelling
7967         (WebCore::subrange):
7968         new helper function, used by advanceToNextMisspelling
7969         (WebCore::FrameMac::advanceToNextMisspelling):
7970         now calls out to both findFirstMisspellingInRange and findFirstBadGrammarInRange separately
7971         instead of trying to interweave the spelling and grammar logic
7973 2006-12-01  Peter Kasting  <pkasting@google.com>
7975         Reviewed by Mitz.
7977         http://bugs.webkit.org/show_bug.cgi?id=11732:
7978         Windows build bustage.
7980         * WebCore.vcproj/WebCore/WebCore.vcproj:
7981         * bridge/win/ChromeClientWin.h:
7982         * bridge/win/ContextMenuClientWin.h:
7983         * bridge/win/EditorClientWin.h:
7984         * bridge/win/FrameWin.cpp:
7985         (WebCore::FrameWin::FrameWin):
7986         (WebCore::FrameWin::keyPress):
7987         * bridge/win/FrameWin.h:
7988         * loader/win/FrameLoaderClientWin.h:
7989         * platform/ContextMenu.h:
7990         * platform/Widget.h:
7991         * platform/win/PlatformScrollBar.h:
7992         * platform/win/TemporaryLinkStubs.cpp:
7993         (WebCore::ChromeClientWin::chromeDestroyed):
7994         (WebCore::ChromeClientWin::addMessageToConsole):
7995         (WebCore::ContextMenu::ContextMenu):
7996         (WebCore::ContextMenu::~ContextMenu):
7997         (WebCore::ContextMenu::appendItem):
7998         (WebCore::ContextMenuClientWin::contextMenuDestroyed):
7999         (WebCore::ContextMenuClientWin::contextMenuItemSelected):
8000         (WebCore::ContextMenuItem::~ContextMenuItem):
8001         (WebCore::Editor::newGeneralClipboard):
8002         (WebCore::EditorClientWin::pageDestroyed):
8003         (WebCore::EditorClientWin::smartInsertDeleteEnabled):
8004         (WebCore::EditorClientWin::shouldInsertNode):
8005         (WebCore::FrameLoader::createPlugin):
8006         (WebCore::FrameLoaderClientWin::frameLoaderDestroyed):
8007         (WebCore::FrameLoaderClientWin::hasWebView):
8008         (WebCore::FrameLoaderClientWin::canHandleRequest):
8009         (WebCore::FrameWin::unfocusWindow):
8010         (WebCore::FrameWin::bindingRootObject):
8011         (WebCore::FrameWin::issueCopyCommand):
8012         (WebCore::FrameWin::markMisspellings):
8013         (WebCore::FrameWin::issueTransposeCommand):
8014         (WebCore::FrameWin::markedTextRange):
8015         (WebCore::FrameWin::respondToChangedSelection):
8016         (WebCore::FrameWin::markMisspellingsInAdjacentWords):
8017         (WebCore::FrameWin::isSelectionMisspelled):
8018         (WebCore::FrameWin::guessesForMisspelledSelection):
8019         (WebCore::Pasteboard::generalPasteboard):
8020         (WebCore::Pasteboard::writeSelection):
8021         (WebCore::Pasteboard::clearTypes):
8022         (WebCore::Pasteboard::canSmartReplace):
8023         (WebCore::Pasteboard::documentFragment):
8024         (WebCore::Pasteboard::plainText):
8025         (WebCore::Pasteboard::Pasteboard):
8026         (WebCore::Pasteboard::~Pasteboard):
8027         (WebCore::Pasteboard::registerSelectionPasteboardTypes):
8028         (WebCore::Pasteboard::replaceNBSP):
8029         (WebCore::Pasteboard::createHandle):
8030         (WebCore::Pasteboard::createCF_HTMLFromRange):
8032 2006-11-30  Geoffrey Garen  <ggaren@apple.com>
8034         Rubber Stamped by Anders Carlsson.
8036         Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
8037         suggested a command, and conflicted with a different meaning for 'focusNode'
8038         in the Mozilla selection API.
8040 2006-11-30  John Sullivan  <sullivan@apple.com>
8042         Reviewed by Justin
8044         With Darin, fixed a problem in the Range constructors found while implementing grammar checking.
8045         That revealed another problem in the layout tests involving bad parameters passed to the Range
8046         constructors.
8047         
8048         With these fixes in place, one layout test (editing/execCommand/create-list-from-range-selection.html)
8049         no longer works as intended. This is apparently due to yet another bug being flushed out somewhere.
8050         I'm going to update the results for that test and file a separate radar about it, which Justin will
8051         investigate.
8053         * dom/Position.h:
8054         removed equivalentRangeCompliantPosition(), which was declared but not implemented or called.
8055         
8056         * dom/Range.cpp:
8057         (WebCore::Range::Range):
8058         Call setStart and setEnd in the two Range constructors that take parameters, rather than just 
8059         directly setting the instance variables. This makes Range perform the boundary checks and
8060         compensations that the DOM spec requires.
8061         
8062         * editing/CompositeEditCommand.cpp:
8063         (WebCore::CompositeEditCommand::moveParagraphs):
8064         Use rangeCompliantEquivalent() on "editing-style" Positions before creating Ranges from them.
8065         
8066         * editing/TextIterator.cpp:
8067         (WebCore::TextIterator::TextIterator):
8068         Assert that the boundary points of the range are valid.
8070 2006-11-30  Lou Amadio  <lamadio@apple.com>
8072         Reviewed by Dave Hyatt
8073         Cleaned up generated files.
8075         * html/HTMLElement.cpp:
8076         (WebCore::HTMLElement::isRecognizedTagName):
8077                 Uses the new method for retrieving the list of supported tags
8078         * ksvg2/scripts/make_names.pl:
8079                 Generates tag lists without using macros.
8081 2006-11-30  Adam Roben  <aroben@apple.com>
8083         Reviewed by Beth.
8085         Store ContextMenu's NSMutableArray inside a RetainPtr so that we
8086         will retain/release it correctly.
8088         * WebCore.exp:
8089         * platform/ContextMenu.cpp:
8090         (WebCore::ContextMenu::populate): Added a FIXME.
8091         * platform/ContextMenu.h:
8092         * platform/mac/ContextMenuMac.mm: 
8093         (WebCore::ContextMenu::ContextMenu):
8094         (WebCore::ContextMenu::~ContextMenu):
8095         (WebCore::getNSMenuItem):
8096         (WebCore::ContextMenu::appendItem):
8097         (WebCore::ContextMenu::itemCount):
8098         (WebCore::ContextMenu::insertItem):
8099         (WebCore::ContextMenu::setPlatformDescription):
8100         (WebCore::ContextMenu::platformDescription):
8102 2006-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
8104         Reviewed by Eric. Rubber stamped by Oliver.
8106         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383
8107      
8108         This is the final patch after the long "die kcanvas" journey.
8110         All old kcanvas code is gone now, and properly integrated within
8111         WebCore (stuff like GraphicsContext changes etc.). It shares
8112         the platform/ design concept: no subclassing, but instead
8113         implementing parts of the classes/methods per-platform.
8115         This commit removes the last pieces: KRenderingDevice & KRenderingDeviceContext.
8116         This layer was just obsolete, given the powerful GraphicsContext API we have
8117         since quite a while now. All the ugly pushContext/popContext stuff is gone now.
8119         LayoutTests affected: svg/W3C-SVG-1.1/pservers-grad-11-b.svg
8120         Radial gradients as fill color for texts, work again!
8121         Though "Gradient on text stroke" remains broken. Funny thing:
8122         With this patch, if you "select" the text using the mouse, as
8123         soon as the selection rectangle is drawn, you see the correct
8124         gradient on stroke rendering - at least a hint where it breaks!
8126         All svg layout tests have subtle text rendering changes - with and without this
8127         patch, it seems it was forgotton to update svg pixel test baseline, a while ago.
8129         * CMakeLists.txt:
8130         * WebCore.xcodeproj/project.pbxproj:
8131         * kcanvas/device/KRenderingDevice.cpp: Removed.
8132         * kcanvas/device/KRenderingDevice.h: Removed.
8133         * kcanvas/device/qt/KRenderingDeviceQt.cpp: Removed.
8134         * kcanvas/device/qt/KRenderingDeviceQt.h: Removed.
8135         * kcanvas/device/qt/RenderPathQt.cpp: Moved to platform/graphics/qt
8136         * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Moved to platform/graphics/svg/cg/RenderPathCg.cpp
8137         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Removed.
8138         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: Removed.
8139         * kcanvas/device/quartz/QuartzSupport.cpp: Moved to platform/graphics/svg/cg/CgSupport.cpp
8140         * kcanvas/device/quartz/QuartzSupport.h: Moved to platform/graphics/svg/cg/CgSupport.h
8141         * ksvg2/misc/KCanvasRenderingStyle.cpp:
8142         (WebCore::sharedSolidPaintServer):
8143         * ksvg2/misc/KCanvasRenderingStyle.h:
8144         * ksvg2/svg/SVGAElement.cpp:
8145         * ksvg2/svg/SVGClipPathElement.cpp:
8146         * ksvg2/svg/SVGFEBlendElement.cpp:
8147         (WebCore::SVGFEBlendElement::filterEffect):
8148         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
8149         (WebCore::SVGFEColorMatrixElement::filterEffect):
8150         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
8151         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
8152         (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
8153         (WebCore::SVGFEComponentTransferElement::filterEffect):
8154         * ksvg2/svg/SVGFECompositeElement.cpp:
8155         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
8156         (WebCore::SVGFECompositeElement::filterEffect):
8157         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
8158         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
8159         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
8160         (WebCore::SVGFEDiffuseLightingElement::updateLights):
8161         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
8162         (WebCore::SVGFEDisplacementMapElement::filterEffect):
8163         * ksvg2/svg/SVGFEDistantLightElement.cpp:
8164         (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
8165         (WebCore::SVGFEDistantLightElement::lightSource):
8166         * ksvg2/svg/SVGFEFloodElement.cpp:
8167         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
8168         (WebCore::SVGFEFloodElement::parseMappedAttribute):
8169         (WebCore::SVGFEFloodElement::filterEffect):
8170         * ksvg2/svg/SVGFEFuncAElement.cpp:
8171         * ksvg2/svg/SVGFEFuncBElement.cpp:
8172         * ksvg2/svg/SVGFEFuncGElement.cpp:
8173         (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
8174         * ksvg2/svg/SVGFEFuncRElement.cpp:
8175         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
8176         (WebCore::SVGFEGaussianBlurElement::filterEffect):
8177         * ksvg2/svg/SVGFEImageElement.cpp:
8178         (WebCore::SVGFEImageElement::SVGFEImageElement):
8179         (WebCore::SVGFEImageElement::parseMappedAttribute):
8180         (WebCore::SVGFEImageElement::notifyFinished):
8181         (WebCore::SVGFEImageElement::filterEffect):
8182         * ksvg2/svg/SVGFELightElement.cpp:
8183         * ksvg2/svg/SVGFEMergeElement.cpp:
8184         (WebCore::SVGFEMergeElement::filterEffect):
8185         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
8186         * ksvg2/svg/SVGFEOffsetElement.cpp:
8187         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
8188         (WebCore::SVGFEOffsetElement::parseMappedAttribute):
8189         (WebCore::SVGFEOffsetElement::filterEffect):
8190         * ksvg2/svg/SVGFEPointLightElement.cpp:
8191         (WebCore::SVGFEPointLightElement::lightSource):
8192         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
8193         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
8194         (WebCore::SVGFESpecularLightingElement::filterEffect):
8195         (WebCore::SVGFESpecularLightingElement::updateLights):
8196         * ksvg2/svg/SVGFESpotLightElement.cpp:
8197         (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
8198         (WebCore::SVGFESpotLightElement::lightSource):
8199         * ksvg2/svg/SVGFETileElement.cpp:
8200         (WebCore::SVGFETileElement::SVGFETileElement):
8201         (WebCore::SVGFETileElement::parseMappedAttribute):
8202         (WebCore::SVGFETileElement::filterEffect):
8203         * ksvg2/svg/SVGFETurbulenceElement.cpp:
8204         (WebCore::SVGFETurbulenceElement::filterEffect):
8205         * ksvg2/svg/SVGFilterElement.cpp:
8206         (WebCore::SVGFilterElement::canvasResource):
8207         * ksvg2/svg/SVGGradientElement.cpp:
8208         (WebCore::SVGGradientElement::canvasResource):
8209         * ksvg2/svg/SVGLinearGradientElement.cpp:
8210         * ksvg2/svg/SVGMarkerElement.cpp:
8211         * ksvg2/svg/SVGMaskElement.cpp:
8212         (WebCore::SVGMaskElement::parseMappedAttribute):
8213         (WebCore::SVGMaskElement::drawMaskerContent):
8214         (WebCore::SVGMaskElement::canvasResource):
8215         * ksvg2/svg/SVGPatternElement.cpp:
8216         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
8217         (WebCore::SVGPatternElement::canvasResource):
8218         * ksvg2/svg/SVGStyledElement.cpp:
8219         * ksvg2/svg/SVGStyledElement.h:
8220         * platform/graphics/GraphicsContext.h:
8221         * platform/graphics/svg/SVGPaintServer.h:
8222         * platform/graphics/svg/SVGPaintServerGradient.cpp:
8223         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
8224         * platform/graphics/svg/SVGPaintServerGradient.h:
8225         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
8226         * platform/graphics/svg/SVGPaintServerPattern.h:
8227         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
8228         * platform/graphics/svg/SVGPaintServerSolid.h:
8229         * platform/graphics/svg/SVGResource.cpp:
8230         * platform/graphics/svg/SVGResource.h:
8231         * platform/graphics/svg/SVGResourceClipper.h:
8232         * platform/graphics/svg/SVGResourceFilter.h:
8233         * platform/graphics/svg/SVGResourceMasker.h:
8234         * platform/graphics/svg/cg/RenderPathCg.cpp: Added.
8235         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
8236         (WebCore::SVGPaintServer::draw):
8237         (WebCore::SVGPaintServer::teardown):
8238         (WebCore::SVGPaintServer::renderPath):
8239         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
8240         (WebCore::SVGPaintServerGradient::teardown):
8241         (WebCore::SVGPaintServerGradient::renderPath):
8242         (WebCore::SVGPaintServerGradient::setup):
8243         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
8244         (WebCore::SVGPaintServerPattern::setup):
8245         (WebCore::SVGPaintServerPattern::teardown):
8246         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
8247         (WebCore::SVGPaintServerSolid::setup):
8248         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
8249         (WebCore::SVGResourceClipper::applyClip):
8250         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
8251         (WebCore::SVGResourceFilter::SVGResourceFilter):
8252         (WebCore::SVGResourceFilter::createFilterEffect):
8253         (WebCore::SVGResourceFilter::prepareFilter):
8254         (WebCore::SVGResourceFilter::applyFilter):
8255         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
8256         (WebCore::SVGResourceMasker::applyMask):
8257         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
8258         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
8259         (WebCore::SVGPaintServerLinearGradient::setup):
8260         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
8261         (WebCore::SVGPaintServerPattern::setup):
8262         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
8263         (WebCore::SVGPaintServer::draw):
8264         (WebCore::SVGPaintServer::teardown):
8265         (WebCore::SVGPaintServer::renderPath):
8266         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
8267         (WebCore::setup):
8268         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
8269         (WebCore::SVGPaintServerSolid::setup):
8270         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
8271         (WebCore::SVGResourceClipper::applyClip):
8272         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
8273         (WebCore::SVGResourceFilter::createFilterEffect):
8274         (WebCore::SVGResourceFilter::prepareFilter):
8275         (WebCore::SVGResourceFilter::applyFilter):
8276         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
8277         (WebCore::SVGResourceMasker::applyMask):
8278         * platform/qt/GraphicsContextQt.cpp:
8279         (WebCore::GraphicsContext::beginPath):
8280         (WebCore::GraphicsContext::addPath):
8281         (WebCore::GraphicsContext::setFillRule):
8282         (WebCore::GraphicsContext::currentPath):
8283         (WebCore::GraphicsContext::strokeRect):
8284         (WebCore::contextForImage):
8285         * rendering/RenderForeignObject.cpp:
8286         (WebCore::RenderForeignObject::paint):
8287         * rendering/RenderPath.cpp:
8288         (WebCore::RenderPath::paint):
8289         * rendering/RenderSVGContainer.cpp:
8290         (WebCore::RenderSVGContainer::paint):
8291         * rendering/RenderSVGImage.cpp:
8292         (WebCore::RenderSVGImage::paint):
8293         * rendering/RenderSVGImage.h:
8294         * rendering/RenderSVGInline.cpp:
8295         (WebCore::RenderSVGInline::RenderSVGInline):
8296         (WebCore::RenderSVGInline::createInlineBox):
8297         * rendering/RenderSVGInlineText.cpp:
8298         (WebCore::RenderSVGInlineText::RenderSVGInlineText):
8299         * rendering/RenderSVGTSpan.cpp:
8300         (WebCore::RenderSVGTSpan::RenderSVGTSpan):
8301         * rendering/RenderSVGText.cpp:
8302         (WebCore::RenderSVGText::paint):
8303         * rendering/SVGInlineFlowBox.cpp:
8304         (WebCore::paintSVGInlineFlow):
8305         * rendering/SVGRenderTreeAsText.cpp:
8306         (WebCore::writeStyle):
8308 2006-11-30  Geoffrey Garen  <ggaren@apple.com>
8310         Reviewed by Beth Dakin.
8311         
8312         Fixed up garbage collection at window close time.
8314         * bindings/js/kjs_proxy.cpp: Don't garbage collect in the KJSProxy
8315         destructor, since the global object hasn't been freed yet.
8316         * bindings/js/kjs_proxy.h:
8317         * loader/FrameLoader.cpp:
8318         (WebCore::FrameLoader::detachFromParent): Made this function cross-
8319         platform.
8320         * loader/FrameLoader.h:
8321         * loader/mac/FrameLoaderMac.mm:
8322         (WebCore::FrameLoader::setTitle): Moved this function to FrameLoaderMac,
8323         since it's Mac-only.
8324         (WebCore::FrameLoader::closeBridge):
8325         * page/Page.cpp:
8326         (WebCore::Page::~Page): Don't garbage collect in the Page destructor,
8327         since the Interpreter destructor will do it for us.
8329 2006-11-30  Brady Eidson  <beidson@apple.com>
8331         Reviewed by Tim's rubberstamp
8333         Amazingly, DocumentLoader.h survived all this time without a header guard...
8335         * loader/DocumentLoader.h:  Added header guard
8337 2006-11-30  Timothy Hatcher  <timothy@apple.com>
8339         Reviewed by Brady and Eric.
8341         XMLHttpRequest fails in a page loaded with WebFrame's loadHTMLString: or loadData:
8342         http://bugs.webkit.org/show_bug.cgi?id=11723
8344         Allow cross-domain XMLHTTPRequest for applewebdata URLs. No automated way to test,
8345         tested in Safari's debug Snippet Editor.
8347         * xml/xmlhttprequest.cpp:
8348         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
8350 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
8352         Reviewed by Brady.
8354         Get rid of PlatformResponse, the platform specific response object is stored inside of 
8355         the ResourceResponse object now. This also gets rid of receivedResponse in ResourceHandleClient.
8356         
8357         * bridge/mac/WebCoreFrameBridge.mm:
8358         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
8359         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
8360         * loader/CachedResource.cpp:
8361         (WebCore::CachedResource::CachedResource):
8362         (WebCore::CachedResource::~CachedResource):
8363         * loader/CachedResource.h:
8364         (WebCore::CachedResource::response):
8365         * loader/loader.cpp:
8366         * loader/loader.h:
8367         * loader/mac/ImageDocumentMac.mm:
8368         (WebCore::finishImageLoad):
8369         * loader/mac/LoaderFunctionsMac.mm:
8370         (WebCore::CheckCacheObjectStatus):
8371         * loader/mac/SubresourceLoaderMac.mm:
8372         (WebCore::SubresourceLoader::didReceiveResponse):
8373         * platform/network/ResourceHandle.h:
8374         * platform/network/ResourceResponse.h:
8375         (WebCore::ResourceResponse::nsURLResponse):
8376         (WebCore::ResourceResponse::cfURLResponse):
8377         * platform/network/mac/ResourceHandleMac.mm:
8378         (WebCore::ResourceHandle::didReceiveResponse):
8380 2006-11-29  Justin Garcia  <justin.garcia@apple.com>
8382         Reviewed by sullivan
8383         
8384         <rdar://problem/4845371>
8385         In Mail, a crash occurs at WebCore::Node::traverseNextNode() when cutting selected text from a HTML message
8386         
8387         * editing/DeleteSelectionCommand.cpp:
8388         (WebCore::DeleteSelectionCommand::initializeStartEnd): The start/end were
8389         being inflated even when they were the start/end of a partially selected
8390         special element.
8392 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
8394         Reviewed by Oliver.
8396         Fix fast/dom/xmlhttprequest-get layout test failure.
8397         
8398         * platform/network/mac/ResourceResponseMac.mm:
8399         Initialize the status code to 0 for non-http responses.
8400         
8401 2006-11-29  Geoffrey Garen  <ggaren@apple.com>
8403         Reviewed by Anders Carlsson.
8404         
8405         Fixed http://bugs.webkit.org/show_bug.cgi?id=11712
8406         REGRESSION: Crash when clicking JS link on crateandbarrel.com (window.open("http[...]"))
8407         
8408         This was an accidental commit by Anders.
8410         Chrome can't use the FrameView at window.open time, because it doesn't
8411         exist yet.
8412         
8413         * page/Chrome.cpp:
8414         (WebCore::Chrome::pageRect):
8416 2006-11-29  Geoffrey Garen  <ggaren@apple.com>
8418         Reviewed by Mitz Pettel.
8419         
8420         Fixed http://bugs.webkit.org/show_bug.cgi?id=11710
8421         REGRESSION (r17906): Crash in WebCore::FrameMac
8423         Added null checks for EditorClient, since it can be NULL when the page
8424         has been destroyed. Removed external access to EditorClient, since it's
8425         an implementation detail of the Editor.
8427         No test case because this crash depends on window tear-down. Layout tests
8428         pass.
8429         
8430 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
8432         Fix build.
8433         
8434         * platform/network/mac/ResourceHandleMac.mm:
8435         (WebCore::ResourceHandle::receivedResponse):
8436         Fix tyop.
8438 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
8440         Reviewed by Darin.
8442         Have ResourceResponse hold on to the platform object and do lazy
8443         initialization of the data members.
8444         
8445         * WebCore.xcodeproj/project.pbxproj:
8446         * loader/mac/FrameLoaderMac.mm:
8447         (WebCore::FrameLoader::loadResourceSynchronously):
8448         * platform/network/ResourceRequest.cpp:
8449         (WebCore::ResourceRequest::updatePlatformRequest):
8450         (WebCore::ResourceRequest::updateResourceRequest):
8451         * platform/network/ResourceResponse.cpp: Added.
8452         (WebCore::ResourceResponse::url):
8453         (WebCore::ResourceResponse::mimeType):
8454         (WebCore::ResourceResponse::expectedContentLength):
8455         (WebCore::ResourceResponse::textEncodingName):
8456         (WebCore::ResourceResponse::suggestedFilename):
8457         (WebCore::ResourceResponse::httpStatusCode):
8458         (WebCore::ResourceResponse::setHTTPStatusCode):
8459         (WebCore::ResourceResponse::httpStatusText):
8460         (WebCore::ResourceResponse::setHTTPStatusText):
8461         (WebCore::ResourceResponse::httpHeaderField):
8462         (WebCore::ResourceResponse::httpHeaderFields):
8463         (WebCore::ResourceResponse::setExpirationDate):
8464         (WebCore::ResourceResponse::expirationDate):
8465         (WebCore::ResourceResponse::setLastModifiedDate):
8466         (WebCore::ResourceResponse::lastModifiedDate):
8467         (WebCore::ResourceResponse::updateResourceResponse):
8468         * platform/network/ResourceResponse.h:
8469         (WebCore::ResourceResponse::ResourceResponse):
8470         (WebCore::ResourceResponse::isMultipart):
8471         * platform/network/mac/ResourceHandleMac.mm:
8472         (WebCore::ResourceHandle::receivedResponse):
8473         (WebCore::ResourceHandle::willSendRequest):
8474         * platform/network/mac/ResourceResponseMac.h: Removed.
8475         * platform/network/mac/ResourceResponseMac.mm:
8476         (-[NSURLResponse WebCore]):
8478 2006-11-28  Alice Liu  <alice.liu@apple.com>
8480         Reviewed by Maciej.
8482         A fix for a couple failing layout tests involving copy/cut in iframes.
8484         * bridge/EditorClient.h:
8485         Add frame parameter to dataForArchivedSelectionInFrame instead of
8486         just getting the webview's selectedFrame.
8488         * platform/mac/PasteboardMac.mm:
8489         (Pasteboard::writeSelection):
8490         Pass in the frame
8492 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
8494         Reviewed by Beth Dakin.
8496         Fixed <rdar://problem/4844855> Should clarify when to create clients in 
8497         the WebCore client API
8498         
8499         All clients must now be supplied as constructor arguments. This clarifies 
8500         when you need to create clients, and also guarantees that objects can't 
8501         (for the most part) be in a clientless state.
8503         Layout tests pass. No leaks reported.
8504         
8505         * bridge/mac/WebCoreFrameBridge.mm: I had to move some initialization up into
8506         WebKit to resolve circular dependencies at init time.
8508 2006-11-28  Adam Roben  <aroben@apple.com>
8510         Reviewed by Ada.
8512         Add platform-specific constructor/destructor to ContextMenu so we can
8513         properly retain/release the platform menu description.
8515         * platform/ContextMenu.h:
8516         (WebCore::ContextMenu::platformDescription):
8517         * platform/mac/ContextMenuMac.mm:
8518         (WebCore::ContextMenu::ContextMenu):
8519         (WebCore::ContextMenu::~ContextMenu):
8520         (WebCore::getNSMenuItem):
8521         (WebCore::ContextMenu::appendItem):
8522         (WebCore::ContextMenu::itemCount):
8523         (WebCore::ContextMenu::insertItem):
8524         (WebCore::ContextMenu::setPlatformDescription):
8526 2006-11-28  Adam Roben  <aroben@apple.com>
8528         Build fix.
8530         * platform/network/mac/ResourceRequestMac.mm:
8532 2006-11-28  David Harrison  <harrison@apple.com>
8534         Reviewed by Adele.
8536         <rdar://problem/4852804> selection color does not get drawn over the missing image rectangle
8538         Test:
8539         * editing/selection/select-missing-image.html: Added.
8541         * rendering/RenderImage.cpp:
8542         (WebCore::RenderImage::paint):
8543         Draw the selection tint even if the image itself is not available.
8545 2006-11-28  Anders Carlsson  <acarlsson@apple.com>
8547         Reviewed by Maciej.
8549         Have ResourceRequest hold on to the platform object so we don't
8550         have to convert back and forth when nothing in the object changes.
8552         * WebCore.exp:
8553         * WebCore.xcodeproj/project.pbxproj:
8554         * loader/mac/FrameLoaderMac.mm:
8555         (WebCore::FrameLoader::continueAfterNavigationPolicy):
8556         * page/Chrome.cpp:
8557         (WebCore::Chrome::pageRect):
8558         * platform/network/ResourceRequest.cpp: Added.
8559         (WebCore::ResourceRequest::isEmpty):
8560         (WebCore::ResourceRequest::url):
8561         (WebCore::ResourceRequest::setURL):
8562         (WebCore::ResourceRequest::cachePolicy):
8563         (WebCore::ResourceRequest::setCachePolicy):
8564         (WebCore::ResourceRequest::timeoutInterval):
8565         (WebCore::ResourceRequest::setTimeoutInterval):
8566         (WebCore::ResourceRequest::mainDocumentURL):
8567         (WebCore::ResourceRequest::setMainDocumentURL):
8568         (WebCore::ResourceRequest::httpMethod):
8569         (WebCore::ResourceRequest::setHTTPMethod):
8570         (WebCore::ResourceRequest::httpHeaderFields):
8571         (WebCore::ResourceRequest::httpHeaderField):
8572         (WebCore::ResourceRequest::setHTTPHeaderField):
8573         (WebCore::ResourceRequest::httpBody):
8574         (WebCore::ResourceRequest::setHTTPBody):
8575         (WebCore::ResourceRequest::allowHTTPCookies):
8576         (WebCore::ResourceRequest::setAllowHTTPCookies):
8577         (WebCore::ResourceRequest::updatePlatformRequest):
8578         (WebCore::ResourceRequest::updateResourceRequest):
8579         (WebCore::ResourceRequest::addHTTPHeaderField):
8580         (WebCore::ResourceRequest::addHTTPHeaderFields):
8581         * platform/network/ResourceRequest.h:
8582         (WebCore::ResourceRequest::ResourceRequest):
8583         * platform/network/mac/ResourceHandleMac.mm:
8584         (WebCore::ResourceHandle::willSendRequest):
8585         * platform/network/mac/ResourceRequestMac.h: Removed.
8586         * platform/network/mac/ResourceRequestMac.mm:
8587         (WebCore::ResourceRequest::nsURLRequest):
8588         (WebCore::ResourceRequest::doUpdateResourceRequest):
8589         (WebCore::ResourceRequest::doUpdatePlatformRequest):
8591 2006-11-28  Adam Roben  <aroben@apple.com>
8593         Reviewed by Beth.
8595         More WebCore context menu work (still not turned on, however).
8597         Split ContextMenuItem into its own files and make it a class.
8599         * WebCore.exp: Updated symbols.
8600         * WebCore.xcodeproj/project.pbxproj: Added new ContextMenuItem files.
8601         * platform/ContextMenu.cpp:
8602         (WebCore::ContextMenu::populate): Code cleanup.
8603         * platform/ContextMenu.h: Split ContextMenuItem into a separate file,
8604         removed redundant "Menu" part of platformMenuDescription(),
8605         setPlatformMenuDescription().
8606         (WebCore::ContextMenu::ContextMenu):
8607         (WebCore::ContextMenu::hitTestResult):
8608         (WebCore::ContextMenu::platformDescription):
8609         * platform/ContextMenuItem.h: Added. Made ContextMenuItem a
8610         full-fledged class.
8611         (WebCore::):
8612         (WebCore::ContextMenuItem::ContextMenuItem):
8613         (WebCore::ContextMenuItem::menu):
8614         (WebCore::ContextMenuItem::platformDescription):
8615         (WebCore::ContextMenuItem::type):
8616         (WebCore::ContextMenuItem::action):
8617         (WebCore::ContextMenuItem::title):
8618         * platform/mac/ContextMenuItemMac.mm: Added.
8619         (WebCore::ContextMenuItem::ContextMenuItem):
8620         * platform/mac/ContextMenuMac.mm: Updated for ContextMenuItem changes.
8621         (-[MenuTarget forwardContextMenuAction:]):
8622         (getNSMenuItem): Handle separator items.
8623         (ContextMenu::appendItem):
8624         (ContextMenu::itemCount):
8625         (ContextMenu::insertItem):
8626         (ContextMenu::setPlatformDescription):
8627         * page/ContextMenuController.h: Updated declaration, added getter.
8628         (WebCore::ContextMenuController::contextMenu):
8630         Added some more context menu plumbing.
8632         * dom/EventTargetNode.cpp:
8633         (WebCore::EventTargetNode::defaultEventHandler): Added code to call the
8634         ContextMenuController when a context menu event is received.
8635         * page/ContextMenuClient.h: New client method declaration.
8636         * page/ContextMenuController.cpp:
8637         (WebCore::ContextMenuController::handleContextMenuEvent): Set the event
8638         defaultHandled after handling it.
8639         (WebCore::ContextMenuController::contextMenuItemSelected): Take a
8640         ContextMenuItem instead of a separate action and title.
8642         Changed event-handling methods to return bools to signify whether the
8643         event was handled or not. This is needed so we can know whether to hand
8644         the event off to the OS. Also restructured some code to use early
8645         returns instead of nesting ifs.
8647         * page/EventHandler.cpp:
8648         (WebCore::EventHandler::handleMousePressEventDoubleClick):
8649         (WebCore::EventHandler::handleMousePressEventTripleClick):
8650         (WebCore::EventHandler::handleMousePressEventSingleClick):
8651         (WebCore::EventHandler::handleMousePressEvent):
8652         (WebCore::EventHandler::handleMouseMoveEvent):
8653         (WebCore::EventHandler::handleMouseReleaseEvent):
8654         (WebCore::EventHandler::handleMouseDoubleClickEvent):
8655         (WebCore::EventHandler::handleWheelEvent):
8656         (WebCore::EventHandler::canMouseDownStartSelect):
8657         * page/EventHandler.h:
8658         * page/FrameView.cpp:
8659         (WebCore::FrameView::handleMouseMoveEvent):
8660         (WebCore::FrameView::handleMouseReleaseEvent):
8661         * page/FrameView.h:
8662         * platform/ScrollBar.h: More bool return values.
8663         (WebCore::Scrollbar::handleMouseMoveEvent):
8664         (WebCore::Scrollbar::handleMouseOutEvent):
8665         * platform/Widget.h: Ditto.
8666         (WebCore::Widget::handleMouseMoveEvent):
8667         (WebCore::Widget::handleMouseReleaseEvent):
8669         Reverted the changes made in r17805 so that we can have fewer header
8670         #includes.
8672         * page/Page.cpp:
8673         (WebCore::Page::Page):
8674         * page/Page.h: Ditto.
8675         (WebCore::Page::dragCaretController):
8676         (WebCore::Page::chrome):
8677         (WebCore::Page::contextMenuController):
8679 2006-11-28  Alice Liu  <alice.liu@apple.com>
8681         Reviewed by Justin and Adam.
8683         All layout tests pass as they do without this patch
8685         * WebCore.exp:
8686         Exposed functions in Editor and removed functions in FrameMac due to changes in WebHTMLView.m
8688         * WebCore.xcodeproj/project.pbxproj:
8689         Added Pasteboard.h, PasteboardMac.mm, WebNSAttributedStringExtras.h&mm, EditorMac.mm
8691         * bridge/EditorClient.h:
8692         Added smartInsertDeleteEnabled and shouldInsertNode and some mac-specific functions
8694         * bridge/mac/FrameMac.h:
8695         * bridge/mac/FrameMac.mm:
8696         Removed dispatchCPPEvent and [can|try]DHTML[cut|copy|paste] since the Editor's are called now
8698         * dom/CharacterData.h:
8699         (WebCore::CharacterData::isCharacterDataNode):
8700         * dom/Node.h:
8701         (WebCore::Node::isCharacterDataNode):
8702         Added a type-identifying function to Node and the proper subclass
8704         * dom/Clipboard.h:
8705         Exposed setAccessPolicy as public
8706         
8707         * editing/Editor.h:
8708         * editing/Editor.cpp:
8709         Implemented the following
8710         (WebCore::Editor::canDHTMLCut):
8711         (WebCore::Editor::canDHTMLCopy):
8712         (WebCore::Editor::canDHTMLPaste):
8713         (WebCore::Editor::canSmartCopyOrDelete):
8714         (WebCore::Editor::deleteSelection):
8715         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
8716         (WebCore::Editor::pasteWithPasteboard):
8717         (WebCore::Editor::canSmartReplaceWithPasteboard):
8718         (WebCore::Editor::shouldInsertFragment):
8719         (WebCore::Editor::replaceSelectionWithFragment):
8720         (WebCore::Editor::replaceSelectionWithText):
8721         (WebCore::Editor::selectedRange):
8722         (WebCore::Editor::shouldDeleteRange):
8723         (WebCore::Editor::tryDHTMLCopy):
8724         (WebCore::Editor::tryDHTMLCut):
8725         (WebCore::Editor::tryDHTMLPaste):
8726         (WebCore::Editor::writeSelectionToPasteboard):
8727         (WebCore::Editor::dispatchCPPEvent):
8728         (WebCore::Editor::cut):
8729         (WebCore::Editor::copy):
8730         (WebCore::Editor::paste):
8731                 
8732         * platform/mac/ClipboardAccessPolicy.h: Removed.
8733         Not removed, but moved to dom/ClipboardAccessPolicy.h
8734         
8735         * platform/mac/EditorMac.mm: Added.
8736         (WebCore::Editor::newGeneralClipboard):
8738         * platform/Pasteboard.h: Added.
8739         * platform/mac/PasteboardMac.mm: Added.
8740         The pasteboard class follows a singleton pattern
8741         (Pasteboard::generalPasteboard):
8742         (Pasteboard::~Pasteboard):
8743         (Pasteboard::Pasteboard):
8744         (Pasteboard::clearTypes):
8745         (Pasteboard::writeSelection):
8746         (Pasteboard::selectionPasteboardTypes):
8747         (Pasteboard::canSmartReplace):
8748         (Pasteboard::plainText):
8749         (Pasteboard::documentFragment):
8750         
8751         * platform/mac/WebNSAttributedStringExtras.h: Added.
8752         * platform/mac/WebNSAttributedStringExtras.mm: Added.
8753         Added select portions of this file from WebKit because the pasteboard needed the following function:
8754         (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
8756 2006-11-28  Justin Garcia  <justin.garcia@apple.com>
8758         Reviewed by harrison
8760         <rdar://problem/4397952>
8761         Cannot select buttons at the end of a document, preventing copy/paste
8762         
8763         There were no VisiblePositions before/after buttons because editingIgnoresContent
8764         returned false for buttons. 
8766         * dom/Position.cpp:
8767         (WebCore::Position::upstream): Fixed a comment.
8768         (WebCore::Position::downstream): Ditto.
8769         * editing/DeleteSelectionCommand.cpp:
8770         (WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
8771         * editing/htmlediting.cpp:
8772         (WebCore::editingIgnoresContent): It's unnecessary to prefer renderer 
8773         checks over tag name checks because it seems that a node of a tag name 
8774         that we do not ignore content for can't have a renderer of a type that we do.
8775         (WebCore::canHaveChildrenForEditing): Added selects, buttons, applets, and embeds.
8776         * editing/visible_units.cpp:
8777         (WebCore::previousLinePosition): Migrate to enclosingBlock.  Fixes a bug where the
8778         caret would get stuck moving up/down a line from a caret just before an 
8779         input element.
8780         (WebCore::nextLinePosition): Ditto.
8782 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
8784         Reviewed by Adam.
8786         Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 
8787         calls cause .5% PLT regression.
8788         
8789         Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
8790         from the Frame to the Page, since it's only responsible for
8791         Webview-level delegate calls.
8792         
8793         I don't really love this design, but it fixes the regression and allows
8794         a single WebKit object to implement multiple client interfaces.
8795         
8796         Layout tests pass.
8798 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
8800         Try fixing the build.
8801         
8802         * platform/graphics/IntRect.cpp:
8803         (WebCore::IntRect::IntRect):
8805 2006-11-27  Beth Dakin  <bdakin@apple.com>
8807         Reviewed by Adam.
8809         Getting rid of some of the critical FIXMEs in ContextMenu.cpp.
8811         * bridge/mac/FrameMac.h: Two new spell checker functions from 
8812         WebKit. (We will be able to delete the WebKit versions once we 
8813         switch over to WebCore context menus.)
8814         * bridge/mac/FrameMac.mm:
8815         (WebCore::FrameMac::isSelectionMisspelled):
8816         (WebCore::core): Convert from NSArray of Strings to a Vector of 
8817         Strings.
8818         (WebCore::FrameMac::guessesForMisspelledSelection):
8819         * loader/FrameLoader.cpp:
8820         (WebCore::FrameLoader::canHandleRequest):
8821         * loader/FrameLoader.h: Make canHandleRequest available through the 
8822         FrameLoader.
8823         * loader/FrameLoaderClient.h: canHandleRequest takes a 
8824         ResourceRequest instead of an NSURLRequest.
8825         * loader/mac/FrameLoaderMac.mm:
8826         (WebCore::FrameLoader::continueAfterNavigationPolicy): Same
8827         * page/Frame.h: New spell checker functions moved to Frame. These 
8828         should be moved some place better some day, but FrameMac currently 
8829         seems to be the place to be for spell checker stuff.
8830         * platform/ContextMenu.cpp:
8831         (WebCore::ContextMenu::populate): Use new FrameLoader and spell 
8832         checking functionality to get rid of two if (true) statements. Also 
8833         add spelling guesses to the editing context menus.
8835 2006-11-27  Alexey Proskuryakov  <ap@webkit.org>
8837         Reviewed by Hyatt.
8839         http://bugs.webkit.org/show_bug.cgi?id=11694
8840         XSLT output method does not default to HTML when the target document is HTML
8842         Test: fast/xsl/default-html.html
8844         * xml/XSLTProcessor.cpp:
8845         (WebCore::XSLTProcessor::transformToString): Make mimeType an input/output parameter, 
8846         serving as a hint when the stylesheet doesn't specify the output method.
8847         (WebCore::XSLTProcessor::transformToFragment): Set mimeType to text/html if the target
8848         document is HTML.
8850 2006-11-27  Oliver Hunt  <oliver@apple.com>
8852         Reviewed by Adam.
8854         Fixes a crash in SVG caused by an attempt to 
8855         perform css overflow clipping by preventing
8856         the css overflow clip from being set in SVG.
8857         
8858         <rdar:/problems/4839568>
8860         * WebCore.xcodeproj/project.pbxproj:
8861         * rendering/RenderForeignObject.cpp:
8862         (WebCore::RenderForeignObject::RenderForeignObject):
8863         * rendering/RenderForeignObject.h:
8864         * rendering/RenderSVGBlock.cpp: Added.
8865         (WebCore::RenderSVGBlock::RenderSVGBlock):
8866         (WebCore::RenderSVGBlock::setStyle):
8867         * rendering/RenderSVGBlock.h: Added.
8868         * rendering/RenderSVGText.cpp:
8869         (WebCore::RenderSVGText::RenderSVGText):
8870         * rendering/RenderSVGText.h:
8872 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
8874         Reviewed by Adam.
8876         Add an explicit IntRect constructor that takes a FloatRect.
8877         
8878         * platform/graphics/IntRect.cpp:
8879         (WebCore::IntRect::IntRect):
8880         * platform/graphics/IntRect.h:
8882 2006-11-27  Ada Chan  <adachan@apple.com>
8884         Reviewed by Adam.
8886         Moved WebCoreCache up to WebKit.
8888         * WebCore.exp:
8889         * WebCore.xcodeproj/project.pbxproj:
8890         * bridge/mac/WebCoreCache.h: Removed.
8891         * bridge/mac/WebCoreCache.mm: Removed.
8893 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
8895         Reviewed by Adam.
8897         Move addMessageToConsole to Chrome.
8898         
8899         * bindings/js/kjs_events.cpp:
8900         (KJS::JSAbstractEventListener::handleEvent):
8901         * bindings/js/kjs_proxy.cpp:
8902         (WebCore::KJSProxy::evaluate):
8903         * bindings/js/kjs_window.cpp:
8904         (KJS::Window::isSafeScript):
8905         (KJS::ScheduledAction::execute):
8906         * bridge/mac/FrameMac.h:
8907         * bridge/mac/FrameMac.mm:
8908         * bridge/mac/WebCoreFrameBridge.h:
8909         * page/Chrome.cpp:
8910         (WebCore::Chrome::addMessageToConsole):
8911         * page/Chrome.h:
8912         * page/ChromeClient.h:
8913         * page/Frame.h:
8915 2006-11-27  Adele Peterson  <adele@apple.com>
8917         Reviewed by Hyatt.
8919         - Fix for http://bugs.webkit.org/show_bug.cgi?id=8062
8920           Caret color in new text field should take background color and foreground color into consideration
8922         * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
8923           Use the foreground color of the rootEditableElement to determine the caret color.  This will work well for text controls in web pages (since the root is always the actual form control)
8924           as well as in editable WebViews, like in Mail, which will just pick up the color from the body element.
8926 2006-11-26  Simon Hausmann  <hausmann@kde.org>
8928         Reviewed by Maciej.
8930         http://bugs.webkit.org/show_bug.cgi?id=11693
8931         Fix the Qt build, adapt to various enum/class renamings.
8933         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
8934         (WebCore::KRenderingDeviceQt::createResource):
8935         (WebCore::KRenderingDeviceQt::createPaintServer):
8936         * kcanvas/device/qt/KRenderingDeviceQt.h:
8937         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
8938         (WebCore::SVGPaintServerLinearGradient::setup):
8939         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
8940         (WebCore::SVGPaintServer::renderPath):
8941         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
8942         (WebCore::setup):
8943         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
8944         (WebCore::SVGPaintServerSolid::setup):
8946 2006-11-24  Rob Buis  <buis@kde.org>
8948         Reviewed by Mitz.
8950         http://bugs.webkit.org/show_bug.cgi?id=11666
8951         .getScreenCTM() returns wrong values
8953         Take into account the local transform matrix too and
8954         so fix getScreenCTM/getCTM for <text>.
8956         * ksvg2/svg/SVGStyledTransformableElement.cpp:
8957         (SVGStyledTransformableElement::getCTM):
8958         (SVGStyledTransformableElement::getScreenCTM):
8959         * ksvg2/svg/SVGTextElement.cpp:
8960         (WebCore::SVGTextElement::getScreenCTM):
8961         (WebCore::SVGTextElement::getCTM):
8962         * ksvg2/svg/SVGTransformable.cpp:
8963         (WebCore::SVGTransformable::getCTM):
8964         (WebCore::SVGTransformable::getScreenCTM):
8965         * ksvg2/svg/SVGTransformable.h:
8967 2006-11-22  Rob Buis  <buis@kde.org>
8969         Reviewed by Eric.
8971         http://bugs.webkit.org/show_bug.cgi?id=11661
8972         SVG: stroke not sensitive to mouse events (hit testing fails)
8974         Use mapAbsolutePointToLocal when hit-testing strokes.
8976         * rendering/RenderPath.cpp:
8977         (WebCore::RenderPath::fillContains):
8978         (WebCore::RenderPath::nodeAtPoint):
8980 2006-11-21  Anders Carlsson  <acarlsson@apple.com>
8982         Reviewed by Mitz.
8984         General SVG cleanup. Change some enums to match the style guidelines, use PLATFORM(CG) instead of PLATFORM(MAC).
8985         Remove config.h inluce from AffineTransform.h
8986         
8987         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
8988         (WebCore::KRenderingDeviceQuartz::createPaintServer):
8989         (WebCore::KRenderingDeviceQuartz::createResource):
8990         * ksvg2/misc/KCanvasRenderingStyle.cpp:
8991         (WebCore::sharedSolidPaintServer):
8992         * ksvg2/svg/SVGFilterElement.cpp:
8993         (WebCore::SVGFilterElement::canvasResource):
8994         * ksvg2/svg/SVGLinearGradientElement.cpp:
8995         (WebCore::SVGLinearGradientElement::buildGradient):
8996         * ksvg2/svg/SVGLinearGradientElement.h:
8997         (WebCore::SVGLinearGradientElement::gradientType):
8998         * ksvg2/svg/SVGPatternElement.cpp:
8999         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
9000         (WebCore::SVGPatternElement::canvasResource):
9001         * ksvg2/svg/SVGRadialGradientElement.cpp:
9002         (WebCore::SVGRadialGradientElement::buildGradient):
9003         * ksvg2/svg/SVGRadialGradientElement.h:
9004         (WebCore::SVGRadialGradientElement::gradientType):
9005         * platform/graphics/AffineTransform.h:
9006         * platform/graphics/svg/SVGPaintServer.h:
9007         (WebCore::):
9008         * platform/graphics/svg/SVGPaintServerGradient.cpp:
9009         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
9010         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
9011         * platform/graphics/svg/SVGPaintServerGradient.h:
9012         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
9013         (WebCore::SVGPaintServerLinearGradient::type):
9014         * platform/graphics/svg/SVGPaintServerPattern.h:
9015         (WebCore::SVGPaintServerPattern::type):
9016         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
9017         (WebCore::SVGPaintServerRadialGradient::type):
9018         * platform/graphics/svg/SVGPaintServerSolid.h:
9019         (WebCore::SVGPaintServerSolid::type):
9020         * platform/graphics/svg/SVGResource.h:
9021         (WebCore::):
9022         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
9023         (WebCore::SVGPaintServer::renderPath):
9024         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
9025         (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
9026         (WebCore::SVGPaintServerGradient::teardown):
9027         (WebCore::SVGPaintServerGradient::renderPath):
9028         (WebCore::SVGPaintServerGradient::setup):
9029         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
9030         (WebCore::SVGPaintServerPattern::setup):
9031         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
9032         (WebCore::SVGPaintServerSolid::setup):
9033         * rendering/RenderPath.cpp:
9034         (WebCore::RenderPath::paint):
9035         * rendering/SVGInlineFlowBox.cpp:
9036         (WebCore::paintSVGInlineFlow):
9038 2006-11-21  Nikolas Zimmermann  <zimmermann@kde.org>
9040         Reviewed by Oliver.
9042         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11658
9044         Move KRenderingPaintServer* classes to the location
9045         of all other resources (platform/graphics/svg).
9047         Soon the whole platform/graphics/svg stuff will bemoved
9048         into ksvg2/ itself, as discussed with Darin.
9050         * CMakeLists.txt:
9051         * WebCore.xcodeproj/project.pbxproj:
9052         * kcanvas/device/KRenderingDevice.h:
9053         * kcanvas/device/KRenderingPaintServer.h: Removed.
9054         * kcanvas/device/KRenderingPaintServerGradient.cpp: Removed.
9055         * kcanvas/device/KRenderingPaintServerGradient.h: Removed.
9056         * kcanvas/device/KRenderingPaintServerPattern.cpp: Removed.
9057         * kcanvas/device/KRenderingPaintServerPattern.h: Removed.
9058         * kcanvas/device/KRenderingPaintServerSolid.cpp: Removed.
9059         * kcanvas/device/KRenderingPaintServerSolid.h: Removed.
9060         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: Removed.
9061         * kcanvas/device/qt/KRenderingPaintServerGradientQt.h: Removed.
9062         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp: Removed.
9063         * kcanvas/device/qt/KRenderingPaintServerPatternQt.h: Removed.
9064         * kcanvas/device/qt/KRenderingPaintServerQt.cpp: Removed.
9065         * kcanvas/device/qt/KRenderingPaintServerQt.h: Removed.
9066         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp: Removed.
9067         * kcanvas/device/qt/KRenderingPaintServerSolidQt.h: Removed.
9068         * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
9069         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
9070         (WebCore::KRenderingDeviceQuartz::createPaintServer):
9071         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
9072         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Removed.
9073         * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Removed.
9074         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: Removed.
9075         * ksvg2/misc/KCanvasRenderingStyle.cpp:
9076         (WebCore::sharedSolidPaintServer):
9077         (WebCore::KSVGPainterFactory::fillPaintServer):
9078         (WebCore::KSVGPainterFactory::strokePaintServer):
9079         * ksvg2/misc/KCanvasRenderingStyle.h:
9080         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
9081         * ksvg2/svg/SVGFEOffsetElement.cpp:
9082         * ksvg2/svg/SVGGradientElement.cpp:
9083         (WebCore::SVGGradientElement::canvasResource):
9084         (WebCore::SVGGradientElement::resourceNotification):
9085         (WebCore::SVGGradientElement::rebuildStops):
9086         * ksvg2/svg/SVGGradientElement.h:
9087         * ksvg2/svg/SVGLinearGradientElement.cpp:
9088         (WebCore::SVGLinearGradientElement::buildGradient):
9089         * ksvg2/svg/SVGLinearGradientElement.h:
9090         (WebCore::SVGLinearGradientElement::gradientType):
9091         * ksvg2/svg/SVGPatternElement.cpp:
9092         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
9093         (WebCore::SVGPatternElement::canvasResource):
9094         * ksvg2/svg/SVGPatternElement.h:
9095         * ksvg2/svg/SVGRadialGradientElement.cpp:
9096         (WebCore::SVGRadialGradientElement::buildGradient):
9097         * ksvg2/svg/SVGRadialGradientElement.h:
9098         (WebCore::SVGRadialGradientElement::gradientType):
9099         * platform/graphics/svg/SVGPaintServer.cpp: Added.
9100         (WebCore::SVGPaintServer::SVGPaintServer):
9101         (WebCore::SVGPaintServer::~SVGPaintServer):
9102         (WebCore::SVGPaintServer::activeClient):
9103         (WebCore::SVGPaintServer::setActiveClient):
9104         (WebCore::SVGPaintServer::isPaintingText):
9105         (WebCore::SVGPaintServer::setPaintingText):
9106         (WebCore::operator<<):
9107         (WebCore::getPaintServerById):
9108         * platform/graphics/svg/SVGPaintServer.h: Added.
9109         (WebCore::):
9110         (WebCore::SVGPaintServer::isPaintServer):
9111         * platform/graphics/svg/SVGPaintServerGradient.cpp: Added.
9112         (WebCore::compareStopOffset):
9113         (WebCore::operator<<):
9114         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
9115         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
9116         (WebCore::SVGPaintServerGradient::gradientStops):
9117         (WebCore::SVGPaintServerGradient::setGradientStops):
9118         (WebCore::SVGPaintServerGradient::spreadMethod):
9119         (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
9120         (WebCore::SVGPaintServerGradient::boundingBoxMode):
9121         (WebCore::SVGPaintServerGradient::setBoundingBoxMode):
9122         (WebCore::SVGPaintServerGradient::gradientTransform):
9123         (WebCore::SVGPaintServerGradient::setGradientTransform):
9124         (WebCore::SVGPaintServerGradient::listener):
9125         (WebCore::SVGPaintServerGradient::setListener):
9126         (WebCore::SVGPaintServerGradient::externalRepresentation):
9127         * platform/graphics/svg/SVGPaintServerGradient.h: Added.
9128         (WebCore::):
9129         (WebCore::SVGPaintServerGradient::):
9130         (WebCore::makeGradientStop):
9131         * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Added.
9132         (WebCore::SVGPaintServerLinearGradient::SVGPaintServerLinearGradient):
9133         (WebCore::SVGPaintServerLinearGradient::~SVGPaintServerLinearGradient):
9134         (WebCore::SVGPaintServerLinearGradient::gradientStart):
9135         (WebCore::SVGPaintServerLinearGradient::setGradientStart):
9136         (WebCore::SVGPaintServerLinearGradient::gradientEnd):
9137         (WebCore::SVGPaintServerLinearGradient::setGradientEnd):
9138         (WebCore::SVGPaintServerLinearGradient::externalRepresentation):
9139         * platform/graphics/svg/SVGPaintServerLinearGradient.h: Added.
9140         (WebCore::SVGPaintServerLinearGradient::type):
9141         * platform/graphics/svg/SVGPaintServerPattern.cpp: Added.
9142         (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
9143         (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
9144         (WebCore::SVGPaintServerPattern::bbox):
9145         (WebCore::SVGPaintServerPattern::setBbox):
9146         (WebCore::SVGPaintServerPattern::boundingBoxMode):
9147         (WebCore::SVGPaintServerPattern::setBoundingBoxMode):
9148         (WebCore::SVGPaintServerPattern::tile):
9149         (WebCore::SVGPaintServerPattern::setTile):
9150         (WebCore::SVGPaintServerPattern::patternTransform):
9151         (WebCore::SVGPaintServerPattern::setPatternTransform):
9152         (WebCore::SVGPaintServerPattern::listener):
9153         (WebCore::SVGPaintServerPattern::setListener):
9154         (WebCore::SVGPaintServerPattern::externalRepresentation):
9155         * platform/graphics/svg/SVGPaintServerPattern.h: Added.
9156         (WebCore::SVGPaintServerPattern::type):
9157         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Added.
9158         (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
9159         (WebCore::SVGPaintServerRadialGradient::~SVGPaintServerRadialGradient):
9160         (WebCore::SVGPaintServerRadialGradient::gradientCenter):
9161         (WebCore::SVGPaintServerRadialGradient::setGradientCenter):
9162         (WebCore::SVGPaintServerRadialGradient::gradientFocal):
9163         (WebCore::SVGPaintServerRadialGradient::setGradientFocal):
9164         (WebCore::SVGPaintServerRadialGradient::gradientRadius):
9165         (WebCore::SVGPaintServerRadialGradient::setGradientRadius):
9166         (WebCore::SVGPaintServerRadialGradient::externalRepresentation):
9167         * platform/graphics/svg/SVGPaintServerRadialGradient.h: Added.
9168         (WebCore::SVGPaintServerRadialGradient::type):
9169         * platform/graphics/svg/SVGPaintServerSolid.cpp: Added.
9170         (WebCore::SVGPaintServerSolid::SVGPaintServerSolid):
9171         (WebCore::SVGPaintServerSolid::~SVGPaintServerSolid):
9172         (WebCore::SVGPaintServerSolid::color):
9173         (WebCore::SVGPaintServerSolid::setColor):
9174         (WebCore::SVGPaintServerSolid::externalRepresentation):
9175         * platform/graphics/svg/SVGPaintServerSolid.h: Added.
9176         (WebCore::SVGPaintServerSolid::type):
9177         * platform/graphics/svg/SVGResource.cpp:
9178         * platform/graphics/svg/SVGResource.h:
9179         * platform/graphics/svg/SVGResourceClipper.cpp:
9180         * platform/graphics/svg/SVGResourceMarker.cpp:
9181         * platform/graphics/svg/SVGResourceMasker.cpp:
9182         * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Added.
9183         (WebCore::SVGPaintServer::draw):
9184         (WebCore::SVGPaintServer::teardown):
9185         (WebCore::SVGPaintServer::renderPath):
9186         (WebCore::SVGPaintServer::strokePath):
9187         (WebCore::SVGPaintServer::clipToStrokePath):
9188         (WebCore::SVGPaintServer::fillPath):
9189         (WebCore::SVGPaintServer::clipToFillPath):
9190         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Added.
9191         (WebCore::cgGradientCallback):
9192         (WebCore::CGShadingRefForLinearGradient):
9193         (WebCore::CGShadingRefForRadialGradient):
9194         (WebCore::SVGPaintServerGradient::invalidateCaches):
9195         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
9196         (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
9197         (WebCore::SVGPaintServerGradient::teardown):
9198         (WebCore::SVGPaintServerGradient::renderPath):
9199         (WebCore::SVGPaintServerGradient::setup):
9200         (WebCore::SVGPaintServerGradient::invalidate):
9201         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Added.
9202         (WebCore::patternCallback):
9203         (WebCore::SVGPaintServerPattern::setup):
9204         (WebCore::SVGPaintServerPattern::teardown):
9205         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Added.
9206         (WebCore::SVGPaintServerSolid::setup):
9207         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Added.
9208         (WebCore::SVGPaintServerGradient::fillColorArray):
9209         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Added.
9210         (WebCore::SVGPaintServerLinearGradient::setup):
9211         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Added.
9212         (WebCore::SVGPaintServerPattern::setup):
9213         * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Added.
9214         (WebCore::SVGPaintServer::setPenProperties):
9215         (WebCore::SVGPaintServer::draw):
9216         (WebCore::SVGPaintServer::teardown):
9217         (WebCore::SVGPaintServer::renderPath):
9218         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Added.
9219         (WebCore::setup):
9220         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Added.
9221         (WebCore::SVGPaintServerSolid::setup):
9222         * rendering/RenderPath.cpp:
9223         (WebCore::RenderPath::paint):
9224         * rendering/SVGInlineFlowBox.cpp:
9225         (WebCore::paintSVGInlineFlow):
9226         * rendering/SVGRenderTreeAsText.cpp:
9227         (WebCore::writeStyle):
9228         (WebCore::writeRenderResources):
9230 2006-11-21  Alex Taylor  <darwin@techvisual.co.nz>
9232         Reviewed by Mitz.
9234         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11587
9236         Adds calculations for bottom right radius's position
9237         which was being drawn incorrectly.
9239         * rendering/RenderObject.cpp:
9240         (WebCore::RenderObject::paintBorder):
9242 2006-11-20  Rob Buis  <buis@kde.org>
9244         Reviewed by Maciej.
9246         http://bugs.webkit.org/show_bug.cgi?id=11519
9247         REGRESSION: Disabled file upload control doesn't have disabled appearance, failing fast/forms/file-input-disabled.html
9249         Transport disabled state from DOM element to the shadow
9250         DOM/render object.
9252         * rendering/RenderFileUploadControl.cpp:
9253         (WebCore::RenderFileUploadControl::updateFromElement):
9254         * rendering/RenderTheme.h:
9256 2006-11-20  Anders Carlsson  <acarlsson@apple.com>
9258         Reviewed by Maciej.
9260         * loader/TextResourceDecoder.cpp:
9261         (WebCore::findXMLEncoding):
9262         Use CString instead of DeprecatedCString.
9263         
9264         * platform/CString.cpp:
9265         (WebCore::CString::find):
9266         * platform/CString.h:
9267         (WebCore::CString::data):
9268         Add find method, make data method inline.
9269         
9270         * platform/TextStream.cpp:
9271         * platform/TextStream.h:
9272         Remove DeprecatedCString functions.
9274 2006-11-20  Anders Carlsson  <acarlsson@apple.com>
9276         Reviewed by Maciej.
9278         Use CString instead of DeprecatedCString.
9279         
9280         * html/FormDataList.cpp:
9281         (WebCore::FormDataList::appendString):
9282         (WebCore::fixLineBreaks):
9283         (WebCore::FormDataList::appendFile):
9285 2006-11-20  Samuel Weinig  <sam@webkit.org>
9287         Reviewed by Alexey.
9289         Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
9290         Fix Windows build
9292         * WebCore.vcproj/WebCore/WebCore.vcproj:
9293         * bridge/win/ContextMenuClientWin.h:
9294         * bridge/win/EditorClientWin.h:
9295         * bridge/win/FrameWin.h:
9296         * platform/win/TemporaryLinkStubs.cpp:
9297         (WebCore::ContextMenu::show):
9298         (WebCore::ContextMenuClientWin::copyLinkToClipboard):
9299         (WebCore::ContextMenuClientWin::downloadURL):
9300         (WebCore::ContextMenuClientWin::copyImageToClipboard):
9301         (WebCore::ContextMenuClientWin::lookUpInDictionary):
9302         (WebCore::EditorClientWin::shouldInsertText):
9303         (WebCore::FrameLoader::reload):
9304         (WebCore::FrameWin::ignoreSpelling):
9305         (WebCore::FrameWin::learnSpelling):
9307 2006-11-20  Alexey Proskuryakov  <ap@webkit.org>
9309         Reviewed by Maciej.
9311         http://bugs.webkit.org/show_bug.cgi?id=10736
9312         XMLHttpRequest.responseXML should be null on error
9314         * dom/XMLTokenizer.cpp:
9315         (WebCore::XMLTokenizer::wellFormed):
9316         * dom/XMLTokenizer.h:
9317         (WebCore::Tokenizer::wellFormed):
9318         * dom/Document.cpp:
9319         (WebCore::Document::Document):
9320         (WebCore::Document::implicitClose):
9321         * dom/Document.h:
9322         (WebCore::Document::wellFormed):
9323         Tell whether XMLTokenizer saw an error. Always true (success) for HTML.
9325         * xml/xmlhttprequest.cpp:
9326         (WebCore::XMLHttpRequest::getResponseXML): Set the document to null if it's not well-formed.
9328 2006-11-20  Alexey Proskuryakov  <ap@webkit.org>
9330         Reviewed by Sam Weinig.
9332         http://bugs.webkit.org/show_bug.cgi?id=11633
9333         Implement XMLDocument properties xmlEncoding, xmlVersion, xmlStandalone
9335         * dom/Document.cpp:
9336         (WebCore::Document::Document):
9337         (WebCore::Document::setXMLVersion):
9338         (WebCore::Document::setXMLStandalone):
9339         * dom/Document.h:
9340         (WebCore::Document::xmlEncoding):
9341         (WebCore::Document::xmlVersion):
9342         (WebCore::Document::xmlStandalone):
9343         (WebCore::Document::setXMLEncoding):
9344         * dom/Document.idl:
9345         * dom/XMLTokenizer.cpp:
9346         (WebCore::XMLTokenizer::startDocument):
9347         (WebCore::startDocumentHandler):
9348         (WebCore::XMLTokenizer::initializeParserContext):
9349         Added support for these properties, getting them from an libxml2 context.
9351         * html/HTMLDocument.cpp:
9352         (WebCore::HTMLDocument::HTMLDocument):
9353         HTMLDocument is the only kind of document that doesn't have xmlVersion default to "1.0".
9355         * bindings/scripts/CodeGeneratorJS.pm:
9356         * bindings/scripts/CodeGeneratorObjC.pm:
9357         Added WK_ucfirst to properly uppercase xmlVersion and xmlStandalone.
9359 2006-11-20  Nikolas Zimmermann  <zimmermann@kde.org>
9361         Reviewed by Rob.
9363         Fix Qt/Linux build.
9365         * platform/qt/ContextMenuClientQt.cpp:
9366         (WebCore::ContextMenuClientQt::ref):
9367         (WebCore::ContextMenuClientQt::deref):
9368         (WebCore::ContextMenuClientQt::copyLinkToClipboard):
9369         (WebCore::ContextMenuClientQt::downloadURL):
9370         (WebCore::ContextMenuClientQt::copyImageToClipboard):
9371         (WebCore::ContextMenuClientQt::lookUpInDictionary):
9372         * platform/qt/ContextMenuClientQt.h:
9373         * platform/qt/ContextMenuQt.cpp:
9374         (WebCore::ContextMenu::appendItem):
9375         (WebCore::ContextMenu::show):
9376         (WebCore::ContextMenu::itemCount):
9377         (WebCore::ContextMenu::insertItem):
9378         * platform/qt/EditorClientQt.cpp:
9379         (WebCore::EditorClientQt::shouldInsertText):
9380         * platform/qt/EditorClientQt.h:
9381         * platform/qt/FrameQt.cpp:
9382         (WebCore::FrameQt::ignoreSpelling):
9383         (WebCore::FrameQt::learnSpelling):
9384         * platform/qt/FrameQt.h:
9385         * platform/qt/TemporaryLinkStubs.cpp:
9386         (FrameLoader::reload):
9388 2006-11-20  Samuel Weinig  <sam@webkit.org>
9390         Reviewed by Maciej.
9392         Fix for http://bugs.webkit.org/show_bug.cgi?id=11647
9393         Fix Win32 build
9395         * config.h: add #define NOMINMAX for windows build
9396         * platform/win/FontCacheWin.cpp:
9397         (WebCore::FontCache::createFontPlatformData):
9398         * platform/win/TemporaryLinkStubs.cpp: add definitions for 
9399         new cursors.
9400         (WebCore::aliasCursor):
9401         (WebCore::noDropCursor):
9402         (WebCore::progressCursor):
9404 2006-11-19  Beth Dakin  <bdakin@apple.com>
9406         Reviewed by Adam.
9408         Implementation of actions for the new context menus.
9410         * WebCore.exp:
9411         * WebCore.xcodeproj/project.pbxproj:
9412         * bridge/EditorClient.h: Declaration of shouldInsertText.
9413         * bridge/mac/FrameMac.h: Two new spelling functions.
9414         * bridge/mac/FrameMac.mm:
9415         (WebCore::FrameMac::ignoreSpelling):
9416         (WebCore::FrameMac::learnSpelling):
9417         * editing/Editor.cpp:
9418         (WebCore::Editor::shouldInsertText): Call into the client.
9419         * editing/Editor.h:
9420         * editing/EditorInsertAction.h: Added.
9421         (WebCore::): The WebCore equivalent of WebViewInsertAction. This is 
9422         defined in its own header so that we can use it from Editor.h and 
9423         EditorClient.h without having one of the above include the other.
9424         * page/ContextMenuClient.h: A few currently WebKit-implemented 
9425         function needed for menu actions.
9426         * page/ContextMenuController.cpp:
9427         (WebCore::makeGoogleSearchURL):
9428         (WebCore::ContextMenuController::contextMenuActionSelected): The 
9429         actions!
9430         * page/ContextMenuController.h:
9431         * page/Frame.h: New pure-virtual spelling functions.
9432         * platform/ContextMenu.cpp:
9433         (WebCore::ContextMenu::controller): Get the controller from the 
9434         menu.
9435         * platform/ContextMenu.h:
9436         * platform/mac/ContextMenuMac.mm:
9437         (-[MenuTarget 
9438         forwardContextMenuAction:initWithContextMenuController:WebCore::]): 
9439         Use the controller instead of the menu
9440         (-[MenuTarget WebCore::]):
9441         (-[MenuTarget setMenuController:WebCore::]):
9442         (-[MenuTarget forwardContextMenuAction:]):
9443         (getNSMenuItem):
9444         (ContextMenu::show):
9445         (ContextMenu::hide):
9447 2006-11-19  Simon Hausmann  <hausmann@kde.org>
9449         Reviewed by Zack.
9451         http://bugs.webkit.org/show_bug.cgi?id=11649
9452         Fix CMake files for Qt-only build without KDE cmake files.
9453         Fix Qt/KDE build for the SVG support.
9454         Fix Qt-only build in the resource handler.
9456         * CMakeLists.txt:
9457         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Added.
9458         (WebCore::SVGResourceFilter::SVGResourceFilter):
9459         (WebCore::SVGResourceFilter::~SVGResourceFilter):
9460         (WebCore::SVGResourceFilter::prepareFilter):
9461         (WebCore::SVGResourceFilter::applyFilter):
9462         * platform/network/qt/ResourceHandleManager.cpp:
9463         (WebCore::ResourceHandleManager::cancel):
9464         (WebCore::ResourceHandleManager::slotData):
9465         (WebCore::ResourceHandleManager::slotMimetype):
9466         (WebCore::ResourceHandleManager::slotResult):
9467         (WebCore::ResourceHandleManager::deliverJobData):
9468         * platform/network/qt/ResourceHandleManager.h:
9469         * platform/network/qt/ResourceHandleQt.cpp:
9470         * platform/qt/CursorQt.cpp:
9471         (WebCore::noDropCursor):
9472         (WebCore::progressCursor):
9473         (WebCore::aliasCursor):
9475 2006-11-19  Mitz Pettel  <mitz@webkit.org>
9477         Reviewed by Maciej.
9479         - http://bugs.webkit.org/show_bug.cgi?id=11626
9480           Automate test for rdar://problem/4056100
9482         * manual-tests/delete-into-nested-block.html: Removed.
9484 2006-11-19  Nikolas Zimmermann  <zimmermann@kde.org>
9486         Reviewed by Oliver.
9488         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11596
9490         Split up KCanvasFilters & KCanvasFilterQuartz into several
9491         new classes (SVGFEBlend, SVGFEComposite...) and move them
9492         into platform/graphics/svg. This is still a temporary location,
9493         as discussed with Darin; the whole platform/graphics/svg directory
9494         will probably be moved into ksvg2/ in near future.
9496         This finally removes the duplicated enumerations in the svg filter
9497         classes and within kcanvas. ksvg2/ and platform/graphics/svg share
9498         their enums now. As KCanvasFilters is gone now, The kcanvas/ subdirectory
9499         is empty.
9501         * CMakeLists.txt:
9502         * WebCore.xcodeproj/project.pbxproj:
9503         * bindings/scripts/CodeGeneratorJS.pm:
9504         * kcanvas/KCanvasFilters.cpp: Removed.
9505         * kcanvas/KCanvasFilters.h: Removed.
9506         * kcanvas/device/KRenderingDevice.h:
9507         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
9508         (WebCore::KRenderingDeviceQt::createFilterEffect):
9509         * kcanvas/device/qt/KRenderingDeviceQt.h:
9510         * kcanvas/device/quartz/KCanvasFilterQuartz.h: Removed.
9511         * kcanvas/device/quartz/KCanvasFilterQuartz.mm: Removed.
9512         * kcanvas/device/quartz/KCanvasItemQuartz.cpp:
9513         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
9514         (WebCore::KRenderingDeviceQuartz::createResource):
9515         (WebCore::KRenderingDeviceQuartz::createFilterEffect):
9516         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
9517         * kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel: Removed.
9518         * kcanvas/device/quartz/filters/WKArithmeticFilter.h: Removed.
9519         * kcanvas/device/quartz/filters/WKArithmeticFilter.m: Removed.
9520         * kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Removed.
9521         * kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Removed.
9522         * kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Removed.
9523         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.cikernel: Removed.
9524         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.h: Removed.
9525         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m: Removed.
9526         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Removed.
9527         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Removed.
9528         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Removed.
9529         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Removed.
9530         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Removed.
9531         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Removed.
9532         * kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel: Removed.
9533         * kcanvas/device/quartz/filters/WKDistantLightFilter.h: Removed.
9534         * kcanvas/device/quartz/filters/WKDistantLightFilter.m: Removed.
9535         * kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Removed.
9536         * kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Removed.
9537         * kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Removed.
9538         * kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Removed.
9539         * kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Removed.
9540         * kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Removed.
9541         * kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Removed.
9542         * kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Removed.
9543         * kcanvas/device/quartz/filters/WKNormalMapFilter.cikernel: Removed.
9544         * kcanvas/device/quartz/filters/WKNormalMapFilter.h: Removed.
9545         * kcanvas/device/quartz/filters/WKNormalMapFilter.m: Removed.
9546         * kcanvas/device/quartz/filters/WKPointLightFilter.cikernel: Removed.
9547         * kcanvas/device/quartz/filters/WKPointLightFilter.h: Removed.
9548         * kcanvas/device/quartz/filters/WKPointLightFilter.m: Removed.
9549         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.cikernel: Removed.
9550         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.h: Removed.
9551         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m: Removed.
9552         * kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel: Removed.
9553         * kcanvas/device/quartz/filters/WKSpotLightFilter.h: Removed.
9554         * kcanvas/device/quartz/filters/WKSpotLightFilter.m: Removed.
9555         * kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Removed.
9556         * kcanvas/device/quartz/filters/WKTableTransferFilter.h: Removed.
9557         * kcanvas/device/quartz/filters/WKTableTransferFilter.m: Removed.
9558         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
9559         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
9560         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
9561         * ksvg2/svg/SVGFEBlendElement.cpp:
9562         (WebCore::SVGFEBlendElement::filterEffect):
9563         * ksvg2/svg/SVGFEBlendElement.h:
9564         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
9565         (WebCore::SVGFEColorMatrixElement::filterEffect):
9566         * ksvg2/svg/SVGFEColorMatrixElement.h:
9567         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
9568         (WebCore::SVGFEComponentTransferElement::filterEffect):
9569         * ksvg2/svg/SVGFEComponentTransferElement.h:
9570         * ksvg2/svg/SVGFECompositeElement.cpp:
9571         (WebCore::SVGFECompositeElement::filterEffect):
9572         * ksvg2/svg/SVGFECompositeElement.h:
9573         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
9574         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
9575         (WebCore::SVGFEDiffuseLightingElement::updateLights):
9576         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
9577         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
9578         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
9579         (WebCore::SVGFEDisplacementMapElement::filterEffect):
9580         * ksvg2/svg/SVGFEDisplacementMapElement.h:
9581         * ksvg2/svg/SVGFEDistantLightElement.cpp:
9582         (WebCore::SVGFEDistantLightElement::lightSource):
9583         * ksvg2/svg/SVGFEDistantLightElement.h:
9584         * ksvg2/svg/SVGFEFloodElement.cpp:
9585         (WebCore::SVGFEFloodElement::filterEffect):
9586         * ksvg2/svg/SVGFEFloodElement.h:
9587         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
9588         (WebCore::SVGFEGaussianBlurElement::filterEffect):
9589         * ksvg2/svg/SVGFEGaussianBlurElement.h:
9590         * ksvg2/svg/SVGFEImageElement.cpp:
9591         (WebCore::SVGFEImageElement::filterEffect):
9592         * ksvg2/svg/SVGFEImageElement.h:
9593         * ksvg2/svg/SVGFELightElement.h:
9594         * ksvg2/svg/SVGFEMergeElement.cpp:
9595         (WebCore::SVGFEMergeElement::filterEffect):
9596         * ksvg2/svg/SVGFEMergeElement.h:
9597         * ksvg2/svg/SVGFEOffsetElement.cpp:
9598         (WebCore::SVGFEOffsetElement::filterEffect):
9599         * ksvg2/svg/SVGFEOffsetElement.h:
9600         * ksvg2/svg/SVGFEPointLightElement.cpp:
9601         (WebCore::SVGFEPointLightElement::lightSource):
9602         * ksvg2/svg/SVGFEPointLightElement.h:
9603         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
9604         (WebCore::SVGFESpecularLightingElement::filterEffect):
9605         (WebCore::SVGFESpecularLightingElement::updateLights):
9606         * ksvg2/svg/SVGFESpecularLightingElement.h:
9607         * ksvg2/svg/SVGFESpotLightElement.cpp:
9608         (WebCore::SVGFESpotLightElement::lightSource):
9609         * ksvg2/svg/SVGFESpotLightElement.h:
9610         * ksvg2/svg/SVGFETileElement.cpp:
9611         (WebCore::SVGFETileElement::filterEffect):
9612         * ksvg2/svg/SVGFETileElement.h:
9613         * ksvg2/svg/SVGFETurbulenceElement.cpp:
9614         (WebCore::SVGFETurbulenceElement::filterEffect):
9615         * ksvg2/svg/SVGFETurbulenceElement.h:
9616         (WebCore::):
9617         * ksvg2/svg/SVGFilterElement.cpp:
9618         (WebCore::SVGFilterElement::canvasResource):
9619         * ksvg2/svg/SVGFilterElement.h:
9620         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
9621         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
9622         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
9623         * platform/graphics/FloatPoint3D.cpp: Added.
9624         (WebCore::FloatPoint3D::FloatPoint3D):
9625         (WebCore::FloatPoint3D::x):
9626         (WebCore::FloatPoint3D::setX):
9627         (WebCore::FloatPoint3D::y):
9628         (WebCore::FloatPoint3D::setY):
9629         (WebCore::FloatPoint3D::z):
9630         (WebCore::FloatPoint3D::setZ):
9631         (WebCore::FloatPoint3D::normalize):
9632         * platform/graphics/FloatPoint3D.h: Added.
9633         * platform/graphics/svg/SVGResourceFilter.cpp: Added.
9634         (WebCore::SVGResourceFilter::clearEffects):
9635         (WebCore::SVGResourceFilter::addFilterEffect):
9636         (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
9637         (WebCore::SVGResourceFilter::externalRepresentation):
9638         (WebCore::getFilterById):
9639         * platform/graphics/svg/SVGResourceFilter.h: Added.
9640         (WebCore::SVGResourceFilter::isFilter):
9641         (WebCore::SVGResourceFilter::filterBoundingBoxMode):
9642         (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
9643         (WebCore::SVGResourceFilter::effectBoundingBoxMode):
9644         (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
9645         (WebCore::SVGResourceFilter::filterRect):
9646         (WebCore::SVGResourceFilter::setFilterRect):
9647         * platform/graphics/svg/SVGResourceImage.h:
9648         * platform/graphics/svg/SVGResourceListener.h:
9649         (SVGResourceListener::SVGResourceListener):
9650         (SVGResourceListener::~SVGResourceListener):
9651         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
9652         * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Added.
9653         (WebCore::SVGResourceFilter::SVGResourceFilter):
9654         (WebCore::SVGResourceFilter::~SVGResourceFilter):
9655         (WebCore::SVGResourceFilter::prepareFilter):
9656         (WebCore::SVGResourceFilter::applyFilter):
9657         (WebCore::SVGResourceFilter::getCIFilterStack):
9658         (WebCore::SVGResourceFilter::imageForName):
9659         (WebCore::SVGResourceFilter::setImageForName):
9660         (WebCore::SVGResourceFilter::setOutputImage):
9661         (WebCore::alphaImageForImage):
9662         (WebCore::SVGResourceFilter::inputImage):
9663         * platform/graphics/svg/cg/SVGResourceMaskerCg.h: Removed.
9664         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
9665         * platform/graphics/svg/filters/SVGDistantLightSource.h: Added.
9666         (WebCore::SVGDistantLightSource::SVGDistantLightSource):
9667         (WebCore::SVGDistantLightSource::azimuth):
9668         (WebCore::SVGDistantLightSource::elevation):
9669         * platform/graphics/svg/filters/SVGFEBlend.cpp: Added.
9670         (WebCore::SVGFEBlend::in2):
9671         (WebCore::SVGFEBlend::setIn2):
9672         (WebCore::SVGFEBlend::blendMode):
9673         (WebCore::SVGFEBlend::setBlendMode):
9674         (WebCore::operator<<):
9675         (WebCore::SVGFEBlend::externalRepresentation):
9676         * platform/graphics/svg/filters/SVGFEBlend.h: Added.
9677         (WebCore::):
9678         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Added.
9679         (WebCore::SVGFEColorMatrix::type):
9680         (WebCore::SVGFEColorMatrix::setType):
9681         (WebCore::SVGFEColorMatrix::values):
9682         (WebCore::SVGFEColorMatrix::setValues):
9683         (WebCore::operator<<):
9684         (WebCore::SVGFEColorMatrix::externalRepresentation):
9685         * platform/graphics/svg/filters/SVGFEColorMatrix.h: Added.
9686         (WebCore::):
9687         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Added.
9688         (WebCore::SVGFEComponentTransfer::redFunction):
9689         (WebCore::SVGFEComponentTransfer::setRedFunction):
9690         (WebCore::SVGFEComponentTransfer::greenFunction):
9691         (WebCore::SVGFEComponentTransfer::setGreenFunction):
9692         (WebCore::SVGFEComponentTransfer::blueFunction):
9693         (WebCore::SVGFEComponentTransfer::setBlueFunction):
9694         (WebCore::SVGFEComponentTransfer::alphaFunction):
9695         (WebCore::SVGFEComponentTransfer::setAlphaFunction):
9696         (WebCore::operator<<):
9697         (WebCore::SVGFEComponentTransfer::externalRepresentation):
9698         * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Added.
9699         (WebCore::):
9700         (WebCore::SVGComponentTransferFunction::SVGComponentTransferFunction):
9701         * platform/graphics/svg/filters/SVGFEComposite.cpp: Added.
9702         (WebCore::SVGFEComposite::in2):
9703         (WebCore::SVGFEComposite::setIn2):
9704         (WebCore::SVGFEComposite::operation):
9705         (WebCore::SVGFEComposite::setOperation):
9706         (WebCore::SVGFEComposite::k1):
9707         (WebCore::SVGFEComposite::setK1):
9708         (WebCore::SVGFEComposite::k2):
9709         (WebCore::SVGFEComposite::setK2):
9710         (WebCore::SVGFEComposite::k3):
9711         (WebCore::SVGFEComposite::setK3):
9712         (WebCore::SVGFEComposite::k4):
9713         (WebCore::SVGFEComposite::setK4):
9714         (WebCore::SVGFEComposite::externalRepresentation):
9715         * platform/graphics/svg/filters/SVGFEComposite.h: Added.
9716         (WebCore::):
9717         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Added.
9718         (WebCore::SVGFEConvolveMatrix::kernelSize):
9719         (WebCore::SVGFEConvolveMatrix::setKernelSize):
9720         (WebCore::SVGFEConvolveMatrix::kernel):
9721         (WebCore::SVGFEConvolveMatrix::setKernel):
9722         (WebCore::SVGFEConvolveMatrix::divisor):
9723         (WebCore::SVGFEConvolveMatrix::setDivisor):
9724         (WebCore::SVGFEConvolveMatrix::bias):
9725         (WebCore::SVGFEConvolveMatrix::setBias):
9726         (WebCore::SVGFEConvolveMatrix::targetOffset):
9727         (WebCore::SVGFEConvolveMatrix::setTargetOffset):
9728         (WebCore::SVGFEConvolveMatrix::edgeMode):
9729         (WebCore::SVGFEConvolveMatrix::setEdgeMode):
9730         (WebCore::SVGFEConvolveMatrix::kernelUnitLength):
9731         (WebCore::SVGFEConvolveMatrix::setKernelUnitLength):
9732         (WebCore::SVGFEConvolveMatrix::preserveAlpha):
9733         (WebCore::SVGFEConvolveMatrix::setPreserveAlpha):
9734         (WebCore::operator<<):
9735         (WebCore::SVGFEConvolveMatrix::externalRepresentation):
9736         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Added.
9737         (WebCore::):
9738         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Added.
9739         (WebCore::SVGFEDiffuseLighting::SVGFEDiffuseLighting):
9740         (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
9741         (WebCore::SVGFEDiffuseLighting::lightingColor):
9742         (WebCore::SVGFEDiffuseLighting::setLightingColor):
9743         (WebCore::SVGFEDiffuseLighting::surfaceScale):
9744         (WebCore::SVGFEDiffuseLighting::setSurfaceScale):
9745         (WebCore::SVGFEDiffuseLighting::diffuseConstant):
9746         (WebCore::SVGFEDiffuseLighting::setDiffuseConstant):
9747         (WebCore::SVGFEDiffuseLighting::kernelUnitLengthX):
9748         (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthX):
9749         (WebCore::SVGFEDiffuseLighting::kernelUnitLengthY):
9750         (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthY):
9751         (WebCore::SVGFEDiffuseLighting::lightSource):
9752         (WebCore::SVGFEDiffuseLighting::setLightSource):
9753         (WebCore::SVGFEDiffuseLighting::externalRepresentation):
9754         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Added.
9755         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Added.
9756         (WebCore::SVGFEDisplacementMap::SVGFEDisplacementMap):
9757         (WebCore::SVGFEDisplacementMap::in2):
9758         (WebCore::SVGFEDisplacementMap::setIn2):
9759         (WebCore::SVGFEDisplacementMap::xChannelSelector):
9760         (WebCore::SVGFEDisplacementMap::setXChannelSelector):
9761         (WebCore::SVGFEDisplacementMap::yChannelSelector):
9762         (WebCore::SVGFEDisplacementMap::setYChannelSelector):
9763         (WebCore::SVGFEDisplacementMap::scale):
9764         (WebCore::SVGFEDisplacementMap::setScale):
9765         (WebCore::operator<<):
9766         (WebCore::SVGFEDisplacementMap::externalRepresentation):
9767         * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Added.
9768         (WebCore::):
9769         * platform/graphics/svg/filters/SVGFEFlood.cpp: Added.
9770         (WebCore::SVGFEFlood::floodColor):
9771         (WebCore::SVGFEFlood::setFloodColor):
9772         (WebCore::SVGFEFlood::floodOpacity):
9773         (WebCore::SVGFEFlood::setFloodOpacity):
9774         (WebCore::SVGFEFlood::externalRepresentation):
9775         * platform/graphics/svg/filters/SVGFEFlood.h: Added.
9776         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Added.
9777         (WebCore::SVGFEGaussianBlur::stdDeviationX):
9778         (WebCore::SVGFEGaussianBlur::setStdDeviationX):
9779         (WebCore::SVGFEGaussianBlur::stdDeviationY):
9780         (WebCore::SVGFEGaussianBlur::setStdDeviationY):
9781         (WebCore::SVGFEGaussianBlur::externalRepresentation):
9782         * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Added.
9783         * platform/graphics/svg/filters/SVGFEImage.cpp: Added.
9784         (WebCore::SVGFEImage::SVGFEImage):
9785         (WebCore::SVGFEImage::~SVGFEImage):
9786         (WebCore::SVGFEImage::cachedImage):
9787         (WebCore::SVGFEImage::setCachedImage):
9788         (WebCore::SVGFEImage::externalRepresentation):
9789         * platform/graphics/svg/filters/SVGFEImage.h: Added.
9790         * platform/graphics/svg/filters/SVGFEMerge.cpp: Added.
9791         (WebCore::SVGFEMerge::mergeInputs):
9792         (WebCore::SVGFEMerge::setMergeInputs):
9793         (WebCore::SVGFEMerge::externalRepresentation):
9794         * platform/graphics/svg/filters/SVGFEMerge.h: Added.
9795         * platform/graphics/svg/filters/SVGFEMorphology.cpp: Added.
9796         (WebCore::SVGFEMorphology::morphologyOperator):
9797         (WebCore::SVGFEMorphology::setMorphologyOperator):
9798         (WebCore::SVGFEMorphology::radiusX):
9799         (WebCore::SVGFEMorphology::setRadiusX):
9800         (WebCore::SVGFEMorphology::radiusY):
9801         (WebCore::SVGFEMorphology::setRadiusY):
9802         (WebCore::operator<<):
9803         (WebCore::SVGFEMorphology::externalRepresentation):
9804         * platform/graphics/svg/filters/SVGFEMorphology.h: Added.
9805         (WebCore::):
9806         * platform/graphics/svg/filters/SVGFEOffset.cpp: Added.
9807         (WebCore::SVGFEOffset::dx):
9808         (WebCore::SVGFEOffset::setDx):
9809         (WebCore::SVGFEOffset::dy):
9810         (WebCore::SVGFEOffset::setDy):
9811         (WebCore::SVGFEOffset::externalRepresentation):
9812         * platform/graphics/svg/filters/SVGFEOffset.h: Added.
9813         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Added.
9814         (WebCore::SVGFESpecularLighting::SVGFESpecularLighting):
9815         (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
9816         (WebCore::SVGFESpecularLighting::lightingColor):
9817         (WebCore::SVGFESpecularLighting::setLightingColor):
9818         (WebCore::SVGFESpecularLighting::surfaceScale):
9819         (WebCore::SVGFESpecularLighting::setSurfaceScale):
9820         (WebCore::SVGFESpecularLighting::specularConstant):
9821         (WebCore::SVGFESpecularLighting::setSpecularConstant):
9822         (WebCore::SVGFESpecularLighting::specularExponent):
9823         (WebCore::SVGFESpecularLighting::setSpecularExponent):
9824         (WebCore::SVGFESpecularLighting::kernelUnitLengthX):
9825         (WebCore::SVGFESpecularLighting::setKernelUnitLengthX):
9826         (WebCore::SVGFESpecularLighting::kernelUnitLengthY):
9827         (WebCore::SVGFESpecularLighting::setKernelUnitLengthY):
9828         (WebCore::SVGFESpecularLighting::lightSource):
9829         (WebCore::SVGFESpecularLighting::setLightSource):
9830         (WebCore::SVGFESpecularLighting::externalRepresentation):
9831         * platform/graphics/svg/filters/SVGFESpecularLighting.h: Added.
9832         * platform/graphics/svg/filters/SVGFETile.h: Added.
9833         * platform/graphics/svg/filters/SVGFETurbulence.cpp: Added.
9834         (WebCore::SVGFETurbulence::type):
9835         (WebCore::SVGFETurbulence::setType):
9836         (WebCore::SVGFETurbulence::baseFrequencyY):
9837         (WebCore::SVGFETurbulence::setBaseFrequencyY):
9838         (WebCore::SVGFETurbulence::baseFrequencyX):
9839         (WebCore::SVGFETurbulence::setBaseFrequencyX):
9840         (WebCore::SVGFETurbulence::seed):
9841         (WebCore::SVGFETurbulence::setSeed):
9842         (WebCore::SVGFETurbulence::numOctaves):
9843         (WebCore::SVGFETurbulence::setNumOctaves):
9844         (WebCore::SVGFETurbulence::stitchTiles):
9845         (WebCore::SVGFETurbulence::setStitchTiles):
9846         (WebCore::operator<<):
9847         (WebCore::SVGFETurbulence::externalRepresentation):
9848         * platform/graphics/svg/filters/SVGFETurbulence.h: Added.
9849         (WebCore::):
9850         * platform/graphics/svg/filters/SVGFilterEffect.cpp: Added.
9851         (WebCore::SVGFilterEffect::subRegion):
9852         (WebCore::SVGFilterEffect::setSubRegion):
9853         (WebCore::SVGFilterEffect::in):
9854         (WebCore::SVGFilterEffect::setIn):
9855         (WebCore::SVGFilterEffect::result):
9856         (WebCore::SVGFilterEffect::setResult):
9857         (WebCore::SVGFilterEffect::externalRepresentation):
9858         (WebCore::operator<<):
9859         * platform/graphics/svg/filters/SVGFilterEffect.h: Added.
9860         (WebCore::):
9861         (WebCore::SVGFilterEffect::SVGFilterEffect):
9862         (WebCore::SVGFilterEffect::~SVGFilterEffect):
9863         (WebCore::SVGFilterEffect::effectType):
9864         * platform/graphics/svg/filters/SVGLightSource.cpp: Added.
9865         (WebCore::operator<<):
9866         (WebCore::SVGPointLightSource::externalRepresentation):
9867         (WebCore::SVGSpotLightSource::externalRepresentation):
9868         (WebCore::SVGDistantLightSource::externalRepresentation):
9869         * platform/graphics/svg/filters/SVGLightSource.h: Added.
9870         (WebCore::):
9871         (WebCore::SVGLightSource::SVGLightSource):
9872         (WebCore::SVGLightSource::~SVGLightSource):
9873         (WebCore::SVGLightSource::type):
9874         * platform/graphics/svg/filters/SVGPointLightSource.h: Added.
9875         (WebCore::SVGPointLightSource::SVGPointLightSource):
9876         (WebCore::SVGPointLightSource::position):
9877         * platform/graphics/svg/filters/SVGSpotLightSource.h: Added.
9878         (WebCore::SVGSpotLightSource::SVGSpotLightSource):
9879         (WebCore::SVGSpotLightSource::position):
9880         (WebCore::SVGSpotLightSource::direction):
9881         (WebCore::SVGSpotLightSource::specularExponent):
9882         (WebCore::SVGSpotLightSource::limitingConeAngle):
9883         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Added.
9884         (WebCore::SVGFEBlend::getCIFilter):
9885         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Added.
9886         (WebCore::SVGFEColorMatrix::getCIFilter):
9887         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Added.
9888         (WebCore::genImageFromTable):
9889         (WebCore::setParametersForComponentFunc):
9890         (WebCore::filterForComponentFunc):
9891         (WebCore::getFilterForFunc):
9892         (WebCore::SVGFEComponentTransfer::getFunctionFilter):
9893         (WebCore::SVGFEComponentTransfer::getCIFilter):
9894         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Added.
9895         (WebCore::SVGFEComposite::getCIFilter):
9896         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Added.
9897         (WebCore::SVGFEDiffuseLighting::getCIFilter):
9898         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Added.
9899         (WebCore::SVGFEDisplacementMap::getCIFilter):
9900         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Added.
9901         (WebCore::SVGFEFlood::getCIFilter):
9902         * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Added.
9903         (WebCore::SVGFEGaussianBlur::getCIFilter):
9904         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Added.
9905         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Added.
9906         (WebCore::getVectorForChannel):
9907         (WebCore::ciColor):
9908         (WebCore::getPointLightVectors):
9909         (WebCore::getLightVectors):
9910         (WebCore::getNormalMap):
9911         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Added.
9912         (WebCore::SVGFEImage::getCIFilter):
9913         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Added.
9914         (WebCore::SVGFEMerge::getCIFilter):
9915         * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Added.
9916         (WebCore::SVGFEOffset::getCIFilter):
9917         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Added.
9918         (WebCore::SVGFESpecularLighting::getCIFilter):
9919         * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Added.
9920         (WebCore::SVGFETile::getCIFilter):
9921         * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Added.
9922         (WebCore::SVGFilterEffect::getCIFilter):
9923         * rendering/RenderPath.cpp:
9924         (WebCore::RenderPath::getAbsoluteRepaintRect):
9925         (WebCore::RenderPath::paint):
9926         * rendering/RenderSVGContainer.cpp:
9927         (WebCore::RenderSVGContainer::paint):
9928         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
9929         * rendering/RenderSVGImage.cpp:
9930         (WebCore::RenderSVGImage::paint):
9931         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
9932         * rendering/SVGInlineFlowBox.cpp:
9933         (WebCore::paintSVGInlineFlow):
9935 2006-11-18  Rob Buis  <buis@kde.org>
9937         Reviewed by Maciej.
9939         http://bugs.webkit.org/show_bug.cgi?id=11321
9940         Element with :target pseudo-class still matched after fragment identifier change
9942         Make sure the page does a style recalculation and possible rendering
9943         when navigating back from a page with an anchor to a page without
9944         an anchor.
9946         * loader/FrameLoader.cpp:
9947         (WebCore::FrameLoader::gotoAnchor):
9949 2006-11-18  Peter Kasting  <pkasting@google.com>
9951         Reviewed by Sam Weinig.
9953         http://bugs.webkit.org/show_bug.cgi?id=11634:
9954         Fix segfault on startup for Windows build.  Also fix segfault when
9955         typing in a URL.
9956         Clean up some of the style of the patch that landed in r17816.
9958         * WebCore.vcproj/WebCore/WebCore.vcproj:
9959         * bridge/win/ChromeClientWin.h:
9960         (WebCore::ChromeClientWin::~ChromeClientWin):
9961         (WebCore::ChromeClientWin::ref):
9962         (WebCore::ChromeClientWin::deref):
9963         * bridge/win/ContextMenuClientWin.h:
9964         (WebCore::ContextMenuClientWin::~ContextMenuClientWin):
9965         (WebCore::ContextMenuClientWin::ref):
9966         (WebCore::ContextMenuClientWin::deref):
9967         * bridge/win/EditorClientWin.h:
9968         (WebCore::EditorClientWin::~EditorClientWin):
9969         (WebCore::EditorClientWin::ref):
9970         (WebCore::EditorClientWin::deref):
9971         * bridge/win/FrameWin.cpp:
9972         (WebCore::FrameWin::FrameWin):
9973         * bridge/win/FrameWin.h:
9974         (WebCore::Win):
9975         * loader/win/FrameLoaderClientWin.h: Added.
9976         (WebCore::FrameLoaderClientWin::~FrameLoaderClientWin):
9977         (WebCore::FrameLoaderClientWin::ref):
9978         (WebCore::FrameLoaderClientWin::deref):
9979         * platform/win/TemporaryLinkStubs.cpp:
9980         (WebCore::ChromeClientWin::createWindow):
9981         (WebCore::ChromeClientWin::createModalDialog):
9982         (WebCore::EditorClientWin::selectWordBeforeMenuEvent):
9983         (WebCore::EditorClientWin::isEditable):
9984         (WebCore::EditorClientWin::shouldBeginEditing):
9985         (WebCore::EditorClientWin::shouldEndEditing):
9986         (WebCore::EditorClientWin::shouldApplyStyle):
9987         (WebCore::EditorClientWin::didBeginEditing):
9988         (WebCore::EditorClientWin::respondToChangedContents):
9989         (WebCore::EditorClientWin::didEndEditing):
9990         (WebCore::EditorClientWin::registerCommandForUndo):
9991         (WebCore::EditorClientWin::registerCommandForRedo):
9992         (WebCore::EditorClientWin::clearUndoRedoOperations):
9993         (WebCore::EditorClientWin::canUndo):
9994         (WebCore::EditorClientWin::canRedo):
9995         (WebCore::EditorClientWin::undo):
9996         (WebCore::EditorClientWin::redo):
9997         (WebCore::FrameLoader::createFrame):
9998         (WebCore::FrameLoader::createPlugin):
9999         (WebCore::FrameLoaderClientWin::hasWebView):
10000         (WebCore::FrameLoaderClientWin::hasFrameView):
10001         (WebCore::FrameLoaderClientWin::hasBackForwardList):
10002         (WebCore::FrameLoaderClientWin::resetBackForwardList):
10003         (WebCore::FrameLoaderClientWin::provisionalItemIsTarget):
10004         (WebCore::FrameLoaderClientWin::loadProvisionalItemFromPageCache):
10005         (WebCore::FrameLoaderClientWin::invalidateCurrentItemPageCache):
10006         (WebCore::FrameLoaderClientWin::privateBrowsingEnabled):
10007         (WebCore::FrameLoaderClientWin::makeDocumentView):
10008         (WebCore::FrameLoaderClientWin::makeRepresentation):
10009         (WebCore::FrameLoaderClientWin::forceLayout):
10010         (WebCore::FrameLoaderClientWin::forceLayoutForNonHTML):
10011         (WebCore::FrameLoaderClientWin::updateHistoryForCommit):
10012         (WebCore::FrameLoaderClientWin::updateHistoryForBackForwardNavigation):
10013         (WebCore::FrameLoaderClientWin::updateHistoryForReload):
10014         (WebCore::FrameLoaderClientWin::updateHistoryForStandardLoad):
10015         (WebCore::FrameLoaderClientWin::updateHistoryForInternalLoad):
10016         (WebCore::FrameLoaderClientWin::updateHistoryAfterClientRedirect):
10017         (WebCore::FrameLoaderClientWin::setCopiesOnScroll):
10018         (WebCore::FrameLoaderClientWin::tokenForLoadErrorReset):
10019         (WebCore::FrameLoaderClientWin::resetAfterLoadError):
10020         (WebCore::FrameLoaderClientWin::doNotResetAfterLoadError):
10021         (WebCore::FrameLoaderClientWin::willCloseDocument):
10022         (WebCore::FrameLoaderClientWin::detachedFromParent1):
10023         (WebCore::FrameLoaderClientWin::detachedFromParent2):
10024         (WebCore::FrameLoaderClientWin::detachedFromParent3):
10025         (WebCore::FrameLoaderClientWin::detachedFromParent4):
10026         (WebCore::FrameLoaderClientWin::loadedFromPageCache):
10027         (WebCore::FrameLoaderClientWin::dispatchDidHandleOnloadEvents):
10028         (WebCore::FrameLoaderClientWin::dispatchDidReceiveServerRedirectForProvisionalLoad):
10029         (WebCore::FrameLoaderClientWin::dispatchDidCancelClientRedirect):
10030         (WebCore::FrameLoaderClientWin::dispatchWillPerformClientRedirect):
10031         (WebCore::FrameLoaderClientWin::dispatchDidChangeLocationWithinPage):
10032         (WebCore::FrameLoaderClientWin::dispatchWillClose):
10033         (WebCore::FrameLoaderClientWin::dispatchDidReceiveIcon):
10034         (WebCore::FrameLoaderClientWin::dispatchDidStartProvisionalLoad):
10035         (WebCore::FrameLoaderClientWin::dispatchDidReceiveTitle):
10036         (WebCore::FrameLoaderClientWin::dispatchDidCommitLoad):
10037         (WebCore::FrameLoaderClientWin::dispatchDidFinishLoad):
10038         (WebCore::FrameLoaderClientWin::dispatchDidFirstLayout):
10039         (WebCore::FrameLoaderClientWin::dispatchShow):
10040         (WebCore::FrameLoaderClientWin::cancelPolicyCheck):
10041         (WebCore::FrameLoaderClientWin::dispatchWillSubmitForm):
10042         (WebCore::FrameLoaderClientWin::dispatchDidLoadMainResource):
10043         (WebCore::FrameLoaderClientWin::clearLoadingFromPageCache):
10044         (WebCore::FrameLoaderClientWin::isLoadingFromPageCache):
10045         (WebCore::FrameLoaderClientWin::revertToProvisionalState):
10046         (WebCore::FrameLoaderClientWin::clearUnarchivingState):
10047         (WebCore::FrameLoaderClientWin::progressStarted):
10048         (WebCore::FrameLoaderClientWin::progressCompleted):
10049         (WebCore::FrameLoaderClientWin::setMainFrameDocumentReady):
10050         (WebCore::FrameLoaderClientWin::willChangeTitle):
10051         (WebCore::FrameLoaderClientWin::didChangeTitle):
10052         (WebCore::FrameLoaderClientWin::finishedLoading):
10053         (WebCore::FrameLoaderClientWin::finalSetupForReplace):
10054         (WebCore::FrameLoaderClientWin::setDefersLoading):
10055         (WebCore::FrameLoaderClientWin::isArchiveLoadPending):
10056         (WebCore::FrameLoaderClientWin::cancelPendingArchiveLoad):
10057         (WebCore::FrameLoaderClientWin::clearArchivedResources):
10058         (WebCore::FrameLoaderClientWin::canShowMIMEType):
10059         (WebCore::FrameLoaderClientWin::representationExistsForURLScheme):
10060         (WebCore::FrameLoaderClientWin::generatedMIMETypeForURLScheme):
10061         (WebCore::FrameLoaderClientWin::frameLoadCompleted):
10062         (WebCore::FrameLoaderClientWin::restoreScrollPositionAndViewState):
10063         (WebCore::FrameLoaderClientWin::provisionalLoadStarted):
10064         (WebCore::FrameLoaderClientWin::shouldTreatURLAsSameAsCurrent):
10065         (WebCore::FrameLoaderClientWin::addHistoryItemForFragmentScroll):
10066         (WebCore::FrameLoaderClientWin::didFinishLoad):
10067         (WebCore::FrameLoaderClientWin::prepareForDataSourceReplacement):
10068         (WebCore::FrameLoaderClientWin::setTitle):
10069         (WebCore::FrameLoaderClientWin::userAgent):
10071 2006-11-18  Alexey Proskuryakov  <ap@webkit.org>
10073         Reviewed by Rob (yay!).
10075         http://bugs.webkit.org/show_bug.cgi?id=11640
10076         XMLHttpRequest produces undefined:undefined HTTP authentication
10078         * bindings/js/JSXMLHttpRequest.cpp:
10079         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
10080         Treat undefined credentials as missing ones.
10082 2006-11-17  Lars Naesbye Christensen  <lars@naesbye.dk>
10084         Reviewed by Tim H.
10086         http://bugs.webkit.org/show_bug.cgi?id=11638
10087         [CSS 2.1+3] add support for alias, progress, no-drop and not-allowed cursor styles
10089         * Resources/aliasCursor.png: Added.
10090         * Resources/noDropCursor.png: Added.
10091         * Resources/progressCursor.png: Added.
10092         * WebCore.xcodeproj/project.pbxproj:
10093         * css/CSSComputedStyleDeclaration.cpp:
10094         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
10095         * css/CSSValueKeywords.in:
10096         * manual-tests/cursor.html:
10097         * page/EventHandler.cpp:
10098         (WebCore::selectCursor):
10099         * platform/Cursor.h:
10100         * platform/mac/CursorMac.mm:
10101         (WebCore::handCursor):
10102         (WebCore::aliasCursor):
10103         (WebCore::progressCursor):
10104         (WebCore::noDropCursor):
10105         * rendering/RenderStyle.h:
10106         (WebCore::):
10108 2006-11-18  Steve Falkenburg  <sfalken@apple.com>
10110         Reviewed by Adam.
10112         Properly adjust CFAbsoluteTime to time_t to fix date calculations.
10113         
10114         Compare lastModified w/ MAX_TIME_T when setting last modified date
10115         instead of comparing expiration against MAX_TIME_T.
10117         * platform/network/cf/ResourceResponseCFNet.cpp:
10118         (WebCore::getResourceResponse): Add kCFAbsoluteTimeIntervalSince1970 in assignment
10120 2006-11-17  Anders Carlsson  <acarlsson@apple.com>
10122         Reviewed by Geoff.
10124         More conversions from DeprecatedValueList to Vector and HashSet.
10125         
10126         * css/CSSValueList.cpp:
10127         (WebCore::CSSValueList::~CSSValueList):
10128         (WebCore::CSSValueList::append):
10129         (WebCore::CSSValueList::cssText):
10130         * css/CSSValueList.h:
10131         (WebCore::CSSValueList::length):
10132         (WebCore::CSSValueList::item):
10133         * dom/Document.cpp:
10134         (WebCore::Document::attachNodeIterator):
10135         (WebCore::Document::notifyBeforeNodeRemoval):
10136         * dom/Document.h:
10137         * ksvg2/svg/SVGGradientElement.cpp:
10138         (WebCore::SVGGradientElement::notifyAttributeChange):
10139         * ksvg2/svg/SVGPatternElement.cpp:
10140         (WebCore::SVGPatternElement::notifyClientsToRepaint):
10141         * platform/graphics/svg/SVGResource.cpp:
10142         (WebCore::SVGResource::invalidate):
10143         (WebCore::SVGResource::addClient):
10144         * platform/graphics/svg/SVGResource.h:
10145         * rendering/RenderBlock.h:
10147 === Safari-521.31 ===
10149 2006-11-17  Timothy Hatcher  <timothy@apple.com>
10151         Reviewed by Harrison.
10153         <rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made
10155         Disable the delete button controller when cloning nodes, Mail does this before saving a draft.
10157         * dom/ContainerNode.cpp:
10158         (WebCore::ContainerNode::cloneChildNodes):
10159         * editing/markup.cpp:
10160         (WebCore::createFragmentFromNodes):
10162 2006-11-17  Justin Garcia  <justin.garcia@apple.com>
10164         Reviewed by harrison
10165         
10166         <rdar://problem/4237467> REGRESSION: Pasting word from quoted text quotes the destination
10167         <rdar://problem/4017358> quoted text is wrong color, when pasted as quotation
10169         * editing/ReplaceSelectionCommand.cpp:
10170         (WebCore::isMailPasteAsQuotationNode): Added.  Checks for the node
10171         that Mail wraps around an incoming fragment when it wants it to be pasted
10172         with quoting (no merging should be done).
10173         (WebCore::ReplaceSelectionCommand::removeNodePreservingChildren): Added
10174         this virtual method in order to adjust the nodes that ReplaceSelectionCommand
10175         tracks.
10176         (WebCore::ReplaceSelectionCommand::shouldMerge): Don't merge from content
10177         inside a Mail Paste as Quotation node.  Allow merging from Mail blockquotes.
10178         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): When pasting into
10179         a Mail blockquote, we ignore the parts of the source document's default style
10180         that are overriden by styles from the Mail blockquote.  This is necessary in order
10181         for text that's black (because black is the source document's default font color) 
10182         to appear blue/green/whatever when it's pasted into a Mail blockquote.
10183         (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Turn an inserted
10184         Mail Paste as Quotation node into a normal Mail blockquote.  This will prevent
10185         a copied blockquote that was inserted into the document using Paste as Quotation
10186         from triggering Paste as Quotation behavior when it's pasted.
10187         (WebCore::ReplaceSelectionCommand::doApply): Call the new/altered methods.
10188         * editing/ReplaceSelectionCommand.h:
10189         * editing/markup.cpp:
10190         (WebCore::styleFromMatchedRulesForElement): Put this code into a subroutine.
10191         (WebCore::removeEnclosingMailBlockquoteStyle): Added.
10192         (WebCore::startMarkup): When wrapping text nodes in style spans, leave out
10193         styles that Mail blockquotes contribute, so that Mail blockquote styles can
10194         be differentiated from styles that the user has applied.  When creating markup
10195         for elements, do the same thing.
10196         (WebCore::createMarkup): Call the new subroutine.
10198 2006-11-17  Rob Buis  <buis@kde.org>
10200         Reviewed by Mitz.
10202         http://bugs.webkit.org/show_bug.cgi?id=11635
10203         Bug 11635: Fix potential issue with non-xslt build
10205         Fix the issue and do style guideline corrections.
10207         * dom/ProcessingInstruction.cpp:
10208         (WebCore::ProcessingInstruction::checkStyleSheet):
10209         (WebCore::ProcessingInstruction::sheetLoaded):
10210         (WebCore::ProcessingInstruction::setCSSStyleSheet):
10211         (WebCore::ProcessingInstruction::setXSLStyleSheet):
10212         (WebCore::ProcessingInstruction::parseStyleSheet):
10214 2006-11-17  Timothy Hatcher  <timothy@apple.com>
10216         Reviewed by Harrison.
10218         <rdar://problem/4843131> text entry is slow inside element that has the deletion rectangle around it
10220         Only disable/enable the delete button inside applyCommand() to prevent slowing down typing.
10221         This reintroduces <rdar://problem/4796657> table deletion outline does not always follow the table size as editing occurs inside
10223         * editing/EditCommand.cpp:
10224         (WebCore::EditCommand::apply):
10225         (WebCore::EditCommand::unapply):
10226         (WebCore::EditCommand::reapply):
10227         (WebCore::applyCommand):
10228         * editing/EditCommand.h:
10230 2006-11-17  Zack Rusin  <zack@kde.org>
10232         Reviewed by Mitz. Landed by Niko.
10234         Making platform Qt/KDE compile and work after
10235         the latest api changes. Reported as
10236         http://bugs.webkit.org/show_bug.cgi?id=11617
10238         * CMakeLists.txt:
10239         * page/qt/EventHandlerQt.cpp: Added.
10240         (WebCore::isKeyboardOptionTab):
10241         (WebCore::EventHandler::tabsToLinks):
10242         (WebCore::EventHandler::tabsToAllControls):
10243         (WebCore::EventHandler::freeClipboard):
10244         (WebCore::EventHandler::focusDocumentView):
10245         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
10246         (WebCore::EventHandler::passMouseDownEventToWidget):
10247         (WebCore::EventHandler::lastEventIsMouseUp):
10248         (WebCore::EventHandler::dragHysteresisExceeded):
10249         (WebCore::EventHandler::handleDrag):
10250         (WebCore::EventHandler::handleMouseUp):
10251         (WebCore::EventHandler::passSubframeEventToSubframe):
10252         (WebCore::EventHandler::passWheelEventToWidget):
10253         (WebCore::EventHandler::shouldDragAutoNode):
10254         (WebCore::EventHandler::dispatchDragSrcEvent):
10255         (WebCore::EventHandler::passMousePressEventToSubframe):
10256         (WebCore::EventHandler::passMouseMoveEventToSubframe):
10257         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
10258         (WebCore::EventHandler::passWheelEventToSubframe):
10259         (WebCore::EventHandler::passMousePressEventToScrollbar):
10260         * platform/ContextMenu.h:
10261         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
10262         (WebCore::SVGResourceClipper::applyClip):
10263         * platform/qt/ContextMenuClientQt.cpp: Added.
10264         (WebCore::ContextMenuClientQt::addCustomContextMenuItems):
10265         (WebCore::ContextMenuClientQt::ref):
10266         (WebCore::ContextMenuClientQt::deref):
10267         * platform/qt/ContextMenuClientQt.h: Added.
10268         * platform/qt/ContextMenuQt.cpp: Added.
10269         (WebCore::ContextMenu::appendItem):
10270         (WebCore::ContextMenu::itemCount):
10271         (WebCore::ContextMenu::insertItem):
10272         (WebCore::ContextMenu::setPlatformMenuDescription):
10273         * platform/qt/EditorClientQt.cpp:
10274         (WebCore::EditorClientQt::selectWordBeforeMenuEvent):
10275         (WebCore::EditorClientQt::isEditable):
10276         (WebCore::EditorClientQt::registerCommandForUndo):
10277         (WebCore::EditorClientQt::registerCommandForRedo):
10278         (WebCore::EditorClientQt::clearUndoRedoOperations):
10279         (WebCore::EditorClientQt::canUndo):
10280         (WebCore::EditorClientQt::canRedo):
10281         (WebCore::EditorClientQt::undo):
10282         (WebCore::EditorClientQt::redo):
10283         * platform/qt/EditorClientQt.h:
10284         * platform/qt/ScrollViewCanvasQt.cpp:
10285         (WebCore::ScrollViewCanvasQt::mousePressEvent):
10286         * platform/qt/TemporaryLinkStubs.cpp:
10287         (FrameView::updateBorder):
10289 2006-11-17  David Harrison  <harrison@apple.com>
10291         Reviewed by Adele.
10293         <rdar://problem/4799899> Frame::revealSelection() only scrolls the startContainer's layer
10295         Replace an assert with a fixme that refers to this bug.
10296         
10297         * page/Frame.cpp:
10298         (WebCore::Frame::revealSelection):
10300 2006-11-16  Rob Buis  <buis@kde.org>
10302         Reviewed and landed by Brady
10304         Fixes http://bugs.webkit.org/show_bug.cgi?id=11590 -
10305         REGRESSION (r17726-r17742): Wikipedia page intermittently loads but doesn't render
10306         Fix the regression by setting m_loadCompleted correctly.
10308         * css/CSSStyleSheet.cpp:
10309         (WebCore::CSSStyleSheet::checkLoaded):
10310         * dom/Node.h:
10311         (WebCore::Node::sheetLoaded):
10312         * dom/ProcessingInstruction.cpp:
10313         (WebCore::ProcessingInstruction::sheetLoaded):
10314         * dom/ProcessingInstruction.h:
10315         * html/HTMLLinkElement.cpp:
10316         (WebCore::HTMLLinkElement::sheetLoaded):
10317         * html/HTMLLinkElement.h:
10318         * html/HTMLStyleElement.cpp:
10319         (WebCore::HTMLStyleElement::sheetLoaded):
10320         * html/HTMLStyleElement.h:
10322 2006-11-16  David Harrison  <harrison@apple.com>
10324         Reviewed by Beth.
10326         <rdar://problem/4056100> REGRESSION (Tiger): Deleting top part of reply email leaves fails to clear text at end of message
10328         The problem was triggered by the fact that the parent div was changing both
10329         in position and in height. The renderer normally bifurcates its logic for
10330         x-position changes vs height changes.
10332         Call repaintDuringLayoutIfMoved() with old rect (incl. width and height) instead of just the old position.
10334         Test added:
10335         * manual-tests/delete-into-nested-block.html
10336         
10337         * rendering/RenderBlock.cpp:
10338         (WebCore::RenderBlock::layoutBlockChildren):
10339         (WebCore::RenderBlock::positionNewFloats):
10340         * rendering/RenderBox.cpp:
10341         (WebCore::RenderBox::repaintDuringLayoutIfMoved):
10342         * rendering/RenderBox.h:
10343         * rendering/RenderFlexibleBox.cpp:
10344         (WebCore::RenderFlexibleBox::placeChild):
10345         * rendering/RenderObject.cpp:
10346         (WebCore::RenderObject::repaintDuringLayoutIfMoved):
10347         * rendering/RenderObject.h:
10348         * rendering/RenderTableSection.cpp:
10349         (WebCore::RenderTableSection::layoutRows):
10351 2006-11-16  Adele Peterson  <adele@apple.com>
10353         Reviewed by Adam.
10355         Slider cleanup.  Let the theme set the size of the slider thumb.
10357         * rendering/RenderSlider.cpp:
10358         (WebCore::RenderSlider::setStyle): Moving the thumb's appearance adjustment to createThumbStyle.
10359         (WebCore::RenderSlider::createThumbStyle):
10360         (WebCore::RenderSlider::layout): Let the theme set the size of the thumb.
10361         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustSliderThumbSize):  Added.
10362         * rendering/RenderTheme.h: ditto.
10363         * rendering/RenderThemeMac.h: ditto.
10364         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustSliderThumbSize): ditto.
10366 2006-11-15  Anders Carlsson  <acarlsson@apple.com>
10368         Reviewed by Darin.
10370         Use Vector instead of DeprecatedValueList in a few places.
10371         
10372         * bindings/js/kjs_dom.cpp:
10373         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
10374         (KJS::DOMNamedNodesCollection::lengthGetter):
10375         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
10376         * bindings/js/kjs_dom.h:
10377         * bindings/js/kjs_html.cpp:
10378         (KJS::JSHTMLDocument::namedItemGetter):
10379         (KJS::JSHTMLElement::classInfo):
10380         (KJS::JSHTMLElement::accessors):
10381         (KJS::JSHTMLCollection::getNamedItems):
10382         * bindings/objc/DOM.mm:
10383         * bridge/mac/FrameMac.mm:
10384         (WebCore::FrameMac::dashboardRegionsDictionary):
10385         * css/CSSStyleDeclaration.cpp:
10386         (WebCore::CSSStyleDeclaration::diff):
10387         * html/HTMLCollection.cpp:
10388         (WebCore::HTMLCollection::namedItems):
10389         * html/HTMLCollection.h:
10390         * kcanvas/KCanvasFilters.cpp:
10391         (WebCore::KCanvasFilter::externalRepresentation):
10392         * kcanvas/KCanvasFilters.h:
10393         (WebCore::KCanvasFEColorMatrix::values):
10394         (WebCore::KCanvasFEColorMatrix::setValues):
10395         (WebCore::KCanvasFEConvolveMatrix::kernel):
10396         (WebCore::KCanvasFEConvolveMatrix::setKernel):
10397         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
10398         (WebCore::KCanvasFilterQuartz::getCIFilterStack):
10399         (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
10400         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
10401         (WebCore::SVGFEColorMatrixElement::filterEffect):
10402         * platform/graphics/svg/SVGResourceClipper.h:
10403         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
10404         (WebCore::SVGResourceClipper::applyClip):
10405         * platform/network/FormData.h:
10406         * rendering/RenderPath.h:
10407         * rendering/SVGRenderTreeAsText.h:
10408         (WebCore::operator<<):
10410 2006-11-16  Anders Carlsson  <acarlsson@apple.com>
10412         Reviewed by Tim.
10414         * editing/markup.cpp:
10415         (WebCore::createMarkup):
10416         Add null-checks for the frame, it might not exist for all documents.
10417         
10418 2006-11-16  Peter Kasting  <pkasting@google.com>
10420         Reviewed and landed by ap.
10422         http://bugs.webkit.org/show_bug.cgi?id=11509:
10423         Windows build bustage.
10425         Also reorganizes WebCore.vcproj to add files whose absence wasn't
10426         causing compile errors, but which should have been there, and to
10427         make the include directory ordering (and contents) sane.
10428         Also reorganizes TemporaryLinkStubs.cpp to put headers and
10429         function groups in alphabetical order, and ensure that all functions
10430         in the file call notImplemented().
10432         * WebCore.vcproj/WebCore/WebCore.vcproj:
10433         * bridge/win/ChromeClientWin.h:
10434         (WebCore::ChromeClientWin::ref):
10435         (WebCore::ChromeClientWin::deref):
10436         * bridge/win/ContextMenuClientWin.h: Added.
10437         (WebCore::ContextMenuClientWin::~ContextMenuClientWin):
10438         (WebCore::ContextMenuClientWin::ref):
10439         (WebCore::ContextMenuClientWin::deref):
10440         * bridge/win/EditorClientWin.h:
10441         * bridge/win/FrameWin.cpp:
10442         (WebCore::FrameWin::~FrameWin):
10443         (WebCore::FrameWin::keyPress):
10444         * bridge/win/FrameWin.h:
10445         * bridge/win/PageWin.cpp: Removed.
10446         * editing/EditCommand.h:
10447         * loader/FormState.h:
10448         * loader/FrameLoader.h:
10449         * page/EventHandler.cpp:
10450         * platform/MimeTypeRegistry.cpp:
10451         (WebCore::initialiseSupportedImageMIMETypes):
10452         * platform/graphics/win/ImageWin.cpp:
10453         * platform/network/ResourceError.cpp:
10454         * platform/network/ResourceHandleInternal.h:
10455         * platform/network/win/ResourceHandleWin.cpp:
10456         (WebCore::ResourceHandle::onHandleCreated):
10457         (WebCore::ResourceHandle::onRequestRedirected):
10458         (WebCore::ResourceHandle::start):
10459         (WebCore::ResourceHandle::cancel):
10460         * platform/win/ScreenWin.cpp:
10461         (WebCore::monitorInfo):
10462         (WebCore::screenRect):
10463         (WebCore::screenAvailableRect):
10464         (WebCore::screenDepth):
10465         * platform/win/SoundWin.cpp: Added.
10466         (WebCore::systemBeep):
10467         * platform/win/TemporaryLinkStubs.cpp:
10468         (WebCore::CacheObjectExpiresTime):
10469         (WebCore::CheckCacheObjectStatus):
10470         (WebCore::CheckIfReloading):
10471         (WebCore::defaultLanguage):
10472         (WebCore::fileButtonChooseFileLabel):
10473         (WebCore::fileButtonNoFileSelectedLabel):
10474         (WebCore::findNextSentenceFromIndex):
10475         (WebCore::findNextWordFromIndex):
10476         (WebCore::findSentenceBoundary):
10477         (WebCore::findWordBoundary):
10478         (WebCore::focusRingColor):
10479         (WebCore::historyContains):
10480         (WebCore::inputElementAltText):
10481         (WebCore::IsResponseURLEqualToURL):
10482         (WebCore::cellCursor):
10483         (WebCore::contextMenuCursor):
10484         (WebCore::moveCursor):
10485         (WebCore::verticalTextCursor):
10486         (WebCore::refreshPlugins):
10487         (WebCore::resetButtonDefaultLabel):
10488         (WebCore::ResponseIsMultipart):
10489         (WebCore::ResponseMIMEType):
10490         (WebCore::ResponseURL):
10491         (WebCore::screenDepthPerComponent):
10492         (WebCore::screenIsMonochrome):
10493         (WebCore::searchableIndexIntroduction):
10494         (WebCore::ServeSynchronousRequest):
10495         (WebCore::setFocusRingColorChangeFunction):
10496         (WebCore::submitButtonDefaultLabel):
10497         (WebCore::CachedResource::setPlatformResponse):
10498         (WebCore::CachedResource::setAllData):
10499         (WebCore::ChromeClientWin::setWindowRect):
10500         (WebCore::ChromeClientWin::windowRect):
10501         (WebCore::ChromeClientWin::pageRect):
10502         (WebCore::ChromeClientWin::scaleFactor):
10503         (WebCore::ChromeClientWin::focus):
10504         (WebCore::ChromeClientWin::unfocus):
10505         (WebCore::ChromeClientWin::createWindow):
10506         (WebCore::ChromeClientWin::createModalDialog):
10507         (WebCore::ChromeClientWin::show):
10508         (WebCore::ChromeClientWin::canRunModal):
10509         (WebCore::ChromeClientWin::runModal):
10510         (WebCore::ChromeClientWin::setToolbarsVisible):
10511         (WebCore::ChromeClientWin::toolbarsVisible):
10512         (WebCore::ChromeClientWin::setStatusbarVisible):
10513         (WebCore::ChromeClientWin::statusbarVisible):
10514         (WebCore::ChromeClientWin::setScrollbarsVisible):
10515         (WebCore::ChromeClientWin::scrollbarsVisible):
10516         (WebCore::ChromeClientWin::setMenubarVisible):
10517         (WebCore::ChromeClientWin::menubarVisible):
10518         (WebCore::ChromeClientWin::setResizable):
10519         (WebCore::ContextMenu::appendItem):
10520         (WebCore::ContextMenuClientWin::addCustomContextMenuItems):
10521         (WebCore::DocumentLoader::setFrame):
10522         (WebCore::DocumentLoader::frameLoader):
10523         (WebCore::DocumentLoader::URL):
10524         (WebCore::DocumentLoader::isStopping):
10525         (WebCore::DocumentLoader::stopLoading):
10526         (WebCore::DocumentLoader::setLoading):
10527         (WebCore::DocumentLoader::updateLoading):
10528         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
10529         (WebCore::DocumentLoader::isLoadingInAPISense):
10530         (WebCore::DocumentLoader::stopRecordingResponses):
10531         (WebCore::EditorClientWin::shouldDeleteRange):
10532         (WebCore::EditorClientWin::shouldShowDeleteInterface):
10533         (WebCore::EditorClientWin::isContinuousSpellCheckingEnabled):
10534         (WebCore::EditorClientWin::isGrammarCheckingEnabled):
10535         (WebCore::EditorClientWin::spellCheckerDocumentTag):
10536         (WebCore::EventHandler::focusDocumentView):
10537         (WebCore::EventHandler::handleDrag):
10538         (WebCore::EventHandler::handleMouseUp):
10539         (WebCore::EventHandler::lastEventIsMouseUp):
10540         (WebCore::EventHandler::passMousePressEventToSubframe):
10541         (WebCore::EventHandler::passMouseMoveEventToSubframe):
10542         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
10543         (WebCore::EventHandler::passWheelEventToSubframe):
10544         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
10545         (WebCore::EventHandler::passMousePressEventToScrollbar):
10546         (WebCore::EventHandler::shouldDragAutoNode):
10547         (WebCore::EventHandler::tabsToAllControls):
10548         (WebCore::EventHandler::tabsToLinks):
10549         (WebCore::Frame::setNeedsReapplyStyles):
10550         (WebCore::FrameLoader::didFirstLayout):
10551         (WebCore::FrameLoader::overrideMediaType):
10552         (WebCore::FrameLoader::createJavaAppletWidget):
10553         (WebCore::FrameLoader::redirectDataToPlugin):
10554         (WebCore::FrameLoader::getHistoryLength):
10555         (WebCore::FrameLoader::setTitle):
10556         (WebCore::FrameLoader::referrer):
10557         (WebCore::FrameLoader::saveDocumentState):
10558         (WebCore::FrameLoader::restoreDocumentState):
10559         (WebCore::FrameLoader::goBackOrForward):
10560         (WebCore::FrameLoader::historyURL):
10561         (WebCore::FrameLoader::urlSelected):
10562         (WebCore::FrameLoader::createFrame):
10563         (WebCore::FrameLoader::submitForm):
10564         (WebCore::FrameLoader::partClearedInBegin):
10565         (WebCore::FrameLoader::originalRequestURL):
10566         (WebCore::FrameLoader::canGoBackOrForward):
10567         (WebCore::FrameLoader::objectContentType):
10568         (WebCore::FrameLoader::createPlugin):
10569         (WebCore::FrameLoader::detachFromParent):
10570         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
10571         (WebCore::FrameView::updateBorder):
10572         (WebCore::FrameWin::bindingRootObject):
10573         (WebCore::FrameWin::canPaste):
10574         (WebCore::FrameWin::issuePasteAndMatchStyleCommand):
10575         (WebCore::FrameWin::markedTextRange):
10576         (WebCore::FrameWin::passSubframeEventToSubframe):
10577         (WebCore::FrameWin::lastEventIsMouseUp):
10578         (WebCore::FrameWin::addMessageToConsole):
10579         (WebCore::FrameWin::shouldChangeSelection):
10580         (WebCore::FrameWin::respondToChangedSelection):
10581         (WebCore::FrameWin::clearUndoRedoOperations):
10582         (WebCore::FrameWin::markMisspellingsInAdjacentWords):
10583         (WebCore::FrameWin::respondToChangedContents):
10584         (WebCore::GraphicsContext::addRoundedRectClip):
10585         (WebCore::GraphicsContext::setShadow):
10586         (WebCore::GraphicsContext::clearShadow):
10587         (WebCore::GraphicsContext::beginTransparencyLayer):
10588         (WebCore::GraphicsContext::endTransparencyLayer):
10589         (WebCore::GraphicsContext::clearRect):
10590         (WebCore::GraphicsContext::strokeRect):
10591         (WebCore::GraphicsContext::setLineWidth):
10592         (WebCore::GraphicsContext::setLineCap):
10593         (WebCore::GraphicsContext::setLineJoin):
10594         (WebCore::GraphicsContext::setMiterLimit):
10595         (WebCore::GraphicsContext::setAlpha):
10596         (WebCore::GraphicsContext::setCompositeOperation):
10597         (WebCore::GraphicsContext::clip):
10598         (WebCore::GraphicsContext::rotate):
10599         (WebCore::GraphicsContext::scale):
10600         (WebCore::Icon::Icon):
10601         (WebCore::Icon::~Icon):
10602         (WebCore::Icon::newIconForFile):
10603         (WebCore::Icon::paint):
10604         (WebCore::IconDatabase::isIconExpiredForIconURL):
10605         (WebCore::IconDatabase::hasEntryForIconURL):
10606         (WebCore::IconDatabase::sharedIconDatabase):
10607         (WebCore::IconDatabase::setIconURLForPageURL):
10608         (WebCore::IconDatabase::setIconDataForIconURL):
10609         (WebCore::Image::drawTiled):
10610         (WebCore::Image::getHBITMAP):
10611         (WebCore::Path::Path):
10612         (WebCore::Path::~Path):
10613         (WebCore::Path::contains):
10614         (WebCore::Path::translate):
10615         (WebCore::Path::boundingRect):
10616         (WebCore::Path::operator=):
10617         (WebCore::Path::clear):
10618         (WebCore::Path::moveTo):
10619         (WebCore::Path::addLineTo):
10620         (WebCore::Path::addQuadCurveTo):
10621         (WebCore::Path::addBezierCurveTo):
10622         (WebCore::Path::addArcTo):
10623         (WebCore::Path::closeSubpath):
10624         (WebCore::Path::addArc):
10625         (WebCore::Path::addRect):
10626         (WebCore::Path::addEllipse):
10627         (WebCore::Path::transform):
10628         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
10629         (WebCore::PlatformScrollbar::PlatformScrollbar):
10630         (WebCore::PlatformScrollbar::~PlatformScrollbar):
10631         (WebCore::PlatformScrollbar::width):
10632         (WebCore::PlatformScrollbar::height):
10633         (WebCore::PlatformScrollbar::setEnabled):
10634         (WebCore::PlatformScrollbar::paint):
10635         (WebCore::PlatformScrollbar::updateThumbPosition):
10636         (WebCore::PlatformScrollbar::updateThumbProportion):
10637         (WebCore::PlatformScrollbar::setRect):
10638         (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
10639         (WebCore::PlugInInfoStore::pluginCount):
10640         (WebCore::PlugInInfoStore::supportsMIMEType):
10641         (WebCore::PolicyCheck::PolicyCheck):
10642         (WebCore::PolicyCheck::clear):
10643         (WebCore::PolicyCheck::clearRequest):
10644         (WebCore::PolicyCheck::call):
10645         (WebCore::RenderThemeWin::systemFont):
10646         (WebCore::RenderThemeWin::paintMenuList):
10647         (WebCore::RenderThemeWin::adjustMenuListStyle):
10648         (WebCore::ResourceLoader::cancel):
10649         (WebCore::ScrollView::addChild):
10650         (WebCore::ScrollView::removeChild):
10651         (WebCore::ScrollView::scrollPointRecursively):
10652         (WebCore::ScrollView::inWindow):
10653         (WebCore::ScrollView::paint):
10654         (WebCore::ScrollView::wheelEvent):
10655         (WebCore::ScrollView::themeChanged):
10656         (WebCore::ScrollView::convertChildToSelf):
10657         (WebCore::ScrollView::convertSelfToChild):
10658         (WebCore::ScrollView::geometryChanged):
10659         (WebCore::ScrollView::scrollbarUnderMouse):
10660         (WebCore::ScrollView::setFrameGeometry):
10661         (WebCore::ScrollView::windowResizerRect):
10662         (WebCore::ScrollView::resizerOverlapsContent):
10663         (WebCore::TextField::selectAll):
10664         (WebCore::TextField::addSearchResult):
10665         (WebCore::TextField::selectionStart):
10666         (WebCore::TextField::hasSelectedText):
10667         (WebCore::TextField::selectedText):
10668         (WebCore::TextField::setAutoSaveName):
10669         (WebCore::TextField::checksDescendantsForFocus):
10670         (WebCore::TextField::setSelection):
10671         (WebCore::TextField::setMaxResults):
10672         (WebCore::TextField::edited):
10673         (WebCore::TextField::focusPolicy):
10674         (WebCore::TextField::TextField):
10675         (WebCore::TextField::~TextField):
10676         (WebCore::TextField::setFont):
10677         (WebCore::TextField::setAlignment):
10678         (WebCore::TextField::setWritingDirection):
10679         (WebCore::TextField::maxLength):
10680         (WebCore::TextField::setMaxLength):
10681         (WebCore::TextField::text):
10682         (WebCore::TextField::setText):
10683         (WebCore::TextField::cursorPosition):
10684         (WebCore::TextField::setCursorPosition):
10685         (WebCore::TextField::setEdited):
10686         (WebCore::TextField::setReadOnly):
10687         (WebCore::TextField::setPlaceholderString):
10688         (WebCore::TextField::setColors):
10689         (WebCore::TextField::sizeForCharacterWidth):
10690         (WebCore::TextField::baselinePosition):
10691         (WebCore::TextField::setLiveSearch):
10692         (WebCore::Widget::enableFlushDrawing):
10693         (WebCore::Widget::isEnabled):
10694         (WebCore::Widget::focusPolicy):
10695         (WebCore::Widget::disableFlushDrawing):
10696         (WebCore::Widget::removeFromParent):
10697         (WebCore::Widget::lockDrawingFocus):
10698         (WebCore::Widget::unlockDrawingFocus):
10699         (WebCore::Widget::capturingMouse):
10700         (WebCore::Widget::setCapturingMouse):
10701         (WebCore::Widget::capturingTarget):
10702         (WebCore::Widget::capturingChild):
10703         (WebCore::Widget::setCapturingChild):
10704         (WebCore::Widget::convertChildToSelf):
10705         (WebCore::Widget::convertSelfToChild):
10706         (WebCore::Widget::setParent):
10707         (WebCore::Widget::parent):
10708         (WebCore::Widget::setEnabled):
10709         (WebCore::Widget::paint):
10710         (WebCore::Widget::setIsSelected):
10711         (WebCore::Widget::invalidate):
10712         (WebCore::Widget::invalidateRect):
10713         * platform/win/WidgetWin.cpp:
10714         (WebCore::Widget::clearFocus):
10716 2006-11-16  Timothy Hatcher  <timothy@apple.com>
10718         Reviewed by Adam.
10720         <rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made
10722         * editing/markup.cpp:
10723         (WebCore::createMarkup): disable the delete button so it's elements are not serialized into the markup
10725 2006-11-16  George Staikos  <staikos@kde.org>
10727         Rubberstamped by Maciej.
10729         Making the code valgrind clean.
10731         * rendering/RenderTableCell.cpp: initialize variable m_widthChanged
10732         (WebCore::RenderTableCell::RenderTableCell):
10733         * rendering/RenderTableCell.h: remove unused variable nWrap
10735 2006-11-16  David Harrison  <harrison@apple.com>
10737         Reviewed by Darin and Tim.
10739         <rdar://problem/4799949> REGRESSION: Crash in FrameMac::eventMayStartDrag() by clicking on a page
10740         
10741         * page/mac/EventHandlerMac.mm:
10742         (WebCore::EventHandler::eventMayStartDrag):
10743         Add nil check of hitTest's result.innerNode().
10745 2006-11-16  Timothy Hatcher  <timothy@apple.com>
10747         Reviewed by Darin.
10749         <rdar://problem/4836897> Deletion rectangle disappears when multiple list items are selected
10751         Consider the container of the selection range for deletion before asking enclosingNodeOfType().
10753         * editing/DeleteButtonController.cpp:
10754         (WebCore::enclosingDeletableElement):
10756 2006-11-16  Rob Buis  <buis@kde.org>
10758         Reviewed by hyatt.
10760         Removal of unused m_styleElement.
10762         * dom/Node.cpp:
10763         (WebCore::Node::Node):
10764         (WebCore::Node::dump):
10765         * dom/Node.h:
10766         (WebCore::Node::isLink): should be styleElement, a bug?
10768 2006-11-15  Adam Roben  <aroben@apple.com>
10770         Build fix.
10772         Rename the items in the ContextMenuAction enum so that they don't
10773         conflict with WebKit names.
10775         * WebCore.xcodeproj/project.pbxproj:
10776         * platform/ContextMenu.cpp:
10777         (WebCore::ContextMenu::populate):
10778         * platform/ContextMenu.h:
10779         (WebCore::):
10780         (WebCore::ContextMenuItem::ContextMenuItem):
10782 2006-11-15  Adam Roben  <aroben@apple.com>
10784         Reviewed by Anders.
10786         Change m_contextMenu to an OwnPtr.
10788         * WebCore.xcodeproj/project.pbxproj:
10789         * page/ContextMenuController.cpp:
10790         (WebCore::ContextMenuController::handleContextMenuEvent):
10791         * page/ContextMenuController.h:
10793 2006-11-15  Adam Roben  <aroben@apple.com>
10795         Reviewed by Anders.
10797         Add new ContextMenuController and ContextMenuClient classes, and move
10798         context menu responsibilities from Chrome and ChromeClient to them.
10800         * WebCore.exp:
10801         * WebCore.xcodeproj/project.pbxproj: Add new files to project, and
10802         alphabetize some others.
10803         * page/Chrome.cpp: Remove context menu-related code.
10804         * page/Chrome.h: Ditto.
10805         * page/ChromeClient.h:
10806         * page/ContextMenuClient.h: Added.
10807         * page/ContextMenuController.cpp: Added.
10808         (WebCore::ContextMenuController::ContextMenuController):
10809         (WebCore::ContextMenuController::~ContextMenuController):
10810         (WebCore::ContextMenuController::handleContextMenuEvent):
10811         (WebCore::ContextMenuController::contextMenuActionSelected):
10812         * page/ContextMenuController.h: Added.
10813         (WebCore::ContextMenuController::client):
10814         * page/Page.cpp: Every Page now has a ContextMenuController.
10815         (WebCore::Page::Page):
10816         * page/Page.h: Made m_dragCaretController and m_chrome objects instead
10817         of pointers to objects.
10818         (WebCore::Page::contextMenuController):
10819         * platform/ContextMenu.cpp:
10820         (WebCore::ContextMenu::populate): Removed the call to Chrome to ask the
10821         delegate to add its menu items, and moved the code from the static
10822         addDefaultItems function into this method.
10823         * platform/ContextMenu.h:
10824         (WebCore::ContextMenu::show): Added an empty method body since this
10825         method is now called from ContextMenuController (although no one calls
10826         into ContextMenuController yet, so it's OK for this to be empty).
10827         (WebCore::ContextMenu::hide): Ditto.
10829 2006-11-15  Anders Carlsson  <acarlsson@apple.com>
10831         Reviewed by Darin.
10833         Add null checks on the node filter, they can be null if no filter was passed to the respective
10834         create functions.
10835         
10836         * bindings/js/JSNodeIteratorCustom.cpp:
10837         (WebCore::JSNodeIterator::mark):
10838         * bindings/js/JSTreeWalkerCustom.cpp:
10839         (WebCore::JSTreeWalker::mark):
10841 2006-11-15  Oliver Hunt  <oliver@apple.com>
10843         Reviewed by Anders.
10845         Allow <embed> and <object> tags to include non-plugin
10846         content when plugins are disabled
10848         Fixes <rdar://problems/4839488>
10850         * html/HTMLEmbedElement.cpp:
10851         (WebCore::HTMLEmbedElement::rendererIsNeeded):
10852         * html/HTMLObjectElement.cpp:
10853         (WebCore::HTMLObjectElement::rendererIsNeeded):
10854         * loader/FrameLoader.cpp:
10855         (WebCore::FrameLoader::requestObject):
10857 2006-11-15  Adele Peterson  <adele@apple.com>
10859         Build fix.  Another type problem that I don't see locally.
10861         * rendering/RenderSlider.cpp: (WebCore::RenderSlider::setPositionFromValue):
10863 2006-11-15  Adele Peterson  <adele@apple.com>
10865         Reviewed by Adam.
10867         Adding MathExtras header.
10869         * rendering/RenderSlider.cpp:
10871 2006-11-15  Timothy Hatcher  <timothy@apple.com>
10873         Reviewed by Harrison.
10875         <rdar://problem/4832894> Crash deleting an element inside a list while deletion rectangle is visible (compareBoundaryPoints)
10877         * Disable and hide the deletion UI for each editing command. This prevents editing commands from being affected
10878           by the deletion UI elements we insert. The deletion UI is then shown after the editing commands are completely done.
10880         * Multiple calls to DeleteButtonController's disable() needed to be paired with the same number of enable() calls before
10881           the deletion UI is enabled again. This allows for nested editing commands to be called without thrashing the deletion UI.
10883         * Make sure the the renderers are currently reflecting the latest style changes, so call updateLayoutIgnorePendingStylesheets().
10885         * editing/DeleteButtonController.cpp:
10886         (WebCore::DeleteButtonController::DeleteButtonController):
10887         (WebCore::isDeletableElement):
10888         (WebCore::DeleteButtonController::respondToChangedSelection): check the enabled state
10889         (WebCore::DeleteButtonController::respondToChangedContents): check the enabled state
10890         (WebCore::DeleteButtonController::show): call isDeletableElement() to make sure the element is allowed
10891         (WebCore::DeleteButtonController::deleteTarget): check the enabled state
10892         * editing/DeleteButtonController.h:
10893         (WebCore::DeleteButtonController::disable):
10894         (WebCore::DeleteButtonController::enable):
10895         (WebCore::DeleteButtonController::enabled):
10896         * editing/EditCommand.cpp:
10897         (WebCore::EditCommand::apply): hide and disable the deletion UI, then show at the end
10898         (WebCore::EditCommand::unapply): ditto
10899         (WebCore::EditCommand::reapply): ditto
10901 2006-11-15  Adele Peterson  <adele@apple.com>
10903         Reviewed by Adam.
10905         New implementation of slider control.
10907         * WebCore.xcodeproj/project.pbxproj: Removed DeprecatedSlider and Slider classes, added RenderSlider class.
10908         * rendering/DeprecatedSlider.cpp: Removed.
10909         * rendering/DeprecatedSlider.h: Removed.
10910         * platform/Slider.h: Removed.
10911         * platform/mac/SliderMac.mm: Removed.
10912         * platform/win/TemporaryLinkStubs.cpp:
10914         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoElement for thumb, PseudoSliderThumb.
10915         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added code for "-webkit-slider-thumb".
10916         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): 
10917         * rendering/RenderStyle.cpp:
10918         (WebCore::):
10919         (WebCore::pseudoBit):
10920         * rendering/RenderStyle.h: (WebCore::RenderStyle::):
10922         * css/html4.css: Added style for input[type="range"] and input[type="range"]::-webkit-slider-thumb
10924         * html/HTMLInputElement.cpp:
10925         (WebCore::HTMLInputElement::createRenderer): Create RenderSlider for input type="range" elements.
10926         (WebCore::HTMLInputElement::defaultEventHandler): Allow the renderer to forward events, and set thumb position when click occurs on the track.
10928         * page/EventHandler.cpp:  Added concept of a node that will capture all mouse events.  This will be used by the slider thumb, so it can
10929           continue to capture mouse move events during the drag, even though those events aren't directly over the slider.
10930         (WebCore::EventHandler::EventHandler):
10931         (WebCore::EventHandler::setCapturingMouseEventsNode):
10932         (WebCore::EventHandler::dispatchMouseEvent): If the capturingMouseEventsNode is set, then dispatch all mouse events to that node.
10933         * page/EventHandler.h:
10935         * rendering/RenderSlider.cpp: Added.
10936         (WebCore::HTMLSliderThumbElement::isShadowNode):
10937         (WebCore::HTMLSliderThumbElement::shadowParentNode):
10938         (WebCore::HTMLSliderThumbElement::inDragMode): Keeps track of whether or not the thumb is in drag mode.
10939         (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
10940         (WebCore::HTMLSliderThumbElement::defaultEventHandler): Handles positioning of slider thumb during drag.
10941         (WebCore::RenderSlider::RenderSlider):
10942         (WebCore::RenderSlider::~RenderSlider):
10943         (WebCore::RenderSlider::baselinePosition):
10944         (WebCore::RenderSlider::calcMinMaxWidth):
10945         (WebCore::RenderSlider::setStyle):
10946         (WebCore::RenderSlider::createThumbStyle):
10947         (WebCore::RenderSlider::layout): Positions the thumb to be centered on the track.
10948         (WebCore::RenderSlider::updateFromElement):
10949         (WebCore::RenderSlider::mouseEventIsInThumb):
10950         (WebCore::RenderSlider::setValueForPosition):
10951         (WebCore::RenderSlider::setPositionFromValue):
10952         (WebCore::RenderSlider::positionForOffset):
10953         (WebCore::RenderSlider::valueChanged):
10954         (WebCore::RenderSlider::currentPosition):
10955         (WebCore::RenderSlider::setCurrentPosition):
10956         (WebCore::RenderSlider::trackSize):
10957         (WebCore::RenderSlider::forwardEvent):
10958         (WebCore::RenderSlider::inDragMode):
10959         * rendering/RenderSlider.h: Added.
10960         (WebCore::RenderSlider::renderName):
10962          * rendering/RenderTheme.cpp: Added drawing code for slider track and thumb.
10963         (WebCore::RenderTheme::adjustStyle):
10964         (WebCore::RenderTheme::paint):
10965         (WebCore::RenderTheme::paintBorderOnly):
10966         (WebCore::RenderTheme::paintDecorations):
10967         (WebCore::RenderTheme::adjustSliderTrackStyle):
10968         (WebCore::RenderTheme::adjustSliderThumbStyle):
10969         * rendering/RenderTheme.h:
10970         (WebCore::RenderTheme::paintSliderTrack):
10971         (WebCore::RenderTheme::paintSliderThumb):
10972         * rendering/RenderThemeMac.h:
10973         * rendering/RenderThemeMac.mm:
10974         (WebCore::RenderThemeMac::RenderThemeMac):
10975         (WebCore::TrackGradientInterpolate):
10976         (WebCore::RenderThemeMac::paintSliderTrack):
10977         (WebCore::RenderThemeMac::paintSliderThumb):
10978         (WebCore::RenderThemeMac::adjustSliderTrackStyle):
10979         (WebCore::RenderThemeMac::adjustSliderThumbStyle):
10981 2006-11-15  Beth Dakin  <bdakin@apple.com>
10983         Reviewed by Adam.
10985         Oops! Forgot to add this!
10987         * platform/mac/ContextMenuMac.mm: Added.
10988         (-[MenuTarget forwardContextMenuAction:initWithContextMenu:WebCore::]):
10989         (-[MenuTarget WebCore::]):
10990         (-[MenuTarget setMenu:WebCore::]):
10991         (-[MenuTarget forwardContextMenuAction:]):
10992         (getNSMenuItem):
10993         (ContextMenu::appendItem):
10994         (ContextMenu::itemCount):
10995         (ContextMenu::insertItem):
10996         (ContextMenu::setPlatformMenuDescription):
10998 2006-11-15  Beth Dakin  <bdakin@apple.com>
10999         &   Adam Roben  <aroben@apple.com>
11001         Reviewed by Adam and Beth.
11003         Initial cut at pushing Context Menus into WebCore. Nobody actually 
11004         calls this code just yet.
11006         * WebCore.exp:
11007         * WebCore.xcodeproj/project.pbxproj:
11008         * page/Chrome.cpp:
11009         (WebCore::Chrome::addCustomContextMenuItems): Use the chrome to 
11010         call into addContextMenuItems on the UIDelegate.
11011         * page/Chrome.h:
11012         * page/ChromeClient.h:
11013         * platform/ContextMenu.cpp: Added.
11014         (WebCore::addDefaultItems):
11015         (WebCore::ContextMenu::populate):
11016         * platform/ContextMenu.h: Added.
11017         (WebCore::):
11018         (WebCore::ContextMenuItem::ContextMenuItem):
11019         (WebCore::ContextMenu::ContextMenu):
11020         (WebCore::ContextMenu::hitTestResult):
11021         (WebCore::ContextMenu::platformMenuDescription):
11023 2006-11-15  Adele Peterson  <adele@apple.com>
11025         Reviewed by Hyatt.
11027         - Fix for <rdar://problem/4780306> REGRESSION: clicking in textarea does not set selection at PunBB.org
11029         * css/html4.css: Removed "-webkit-user-select: ignore" for labels.
11031 2006-11-15  David Harrison  <harrison@apple.com>
11033         Reviewed by Darin.
11035         <rdar://problem/4836034> REGRESSION: Hang while spell-checking (advanceToNextMisspelling)
11037         Test:
11038         * manual-tests/keep_spelling_markers.html:
11039         Updated to include checking for this bug.
11040         
11041         * bridge/mac/FrameMac.mm:
11042         (WebCore::FrameMac::advanceToNextMisspelling):
11043         it.advance() even when current string is a single space.
11045 2006-11-15  Brady Eidson  <beidson@apple.com>
11047         Reviewed by lamadio
11049         Backing out macro expansion
11051         * WebCore.xcodeproj/project.pbxproj:
11052         * html/HTMLElement.cpp:
11053         (WebCore::HTMLElement::isRecognizedTagName):
11054         * ksvg2/scripts/make_names.pl:
11056 2006-11-15  David Harrison  <harrison@apple.com>
11058         Reviewed by Darin.
11060         <rdar://problem/4770453> VO not honoring secure edit fields in web pages
11062         The remaining problem was the password fields would return their contents
11063         even though they did not advertise that they could. Apparently, VoiceOver
11064         does not read the ads.
11066         * bridge/mac/WebCoreAXObject.mm:
11067         (isPasswordFieldElement):
11068         (-[WebCoreAXObject isPasswordField]):
11069         (-[WebCoreAXObject textMarkerForVisiblePosition:]):
11070         (-[WebCoreAXObject accessibilityAttributeValue:]):
11071         (-[WebCoreAXObject doAXStringForRange:]):
11073 2006-11-13  Lou Amadio  <lamadio@apple.com>
11075         Reviewed by Darin Adler, Maciej Stachowiak
11077         Cleanup: Expanded macros in generated files
11079         * html/HTMLElement.cpp:
11080         (WebCore::HTMLElement::isRecognizedTagName):
11081         * ksvg2/scripts/make_names.pl:
11083 2006-11-16  Anders Carlsson  <acarlsson@apple.com>
11085         Reviewed by Geoff.
11087         Use Vector instead of DeprecatedPtrList.
11088         
11089         * editing/ApplyStyleCommand.cpp:
11090         (WebCore::ApplyStyleCommand::applyBlockStyle):
11091         * editing/BreakBlockquoteCommand.cpp:
11092         * rendering/RenderFlow.cpp:
11093         (WebCore::RenderFlow::paintOutline):
11095 2006-11-15  Adam Roben  <aroben@apple.com>
11097         Build fix.
11099         * page/EventHandler.h:
11101 2006-11-14  Beth Dakin  <bdakin@apple.com>
11103         Reviewed by Geoff.
11105         Move things off the bridge, and move sendContextMenuEvent() from 
11106         EventHandlerMac to EventHandler.
11108         * WebCore.exp:
11109         * WebCore.xcodeproj/project.pbxproj:
11110         * bridge/EditorClient.h:
11111         * bridge/mac/WebCoreFrameBridge.h:
11112         * editing/Editor.cpp:
11113         (WebCore::Editor::selectWordBeforeMenuEvent):
11114         (WebCore::Editor::clientIsEditable):
11115         * editing/Editor.h:
11116         * page/EventHandler.cpp:
11117         (WebCore::EventHandler::sendContextMenuEvent):
11118         * page/EventHandler.h:
11119         * page/mac/EventHandlerMac.mm:
11121 2006-11-14  Timothy Hatcher  <timothy@apple.com>
11123         Reviewed by Harrison.
11125         <rdar://problem/4766635> Safari should never follow links in editable areas (add a WebKitEditableLinkNeverLive option)
11127         Adds an EditableLinkNeverLive setting that will make links in editable areas always dead.
11129         * bridge/mac/WebCoreSettings.mm:
11130         (-[WebCoreSettings setEditableLinkBehavior:]):
11131         * html/HTMLAnchorElement.cpp:
11132         (WebCore::HTMLAnchorElement::defaultEventHandler):
11133         (WebCore::HTMLAnchorElement::setActive):
11134         (WebCore::HTMLAnchorElement::isLiveLink):
11135         * page/FrameView.cpp:
11136         (WebCore::selectCursor):
11137         * page/Settings.h:
11138         (WebCore::Settings::):
11140 2006-11-14  Mark Rowe  <bdash@webkit.org>
11142         Reviewed by Oliver.
11144         Build fix
11146         * bindings/scripts/CodeGenerator.pm:
11148 2006-11-14  Anders Carlsson  <acarlsson@apple.com>
11150         Turns out I wasn't forcing DWARF on the world at all, 
11151         it's now the default!
11153         * WebCore.xcodeproj/project.pbxproj:
11155 2006-11-14  Anders Carlsson  <acarlsson@apple.com>
11157         I must stop trying to force DWARF on the world.
11158         
11159         * WebCore.xcodeproj/project.pbxproj:
11161 2006-11-13  Justin Garcia  <justin.garcia@apple.com>
11163         Reviewed by harrison
11164         
11165         <rdar://problem/4806874>
11166         Missing background image after paste
11167         
11168         * editing/markup.cpp:
11169         (WebCore::createMarkup): If the body is fully selected, add a 
11170         div with its CSS properties to the markup.  Migrated a use of 
11171         enclosingBlockFlowElement to enclosingBlock to fix an infinite 
11172         loop when pasting <div><input></div>.
11174 2006-11-14  Anders Carlsson  <acarlsson@apple.com>
11176         Reviewed by Adam.
11178         Add Undo/Redo to execCommand.
11179         
11180         * editing/Editor.cpp:
11181         (WebCore::execRedo):
11182         (WebCore::execUndo):
11183         (WebCore::canRedo):
11184         (WebCore::canUndo):
11185         (WebCore::CommandEntry::):
11187 2006-11-14  Darin Adler  <darin@apple.com>
11189         Reviewed by Anders.
11191         - created EventHandler class, moved event handling code from both
11192           Frame and FrameView in there
11194         - added ScrollTypes.h header so you can include the scroller-related
11195           enums without all of Scrollbar.h
11197         * page/EventHandler.cpp: Added.
11198         * page/EventHandler.h: Added.
11199         * page/mac/EventHandlerMac.mm: Added.
11201         * platform/ScrollBarMode.h: Removed.
11202         * platform/ScrollTypes.h: Added.
11204         * WebCore.exp:
11205         * WebCore.xcodeproj/project.pbxproj:
11206         * bridge/mac/FrameMac.h:
11207         * bridge/mac/FrameMac.mm:
11208         (WebCore::FrameMac::FrameMac):
11209         (WebCore::FrameMac::~FrameMac):
11210         (WebCore::FrameMac::bridgeForWidget):
11211         (WebCore::FrameMac::imageFromRect):
11212         * bridge/mac/FrameViewMac.mm:
11213         * bridge/mac/WebCoreFrameBridge.mm:
11214         (-[WebCoreFrameBridge scrollOverflowInDirection:granularity:]):
11215         (-[WebCoreFrameBridge nextKeyView]):
11216         (-[WebCoreFrameBridge previousKeyView]):
11217         (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
11218         (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
11219         (-[WebCoreFrameBridge _visiblePositionForPoint:]):
11220         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
11221         (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
11222         (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
11223         (-[WebCoreFrameBridge dragSourceMovedTo:]):
11224         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
11225         * dom/Document.cpp:
11226         (WebCore::Document::hoveredNodeDetached):
11227         * dom/Element.h:
11228         * dom/EventTargetNode.cpp:
11229         (WebCore::EventTargetNode::defaultEventHandler):
11230         * editing/SelectionController.cpp:
11231         (WebCore::SelectionController::SelectionController):
11232         * editing/SelectionController.h:
11233         (WebCore::SelectionController::setCaretBlinkingSuspended):
11234         (WebCore::SelectionController::isCaretBlinkingSuspended):
11235         * html/HTMLAnchorElement.cpp:
11236         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
11237         * html/HTMLFrameElementBase.cpp:
11238         (WebCore::HTMLFrameElementBase::setFocus):
11239         * html/HTMLFrameElementBase.h:
11240         * html/HTMLGenericFormElement.cpp:
11241         (WebCore::HTMLGenericFormElement::isKeyboardFocusable):
11242         * html/HTMLInputElement.cpp:
11243         (WebCore::HTMLInputElement::defaultEventHandler):
11244         * html/HTMLSelectElement.cpp:
11245         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
11246         * loader/FrameLoader.cpp:
11247         (WebCore::FrameLoader::clear):
11248         (WebCore::FrameLoader::open):
11250         * page/Frame.cpp:
11251         (WebCore::Frame::caretBlinkTimerFired):
11252         (WebCore::Frame::frameForWidget):
11253         (WebCore::Frame::eventHandler):
11254         (WebCore::Frame::setProhibitsScrolling):
11255         (WebCore::FramePrivate::FramePrivate):
11256         * page/Frame.h:
11257         * page/FramePrivate.h:
11258         * page/FrameView.cpp:
11259         (WebCore::FrameViewPrivate::FrameViewPrivate):
11260         (WebCore::FrameViewPrivate::reset):
11261         (WebCore::FrameView::FrameView):
11262         (WebCore::FrameView::~FrameView):
11263         (WebCore::FrameView::clear):
11264         (WebCore::FrameView::adjustViewSize):
11265         (WebCore::FrameView::addRepaintInfo):
11266         (WebCore::FrameView::layout):
11267         (WebCore::FrameView::scrollPointRecursively):
11268         (WebCore::FrameView::setContentsPos):
11269         (WebCore::FrameView::scheduleRelayoutOfSubtree):
11270         (WebCore::FrameView::scheduleEvent):
11271         (WebCore::FrameView::updateOverflowStatus):
11272         (WebCore::FrameView::dispatchScheduledEvents):
11273         (WebCore::FrameView::windowClipRectForLayer):
11274         (WebCore::FrameView::handleMouseMoveEvent):
11275         (WebCore::FrameView::handleMouseReleaseEvent):
11276         * page/FrameView.h:
11277         * page/PageState.cpp:
11278         (WebCore::PageState::PageState):
11279         (WebCore::PageState::restore):
11280         * page/PageState.h:
11281         * platform/ScrollBar.h:
11282         * platform/ScrollView.h:
11283         * platform/mac/ClipboardMac.mm:
11284         * platform/mac/PopupMenuMac.mm:
11285         (WebCore::PopupMenu::show):
11286         * platform/mac/SliderMac.mm:
11287         (-[WebCoreSlider becomeFirstResponder]):
11288         (-[WebCoreSlider nextKeyView]):
11289         (-[WebCoreSlider previousKeyView]):
11290         (-[WebCoreSlider canBecomeKeyView]):
11291         (Slider::focusPolicy):
11292         * platform/mac/WebCoreTextField.mm:
11293         (-[WebCoreTextFieldController textView:shouldHandleEvent:]):
11294         (-[WebCoreTextFieldController setHasFocus:]):
11295         (-[WebCoreSearchField nextKeyView]):
11296         (-[WebCoreSearchField previousKeyView]):
11297         (-[WebCoreSearchFieldCell _addStringToRecentSearches:]):
11298         * platform/mac/WidgetMac.mm:
11299         (WebCore::Widget::hasFocus):
11300         (WebCore::Widget::clearFocus):
11301         * rendering/RenderFrameSet.cpp:
11302         (WebCore::RenderFrameSet::setResizing):
11303         * rendering/RenderLayer.cpp:
11304         (WebCore::RenderLayer::autoscroll):
11305         (WebCore::RenderLayer::resize):
11306         (WebCore::RenderLayer::updateOverflowStatus):
11307         * rendering/RenderLayer.h:
11308         * rendering/RenderListBox.cpp:
11309         (WebCore::RenderListBox::autoscroll):
11310         * rendering/RenderObject.cpp:
11311         (WebCore::RenderObject::draggableNode):
11312         (WebCore::RenderObject::destroy):
11313         * rendering/RenderObject.h:
11314         (WebCore::RenderObject::RepaintInfo::RepaintInfo):
11315         * rendering/RenderPartObject.cpp:
11316         (WebCore::RenderPartObject::viewCleared):
11318 2006-11-14  Anders Carlsson  <acarlsson@apple.com>
11320         Reviewed by Darin.
11322         Let the editor client handle undo/redo.
11323         
11324         * WebCore.exp:
11325         * WebCore.xcodeproj/project.pbxproj:
11326         * bridge/EditorClient.h:
11327         * bridge/mac/FrameMac.h:
11328         * bridge/mac/FrameMac.mm:
11329         (WebCore::FrameMac::canUndo):
11330         (WebCore::FrameMac::canRedo):
11331         * bridge/mac/WebCoreEditCommand.h: Removed.
11332         * bridge/mac/WebCoreEditCommand.mm: Removed.
11333         * bridge/mac/WebCoreFrameBridge.h:
11334         * bridge/mac/WebCoreFrameBridge.mm:
11335         * editing/Editor.cpp:
11336         (WebCore::Editor::appliedEditing):
11337         (WebCore::Editor::unappliedEditing):
11338         (WebCore::Editor::reappliedEditing):
11339         * editing/JSEditor.cpp:
11340         * loader/FrameLoader.cpp:
11341         (WebCore::FrameLoader::closeURL):
11342         * page/Frame.cpp:
11343         * page/Frame.h:
11344         * rendering/RenderTextControl.cpp:
11345         (WebCore::RenderTextControl::updateFromElement):
11347 2006-11-14  Nikolas Zimmermann  <zimmermann@kde.org>
11349         Reviewed and landed by Brady
11351         Fix Qt/Linux build.
11353         * ChangeLog:
11354         * loader/qt/FrameLoaderQt.cpp:
11355         (WebCore::FrameLoader::submitForm):
11356         * platform/network/qt/ResourceHandleManager.cpp:
11357         (WebCore::ResourceHandleManager::add):
11358         * platform/qt/FrameQtClient.cpp:
11359         (WebCore::FrameQtClientDefault::submitForm):
11360         * platform/qt/FrameQtClient.h:
11362 2006-11-14  Brady Eidson  <beidson@apple.com>
11364         Reviewed by Anders
11366         Cleanup of my patch last night and merging with aroben-style changes from this morning
11367         (More ref-counted FormData stuff)
11369         * html/HTMLFormElement.cpp:
11370         (WebCore::HTMLFormElement::submit):
11371         * loader/FrameLoader.cpp:
11372         (WebCore::FrameLoader::submitForm):
11373         * platform/network/ResourceHandle.cpp:
11374         (WebCore::ResourceHandle::postData):
11375         * platform/network/ResourceHandle.h:
11376         * platform/network/cf/FormDataStreamCFNet.cpp:
11377         (WebCore::setHTTPBody):
11378         * platform/network/mac/FormDataStreamMac.h:
11379         * platform/network/mac/FormDataStreamMac.mm:
11380         (WebCore::getStreamFormDatas):
11381         (WebCore::formCreate):
11382         (WebCore::formFinalize):
11383         (WebCore::setHTTPBody):
11384         (WebCore::httpBodyFromStream):
11385         * platform/network/mac/ResourceRequestMac.mm:
11386         (WebCore::getResourceRequest):
11388 2006-11-14  Rob Buis  <buis@kde.org>
11390         Reviewed by Darin.
11392         http://bugs.webkit.org/show_bug.cgi?id=11575
11393         Bug 11575: REGRESSION: WebCore crash in CSSParser/HTMLTokenizer
11395         Test: fast/css/css-imports.html
11397         * css/CSSImportRule.cpp:
11398         (WebCore::CSSImportRule::insertedIntoParent):
11399         Fix the crash by testing for null pointer.
11401 2006-11-14  Alexey Proskuryakov  <ap@webkit.org>
11403         Reviewed by Tim H.
11405         Test for http://bugs.webkit.org/show_bug.cgi?id=3387
11406         Redundant keydown, keypress, keyup events sent for arrow keys
11408         * manual-tests/arrow-key-events.html: Added.
11410 2006-11-14  Darin Adler  <darin@apple.com>
11412         Reviewed by Adam.
11414         Fix up usages of FormData within CFNet loader code.
11416         * platform/network/ResourceRequest.h:
11417         (WebCore::ResourceRequest::httpBody):
11418         * platform/network/cf/FormDataStreamCFNet.cpp:
11419         (WebCore::getStreamFormDatas): Store RefPtr<FormData>s in the
11420         streamFormDatas HashMap.
11421         (WebCore::formCreate):
11422         (WebCore::formFinalize): Removed delete because the remove() will deref
11423         and delete if necessary.
11424         (WebCore::setHTTPBody): Changed parameter to PassRefPtr.
11425         (WebCore::httpBodyFromStream):
11426         * platform/network/cf/FormDataStreamCFNet.h: Fix declarations.
11427         * platform/network/cf/ResourceRequestCFNet.cpp:
11428         (WebCore::getResourceRequest):
11430 2006-11-14  Greg Jackson  <gjspanner@gmail.com>
11432         Reviewed by Darin.
11434         Preserves any pre-existing value for WEBCORE_NAVIGATOR_PLATFORM
11435         rather than overriding it based on platform detection.
11437         * bindings/js/kjs_navigator.cpp:
11439 2006-11-13  Brady Eidson  <beidson@apple.com>
11441         Reviewed by Maciej
11443         Made FormData Shared, and pass it around as such.
11445         * WebCore.xcodeproj/project.pbxproj: Reordered some items
11446         * html/HTMLFormElement.cpp:
11447         (WebCore::HTMLFormElement::formData):
11448         (WebCore::HTMLFormElement::submit):
11449         * html/HTMLFormElement.h:
11450         * loader/FrameLoader.cpp:
11451         (WebCore::FormSubmission::FormSubmission):
11452         (WebCore::FrameLoader::submitForm):
11453         * loader/FrameLoader.h:
11454         * loader/mac/FrameLoaderMac.mm:
11455         (WebCore::FrameLoader::post):
11456         (WebCore::FrameLoader::loadResourceSynchronously):
11457         * loader/mac/SubresourceLoaderMac.mm:
11458         (WebCore::SubresourceLoader::create):
11459         * platform/network/FormData.h: Made FormData shared
11460         * platform/network/ResourceHandle.h:
11461         * platform/network/ResourceHandle.cpp:
11462         (WebCore::ResourceHandle::postData): 
11463         * platform/network/ResourceRequest.h:
11464         (WebCore::ResourceRequest::httpBody):
11465         (WebCore::ResourceRequest::setHTTPBody): 
11466         * platform/network/mac/ResourceRequestMac.mm:
11467         (WebCore::getResourceRequest):
11468         (WebCore::nsURLRequest): 
11470         * platform/network/mac/FormDataStreamMac.h:
11471         * platform/network/mac/FormDataStreamMac.mm:
11472         (WebCore::getStreamFormDatas): Hash Streams to RefPtr<FormData>s
11473         (WebCore::formCreate):
11474         (WebCore::formFinalize):
11475         (WebCore::setHTTPBody):
11476         (WebCore::httpBodyFromStream):
11478         * xml/xmlhttprequest.cpp:
11479         (WebCore::XMLHttpRequest::send):
11481 2006-11-13  Justin Garcia  <justin.garcia@apple.com>
11483         Reviewed by harrison
11484         
11485         <rdar://problem/4828264>
11486         In Mail, a crash occurs at WebCore::Selection::toRange() when selecting this web content (http://www.cnet.com/)
11487         
11488         The start of the selection is in an editable area, and the end is in an 
11489         input field inside that editable area.  The code that should pull the end
11490         of such a selection outside the input field didn't escape shadow nodes,
11491         it would leave a dangling end, causing the crash in toRange.
11492         
11493         * editing/Selection.cpp:
11494         (WebCore::Selection::adjustForEditableContent):  Added an ASSERT and a fixup
11495         to prevent crashes like this in future Release builds.
11496         * editing/htmlediting.cpp:
11497         (WebCore::firstEditablePositionAfterPositionInRoot): Let this function 
11498         escape shadow nodes.  We might eventually push this code down into 
11499         next/previous{VisuallyDistinct}Canditate.
11500         (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
11502 2006-11-13  Justin Garcia  <justin.garcia@apple.com>
11504         Reviewed by darin
11505         
11506         * editing/DeleteSelectionCommand.cpp:
11507         (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
11508         * editing/Editor.cpp:
11509         (WebCore::Editor::appliedEditing):
11510         * editing/Editor.h:
11511         (WebCore::Editor::setRemovedAnchor): Pass a PassRefPtr.
11513 2006-11-10  Justin Garcia  <justin.garcia@apple.com>
11515         Reviewed by Oliver
11516         
11517         <rdar://problem/4820026>
11518         copy/paste of news.google.com yields text from hidden select element options
11520         We were adding descendants of unrendered select elements. 
11522         * editing/markup.cpp:
11523         (WebCore::createMarkup): Don't traverse into nodes without renderers, unless 
11524         they are grandfathered in by a rendered select element.
11525         
11526 2006-11-12  Simon Hausmann  <hausmann@kde.org>
11528         Reviewed by Sam Weinig.
11530         Fix Qt build. Missing AbstractShared implementation.
11531         http://bugs.webkit.org/show_bug.cgi?id=11581
11533         * loader/qt/FrameLoaderClientQt.cpp:
11534         (WebCore::FrameLoaderClientQt::ref):
11535         (WebCore::FrameLoaderClientQt::deref):
11536         * loader/qt/FrameLoaderClientQt.h:
11537         * platform/qt/ChromeClientQt.cpp:
11538         (WebCore::ChromeClientQt::ref):
11539         (WebCore::ChromeClientQt::deref):
11540         * platform/qt/ChromeClientQt.h:
11541         * platform/qt/EditorClientQt.cpp:
11542         (WebCore::EditorClientQt::ref):
11543         (WebCore::EditorClientQt::deref):
11544         * platform/qt/EditorClientQt.h:
11546 2006-11-13  Mark Rowe  <bdash@webkit.org>
11548         Reviewed by Mitz.
11550         Fix some Linux/Gdk build issues noted by Alp Toker.
11552         * Projects/gdk/webcore-gdk.bkl:
11553         * WebCoreSources.bkl:
11554         * platform/graphics/gdk/ImageGdk.cpp:
11555         (WebCore::Image::loadPlatformResource):
11557 2006-11-12  Brady Eidson <beidson@apple.com>
11559         Reviewed by Anders
11561         Logging channel plumbing for future work
11563         * platform/Logging.cpp:
11564         (WebCore::):
11565         * platform/Logging.h:
11566         * platform/mac/LoggingMac.mm:
11567         (WebCore::InitializeLoggingChannelsIfNecessary):
11569 2006-11-12  Mark Rowe  <bdash@webkit.org>
11571         Reviewed by Mitz.
11573         Linux/Gdk compilation fixes, and bakefile cleanups.  Based on patches by
11574         Alp Toker.
11576         * Projects/gdk/webcore-gdk.bkl:
11577         * WebCoreSources.bkl:
11578         * page/PageState.cpp:
11579         * platform/gdk/ChromeClientGdk.h:
11580         (WebCore::ChromeClientGdk::ref):
11581         (WebCore::ChromeClientGdk::deref):
11582         * platform/gdk/FrameGdk.cpp:
11583         (WebCore::FrameGdkClientDefault::openURL):
11584         (WebCore::FrameGdkClientDefault::didReceiveData):
11585         (WebCore::FrameGdkClientDefault::receivedAllData):
11586         (WebCore::FrameGdk::FrameGdk):
11587         (WebCore::FrameGdk::~FrameGdk):
11588         * platform/gdk/FrameGdk.h:
11589         * platform/gdk/KeyEventGdk.cpp:
11590         (WebCore::keyIdentifierForGdkKeyCode):
11591         * platform/gdk/ScreenClientGdk.h: Removed.
11592         * platform/gdk/TemporaryLinkStubs.cpp:
11593         (FrameGdk::canPaste):
11594         (FrameGdk::originalRequestURL):
11595         (TextField::TextField):
11596         * platform/network/gdk/ResourceHandleManager.cpp:
11597         (WebCore::ResourceHandleManager::downloadTimerCallback):
11598         (WebCore::ResourceHandleManager::add):
11599         (WebCore::ResourceHandleManager::cancel):
11600         * webcore-base.bkl:
11602 2006-11-11  Geoffrey Garen  <ggaren@apple.com>
11604         Reviewed by Maciej Stachowiak.
11605         
11606         - Fixed loader crash by clarifying ownership of WebKit client objects. 
11607         WebCore objects own their WebKit clients, and ref and deref through 
11608         virtual methods, leaving WebKit free to use whatever client / reference-counting 
11609         implementation it likes.
11610         
11611         * WebCore.exp:
11612         * WebCore.xcodeproj/project.pbxproj:
11613         * bridge/EditorClient.h: Fixed up function prototypes for style.
11614         * loader/FrameLoader.cpp: Removed detachFrameLoader, since its real purpose
11615         was to implement an alternative ownership model.
11616         (WebCore::FrameLoader::~FrameLoader): Removed empty destructor.
11617         (WebCore::FrameLoader::setClient): This function now takes ownership
11618         (WebCore::FrameLoader::client):
11619         * loader/FrameLoader.h:
11620         * loader/FrameLoaderClient.h:
11621         * page/ChromeClient.h:
11622         * platform/AbstractShared.h: Added. This is the virtual function-based refcounting
11623         complement to Shared.
11624         (WebCore::AbstractShared::~AbstractShared):
11626 2006-11-11  George Staikos  <staikos@kde.org>
11628         Reviewed by Maciej.
11630         Fix uninitialized variable.
11632         * rendering/RenderStyle.h:
11634 2006-11-11  Nikolas Zimmermann  <zimmermann@kde.org>
11636         Reviewed/landed by Adam.
11638         Complete cleanup of the CMakeLists.txt.
11639         Now all files to be built are sorted in alphabetic order.
11641         General style cleanup, remove all tabs etc.
11643         * CMakeLists.txt:
11645 2006-11-11  Geoffrey Garen  <ggaren@apple.com>
11647         Reviewed by Maciej Stachowiak.
11648         
11649         Added missing initializer to ResourceRequest -- fixes some loader crashes
11650         due to assuming a request always has a non-null httpMethod.
11652         * platform/network/ResourceRequest.h:
11653         (WebCore::ResourceRequest::ResourceRequest):
11655 2006-11-11  Brady Eidson <beidson@apple.com>
11657         Reviewed by Maciej
11659         Fixed header guard
11661         * loader/FrameLoaderClient.h:
11663 2006-11-11  Darin Adler  <darin@apple.com>
11665         - attempt to fix Qt build
11667         * platform/qt/CursorQt.cpp:
11668         (WebCore::verticalTextCursor): Added. Just returns pointer cursor.
11669         (WebCore::cellCursor): Ditto.
11670         (WebCore::contextMenuCursor): Ditto.
11672 2006-11-11  Rob Buis  <buis@kde.org>
11674         Reviewed by hyatt.
11676         http://bugs.webkit.org/show_bug.cgi?id=10893
11677         InsertRule can not handle @import statements
11679         Allow @import as part of a css rule.
11681         * css/CSSGrammar.y:
11682         * css/CSSImportRule.cpp:
11683         (WebCore::CSSImportRule::insertedIntoParent):
11684         * css/CSSStyleSheet.cpp:
11685         (WebCore::CSSStyleSheet::CSSStyleSheet):
11686         (WebCore::CSSStyleSheet::checkLoaded):
11687         * css/CSSStyleSheet.h:
11688         (WebCore::CSSStyleSheet::loadCompleted):
11690 2006-11-11  Alexey Proskuryakov  <ap@webkit.org>
11692         Attempt to fix Qt build.
11694         * CMakeLists.txt: PathQt.cpp is in graphics/qt now.
11696 2006-11-11  Lars Naesbye Christensen  <lars@naesbye.dk>
11698         Tortured by Sam Weinig, Tim H., Maciej, Mitz and Alexey :-)
11700         [CSS 3] support for vertical-text, cell and context-menu cursors
11701         http://bugs.webkit.org/show_bug.cgi?id=11494
11703         * Resources/cellCursor.png: Added.
11704         * Resources/contextMenuCursor.png: Added.
11705         * Resources/verticalTextCursor.png: Added.
11706         * WebCore.xcodeproj/project.pbxproj:
11707         * css/CSSComputedStyleDeclaration.cpp:
11708         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
11709         * css/CSSValueKeywords.in:
11710         * manual-tests/cursor.html:
11711         * page/FrameView.cpp:
11712         (WebCore::selectCursor):
11713         * platform/Cursor.h:
11714         * platform/mac/CursorMac.mm:
11715         (WebCore::verticalTextCursor):
11716         (WebCore::cellCursor):
11717         (WebCore::contextMenuCursor):
11718         * rendering/RenderStyle.h:
11719         (WebCore::):
11721 2006-11-11  Nikolas Zimmermann  <zimmermann@kde.org>
11723         Reviewed by aroben and ap, landed by ap.
11725         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11468
11727         Group graphics related files in platform/graphics.
11728         Move certain files from certain subdirectories
11729         into platform/graphics/{win,mac,cg,gdk,qt}
11731         * CMakeLists.txt:
11732         * WebCore.xcodeproj/project.pbxproj:
11733         * platform/AffineTransform.cpp: Removed.
11734         * platform/AffineTransform.h: Removed.
11735         * platform/Color.cpp: Removed.
11736         * platform/Color.h: Removed.
11737         * platform/FloatPoint.cpp: Removed.
11738         * platform/FloatPoint.h: Removed.
11739         * platform/FloatRect.cpp: Removed.
11740         * platform/FloatRect.h: Removed.
11741         * platform/FloatSize.cpp: Removed.
11742         * platform/FloatSize.h: Removed.
11743         * platform/Icon.h: Removed.
11744         * platform/Image.cpp: Removed.
11745         * platform/Image.h: Removed.
11746         * platform/ImageSource.h: Removed.
11747         * platform/IntPoint.h: Removed.
11748         * platform/IntRect.cpp: Removed.
11749         * platform/IntRect.h: Removed.
11750         * platform/IntSize.h: Removed.
11751         * platform/IntSizeHash.h: Removed.
11752         * platform/Path.cpp: Removed.
11753         * platform/Path.h: Removed.
11754         * platform/Pen.cpp: Removed.
11755         * platform/Pen.h: Removed.
11756         * platform/cairo/AffineTransformCairo.cpp: Removed.
11757         * platform/cairo/GraphicsContextCairo.cpp: Removed.
11758         * platform/cairo/ImageCairo.cpp: Removed.
11759         * platform/cairo/ImageSourceCairo.cpp: Removed.
11760         * platform/cairo/cairo/AUTHORS: Removed.
11761         * platform/cairo/cairo/COPYING: Removed.
11762         * platform/cairo/cairo/COPYING-LGPL-2.1: Removed.
11763         * platform/cairo/cairo/COPYING-MPL-1.1: Removed.
11764         * platform/cairo/cairo/INSTALL: Removed.
11765         * platform/cairo/cairo/NEWS: Removed.
11766         * platform/cairo/cairo/README: Removed.
11767         * platform/cairo/cairo/TODO: Removed.
11768         * platform/cairo/cairo/src/Makefile.in: Removed.
11769         * platform/cairo/cairo/src/cairo-arc-private.h: Removed.
11770         * platform/cairo/cairo/src/cairo-arc.c: Removed.
11771         * platform/cairo/cairo/src/cairo-array.c: Removed.
11772         * platform/cairo/cairo/src/cairo-atsui-font.c: Removed.
11773         * platform/cairo/cairo/src/cairo-atsui.h: Removed.
11774         * platform/cairo/cairo/src/cairo-beos-surface.cpp: Removed.
11775         * platform/cairo/cairo/src/cairo-beos.h: Removed.
11776         * platform/cairo/cairo/src/cairo-cache-private.h: Removed.
11777         * platform/cairo/cairo/src/cairo-cache.c: Removed.
11778         * platform/cairo/cairo/src/cairo-clip-private.h: Removed.
11779         * platform/cairo/cairo/src/cairo-clip.c: Removed.
11780         * platform/cairo/cairo/src/cairo-color.c: Removed.
11781         * platform/cairo/cairo/src/cairo-debug.c: Removed.
11782         * platform/cairo/cairo/src/cairo-debug.h: Removed.
11783         * platform/cairo/cairo/src/cairo-directfb-surface.c: Removed.
11784         * platform/cairo/cairo/src/cairo-directfb.h: Removed.
11785         * platform/cairo/cairo/src/cairo-features.h: Removed.
11786         * platform/cairo/cairo/src/cairo-features.h.in: Removed.
11787         * platform/cairo/cairo/src/cairo-fixed.c: Removed.
11788         * platform/cairo/cairo/src/cairo-font-options.c: Removed.
11789         * platform/cairo/cairo/src/cairo-font-subset-private.h: Removed.
11790         * platform/cairo/cairo/src/cairo-font-subset.c: Removed.
11791         * platform/cairo/cairo/src/cairo-font.c: Removed.
11792         * platform/cairo/cairo/src/cairo-ft-font.c: Removed.
11793         * platform/cairo/cairo/src/cairo-ft-private.h: Removed.
11794         * platform/cairo/cairo/src/cairo-ft.h: Removed.
11795         * platform/cairo/cairo/src/cairo-glitz-surface.c: Removed.
11796         * platform/cairo/cairo/src/cairo-glitz.h: Removed.
11797         * platform/cairo/cairo/src/cairo-gstate-private.h: Removed.
11798         * platform/cairo/cairo/src/cairo-gstate.c: Removed.
11799         * platform/cairo/cairo/src/cairo-hash-private.h: Removed.
11800         * platform/cairo/cairo/src/cairo-hash.c: Removed.
11801         * platform/cairo/cairo/src/cairo-hull.c: Removed.
11802         * platform/cairo/cairo/src/cairo-image-surface.c: Removed.
11803         * platform/cairo/cairo/src/cairo-matrix.c: Removed.
11804         * platform/cairo/cairo/src/cairo-meta-surface-private.h: Removed.
11805         * platform/cairo/cairo/src/cairo-meta-surface.c: Removed.
11806         * platform/cairo/cairo/src/cairo-output-stream.c: Removed.
11807         * platform/cairo/cairo/src/cairo-paginated-surface-private.h: Removed.
11808         * platform/cairo/cairo/src/cairo-paginated-surface.c: Removed.
11809         * platform/cairo/cairo/src/cairo-path-bounds.c: Removed.
11810         * platform/cairo/cairo/src/cairo-path-data-private.h: Removed.
11811         * platform/cairo/cairo/src/cairo-path-data.c: Removed.
11812         * platform/cairo/cairo/src/cairo-path-fill.c: Removed.
11813         * platform/cairo/cairo/src/cairo-path-fixed-private.h: Removed.
11814         * platform/cairo/cairo/src/cairo-path-stroke.c: Removed.
11815         * platform/cairo/cairo/src/cairo-path.c: Removed.
11816         * platform/cairo/cairo/src/cairo-pattern.c: Removed.
11817         * platform/cairo/cairo/src/cairo-pdf-surface.c: Removed.
11818         * platform/cairo/cairo/src/cairo-pdf.h: Removed.
11819         * platform/cairo/cairo/src/cairo-pen.c: Removed.
11820         * platform/cairo/cairo/src/cairo-platform.h: Removed.
11821         * platform/cairo/cairo/src/cairo-png.c: Removed.
11822         * platform/cairo/cairo/src/cairo-polygon.c: Removed.
11823         * platform/cairo/cairo/src/cairo-private.h: Removed.
11824         * platform/cairo/cairo/src/cairo-ps-surface.c: Removed.
11825         * platform/cairo/cairo/src/cairo-ps.h: Removed.
11826         * platform/cairo/cairo/src/cairo-quartz-private.h: Removed.
11827         * platform/cairo/cairo/src/cairo-quartz-surface.c: Removed.
11828         * platform/cairo/cairo/src/cairo-quartz.h: Removed.
11829         * platform/cairo/cairo/src/cairo-quartz2-surface.c: Removed.
11830         * platform/cairo/cairo/src/cairo-quartz2.h: Removed.
11831         * platform/cairo/cairo/src/cairo-region.c: Removed.
11832         * platform/cairo/cairo/src/cairo-scaled-font.c: Removed.
11833         * platform/cairo/cairo/src/cairo-slope.c: Removed.
11834         * platform/cairo/cairo/src/cairo-spline.c: Removed.
11835         * platform/cairo/cairo/src/cairo-stroke-style.c: Removed.
11836         * platform/cairo/cairo/src/cairo-surface-fallback-private.h: Removed.
11837         * platform/cairo/cairo/src/cairo-surface-fallback.c: Removed.
11838         * platform/cairo/cairo/src/cairo-surface.c: Removed.
11839         * platform/cairo/cairo/src/cairo-svg-surface.c: Removed.
11840         * platform/cairo/cairo/src/cairo-svg.h: Removed.
11841         * platform/cairo/cairo/src/cairo-traps.c: Removed.
11842         * platform/cairo/cairo/src/cairo-unicode.c: Removed.
11843         * platform/cairo/cairo/src/cairo-wideint.c: Removed.
11844         * platform/cairo/cairo/src/cairo-wideint.h: Removed.
11845         * platform/cairo/cairo/src/cairo-win32-font.c: Removed.
11846         * platform/cairo/cairo/src/cairo-win32-private.h: Removed.
11847         * platform/cairo/cairo/src/cairo-win32-surface.c: Removed.
11848         * platform/cairo/cairo/src/cairo-win32.h: Removed.
11849         * platform/cairo/cairo/src/cairo-xcb-surface.c: Removed.
11850         * platform/cairo/cairo/src/cairo-xcb-xrender.h: Removed.
11851         * platform/cairo/cairo/src/cairo-xcb.h: Removed.
11852         * platform/cairo/cairo/src/cairo-xlib-private.h: Removed.
11853         * platform/cairo/cairo/src/cairo-xlib-screen.c: Removed.
11854         * platform/cairo/cairo/src/cairo-xlib-surface.c: Removed.
11855         * platform/cairo/cairo/src/cairo-xlib-test.h: Removed.
11856         * platform/cairo/cairo/src/cairo-xlib-xrender.h: Removed.
11857         * platform/cairo/cairo/src/cairo-xlib.h: Removed.
11858         * platform/cairo/cairo/src/cairo.c: Removed.
11859         * platform/cairo/cairo/src/cairo.h: Removed.
11860         * platform/cairo/cairo/src/cairoint.h: Removed.
11861         * platform/cairo/cairo/src/test-fallback-surface.c: Removed.
11862         * platform/cairo/cairo/src/test-fallback-surface.h: Removed.
11863         * platform/cairo/cairo/src/test-meta-surface.c: Removed.
11864         * platform/cairo/cairo/src/test-meta-surface.h: Removed.
11865         * platform/cairo/cairo/src/test-paginated-surface.c: Removed.
11866         * platform/cairo/cairo/src/test-paginated-surface.h: Removed.
11867         * platform/cairo/pixman/AUTHORS: Removed.
11868         * platform/cairo/pixman/COPYING: Removed.
11869         * platform/cairo/pixman/README: Removed.
11870         * platform/cairo/pixman/src/Makefile.in: Removed.
11871         * platform/cairo/pixman/src/fbcompose.c: Removed.
11872         * platform/cairo/pixman/src/fbedge.c: Removed.
11873         * platform/cairo/pixman/src/fbedgeimp.h: Removed.
11874         * platform/cairo/pixman/src/fbmmx.c: Removed.
11875         * platform/cairo/pixman/src/fbmmx.h: Removed.
11876         * platform/cairo/pixman/src/fbpict.c: Removed.
11877         * platform/cairo/pixman/src/fbpict.h: Removed.
11878         * platform/cairo/pixman/src/fbtrap.c: Removed.
11879         * platform/cairo/pixman/src/icblt.c: Removed.
11880         * platform/cairo/pixman/src/icbltone.c: Removed.
11881         * platform/cairo/pixman/src/iccolor.c: Removed.
11882         * platform/cairo/pixman/src/icformat.c: Removed.
11883         * platform/cairo/pixman/src/icimage.c: Removed.
11884         * platform/cairo/pixman/src/icimage.h: Removed.
11885         * platform/cairo/pixman/src/icint.h: Removed.
11886         * platform/cairo/pixman/src/icpixels.c: Removed.
11887         * platform/cairo/pixman/src/icrect.c: Removed.
11888         * platform/cairo/pixman/src/icrop.h: Removed.
11889         * platform/cairo/pixman/src/icstipple.c: Removed.
11890         * platform/cairo/pixman/src/ictransform.c: Removed.
11891         * platform/cairo/pixman/src/ictrap.c: Removed.
11892         * platform/cairo/pixman/src/ictri.c: Removed.
11893         * platform/cairo/pixman/src/icutil.c: Removed.
11894         * platform/cairo/pixman/src/pixman-remap.h: Removed.
11895         * platform/cairo/pixman/src/pixman-xserver-compat.h: Removed.
11896         * platform/cairo/pixman/src/pixman.h: Removed.
11897         * platform/cairo/pixman/src/pixregion.c: Removed.
11898         * platform/cairo/pixman/src/pixregionint.h: Removed.
11899         * platform/cairo/pixman/src/renderedge.c: Removed.
11900         * platform/cairo/pixman/src/renderedge.h: Removed.
11901         * platform/cairo/pixman/src/slim_internal.h: Removed.
11902         * platform/cairo/rgb24-hacks.txt: Removed.
11903         * platform/cairo/scale-removal.txt: Removed.
11904         * platform/cg/AffineTransformCG.cpp: Removed.
11905         * platform/cg/FloatPointCG.cpp: Removed.
11906         * platform/cg/FloatRectCG.cpp: Removed.
11907         * platform/cg/FloatSizeCG.cpp: Removed.
11908         * platform/cg/GraphicsContextCG.cpp: Removed.
11909         * platform/cg/GraphicsContextPlatformPrivate.h: Removed.
11910         * platform/cg/ImageCG.cpp: Removed.
11911         * platform/cg/ImageSourceCG.cpp: Removed.
11912         * platform/cg/IntPointCG.cpp: Removed.
11913         * platform/cg/IntRectCG.cpp: Removed.
11914         * platform/cg/IntSizeCG.cpp: Removed.
11915         * platform/cg/PDFDocumentImage.cpp: Removed.
11916         * platform/cg/PDFDocumentImage.h: Removed.
11917         * platform/cg/PathCG.cpp: Removed.
11918         * platform/gdk/ImageGdk.cpp: Removed.
11919         * platform/mac/ColorMac.mm: Removed.
11920         * platform/mac/FloatPointMac.mm: Removed.
11921         * platform/mac/FloatRectMac.mm: Removed.
11922         * platform/mac/FloatSizeMac.mm: Removed.
11923         * platform/mac/GraphicsContextMac.mm:
11924         * platform/mac/IconMac.mm: Removed.
11925         * platform/mac/ImageMac.mm: Removed.
11926         * platform/mac/IntPointMac.mm: Removed.
11927         * platform/mac/IntRectMac.mm: Removed.
11928         * platform/mac/IntSizeMac.mm: Removed.
11929         * platform/qt/AffineTransformQt.cpp: Removed.
11930         * platform/qt/ColorQt.cpp: Removed.
11931         * platform/qt/FloatPointQt.cpp: Removed.
11932         * platform/qt/FloatRectQt.cpp: Removed.
11933         * platform/qt/IconQt.cpp: Removed.
11934         * platform/qt/ImageQt.cpp: Removed.
11935         * platform/qt/ImageSourceQt.cpp: Removed.
11936         * platform/qt/IntPointQt.cpp: Removed.
11937         * platform/qt/IntRectQt.cpp: Removed.
11938         * platform/qt/IntSizeQt.cpp: Removed.
11939         * platform/qt/PathQt.cpp: Removed.
11940         * platform/win/ImageWin.cpp: Removed.
11941         * platform/win/IntPointWin.cpp: Removed.
11942         * platform/win/IntRectWin.cpp: Removed.
11943         * platform/win/IntSizeWin.cpp: Removed.
11945 2006-11-11  Graham Dennis  <graham.dennis@gmail.com>
11947         Reviewed by hyatt.
11949         A layout test was added when this bug was fixed, so none needed now.
11950         
11951         Cleanup after:
11952         REGRESSION (r16122): min/max widths incorrectly calculated for contentEditable text
11953         http://bugs.webkit.org/show_bug.cgi?id=11570
11954         
11955         * rendering/RenderStyle.h:
11956         (WebCore::RenderStyle::isSpace): Removed.
11957         * rendering/RenderText.cpp:
11958         (WebCore::isSpace): Added.
11959         (WebCore::RenderText::calcMinMaxWidth): Use inline function instead of polluting RenderStyle.
11961 2006-11-11  Graham Dennis  <graham.dennis@gmail.com>
11963         Reviewed by mitz.
11964         
11965         REGRESSION (r16122): min/max widths incorrectly calculated for contentEditable text
11966         http://bugs.webkit.org/show_bug.cgi?id=11570
11968         * rendering/RenderStyle.h:
11969         (WebCore::RenderStyle::isSpace): Added.
11970         * rendering/RenderText.cpp:
11971         (WebCore::RenderText::calcMinMaxWidth): For the purposes of calculating the line widths, 
11972         treat non-breaking spaces the same as normal spaces if -webkit-nbsp-mode is 'space'
11974 2006-11-10  Zalan Bujtas <zalan.bujtas@nokia.com>
11976         Reviewed by Maciej.
11978         Added basic types for symbian platform.
11979         http://bugs.webkit.org/show_bug.cgi?id=11540
11981         * config.h:
11982         * platform/AtomicString.h:
11983         (WebCore::AtomicString::AtomicString):
11984         (WebCore::AtomicString::operator TPtrC):
11985         * platform/DeprecatedString.cpp:
11986         (WebCore::initializeHandleNodeBlock):
11987         * platform/DeprecatedString.h: char _internalBuffer has to be in front of
11988           the bitfields as Codewarrior (3.2.5 build 461) compiler cannot cope with
11989           bitfields and breaks byte aligment
11990         * platform/FloatPoint.h:
11991         * platform/FloatRect.h:
11992         * platform/IntPoint.h:
11993         * platform/IntRect.h:
11994         * platform/IntSize.h:
11995         * platform/PlatformString.h:
11996         (WebCore::String::operator TPtrC):
11997         (WebCore::String::des):
11998         * platform/StringImpl.h:
11999         * platform/symbian/DeprecatedStringSymbian.cpp: Added.
12000         (WebCore::DeprecatedString::setBufferFromDes):
12001         (WebCore::DeprecatedString::fromDes):
12002         (WebCore::DeprecatedString::des):
12003         (WebCore::DeprecatedString::des8):
12004         * platform/symbian/FloatPointSymbian.cpp: Added.
12005         (WebCore::FloatPoint::FloatPoint):
12006         (WebCore::FloatPoint::operator TPoint):
12007         * platform/symbian/FloatRectSymbian.cpp: Added.
12008         (WebCore::FloatRect::FloatRect):
12009         (WebCore::FloatRect::operator TRect):
12010         (WebCore::FloatRect::rect):
12011         * platform/symbian/IntPointSymbian.cpp: Added.
12012         (WebCore::IntPoint::IntPoint):
12013         (WebCore::IntPoint::operator TPoint):
12014         * platform/symbian/IntRectSymbian.cpp: Added.
12015         (WebCore::IntRect::IntRect):
12016         (WebCore::IntRect::operator TRect):
12017         (WebCore::IntRect::Rect):
12018         * platform/symbian/IntSizeSymbian.cpp: Added.
12019         (WebCore::IntSize::IntSize):
12020         (WebCore::IntSize::operator TSize):
12021         * platform/symbian/StringImplSymbian.cpp: Added.
12022         (WebCore::StringImpl::StringImpl):
12023         (WebCore::StringImpl::des):
12024         * platform/symbian/StringSymbian.cpp: Added.
12025         (WebCore::String::String):
12027 2006-11-10  Zack Rusin  <zack@kde.org>
12029         Reviewed by Anders.
12031         Adjust to the changes Brady made in the Qt code.
12033         * loader/qt/FrameLoaderClientQt.cpp:
12034         (WebCore::FrameLoaderClientQt::dispatchDidReceiveIcon):
12035         * loader/qt/FrameLoaderClientQt.h:
12037 2006-11-10  Justin Garcia  <justin.garcia@apple.com>
12039         Reviewed by harrison
12040         
12041         <rdar://problem/4069359>
12042         Deleting hyperlink text, then typing uses link typing style but loses the link itself
12043         
12044         The removed anchor element needs to stick around temporarily, in the same way
12045         that the typing style hangs off the caret until the user moves it.  Also text
12046         insertion around anchors didn't match TextEdit.
12048         * editing/DeleteSelectionCommand.cpp:
12049         (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Added.
12050         (WebCore::DeleteSelectionCommand::doApply): Call saveFullySelectedAnchor.
12051         * editing/DeleteSelectionCommand.h:
12052         * editing/EditCommand.cpp:
12053         (WebCore::EditCommand::apply): Clear the removed anchor after any top level
12054         editing command that doesn't preserve the typing style (matches TextEdit).
12055         * editing/Editor.cpp:
12056         (WebCore::Editor::appliedEditing): Added a fixme: we shouldn't call 
12057         setSelection with a message telling it to clear the typing style 
12058         (and the saved anchor) here.  Save/restore the saved anchor because of this.
12059         * editing/Editor.h:
12060         (WebCore::Editor::removedAnchor): Getter.
12061         (WebCore::Editor::setRemovedAnchor): Setter.
12062         * editing/InsertTextCommand.cpp:
12063         (WebCore::InsertTextCommand::prepareForTextInsertion): Insert the saved anchor
12064         if one exists.
12065         * editing/SelectionController.cpp:
12066         (WebCore::SelectionController::setSelection): Clear the removed anchor whenever
12067         we make a selection change that clears the typing style.
12068         (WebCore::SelectionController::nodeWillBeRemoved): Removed an old outdated FIXME.
12069         * editing/htmlediting.cpp:
12070         (WebCore::positionAvoidingSpecialElementBoundary): Cleaned up and
12071         made some changes to match TextEdit's behavior.  First, insert content
12072         inside the anchor when the caret is after it, unless the caret is at the
12073         end of the document, or if the caret is before it and at the start of a 
12074         paragraph.
12076 === Safari-521.30 ===
12078 2006-11-10  Timothy Hatcher  <timothy@apple.com>
12080         Reviewed by Hyatt.
12082         Check for BHIDDEN in isVisible() also.
12084         * rendering/RenderStyle.h:
12085         (WebCore::BorderValue::isVisible):
12087 2006-11-10  Timothy Hatcher  <timothy@apple.com>
12089         Reviewed by Adam.
12091         <rdar://problem/4821423> element deletion UI appears for Mail blockquote and others with less than three visible borders
12093         Added a new function to BorderValue called isVisible(). This checks nonZero() and !isTransparent().
12095         * editing/DeleteButtonController.cpp:
12096         (WebCore::isDeletableElement):
12097         * rendering/RenderStyle.h:
12098         (WebCore::BorderValue::isVisible):
12100 2006-11-10  Adam Roben  <aroben@apple.com>
12102         Rubberstamped by Anders.
12104         Back out some accidentally-committed changes from r17711.
12106         * page/Frame.cpp:
12107         (WebCore::Frame::command):
12108         (WebCore::FramePrivate::FramePrivate):
12109         * page/Frame.h:
12110         * page/FramePrivate.h:
12112 2006-11-10  Anders Carlsson  <acarlsson@apple.com>
12114         Reviewed by Geoff.
12116         Add more commands, make toggleBold and toggleItalic executable commands.
12118         * WebCore.exp:
12119         * editing/Editor.cpp:
12120         (WebCore::execCopy):
12121         (WebCore::execCut):
12122         (WebCore::execDelete):
12123         (WebCore::execForwardDelete):
12124         (WebCore::execPaste):
12125         (WebCore::execSelectAll):
12126         (WebCore::execToggleBold):
12127         (WebCore::execToggleItalic):
12128         (WebCore::enabled):
12129         (WebCore::canPaste):
12130         (WebCore::hasEditableSelection):
12131         (WebCore::hasEditableRangeSelection):
12132         (WebCore::hasRangeSelection):
12133         (WebCore::hasRichlyEditableSelection):
12134         (WebCore::CommandEntry::):
12135         * editing/Editor.h:
12137 2006-11-10  Anders Carlsson  <acarlsson@apple.com>
12139         Reviewed by Maciej, Geoff.
12141         Added an execCommand method to Editor. The idea is that this should replace the CommandByName object. Get rid of
12142         the alterCurrentSelection method in the bridge. WebKit can just call execCommand directly.
12144         * WebCore.exp:
12145         * bridge/mac/WebCoreFrameBridge.h:
12146         * bridge/mac/WebCoreFrameBridge.mm:
12147         * editing/Editor.cpp:
12148         (WebCore::execMoveBackward):
12149         (WebCore::execMoveBackwardAndModifySelection):
12150         (WebCore::execMoveDown):
12151         (WebCore::execMoveDownAndModifySelection):
12152         (WebCore::execMoveForward):
12153         (WebCore::execMoveForwardAndModifySelection):
12154         (WebCore::execMoveLeft):
12155         (WebCore::execMoveLeftAndModifySelection):
12156         (WebCore::execMoveRight):
12157         (WebCore::execMoveRightAndModifySelection):
12158         (WebCore::execMoveToBeginningOfDocument):
12159         (WebCore::execMoveToBeginningOfDocumentAndModifySelection):
12160         (WebCore::execMoveToBeginningOfSentence):
12161         (WebCore::execMoveToBeginningOfSentenceAndModifySelection):
12162         (WebCore::execMoveToBeginningOfLine):
12163         (WebCore::execMoveToBeginningOfLineAndModifySelection):
12164         (WebCore::execMoveToBeginningOfParagraph):
12165         (WebCore::execMoveToBeginningOfParagraphAndModifySelection):
12166         (WebCore::execMoveToEndOfDocument):
12167         (WebCore::execMoveToEndOfDocumentAndModifySelection):
12168         (WebCore::execMoveToEndOfSentence):
12169         (WebCore::execMoveToEndOfSentenceAndModifySelection):
12170         (WebCore::execMoveToEndOfLine):
12171         (WebCore::execMoveToEndOfLineAndModifySelection):
12172         (WebCore::execMoveToEndOfParagraph):
12173         (WebCore::execMoveToEndOfParagraphAndModifySelection):
12174         (WebCore::execMoveParagraphBackwardAndModifySelection):
12175         (WebCore::execMoveParagraphForwardAndModifySelection):
12176         (WebCore::execMoveUp):
12177         (WebCore::execMoveUpAndModifySelection):
12178         (WebCore::execMoveWordBackward):
12179         (WebCore::execMoveWordBackwardAndModifySelection):
12180         (WebCore::execMoveWordForward):
12181         (WebCore::execMoveWordForwardAndModifySelection):
12182         (WebCore::execMoveWordLeft):
12183         (WebCore::execMoveWordLeftAndModifySelection):
12184         (WebCore::execMoveWordRight):
12185         (WebCore::execMoveWordRightAndModifySelection):
12186         (WebCore::enabledAnySelection):
12187         (WebCore::createCommandMap):
12188         (WebCore::CommandEntry::):
12189         (WebCore::Editor::execCommand):
12190         * editing/Editor.h:
12192 2006-11-10  Brady Eidson  <beidson@apple.com>
12194         Reviewed by Darin
12196         Took out WebIconDatabaseBridge and made WebKit call IconDatabase directly
12198         * WebCore.exp:
12199         * WebCore.xcodeproj/project.pbxproj:
12200         * bridge/mac/WebCoreIconDatabaseBridge.h: Removed.
12201         * bridge/mac/WebCoreIconDatabaseBridge.mm: Removed.
12202         * loader/FrameLoaderClient.h:
12203         * loader/icon/IconDatabase.cpp:
12204         (WebCore::IconDatabase::sharedIconDatabase):
12205         (WebCore::IconDatabase::~IconDatabase):
12206         * loader/icon/IconDatabase.h:
12207         (WebCore::IconDatabase::isPrivateBrowsingEnabled):
12208         (WebCore::IconDatabase::enabled):
12209         * loader/icon/IconLoader.cpp:
12210         (WebCore::IconLoader::finishLoading):
12211         * loader/mac/FrameLoaderMac.mm:
12213 2006-11-10  Zack Rusin  <zack@kde.org>
12215         Reviewed and landed by Anders.
12217         Adjust platform Qt/KDE code to the recent loader
12218         changes. 
12220         * CMakeLists.txt:
12221         * loader/DocumentLoader.h:
12222         * loader/FrameLoader.cpp:
12223         (WebCore::FrameLoader::createEmptyDocument):
12224         * loader/FrameLoader.h:
12225         * loader/FrameLoaderClient.h:
12226         * loader/qt/DocumentLoaderQt.cpp: Added.
12227         (WebCore::canonicalizedTitle):
12228         (WebCore::DocumentLoader::DocumentLoader):
12229         (WebCore::DocumentLoader::frameLoader):
12230         (WebCore::DocumentLoader::~DocumentLoader):
12231         (WebCore::DocumentLoader::URL):
12232         (WebCore::DocumentLoader::unreachableURL):
12233         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
12234         (WebCore::DocumentLoader::isStopping):
12235         (WebCore::DocumentLoader::clearErrors):
12236         (WebCore::DocumentLoader::stopLoading):
12237         (WebCore::DocumentLoader::setupForReplace):
12238         (WebCore::DocumentLoader::commitIfReady):
12239         (WebCore::DocumentLoader::finishedLoading):
12240         (WebCore::DocumentLoader::setCommitted):
12241         (WebCore::DocumentLoader::isCommitted):
12242         (WebCore::DocumentLoader::setLoading):
12243         (WebCore::DocumentLoader::isLoading):
12244         (WebCore::DocumentLoader::doesProgressiveLoad):
12245         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
12246         (WebCore::DocumentLoader::updateLoading):
12247         (WebCore::DocumentLoader::setFrame):
12248         (WebCore::DocumentLoader::attachToFrame):
12249         (WebCore::DocumentLoader::detachFromFrame):
12250         (WebCore::DocumentLoader::prepareForLoadStart):
12251         (WebCore::DocumentLoader::loadingStartedTime):
12252         (WebCore::DocumentLoader::setIsClientRedirect):
12253         (WebCore::DocumentLoader::isClientRedirect):
12254         (WebCore::DocumentLoader::setPrimaryLoadComplete):
12255         (WebCore::DocumentLoader::isLoadingInAPISense):
12256         (WebCore::DocumentLoader::stopRecordingResponses):
12257         (WebCore::DocumentLoader::title):
12258         (WebCore::DocumentLoader::triggeringAction):
12259         (WebCore::DocumentLoader::setTriggeringAction):
12260         (WebCore::DocumentLoader::setOverrideEncoding):
12261         (WebCore::DocumentLoader::overrideEncoding):
12262         (WebCore::DocumentLoader::setTitle):
12263         (WebCore::DocumentLoader::URLForHistory):
12264         * loader/qt/FrameLoaderClientQt.cpp: Added.
12265         (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
12266         (WebCore::FrameLoaderClientQt::~FrameLoaderClientQt):
12267         (WebCore::FrameLoaderClientQt::detachFrameLoader):
12268         (WebCore::FrameLoaderClientQt::hasWebView):
12269         (WebCore::FrameLoaderClientQt::hasFrameView):
12270         (WebCore::FrameLoaderClientQt::hasBackForwardList):
12271         (WebCore::FrameLoaderClientQt::resetBackForwardList):
12272         (WebCore::FrameLoaderClientQt::provisionalItemIsTarget):
12273         (WebCore::FrameLoaderClientQt::loadProvisionalItemFromPageCache):
12274         (WebCore::FrameLoaderClientQt::invalidateCurrentItemPageCache):
12275         (WebCore::FrameLoaderClientQt::privateBrowsingEnabled):
12276         (WebCore::FrameLoaderClientQt::makeDocumentView):
12277         (WebCore::FrameLoaderClientQt::makeRepresentation):
12278         (WebCore::FrameLoaderClientQt::forceLayout):
12279         (WebCore::FrameLoaderClientQt::forceLayoutForNonHTML):
12280         (WebCore::FrameLoaderClientQt::updateHistoryForCommit):
12281         (WebCore::FrameLoaderClientQt::updateHistoryForBackForwardNavigation):
12282         (WebCore::FrameLoaderClientQt::updateHistoryForReload):
12283         (WebCore::FrameLoaderClientQt::updateHistoryForStandardLoad):
12284         (WebCore::FrameLoaderClientQt::updateHistoryForInternalLoad):
12285         (WebCore::FrameLoaderClientQt::updateHistoryAfterClientRedirect):
12286         (WebCore::FrameLoaderClientQt::setCopiesOnScroll):
12287         (WebCore::FrameLoaderClientQt::tokenForLoadErrorReset):
12288         (WebCore::FrameLoaderClientQt::resetAfterLoadError):
12289         (WebCore::FrameLoaderClientQt::doNotResetAfterLoadError):
12290         (WebCore::FrameLoaderClientQt::willCloseDocument):
12291         (WebCore::FrameLoaderClientQt::detachedFromParent1):
12292         (WebCore::FrameLoaderClientQt::detachedFromParent2):
12293         (WebCore::FrameLoaderClientQt::detachedFromParent3):
12294         (WebCore::FrameLoaderClientQt::detachedFromParent4):
12295         (WebCore::FrameLoaderClientQt::loadedFromPageCache):
12296         (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
12297         (WebCore::FrameLoaderClientQt::dispatchDidReceiveServerRedirectForProvisionalLoad):
12298         (WebCore::FrameLoaderClientQt::dispatchDidCancelClientRedirect):
12299         (WebCore::FrameLoaderClientQt::dispatchWillPerformClientRedirect):
12300         (WebCore::FrameLoaderClientQt::dispatchDidChangeLocationWithinPage):
12301         (WebCore::FrameLoaderClientQt::dispatchWillClose):
12302         (WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
12303         (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
12304         (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
12305         (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
12306         (WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
12307         (WebCore::FrameLoaderClientQt::dispatchShow):
12308         (WebCore::FrameLoaderClientQt::cancelPolicyCheck):
12309         (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm):
12310         (WebCore::FrameLoaderClientQt::dispatchDidLoadMainResource):
12311         (WebCore::FrameLoaderClientQt::clearLoadingFromPageCache):
12312         (WebCore::FrameLoaderClientQt::isLoadingFromPageCache):
12313         (WebCore::FrameLoaderClientQt::revertToProvisionalState):
12314         (WebCore::FrameLoaderClientQt::clearUnarchivingState):
12315         (WebCore::FrameLoaderClientQt::progressStarted):
12316         (WebCore::FrameLoaderClientQt::progressCompleted):
12317         (WebCore::FrameLoaderClientQt::setMainFrameDocumentReady):
12318         (WebCore::FrameLoaderClientQt::willChangeTitle):
12319         (WebCore::FrameLoaderClientQt::didChangeTitle):
12320         (WebCore::FrameLoaderClientQt::finishedLoading):
12321         (WebCore::FrameLoaderClientQt::finalSetupForReplace):
12322         (WebCore::FrameLoaderClientQt::setDefersLoading):
12323         (WebCore::FrameLoaderClientQt::isArchiveLoadPending):
12324         (WebCore::FrameLoaderClientQt::cancelPendingArchiveLoad):
12325         (WebCore::FrameLoaderClientQt::clearArchivedResources):
12326         (WebCore::FrameLoaderClientQt::canShowMIMEType):
12327         (WebCore::FrameLoaderClientQt::representationExistsForURLScheme):
12328         (WebCore::FrameLoaderClientQt::generatedMIMETypeForURLScheme):
12329         (WebCore::FrameLoaderClientQt::frameLoadCompleted):
12330         (WebCore::FrameLoaderClientQt::restoreScrollPositionAndViewState):
12331         (WebCore::FrameLoaderClientQt::provisionalLoadStarted):
12332         (WebCore::FrameLoaderClientQt::shouldTreatURLAsSameAsCurrent):
12333         (WebCore::FrameLoaderClientQt::addHistoryItemForFragmentScroll):
12334         (WebCore::FrameLoaderClientQt::didFinishLoad):
12335         (WebCore::FrameLoaderClientQt::prepareForDataSourceReplacement):
12336         (WebCore::FrameLoaderClientQt::setTitle):
12337         (WebCore::FrameLoaderClientQt::userAgent):
12338         * loader/qt/FrameLoaderClientQt.h: Added.
12339         * loader/qt/FrameLoaderQt.cpp:
12340         (WebCore::FrameLoader::submitForm):
12341         (WebCore::FrameLoader::overrideMediaType):
12342         (WebCore::FrameLoader::getHistoryLength):
12343         (WebCore::FrameLoader::referrer):
12344         (WebCore::FrameLoader::detachFromParent):
12345         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
12346         (WebCore::FrameLoader::goBackOrForward):
12347         (WebCore::FrameLoader::historyURL):
12348         (WebCore::FrameLoader::didFirstLayout):
12349         (WebCore::FrameLoader::canGoBackOrForward):
12350         (WebCore::FrameLoader::partClearedInBegin):
12351         (WebCore::FrameLoader::saveDocumentState):
12352         (WebCore::FrameLoader::restoreDocumentState):
12353         (WebCore::FrameLoader::didChangeTitle):
12354         (WebCore::FrameLoader::redirectDataToPlugin):
12355         (WebCore::PolicyCheck::PolicyCheck):
12356         (WebCore::PolicyCheck::clear):
12357         (WebCore::PolicyCheck::set):
12358         (WebCore::PolicyCheck::call):
12359         (WebCore::PolicyCheck::clearRequest):
12360         * loader/qt/NavigationActionQt.cpp: Added.
12361         (WebCore::navigationType):
12362         (WebCore::NavigationAction::NavigationAction):
12363         * loader/qt/ResourceLoaderQt.cpp: Added.
12364         (WebCore::ResourceLoader::ResourceLoader):
12365         (WebCore::ResourceLoader::~ResourceLoader):
12366         (WebCore::ResourceLoader::setDefersLoading):
12367         (WebCore::ResourceLoader::cancel):
12368         (WebCore::ResourceLoader::loadsBlocked):
12369         * platform/MimeTypeRegistry.cpp:
12370         (WebCore::initialiseSupportedImageMIMETypes):
12371         * platform/network/qt/ResourceHandleManager.cpp:
12372         (WebCore::ResourceHandleManager::slotResult):
12373         (WebCore::ResourceHandleManager::cancel):
12374         * platform/qt/ChromeClientQt.cpp: Added.
12375         (WebCore::rootWindowForFrame):
12376         (WebCore::ChromeClientQt::ChromeClientQt):
12377         (WebCore::ChromeClientQt::~ChromeClientQt):
12378         (WebCore::ChromeClientQt::setWindowRect):
12379         (WebCore::ChromeClientQt::windowRect):
12380         (WebCore::ChromeClientQt::pageRect):
12381         (WebCore::ChromeClientQt::scaleFactor):
12382         (WebCore::ChromeClientQt::focus):
12383         (WebCore::ChromeClientQt::unfocus):
12384         (WebCore::ChromeClientQt::createWindow):
12385         (WebCore::ChromeClientQt::createModalDialog):
12386         (WebCore::ChromeClientQt::show):
12387         (WebCore::ChromeClientQt::canRunModal):
12388         (WebCore::ChromeClientQt::runModal):
12389         (WebCore::ChromeClientQt::setToolbarsVisible):
12390         (WebCore::ChromeClientQt::toolbarsVisible):
12391         (WebCore::ChromeClientQt::setStatusbarVisible):
12392         (WebCore::ChromeClientQt::statusbarVisible):
12393         (WebCore::ChromeClientQt::setScrollbarsVisible):
12394         (WebCore::ChromeClientQt::scrollbarsVisible):
12395         (WebCore::ChromeClientQt::setMenubarVisible):
12396         (WebCore::ChromeClientQt::menubarVisible):
12397         (WebCore::ChromeClientQt::setResizable):
12398         * platform/qt/ChromeClientQt.h: Added.
12399         * platform/qt/EditorClientQt.cpp:
12400         (WebCore::EditorClientQt::shouldBeginEditing):
12401         (WebCore::EditorClientQt::shouldEndEditing):
12402         (WebCore::EditorClientQt::shouldApplyStyle):
12403         (WebCore::EditorClientQt::didBeginEditing):
12404         (WebCore::EditorClientQt::respondToChangedContents):
12405         (WebCore::EditorClientQt::didEndEditing):
12406         * platform/qt/EditorClientQt.h:
12407         * platform/qt/FrameQt.cpp:
12408         (WebCore::FrameQt::FrameQt):
12409         (WebCore::FrameQt::~FrameQt):
12410         (WebCore::FrameQt::keyEvent):
12411         * platform/qt/FrameQt.h:
12412         * platform/qt/FrameQtClient.cpp:
12413         (WebCore::FrameQtClientDefault::openURL):
12414         (WebCore::FrameQtClientDefault::didReceiveData):
12415         (WebCore::FrameQtClientDefault::receivedAllData):
12416         * platform/qt/ImageQt.cpp:
12417         * platform/qt/MimeTypeRegistryQt.cpp: Added.
12418         (WebCore::getMIMETypeForUTI):
12419         (WebCore::MimeTypeRegistry::getMIMETypeForExtension):
12420         * platform/qt/PageQt.cpp:
12421         * platform/qt/PlatformKeyboardEventQt.cpp:
12422         (WebCore::keyIdentifierForQtKeyCode):
12423         * platform/qt/ScreenQt.cpp:
12424         * platform/qt/TemporaryLinkStubs.cpp:
12425         (WebCore::TextField::TextField):
12426         (WebCore::screenDepth):
12427         (WebCore::screenDepthPerComponent):
12428         (WebCore::screenIsMonochrome):
12429         (WebCore::screenRect):
12430         (WebCore::screenAvailableRect):
12432 2006-11-10  Brady Eidson <beidson@apple.com>
12434         Reviewed by Mitz
12436         http://bugs.webkit.org/show_bug.cgi?id=11554
12437         Fix the above bug (in didFinishLoading) and also another potential bug in didFailWithError
12438         in case the icon load fails after some data has been received. 
12440         * loader/icon/IconLoader.cpp:
12441         (WebCore::IconLoader::didFailWithError): Clear the buffer so half-an-image isn't commited to the DB
12442         on error.  Also, as a loader re-factoring sanity check, added an assertion
12443         (WebCore::IconLoader::didFinishLoading): If an icon loader resulted in an error-response, the icon 
12444         is already committed to the DB.  Skip doing that step twice.
12446 2006-11-09  Oliver Hunt  <oliver@apple.com>
12448         Reviewed by Brady.
12450         Pulled MIME type handling out of WebFrameBridge and added
12451         a general C++ class to store/query MIME info
12452         Added an Obj-C bridge to provide WebKit with access to the
12453         MimeTypeRegistry for non-Obj-C++ classes.
12454         
12455         * WebCore.exp:
12456         * WebCore.xcodeproj/project.pbxproj:
12457         * bridge/mac/WebCoreFrameBridge.h:
12458         * bridge/mac/WebCoreFrameBridge.mm:
12459         * bridge/mac/WebMimeTypeRegistryBridge.h: Added.
12460         * bridge/mac/WebMimeTypeRegistryBridge.mm: Added.
12461         (+[WebMimeTypeRegistryBridge supportsImageWithMIMEType:]):
12462         (+[WebMimeTypeRegistryBridge supportsNonImageWithMIMEType:]):
12463         (+[WebMimeTypeRegistryBridge supportedNonImageMIMETypes]):
12464         (+[WebMimeTypeRegistryBridge supportedImageMIMETypes]):
12465         (+[WebMimeTypeRegistryBridge supportedImageResourceMIMETypes]):
12466         * platform/Image.cpp:
12467         (WebCore::Image::supportsType):
12468         * platform/Image.h:
12469         * platform/MimeTypeRegistry.cpp: Added.
12470         (WebCore::initialiseSupportedImageMIMETypes):
12471         (WebCore::initialiseSupportedNonImageMimeTypes):
12472         (WebCore::initialiseMimeTypeRegistry):
12473         (WebCore::MimeTypeRegistry::isSupportedImageMIMEType):
12474         (WebCore::MimeTypeRegistry::isSupportedImageResourceMIMEType):
12475         (WebCore::MimeTypeRegistry::isSupportedNonImageMIMEType):
12476         (WebCore::MimeTypeRegistry::getSupportedImageMIMETypes):
12477         (WebCore::MimeTypeRegistry::getSupportedImageResourceMIMETypes):
12478         (WebCore::MimeTypeRegistry::getSupportedNonImageMIMETypes):
12479         * platform/MimeTypeRegistry.h: Added.
12480         * platform/mac/ImageMac.mm:
12481         * platform/mac/MimeTypeRegistryMac.mm: Added.
12482         (WebCore::getMIMETypeForUTI):
12483         (WebCore::MimeTypeRegistry::getMIMETypeForExtension):
12485 2006-11-09  Maciej Stachowiak  <mjs@apple.com>
12487         Reviewed by Oliver.
12489         - rename String::sprintf and DeprecatedString::sprintf to ...::format to avoid needlessly tweaking a search
12490         for insecure functions. Neither of these has risk of buffer overruns since they calculate the buffer size
12491         for you and use vsnprintf.
12493         * bindings/js/kjs_window.cpp:
12494         (KJS::Window::isSafeScript):
12495         * css/cssparser.cpp:
12496         (WebCore::CSSParser::parseColorFromValue):
12497         * dom/StyledElement.cpp:
12498         (WebCore::StyledElement::addCSSColor):
12499         * dom/XMLTokenizer.cpp:
12500         (WebCore::XMLTokenizer::handleError):
12501         * ksvg2/css/SVGCSSParser.cpp:
12502         (WebCore::CSSParser::parseSVGPaint):
12503         (WebCore::CSSParser::parseSVGColor):
12504         * ksvg2/svg/SVGPathSegArc.h:
12505         (WebCore::SVGPathSegArcAbs::toString):
12506         (WebCore::SVGPathSegArcRel::toString):
12507         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
12508         (WebCore::SVGPathSegCurvetoCubicAbs::toString):
12509         (WebCore::SVGPathSegCurvetoCubicRel::toString):
12510         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
12511         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString):
12512         (WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
12513         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
12514         (WebCore::SVGPathSegCurvetoQuadraticAbs::toString):
12515         (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
12516         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
12517         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString):
12518         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
12519         * ksvg2/svg/SVGPathSegLineto.h:
12520         (WebCore::SVGPathSegLinetoAbs::toString):
12521         (WebCore::SVGPathSegLinetoRel::toString):
12522         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
12523         (WebCore::SVGPathSegLinetoHorizontalAbs::toString):
12524         (WebCore::SVGPathSegLinetoHorizontalRel::toString):
12525         * ksvg2/svg/SVGPathSegLinetoVertical.h:
12526         (WebCore::SVGPathSegLinetoVerticalAbs::toString):
12527         (WebCore::SVGPathSegLinetoVerticalRel::toString):
12528         * ksvg2/svg/SVGPathSegMoveto.h:
12529         (WebCore::SVGPathSegMovetoAbs::toString):
12530         (WebCore::SVGPathSegMovetoRel::toString):
12531         * ksvg2/svg/SVGPolyElement.cpp:
12532         (WebCore::SVGPolyElement::notifyAttributeChange):
12533         * ksvg2/svg/SVGUseElement.cpp:
12534         (WebCore::SVGUseElement::closeRenderer):
12535         * loader/icon/IconDatabase.cpp:
12536         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
12537         * loader/icon/SQLDatabase.cpp:
12538         (WebCore::SQLDatabase::setSynchronous):
12539         * platform/Color.cpp:
12540         (WebCore::Color::name):
12541         * platform/DeprecatedString.cpp:
12542         (WebCore::DeprecatedString::setNum):
12543         (WebCore::DeprecatedString::format):
12544         * platform/DeprecatedString.h:
12545         * platform/PlatformString.h:
12546         * platform/String.cpp:
12547         (WebCore::String::format):
12548         (WebCore::String::number):
12549         * platform/mac/KeyEventMac.mm:
12550         (WebCore::keyIdentifierForKeyEvent):
12551         * platform/win/KeyEventWin.cpp:
12552         (WebCore::keyIdentifierForWindowsKeyCode):
12553         * rendering/RenderListMarker.cpp:
12554         (WebCore::RenderListMarker::calcMinMaxWidth):
12556 2006-11-09  Maciej Stachowiak  <mjs@apple.com>
12558         Reviewed by Anders.
12560         - fixed "Regression: Can't log into gmail.com"
12561         - fixed "iBench doesn't report results - tests run but no number is recorded"
12562         
12563         * platform/network/cf/FormDataStreamCFNet.cpp:
12564         (WebCore::setHTTPBody): Removed extra ! character.
12566 2006-11-09  Beth Dakin  <bdakin@apple.com>
12568         Reviewed by Hyatt.
12570         Fix for <rdar://problem/4805409> REGRESSION: Reproducible crash in 
12571         WebCore::RenderBlock::skipWhitespace
12573         Note that this will still crash on Debug builds because it will hit 
12574         an assertion failure in editing. (One of the reasons there is no 
12575         layout test along with this fix.) There is definitely some editing 
12576         wackiness happening. See http://bugs.webkit.org/show_bug.cgi?
12577         id=10144 for updates on the assertion failure bug.
12579         * rendering/RootInlineBox.cpp:
12580         (WebCore::RootInlineBox::childRemoved): It is possible for a 
12581         prevRootBox and its prevRootBox to share a lineBreakObj. So instead 
12582         of just clearing the lineBreakObj of the prevRootBox, cycle through 
12583         all prevRootBoxs with the same lineBreakObj. 
12585 2006-11-09  Adam Roben  <aroben@apple.com>
12587         Reviewed by Geoff.
12589         Fix the change in behavior I caused in r17680 with my build fix.
12591         * rendering/RenderObject.cpp:
12592         (WebCore::RenderObject::maxTopMargin):
12593         (WebCore::RenderObject::maxBottomMargin):
12595 2006-11-09  Anders Carlsson  <acarlsson@apple.com>
12597         Reviewed by Adam, Oliver.
12599         Move more functions to Editor.
12601         * bridge/EditorClient.h:
12602         * bridge/mac/FrameMac.h:
12603         * bridge/mac/FrameMac.mm:
12604         * bridge/mac/WebCoreFrameBridge.h:
12605         * editing/EditCommand.cpp:
12606         (WebCore::EditCommand::apply):
12607         (WebCore::EditCommand::unapply):
12608         (WebCore::EditCommand::reapply):
12609         * editing/Editor.cpp:
12610         (WebCore::Editor::respondToChangedContents):
12611         (WebCore::dispatchEditableContentChangedEvents):
12612         (WebCore::Editor::appliedEditing):
12613         (WebCore::Editor::unappliedEditing):
12614         (WebCore::Editor::reappliedEditing):
12615         * editing/Editor.h:
12616         * editing/TypingCommand.cpp:
12617         (WebCore::TypingCommand::typingAddedToOpenCommand):
12618         * page/Frame.cpp:
12619         * page/Frame.h:
12621 2006-11-09  Darin Adler  <darin@apple.com>
12623         * rendering/RenderObject.h: Oops! Fixed accidentally checked-in ifdef.
12625 2006-11-09  Alice Liu  <alice.liu@apple.com>
12627         Reviewed by Beth Dakin.
12629         Fixed <rdar://problem/4808720> Hamachi test tool crashes Safari in WebCore::HTMLTableSectionElement::deleteRow
12630         All existing layout tests pass
12632         * html/HTMLTableElement.cpp:
12633         (WebCore::HTMLTableElement::deleteRow):
12634         check lastSection before deleting row
12636 2006-11-09  Darin Adler  <darin@apple.com>
12638         - improved version of last night's build fix (should not do using namespace in a header)
12640         * rendering/RenderObject.h:
12641         * rendering/RenderObject.cpp:
12642         (WebCore::RenderObject::maxTopMargin):
12643         (WebCore::RenderObject::maxBottomMargin):
12645 2006-11-08  Maciej Stachowiak  <mjs@apple.com>
12647         Reviewed by Geoff.
12648         
12649         - added ResourceError class and didFailWithError client method
12651         * WebCore.xcodeproj/project.pbxproj:
12652         * loader/icon/IconLoader.cpp:
12653         (WebCore::IconLoader::didFailWithError):
12654         (WebCore::IconLoader::didFinishLoading):
12655         * loader/icon/IconLoader.h:
12656         * loader/loader.cpp:
12657         (WebCore::Loader::receivedAllData):
12658         (WebCore::Loader::didFailWithError):
12659         * loader/loader.h:
12660         * loader/mac/SubresourceLoaderMac.mm:
12661         (WebCore::SubresourceLoader::didFail):
12662         (WebCore::SubresourceLoader::didCancel):
12663         * platform/cf/RetainPtr.h:
12664         (WebCore::):
12665         (WebCore::adoptCFReference):
12666         (WebCore::RetainPtr::RetainPtr):
12667         (WebCore::::adopt):
12668         * platform/network/ResourceError.cpp: Added.
12669         * platform/network/ResourceError.h: Added.
12670         (WebCore::ResourceError::ResourceError):
12671         (WebCore::ResourceError::domain):
12672         (WebCore::ResourceError::errorCode):
12673         (WebCore::ResourceError::failingURL):
12674         (WebCore::ResourceError::localizedDescription):
12675         (WebCore::ResourceError::unpackPlatformErrorIfNeeded):
12676         * platform/network/ResourceHandle.cpp:
12677         * platform/network/ResourceHandle.h:
12678         * platform/network/ResourceHandleClient.h:
12679         (WebCore::ResourceHandleClient::didFailWithError):
12680         * platform/network/cf/ResourceHandleCFNet.cpp:
12681         (WebCore::didFail):
12682         (WebCore::ResourceHandle::cancel):
12683         * platform/network/mac/ResourceErrorMac.mm: Added.
12684         (-[NSError WebCore]):
12685         * platform/network/mac/ResourceHandleMac.mm:
12686         (WebCore::ResourceHandle::reportError):
12687         * xml/xmlhttprequest.cpp:
12688         (WebCore::XMLHttpRequest::didFailWithError):
12689         (WebCore::XMLHttpRequest::didFinishLoading):
12690         * xml/xmlhttprequest.h:
12692 2006-11-08  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
12694         Reviewed by Maciej.
12696         Linux\Gdk fixes.
12698         * platform/gdk/ChromeClientGdk.h:
12699         (WebCore::ChromeClientGdk::~ChromeClientGdk):
12700         * platform/gdk/CursorGdk.cpp:
12701         (WebCore::Cursor::Cursor):
12702         (WebCore::moveCursor):
12703         * platform/gdk/FrameGdk.cpp:
12704         (WebCore::FrameGdk::FrameGdk):
12705         (WebCore::FrameGdk::submitForm):
12706         (WebCore::FrameGdk::urlSelected):
12707         * platform/gdk/PageGdk.cpp:
12708         * platform/gdk/ScreenClientGdk.h: Added.
12709         (WebCore::ScreenClientGdk::~ScreenClientGdk):
12710         * platform/gdk/ScreenGdk.cpp:
12711         (WebCore::ScreenClientGdk::depth):
12712         (WebCore::ScreenClientGdk::depthPerComponent):
12713         (WebCore::ScreenClientGdk::isMonochrome):
12714         (WebCore::ScreenClientGdk::rect):
12715         (WebCore::ScreenClientGdk::usableRect):
12716         * platform/gdk/TemporaryLinkStubs.cpp:
12717         (FrameGdk::historyURL):
12718         (ChromeClientGdk::windowRect):
12719         (ChromeClientGdk::setWindowRect):
12720         (ChromeClientGdk::pageRect):
12721         (ChromeClientGdk::scaleFactor):
12722         (ChromeClientGdk::focus):
12723         (ChromeClientGdk::unfocus):
12724         (ChromeClientGdk::createWindow):
12725         (ChromeClientGdk::createModalDialog):
12726         (ChromeClientGdk::show):
12727         (ChromeClientGdk::canRunModal):
12728         (ChromeClientGdk::runModal):
12729         (ChromeClientGdk::setToolbarsVisible):
12730         (ChromeClientGdk::toolbarsVisible):
12731         (ChromeClientGdk::setStatusbarVisible):
12732         (ChromeClientGdk::statusbarVisible):
12733         (ChromeClientGdk::setScrollbarsVisible):
12734         (ChromeClientGdk::scrollbarsVisible):
12735         (ChromeClientGdk::setMenubarVisible):
12736         (ChromeClientGdk::menubarVisible):
12737         (ChromeClientGdk::setResizable):
12738         * platform/network/ResourceHandleInternal.h:
12739         (WebCore::ResourceHandleInternal::client):
12740         * platform/network/gdk/ResourceHandleManager.cpp:
12741         (WebCore::writeCallback):
12742         (WebCore::ResourceHandleManager::downloadTimerCallback):
12743         (WebCore::ResourceHandleManager::remove):
12745 2006-11-08  Adam Roben  <aroben@apple.com>
12747         Build fix.
12749         * rendering/RenderObject.h:
12750         (WebCore::RenderObject::maxTopMargin):
12751         (WebCore::RenderObject::maxBottomMargin):
12753 2006-11-08  Geoffrey Garen  <ggaren@apple.com>
12755         Reviewed by Anders Carlsson.
12757         Made Screen a good platform citizen by removing its reference to Page. This
12758         made a class unnecessary, so all screen fuctions are stand-alone now.
12760         * bindings/js/kjs_window.cpp: Removed unnecessary subtractions
12761         when computing the screen's available dimensions.
12763 2006-11-08  Sam Weinig  <sam.weinig@gmail.com>
12765         Reviewed by Mitz.
12767         Fix for http://bugs.webkit.org/show_bug.cgi?id=11506
12768         Cleanup RenderObject
12770         * rendering/RenderObject.cpp:
12771         (WebCore::RenderObject::operator delete):
12772         (WebCore::RenderObject::createObject):
12773         (WebCore::RenderObjectCounter::~RenderObjectCounter):
12774         (WebCore::RenderObject::RenderObject):
12775         (WebCore::RenderObject::isDescendantOf):
12776         (WebCore::RenderObject::isRoot):
12777         (WebCore::RenderObject::addChild):
12778         (WebCore::RenderObject::removeChildNode):
12779         (WebCore::RenderObject::removeChild):
12780         (WebCore::RenderObject::appendChildNode):
12781         (WebCore::RenderObject::insertChildNode):
12782         (WebCore::RenderObject::nextInPreOrder):
12783         (WebCore::RenderObject::nextInPreOrderAfterChildren):
12784         (WebCore::RenderObject::previousInPreOrder):
12785         (WebCore::RenderObject::isEditable):
12786         (WebCore::RenderObject::nextEditable):
12787         (WebCore::RenderObject::previousEditable):
12788         (WebCore::RenderObject::firstLeafChild):
12789         (WebCore::RenderObject::lastLeafChild):
12790         (WebCore::RenderObject::addLayers):
12791         (WebCore::RenderObject::removeLayers):
12792         (WebCore::RenderObject::moveLayers):
12793         (WebCore::RenderObject::findNextLayer):
12794         (WebCore::RenderObject::enclosingLayer):
12795         (WebCore::RenderObject::updateFirstLetter):
12796         (WebCore::RenderObject::offsetParent):
12797         (WebCore::RenderObject::scroll):
12798         (WebCore::RenderObject::hasStaticX):
12799         (WebCore::RenderObject::setNeedsLayout):
12800         (WebCore::RenderObject::setChildNeedsLayout):
12801         (WebCore::RenderObject::markContainingBlocksForLayout):
12802         (WebCore::RenderObject::containingBlock):
12803         (WebCore::RenderObject::containingBlockWidth):
12804         (WebCore::RenderObject::containingBlockHeight):
12805         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
12806         (WebCore::RenderObject::drawBorderArc):
12807         (WebCore::RenderObject::drawBorder):
12808         (WebCore::RenderObject::paintBorderImage):
12809         (WebCore::RenderObject::paintBorder):
12810         (WebCore::RenderObject::absoluteRects):
12811         (WebCore::RenderObject::addPDFURLRect):
12812         (WebCore::RenderObject::addFocusRingRects):
12813         (WebCore::RenderObject::paintOutline):
12814         (WebCore::RenderObject::repaint):
12815         (WebCore::RenderObject::repaintRectangle):
12816         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
12817         (WebCore::RenderObject::repaintObjectsBeforeLayout):
12818         (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
12819         (WebCore::RenderObject::information):
12820         (WebCore::RenderObject::dump):
12821         (WebCore::selectStartNode):
12822         (WebCore::RenderObject::shouldSelect):
12823         (WebCore::RenderObject::draggableNode):
12824         (WebCore::RenderObject::createAnonymousBlock):
12825         (WebCore::RenderObject::handleDynamicFloatPositionChange):
12826         (WebCore::RenderObject::setStyle):
12827         (WebCore::RenderObject::setStyleInternal):
12828         (WebCore::RenderObject::updateBackgroundImages):
12829         (WebCore::RenderObject::absolutePosition):
12830         (WebCore::RenderObject::caretRect):
12831         (WebCore::RenderObject::paddingTop):
12832         (WebCore::RenderObject::paddingBottom):
12833         (WebCore::RenderObject::paddingLeft):
12834         (WebCore::RenderObject::paddingRight):
12835         (WebCore::RenderObject::tabWidth):
12836         (WebCore::RenderObject::container):
12837         (WebCore::RenderObject::removeFromObjectLists):
12838         (WebCore::RenderObject::destroy):
12839         (WebCore::RenderObject::arenaDelete):
12840         (WebCore::RenderObject::hitTest):
12841         (WebCore::RenderObject::setInnerNode):
12842         (WebCore::RenderObject::nodeAtPoint):
12843         (WebCore::RenderObject::verticalPositionHint):
12844         (WebCore::RenderObject::getVerticalPosition):
12845         (WebCore::RenderObject::lineHeight):
12846         (WebCore::RenderObject::invalidateVerticalPositions):
12847         (WebCore::RenderObject::recalcMinMaxWidths):
12848         (WebCore::RenderObject::scheduleRelayout):
12849         (WebCore::RenderObject::setInlineBoxWrapper):
12850         (WebCore::RenderObject::firstLineStyle):
12851         (WebCore::RenderObject::getPseudoStyle):
12852         (WebCore::RenderObject::getTextDecorationColors):
12853         (WebCore::RenderObject::addDashboardRegions):
12854         (WebCore::RenderObject::collectDashboardRegions):
12855         (WebCore::RenderObject::avoidsFloats):
12856         (WebCore::RenderObject::findCounter):
12857         (WebCore::RenderObject::backslashAsCurrencySymbol):
12858         (WebCore::RenderObject::imageChanged):
12859         (WebCore::RenderObject::previousOffset):
12860         (WebCore::RenderObject::nextOffset):
12861         (WebCore::RenderObject::inlineBox):
12862         * rendering/RenderObject.h:
12863         (WebCore::):
12864         (WebCore::RenderObject::renderName):
12865         (WebCore::RenderObject::parent):
12866         (WebCore::RenderObject::previousSibling):
12867         (WebCore::RenderObject::nextSibling):
12868         (WebCore::RenderObject::firstChild):
12869         (WebCore::RenderObject::lastChild):
12870         (WebCore::RenderObject::getOverflowClipRect):
12871         (WebCore::RenderObject::getClipRect):
12872         (WebCore::RenderObject::getBaselineOfFirstLineBox):
12873         (WebCore::RenderObject::setEdited):
12874         (WebCore::RenderObject::setStaticX):
12875         (WebCore::RenderObject::setStaticY):
12876         (WebCore::RenderObject::setPreviousSibling):
12877         (WebCore::RenderObject::setNextSibling):
12878         (WebCore::RenderObject::setParent):
12879         (WebCore::RenderObject::isInlineBlockOrInlineTable):
12880         (WebCore::RenderObject::isRenderView):
12881         (WebCore::RenderObject::childrenInline):
12882         (WebCore::RenderObject::setChildrenInline):
12883         (WebCore::RenderObject::isAnonymousBlock):
12884         (WebCore::RenderObject::isDragging):
12885         (WebCore::RenderObject::needsLayout):
12886         (WebCore::RenderObject::setMinMaxKnown):
12887         (WebCore::RenderObject::setNeedsLayoutAndMinMaxRecalc):
12888         (WebCore::RenderObject::setPositioned):
12889         (WebCore::RenderObject::setRelPositioned):
12890         (WebCore::RenderObject::setFloating):
12891         (WebCore::RenderObject::setInline):
12892         (WebCore::RenderObject::setShouldPaintBackgroundOrBorder):
12893         (WebCore::RenderObject::setReplaced):
12894         (WebCore::RenderObject::PaintInfo::PaintInfo):
12895         (WebCore::RenderObject::paintBackgroundExtended):
12896         (WebCore::RenderObject::calcWidth):
12897         (WebCore::RenderObject::updateFromElement):
12898         (WebCore::RenderObject::RepaintInfo::RepaintInfo):
12899         (WebCore::RenderObject::setOverrideSize):
12900         (WebCore::RenderObject::setPos):
12901         (WebCore::RenderObject::setWidth):
12902         (WebCore::RenderObject::setHeight):
12903         (WebCore::RenderObject::absolutePositionForContent):
12904         (WebCore::RenderObject::overflowHeight):
12905         (WebCore::RenderObject::overflowWidth):
12906         (WebCore::RenderObject::setOverflowHeight):
12907         (WebCore::RenderObject::setOverflowWidth):
12908         (WebCore::RenderObject::overflowLeft):
12909         (WebCore::RenderObject::overflowTop):
12910         (WebCore::RenderObject::overflowRect):
12911         (WebCore::RenderObject::stopAutoscroll):
12912         (WebCore::RenderObject::collapsedMarginTop):
12913         (WebCore::RenderObject::collapsedMarginBottom):
12914         (WebCore::RenderObject::maxTopMargin):
12915         (WebCore::RenderObject::maxBottomMargin):
12916         (WebCore::RenderObject::):
12917         (WebCore::RenderObject::setTable):
12918         (WebCore::RenderObject::isFloatingOrPositioned):
12919         (WebCore::RenderObject::containsFloat):
12920         (WebCore::RenderObject::setSelectionState):
12921         (WebCore::RenderObject::SelectionInfo::SelectionInfo):
12922         (WebCore::RenderObject::lowestPosition):
12923         (WebCore::RenderObject::rightmostPosition):
12924         (WebCore::RenderObject::leftmostPosition):
12925         (WebCore::RenderObject::calcVerticalMargins):
12926         (WebCore::RenderObject::font):
12928 2006-11-08  Darin Adler  <darin@apple.com>
12930         Reviewed by Anders.
12932         - added event parameters to focus-related functions so we can
12933           implement the "option-tab to all links" behavior without relying
12934           on a global "current event" -- also makes it work with DOM events
12936         * page/Frame.h: Removed unneeded includes. Moved some functions
12937         that were misplaced into the appropriate sections.
12938         * page/Frame.cpp:
12939         (WebCore::Frame::doTextFieldCommandFromEvent): Changed parameter from
12940         PlatformKeyboardEvent to the DOM keyboard event class.
12941         (WebCore::Frame::tabsToLinks): Added event parameter.
12942         (WebCore::Frame::tabsToAllControls): Ditto.
12943         (WebCore::scanForForm): Fixed code that incorrectly assumes
12944         that an iframe is an HTMLFrameElement (no longer true since Geoff
12945         changed the class hierarchy a bit).
12946         (WebCore::Frame::hitTestResultAtPoint): Ditto.
12948         * bridge/mac/FrameMac.h: Removed unneeded includes. Moved some functions
12949         that were misplaced into the appropriate sections.
12950         * bridge/mac/FrameMac.mm:
12951         (WebCore::selectorForKeyEvent): Changed to use a DOM event instead of
12952         a PlatformKeyboardEvent.
12953         (WebCore::FrameMac::nextKeyViewInFrame): Changed to use currentKeyboardEvent()
12954         and pass event into next/previousFocusNode.
12955         (WebCore::FrameMac::currentKeyboardEvent): Added. Creates a DOM event from
12956         the AppKit current event, if it's a keyboard event. Really just a hack that's
12957         needed to preserve some code we can remove once we deal with the last NSView-
12958         based form control.
12959         (WebCore::isKeyboardOptionTab): Added.
12960         (WebCore::FrameMac::tabsToLinks): Added event parameter, used to check if the
12961         option (alt) key is down.
12962         (WebCore::FrameMac::tabsToAllControls): Ditto.
12963         (WebCore::FrameMac::keyEvent): Changed call to prepareForUserAction() to just
12964         call resetMultipleFormSubmissionProtection() explicitly instead.
12965         (WebCore::FrameMac::mouseDown): Ditto.
12967         * bridge/mac/WebCoreAXObject.mm:
12968         (-[WebCoreAXObject accessibilityDescription]): Fixed code that incorrectly
12969         assumes that an iframe is an HTMLFrameElement (no longer true since Geoff
12970         changed the class hierarchy a bit).
12971         (-[WebCoreAXObject accessibilityPerformAction:]): Changed call to
12972         prepareForUserAction() to call resetMultipleFormSubmissionProtection()
12973         explicitly instead.
12975         * page/FrameView.h:
12976         * page/FrameView.cpp:
12977         (WebCore::FrameView::advanceFocus): Changed function to take an
12978         event parameter, and decide the direction based on the shift key
12979         modifier instead of a passed-in boolean.
12981         * dom/Document.h:
12982         * dom/Document.cpp:
12983         (WebCore::Document::nextFocusNode): Added event parameter.
12984         (WebCore::Document::previousFocusNode): Ditto.
12985         * dom/Node.h:
12986         * dom/Node.cpp:
12987         (WebCore::Node::isKeyboardFocusable): Ditto.
12988         * html/HTMLAnchorElement.h:
12989         * html/HTMLAnchorElement.cpp:
12990         (WebCore::HTMLAnchorElement::isKeyboardFocusable): Ditto.
12991         * html/HTMLGenericFormElement.h:
12992         * html/HTMLGenericFormElement.cpp:
12993         (WebCore::HTMLGenericFormElement::isKeyboardFocusable): Ditto.
12994         * html/HTMLInputElement.h:
12995         * html/HTMLInputElement.cpp:
12996         (WebCore::HTMLInputElement::isKeyboardFocusable): Ditto.
12997         (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
12998         * html/HTMLSelectElement.h:
12999         * html/HTMLSelectElement.cpp:
13000         (WebCore::HTMLSelectElement::isKeyboardFocusable): Ditto.
13001         * html/HTMLTextAreaElement.h:
13002         * html/HTMLTextAreaElement.cpp:
13003         (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Ditto.
13005         * dom/EventTargetNode.cpp:
13006         (WebCore::EventTargetNode::defaultEventHandler): Pass event to the
13007         advanceFocus function.
13009         * platform/TextField.h:
13010         * platform/mac/TextFieldMac.mm: Removed the non-search field code.
13012         * platform/mac/WebCoreTextField.h:
13013         * platform/mac/WebCoreTextField.mm: Removed the non-search field code.
13014         (-[WebCoreTextFieldController controlTextDidChange:]): Removed the
13015         call to FrameMac::handleKeyboardOptionTabInView, which is no longer
13016         needed since the default handler in HTMLInputElement takes care of
13017         option-tab.
13019         * platform/mac/SliderMac.mm:
13020         (-[WebCoreSlider canBecomeKeyView]): Changed to use currentKeyboardEvent()
13021         and pass event into tabsToAllControls.
13022         (Slider::focusPolicy): Ditto.
13024         * rendering/RenderLineEdit.cpp:
13025         (WebCore::RenderLineEdit::RenderLineEdit): Removed the non-search field code.
13026         (WebCore::RenderLineEdit::updateFromElement): Ditto.
13028 2006-11-08  Brady Eidson  <beidson@apple.com>
13030         Reviewed by Dave Harrison, Oliver, and Darin 
13031         (oh my!  where was superkevin on this one?)
13033         <rdar://problem/4816196> "Xcode Help" crashes in WebCore::DocumentLoader::setPrimaryLoadComplete(bool)
13035         More "free nil checking" we lost in the transition from ObjC to C++
13037         * loader/mac/FrameLoaderMac.mm:
13038         (WebCore::FrameLoader::startLoading): Null check m_provisionalDocumentLoader and bail early.
13039         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto
13041 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
13043         Reviewed by Adam.
13045         Move more code into editor.
13046         
13047         * WebCore.exp:
13048         * bridge/EditorClient.h:
13049         * bridge/mac/FrameMac.h:
13050         * bridge/mac/FrameMac.mm:
13051         * bridge/mac/WebCoreFrameBridge.h:
13052         * dom/Document.cpp:
13053         (WebCore::Document::relinquishesEditingFocus):
13054         (WebCore::Document::acceptsEditingFocus):
13055         (WebCore::Document::didBeginEditing):
13056         (WebCore::Document::didEndEditing):
13057         * editing/Editor.cpp:
13058         (WebCore::Editor::indent):
13059         (WebCore::Editor::outdent):
13060         * editing/Editor.h:
13061         * page/Frame.cpp:
13062         * page/Frame.h:
13064 2006-11-08  Beth Dakin  <bdakin@apple.com>
13066         Reviewed by Adam.
13068         Add ability to HitTestResult to ask if the inner non-shared node is 
13069         content editable.
13071         * WebCore.exp: Export HitTestResult::isContentEditable()
13072         * rendering/HitTestResult.cpp:
13073         (WebCore::HitTestResult::isContentEditable):
13074         * rendering/HitTestResult.h:
13076 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
13078         Build fix.
13079         
13080         * WebCore.xcodeproj/project.pbxproj:
13081         Add DOMCSSStyleDeclarationInternal.h to the "Copy Generated Headers" build phase.
13083 2006-11-08  Timothy Hatcher  <timothy@apple.com>
13085         Reviewed by Darin.
13087         <rdar://problem/4713280> Would like to get an array of bounding rects rather than just the union of them for a DOMRange
13088         <rdar://problem/4804317> Would like SPI to get bounding box for a DOM range without having to change the selection
13090         Added lineBoxRects and boundingBox to Range and DOMRange. These methods correspond to the DOMNode methods.
13092         * bindings/objc/DOM.mm:
13093         (WebCore::kit):
13094         (-[DOMNode lineBoxRects]):
13095         (-[DOMRange boundingBox]):
13096         (-[DOMRange lineBoxRects]):
13097         * bindings/objc/DOMPrivate.h:
13098         * dom/Range.cpp:
13099         (WebCore::Range::boundingBox):
13100         (WebCore::Range::addLineBoxRects):
13101         * dom/Range.h:
13102         * rendering/RenderContainer.cpp:
13103         (WebCore::RenderContainer::addLineBoxRects):
13104         * rendering/RenderContainer.h:
13105         * rendering/RenderObject.cpp:
13106         (WebCore::RenderObject::addLineBoxRects):
13107         * rendering/RenderObject.h:
13108         * rendering/RenderText.cpp:
13109         (WebCore::RenderText::addLineBoxRects):
13110         * rendering/RenderText.h:
13112 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
13114         Reviewed by Oliver.
13115         
13116         Move methods from the bridge and frame into editor.
13117         
13118         * WebCore.exp:
13119         * bridge/EditorClient.h:
13120         * bridge/mac/WebCoreFrameBridge.h:
13121         * bridge/mac/WebCoreFrameBridge.mm:
13122         * editing/Editor.cpp:
13123         (WebCore::Editor::removeFormattingAndStyle):
13124         (WebCore::Editor::applyStyle):
13125         (WebCore::Editor::applyParagraphStyle):
13126         (WebCore::Editor::applyStyleToSelection):
13127         (WebCore::Editor::applyParagraphStyleToSelection):
13128         (WebCore::Editor::toggleBold):
13129         (WebCore::Editor::toggleItalic):
13130         (WebCore::Editor::selectionStartHasStyle):
13131         * editing/Editor.h:
13132         * editing/JSEditor.cpp:
13133         * page/Frame.cpp:
13134         * page/Frame.h:
13136 2006-11-08  Geoffrey Garen  <ggaren@apple.com>
13138         Reviewed by Beth.
13139         
13140         Fixed regression in fast/events/objc-event-api. DumpRenderTree expects to
13141         be able to dispatch user events even when off-screen, so we have to support
13142         off-screen windows when handling mouse events.
13144         * platform/Screen.h:
13145         * platform/mac/PlatformMouseEventMac.mm:
13146         (WebCore::globalPoint): Grab the best screen instead of the screen you're
13147         on, since you might be off-screen.
13148         * platform/mac/ScreenMac.mm:
13149         (WebCore::screenForWindow):
13151 2006-11-08  Darin Adler  <darin@apple.com>
13153         - fix bug caused by last-minute change to my check-in last night
13154           that is causing layout tests to hang
13156         * dom/Document.cpp: (WebCore::Document::completeURL): Added comments.
13157         * loader/FrameLoader.cpp: (WebCore::FrameLoader::submitForm): Turn
13158         a null string into an empty string before calling completeURL.
13160 2006-11-08  Brady Eidson <beidson@apple.com>
13162         Reviewed by Maciej
13164         If the request has already been aborted, bail out of didFinishLoading()
13165         immediately.  This prevents state change notifications that aren't
13166         needed.
13168         * xml/xmlhttprequest.cpp:
13169         (WebCore::XMLHttpRequest::didFinishLoading):
13171 2006-11-08  Darin Adler  <darin@apple.com>
13173         - another attempt to fix Qt build
13175         * loader/qt/FrameLoaderQt.cpp: Added missing include of FrameLoader.h.
13177 2006-11-08  Darin Adler  <darin@apple.com>
13179         Reviewed by Geoff.
13181         - stray bits of my FrameLoader patch that I left out by accident
13183         * loader/FrameLoader.cpp:
13184         (WebCore::FrameLoader::createWindow): Use m_outgoingReferrer instead of outgoingReferrer()
13185         inside the FrameLoader class.
13186         (WebCore::FrameLoader::requestFrame): Use less DeprecatedString.
13187         (WebCore::FrameLoader::clear): Stop the redirection timer.
13188         (WebCore::FrameLoader::receivedFirstData): Added an early return instead of nesting the
13189         entire function in an if statement. Use less DeprecatedString.
13190         (WebCore::FrameLoader::scheduleLocationChange): Fix backwards ? : operator.
13191         (WebCore::FrameLoader::scheduleRefresh): Ditto.
13192         (WebCore::FrameLoader::urlSelected): Use m_outgoingReferrer instead of outgoingReferrer()
13193         inside the FrameLoader class.
13194         * loader/mac/FrameLoaderMac.mm:
13195         (WebCore::FrameLoader::load): Ditto.
13196         (WebCore::FrameLoader::loadResourceSynchronously): Ditto.
13198 2006-11-07  Beth Dakin  <bdakin@apple.com>
13200         Reviewed by Hyatt.
13202         Another go at fix for <rdar://problem/4820814> A crash occurs at 
13203         WebCore::HitTestResult::spellingToolTip() when mousing down on 
13204         iframe at www.macsurfer.com
13206         The fix from yesterday caused a layout test regression which 
13207         exposed an existing bug. The existing bug was that we allowed text 
13208         nodes to stay in the head tag, but other browsers move them to the 
13209         body. The previous fix also caused a performance regression, which 
13210         was seemingly easy to fix by moving the new clause in 
13211         HTMLParser::handleError() to be below the HTMLElement case.
13213         * html/HTMLDocument.cpp:
13214         (WebCore::HTMLDocument::childAllowed): Don't allow comment nodes to 
13215         be the child of the document.
13216         * html/HTMLHeadElement.cpp:
13217         (WebCore::HTMLHeadElement::childAllowed): Do not allow non-
13218         whitespace text nodes to be children of the head.
13219         * html/HTMLHeadElement.h:
13220         * html/HTMLParser.cpp:
13221         (WebCore::HTMLParser::handleError): Error case for comment nodes.
13222         * page/FrameView.cpp:
13223         (WebCore::FrameView::handleMousePressEvent): Safety-net null check 
13224         for the original crash. 
13226 2006-11-07  Darin Adler  <darin@apple.com>
13228         - another attempt to fix Qt build
13230         * loader/icon/IconLoader.h: Added missing include.
13232 2006-11-06  Geoffrey Garen  <ggaren@apple.com>
13234         Reviewed by Tim Hatcher.
13235         
13236         Removed ScreenClient. It was highly unpopular, risking my midterm re-election.
13237         
13238         None of Screen's responsibilities require up-calls to WebKit or delegates, 
13239         so WebCore can handle it all.
13240         
13241         Moved Screen back from page/ to platform/ because it's a platform
13242         abstraction again.
13244         Merged scaling and flipping functions into 'toUserSpace' and 'toDeviceSpace',
13245         since the two were always used together.
13246         
13247         Changed pixel depth queries to query the deepest screen. Darin mentioned
13248         that it might have been a feature, not a bug, to use the main/menubar screen
13249         regardless of the screen you were on. For scaling and flipping that's not
13250         the case, but for querying pixel depth I think it is. You want to know
13251         about the highest pixel depth your content may display on.
13252         
13253         Tests still pass.
13255         * WebCore.exp:
13256         * WebCore.xcodeproj/project.pbxproj:
13257         * page/Page.cpp:
13258         (WebCore::Page::Page):
13259         * page/Page.h:
13260         * page/Screen.cpp: Removed.
13261         * page/Screen.h: Removed.
13262         * page/ScreenClient.h: Removed.
13263         * platform/mac/PlatformMouseEventMac.mm:
13264         (WebCore::globalPoint):
13265         * platform/mac/ScreenMac.mm:
13266         (WebCore::window):
13267         (WebCore::bestScreen):
13268         (WebCore::Screen::depth):
13269         (WebCore::Screen::depthPerComponent):
13270         (WebCore::Screen::isMonochrome):
13271         (WebCore::Screen::rect):
13272         (WebCore::Screen::usableRect):
13273         (WebCore::toUserSpace):
13274         (WebCore::toDeviceSpace):
13276 2006-11-07  Darin Adler  <darin@apple.com>
13278         - try to fix Qt build
13280         * CMakeLists.txt: Updated for some file changes.
13281         * WebCoreSources.bkl: Ditto.
13283 2006-11-07  Darin Adler  <darin@apple.com>
13285         Reviewed by Geoff.
13287         - moved loader code from Frame/FrameMac to FrameLoader
13289         * WebCore.exp:
13290         * WebCore.xcodeproj/project.pbxproj:
13291         * bindings/js/JSXSLTProcessor.h:
13292         * bindings/js/kjs_events.cpp:
13293         (KJS::JSLazyEventListener::parseCode):
13294         * bindings/js/kjs_html.cpp:
13295         (KJS::JSHTMLDocument::putValueProperty):
13296         * bindings/js/kjs_navigator.cpp:
13297         (KJS::Navigator::getValueProperty):
13298         * bindings/js/kjs_proxy.cpp:
13299         (WebCore::KJSProxy::initScriptIfNeeded):
13300         * bindings/js/kjs_window.cpp:
13301         (KJS::Screen::Screen):
13302         (KJS::createNewWindow):
13303         (KJS::Window::getValueProperty):
13304         (KJS::Window::put):
13305         (KJS::Window::isSafeScript):
13306         (KJS::WindowFunc::callAsFunction):
13307         (KJS::ScheduledAction::execute):
13308         (KJS::Location::getValueProperty):
13309         (KJS::Location::put):
13310         (KJS::Location::toString):
13311         (KJS::LocationFunc::callAsFunction):
13312         (KJS::History::getValueProperty):
13313         (KJS::HistoryFunc::callAsFunction):
13314         * bindings/objc/DOM.mm:
13315         (+[DOMNode _nodeWith:WebCore::]):
13316         * bridge/mac/FrameMac.h:
13317         * bridge/mac/FrameMac.mm:
13318         (WebCore::FrameMac::~FrameMac):
13319         (WebCore::FrameMac::setView):
13320         (WebCore::FrameMac::setStatusBarText):
13321         * bridge/mac/WebCoreFrameBridge.h:
13322         * bridge/mac/WebCoreFrameBridge.mm:
13323         (-[WebCoreFrameBridge close]):
13324         (-[WebCoreFrameBridge addData:]):
13325         (-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]):
13326         (-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
13327         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
13328         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
13329         (-[WebCoreFrameBridge baseURL]):
13330         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
13331         (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
13332         (-[WebCoreFrameBridge canProvideDocumentSource]):
13333         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
13334         * css/cssparser.cpp:
13335         (WebCore::CSSParser::parseContent):
13336         * dom/DOMImplementation.cpp:
13337         (WebCore::DOMImplementation::createDocument):
13338         (WebCore::DOMImplementation::createHTMLDocument):
13339         * dom/DOMImplementation.h:
13340         * dom/Document.cpp:
13341         (WebCore::Document::readyState):
13342         (WebCore::Document::updateTitle):
13343         (WebCore::Document::open):
13344         (WebCore::Document::close):
13345         (WebCore::Document::implicitClose):
13346         (WebCore::Document::processHttpEquiv):
13347         (WebCore::Document::referrer):
13348         (WebCore::Document::finishedParsing):
13349         * dom/ProcessingInstruction.cpp:
13350         (WebCore::ProcessingInstruction::checkStyleSheet):
13351         * dom/XMLTokenizer.cpp:
13352         (WebCore::XMLTokenizer::endElementNs):
13353         (WebCore::ignorableWhitespaceHandler):
13354         (WebCore::XMLTokenizer::notifyFinished):
13355         * editing/TextIterator.cpp:
13356         (WebCore::TextIterator::rangeFromLocationAndLength):
13357         * html/HTMLAnchorElement.cpp:
13358         (WebCore::HTMLAnchorElement::defaultEventHandler):
13359         * html/HTMLBaseElement.cpp:
13360         (WebCore::HTMLBaseElement::process):
13361         * html/HTMLDocument.cpp:
13362         (WebCore::HTMLDocument::lastModified):
13363         * html/HTMLFormElement.cpp:
13364         (WebCore::HTMLFormElement::formData):
13365         (WebCore::HTMLFormElement::submit):
13366         * html/HTMLFrameElementBase.cpp:
13367         (WebCore::HTMLFrameElementBase::isURLAllowed):
13368         (WebCore::HTMLFrameElementBase::openURL):
13369         (WebCore::HTMLFrameElementBase::willRemove):
13370         * html/HTMLInputElement.cpp:
13371         (WebCore::HTMLInputElement::setValueFromRenderer):
13372         * html/HTMLLinkElement.cpp:
13373         (WebCore::HTMLLinkElement::process):
13374         * html/HTMLParser.cpp:
13375         (WebCore::HTMLParser::handleError):
13376         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
13377         * html/HTMLPreElement.idl:
13378         * html/HTMLScriptElement.cpp:
13379         (WebCore::HTMLScriptElement::parseMappedAttribute):
13380         (WebCore::HTMLScriptElement::insertedIntoDocument):
13381         * html/HTMLTokenizer.cpp:
13382         (WebCore::HTMLTokenizer::scriptExecution):
13383         (WebCore::HTMLTokenizer::parseTag):
13384         (WebCore::HTMLTokenizer::write):
13385         (WebCore::HTMLTokenizer::stopParsing):
13386         (WebCore::HTMLTokenizer::timerFired):
13387         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
13388         (WebCore::KCanvasFilterQuartz::prepareFilter):
13389         * ksvg2/svg/SVGAElement.cpp:
13390         (WebCore::SVGAElement::defaultEventHandler):
13391         * ksvg2/svg/SVGElement.cpp:
13392         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
13393         * loader/DocLoader.cpp:
13394         (WebCore::DocLoader::setLoadInProgress):
13395         * loader/FrameLoader.cpp:
13396         (WebCore::FormSubmission::FormSubmission):
13397         (WebCore::ScheduledRedirection::):
13398         (WebCore::ScheduledRedirection::ScheduledRedirection):
13399         (WebCore::cancelAll):
13400         (WebCore::getString):
13401         (WebCore::isBackForwardLoadType):
13402         (WebCore::numRequests):
13403         (WebCore::FrameLoader::FrameLoader):
13404         (WebCore::FrameLoader::~FrameLoader):
13405         (WebCore::FrameLoader::createWindow):
13406         (WebCore::FrameLoader::changeLocation):
13407         (WebCore::FrameLoader::urlSelected):
13408         (WebCore::FrameLoader::requestFrame):
13409         (WebCore::FrameLoader::loadSubframe):
13410         (WebCore::FrameLoader::submitFormAgain):
13411         (WebCore::FrameLoader::submitForm):
13412         (WebCore::FrameLoader::stopLoading):
13413         (WebCore::FrameLoader::stop):
13414         (WebCore::FrameLoader::closeURL):
13415         (WebCore::FrameLoader::cancelRedirection):
13416         (WebCore::FrameLoader::iconURL):
13417         (WebCore::FrameLoader::didOpenURL):
13418         (WebCore::FrameLoader::didExplicitOpen):
13419         (WebCore::FrameLoader::replaceContentsWithScriptResult):
13420         (WebCore::FrameLoader::executeScript):
13421         (WebCore::FrameLoader::cancelAndClear):
13422         (WebCore::FrameLoader::clear):
13423         (WebCore::FrameLoader::receivedFirstData):
13424         (WebCore::FrameLoader::responseMIMEType):
13425         (WebCore::FrameLoader::setResponseMIMEType):
13426         (WebCore::FrameLoader::begin):
13427         (WebCore::FrameLoader::write):
13428         (WebCore::FrameLoader::end):
13429         (WebCore::FrameLoader::endIfNotLoading):
13430         (WebCore::FrameLoader::startIconLoader):
13431         (WebCore::FrameLoader::commitIconURLToIconDatabase):
13432         (WebCore::FrameLoader::gotoAnchor):
13433         (WebCore::FrameLoader::finishedParsing):
13434         (WebCore::FrameLoader::loadDone):
13435         (WebCore::FrameLoader::checkCompleted):
13436         (WebCore::FrameLoader::checkEmitLoadEvent):
13437         (WebCore::FrameLoader::baseURL):
13438         (WebCore::FrameLoader::baseTarget):
13439         (WebCore::FrameLoader::completeURL):
13440         (WebCore::FrameLoader::scheduleRedirection):
13441         (WebCore::FrameLoader::scheduleLocationChange):
13442         (WebCore::FrameLoader::scheduleRefresh):
13443         (WebCore::FrameLoader::isScheduledLocationChangePending):
13444         (WebCore::FrameLoader::scheduleHistoryNavigation):
13445         (WebCore::FrameLoader::redirectionTimerFired):
13446         (WebCore::FrameLoader::encoding):
13447         (WebCore::FrameLoader::requestObject):
13448         (WebCore::FrameLoader::shouldUsePlugin):
13449         (WebCore::FrameLoader::loadPlugin):
13450         (WebCore::FrameLoader::clearRecordedFormValues):
13451         (WebCore::FrameLoader::recordFormValue):
13452         (WebCore::FrameLoader::parentCompleted):
13453         (WebCore::FrameLoader::outgoingReferrer):
13454         (WebCore::FrameLoader::lastModified):
13455         (WebCore::FrameLoader::opener):
13456         (WebCore::FrameLoader::setOpener):
13457         (WebCore::FrameLoader::openedByJavaScript):
13458         (WebCore::FrameLoader::setOpenedByJavaScript):
13459         (WebCore::FrameLoader::handleFallbackContent):
13460         (WebCore::FrameLoader::provisionalLoadStarted):
13461         (WebCore::FrameLoader::userGestureHint):
13462         (WebCore::FrameLoader::didNotOpenURL):
13463         (WebCore::FrameLoader::resetMultipleFormSubmissionProtection):
13464         (WebCore::FrameLoader::setEncoding):
13465         (WebCore::FrameLoader::addData):
13466         (WebCore::FrameLoader::canCachePage):
13467         (WebCore::FrameLoader::updatePolicyBaseURL):
13468         (WebCore::FrameLoader::setPolicyBaseURL):
13469         (WebCore::FrameLoader::scrollToAnchor):
13470         (WebCore::FrameLoader::isComplete):
13471         (WebCore::FrameLoader::isLoadingMainResource):
13472         (WebCore::FrameLoader::url):
13473         (WebCore::FrameLoader::startRedirectionTimer):
13474         (WebCore::FrameLoader::stopRedirectionTimer):
13475         (WebCore::FrameLoader::updateBaseURLForEmptyDocument):
13476         (WebCore::FrameLoader::completed):
13477         (WebCore::FrameLoader::started):
13478         (WebCore::FrameLoader::containsPlugins):
13479         (WebCore::FrameLoader::prepareForLoadStart):
13480         (WebCore::FrameLoader::setupForReplace):
13481         (WebCore::FrameLoader::setupForReplaceByMIMEType):
13482         (WebCore::FrameLoader::finalSetupForReplace):
13483         (WebCore::FrameLoader::load):
13484         (WebCore::FrameLoader::canTarget):
13485         (WebCore::FrameLoader::stopLoadingPlugIns):
13486         (WebCore::FrameLoader::stopLoadingSubresources):
13487         (WebCore::FrameLoader::stopLoadingSubframes):
13488         (WebCore::FrameLoader::stopAllLoaders):
13489         (WebCore::FrameLoader::cancelMainResourceLoad):
13490         (WebCore::FrameLoader::cancelPendingArchiveLoad):
13491         (WebCore::FrameLoader::activeDocumentLoader):
13492         (WebCore::FrameLoader::addPlugInStreamLoader):
13493         (WebCore::FrameLoader::removePlugInStreamLoader):
13494         (WebCore::FrameLoader::hasMainResourceLoader):
13495         (WebCore::FrameLoader::isLoadingSubresources):
13496         (WebCore::FrameLoader::isLoadingPlugIns):
13497         (WebCore::FrameLoader::isLoading):
13498         (WebCore::FrameLoader::addSubresourceLoader):
13499         (WebCore::FrameLoader::removeSubresourceLoader):
13500         (WebCore::FrameLoader::releaseMainResourceLoader):
13501         (WebCore::FrameLoader::setDocumentLoader):
13502         (WebCore::FrameLoader::documentLoader):
13503         (WebCore::FrameLoader::setPolicyDocumentLoader):
13504         (WebCore::FrameLoader::provisionalDocumentLoader):
13505         (WebCore::FrameLoader::setProvisionalDocumentLoader):
13506         (WebCore::FrameLoader::state):
13507         (WebCore::FrameLoader::timeOfLastCompletedLoad):
13508         (WebCore::FrameLoader::setState):
13509         (WebCore::FrameLoader::clearProvisionalLoad):
13510         (WebCore::FrameLoader::markLoadComplete):
13511         (WebCore::FrameLoader::commitProvisionalLoad):
13512         (WebCore::FrameLoader::privateBrowsingEnabled):
13513         (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
13514         (WebCore::FrameLoader::clientRedirected):
13515         (WebCore::FrameLoader::shouldReload):
13516         (WebCore::FrameLoader::closeOldDataSources):
13517         (WebCore::FrameLoader::open):
13518         (WebCore::FrameLoader::isStopping):
13519         (WebCore::FrameLoader::finishedLoading):
13520         (WebCore::FrameLoader::URL):
13521         (WebCore::FrameLoader::isArchiveLoadPending):
13522         (WebCore::FrameLoader::isHostedByObjectElement):
13523         (WebCore::FrameLoader::isLoadingMainFrame):
13524         (WebCore::FrameLoader::canShowMIMEType):
13525         (WebCore::FrameLoader::representationExistsForURLScheme):
13526         (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
13527         (WebCore::FrameLoader::cancelContentPolicyCheck):
13528         (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
13529         (WebCore::FrameLoader::finishedLoadingDocument):
13530         (WebCore::FrameLoader::isReplacing):
13531         (WebCore::FrameLoader::setReplacing):
13532         (WebCore::FrameLoader::revertToProvisional):
13533         (WebCore::FrameLoader::subframeIsLoading):
13534         (WebCore::FrameLoader::willChangeTitle):
13535         (WebCore::FrameLoader::loadType):
13536         (WebCore::FrameLoader::stopPolicyCheck):
13537         (WebCore::FrameLoader::continueAfterContentPolicy):
13538         (WebCore::FrameLoader::continueAfterWillSubmitForm):
13539         (WebCore::FrameLoader::didFirstLayout):
13540         (WebCore::FrameLoader::frameLoadCompleted):
13541         (WebCore::FrameLoader::firstLayoutDone):
13542         (WebCore::FrameLoader::isQuickRedirectComing):
13543         (WebCore::FrameLoader::closeDocument):
13544         (WebCore::FrameLoader::detachChildren):
13545         (WebCore::FrameLoader::checkLoadComplete):
13546         (WebCore::FrameLoader::numPendingOrLoadingRequests):
13547         (WebCore::FrameLoader::setClient):
13548         (WebCore::FrameLoader::client):
13549         (WebCore::FrameLoader::userAgent):
13550         (WebCore::FrameLoader::createEmptyDocument):
13551         (WebCore::FrameLoader::tokenizerProcessedData):
13552         (WebCore::FrameLoader::didTellBridgeAboutLoad):
13553         (WebCore::FrameLoader::haveToldBridgeAboutLoad):
13554         (WebCore::FrameLoader::handledOnloadEvents):
13555         (WebCore::FrameLoader::frameDetached):
13556         (WebCore::FrameLoader::setTitle):
13557         (WebCore::FrameLoaderClient::~FrameLoaderClient):
13558         * loader/FrameLoader.h:
13559         (WebCore::):
13560         * loader/FrameLoaderClient.h:
13561         * loader/PluginDocument.cpp:
13562         (WebCore::PluginTokenizer::createDocumentStructure):
13563         (WebCore::PluginTokenizer::writeRawData):
13564         * loader/ResourceLoader.h:
13565         * loader/TextResourceDecoder.cpp:
13566         (WebCore::TextResourceDecoder::checkForHeadCharset):
13567         * loader/icon/IconLoader.cpp:
13568         (WebCore::IconLoader::startLoading):
13569         (WebCore::IconLoader::finishLoading):
13570         * loader/loader.cpp:
13571         (WebCore::Loader::didReceiveResponse):
13572         * loader/mac/DocumentLoaderMac.mm:
13573         (WebCore::DocumentLoader::~DocumentLoader):
13574         (WebCore::DocumentLoader::stopLoading):
13575         (WebCore::DocumentLoader::finishedLoading):
13576         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
13577         (WebCore::DocumentLoader::setPrimaryLoadComplete):
13578         * loader/mac/FrameLoaderMac.mm:
13579         (WebCore::FrameLoader::load):
13580         (WebCore::FrameLoader::startLoading):
13581         (WebCore::FrameLoader::cancelMainResourceLoad):
13582         (WebCore::FrameLoader::receivedMainResourceError):
13583         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
13584         (WebCore::FrameLoader::commitProvisionalLoad):
13585         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
13586         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
13587         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
13588         (WebCore::FrameLoader::detachFromParent):
13589         (WebCore::FrameLoader::addExtraFieldsToRequest):
13590         (WebCore::FrameLoader::loadResourceSynchronously):
13591         (WebCore::FrameLoader::createFrame):
13592         (WebCore::FrameLoader::objectContentType):
13593         (WebCore::nsArray):
13594         (WebCore::FrameLoader::createPlugin):
13595         (WebCore::FrameLoader::redirectDataToPlugin):
13596         (WebCore::FrameLoader::createJavaAppletWidget):
13597         (WebCore::FrameLoader::partClearedInBegin):
13598         (WebCore::FrameLoader::saveDocumentState):
13599         (WebCore::FrameLoader::restoreDocumentState):
13600         (WebCore::FrameLoader::overrideMediaType):
13601         (WebCore::FrameLoader::mainResourceData):
13602         (WebCore::FrameLoader::canGoBackOrForward):
13603         (WebCore::FrameLoader::originalRequestURL):
13604         (WebCore::FrameLoader::getHistoryLength):
13605         (WebCore::FrameLoader::goBackOrForward):
13606         (WebCore::FrameLoader::historyURL):
13607         (WebCore::FrameLoader::didFinishLoad):
13608         * loader/mac/LoaderFunctionsMac.mm:
13609         (WebCore::ServeSynchronousRequest):
13610         (WebCore::CheckCacheObjectStatus):
13611         * loader/mac/ResourceLoaderMac.mm:
13612         (WebCore::ResourceLoader::cancel):
13613         * loader/mac/SubresourceLoaderMac.mm:
13614         (WebCore::SubresourceLoader::create):
13615         * loader/qt/FrameLoaderQt.cpp: Added.
13616         (WebCore::FrameLoader::submitForm):
13617         (WebCore::FrameLoader::urlSelected):
13618         (WebCore::FrameLoader::setTitle):
13619         (WebCore::FrameLoader::createFrame):
13620         (WebCore::FrameLoader::objectContentType):
13621         (WebCore::FrameLoader::createPlugin):
13622         (WebCore::FrameLoader::createJavaAppletWidget):
13623         (WebCore::FrameLoader::originalRequestURL):
13624         * page/DOMWindow.cpp:
13625         (WebCore::DOMWindow::document):
13626         * page/Frame.cpp:
13627         (WebCore::Frame::~Frame):
13628         (WebCore::Frame::reparseConfiguration):
13629         (WebCore::Frame::shouldDragAutoNode):
13630         (WebCore::Frame::prepareForUserAction):
13631         (WebCore::FramePrivate::FramePrivate):
13632         (WebCore::FramePrivate::~FramePrivate):
13633         * page/Frame.h:
13634         * page/FramePrivate.h:
13635         * page/FrameView.cpp:
13636         (WebCore::FrameView::layout):
13637         (WebCore::FrameView::mediaType):
13638         * page/FrameView.h:
13639         * page/PageState.cpp:
13640         (WebCore::PageState::PageState):
13641         (WebCore::PageState::restoreJavaScriptState):
13642         * platform/mac/CookieJar.mm:
13643         (WebCore::setCookies):
13644         * platform/mac/TextCodecMac.cpp:
13645         * platform/mac/WebFontCache.mm:
13646         (+[WebFontCache fontWithFamily:traits:size:]):
13647         * platform/network/cf/ResourceHandleCFNet.cpp:
13648         (WebCore::ResourceHandle::start):
13649         * platform/network/mac/ResourceHandleMac.mm:
13650         (WebCore::ResourceHandle::start):
13651         * platform/qt/FrameQt.cpp:
13652         * platform/qt/FrameQt.h:
13653         * rendering/RenderApplet.cpp:
13654         (WebCore::RenderApplet::createWidgetIfNecessary):
13655         * rendering/RenderBlock.h:
13656         * rendering/RenderPartObject.cpp:
13657         (WebCore::isURLAllowed):
13658         (WebCore::RenderPartObject::updateWidget):
13659         * xml/DOMParser.cpp:
13660         (WebCore::DOMParser::parseFromString):
13661         * xml/XSLTProcessor.cpp:
13662         (WebCore::XSLTProcessor::createDocumentFromSource):
13663         * xml/xmlhttprequest.cpp:
13664         (WebCore::XMLHttpRequest::getResponseXML):
13666 2006-11-07  Anders Carlsson  <acarlsson@apple.com>
13668         Reviewed by Geoff.
13670         Get rid of some duplicate editing enums. Also rename EAlter to EAlteration.
13671         
13672         * bridge/mac/FrameMac.mm:
13673         (WebCore::FrameMac::registerCommandForUndoOrRedo):
13674         * bridge/mac/WebCoreFrameBridge.h:
13675         * bridge/mac/WebCoreFrameBridge.mm:
13676         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
13677         (-[WebCoreFrameBridge alterCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
13678         (-[WebCoreFrameBridge alterCurrentSelection:SelectionController::verticalDistance:]):
13679         (-[WebCoreFrameBridge selectionGranularity]):
13680         (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
13681         (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
13682         (-[WebCoreFrameBridge setTypingStyle:withUndoAction:]):
13683         (-[WebCoreFrameBridge applyStyle:withUndoAction:]):
13684         (-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]):
13685         * editing/SelectionController.cpp:
13686         (WebCore::SelectionController::setModifyBias):
13687         (WebCore::SelectionController::modify):
13688         * editing/SelectionController.h:
13689         (WebCore::SelectionController::):
13690         * editing/TextGranularity.h:
13692 2006-11-07  Brady Eidson  <beidson@apple.com>
13694         Reviewed by Maciej
13696         Changed the check for "top level frame" to something much more valid
13698         * page/Frame.cpp:
13699         (WebCore::Frame::endIfNotLoading):
13701 2006-11-07  Beth Dakin  <bdakin@apple.com>
13703         Reviewed by Hyatt (yesterday).
13705         Here is part of my patch from yesterday that is safe to roll back 
13706         in. It will make the BuildBot happy.
13708         * rendering/HitTestResult.cpp:
13709         (WebCore::HitTestResult::spellingToolTip): Null-check 
13710         m_innerNonSharedNode.
13712 2006-11-07  Darin Adler  <darin@apple.com>
13714         * loader/icon/IconLoader.cpp: (WebCore::IconLoader::didReceiveResponse):
13715         Comment grammar fix.
13717 2006-11-07  Darin Adler  <darin@apple.com>
13719         Rolled out change for <rdar://problem/4820814>.
13721         Beth's planning on landing a new change for it soon, but in the mean time
13722         we need layout tests succeeding again.
13724 2006-11-07  Darin Adler  <darin@apple.com>
13726         Reviewed by Brady.
13728         - fix <rdar://problem/4752069> 9A274: World of Warcraft Launcher
13729           crashes on launch in WebCore::ResourceLoader::start
13731         No layout test, because this depends on cached icons, although there's
13732         perhaps a way to write a test for it with some further ingenuity.
13734         * loader/icon/IconLoader.h: Make IconLoader inherit from Noncopyable
13735         to make explicit the fact that it can't be successfully copied.
13736         Remove notifyIconChanged function and put the contents in the caller.
13737         This eliminates the need for IconLoaderMac.mm. Added finishedLoading
13738         and clearLoadingState functions to share code. Removed m_url, since the
13739         resource handle already stores the URL. Renamed m_resourceLoader to
13740         m_handle to reflect the class's name change. Removed the 4096-byte
13741         inline buffer from m_data, since the malloc savings is not sufficient
13742         to offset the additional memory use. Removed m_httpStatusCode because
13743         we can instead cancel the load when we get a status code that reflects
13744         failure. Added m_loadIsInProgress boolean because we need to detect
13745         loads that complete during the ResourceHandle::create function call.
13747         * loader/icon/IconLoader.cpp:
13748         (WebCore::IconLoader::IconLoader): Initialize m_loadIsInProgress.
13749         Don't initialize m_httpStatusCode.
13750         (WebCore::IconLoader::~IconLoader): Updated for name change.
13751         (WebCore::IconLoader::startLoading): Added code to use the
13752         m_loadIsInProgress flag to detect if the load completed while inside
13753         the ResourceHandle::create function. Removed code to set m_url.
13754         (WebCore::IconLoader::stopLoading): Call clearLoadingState to share
13755         more code.
13756         (WebCore::IconLoader::didReceiveResponse): Kill the ResourceHandle
13757         and finish loading if the HTTP status code indicates failure.
13758         (WebCore::IconLoader::didReceiveData): Removed assertion that checks
13759         the ResourceHandle, since we can't do that any more.
13760         (WebCore::IconLoader::didFinishLoading): Changed to call finishLoading
13761         so we can share code with the new didReceiveResponse code path.
13762         (WebCore::IconLoader::finishLoading): Moved code here from the
13763         didFinishLoading callback. Pass a URL when calling
13764         commitIconURLToIconDatabase. Call notifyIconChanged directly here
13765         instead of using a separate function. Call clearLoadingState to
13766         share more code with stopLoading.
13767         (WebCore::IconLoader::clearLoadingState): Added.
13769         * loader/mac/IconLoaderMac.mm: Removed.
13770         * WebCore.xcodeproj/project.pbxproj: Removed IconLoaderMac.mm.
13772 2006-11-06  David Harrison  <harrison@apple.com>
13774         Reviewed by Darin.
13776         <rdar://problem/4714993> REGRESSION: After replacing a misspelled word in a sentence, the selected word wraps down to next line (10428)
13778         * editing/pasteboard/3976872-expected.txt:
13779         * editing/pasteboard/4076267-2-expected.txt:
13780         * editing/pasteboard/4076267-3-expected.txt:
13781         * editing/pasteboard/4076267-expected.txt:
13782         * editing/pasteboard/8145-1-expected.txt:
13783         * editing/pasteboard/paste-empty-startcontainer-expected.txt: Removed.
13784         * editing/pasteboard/paste-match-style-001-expected.txt:
13785         * editing/pasteboard/paste-match-style-002-expected.txt:
13786         * editing/pasteboard/paste-text-019-expected.txt:
13787         * editing/pasteboard/pasting-tabs-expected.txt:
13788         Updated because pasting text with no newlines does not use intermediate div.
13789         
13790         * editing/markup.cpp:
13791         (WebCore::fillContainerFromString):
13792         First parameter is now a Container so a fragment can be passed.
13793         
13794         (WebCore::createFragmentFromText):
13795         A string with no newlines gets added inline, rather than being put into a paragraph.
13797 2006-11-06  Beth Dakin  <bdakin@apple.com>
13799         Reviewed by Hyatt.
13801         Fix for <rdar://problem/4820814> A crash occurs at 
13802         WebCore::HitTestResult::spellingToolTip() when mousing down on 
13803         iframe at www.macsurfer.com
13805         The bug here is that the source of the iframe is only a comment, 
13806         and we were not properly constructing the frame because it was 
13807         sort-of empty but not.
13809         * html/HTMLDocument.cpp:
13810         (WebCore::HTMLDocument::childAllowed): newChild is NOT allowed if 
13811         it is a comment node.
13812         * html/HTMLParser.cpp:
13813         (WebCore::HTMLParser::handleError): if n is a comment node and 
13814         there is no head, we create a head, insert in the document, and add 
13815         the comment node as a child. This is what Firefox does too. 
13816         * page/FrameView.cpp:
13817         (WebCore::FrameView::handleMousePressEvent): Safe-guard for the 
13818         fix. It is possible to get a mouse event without a target node, so 
13819         we null check it. (Of course, in the case of this bug, it should 
13820         not have been null, but it is a good thing to check for anyway.
13821         * rendering/HitTestResult.cpp:
13822         (WebCore::HitTestResult::spellingToolTip): Null-check 
13823         m_innerNonSharedNode.
13825 2006-11-06  Justin Garcia  <justin.garcia@apple.com>
13827         Reviewed by harrison
13828         
13829         <rdar://problem/4641880>
13830         Setting bullets to existing text grabs subsequent paragraph
13831         
13832         When a selection ends at the start of a paragraph, we rarely paint 
13833         the selection gap before that paragraph, because there often is no gap.  
13834         In a case like this, it's not obvious to the user that the selection 
13835         ends "inside" that paragraph, so it would be confusing if 
13836         InsertUn{Ordered}List and Indent/Outdent operated on that paragraph.
13837         
13838         * editing/FormatBlockCommand.cpp:
13839         (WebCore::FormatBlockCommand::doApply): Moved the check for editability of
13840         the selection to a more appropriate place.  Change the endingSelection
13841         if it ends at the start of a paragraph.
13842         * editing/IndentOutdentCommand.cpp:
13843         (WebCore::IndentOutdentCommand::doApply): Ditto.
13844         * editing/InsertListCommand.cpp:
13845         (WebCore::InsertListCommand::doApply): Ditto.
13847 2006-11-06  Brady Eidson  <beidson@apple.com>
13849         Reviewed by Sarge
13851         <rdar://problem/4822911> - ASSERTION was a little overzealous.  
13852         Toned it down a bit.
13854         * xml/xmlhttprequest.cpp:
13855         (WebCore::XMLHttpRequest::didFinishLoading):  Toned down assertion
13857 2006-11-06  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
13859         Reviewed by Maciej.
13861         Linux\Gdk build fixes.
13863         * loader/icon/IconDatabase.cpp:
13864         * loader/icon/SQLStatement.h:
13865         * platform/gdk/ChromeClientGdk.h: Added.
13866         (WebCore::ChromeClientGdk::~ChromeClientGdk):
13867         * platform/gdk/CursorGdk.cpp:
13868         (WebCore::pointerCursor):
13869         * platform/gdk/FrameGdk.cpp:
13870         (WebCore::doScroll):
13871         (WebCore::FrameGdk::FrameGdk):
13872         (WebCore::FrameGdk::submitForm):
13873         (WebCore::FrameGdk::urlSelected):
13874         (WebCore::FrameGdk::openURL):
13875         (WebCore::FrameGdk::handleGdkEvent):
13876         * platform/gdk/FrameGdk.h:
13877         (WebCore::FrameGdk::client):
13878         * platform/gdk/RenderPopupMenuGdk.cpp:
13879         (WebCore::PopupMenu::updateFromElement):
13880         * platform/gdk/ScreenGdk.cpp:
13881         * platform/gdk/TemporaryLinkStubs.cpp:
13882         (Slider::focusPolicy):
13883         (WebCore::ServeSynchronousRequest):
13884         (FrameGdk::goBackOrForward):
13885         (FrameGdk::getHistoryLength):
13886         (FrameGdk::historyURL):
13887         (ChromeClientGdk::canRunModal):
13888         (ChromeClientGdk::runModal):
13889         (WebCore::systemBeep):
13890         (WebCore::CachedResource::setPlatformResponse):
13891         (Path::transform):
13892         (ResourceLoader::loadsBlocked):
13893         (IconLoader::notifyIconChanged):
13894         * platform/network/gdk/ResourceHandleManager.cpp:
13895         (WebCore::writeCallback):
13896         (WebCore::ResourceHandleManager::downloadTimerCallback):
13897         (WebCore::ResourceHandleManager::remove):
13898         (WebCore::ResourceHandleManager::add):
13900 2006-11-06  Geoffrey Garen  <ggaren@apple.com>
13902         build fix.
13903         
13904         * WebCore.xcodeproj/project.pbxproj:
13906 2006-11-06  Geoffrey Garen  <ggaren@apple.com>
13908         Reviewed by Maciej, Anders, Darin.
13910         Removed the Page bridge. Beefed up Chrome. Added Screen and ScreenClient.
13911         Fixed a minor where WebCore would always assume it was displayed on the 
13912         monitor containing the menubar. window.open and window.showModalDialog 
13913         are now cross-platform. 
13914         
13915         Layout tests, manual-tests/show-modal-dialog, and manual-tests/
13916         window-open-features-parsing all pass. I verified the new screen functionality
13917         by running in DRT, and checking whether WebCore knew it was off-screen.
13918         
13919         Some refactoring remains, as all were not pleased by this design. I see
13920         in my future another patch.
13922         * bindings/js/kjs_window.cpp: Screen is now a stand-alone object with a
13923         client, to encapsulate asking the platform questions about the screen occupied by
13924         the page. (Previously, we always assumed we were on screen 0, which was a bug.)
13925         * bridge/mac/WebCoreFrameBridge.mm:
13926         (createMouseEventFromDraggingInfo): Reversed argument order, to match other
13927         functions.
13928         (-[WebCoreFrameBridge dragSourceMovedTo:]): ditto
13929         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): ditto
13930         * bridge/mac/WebCoreFrameNamespaces.h: Removed. Dead Code.
13931         * bridge/mac/WebCoreFrameNamespaces.mm: Removed. Dead Code.
13932         * bridge/mac/WebCorePageBridge.h: Removed. Dead Code.
13933         * bridge/mac/WebCorePageBridge.mm: Removed. Dead Code.
13934         * manual-tests/window-open-features-parsing.html: Updated for accuracy.
13935         (In this case, neither size nor position is specified, so you should
13936         get the default window size and position.)
13937         * page/Screen.cpp: Added. Includes screen-related helper functions used
13938         in WebCore and WebKit.
13939         * platform/PlatformMouseEvent.h: Exported common code so it doesn't have
13940         to be duplicated. Renamed "position" to "point" since both were used,
13941         and "point" seemed clearer.
13942         * platform/Screen.h: Removed. Dead Code.
13943         * platform/mac/LoggingMac.mm: Added. Moved code here from WebCorePageBridge
13944         initialization.
13946 2006-11-06  Graham Dennis  <graham.dennis@gmail.com>
13948         Reviewed by Tim Hatcher.
13950         Part of patch for http://bugs.webkit.org/show_bug.cgi?id=11323
13951         Link dragging behaviour does not obey WebKitEditableLinkBehavior WebPref
13952         
13953         No layout tests added as this must be tested manually by the test
13954         WebCore/manual-tests/contenteditable-link.html
13956         * WebCore.exp: Exported HitTestResult::isLiveLink().
13957         * html/HTMLAnchorElement.cpp:
13958         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
13959         (WebCore::HTMLAnchorElement::defaultEventHandler):
13960         (WebCore::HTMLAnchorElement::isLiveLink):
13961         * html/HTMLAnchorElement.h: added m_wasShiftKeyDownOnMouseDown variable
13962         to track shift key status.
13963         * manual-tests/contenteditable-link.html: Added description about link
13964         dragging behaviour.
13965         * rendering/HitTestResult.cpp:
13966         (WebCore::HitTestResult::isLiveLink): Added.
13967         * rendering/HitTestResult.h:
13969 2006-11-06  Brady Eidson  <beidson@apple.com>
13971         Reviewed by Oliver
13973         Fixes <rdar://problem/4812674> and http://bugs.webkit.org/show_bug.cgi?id=11530
13974         For now, we have to not load favicons when we have no Document - linking directly 
13975         to PDFs being the common case
13977         * loader/icon/IconLoader.cpp:
13978         (WebCore::IconLoader::startLoading): Check for the document and return if none
13980 2006-11-06  Brady Eidson  <beidson@apple.com>
13982         Reviewed by Dave Harrison
13984         <rdar://problem/4801066>
13985         Added a critical null frameLoader() check
13987         * loader/mac/MainResourceLoaderMac.mm:
13988         (WebCore::MainResourceLoader::loadNow):
13990 2006-11-06  David Harrison  <harrison@apple.com>
13992         Reviewed by Darin.
13994         <rdar://problem/4813973> Pressing delete key to remove empty quoted line leaves cursor mis-positioned
13996         Test:
13997         * editing/deleting/delete-br-012.html
13998         
13999         * editing/DeleteSelectionCommand.cpp:
14000         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):
14001         Update m_endingPosition when preventing merge.
14002         Also removed setting of m_mergeBlocksAfterDelete when this function returns true, because is is not checked in this case.
14004 2006-11-06  Mark Rowe  <bdash@webkit.org>
14006         Reviewed by Maciej.
14008         http://bugs.webkit.org/show_bug.cgi?id=11526
14009         Bug 11526: REGRESSION(r17610): Layout test failure in svg/custom/create-metadata-element.svg
14011         Update DOMNode::toString to always use className rather than preferring nodeName.
14013         * bindings/js/kjs_dom.cpp:
14014         (KJS::DOMNode::toString): Match the format returned by valueOf.
14016 2006-11-06  Oliver Hunt  <oliver@apple.com>
14018         Reviewed by Maciej.
14020         Fix RTL text in SVG to have correct positioning
14022         * rendering/SVGRootInlineBox.cpp:
14023         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
14025 2006-11-06  Alexey Proskuryakov  <ap@webkit.org>
14027         Reviewed by Maciej.
14029         http://bugs.webkit.org/show_bug.cgi?id=11517
14030         REGRESSION: Flash clicks/interactivity not working properly
14032         * bridge/mac/FrameMac.mm:
14033         (WebCore::FrameMac::handleMouseMoveEvent):
14034         (WebCore::FrameMac::handleMouseReleaseEvent):
14035         Restore parts of event dispatching that were removed when fixing
14036         bug 7323 - just bypass those for subframes.
14038 2006-11-05  Darin Adler  <darin@apple.com>
14040         - quick attempt to fix the no-SVG build
14042         * platform/graphics/svg/SVGResource.cpp:
14043         * platform/graphics/svg/SVGResource.h:
14044         * platform/graphics/svg/SVGResourceClipper.cpp:
14045         * platform/graphics/svg/SVGResourceClipper.h:
14046         * platform/graphics/svg/SVGResourceImage.h:
14047         * platform/graphics/svg/SVGResourceMarker.cpp:
14048         * platform/graphics/svg/SVGResourceMarker.h:
14049         * platform/graphics/svg/SVGResourceMasker.cpp:
14050         * platform/graphics/svg/SVGResourceMasker.h:
14051         * platform/graphics/svg/cg/SVGResourceMaskerCg.h:
14052         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
14053         * platform/graphics/svg/qt/SVGResourceImageQt.cpp:
14054         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
14055         Added #ifdef SVG_SUPPORT to these files.
14057 2006-11-05  Darin Fisher  <darin@chromium.org>
14059         Reviewed & landed by Maciej.
14061         Fixes http://bugs.webkit.org/show_bug.cgi?id=11265
14063         * platform/win/ResourceLoaderWin.cpp:
14064         (WebCore::transferJobStatusCallback):
14065         (WebCore::ResourceLoader::start):
14067 2006-11-04  Maciej Stachowiak  <mjs@apple.com>
14069         Reviewed by Oliver.
14071         - moved FormData and FormDataStream to platform/network directory
14073         * WebCore.xcodeproj/project.pbxproj:
14074         * bridge/mac/WebCoreFrameBridge.mm:
14075         * loader/FormData.cpp: Removed.
14076         * loader/FormData.h: Removed.
14077         * loader/mac/FormDataStream.h: Removed.
14078         * loader/mac/FormDataStream.m: Removed.
14079         * loader/mac/FrameLoaderMac.mm:
14080         * loader/mac/SubresourceLoaderMac.mm:
14081         * platform/network/mac/FormDataStreamMac.h: Added.
14082         * platform/network/mac/FormDataStreamMac.mm: Added.
14083         * platform/network/mac/ResourceRequestMac.mm:
14085 2006-11-05  Steve Falkenburg  <sfalken@apple.com>
14087         Fix build breaks
14089         * loader/DocumentLoader.h:
14090         * platform/win/ScreenWin.cpp:
14092 2006-11-05  Darin Adler  <darin@apple.com>
14094         Reviewed by Geoff.
14096         - more preparation for splitting up Frame into sub-pieces
14097         - removed unnecessary includes from Frame.h
14099         * page/Frame.h: Removed unneeded includes and forward declarations.
14100         Added additional forward declarations. Removed the constant
14101         NoXPosForVerticalArrowNavigation, now moved inside SelectionController.
14102         Created sections of functions to be moved into Chrome, Editor,
14103         EventHandler, FrameLoader, SelectionController, and the Platform
14104         directory, as well as marking one function for deletion.
14106         * page/FramePrivate.h: Removed the definition of the constructor and
14107         destructor and removed unnecessary includes.
14109         * page/FrameView.h: Removed unneeded forward declarations and friend
14110         declarations. Created a section of functions and data to be moved into
14111         EventHandler.
14113         * bridge/mac/FrameMac.h: Removed unneeded forward declarations.
14114         Created sections of functions and data to be moved into Chrome,
14115         Editor, EventHandler, FrameLoader, and the Platform directory.
14117         * bridge/mac/WebCoreFrameBridge.h: Removed obsolete comment.
14118         Removed unused methods areScrollbarsVisible,
14119         nextValidKeyViewOutsideWebFrameViews, and fileWrapperForURL:.
14121         * page/Frame.cpp:
14122         (WebCore::Frame::begin): Added an overload, so Frame.h doesn't have
14123         to include KURL.h just for the KURL default constructor.
14124         (WebCore::FramePrivate::FramePrivate): Moved here from FramePrivate.h.
14125         (WebCore::FramePrivate::~FramePrivate): Ditto.
14127         * page/FrameView.cpp: Removed unused scrollbarMoved and scrollingSelf
14128         booleans, scrollbarMoved and cleared funcitons.
14129         (WebCore::FrameView::clear): Moved the code from the cleared
14130         function in here.
14131         (WebCore::FrameView::scrollTo): Removed code to set scrollingSelf.
14133         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac): Updated
14134         for changes to header.
14136         * editing/SelectionController.cpp:
14137         (WebCore::SelectionController::setSelection):
14138         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
14139         Moved NoXPosForVerticalArrowNavigation into this file.
14141         * bindings/js/kjs_events.cpp:
14142         * bindings/js/kjs_html.cpp:
14143         * bindings/js/kjs_window.cpp:
14144         * bridge/mac/WebCoreAXObject.mm:
14145         * bridge/mac/WebCoreFrameBridge.mm:
14146         * css/cssstyleselector.cpp:
14147         * dom/Document.cpp:
14148         * dom/Element.cpp:
14149         * dom/EventTargetNode.cpp:
14150         * dom/MouseRelatedEvent.cpp:
14151         * dom/XMLTokenizer.cpp:
14152         * html/HTMLBaseElement.cpp:
14153         * html/HTMLDocument.cpp:
14154         * html/HTMLEmbedElement.cpp:
14155         * html/HTMLFrameElementBase.cpp:
14156         * html/HTMLGenericFormElement.cpp:
14157         * html/HTMLObjectElement.cpp:
14158         * html/HTMLTokenizer.cpp:
14159         * loader/mac/FrameLoaderMac.mm:
14160         * page/PageState.cpp:
14161         * rendering/RenderApplet.cpp:
14162         * rendering/RenderBlock.cpp:
14163         * rendering/RenderLayer.cpp:
14164         * rendering/RenderObject.cpp:
14165         * rendering/RenderPartObject.cpp:
14166         * rendering/RenderTreeAsText.cpp:
14167         * xml/XSLTProcessor.cpp:
14168         Added includes as needed to keep compiling, since there are fewer
14169         includes in Frame.h.
14171 2006-11-05  Alexey Proskuryakov  <ap@nypop.com>
14173         Reviewed by Dave Harrison.
14175         http://bugs.webkit.org/show_bug.cgi?id=11402
14176         REGRESSION: onChange does not work anymore for 1st item in popup
14178         * html/HTMLSelectElement.cpp:
14179         (WebCore::HTMLSelectElement::HTMLSelectElement):
14180         (WebCore::HTMLSelectElement::reset):
14181         Set m_lastOnChangeIndex to -1.
14183 2006-11-04  Darin Adler  <darin@apple.com>
14185         Reviewed by Anders.
14187         - fix http://bugs.webkit.org/show_bug.cgi?id=11453
14188           REGRESSION: Status bar always shows cancelled opening the page
14190         * platform/network/mac/ResourceHandleMac.mm:
14191         (WebCore::ResourceHandle::~ResourceHandle): Removed call to cancel.
14192         Since the subresource owns the resource handle, there's no need to cancel.
14193         This arrangement is only temporary, anyway, since Maciej will soon change
14194         things so that the subresource loader uses the resource handle and the
14195         resource handle doesn't know anything about the subresource loader.
14197 2006-11-04  Darin Adler  <darin@apple.com>
14199         Reviewed by Maciej.
14201         - converted more of the loader machinery to work with cross-platform
14202           data structures instead of Macintosh-specific ones
14204           converted most uses of NSURL to KURL and NSEvent to DOM Event in
14205           loader classes
14207           moved download function out of FrameLoader.h to avoid reference to
14208           NSURLConnection
14210           added DOM Event parameters to various functions so that the handlers
14211           can use the DOM Event instead of the global "current NSEvent";
14212           includes Frame::submitForm, HTMLFormElement::prepareSubmit,
14213           HTMLFormElement::submit, FrameLoader::load
14215           moved the setMainFrame call that hands ownership to the Page
14216           into one of the Frame constructors, and removed it from all
14217           the clients
14219           removed const from Event parameter to the urlSelected function
14220           (we rarely use const with DOM elements)
14222           removed some redundant includes and declarations from various
14223           header files
14225           removed NSURL parameter from userAgent function -- if we need it we
14226           can add it back, but converting from NSURL to KURL and back is
14227           inefficient enough that it's best to have it out for now (since it's
14228           been unused for years) -- if we add it back, we can choose an
14229           appropriate parameter type that's always inexpensive to pass
14231           did some basic cleanup in the IconLoader class, including removing
14232           an unnecessary loop that added icon data a byte at a time
14234           renamed safeLoad to load, since it's no different from the other
14235           FrameLoader load functions, safety-wise
14237           fixed some code that was trying to distinguish null frame name from
14238           empty string frame name -- both should be handled the same, but callers
14239           were doing it by checking for empty and turning it into null (in a way
14240           that was causing extra round trips between NSString and WebCore::String)
14242           corrected all uses of "get" and "post" to be uppercase "GET" and "POST"
14243           and got rid of case-insensitive compares of methods
14245         * WebCore.exp:
14246         * WebCore.xcodeproj/project.pbxproj:
14247         * bindings/js/kjs_navigator.cpp:
14248         (KJS::Navigator::getValueProperty):
14249         * bridge/mac/FrameMac.h:
14250         * bridge/mac/FrameMac.mm:
14251         (WebCore::FrameMac::submitForm):
14252         (WebCore::FrameMac::urlSelected):
14253         (WebCore::FrameMac::userAgent):
14254         * bridge/mac/FrameViewMac.mm:
14255         * bridge/mac/WebCoreAXObject.mm:
14256         (-[WebCoreAXObject rendererForView:]):
14257         * bridge/mac/WebCorePageBridge.h:
14258         * bridge/mac/WebCorePageBridge.mm:
14259         * bridge/mac/WebCoreSettings.mm:
14260         * bridge/win/FrameWin.cpp:
14261         (WebCore::FrameWin::urlSelected):
14262         (WebCore::FrameWin::submitForm):
14263         * bridge/win/FrameWin.h:
14264         * dom/MouseRelatedEvent.cpp:
14265         * dom/MouseRelatedEvent.h:
14266         * dom/UIEvent.cpp:
14267         (WebCore::UIEvent::~UIEvent):
14268         * dom/UIEvent.h:
14269         * dom/UIEventWithKeyState.h:
14270         * dom/XMLTokenizer.cpp:
14271         (WebCore::openFunc):
14272         * html/HTMLAnchorElement.cpp:
14273         (WebCore::HTMLAnchorElement::defaultEventHandler):
14274         * html/HTMLButtonElement.cpp:
14275         (WebCore::HTMLButtonElement::defaultEventHandler):
14276         * html/HTMLFormElement.cpp:
14277         (WebCore::HTMLFormElement::submitClick):
14278         (WebCore::HTMLFormElement::prepareSubmit):
14279         (WebCore::HTMLFormElement::submit):
14280         * html/HTMLFormElement.h:
14281         * html/HTMLInputElement.cpp:
14282         (WebCore::HTMLInputElement::defaultEventHandler):
14283         * html/HTMLSelectElement.cpp:
14284         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
14285         * loader/DocumentLoader.h:
14286         * loader/FrameLoader.h:
14287         * loader/FrameLoaderClient.h:
14288         * loader/NavigationAction.h:
14289         (WebCore::NavigationAction::event):
14290         * loader/icon/IconLoader.cpp:
14291         (WebCore::IconLoader::create):
14292         (WebCore::IconLoader::startLoading):
14293         (WebCore::IconLoader::didReceiveData):
14294         (WebCore::IconLoader::didFinishLoading):
14295         * loader/icon/IconLoader.h:
14296         * loader/loader.cpp:
14297         * loader/mac/DocumentLoaderMac.mm:
14298         (WebCore::DocumentLoader::URL):
14299         (WebCore::DocumentLoader::unreachableURL):
14300         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
14301         (WebCore::DocumentLoader::URLForHistory):
14302         * loader/mac/FrameLoaderMac.mm:
14303         (WebCore::FrameLoader::load):
14304         (WebCore::FrameLoader::willSendRequest):
14305         (WebCore::FrameLoader::clientRedirected):
14306         (WebCore::FrameLoader::shouldReload):
14307         (WebCore::FrameLoader::notifyIconChanged):
14308         (WebCore::FrameLoader::URL):
14309         (WebCore::FrameLoader::reloadAllowingStaleData):
14310         (WebCore::FrameLoader::reload):
14311         (WebCore::FrameLoader::didChangeTitle):
14312         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
14313         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
14314         (WebCore::FrameLoader::post):
14315         (WebCore::FrameLoader::addExtraFieldsToRequest):
14316         (WebCore::FrameLoader::loadResourceSynchronously):
14317         * loader/mac/IconLoaderMac.mm:
14318         (WebCore::IconLoader::notifyIconChanged):
14319         * loader/mac/LoaderFunctionsMac.mm:
14320         * loader/mac/MainResourceLoaderMac.mm:
14321         (WebCore::shouldLoadAsEmptyDocument):
14322         (WebCore::MainResourceLoader::continueAfterContentPolicy):
14323         * loader/mac/NavigationActionMac.mm:
14324         (WebCore::navigationType):
14325         (WebCore::NavigationAction::NavigationAction):
14326         * loader/mac/ResourceLoaderMac.mm:
14327         * loader/mac/SubresourceLoaderMac.mm:
14328         * page/Frame.cpp:
14329         (WebCore::Frame::Frame):
14330         (WebCore::Frame::urlSelected):
14331         (WebCore::Frame::submitFormAgain):
14332         (WebCore::Frame::submitForm):
14333         (WebCore::Frame::endIfNotLoading):
14334         (WebCore::Frame::hitTestResultAtPoint):
14335         * page/Frame.h:
14336         * page/FramePrivate.h:
14337         * platform/gdk/FrameGdk.cpp:
14338         (WebCore::FrameGdk::FrameGdk):
14339         (WebCore::FrameGdk::submitForm):
14340         (WebCore::FrameGdk::urlSelected):
14341         * platform/gdk/FrameGdk.h:
14342         * platform/mac/TextFieldMac.mm:
14343         * platform/network/HTTPHeaderMap.h:
14344         * platform/network/ResourceHandle.h:
14345         * platform/network/ResourceHandleClient.h:
14346         * platform/network/ResourceHandleInternal.h:
14347         * platform/network/mac/ResourceHandleMac.mm:
14348         * platform/network/mac/ResourceResponseMac.h:
14349         * platform/network/mac/ResourceResponseMac.mm:
14350         (-[NSURLResponse WebCore]):
14351         * platform/network/win/ResourceHandleWin.cpp:
14352         * platform/qt/FrameQt.cpp:
14353         (WebCore::FrameQt::submitForm):
14354         (WebCore::FrameQt::urlSelected):
14355         * platform/qt/FrameQt.h:
14356         * rendering/RenderLineEdit.cpp:
14357         (WebCore::RenderLineEdit::returnPressed):
14358         * xml/XSLTProcessor.cpp:
14359         (WebCore::docLoaderFunc):
14360         * xml/xmlhttprequest.cpp:
14362 2006-11-03  Maciej Stachowiak  <mjs@apple.com>
14364         Reviewed by Adele.
14366         - replaced receivedRedirect with new willSendRequest delegate
14367         - removed most mac-specific loader functions
14368         - use ResourceResponse more in loader code
14370         * WebCore.xcodeproj/project.pbxproj: Add new files.
14371         * bridge/mac/WebCoreFrameBridge.mm:
14372         (-[WebCoreFrameBridge getData:andResponse:forURL:]): Adapted
14373         for CachedResource method renames.
14374         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
14375         Ditto.
14376         * loader/CachedCSSStyleSheet.cpp:
14377         (WebCore::CachedCSSStyleSheet::checkNotify): simplified
14378         based on ResourceResponse
14379         * loader/CachedImage.cpp:
14380         (WebCore::CachedImage::createImage): adapt for ResourceResponse
14381         * loader/CachedResource.cpp:
14382         (WebCore::CachedResource::CachedResource): store a ResourceResponse;
14383         platform response is now called platformResponse and expiration date
14384         is removed.
14385         (WebCore::CachedResource::~CachedResource): ditto
14386         (WebCore::CachedResource::isExpired): ditto
14387         * loader/CachedResource.h:
14388         (WebCore::CachedResource::platformResponse): ditto
14389         (WebCore::CachedResource::setResponse): ditto
14390         (WebCore::CachedResource::canDelete): ditto
14391         * loader/LoaderFunctions.h:
14392         * loader/loader.cpp:
14393         (WebCore::Loader::receivedResponse): Adjusted for renames.
14394         (WebCore::Loader::didReceiveResponse): Store whole ResourceResponse
14395         in the CachedResource.
14396         * loader/loader.h:
14397         * loader/mac/FormDataStream.h:
14398         * loader/mac/FormDataStream.m:
14399         (WebCore::getStreamFormDatas): Rearranged things so it's
14400         possible to get a FormData back out of a form data stream.
14401         (WebCore::formCreate): ditto
14402         (WebCore::formFinalize): ditto
14403         (WebCore::httpBodyFromStream): ditto
14404         * loader/mac/ImageDocumentMac.mm:
14405         (WebCore::finishImageLoad): s/response/platformResponse/
14406         * loader/mac/LoaderFunctionsMac.mm:
14407         (WebCore::CheckCacheObjectStatus): ditto
14408         (WebCore::CachedResource::setPlatformResponse): ditto
14409         * loader/mac/SubresourceLoaderMac.mm:
14410         (WebCore::SubresourceLoader::willSendRequest): send redirect
14411         to client appropriately
14412         * platform/network/ResourceHandle.h:
14413         * platform/network/ResourceHandleClient.h:
14414         (WebCore::ResourceHandleClient::willSendRequest): new entry
14415         point for SubresourceLoader, dispatch to client.
14416         * platform/network/ResourceRequest.h:
14417         (WebCore::ResourceRequest::allowHTTPCookies): implemented
14418         (WebCore::ResourceRequest::setAllowHTTPCookies): ditto
14419         * platform/network/ResourceResponse.h:
14420         (WebCore::ResourceResponse::ResourceResponse): initialize expiration
14421         date(!)
14422         * platform/network/cf/FormDataStreamCFNet.cpp: Added.
14423         (WebCore::getStreamFormDatas): Added this, ported from NSURL version.
14424         (WebCore::openNextStream): ditto
14425         (WebCore::formCreate): ditto
14426         (WebCore::formFinalize): ditto
14427         (WebCore::formCanRead): ditto
14428         (WebCore::formEventCallback): ditto
14429         (WebCore::setHTTPBody): ditto
14430         (WebCore::httpBodyFromStream): ditto
14431         * platform/network/cf/FormDataStreamCFNet.h: Added.
14432         * platform/network/cf/ResourceHandleCFNet.cpp:
14433         (WebCore::willSendRequest): implemented
14434         (WebCore::ResourceHandle::start): use new ResourceRequest stuff
14435         * platform/network/cf/ResourceResponseCFNet.cpp:
14436         (WebCore::getResourceResponse): do nothing for a null response
14437         * platform/network/mac/ResourceHandleMac.mm:
14438         (WebCore::ResourceHandle::willSendRequest): Implemented; dispatch to client.
14439         * platform/network/mac/ResourceRequestMac.h: Added.
14440         * platform/network/mac/ResourceRequestMac.mm: Added.
14441         (WebCore::getResourceRequest): Added way to convert an NSURLRequest
14442         to a ResourceRequest.
14443         (WebCore::nsURLRequest): Opposite of the above.
14444         * platform/network/cf/ResourceRequestCFNet.h: Added.
14445         * platform/network/cf/ResourceRequestCFNet.cpp: Added.
14446         (WebCore::getResourceRequest): Added way to convert an CFURLRequest
14447         to a ResourceRequest.
14448         (WebCore::cfURLRequest): Opposite of the above.
14449         * xml/xmlhttprequest.cpp:
14450         (WebCore::XMLHttpRequest::willSendRequest): Renamed from receivedRedirect,
14451         adjusted.
14452         * xml/xmlhttprequest.h:
14454 2006-11-04  Darin Adler  <darin@apple.com>
14456         Change suggested by Mitz.
14458         - fix http://bugs.webkit.org/show_bug.cgi?id=11514
14459           REGRESSION (r17438): Repro crash when opening a web archive
14461         * bridge/mac/WebCorePageState.mm:
14462         (-[WebCorePageState dealloc]): Add null check.
14463         (-[WebCorePageState finalize]): Ditto.
14465 2006-11-04  Bertrand Guiheneuf <guiheneuf@gmail.com>
14467         Reviewed by Maciej, tweaked and landed by Alexey (using a patch by Peter Kasting).
14469         http://bugs.webkit.org/show_bug.cgi?id=11433
14470         Fixes to get WebKit to run on Windows; implemented AffineTransformCairo.
14472         * WebCore.vcproj/WebCore/WebCore.vcproj:
14473         Added platform/graphics platform/network and platform/network/win to headers search paths
14474         Created platform/graphics and platform/network filters in hierarchy
14475         Moved GraphicsContext and GraphicsTypes to their respective filters
14476         Added EditorClient.h
14477         Added FrameLoader* files in loader/
14478         Added HitTest* files in rendering/
14479         Added Editor.* files in editing/
14480         Added DeleteButton.* and DeleteButtonController.* in editing/
14482         * bridge/win/ChromeClientWin.h: Added.
14483         (WebCore::ChromeClientWin::~ChromeClientWin):
14484         * bridge/win/EditorClientWin.h: Added.
14485         (WebCore::EditorClientWin::~EditorClientWin):
14487         * bridge/win/FrameWin.cpp:
14488         (WebCore::FrameWin::FrameWin):
14489         (WebCore::FrameWin::urlSelected):
14490         (WebCore::FrameWin::submitForm):
14491         (WebCore::FrameWin::createNewWindow):
14492         * bridge/win/FrameWin.h:
14493         Added EditorClient parameter to constructor
14494         Replace usage of FrameLoadRequest::m_request with FrameLoadRequest::resourceRequest()
14495         Removed openURL() and openURLRequest from class definition
14497         * bridge/win/PageWin.cpp:
14498         * platform/AffineTransform.h:
14499         * platform/cairo/AffineTransformCairo.cpp: Added.
14500         (WebCore::AffineTransform::AffineTransform):
14501         (WebCore::AffineTransform::setMatrix):
14502         (WebCore::AffineTransform::map):
14503         (WebCore::AffineTransform::mapRect):
14504         (WebCore::AffineTransform::isIdentity):
14505         (WebCore::AffineTransform::m11):
14506         (WebCore::AffineTransform::m12):
14507         (WebCore::AffineTransform::m21):
14508         (WebCore::AffineTransform::m22):
14509         (WebCore::AffineTransform::dx):
14510         (WebCore::AffineTransform::dy):
14511         (WebCore::AffineTransform::reset):
14512         (WebCore::AffineTransform::scale):
14513         (WebCore::AffineTransform::rotate):
14514         (WebCore::AffineTransform::translate):
14515         (WebCore::AffineTransform::shear):
14516         (WebCore::AffineTransform::det):
14517         (WebCore::AffineTransform::invert):
14518         (WebCore::AffineTransform::operator cairo_matrix_t):
14519         (WebCore::AffineTransform::operator== ):
14520         (WebCore::AffineTransform::operator*= ):
14521         (WebCore::AffineTransform::operator* ):
14522         * platform/cairo/GraphicsContextCairo.cpp:
14523         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
14524         * platform/network/win/ResourceHandleWin.cpp:
14525         (WebCore::ResourceHandle::onHandleCreated):
14526         (WebCore::ResourceHandle::start):
14527         (WebCore::ResourceHandle::fileLoadTimer):
14528         (WebCore::ResourceHandle::cancel):
14529         * platform/win/TemporaryLinkStubs.cpp:
14530         (WebCore::FrameWin::goBackOrForward):
14531         (WebCore::FrameWin::getHistoryLength):
14532         (WebCore::FrameWin::historyURL):
14533         (WebCore::ServeSynchronousRequest):
14534         (WebCore::ChromeClientWin::canRunModal):
14535         (WebCore::ChromeClientWin::runModal):
14536         (WebCore::EditorClientWin::shouldDeleteRange):
14537         (WebCore::EditorClientWin::shouldShowDeleteInterface):
14538         (WebCore::EditorClientWin::isContinuousSpellCheckingEnabled):
14539         (WebCore::EditorClientWin::isGrammarCheckingEnabled):
14540         (WebCore::EditorClientWin::spellCheckerDocumentTag):
14541         (WebCore::Path::transform):
14542         (WebCore::PopupMenu::updateFromElement):
14543         (WebCore::ResourceLoader::loadsBlocked):
14544         (WebCore::systemBeep):
14545         * rendering/RenderThemeWin.cpp:
14546         (WebCore::RenderThemeWin::paintButton):
14547         (WebCore::RenderThemeWin::paintTextField):
14549 2006-11-04  Alexey Proskuryakov  <ap@nypop.com>
14551         Reviewed by Maciej.
14553         http://bugs.webkit.org/show_bug.cgi?id=11448
14554         &lang; and &rang; entities are mapped to the incorrect Unicode codepoint
14556         * html/HTMLEntityNames.gperf: Use canonical Unicode equivalents for these characters.
14558 2006-11-03  Mark Rowe  <bdash@webkit.org>
14560         Reviewed by Oliver.
14562         Update Windows and Qt project files for file removals in r17585.
14564         * CMakeLists.txt:
14565         * WebCore.vcproj/WebCore/WebCore.vcproj:
14567 2006-11-03  Zack Rusin  <zack@kde.org>
14569         Reviewed by Maciej.
14571         The patch fixes text field drawing on the Qt platform.
14573         * platform/qt/RenderThemeQt.cpp:
14574         (WebCore::RenderThemeQt::paintTextField): Use the style to correctly
14575         render the text field
14577 2006-11-03  Oliver Hunt  <oliver@apple.com>
14579         Reviewed by Tim.
14581         Correct incorrect call to SetCursor
14583         * rendering/RenderFrameSet.cpp:
14584         (WebCore::RenderFrameSet::userResize):
14586 2006-11-03  Adele Peterson  <adele@apple.com>
14588         Reviewed by Oliver.
14590         Removed DeprecatedRenderSelect and ListBox classes.
14592         * WebCore.xcodeproj/project.pbxproj:
14593         * css/html4.css:
14594         * html/HTMLOptionElement.h:
14595         * html/HTMLSelectElement.cpp:
14596         (WebCore::HTMLSelectElement::recalcStyle):
14597         (WebCore::HTMLSelectElement::isKeyboardFocusable):
14598         (WebCore::HTMLSelectElement::isMouseFocusable):
14599         (WebCore::HTMLSelectElement::createRenderer):
14600         (WebCore::HTMLSelectElement::setRecalcListItems):
14601         (WebCore::HTMLSelectElement::notifyOptionSelected):
14602         (WebCore::HTMLSelectElement::defaultEventHandler):
14603         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
14604         (WebCore::HTMLSelectElement::updateListBoxSelection):
14605         * html/HTMLSelectElement.h:
14606         * platform/ListBox.h: Removed.
14607         * platform/mac/FontCacheMac.mm:
14608         * platform/mac/ListBoxMac.mm: Removed.
14609         * platform/win/TemporaryLinkStubs.cpp:
14610         * rendering/DeprecatedRenderSelect.cpp: Removed.
14611         * rendering/DeprecatedRenderSelect.h: Removed.
14613 2006-11-03  Maciej Stachowiak  <mjs@apple.com>
14615         Not reviewed, fix for accidental commit.
14617         - rolled back more of the accidentall commit that I forgot.
14619         * platform/network/mac/ResourceRequestMac.h: Removed.
14620         * platform/network/mac/ResourceRequestMac.mm: Removed.
14622 2006-11-03  Maciej Stachowiak  <mjs@apple.com>
14624         Not reviewed, fix for accidental commit.
14626         - roll back some network changes accidentally committed with a previous patch.
14628         * WebCore.xcodeproj/project.pbxproj:
14629         * bridge/mac/WebCoreFrameBridge.mm:
14630         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
14631         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
14632         * loader/CachedCSSStyleSheet.cpp:
14633         (WebCore::CachedCSSStyleSheet::checkNotify):
14634         * loader/CachedImage.cpp:
14635         (WebCore::CachedImage::createImage):
14636         * loader/CachedResource.cpp:
14637         (WebCore::CachedResource::CachedResource):
14638         (WebCore::CachedResource::~CachedResource):
14639         (WebCore::CachedResource::setExpireDate):
14640         (WebCore::CachedResource::isExpired):
14641         * loader/CachedResource.h:
14642         (WebCore::CachedResource::response):
14643         * loader/LoaderFunctions.h:
14644         * loader/loader.cpp:
14645         (WebCore::Loader::receivedResponse):
14646         (WebCore::Loader::didReceivedResponse):
14647         * loader/loader.h:
14648         * loader/mac/FormDataStream.h:
14649         * loader/mac/FormDataStream.m:
14650         (WebCore::formCreate):
14651         (WebCore::formFinalize):
14652         * loader/mac/ImageDocumentMac.mm:
14653         (WebCore::finishImageLoad):
14654         * loader/mac/LoaderFunctionsMac.mm:
14655         (WebCore::CheckCacheObjectStatus):
14656         (WebCore::CachedResource::setResponse):
14657         * loader/mac/SubresourceLoaderMac.mm:
14658         (WebCore::SubresourceLoader::willSendRequest):
14659         * platform/network/ResourceHandle.h:
14660         * platform/network/ResourceHandleClient.h:
14661         (WebCore::ResourceHandleClient::receivedRedirect):
14662         * platform/network/ResourceRequest.h:
14663         * platform/network/ResourceResponse.h:
14664         (WebCore::ResourceResponse::ResourceResponse):
14665         * platform/network/mac/ResourceHandleMac.mm:
14666         (WebCore::ResourceHandle::redirectedToURL):
14667         * xml/xmlhttprequest.cpp:
14668         (WebCore::XMLHttpRequest::receivedRedirect):
14669         * xml/xmlhttprequest.h:
14671 2006-11-03  Anders Carlsson  <acarlsson@apple.com>
14673         Rubber-stamped by Oliver.
14675         Remove these, they have been merged with SVGRenderTreeAsText.
14676         
14677         * rendering/SVGRenderAsText.cpp: Removed.
14678         * rendering/SVGRenderAsText.h: Removed.
14680 2006-11-03  Anders Carlsson  <acarlsson@apple.com>
14682         Build fix.
14683         
14684         * platform/network/cf/ResourceHandleCFNet.cpp:
14685         (WebCore::willSendRequest):
14687 2006-11-02  Geoffrey Garen  <ggaren@apple.com>
14689         Reviewed by Darin, Beth.
14690         
14691         First cut at factoring Page's UIDelegate-related functions into Chrome
14692         and ChromeClient.
14694         Layout tests pass.
14695         
14696         * bridge/mac/PageMac.mm: Removed platform-specific constructor, added
14697         setBridge method to replace it.
14698         (WebCore::Page::setBridge):
14700         * bridge/mac/WebCorePageBridge.h: Simplified some things based on the fact
14701         that WebCorePageBridge.h doesn't need to be included by ObjC-only files,
14702         and, now that it uses PassRefPtr, can't be.
14703         
14704         * page/Chrome.cpp: Added. Code copied and converted to c++ from WebCorePageBridge.mm.
14706         * page/Page.h:
14707         (WebCore::Page::dragCaretController): Made this function non-const so that
14708         m_dragCaretController doesn't have to be mutable.
14710 2006-11-03  Alexey Proskuryakov  <ap@nypop.com>
14712         Reviewed by Adele.
14714         http://bugs.webkit.org/show_bug.cgi?id=7323
14715         REGRESSION (10.4.4): ondrag* events don't fire on page in a frame
14717         * bridge/mac/FrameMac.h: Moved drag source information to a static variable
14718         in FrameMac.mm. There can be only one drag active at any moment, and having 
14719         this information here was making sharing this information between 
14720         subframes hard.
14722         * bridge/mac/FrameMac.mm:
14723         (WebCore::FrameMac::FrameMac): Initialize sharedDragInfo.
14724         (WebCore::FrameMac::freeClipboard):
14725         (WebCore::FrameMac::dragHysteresisExceeded):
14726         (WebCore::FrameMac::handleMouseMoveEvent):
14727         (WebCore::FrameMac::handleMouseReleaseEvent):
14728         (WebCore::FrameMac::mouseDown):
14729         (WebCore::FrameMac::dragSourceMovedTo):
14730         (WebCore::FrameMac::dragSourceEndedAt):
14731         (WebCore::FrameMac::dispatchDragSrcEvent):
14732         Access drag source info via sharedDragInfo - this fixes drag source even dispatching.
14733         Also removed some old code that was forwarding mouse events to subviews to make 
14734         HTML editing work in subframes.
14736         * page/FrameView.cpp:
14737         (WebCore::FrameView::updateDragAndDrop):
14738         (WebCore::FrameView::cancelDragAndDrop):
14739         (WebCore::FrameView::performDragAndDrop):
14740         Forward events to subframes for dispatching - this fixes drag target events.
14742 2006-11-03  Zack Rusin  <zack@kde.org>
14744         Reviewed by Tim.
14746         Fixing compile.
14748         * platform/qt/LoaderFunctionsQt.cpp:
14749         (WebCore::CachedResource::setPlatformResponse): Renamed from setResponse
14751 2006-11-01  Zack Rusin  <zack@kde.org>
14753         Reviewed by Maciej.
14755         Moving the word/sentence seperators into a file of their own
14756         and implementing findWordBoundary.
14758         * CMakeLists.txt:
14759         * platform/qt/TemporaryLinkStubs.cpp:
14760         * platform/qt/TextBoundaries.cpp: Added.
14761         (WebCore::findNextSentenceFromIndex):
14762         (WebCore::findSentenceBoundary):
14763         (WebCore::findNextWordFromIndex):
14764         (WebCore::findWordBoundary):
14766 2006-11-03  Zack Rusin  <zack@kde.org>
14768         Reviewed by Maciej.
14770         Compile on both KDE and Qt platforms
14772         * CMakeLists.txt: add zlib explicitly
14773         * platform/network/qt/ResourceHandleManager.cpp:
14774         (WebCore::ResourceHandleManager::self):
14775         (WebCore::QtJob::QtJob):
14776         (WebCore::QtJob::timerEvent): Integrate both implementations
14777         so that moc can parse it
14778         (WebCore::ResourceHandleManager::deliverJobData):
14779         (WebCore::ResourceHandleManager::remove):
14780         * platform/network/qt/ResourceHandleManager.h:
14782 2006-11-03  Maciej Stachowiak  <mjs@apple.com>
14784         No review, suggested by Mitz.
14786         - fix a #if to be #ifdef
14788         * platform/graphics/svg/cg/SVGResourceImageCg.cpp:
14790 2006-11-03  Zack Rusin  <zack@kde.org>
14792         Reviewed and landed by Maciej.
14793         
14794         Compile on the Qt platform.
14796         * ksvg2/misc/KCanvasRenderingStyle.h:
14797         * platform/qt/RenderThemeQt.cpp:
14798         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
14800 2006-11-03  Zack Rusin  <zack@kde.org>
14802         Reviewed by Hyatt. Landed by Maciej.
14804         Adding setPlatformPen/setPlatformFont/setPlatformFillColor
14805         to graphics context to be able to set consistant state
14806         on the platform specific painter without having to change
14807         fill/stroke/font on every operation. This fixes color/stroke/fill
14808         and font handling in the Qt port.
14810         * platform/graphics/GraphicsContext.cpp:
14811         (WebCore::GraphicsContext::setFont):
14812         (WebCore::GraphicsContext::setPen):
14813         (WebCore::GraphicsContext::setFillColor):
14814         (WebCore::GraphicsContext::setPlatformPen):
14815         (WebCore::GraphicsContext::setPlatformFillColor):
14816         (WebCore::GraphicsContext::setPlatformFont):
14817         * platform/graphics/GraphicsContext.h:
14818         * platform/qt/GraphicsContextQt.cpp:
14819         (WebCore::toQtCompositionMode):
14820         (WebCore::toQtLineCap):
14821         (WebCore::toQtLineJoin):
14822         (WebCore::toQPenStyle):
14823         (WebCore::penToQPen):
14824         (WebCore::TransparencyLayer::TransparencyLayer):
14825         (WebCore::GraphicsContext::addRoundedRectClip):
14826         (WebCore::GraphicsContext::setPlatformFont):
14827         (WebCore::GraphicsContext::setPlatformPen):
14828         (WebCore::GraphicsContext::setPlatformFillColor):
14829         * platform/qt/ScrollViewCanvasQt.cpp:
14830         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
14831         (WebCore::ScrollViewCanvasQt::paintEvent):
14832         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
14833         * platform/qt/ScrollViewCanvasQt.h:
14835 2006-11-02  Adele Peterson  <adele@apple.com>
14837         Reviewed by Anders.
14839         - Fix for http://bugs.webkit.org/show_bug.cgi?id=9581
14840         REGRESSION: The new NativeTextArea scrolls to the top when the control is unfocused.
14842         Test: fast/forms/textarea-no-scroll-on-blur.html
14844         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::forwardEvent):
14845           On blur, only scroll back to the start for text fields.
14847 2006-11-02  Anders Carlsson  <acarlsson@apple.com>
14849         Another build fix.
14850         
14851         * rendering/RenderFileUploadControl.cpp:
14852         (WebCore::RenderFileUploadControl::paintObject):
14854 2006-11-02  Anders Carlsson  <acarlsson@apple.com>
14856         Build fix.
14857         
14858         * page/FramePrivate.h:
14859         (WebCore::FramePrivate::FramePrivate):
14861 2006-11-02  Kevin Ollivier <kevino@theolliviers.com>
14863         Reviewed by Geoff, landed by Anders.
14864         
14865         Fix dependency problems caused when running move-js-headers.sh
14866         
14867         * move-js-headers.sh:
14868         Use cp -p instead of just cp so that the modification time
14869         of the original files are used.
14871 2006-11-02  Adam Roben  <aroben@apple.com>
14873         Reviewed by Tim H, landed by Anders.
14875         Fixes http://bugs.webkit.org/show_bug.cgi?id=10840
14876         REGRESSION: Shadow of file upload button is clipped
14878         * rendering/RenderFileUploadControl.cpp:
14879         (WebCore::RenderFileUploadControl::paintObject): Add 2px to the clip
14880         height to keep from clipping in the shadow
14882 2006-11-02  Eike Preuss  <mail@eikepreuss.de>
14884         Reviewed by Maciej, landed by Anders.
14886         * platform/qt/ScrollViewQt.cpp: Fix translation of coordinates between
14887         content and window. ScrollViewQt already receives correct content
14888         coordinates from QScrollArea.
14889         (WebCore::ScrollView::contentsToWindow):
14890         (WebCore::ScrollView::windowToContents):
14892 2006-11-02  Simon Hausmann  <hausmann@kde.org>
14894         Reviewed by Maciej, landed by Anders
14896         * CMakeLists.txt: Make linkage against KDE libraries conditional
14897         * platform/network/qt/ResourceHandleManager.cpp: Added a simple
14898           Qt base resource handler that supports only requests to the
14899           local filesystem. Used when compiling without KDE support.
14900           ResourceHandleManager.cpp/h are to be split up into ResourceHandleManagerKDE
14901           and ResourceHandleManagerQt in the future, as well as QtJob.cpp/h.
14902         (WebCore::QtJob::QtJob):
14903         (WebCore::QtJob::timerEvent):
14904         (WebCore::ResourceHandleManager::ResourceHandleManager):
14905         (WebCore::ResourceHandleManager::~ResourceHandleManager):
14906         (WebCore::ResourceHandleManager::self):
14907         (WebCore::ResourceHandleManager::remove):
14908         (WebCore::ResourceHandleManager::add):
14909         (WebCore::ResourceHandleManager::cancel):
14910         (WebCore::ResourceHandleManager::deliverJobData):
14911         * platform/network/qt/ResourceHandleManager.h:
14912         * platform/qt/FrameQtClient.cpp:
14913         (WebCore::FrameQtClientDefault::runJavaScriptAlert):
14914         (WebCore::FrameQtClientDefault::runJavaScriptConfirm):
14915         (WebCore::FrameQtClientDefault::runJavaScriptPrompt):
14916         * platform/qt/LoaderFunctionsQt.cpp: Use the Qt messagebox and
14917           input dialog functions when compiling without KDE support
14918         (WebCore::ServeSynchronousRequest):
14920 2006-11-02  David Carson  <dacarson@gmail.com>
14922         Reviewed by Geoff, landed by Anders.
14924         Fix for: http://bugs.webkit.org/show_bug.cgi?id=11471
14925         Initializing variable in constructor.
14927         * page/FramePrivate.h:
14928         (WebCore::FramePrivate::FramePrivate):
14930 2006-11-02  Anders Carlsson  <acarlsson@apple.com>
14932         Reviewed by Geoff.
14934         Use CFMutableURLRequestRef instead of CFHTTPMessageRef since not all URL requests are http requests.
14935         
14936         * platform/network/cf/ResourceHandleCFNet.cpp:
14937         (WebCore::addHeadersFromHashMap):
14938         Don't set all headers at once since that clears any previous headers set.
14939         
14940         (WebCore::ResourceHandle::start):
14942 2006-11-02  Adele Peterson  <adele@apple.com>
14944         Reviewed by Mitz and Geoff.
14946         - Fix for:
14947         <rdar://problem/4650271> REGRESSION(NativeTextArea): Textareas don't get scrollbars when text gets too big for content area (10105)
14948         <rdar://problem/4650813> REGRESSION(tiger-leopard): typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
14949         <rdar://problem/4658779> REGRESSION: Text selection is weird in textareas in Trac wiki editing pages
14951         Test: fast/forms/textarea-scrollbar.html
14953         To avoid some of our flexbox bugs for textareas, we're moving the text controls back to RenderBlock.  This should make them
14954         a lot more stable.  In the future, when we've worked out more of the flexbox kinks, we may want to consider moving them back.
14956         * rendering/RenderTextControl.h: Convert text controls back to RenderBlock instead of RenderFlexibleBox.
14957         * rendering/RenderTextControl.cpp: 
14958         (WebCore::RenderTextControl::RenderTextControl):
14959         (WebCore::RenderTextControl::setStyle):
14960         (WebCore::RenderTextControl::createDivStyle):
14961         (WebCore::RenderTextControl::updateFromElement):
14962         (WebCore::RenderTextControl::calcHeight):
14963         (WebCore::RenderTextControl::baselinePosition):
14964         (WebCore::RenderTextControl::nodeAtPoint):
14965         (WebCore::RenderTextControl::layout): Set the inner div's height explicitly before doing a normal layout.
14966         (WebCore::RenderTextControl::scrollWidth):
14967         (WebCore::RenderTextControl::scrollHeight):
14968         (WebCore::RenderTextControl::scrollLeft):
14969         (WebCore::RenderTextControl::scrollTop):
14971         * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Make subtree layout optimization work for textareas.
14973 2006-11-02  John Sullivan  <sullivan@apple.com>
14975         Reviewed by Geoff Garen
14977         * editing/Selection.cpp:
14978         (WebCore::Selection::showTreeForThis):
14979         this debugging method now displays start offset and end offset, at Darin's suggestion
14981 2006-11-01  Justin Garcia  <justin.garcia@apple.com>
14983         Reviewed by darin
14985         <rdar://problem/4062865>
14986         Copy/paste of a select element fails to include the options
14987         
14988         * editing/SelectionController.cpp:
14989         (WebCore::SelectionController::modify): Added paragraphBoundary.
14990         * editing/htmlediting.cpp:
14991         (WebCore::canHaveChildrenForEditing): Added checks for input elements
14992         and textareas.  Insertion operations would fail when performed just 
14993         before/after one of these elements b/c the content would be put inside 
14994         the element.
14995         (WebCore::enclosingNodeWithTag): Fixed a problem when calling these in non
14996         editable content, and made the code to stop at an root faster (don't check
14997         isDescendantOf on every iteration).
14998         (WebCore::enclosingNodeOfType): Ditto.
14999         (WebCore::enclosingList): Ditto.
15000         (WebCore::enclosingListChild): Ditto.  Added a FIXME, this function seems
15001         inappropriately named.
15002         * editing/markup.cpp:
15003         (WebCore::startMarkup): Use the text node's value instead of its rendered
15004         content for text nodes inside select elements.  One might also turn off
15005         annotation when createMarkup enters a select element, but createMarkup
15006         is iterative, not recursive, so doing so would be complicated.
15007         (WebCore::createMarkup): Add markup for unrendered nodes if they are 
15008         descendants of a select element.
15009         * editing/visible_units.cpp:
15010         (WebCore::startOfParagraph): Migrate to isBlock/enclosingBlock.  Fixes bug
15011         where various replaced elements can't be copied when they are the only
15012         thing selected.
15013         (WebCore::endOfParagraph): Ditto.
15015 2006-11-01  Oliver Hunt  <oliver@apple.com>
15017         Reviewed by Adam.
15019         Converting more or kcanvas/quartz from Obj-C to C++
15020         Minor SVG updates
15021         compatibility fixes
15023         * WebCore.xcodeproj/project.pbxproj:
15024         * kcanvas/device/KRenderingPaintServer.h:
15025         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Added.
15026         (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
15027         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: Removed.
15028         * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Added.
15029         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: Removed.
15030         * kcanvas/device/quartz/QuartzSupport.h:
15031         * ksvg2/css/SVGCSSStyleSelector.cpp:
15032         * ksvg2/misc/KCanvasRenderingStyle.h:
15033         * ksvg2/scripts/cssmakeprops:
15034         * ksvg2/scripts/cssmakevalues:
15035         * ksvg2/scripts/make_names.pl:
15036         * ksvg2/svg/SVGAnimateColorElement.cpp:
15037         * ksvg2/svg/SVGAnimateTransformElement.cpp:
15038         * ksvg2/svg/SVGAnimationElement.cpp:
15039         * ksvg2/svg/SVGMaskElement.cpp:
15040         * ksvg2/svg/SVGPatternElement.cpp:
15041         * ksvg2/svg/svgpathparser.cpp:
15042         * platform/Path.cpp:
15043         * platform/graphics/svg/SVGResourceImage.h:
15044         * rendering/RenderPath.cpp:
15045         * rendering/SVGRenderAsText.cpp:
15047 2006-11-02  Mitz Pettel  <mitz@webkit.org>
15049         Reviewed by Adele.
15051         - Fix a regression from r17521: painting of and crash caused by tables
15052           with collapsed borders
15054         * rendering/RenderTable.cpp:
15055         (WebCore::RenderTable::paint): Changed 'paintInfo' to 'info'. Prior to
15056         r17521, 'paintInfo' was the local variable. Now 'info' is the local variable
15057         and 'paintInfo' is the parameter, which we were accidently modifying.
15059 2006-11-01  Adele Peterson  <adele@apple.com>
15061         Reviewed by Mitz.
15063         - Fix for http://bugs.webkit.org/show_bug.cgi?id=11277
15064         REGRESSION: Incomplete repaint of overflow areas when deleting
15066         Restrict the repaint rect for overflow blocks after the height has been fully computed.
15067         Also, adjust the repaint rect coordinates for the scroll offset.
15069         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock):
15070         * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren):
15072 2006-11-01  Sam Weinig  <sam.weinig@gmail.com>
15074         Reviewed by Mitz.
15076         Fix for http://bugs.webkit.org/show_bug.cgi?id=11474
15077         Rename the "p" member variable of the PaintInfo struct to "context"
15079         - Renames the 'p' and 'r' member variables of the PaintInfo struct to
15080           'context' and 'rect' respectively.
15082         - Assorted surrounding cleanups.
15084         * rendering/EllipsisBox.cpp:
15085         (WebCore::EllipsisBox::paint):
15086         * rendering/EllipsisBox.h:
15087         * rendering/InlineBox.cpp:
15088         (WebCore::InlineBox::paint):
15089         * rendering/InlineFlowBox.cpp:
15090         (WebCore::InlineFlowBox::paint):
15091         (WebCore::InlineFlowBox::paintBackground):
15092         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
15093         (WebCore::InlineFlowBox::paintDecorations):
15094         * rendering/InlineFlowBox.h:
15095         * rendering/InlineRunBox.h:
15096         * rendering/InlineTextBox.cpp:
15097         (WebCore::InlineTextBox::paint):
15098         * rendering/InlineTextBox.h:
15099         * rendering/RenderBlock.cpp:
15100         (WebCore::RenderBlock::paint):
15101         (WebCore::RenderBlock::paintChildren):
15102         (WebCore::RenderBlock::paintCaret):
15103         (WebCore::RenderBlock::paintObject):
15104         (WebCore::RenderBlock::paintFloats):
15105         (WebCore::RenderBlock::paintEllipsisBoxes):
15106         (WebCore::RenderBlock::paintSelection):
15107         (WebCore::RenderBlock::fillSelectionGaps):
15108         (WebCore::RenderBlock::fillInlineSelectionGaps):
15109         (WebCore::RenderBlock::fillBlockSelectionGaps):
15110         (WebCore::RenderBlock::fillHorizontalSelectionGap):
15111         (WebCore::RenderBlock::fillVerticalSelectionGap):
15112         (WebCore::RenderBlock::fillLeftSelectionGap):
15113         (WebCore::RenderBlock::fillRightSelectionGap):
15114         * rendering/RenderBox.cpp:
15115         (WebCore::RenderBox::paint):
15116         (WebCore::RenderBox::paintRootBoxDecorations):
15117         (WebCore::RenderBox::paintBoxDecorations):
15118         * rendering/RenderBox.h:
15119         * rendering/RenderButton.cpp:
15120         (WebCore::RenderButton::paintObject):
15121         * rendering/RenderFieldset.cpp:
15122         (WebCore::RenderFieldset::paintBoxDecorations):
15123         * rendering/RenderFileUploadControl.cpp:
15124         (WebCore::RenderFileUploadControl::paintObject):
15125         * rendering/RenderFlow.cpp:
15126         (WebCore::RenderFlow::continuationBefore):
15127         (WebCore::RenderFlow::addChildWithContinuation):
15128         (WebCore::RenderFlow::addChild):
15129         (WebCore::RenderFlow::attachLineBox):
15130         (WebCore::RenderFlow::destroy):
15131         (WebCore::RenderFlow::dirtyLinesFromChangedChild):
15132         (WebCore::RenderFlow::dirtyLineBoxes):
15133         (WebCore::RenderFlow::createInlineBox):
15134         (WebCore::RenderFlow::paintLines):
15135         (WebCore::RenderFlow::getAbsoluteRepaintRect):
15136         (WebCore::RenderFlow::lowestPosition):
15137         (WebCore::RenderFlow::rightmostPosition):
15138         (WebCore::RenderFlow::leftmostPosition):
15139         (WebCore::RenderFlow::caretRect):
15140         (WebCore::RenderFlow::addFocusRingRects):
15141         (WebCore::RenderFlow::paintOutline):
15142         (WebCore::RenderFlow::paintOutlineForLine):
15143         * rendering/RenderForeignObject.cpp:
15144         (WebCore::RenderForeignObject::paint):
15145         * rendering/RenderHTMLCanvas.cpp:
15146         (WebCore::RenderHTMLCanvas::paint):
15147         * rendering/RenderImage.cpp:
15148         (WebCore::RenderImage::paint):
15149         * rendering/RenderLayer.cpp:
15150         (WebCore::RenderLayer::paintLayer):
15151         * rendering/RenderListBox.cpp:
15152         (WebCore::RenderListBox::paintObject):
15153         (WebCore::RenderListBox::paintScrollbar):
15154         (WebCore::RenderListBox::paintItemForeground):
15155         (WebCore::RenderListBox::paintItemBackground):
15156         * rendering/RenderListMarker.cpp:
15157         (WebCore::RenderListMarker::paint):
15158         * rendering/RenderMenuList.cpp:
15159         (WebCore::RenderMenuList::paintObject):
15160         * rendering/RenderObject.cpp:
15161         (WebCore::RenderObject::paint):
15162         * rendering/RenderObject.h:
15163         (WebCore::RenderObject::PaintInfo::PaintInfo):
15164         (WebCore::RenderObject::paintBoxDecorations):
15165         (WebCore::RenderObject::paintingRootForChildren):
15166         (WebCore::RenderObject::shouldPaintWithinRoot):
15167         (WebCore::RenderObject::printBoxDecorations):
15168         * rendering/RenderPath.cpp:
15169         (WebCore::RenderPath::paint):
15170         * rendering/RenderReplaced.cpp:
15171         (WebCore::RenderReplaced::shouldPaint):
15172         * rendering/RenderSVGContainer.cpp:
15173         (WebCore::RenderSVGContainer::paint):
15174         * rendering/RenderSVGContainer.h:
15175         * rendering/RenderSVGImage.cpp:
15176         (WebCore::RenderSVGImage::paint):
15177         * rendering/RenderSVGText.cpp:
15178         (WebCore::RenderSVGText::paint):
15179         * rendering/RenderSVGText.h:
15180         (WebCore::RenderSVGText::renderName):
15181         * rendering/RenderTable.cpp:
15182         (WebCore::RenderTable::paint):
15183         (WebCore::RenderTable::paintBoxDecorations):
15184         * rendering/RenderTable.h:
15185         * rendering/RenderTableCell.cpp:
15186         (WebCore::RenderTableCell::paint):
15187         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
15188         (WebCore::RenderTableCell::paintBoxDecorations):
15189         * rendering/RenderTableCell.h:
15190         * rendering/RenderTableRow.cpp:
15191         (WebCore::RenderTableRow::paint):
15192         * rendering/RenderTableRow.h:
15193         * rendering/RenderTableSection.cpp:
15194         (WebCore::RenderTableSection::paint):
15195         * rendering/RenderTableSection.h:
15196         (WebCore::RenderTableSection::getBaseline):
15197         (WebCore::RenderTableSection::setNeedCellRecalc):
15198         * rendering/RenderText.h:
15199         (WebCore::RenderText::renderName):
15200         (WebCore::RenderText::paint):
15201         (WebCore::RenderText::element):
15202         * rendering/RenderTheme.cpp:
15203         (WebCore::RenderTheme::paint):
15204         (WebCore::RenderTheme::paintBorderOnly):
15205         (WebCore::RenderTheme::paintDecorations):
15206         * rendering/RenderTheme.h:
15207         (WebCore::RenderTheme::RenderTheme):
15208         (WebCore::RenderTheme::~RenderTheme):
15209         (WebCore::RenderTheme::controlSupportsTints):
15210         (WebCore::RenderTheme::adjustRepaintRect):
15211         (WebCore::RenderTheme::themeChanged):
15212         (WebCore::RenderTheme::supportsHover):
15213         (WebCore::RenderTheme::paintCheckbox):
15214         (WebCore::RenderTheme::setCheckboxSize):
15215         (WebCore::RenderTheme::paintRadio):
15216         (WebCore::RenderTheme::setRadioSize):
15217         (WebCore::RenderTheme::paintButton):
15218         (WebCore::RenderTheme::setButtonSize):
15219         (WebCore::RenderTheme::paintTextField):
15220         (WebCore::RenderTheme::paintTextArea):
15221         (WebCore::RenderTheme::paintMenuList):
15222         (WebCore::RenderTheme::paintMenuListButton):
15223         * rendering/RenderThemeMac.mm:
15224         (WebCore::RenderThemeMac::paintCheckbox):
15225         (WebCore::RenderThemeMac::paintRadio):
15226         (WebCore::RenderThemeMac::paintButton):
15227         (WebCore::RenderThemeMac::paintTextField):
15228         (WebCore::RenderThemeMac::paintTextArea):
15229         (WebCore::RenderThemeMac::paintMenuList):
15230         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
15231         (WebCore::RenderThemeMac::paintMenuListButton):
15232         * rendering/RenderView.cpp:
15233         (WebCore::RenderView::paint):
15234         (WebCore::RenderView::paintBoxDecorations):
15235         * rendering/RenderView.h:
15236         * rendering/RenderWidget.cpp:
15237         (WebCore::RenderWidget::paint):
15238         * rendering/RenderWidget.h:
15239         (WebCore::RenderWidget::isWidget):
15240         * rendering/RootInlineBox.cpp:
15241         (WebCore::RootInlineBox::paintEllipsisBox):
15242         (WebCore::RootInlineBox::paintCustomHighlight):
15243         (WebCore::RootInlineBox::paint):
15244         (WebCore::RootInlineBox::fillLineSelectionGap):
15245         * rendering/RootInlineBox.h:
15246         * rendering/SVGInlineFlowBox.cpp:
15247         (WebCore::paintSVGInlineFlow):
15249 2006-11-01  Anders Carlsson  <acarlsson@apple.com>
15251         Reviewed by Oliver, Brady.
15253         * platform/network/ResourceResponse.h:
15254         (WebCore::ResourceResponse::setLastModifiedDate):
15255         (WebCore::ResourceResponse::lastModifiedDate):
15256         Add getters and setters for last modified dadte.
15257         
15258         * platform/network/cf/ResourceResponseCFNet.cpp:
15259         (WebCore::getResourceResponse):
15260         Fetch the last modified date. Add correct offset to expired date.
15262 2006-11-01  David Kilzer  <ddkilzer@kilzer.net>
15264         Reviewed by Mitz.
15266         Added missing "break;" statement in switch statement from r17493.
15268         Bug 11442: [CSS 3] support for cursor: all-scroll
15269         http://bugs.webkit.org/show_bug.cgi?id=11442
15271         * css/CSSComputedStyleDeclaration.cpp:
15272         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15274 2006-10-31  Mitz Pettel  <mitz@webkit.org>
15276         Reviewed by Maciej.
15278         - fix image dragging
15280         This is covered by editing/selection/drag-to-contenteditable-iframe.html
15282         * rendering/HitTestResult.cpp:
15283         (WebCore::HitTestResult::altDisplayString): Changed imageTag to imgTag, for
15284         HTML IMG elements.
15285         (WebCore::HitTestResult::absoluteImageURL): Ditto.
15287 2006-10-31  Beth Dakin  <bdakin@apple.com>
15289         Reviewed by Maciej.
15291         This adds the back-end of the remaining WebElementDictionary 
15292         functions into HitTestResult.
15294         * WebCore.exp:
15295         * rendering/HitTestResult.cpp:
15296         (WebCore::HitTestResult::title):
15297         (WebCore::displayString): This is nearly identical to the 
15298         displayString() defined in DOMInternal.mm except that it returns a 
15299         String instead of an NSString. The old code path used the 
15300         DOMInternal method, so I made a new one here for the new code path.
15301         (WebCore::HitTestResult::altDisplayString):
15302         (WebCore::HitTestResult::image):
15303         (WebCore::HitTestResult::absoluteImageURL):
15304         (WebCore::HitTestResult::absoluteLinkURL):
15305         (WebCore::HitTestResult::titleDisplayString):
15306         (WebCore::HitTestResult::textContent):
15307         * rendering/HitTestResult.h:
15309 2006-10-31  John Sullivan  <sullivan@apple.com>
15311         * bridge/mac/FrameMac.mm:
15312         (WebCore::FrameMac::markMisspellings):
15313         Tiger build fix: added an #ifndef BUILDING_ON_TIGER where one was needed.
15315 2006-10-31  John Sullivan  <sullivan@apple.com>
15317         Reviewed by Maciej
15318         
15319         - fixed <rdar://problem/4804627> ToolTips do not appear for grammar suggestions
15320         
15321         The foundation of this was in my last checkin. This checkin is all about displaying
15322         the correct string in the toolTip.
15324         * dom/DocumentMarker.h:
15325         New description field in this struct.
15327         * bridge/mac/FrameMac.mm:
15328         (WebCore::FrameMac::advanceToNextMisspelling):
15329         When adding a grammar marker, supply the appropriate description. Also, added a comment
15330         about the remaining work to make grammar checking return sensible answers.
15331         (WebCore::FrameMac::markMisspellings):
15332         ditto (yes, still needs some refactoring to minimize duplicated code)
15333         
15334         * dom/Document.h:
15335         * dom/Document.cpp:
15336         (WebCore::Document::addMarker):
15337         Now takes an optional description string
15338         (WebCore::Document::markerContainingPoint):
15339         New function, returns a pointer to the (first) marker of the specified type whose rect 
15340         contains the specified point, or 0 if none.
15341         
15342         * rendering/HitTestResult.cpp:
15343         (WebCore::HitTestResult::spellingToolTip):
15344         Replaced hardwired string placeholder implementation with code that uses markerContainingPoint
15345         and gets the description from the marker.
15347 2006-10-31  Geoffrey Garen  <ggaren@apple.com>
15349         Reviewed by Maciej.
15350         
15351         Fixed crash resulting from Darin's last patch to remove BrowserExtension.
15353         * loader/mac/FrameLoaderMac.mm:
15354         (WebCore::FrameLoader::createWindow):
15355         * manual-tests/window-open-features-parsing.html: Updated for clarity.
15357 2006-10-31  Geoffrey Garen  <ggaren@apple.com>
15359         Reviewed by Alice.
15361         Moved some Editing code from WebKit, the bridge, and WebCore::Frame down 
15362         to WebCore::Editor.
15363         
15364         Layout tests pass.
15365         
15366         Renamed "may*" to "can*" because "can" is more accurate (these functions
15367         aren't just about permission) and it matches WebKit.
15369         (WebCore::FrameMac::handleMouseMoveEvent): Directly test for dragging in a 
15370         password field. Now that WebCore fully implements canCopy(), it doesn't just
15371         mean "the selection is not in a password field" anymore.
15372         (-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Removed this #ifed-out code. 
15373         The fact that it's not called anymore may represent a security issue, but I
15374         don't see how commented-out code will help reveal the issue, and the
15375         bridge is going away, anyway.
15376         * editing/SelectionController.h: Changed selection() calls to references
15377         to m_sel, to match the rest of the file.
15379 2006-10-31  Justin Garcia  <justin.garcia@apple.com>
15381         Reviewed by harrison
15382         
15383         <rdar://problem/4711063>
15384         Pasting 10K lines into Mail/Blot takes ~7sec, in TextEdit it takes ~1.5sec
15386         * editing/ReplaceSelectionCommand.cpp:
15387         (WebCore::ReplacementFragment::ReplacementFragment): Don't do the test
15388         insertion and plain text string creation unless we need the string
15389         for a BeforeTextInserted event handler or for a plain text only region.
15390         (WebCore::ReplacementFragment::removeInterchangeNodes): Added, moved
15391         code here from ReplacementFragment's constructor.
15392         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Added a
15393         FIXME.
15394         * editing/ReplaceSelectionCommand.h:
15396 2006-10-31  Ada Chan  <adachan@apple.com>
15398         Reviewed by Adam
15400         Correct forward declarations of the HitTestRequest struct.
15402         * rendering/EllipsisBox.h:
15403         * rendering/InlineBox.h:
15404         * rendering/InlineFlowBox.h:
15405         * rendering/RenderLayer.h:
15406         * rendering/RenderObject.h:
15408 2006-10-31  John Sullivan  <sullivan@apple.com>
15410         Reviewed by Beth and Adam
15412         Support for displaying tooltips for bad grammar. Currently this always displays the same tooltip; 
15413         next I'll make it use a string that's relevant for a specific grammar error.
15415         * WebCore.exp:
15416         export symbol for spellingToolTip function
15417         
15418         * rendering/HitTestResult.h:
15419         * rendering/HitTestResult.cpp:
15420         (WebCore::HitTestResult::spellingToolTip):
15421         new function, returns the string to be used in a tool tip that describes the questionable grammar
15422         
15423         * rendering/InlineTextBox.h:
15424         * rendering/InlineTextBox.cpp:
15425         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
15426         now takes a style and font, needed to compute the rect representing the range containing
15427         questionable grammar. Computes the rect and associates it with the marker.
15428         (WebCore::InlineTextBox::paintDocumentMarkers):
15429         Pass in the style and font now needed by paintSpellingOrGrammarMarker
15431 2006-10-31  Adele Peterson  <adele@apple.com>
15433         Removed commented out variable from last checkin.
15435         * html/HTMLSelectElement.cpp:
15436         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
15438 2006-10-31  Brady Eidson  <beidson@apple.com>
15440         Build fix (unused variable in release builds)
15442         * html/HTMLSelectElement.cpp:
15443         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
15445 2006-10-31  Adele Peterson  <adele@apple.com>
15447         Reviewed by Adam.
15449         - Fix for http://bugs.webkit.org/show_bug.cgi?id=11127 NativeListBox: arrow and drag selection should pivot around one list item
15450         and http://bugs.webkit.org/show_bug.cgi?id=11173 REGRESSION (NativeListBox): Shift-clicking items in list box doesn't expand the current selection
15451         and http://bugs.webkit.org/show_bug.cgi?id=11417 REGRESSION: onchange does not fire for list-style select elements
15453         Tests: 
15454         * LayoutTests/fast/forms/listbox-selection.html
15455         * LayoutTests/fast/forms/listbox-onchange.html
15457         * html/HTMLSelectElement.h: Added m_selectedListIndexBase and m_selectedListIndexExtent to track indices for the active selection in progress.
15458           Added 2 vectors to cache selection state.  One is kept so that the previous selection state can be restored as the active selection grows and shrinks.
15459           And one for onChange, that is updated after onChange is fired.
15460           Added m_activeSelectionState to keep track of whether the current drag selection is selecting or deselecting.
15462         * html/HTMLSelectElement.cpp:
15463         (WebCore::HTMLSelectElement::HTMLSelectElement): Initialized new variables.
15464         (WebCore::HTMLSelectElement::setSelectedIndex): If needed, initialize m_selectedListIndexBase and m_selectedListIndexExtent.
15465         (WebCore::HTMLSelectElement::dispatchBlurEvent): Only fire the onChange event here for menu lists.
15466         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Updates base and extent variables for mouse and key events.
15467         (WebCore::HTMLSelectElement::setBase): Added. Also caches the selection state.
15468         (WebCore::HTMLSelectElement::setExtent): Added.
15469         (WebCore::HTMLSelectElement::updateListBoxSelection): Added.
15470         (WebCore::HTMLSelectElement::listBoxOnChange): Added.
15472         * rendering/RenderListBox.cpp:
15473         (WebCore::RenderListBox::updateFromElement): Only scroll to reveal the first index if both the first and last indices aren't visible.
15474         (WebCore::RenderListBox::listIndexAtOffset): Added.  Replaces optionAtPoint, which is no longer used.
15475         (WebCore::RenderListBox::autoscroll): Now sets the selection using the select's base and extent.
15476         (WebCore::RenderListBox::stopAutoscroll): Added.  Tells the select element to fire onChange.  This is needed because the autoscroll can end from a mouseUp
15477          outside of the list box, and the select element won't get a mouseUp event directly.  But the frame will stop the autoscroll at that point, and now we can
15478          notify the select element from here.
15479         (WebCore::RenderListBox::scrollToRevealElementAtListIndex): Checks new listIndexIsVisible method.
15480         (WebCore::RenderListBox::listIndexIsVisible): Added.
15481         (WebCore::RenderListBox::valueChanged): Removed unnecessary printf.
15483         * page/Frame.cpp: (WebCore::Frame::stopAutoscrollTimer): Added rendererIsBeingDestroyed argument, so when the renderer calls this during destruction, 
15484         we don't try to use the pointer to that renderer to call stopAutoscroll.  This is done so a renderer that's still alive has a chance to do some cleanup after autoscroll.
15485         * rendering/RenderListBox.h: (WebCore::RenderListBox::shouldAutoscroll): Always returns true now, since we're also updating selection from the autoscroll timer.
15486         * rendering/RenderObject.h: (WebCore::RenderObject::stopAutoscroll): Added.
15487         * rendering/RenderObject.cpp: (WebCore::RenderObject::destroy): Calls stopAutoscrollTimer with rendererIsBeingDestroyed argument.
15489 2006-10-31  Beth Dakin  <bdakin@apple.com>
15491         Forgot to check this in a minute ago. Oops!! Thanks Mitz!
15493         * rendering/HitTestRequest.h: Added.
15494         (WebCore::HitTestRequest::HitTestRequest):
15496 2006-10-31  Beth Dakin  <bdakin@apple.com>
15498         Reviewed by Maciej.
15500         Fix for http://bugs.webkit.org/show_bug.cgi?id=11461 HitTestResult 
15501         should be split into HitTestRequest and HitTestResult
15503         This patch creates a new struct called HitTestRequest that holds 
15504         the three boolean values (readonly, active, and mouseMove) that 
15505         were formerly a part of HitTestResult. All hitTest() and 
15506         nodeAtPoint() functions now take a HitTestRequest in addition to 
15507         the HitTestResult.
15509         * WebCore.exp:
15510         * WebCore.xcodeproj/project.pbxproj:
15511         * bridge/mac/FrameMac.mm:
15512         (WebCore::FrameMac::eventMayStartDrag):
15513         (WebCore::FrameMac::handleMouseMoveEvent):
15514         * bridge/mac/WebCoreAXObject.mm:
15515         (-[WebCoreAXObject doAXTextMarkerForPosition:]):
15516         (-[WebCoreAXObject accessibilityHitTest:]):
15517         * dom/Document.cpp:
15518         (WebCore::Document::elementFromPoint):
15519         (WebCore::Document::prepareMouseEvent):
15520         * editing/SelectionController.cpp:
15521         (WebCore::SelectionController::contains):
15522         * page/Frame.cpp:
15523         (WebCore::Frame::hitTestResultAtPoint):
15524         * page/FrameView.cpp:
15525         (WebCore::FrameView::handleWheelEvent):
15526         * rendering/EllipsisBox.cpp:
15527         (WebCore::EllipsisBox::nodeAtPoint):
15528         * rendering/EllipsisBox.h:
15529         * rendering/HitTestResult.cpp:
15530         (WebCore::HitTestResult::HitTestResult):
15531         (WebCore::HitTestResult::operator=):
15532         * rendering/HitTestResult.h:
15533         * rendering/InlineBox.cpp:
15534         (WebCore::InlineBox::nodeAtPoint):
15535         * rendering/InlineBox.h:
15536         * rendering/InlineFlowBox.cpp:
15537         (WebCore::InlineFlowBox::nodeAtPoint):
15538         * rendering/InlineFlowBox.h:
15539         * rendering/InlineTextBox.cpp:
15540         (WebCore::InlineTextBox::nodeAtPoint):
15541         * rendering/InlineTextBox.h:
15542         * rendering/RenderBlock.cpp:
15543         (WebCore::RenderBlock::nodeAtPoint):
15544         * rendering/RenderBlock.h:
15545         * rendering/RenderBox.cpp:
15546         (WebCore::RenderBox::nodeAtPoint):
15547         * rendering/RenderBox.h:
15548         * rendering/RenderFlow.cpp:
15549         (WebCore::RenderFlow::hitTestLines):
15550         * rendering/RenderFlow.h:
15551         * rendering/RenderForeignObject.cpp:
15552         (WebCore::RenderForeignObject::nodeAtPoint):
15553         * rendering/RenderForeignObject.h:
15554         * rendering/RenderFrameSet.cpp:
15555         (WebCore::RenderFrameSet::nodeAtPoint):
15556         * rendering/RenderFrameSet.h:
15557         * rendering/RenderImage.cpp:
15558         (WebCore::RenderImage::nodeAtPoint):
15559         * rendering/RenderImage.h:
15560         * rendering/RenderInline.cpp:
15561         (WebCore::RenderInline::nodeAtPoint):
15562         * rendering/RenderInline.h:
15563         * rendering/RenderLayer.cpp:
15564         (WebCore::RenderLayer::autoscroll):
15565         (WebCore::RenderLayer::hitTest):
15566         (WebCore::RenderLayer::hitTestLayer):
15567         (WebCore::RenderLayer::updateHoverActiveState):
15568         * rendering/RenderLayer.h:
15569         * rendering/RenderObject.cpp:
15570         (WebCore::RenderObject::hitTest):
15571         (WebCore::RenderObject::nodeAtPoint):
15572         * rendering/RenderObject.h:
15573         * rendering/RenderPath.cpp:
15574         (WebCore::RenderPath::nodeAtPoint):
15575         * rendering/RenderPath.h:
15576         * rendering/RenderSVGImage.cpp:
15577         (WebCore::RenderSVGImage::nodeAtPoint):
15578         * rendering/RenderSVGImage.h:
15579         * rendering/RenderSVGText.cpp:
15580         (WebCore::RenderSVGText::nodeAtPoint):
15581         * rendering/RenderSVGText.h:
15582         * rendering/RenderTableRow.cpp:
15583         (WebCore::RenderTableRow::nodeAtPoint):
15584         * rendering/RenderTableRow.h:
15585         * rendering/RenderTableSection.cpp:
15586         (WebCore::RenderTableSection::nodeAtPoint):
15587         * rendering/RenderTableSection.h:
15588         * rendering/RenderText.h:
15589         (WebCore::RenderText::nodeAtPoint):
15590         * rendering/RenderTextControl.cpp:
15591         (WebCore::RenderTextControl::nodeAtPoint):
15592         * rendering/RenderTextControl.h:
15593         * rendering/RootInlineBox.cpp:
15594         (WebCore::RootInlineBox::nodeAtPoint):
15595         * rendering/RootInlineBox.h:
15597 2006-10-31  Lars Naesbye Christensen <lars@naesbye.dk>
15599         Reviewed by Maciej.
15601         Bug 11442: [CSS 3] support for cursor: all-scroll
15602         http://bugs.webkit.org/show_bug.cgi?id=11442
15604         * css/CSSComputedStyleDeclaration.cpp:
15605         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15606         * css/CSSValueKeywords.in:
15607         * css/cssparser.cpp:
15608         (WebCore::CSSParser::parseValue):
15609         * page/FrameView.cpp:
15610         (WebCore::selectCursor):
15611         * rendering/RenderStyle.h:
15613 2006-10-31  Oliver Hunt  <oliver@apple.com>
15615         Reviewed by Geoff.
15617         Converting Obj-C++ to C++ in kcanvas
15619         * WebCore.xcodeproj/project.pbxproj:
15620         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
15621         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
15622         * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Added.
15623         * kcanvas/device/quartz/KCanvasItemQuartz.mm: Removed.
15624         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Added.
15625         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
15626         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: Removed.
15627         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
15628         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
15629         * kcanvas/device/quartz/QuartzSupport.cpp: Added.
15630         * kcanvas/device/quartz/QuartzSupport.h:
15631         * kcanvas/device/quartz/QuartzSupport.mm: Removed.
15632         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Added.
15633         (WebCore::SVGResourceClipper::applyClip):
15634         * platform/graphics/svg/cg/SVGResourceClipperCg.mm: Removed.
15635         * platform/graphics/svg/cg/SVGResourceImageCg.cpp: Added.
15636         * platform/graphics/svg/cg/SVGResourceImageCg.mm: Removed.
15638 2006-10-31  Justin Garcia  <justin.garcia@apple.com>
15640         Reviewed by harrison
15641         
15642         <rdar://problem/4808375>
15643         REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) [11460}
15644         
15645         Completely back out r17276 because of performance issues.
15647         * editing/TextIterator.cpp:
15648         (WebCore::TextIterator::TextIterator):
15649         (WebCore::TextIterator::advance):
15650         (WebCore::TextIterator::handleTextNode):
15651         (WebCore::TextIterator::handleTextBox):
15652         (WebCore::TextIterator::handleReplacedElement):
15653         (WebCore::TextIterator::handleNonTextNode):
15654         (WebCore::TextIterator::exitNode):
15655         (WebCore::TextIterator::emitCharacter):
15656         (WebCore::TextIterator::range):
15657         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
15658         (WebCore::SimplifiedBackwardsTextIterator::advance):
15659         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
15660         (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement):
15661         (WebCore::SimplifiedBackwardsTextIterator::emitCharacter):
15662         (WebCore::SimplifiedBackwardsTextIterator::emitNewline):
15663         (WebCore::SimplifiedBackwardsTextIterator::range):
15664         (WebCore::CharacterIterator::range):
15665         (WebCore::TextIterator::rangeFromLocationAndLength):
15666         * editing/TextIterator.h:
15667         (WebCore::TextIterator::atEnd):
15668         (WebCore::SimplifiedBackwardsTextIterator::atEnd):
15670 2006-10-31  Darin Adler  <darin@apple.com>
15672         Reviewed by Brady.
15674         - got "action dictionary" code out of FrameLoader,
15675           replacing with a class called NavigationAction
15677         * loader/DocumentLoader.h: Changed m_triggeringAction to a NavigationAction.
15678         * loader/mac/DocumentLoaderMac.mm:
15679         (WebCore::DocumentLoader::triggeringAction): Ditto.
15680         (WebCore::DocumentLoader::setTriggeringAction): Ditto.
15682         * loader/FrameLoader.h: Changed action parameters to NavigationAction.
15684         * loader/FrameLoaderClient.h: Changed action parameters to NavigationAction.
15685         Removed elementForEvent.
15686         * loader/mac/FrameLoaderMac.mm:
15687         (WebCore::FrameLoader::load): Ditto.
15688         (WebCore::FrameLoader::reload): Ditto.
15689         (WebCore::FrameLoader::checkNewWindowPolicy): Ditto.
15690         (WebCore::FrameLoader::checkNavigationPolicy): Ditto.
15691         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Ditto.
15692         (WebCore::FrameLoader::post): Ditto.
15694         * loader/NavigationAction.h: Added.
15695         * loader/NavigationAction.cpp: Added.
15696         * loader/mac/NavigationActionMac.mm: Added.
15698         * loader/mac/MainResourceLoaderMac.mm: Fixed copyright.
15700         * WebCore.xcodeproj/project.pbxproj: Updated for new files.
15701         * WebCore.exp: Updated.
15703 2006-10-31  Steve Falkenburg  <sfalken@apple.com>
15705         Reviewed by Adam.
15707         Build fix
15709         * platform/win/CookieJarWin.cpp:
15710         (WebCore::cookies):
15712 2006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>
15714         Reviewed by Maciej. Landed by Adam.
15716         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11463
15718         Move KCanvasTreeDebug into rendering, named as SVGRenderTreeAsText.*,
15719         as dicussed with Dave. Also kill the outdated DESIGN document.
15721         * CMakeLists.txt:
15722         * WebCore.xcodeproj/project.pbxproj:
15723         * kcanvas/DESIGN: Removed.
15724         * kcanvas/KCanvasFilters.cpp:
15725         * kcanvas/KCanvasTreeDebug.cpp: Moved to rendering/SVGRenderTreeAsText
15726         * kcanvas/KCanvasTreeDebug.h: Ditto.
15727         * kcanvas/device/KRenderingPaintServerGradient.cpp:
15728         * kcanvas/device/KRenderingPaintServerPattern.cpp:
15729         * kcanvas/device/KRenderingPaintServerSolid.cpp:
15730         * platform/graphics/svg/SVGResourceClipper.cpp:
15731         * rendering/RenderTreeAsText.cpp:
15732         * rendering/SVGRenderTreeAsText.cpp: Added.
15733         * rendering/SVGRenderTreeAsText.h: Added.
15734         (WebCore::operator<<):
15736 2006-10-31  Darin Fisher  <darin@chromium.org>
15738         Reviewed by Maciej.
15740         Fixes http://bugs.webkit.org/show_bug.cgi?id=11286
15741         Includes some CRLF -> LF fixups.
15743         * platform/win/CookieJarWin.cpp:
15744         (WebCore::cookies):
15746 2006-10-31  Adam Roben  <aroben@apple.com>
15748         Reviewed by Steve.
15750         Fix some incorrect forward declarations.
15752         * loader/FrameLoader.h:
15753         * page/Frame.h:
15755 2006-10-31  Darin Adler  <darin@apple.com>
15757         * WebCore.xcodeproj/project.pbxproj: Change GraphicsTypes.h to a private header to
15758         try to fix the build on the buildbot.
15760 2006-10-31  Darin Adler  <darin@apple.com>
15762         * bridge/mac/FrameMac.mm:
15763         (WebCore::FrameMac::advanceToNextMisspelling): Build fix for release Tiger builds.
15764         (WebCore::FrameMac::markMisspellings): Ditto.
15766 2006-10-31  John Sullivan  <sullivan@apple.com>
15768         * bridge/mac/FrameMac.mm:
15769         (WebCore::FrameMac::advanceToNextMisspelling):
15770         build fix: needed #ifndef BUILDING_ON_TIGER in one more place
15772 2006-10-30  John Sullivan  <sullivan@apple.com>
15774         Reviewed by Adam Roben
15775         
15776         - fixes <rdar://problem/4804614> Bad grammar ranges are not visibly marked
15777         
15778         This patch introduces much of the guts of grammar checking, though still not enough to actually
15779         check grammar sensibly, due to:
15780           
15781         <rdar://problem/4811175> Many false reports of bad grammar appear, caused by insufficient 
15782         context passed to grammar checker
15784         * platform/Logging.h:
15785         * platform/Logging.cpp:
15786         new log channel SpellingAndGrammar
15788         * bridge/mac/WebCorePageBridge.mm:
15789         (initializeLoggingChannelsIfNecessary):
15790         initialize new log channel
15792         * bridge/mac/FrameMac.mm:
15793         (WebCore::FrameMac::advanceToNextMisspelling):
15794         Compute bad grammar range when computing misspelling range. Find first detailed grammar range from the
15795         set NSSpellChecker determines. Compare it with misspelling range to see which is earliest (or shortest
15796         in the event of a tie), and do further processing with that one (select range; create marker that
15797         causes range to be visibly marked with a funky underline; update spelling panel appropriately).
15798         (WebCore::FrameMac::markMisspellings):
15799         More or less the same types of changes as in advanceToNextMisspelling The loops are structured just 
15800         differently enough to make sharing code between these two functions a little tricky, so I decided to 
15801         save that for a later patch.
15802         
15803         (WebCore::FrameMac::respondToChangedSelection):
15804         remove grammar markers when we remove spelling markers        
15806 2006-10-31  Nikolas Zimmermann <zimmermann@kde.org>
15808         Reviewed by Mitz.
15810         Fix Qt/Linux build with older gcc3.3.4.
15812         * bindings/js/kjs_window.cpp:
15813         (KJS::WindowFunc::callAsFunction):
15815 2006-10-31  Zack Rusin  <zack@kde.org>
15817         Reviewed by Mitz.
15819         Fix the Qt build after last nights changes.
15821         * WebCore/platform/qt/FrameQt.cpp:
15822         * WebCore/platform/qt/EditorClientQt.h:
15823         * WebCore/platform/qt/EditorClientQt.cpp:
15824         * WebCore/platform/graphics/svg/qt/SVGResourceImageQt.cpp:
15825         * WebCore/platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
15826         * WebCore/CMakeLists.txt:
15827         * WebCore/kcanvas/device/qt/KRenderingDeviceQt.cpp:
15828         * WebKitQt/QtLauncher/CMakeLists.txt:
15829         * WebKitQt/WebKitPart/CMakeLists.txt:
15831 2006-10-30  Darin Adler  <darin@apple.com>
15833         Reviewed by Anders.
15835         - remove BrowserExtension
15837         * WebCore.vcproj/WebCore/WebCore.vcproj:
15838         * WebCore.xcodeproj/project.pbxproj:
15839         * bindings/js/kjs_window.cpp:
15840         (KJS::createNewWindow):
15841         (KJS::WindowFunc::callAsFunction):
15842         * bridge/BrowserExtension.h: Removed.
15843         * bridge/mac/BrowserExtensionMac.h: Removed.
15844         * bridge/mac/BrowserExtensionMac.mm: Removed.
15845         * bridge/mac/FrameMac.mm:
15846         (WebCore::FrameMac::FrameMac):
15847         (WebCore::FrameMac::submitForm):
15848         (WebCore::FrameMac::urlSelected):
15849         * bridge/win/BrowserExtensionWin.cpp: Removed.
15850         * bridge/win/BrowserExtensionWin.h: Removed.
15851         * bridge/win/FrameWin.cpp:
15852         (WebCore::FrameWin::FrameWin):
15853         * loader/FrameLoader.cpp:
15854         (WebCore::FrameLoader::createWindow):
15855         * loader/FrameLoader.h:
15856         * loader/icon/IconLoader.cpp:
15857         * loader/mac/FrameLoaderMac.mm:
15858         (WebCore::FrameLoader::safeLoad):
15859         (WebCore::FrameLoader::load):
15860         (WebCore::FrameLoader::createWindow):
15861         * page/Frame.cpp:
15862         (WebCore::Frame::urlSelected):
15863         (WebCore::Frame::requestFrame):
15864         (WebCore::Frame::submitForm):
15865         (WebCore::Frame::scheduleHistoryNavigation):
15866         (WebCore::Frame::redirectionTimerFired):
15867         * page/Frame.h:
15868         * page/FrameLoadRequest.h:
15869         (WebCore::FrameLoadRequest::FrameLoadRequest):
15870         (WebCore::FrameLoadRequest::isEmpty):
15871         (WebCore::FrameLoadRequest::resourceRequest):
15872         (WebCore::FrameLoadRequest::frameName):
15873         (WebCore::FrameLoadRequest::setFrameName):
15874         * page/FramePrivate.h:
15875         (WebCore::FramePrivate::FramePrivate):
15876         (WebCore::FramePrivate::~FramePrivate):
15877         * platform/gdk/BrowserExtensionGdk.h: Removed.
15878         * platform/gdk/FrameGdk.cpp:
15879         (WebCore::FrameGdk::FrameGdk):
15880         * platform/gdk/TemporaryLinkStubs.cpp:
15881         * platform/network/ResourceRequest.h:
15882         (WebCore::ResourceRequest::isEmpty):
15884 2006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>
15886         Reviewed by Oliver.
15888         Modified from original due to earlier reversion
15890         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11436
15892         Better SVG integration in WebKit, Part I.
15894         The patch is mostly about creating a new platform/graphics directory, and
15895         moving the kcanvas resources (clipper/masker/marker) there (in svg budir),
15896         with a new name (KCanvasClipper -> SVGResourceClipper). Also fix several ownership
15897         issues, by using ref counting (the SVG classes now store RefPtrs to the resources).
15899         KCanvasFilters is still left in kcanvas/ subdirectory, to be converted in a next patch.
15900         All details of the patch, and upcoming patches can be found in the bug report.
15902         * CMakeLists.txt:
15903         * WebCore.xcodeproj/project.pbxproj:
15904         * graphics/svg/SVGResource.cpp: Removed.
15905         * graphics/svg/SVGResourceClipper.cpp: Removed.
15906         * graphics/svg/SVGResourceClipper.h: Removed.
15907         * graphics/svg/SVGResourceImage.h: Removed.
15908         * graphics/svg/SVGResourceListener.h: Removed.
15909         * graphics/svg/SVGResourceMarker.cpp: Removed.
15910         * graphics/svg/SVGResourceMarker.h: Removed.
15911         * graphics/svg/SVGResourceMasker.cpp: Removed.
15912         * graphics/svg/SVGResourceMasker.h: Removed.
15913         * kcanvas/KCanvasClipper.cpp: Removed.
15914         * kcanvas/KCanvasClipper.h: Removed.
15915         * kcanvas/KCanvasCreator.cpp: Removed.
15916         * kcanvas/KCanvasCreator.h: Removed.
15917         * kcanvas/KCanvasFilters.cpp:
15918         (WebCore::getFilterById):
15919         * kcanvas/KCanvasFilters.h:
15920         * kcanvas/KCanvasImage.h: Removed.
15921         * kcanvas/KCanvasMarker.cpp: Removed.
15922         * kcanvas/KCanvasMarker.h: Removed.
15923         * kcanvas/KCanvasMasker.cpp: Removed.
15924         * kcanvas/KCanvasMasker.h: Removed.
15925         * kcanvas/KCanvasResource.cpp: Removed.
15926         * kcanvas/KCanvasResource.h: Removed.
15927         * kcanvas/KCanvasResourceListener.h: Removed.
15928         * kcanvas/KCanvasTreeDebug.cpp:
15929         (WebCore::writeRenderResources):
15930         * kcanvas/device/KRenderingDevice.h:
15931         * kcanvas/device/KRenderingPaintServer.h:
15932         (WebCore::KRenderingPaintServer::KRenderingPaintServer):
15933         * kcanvas/device/KRenderingPaintServerGradient.cpp:
15934         (WebCore::KRenderingPaintServerGradient::listener):
15935         (WebCore::KRenderingPaintServerGradient::setListener):
15936         * kcanvas/device/KRenderingPaintServerGradient.h:
15937         * kcanvas/device/KRenderingPaintServerPattern.cpp:
15938         (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
15939         (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
15940         (WebCore::KRenderingPaintServerPattern::tile):
15941         (WebCore::KRenderingPaintServerPattern::setTile):
15942         (WebCore::KRenderingPaintServerPattern::listener):
15943         (WebCore::KRenderingPaintServerPattern::setListener):
15944         * kcanvas/device/KRenderingPaintServerPattern.h:
15945         * kcanvas/device/KRenderingPaintServerSolid.h:
15946         * kcanvas/device/qt/KCanvasClipperQt.cpp: Removed.
15947         * kcanvas/device/qt/KCanvasClipperQt.h:
15948         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
15949         (WebCore::KRenderingDeviceQt::contextForImage):
15950         (WebCore::KRenderingDeviceQt::createResource):
15951         (WebCore::KRenderingDeviceQt::createPaintServer):
15952         * kcanvas/device/qt/KRenderingDeviceQt.h:
15953         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
15954         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
15955         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
15956         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
15957         * kcanvas/device/qt/RenderPathQt.h: Removed.
15958         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
15959         (WebCore::KCanvasFilterQuartz::getCIFilterStack):
15960         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
15961         * kcanvas/device/quartz/KCanvasMaskerQuartz.h: Removed.
15962         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: Removed.
15963         * kcanvas/device/quartz/KCanvasResourcesQuartz.h: Removed.
15964         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: Removed.
15965         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
15966         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
15967         (WebCore::KRenderingDeviceQuartz::contextForImage):
15968         (WebCore::KRenderingDeviceQuartz::createPaintServer):
15969         (WebCore::KRenderingDeviceQuartz::createResource):
15970         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
15971         (WebCore::KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
15972         (WebCore::KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz):
15973         (WebCore::KRenderingPaintServerGradientQuartz::setup):
15974         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
15975         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
15976         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
15977         (WebCore::patternCallback):
15978         (WebCore::KRenderingPaintServerPatternQuartz::setup):
15979         * kcanvas/device/quartz/QuartzSupport.mm:
15980         * ksvg2/misc/KCanvasRenderingStyle.cpp:
15981         (WebCore::sharedSolidPaintServer):
15982         * ksvg2/svg/SVGClipPathElement.cpp:
15983         (WebCore::SVGClipPathElement::SVGClipPathElement):
15984         (WebCore::SVGClipPathElement::~SVGClipPathElement):
15985         (WebCore::SVGClipPathElement::canvasResource):
15986         * ksvg2/svg/SVGClipPathElement.h:
15987         * ksvg2/svg/SVGFEImageElement.cpp:
15988         * ksvg2/svg/SVGFilterElement.cpp:
15989         (WebCore::SVGFilterElement::SVGFilterElement):
15990         (WebCore::SVGFilterElement::~SVGFilterElement):
15991         (WebCore::SVGFilterElement::canvasResource):
15992         * ksvg2/svg/SVGFilterElement.h:
15993         * ksvg2/svg/SVGGradientElement.cpp:
15994         (WebCore::SVGGradientElement::SVGGradientElement):
15995         (WebCore::SVGGradientElement::~SVGGradientElement):
15996         (WebCore::SVGGradientElement::canvasResource):
15997         (WebCore::SVGGradientElement::resourceNotification):
15998         * ksvg2/svg/SVGGradientElement.h:
15999         * ksvg2/svg/SVGImageElement.cpp:
16000         * ksvg2/svg/SVGLinearGradientElement.cpp:
16001         (WebCore::SVGLinearGradientElement::buildGradient):
16002         * ksvg2/svg/SVGLinearGradientElement.h:
16003         * ksvg2/svg/SVGMarkerElement.cpp:
16004         (WebCore::SVGMarkerElement::SVGMarkerElement):
16005         (WebCore::SVGMarkerElement::~SVGMarkerElement):
16006         (WebCore::SVGMarkerElement::canvasResource):
16007         * ksvg2/svg/SVGMarkerElement.h:
16008         * ksvg2/svg/SVGMaskElement.cpp:
16009         (WebCore::SVGMaskElement::SVGMaskElement):
16010         (WebCore::SVGMaskElement::~SVGMaskElement):
16011         (WebCore::SVGMaskElement::drawMaskerContent):
16012         (WebCore::SVGMaskElement::canvasResource):
16013         * ksvg2/svg/SVGMaskElement.h:
16014         * ksvg2/svg/SVGPatternElement.cpp:
16015         (WebCore::SVGPatternElement::SVGPatternElement):
16016         (WebCore::SVGPatternElement::~SVGPatternElement):
16017         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
16018         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
16019         (WebCore::SVGPatternElement::canvasResource):
16020         * ksvg2/svg/SVGPatternElement.h:
16021         * ksvg2/svg/SVGRadialGradientElement.cpp:
16022         (WebCore::SVGRadialGradientElement::buildGradient):
16023         * ksvg2/svg/SVGRadialGradientElement.h:
16024         * ksvg2/svg/SVGStyledElement.h:
16025         (WebCore::SVGStyledElement::canvasResource):
16026         * platform/GraphicsContext.cpp: Removed.
16027         * platform/GraphicsContext.h: Removed.
16028         * platform/GraphicsTypes.cpp: Removed.
16029         * platform/GraphicsTypes.h: Removed.
16030         * platform/graphics/GraphicsContext.cpp:
16031         (WebCore::GraphicsContextState::GraphicsContextState):
16032         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
16033         (WebCore::GraphicsContext::createGraphicsContextPrivate):
16034         (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
16035         (WebCore::GraphicsContext::save):
16036         (WebCore::GraphicsContext::restore):
16037         (WebCore::GraphicsContext::font):
16038         (WebCore::GraphicsContext::setFont):
16039         (WebCore::GraphicsContext::pen):
16040         (WebCore::GraphicsContext::setPen):
16041         (WebCore::GraphicsContext::setFillColor):
16042         (WebCore::GraphicsContext::fillColor):
16043         (WebCore::GraphicsContext::updatingControlTints):
16044         (WebCore::GraphicsContext::setUpdatingControlTints):
16045         (WebCore::GraphicsContext::setPaintingDisabled):
16046         (WebCore::GraphicsContext::paintingDisabled):
16047         (WebCore::GraphicsContext::drawImage):
16048         (WebCore::GraphicsContext::drawText):
16049         (WebCore::GraphicsContext::drawHighlightForText):
16050         (WebCore::GraphicsContext::initFocusRing):
16051         (WebCore::GraphicsContext::clearFocusRing):
16052         (WebCore::GraphicsContext::focusRingBoundingRect):
16053         (WebCore::GraphicsContext::addFocusRingRect):
16054         (WebCore::GraphicsContext::focusRingWidth):
16055         (WebCore::GraphicsContext::focusRingOffset):
16056         (WebCore::GraphicsContext::focusRingRects):
16057         (WebCore::GraphicsContext::drawTiledImage):
16058         * platform/graphics/GraphicsContext.h:
16059         * platform/graphics/GraphicsTypes.cpp:
16060         (WebCore::):
16061         (WebCore::parseCompositeOperator):
16062         (WebCore::compositeOperatorName):
16063         (WebCore::parseLineCap):
16064         (WebCore::lineCapName):
16065         (WebCore::parseLineJoin):
16066         (WebCore::lineJoinName):
16067         * platform/graphics/GraphicsTypes.h:
16068         (WebCore::):
16069         * platform/graphics/svg/SVGResource.cpp: Added.
16070         (WebCore::SVGResource::SVGResource):
16071         (WebCore::SVGResource::~SVGResource):
16072         (WebCore::SVGResource::invalidate):
16073         (WebCore::SVGResource::addClient):
16074         (WebCore::SVGResource::clients):
16075         (WebCore::SVGResource::idInRegistry):
16076         (WebCore::SVGResource::setIdInRegistry):
16077         (WebCore::SVGResource::externalRepresentation):
16078         (WebCore::getResourceById):
16079         (WebCore::getPaintServerById):
16080         (WebCore::operator<<):
16081         * platform/graphics/svg/SVGResource.h: Added.
16082         (WebCore::):
16083         (WebCore::SVGResource::isPaintServer):
16084         (WebCore::SVGResource::isFilter):
16085         (WebCore::SVGResource::isClipper):
16086         (WebCore::SVGResource::isMarker):
16087         (WebCore::SVGResource::isMasker):
16088         (WebCore::SVGResourceListener::~SVGResourceListener):
16089         * platform/graphics/svg/SVGResourceClipper.cpp: Added.
16090         (WebCore::SVGResourceClipper::SVGResourceClipper):
16091         (WebCore::SVGResourceClipper::~SVGResourceClipper):
16092         (WebCore::SVGResourceClipper::resetClipData):
16093         (WebCore::SVGResourceClipper::addClipData):
16094         (WebCore::SVGResourceClipper::clipData):
16095         (WebCore::SVGResourceClipper::externalRepresentation):
16096         (WebCore::operator<<):
16097         (WebCore::getClipperById):
16098         * platform/graphics/svg/SVGResourceClipper.h: Added.
16099         (WebCore::ClipDataList::addPath):
16100         (WebCore::SVGResourceClipper::isClipper):
16101         * platform/graphics/svg/SVGResourceImage.h: Added.
16102         * platform/graphics/svg/SVGResourceMarker.cpp: Added.
16103         (WebCore::SVGResourceMarker::SVGResourceMarker):
16104         (WebCore::SVGResourceMarker::~SVGResourceMarker):
16105         (WebCore::SVGResourceMarker::setMarker):
16106         (WebCore::SVGResourceMarker::setRef):
16107         (WebCore::SVGResourceMarker::draw):
16108         (WebCore::SVGResourceMarker::externalRepresentation):
16109         (WebCore::getMarkerById):
16110         * platform/graphics/svg/SVGResourceMarker.h: Added.
16111         (WebCore::SVGResourceMarker::refX):
16112         (WebCore::SVGResourceMarker::refY):
16113         (WebCore::SVGResourceMarker::setAngle):
16114         (WebCore::SVGResourceMarker::setAutoAngle):
16115         (WebCore::SVGResourceMarker::angle):
16116         (WebCore::SVGResourceMarker::setUseStrokeWidth):
16117         (WebCore::SVGResourceMarker::useStrokeWidth):
16118         (WebCore::SVGResourceMarker::isMarker):
16119         * platform/graphics/svg/SVGResourceMasker.cpp: Added.
16120         (WebCore::SVGResourceMasker::SVGResourceMasker):
16121         (WebCore::SVGResourceMasker::~SVGResourceMasker):
16122         (WebCore::SVGResourceMasker::setMask):
16123         (WebCore::SVGResourceMasker::mask):
16124         (WebCore::SVGResourceMasker::externalRepresentation):
16125         (WebCore::getMaskerById):
16126         * platform/graphics/svg/SVGResourceMasker.h: Added.
16127         (WebCore::SVGResourceMasker::isMasker):
16128         * platform/graphics/svg/cg/SVGResourceClipperCg.mm: Added.
16129         (WebCore::SVGResourceClipper::applyClip):
16130         * platform/graphics/svg/cg/SVGResourceImageCg.mm: Added.
16131         (WebCore::SVGResourceImage::SVGResourceImage):
16132         (WebCore::SVGResourceImage::~SVGResourceImage):
16133         (WebCore::SVGResourceImage::init):
16134         (WebCore::SVGResourceImage::size):
16135         (WebCore::SVGResourceImage::cgLayer):
16136         (WebCore::SVGResourceImage::setCGLayer):
16137         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Added.
16138         (WebCore::applyLuminanceToAlphaFilter):
16139         (WebCore::applyExpandAlphatoGrayscaleFilter):
16140         (WebCore::transformImageIntoGrayscaleMask):
16141         (WebCore::SVGResourceMasker::applyMask):
16142         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Added.
16143         (WebCore::SVGResourceClipper::applyClip):
16144         * platform/graphics/svg/qt/SVGResourceImageQt.cpp: Added.
16145         (WebCore::SVGResourceImage::init):
16146         (WebCore::SVGResourceImage::size):
16147         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Added.
16148         (WebCore::SVGResourceMasker::applyMask):
16149         * platform/qt/GraphicsContextQt.cpp:
16150         * rendering/RenderPath.cpp:
16151         (WebCore::RenderPath::paint):
16152         (WebCore::DrawMarkersData::DrawMarkersData):
16153         (WebCore::RenderPath::drawMarkersIfNeeded):
16154         * rendering/RenderSVGContainer.cpp:
16155         (WebCore::RenderSVGContainer::paint):
16156         * rendering/RenderSVGImage.cpp:
16157         (WebCore::RenderSVGImage::paint):
16158         * rendering/SVGInlineFlowBox.cpp:
16159         (WebCore::paintSVGInlineFlow):
16161 2006-10-30  John Sullivan  <sullivan@apple.com>
16163         Reviewed by Brady
16164         
16165         - minor cleanup to make future patches clearer
16167         * bridge/mac/FrameMac.mm:
16168         (WebCore::FrameMac::advanceToNextMisspelling):
16169         renamed misspelling to misspellingNSRange for clarity; changed > 0 test to == 0 test
16170         with "continue" to better match structure of similar code in markMisspellings; a few
16171         other style tweaks.
16172         
16173         (WebCore::FrameMac::markMisspellings):
16174         renamed misspelling to misspellingNSRange for clarity; removed unnecessary braces around
16175         a block just after a break and outdented accordingly.
16177 2006-10-30  John Sullivan  <sullivan@apple.com>
16179         Reviewed by Geoff Garen
16180         
16181         WebCore part of change to push the code that updates the spelling panel
16182         into WebCore, in preparation for some grammar-checking stuff.
16184         * bridge/mac/FrameMac.h:
16185         * bridge/mac/FrameMac.mm:
16186         (WebCore::FrameMac::advanceToNextMisspelling):
16187         no more return value for this method, and update the spelling panel with
16188         the misspelled word here rather than in the WebKit callers.
16190 2006-10-30  Oliver Hunt  <oliver@apple.com>
16192         Reviewed by Anders.
16194         Roll out last patch
16196         * CMakeLists.txt:
16197         * ChangeLog:
16198         * WebCore.xcodeproj/project.pbxproj:
16199         * graphics/svg/SVGResource.cpp:
16200         * graphics/svg/SVGResourceClipper.cpp:
16201         * graphics/svg/SVGResourceClipper.h:
16202         * graphics/svg/SVGResourceImage.h:
16203         * graphics/svg/SVGResourceListener.h:
16204         * graphics/svg/SVGResourceMarker.cpp:
16205         * graphics/svg/SVGResourceMarker.h:
16206         * graphics/svg/SVGResourceMasker.cpp:
16207         * graphics/svg/SVGResourceMasker.h:
16208         * kcanvas/KCanvasClipper.cpp: Added.
16209         (WebCore::operator<<):
16210         (WebCore::KCanvasClipper::KCanvasClipper):
16211         (WebCore::KCanvasClipper::~KCanvasClipper):
16212         (WebCore::KCanvasClipper::resetClipData):
16213         (WebCore::KCanvasClipper::addClipData):
16214         (WebCore::KCanvasClipper::clipData):
16215         (WebCore::KCanvasClipper::externalRepresentation):
16216         (WebCore::getClipperById):
16217         * kcanvas/KCanvasClipper.h: Added.
16218         (WebCore::KCClipData::windRule):
16219         (WebCore::KCClipDataList::KCClipDataList):
16220         (WebCore::KCClipDataList::addPath):
16221         (WebCore::KCanvasClipper::isClipper):
16222         * kcanvas/KCanvasFilters.cpp:
16223         (WebCore::getFilterById):
16224         * kcanvas/KCanvasFilters.h:
16225         * kcanvas/KCanvasImage.h: Added.
16226         (WebCore::KCanvasImage::KCanvasImage):
16227         (WebCore::KCanvasImage::~KCanvasImage):
16228         * kcanvas/KCanvasMarker.cpp: Added.
16229         (WebCore::KCanvasMarker::KCanvasMarker):
16230         (WebCore::KCanvasMarker::~KCanvasMarker):
16231         (WebCore::KCanvasMarker::setMarker):
16232         (WebCore::KCanvasMarker::setRef):
16233         (WebCore::KCanvasMarker::refX):
16234         (WebCore::KCanvasMarker::refY):
16235         (WebCore::KCanvasMarker::setAngle):
16236         (WebCore::KCanvasMarker::angle):
16237         (WebCore::KCanvasMarker::setAutoAngle):
16238         (WebCore::KCanvasMarker::setUseStrokeWidth):
16239         (WebCore::KCanvasMarker::useStrokeWidth):
16240         (WebCore::KCanvasMarker::draw):
16241         (WebCore::KCanvasMarker::externalRepresentation):
16242         (WebCore::getMarkerById):
16243         * kcanvas/KCanvasMarker.h: Added.
16244         (WebCore::KCanvasMarker::isMarker):
16245         * kcanvas/KCanvasMasker.cpp: Added.
16246         (WebCore::KCanvasMasker::KCanvasMasker):
16247         (WebCore::KCanvasMasker::~KCanvasMasker):
16248         (WebCore::KCanvasMasker::setMask):
16249         (WebCore::KCanvasMasker::externalRepresentation):
16250         (WebCore::getMaskerById):
16251         * kcanvas/KCanvasMasker.h: Added.
16252         (WebCore::KCanvasMasker::isMasker):
16253         (WebCore::KCanvasMasker::mask):
16254         * kcanvas/KCanvasResource.cpp: Added.
16255         (WebCore::operator<<):
16256         (WebCore::KCanvasResource::KCanvasResource):
16257         (WebCore::KCanvasResource::~KCanvasResource):
16258         (WebCore::KCanvasResource::addClient):
16259         (WebCore::KCanvasResource::clients):
16260         (WebCore::KCanvasResource::invalidate):
16261         (WebCore::KCanvasResource::idInRegistry):
16262         (WebCore::KCanvasResource::setIdInRegistry):
16263         (WebCore::KCanvasResource::externalRepresentation):
16264         (WebCore::getResourceById):
16265         (WebCore::getPaintServerById):
16266         * kcanvas/KCanvasResource.h:
16267         (WebCore::):
16268         (WebCore::KCanvasResource::isPaintServer):
16269         (WebCore::KCanvasResource::isFilter):
16270         (WebCore::KCanvasResource::isClipper):
16271         (WebCore::KCanvasResource::isMarker):
16272         (WebCore::KCanvasResource::isMasker):
16273         * kcanvas/KCanvasResourceListener.h: Added.
16274         (KCanvasResourceListener::KCanvasResourceListener):
16275         (KCanvasResourceListener::~KCanvasResourceListener):
16276         * kcanvas/KCanvasTreeDebug.cpp:
16277         (WebCore::writeRenderResources):
16278         * kcanvas/device/KRenderingDevice.h:
16279         * kcanvas/device/KRenderingPaintServer.h:
16280         (WebCore::KRenderingPaintServer::KRenderingPaintServer):
16281         (WebCore::KRenderingPaintServer::idInRegistry):
16282         (WebCore::KRenderingPaintServer::setIdInRegistry):
16283         * kcanvas/device/KRenderingPaintServerGradient.cpp:
16284         (WebCore::KRenderingPaintServerGradient::listener):
16285         (WebCore::KRenderingPaintServerGradient::setListener):
16286         * kcanvas/device/KRenderingPaintServerGradient.h:
16287         * kcanvas/device/KRenderingPaintServerPattern.cpp:
16288         (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
16289         (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
16290         (WebCore::KRenderingPaintServerPattern::tile):
16291         (WebCore::KRenderingPaintServerPattern::setTile):
16292         (WebCore::KRenderingPaintServerPattern::listener):
16293         (WebCore::KRenderingPaintServerPattern::setListener):
16294         * kcanvas/device/KRenderingPaintServerPattern.h:
16295         * kcanvas/device/KRenderingPaintServerSolid.h:
16296         * kcanvas/device/qt/KCanvasClipperQt.cpp:
16297         (WebCore::KCanvasClipperQt::applyClip):
16298         * kcanvas/device/qt/KCanvasClipperQt.h:
16299         (WebCore::KCanvasClipperQt::KCanvasClipperQt):
16300         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
16301         (WebCore::KRenderingDeviceQt::contextForImage):
16302         (WebCore::KRenderingDeviceQt::createResource):
16303         (WebCore::KRenderingDeviceQt::createPaintServer):
16304         * kcanvas/device/qt/KRenderingDeviceQt.h:
16305         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
16306         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
16307         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
16308         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
16309         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
16310         (WebCore::KCanvasFilterQuartz::getCIFilterStack):
16311         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
16312         * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
16313         (WebCore::KCanvasMaskerQuartz::KCanvasMaskerQuartz):
16314         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
16315         (WebCore::applyLuminanceToAlphaFilter):
16316         (WebCore::applyExpandAlphatoGrayscaleFilter):
16317         (WebCore::transformImageIntoGrayscaleMask):
16318         (WebCore::KCanvasMaskerQuartz::applyMask):
16319         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
16320         (WebCore::KCanvasClipperQuartz::KCanvasClipperQuartz):
16321         (WebCore::KCanvasImageQuartz::KCanvasImageQuartz):
16322         (WebCore::KCanvasImageQuartz::init):
16323         (WebCore::KCanvasImageQuartz::size):
16324         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
16325         (WebCore::KCanvasClipperQuartz::applyClip):
16326         (WebCore::KCanvasImageQuartz::~KCanvasImageQuartz):
16327         (WebCore::KCanvasImageQuartz::cgLayer):
16328         (WebCore::KCanvasImageQuartz::setCGLayer):
16329         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
16330         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
16331         (WebCore::KRenderingDeviceQuartz::contextForImage):
16332         (WebCore::KRenderingDeviceQuartz::createPaintServer):
16333         (WebCore::KRenderingDeviceQuartz::createResource):
16334         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
16335         (WebCore::KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
16336         (WebCore::KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz):
16337         (WebCore::KRenderingPaintServerGradientQuartz::setup):
16338         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
16339         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
16340         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
16341         (WebCore::patternCallback):
16342         (WebCore::KRenderingPaintServerPatternQuartz::setup):
16343         * kcanvas/device/quartz/QuartzSupport.mm:
16344         * ksvg2/misc/KCanvasRenderingStyle.cpp:
16345         (WebCore::sharedSolidPaintServer):
16346         * ksvg2/svg/SVGClipPathElement.cpp:
16347         (WebCore::SVGClipPathElement::SVGClipPathElement):
16348         (WebCore::SVGClipPathElement::~SVGClipPathElement):
16349         (WebCore::SVGClipPathElement::canvasResource):
16350         * ksvg2/svg/SVGClipPathElement.h:
16351         * ksvg2/svg/SVGFEImageElement.cpp:
16352         * ksvg2/svg/SVGFilterElement.cpp:
16353         (WebCore::SVGFilterElement::SVGFilterElement):
16354         (WebCore::SVGFilterElement::~SVGFilterElement):
16355         (WebCore::SVGFilterElement::canvasResource):
16356         * ksvg2/svg/SVGFilterElement.h:
16357         * ksvg2/svg/SVGGradientElement.cpp:
16358         (WebCore::SVGGradientElement::SVGGradientElement):
16359         (WebCore::SVGGradientElement::~SVGGradientElement):
16360         (WebCore::SVGGradientElement::canvasResource):
16361         (WebCore::SVGGradientElement::resourceNotification):
16362         * ksvg2/svg/SVGGradientElement.h:
16363         * ksvg2/svg/SVGImageElement.cpp:
16364         * ksvg2/svg/SVGLinearGradientElement.cpp:
16365         (WebCore::SVGLinearGradientElement::buildGradient):
16366         * ksvg2/svg/SVGLinearGradientElement.h:
16367         * ksvg2/svg/SVGMarkerElement.cpp:
16368         (WebCore::SVGMarkerElement::SVGMarkerElement):
16369         (WebCore::SVGMarkerElement::~SVGMarkerElement):
16370         (WebCore::SVGMarkerElement::canvasResource):
16371         * ksvg2/svg/SVGMarkerElement.h:
16372         * ksvg2/svg/SVGMaskElement.cpp:
16373         (WebCore::SVGMaskElement::SVGMaskElement):
16374         (WebCore::SVGMaskElement::~SVGMaskElement):
16375         (WebCore::SVGMaskElement::drawMaskerContent):
16376         (WebCore::SVGMaskElement::canvasResource):
16377         * ksvg2/svg/SVGMaskElement.h:
16378         * ksvg2/svg/SVGPatternElement.cpp:
16379         (WebCore::SVGPatternElement::SVGPatternElement):
16380         (WebCore::SVGPatternElement::~SVGPatternElement):
16381         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
16382         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
16383         (WebCore::SVGPatternElement::canvasResource):
16384         * ksvg2/svg/SVGPatternElement.h:
16385         * ksvg2/svg/SVGRadialGradientElement.cpp:
16386         (WebCore::SVGRadialGradientElement::buildGradient):
16387         * ksvg2/svg/SVGRadialGradientElement.h:
16388         * ksvg2/svg/SVGStyledElement.h:
16389         (WebCore::SVGStyledElement::canvasResource):
16390         * platform/GraphicsContext.cpp: Added.
16391         (WebCore::GraphicsContextState::GraphicsContextState):
16392         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
16393         (WebCore::GraphicsContext::createGraphicsContextPrivate):
16394         (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
16395         (WebCore::GraphicsContext::save):
16396         (WebCore::GraphicsContext::restore):
16397         (WebCore::GraphicsContext::font):
16398         (WebCore::GraphicsContext::setFont):
16399         (WebCore::GraphicsContext::pen):
16400         (WebCore::GraphicsContext::setPen):
16401         (WebCore::GraphicsContext::setFillColor):
16402         (WebCore::GraphicsContext::fillColor):
16403         (WebCore::GraphicsContext::updatingControlTints):
16404         (WebCore::GraphicsContext::setUpdatingControlTints):
16405         (WebCore::GraphicsContext::setPaintingDisabled):
16406         (WebCore::GraphicsContext::paintingDisabled):
16407         (WebCore::GraphicsContext::drawImage):
16408         (WebCore::GraphicsContext::drawText):
16409         (WebCore::GraphicsContext::drawHighlightForText):
16410         (WebCore::GraphicsContext::initFocusRing):
16411         (WebCore::GraphicsContext::clearFocusRing):
16412         (WebCore::GraphicsContext::focusRingBoundingRect):
16413         (WebCore::GraphicsContext::addFocusRingRect):
16414         (WebCore::GraphicsContext::focusRingWidth):
16415         (WebCore::GraphicsContext::focusRingOffset):
16416         (WebCore::GraphicsContext::focusRingRects):
16417         (WebCore::GraphicsContext::drawTiledImage):
16418         * platform/GraphicsContext.h: Added.
16419         * platform/GraphicsTypes.cpp: Added.
16420         (WebCore::):
16421         (WebCore::parseCompositeOperator):
16422         (WebCore::compositeOperatorName):
16423         (WebCore::parseLineCap):
16424         (WebCore::lineCapName):
16425         (WebCore::parseLineJoin):
16426         (WebCore::lineJoinName):
16427         * platform/GraphicsTypes.h: Added.
16428         (WebCore::):
16429         * platform/graphics/GraphicsContext.cpp:
16430         * platform/graphics/GraphicsContext.h:
16431         * platform/graphics/GraphicsTypes.cpp:
16432         * platform/graphics/GraphicsTypes.h:
16433         * platform/qt/GraphicsContextQt.cpp:
16434         * rendering/RenderPath.cpp:
16435         (WebCore::RenderPath::paint):
16436         (WebCore::DrawMarkersData::DrawMarkersData):
16437         (WebCore::RenderPath::drawMarkersIfNeeded):
16438         * rendering/RenderSVGContainer.cpp:
16439         (WebCore::RenderSVGContainer::paint):
16440         * rendering/RenderSVGImage.cpp:
16441         (WebCore::RenderSVGImage::paint):
16442         * rendering/SVGInlineFlowBox.cpp:
16443         (WebCore::paintSVGInlineFlow):
16445 2006-10-30  John Sullivan  <sullivan@apple.com>
16447         Reviewed by Geoff Garen.
16448         
16449         Moved spelling-related methods from bridge to EditorClient. Added one not-yet-used
16450         grammar-related method.
16452         * bridge/EditorClient.h:
16453         declare isContinuousSpellCheckingEnabled(), spellCheckerDocumentTag(), and new
16454         isGrammarCheckingEnabled()
16455         
16456         * bridge/mac/WebCoreFrameBridge.h:
16457         removed bridge equivalents
16459         * bridge/mac/FrameMac.mm:
16460         (WebCore::FrameMac::advanceToNextMisspelling):
16461         convert bridge-using code to editor()->client()-using code
16462         (WebCore::FrameMac::markMisspellingsInAdjacentWords):
16463         ditto
16464         (WebCore::FrameMac::markMisspellings):
16465         ditto
16466         (WebCore::FrameMac::respondToChangedSelection):
16467         ditto
16468         
16469         * editing/Editor.h:
16470         * editing/Editor.cpp:
16471         (WebCore::Editor::client):
16472         new method, returns EditorClient pointer. In an ideal world all the code that needed to
16473         access the EditorClient would be in Editor.cpp, and we wouldn't need this accessor.
16474         But for now it's too tricky to extricate the spelling-related code from FrameMac.mm.
16476 2006-10-30  Geoffrey Garen  <ggaren@apple.com>
16478         Reviewed by Darin.
16480         Removed a number of editing and selection methods from the bridge.
16481         
16482         I moved cross-platform editing and selection code into Editor and 
16483         SelectionController, respecitvely.
16485         I moved ObjC and AppKit stuff up into WebKit, so I ended up exporting
16486         everything + the kitchen sink.
16487         
16488         Specific comments below for interesting things.
16489         
16490         * bindings/objc/DOMInternal.h: Moved exception handling helper methods into
16491         a new file so that WebKit can use them, too. Added a helper method for
16492         handling exceptions when selecting a Range.
16493         * bridge/mac/FrameMac.h: Moved attributedString creation and helper functions into 
16494         WebKit, since they have to do with creating an NSAttributedString for API
16495         consumption, and not much to do with general Frame functionality.
16496         * editing/Editor.h: Moved lastEditCommand tracking (at least the data,
16497         for now) into the Editor. Eventually, the Frame will not have to notify 
16498         the Editor of what the lastEditCommand was, since the Editor will perform
16499         all EditCommands.
16500         * editing/SelectionController.h: The code here is just stuff moved from the bridge.
16501         * editing/SelectionController.cpp:
16502         (WebCore::SelectionController::setSelectedRange): We now explicitly check from DOM exceptions
16503         and return them. The bridge method to select a DOM range did this implicitly,
16504         since all ObjC DOM operations handle DOM exceptions by throwing them as
16505         ObjC exceptions.
16506         * editing/TextAffinity.h: Added helper functions for conversion to NSSelectionAffinity.
16507         The two enumerations are numerically identical, but that's an implementation
16508         detail of TextAffinity that clients shouldn't be required to know about.
16510 2006-10-30  Timothy Hatcher  <timothy@apple.com>
16512         Rolling out the following change because this crash:
16513         <rdar://problem/4806705> REGRESSION: Crash occurs at WebCore::Font::lineSpacing() when loading site (http://www.photoplusexpo.com/ppe/index.jsp) 
16515         And this regression:
16516         <rdar://problem/4728514> REGRESSION: Safari applies the wrong font to BODY element at http://www.apple.com/downloads/dashboard/
16518     2006-09-06  David Harrison  <harrison@apple.com>
16520         Reviewed and tweaked by Tim H. 
16522         <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation 
16524         If we don't find the font in the available fonts list, call [NSFont fontWithName:size:] 
16525         to trigger a search that will include auto activation. No PLT or iBench perf impact. 
16526         No layout tests affected. Not testable in an automated way that will work on all systems. 
16528         * platform/mac/WebFontCache.mm: 
16529         (+[WebFontCache fontWithFamily:traits:size:]): 
16531 2006-10-30  Justin Garcia  <justin.garcia@apple.com>
16533         Reviewed by harrison
16535         <rdar://problem/4808375>
16536         REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) (11460)
16538         * editing/TextIterator.cpp:
16539         (WebCore::TextIterator::exitNode): Only create VisiblePositions
16540         when we're going to use them to create a range for an emitted character.
16541         We should further speed TextIterators up by avoiding creating VisiblePositions
16542         for TIs that are only used for the characters they emit (like the one that 
16543         plainText uses).
16545 2006-10-30  Sam Weinig  <sam.weinig@gmail.com>
16547         Reviewed by Mitz.
16549         Fix for http://bugs.webkit.org/show_bug.cgi?id=11441
16550         More rendering code cleaning
16552         * WebCore.xcodeproj/project.pbxproj:
16553         * rendering/RenderApplet.cpp:
16554         (WebCore::RenderApplet::RenderApplet):
16555         (WebCore::RenderApplet::createWidgetIfNecessary):
16556         * rendering/RenderApplet.h:
16557         * rendering/RenderArena.cpp:
16558         (WebCore::):
16559         (WebCore::RenderArena::RenderArena):
16560         (WebCore::RenderArena::allocate):
16561         (WebCore::RenderArena::free):
16562         * rendering/RenderArena.h:
16563         * rendering/RenderBR.cpp:
16564         (WebCore::RenderBR::RenderBR):
16565         (WebCore::RenderBR::baselinePosition):
16566         (WebCore::RenderBR::lineHeight):
16567         (WebCore::RenderBR::setStyle):
16568         (WebCore::RenderBR::caretMinOffset):
16569         (WebCore::RenderBR::positionForCoordinates):
16570         (WebCore::RenderBR::inlineBox):
16571         * rendering/RenderBR.h:
16572         * rendering/RenderBlock.cpp:
16573         * rendering/RenderBlock.h:
16574         (WebCore::RenderBlock::maxTopMargin):
16575         (WebCore::RenderBlock::maxBottomMargin):
16576         (WebCore::RenderBlock::initMaxMarginValues):
16577         (WebCore::RenderBlock::containsFloats):
16578         (WebCore::RenderBlock::setHasMarkupTruncation):
16579         (WebCore::RenderBlock::BlockSelectionInfo::BlockSelectionInfo):
16580         (WebCore::RenderBlock::BlockSelectionInfo::block):
16581         (WebCore::RenderBlock::BlockSelectionInfo::state):
16582         (WebCore::RenderBlock::FloatingObject::FloatingObject):
16583         (WebCore::RenderBlock::CompactInfo::clear):
16584         * rendering/RenderButton.cpp:
16585         (WebCore::RenderButton::removeChild):
16586         (WebCore::RenderButton::paintObject):
16587         * rendering/RenderButton.h:
16588         (WebCore::RenderButton::renderName):
16589         (WebCore::RenderButton::removeLeftoverAnonymousBoxes):
16590         * rendering/RenderContainer.cpp:
16591         (WebCore::RenderContainer::RenderContainer):
16592         * rendering/RenderContainer.h:
16593         (WebCore::RenderContainer::firstChild):
16594         (WebCore::RenderContainer::lastChild):
16595         (WebCore::RenderContainer::calcMinMaxWidth):
16596         * rendering/RenderCounter.cpp:
16597         (WebCore::RenderCounter::RenderCounter):
16598         (WebCore::toRoman):
16599         (WebCore::toHebrew):
16600         (WebCore::RenderCounter::calcMinMaxWidth):
16601         * rendering/RenderCounter.h:
16602         * rendering/RenderFieldset.cpp:
16603         (WebCore::RenderFieldset::paintBoxDecorations):
16604         (WebCore::RenderFieldset::paintBorderMinusLegend):
16605         (WebCore::RenderFieldset::setStyle):
16606         * rendering/RenderFileUploadControl.cpp:
16607         (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
16608         (WebCore::RenderFileUploadControl::setStyle):
16609         (WebCore::RenderFileUploadControl::paintObject):
16610         (WebCore::RenderFileUploadControl::calcMinMaxWidth):
16611         * rendering/RenderFileUploadControl.h:
16612         (WebCore::RenderFileUploadControl::renderName):
16613         * rendering/RenderFlexibleBox.h:
16614         * rendering/RenderFlow.cpp:
16615         * rendering/RenderFlow.h:
16616         * rendering/RenderForeignObject.cpp:
16617         (WebCore::RenderForeignObject::RenderForeignObject):
16618         (WebCore::RenderForeignObject::paint):
16619         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect):
16620         (WebCore::RenderForeignObject::layout):
16621         (WebCore::RenderForeignObject::nodeAtPoint):
16622         * rendering/RenderForeignObject.h:
16623         (WebCore::RenderForeignObject::renderName):
16624         * rendering/RenderFormElement.cpp:
16625         (WebCore::RenderFormElement::setStyle):
16626         (WebCore::RenderFormElement::layout):
16627         (WebCore::RenderFormElement::textAlignment):
16628         * rendering/RenderFormElement.h:
16629         * rendering/RenderFrame.cpp:
16630         * rendering/RenderFrame.h:
16631         (WebCore::RenderFrame::element):
16632         * rendering/RenderFrameSet.cpp:
16633         * rendering/RenderFrameSet.h:
16634         (WebCore::RenderFrameSet::element):
16635         * rendering/RenderHTMLCanvas.cpp:
16636         (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
16637         (WebCore::RenderHTMLCanvas::paint):
16638         * rendering/RenderHTMLCanvas.h:
16639         (WebCore::RenderHTMLCanvas::renderName):
16640         * rendering/RenderImage.cpp:
16641         (WebCore::RenderImage::RenderImage):
16642         (WebCore::RenderImage::setStyle):
16643         (WebCore::RenderImage::setContentObject):
16644         (WebCore::RenderImage::setCachedImage):
16645         (WebCore::RenderImage::imageChanged):
16646         (WebCore::RenderImage::paint):
16647         (WebCore::RenderImage::layout):
16648         (WebCore::RenderImage::updateAltText):
16649         * rendering/RenderImage.h:
16650         (WebCore::RenderImage::element):
16651         * rendering/RenderInline.cpp:
16652         (WebCore::RenderInline::RenderInline):
16653         (WebCore::RenderInline::~RenderInline):
16654         (WebCore::RenderInline::setStyle):
16655         (WebCore::RenderInline::addChildToFlow):
16656         (WebCore::RenderInline::cloneInline):
16657         (WebCore::RenderInline::splitInlines):
16658         (WebCore::RenderInline::splitFlow):
16659         (WebCore::RenderInline::paint):
16660         (WebCore::RenderInline::absoluteRects):
16661         (WebCore::RenderInline::calcMinMaxWidth):
16662         (WebCore::RenderInline::requiresLayer):
16663         (WebCore::RenderInline::width):
16664         (WebCore::RenderInline::height):
16665         (WebCore::RenderInline::renderName):
16666         (WebCore::RenderInline::nodeAtPoint):
16667         (WebCore::RenderInline::positionForCoordinates):
16668         * rendering/RenderInline.h:
16669         (WebCore::RenderInline::layout):
16670         * rendering/RenderLayer.cpp:
16671         * rendering/RenderLayer.h:
16672         (WebCore::ClipRects::ClipRects):
16673         (WebCore::RenderLayer::nextSibling):
16674         (WebCore::RenderLayer::root):
16675         (WebCore::RenderLayer::setPos):
16676         (WebCore::RenderLayer::height):
16677         (WebCore::RenderLayer::relativePositionOffset):
16678         * rendering/RenderLineEdit.cpp:
16679         (WebCore::RenderLineEdit::setStyle):
16680         (WebCore::RenderLineEdit::updateFromElement):
16681         (WebCore::RenderLineEdit::selectionStart):
16682         (WebCore::RenderLineEdit::selectionEnd):
16683         (WebCore::RenderLineEdit::setSelectionStart):
16684         (WebCore::RenderLineEdit::setSelectionEnd):
16685         (WebCore::RenderLineEdit::setSelectionRange):
16686         * rendering/RenderLineEdit.h:
16687         * rendering/RenderListBox.cpp:
16688         * rendering/RenderListBox.h:
16689         (WebCore::RenderListBox::renderName):
16690         * rendering/RenderListItem.cpp:
16691         (WebCore::RenderListItem::setStyle):
16692         (WebCore::getParentOfFirstLineBox):
16693         (WebCore::RenderListItem::updateMarkerLocation):
16694         (WebCore::RenderListItem::positionListMarker):
16695         (WebCore::RenderListItem::paint):
16696         * rendering/RenderListItem.h:
16697         * rendering/RenderListMarker.cpp:
16698         * rendering/RenderListMarker.h:
16699         (WebCore::RenderListMarker::renderName):
16700         (WebCore::RenderListMarker::isListMarker):
16702 2006-10-30  Timothy Hatcher  <timothy@apple.com>
16704         Reviewed by Hyatt.
16706         <rdar://problem/4478625> Basic table editing and culling
16708         Refined the criteria for deletable elements, rely on the renderer more.
16709         Corrected the interface positioning for elements that have borders.
16711         * editing/DeleteButtonController.cpp:
16712         (WebCore::isDeletableElement):
16713         (WebCore::DeleteButtonController::show):
16715 2006-10-30  Darin Adler  <darin@apple.com>
16717         - fix build
16719         * loader/ResourceLoader.h: Added header guard.
16721 2006-10-31  Darin Adler  <darin@apple.com>
16723         Reviewed by Adam.
16725         - fix FrameLoader files so they can be built on non-Mac platforms
16727         * page/FramePrivate.h:
16728         (WebCore::FramePrivate::FramePrivate): Added code to create the frame loader.
16729         (WebCore::FramePrivate::~FramePrivate): Added code to delete the frame loader.
16731         * page/Page.h:
16732         * page/Page.cpp: (WebCore::Page::setDefersLoading): Removed the
16733         #if PLATFORM(MAC) that Adam added as a stop-gap when I did this wrong
16734         the other day.
16736         * bridge/mac/FrameMac.mm:
16737         (WebCore::FrameMac::FrameMac): Removed code to create the frame loader.
16738         (WebCore::FrameMac::~FrameMac): Removed code to delete the frame loader.
16740         * loader/FrameLoader.h: Changed import to include, added #if PLATFORM(MAC)
16741         around the PolicyCheck definition.
16743         * loader/FormState.cpp: Changed import to include.
16744         * loader/FrameLoader.cpp: Ditto.
16745         * loader/MainResourceLoader.h: Ditto.
16747         * loader/FrameLoaderTypes.h: Added a header guard.
16749         * loader/NetscapePlugInStreamLoader.h: Changed import to include.
16750         Added #if PLATFORM(MAC) around Mac-specific details.
16751         * loader/SubresourceLoader.h: Ditto.
16753         * page/Frame.cpp: (WebCore::Frame::loader): Updated name of loader to
16754         m_loader from m_frameLoader.
16756         * CMakeLists.txt: Updated.
16757         * WebCoreSources.bkl: Updated.
16759 2006-10-30  Nikolas Zimmermann  <zimmermann@kde.org>
16761         Reviewed and landed by Anders.
16763         Patch by Zack rusin to fix: 
16764         http://bugs.webkit.org/show_bug.cgi?id=11429
16766         Fix startup crash.
16768         * platform/qt/FrameQtClient.cpp:
16769         (WebCore::FrameQtClientDefault::openURL):
16771 2006-10-30  Zach Rusin  <zack@kde.org>
16773         Reviewed and landed by Anders.
16775         * platform/network/qt/ResourceHandleQt.cpp:
16776         (WebCore::ResourceHandle::receivedResponse):
16777         * platform/qt/FrameQtClient.cpp:
16778         (WebCore::FrameQtClientDefault::FrameQtClientDefault):
16779         * platform/qt/LoaderFunctionsQt.cpp:
16780         (WebCore::ServeSynchronousRequest):
16781         More build fixes.
16783 2006-10-30  Simon Hausmann  <hausmann@kde.org>
16785         Reviewed and landed by Anders.
16786         
16787         - fix Qt build
16788         * platform/qt/FrameQtClient.cpp: ResourceLoaderClient ->
16789         ResourceHandleClient
16791 2006-10-30  Darin Adler  <darin@apple.com>
16793         Reviewed by John Sullivan.
16795         - work toward removing Objective-C data types from FrameLoader.h:
16796           removed NSDate, NSString, WebCorePageState, WebCoreResourceLoader,
16797           and WebCoreResourceHandle
16798         - moved bodyBackgroundColor function from Frame to WebFrame in WebKit
16800         * page/PageState.h:
16801         * page/PageState.cpp: Added, C++ class with much of what WebCorePageState had.
16803         * bridge/mac/FrameMac.h: Removed uneeeded declarations and bodyBackgroundColor().
16804         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::startRedirectionTimer): Use a
16805         double for the date instead of an NSDate.
16807         * bridge/mac/WebCoreFrameBridge.h:
16808         * bridge/mac/WebCoreFrameBridge.mm: Removed invalidatePageCache and
16809         saveDocumentToPageCache methods.
16811         * bridge/mac/WebCorePageState.h:
16812         * bridge/mac/WebCorePageState.mm: Removed most of the class and turned it into
16813         an Objective-C wrapper for PageState.
16815         * loader/FrameLoader.h: Removed unused Objective-C types, eliminated use of
16816         NSDate and WebCorePageState.
16817         * loader/FrameLoaderClient.h: Changed NSDate to double.
16818         * loader/mac/FrameLoaderMac.mm:
16819         (WebCore::FrameLoader::receivedMainResourceError): Moved call to setInPageCache
16820         here that used to be in invalidateCurrentItemPageCache on the WebKit side.
16821         (WebCore::FrameLoader::clientRedirected): Changed NSDate to double for date.
16822         (WebCore::FrameLoader::open): Moved one of the open functions that was part of
16823         commitProvisionalLoad inside the commitProvisionalLoad function, so that it can
16824         extract the parameters from the response. Changed the open function that takes
16825         a PageState to use the new C++ PageState.
16826         (WebCore::FrameLoader::commitProvisionalLoad): Added the code from the open
16827         function; tightened up logic, removing a few cases that could never happen, as
16828         well as the unused reload boolean.
16830         * ForwardingHeaders/kjs/property_map.h: Added.
16832         * WebCore.exp: Updated.
16833         * WebCore.xcodeproj/project.pbxproj: Updated.
16835 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
16837         Reviewed by Anders.
16839         - added ResourceResponse class and didReceiveResponse delegate call
16840         
16841         * WebCore.xcodeproj/project.pbxproj: Added new files.
16842         * bridge/mac/WebCoreFrameBridge.h: Removed no longer needed
16843         expiresTimeForResponse: method.
16844         * dom/XMLTokenizer.cpp:
16845         (WebCore::openFunc): Updated to use ResourceResponse.
16846         * loader/FrameLoader.h: Update loadResourceSynchronously to
16847         use ResourceResponse.
16848         * loader/LoaderFunctions.h:
16849         * loader/icon/IconLoader.cpp:
16850         (IconLoader::didReceiveResponse): Updated from receivedResponse
16851         and made cross-platform.
16852         * loader/icon/IconLoader.h: updated for above change
16853         * loader/loader.cpp:
16854         (WebCore::Loader::receivedResponse): reduced to just saving
16855         the PlatformResponse (ideally we'd phase out use of this).
16856         (WebCore::Loader::didReceivedResponse): most of the ReceivedResponse 
16857         logic.
16858         * loader/loader.h:
16859         * loader/mac/FrameLoaderMac.mm:
16860         (WebCore::FrameLoader::loadResourceSynchronously): Return results
16861         as ResourceResponse.
16862         * loader/mac/IconLoaderMac.mm: remove receivedResponse.
16863         * loader/mac/LoaderFunctionsMac.mm:
16864         (WebCore::ServeSynchronousRequest): take ResourceResponse as
16865         argument.
16866         * platform/network/ResourceHandle.cpp:
16867         * platform/network/ResourceHandle.h: Remove calls for
16868         broken out response pieces.
16869         * platform/network/ResourceHandleClient.h:
16870         (WebCore::ResourceHandleClient::didReceiveResponse): New
16871         delegate method.
16872         * platform/network/ResourceHandleInternal.h:
16873         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Remove
16874         storage of response bits, we're not gonna return them
16875         seprately any more.
16876         * platform/network/ResourceResponse.h: Added.
16877         (WebCore::ResourceResponse::ResourceResponse): Freshly
16878         implemented. Same for below.
16879         (WebCore::ResourceResponse::url):
16880         (WebCore::ResourceResponse::mimeType):
16881         (WebCore::ResourceResponse::expectedContentLength):
16882         (WebCore::ResourceResponse::textEncodingName):
16883         (WebCore::ResourceResponse::suggestedFilename):
16884         (WebCore::ResourceResponse::httpStatusCode):
16885         (WebCore::ResourceResponse::setHTTPStatusCode):
16886         (WebCore::ResourceResponse::httpHeaderField):
16887         (WebCore::ResourceResponse::httpHeaderFields):
16888         (WebCore::ResourceResponse::isMultipart):
16889         (WebCore::ResourceResponse::setExpirationDate):
16890         (WebCore::ResourceResponse::expirationDate):
16891         * platform/network/cf/ResourceHandleCFNet.cpp:
16892         (WebCore::didReceiveResponse): Send didReceiveResponse
16893         client method.
16894         * platform/network/cf/ResourceResponseCFNet.h: Added.
16895         * platform/network/cf/ResourceResponseCFNet.mm: Added.
16896         (getResourceResponse): Helper function to get a ResourceResponse 
16897         from CFURLResponseRef.
16898         * platform/network/mac/ResourceHandleMac.mm:
16899         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
16900         Don't bother cleaning up fields we no longer have.
16901         (WebCore::ResourceHandle::receivedResponse): Send
16902         didReceiveResponse client method.
16903         * platform/network/mac/ResourceResponseMac.h: Added.
16904         * platform/network/mac/ResourceResponseMac.mm: Added.
16905         (getResourceResponse): Helper function to get a ResourceResponse 
16906         from an NSURLResponse*.
16907         * rendering/HitTestResult.cpp:
16908         * xml/XSLTProcessor.cpp:
16909         (WebCore::docLoaderFunc): Prepare for use of ResourceResponse.
16910         * xml/xmlhttprequest.cpp:
16911         (WebCore::XMLHttpRequest::getResponseText): Store http response
16912         info in the form of a ResourceResponse, change all methods to
16913         account for this.
16914         (WebCore::XMLHttpRequest::getResponseXML):
16915         (WebCore::XMLHttpRequest::XMLHttpRequest):
16916         (WebCore::XMLHttpRequest::open):
16917         (WebCore::XMLHttpRequest::send):
16918         (WebCore::XMLHttpRequest::getAllResponseHeaders):
16919         (WebCore::XMLHttpRequest::getResponseHeader):
16920         (WebCore::XMLHttpRequest::getStatus):
16921         (WebCore::XMLHttpRequest::getStatusText):
16922         (WebCore::XMLHttpRequest::processSyncLoadResults):
16923         (WebCore::XMLHttpRequest::didFinishLoading):
16924         (WebCore::XMLHttpRequest::didReceiveResponse):
16925         (WebCore::XMLHttpRequest::didReceiveData):
16926         * xml/xmlhttprequest.h:
16928 2006-10-29  Darin Adler  <darin@apple.com>
16930         - fix build
16932         * loader/DocumentLoader.h: Add declarations so this compiles without ObjC.
16933         * loader/NetscapePlugInStreamLoader.h: Ditto.
16934         * loader/ResourceLoader.h: Ditto.
16936 2006-10-29  Darin Adler  <darin@apple.com>
16938         - one last name change -- WebFormState.h to FormState.h
16939         - added more empty placeholder platform-independent files
16940           for currently-Mac-specific loader classes
16942         * loader/FormState.cpp: Updated include.
16943         * loader/FrameLoader.cpp: Updated include.
16944         * loader/mac/FrameLoaderMac.mm: Updated include.
16946         * loader/WebFormState.h: Removed.
16947         * loader/FormState.h: Added.
16949         * loader/DocumentLoader.cpp: Added.
16950         * loader/MainResourceLoader.cpp: Added.
16951         * loader/NetscapePlugInStreamLoader.cpp: Added.
16952         * loader/ResourceLoader.cpp: Added.
16953         * loader/SubresourceLoader.cpp: Added.
16955         * WebCore.xcodeproj/project.pbxproj: Updated for changes above.
16957 2006-10-29  Darin Adler  <darin@apple.com>
16959         - did the do-webcore-rename renames, including a number of changes
16960           to the names of loader files (and WebResourceLoader -> ResourceLoader),
16961           jScript() to scriptProxy(), jScriptEnabled() to javaScriptEnabled(),
16962           and improvements to the names of decoder classes and their source
16963           files (Decoder -> TextResourceDecoder, StreamingTextDecoder -> TextCodec)
16965         * CMakeLists.txt:
16966         * WebCore.exp:
16967         * WebCore.vcproj/WebCore/WebCore.vcproj:
16968         * WebCore.xcodeproj/project.pbxproj:
16969         * WebCoreSources.bkl:
16970         * bindings/js/kjs_binding.cpp:
16971         (KJS::ScriptInterpreter::updateDOMNodeDocument):
16972         * bindings/js/kjs_events.cpp:
16973         (KJS::JSAbstractEventListener::handleEvent):
16974         (KJS::JSLazyEventListener::parseCode):
16975         * bindings/js/kjs_html.cpp:
16976         (KJS::JSHTMLElement::implementsCall):
16977         * bindings/js/kjs_traversal.cpp:
16978         (KJS::JSNodeFilterCondition::acceptNode):
16979         * bindings/js/kjs_window.cpp:
16980         (KJS::Window::interpreter):
16981         (KJS::Window::retrieveWindow):
16982         (KJS::Window::retrieve):
16983         (KJS::ScheduledAction::execute):
16984         * bindings/objc/DOMInternal.mm:
16985         (-[WebScriptObject _initializeScriptDOMNodeImp]):
16986         * bridge/mac/FrameMac.mm:
16987         (WebCore::FrameMac::executionContextForDOM):
16988         (WebCore::FrameMac::bindingRootObject):
16989         (WebCore::FrameMac::windowScriptObject):
16990         (WebCore::FrameMac::windowScriptNPObject):
16991         (WebCore::FrameMac::partClearedInBegin):
16992         * bridge/mac/WebCoreEncodings.mm:
16993         * bridge/mac/WebCoreFrameBridge.mm:
16994         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
16995         (-[WebCoreFrameBridge stringWithData:]):
16996         (-[WebCoreFrameBridge executionContextForView:]):
16997         * bridge/win/FrameWin.cpp:
16998         * dom/Document.cpp:
16999         (WebCore::Document::inputEncoding):
17000         (WebCore::Document::setCharset):
17001         (WebCore::Document::createHTMLEventListener):
17002         (WebCore::Document::setDecoder):
17003         * dom/Document.h:
17004         (WebCore::Document::decoder):
17005         * dom/EventTargetNode.cpp:
17006         (WebCore::EventTargetNode::dispatchGenericEvent):
17007         * html/HTMLParser.cpp:
17008         (WebCore::HTMLParser::noscriptCreateErrorCheck):
17009         (WebCore::HTMLParser::canvasCreateErrorCheck):
17010         (WebCore::HTMLParser::isInline):
17011         * html/HTMLPlugInElement.cpp:
17012         (WebCore::HTMLPlugInElement::createNPObject):
17013         * html/HTMLScriptElement.cpp:
17014         (WebCore::HTMLScriptElement::evaluateScript):
17015         * html/HTMLTokenizer.cpp:
17016         (WebCore::HTMLTokenizer::parseTag):
17017         (WebCore::HTMLTokenizer::processToken):
17018         * ksvg2/misc/SVGDocumentExtensions.cpp:
17019         (WebCore::SVGDocumentExtensions::createSVGEventListener):
17020         * loader/CachedCSSStyleSheet.cpp:
17021         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
17022         (WebCore::CachedCSSStyleSheet::setEncoding):
17023         * loader/CachedCSSStyleSheet.h:
17024         * loader/CachedXBLDocument.cpp:
17025         (WebCore::CachedXBLDocument::CachedXBLDocument):
17026         (WebCore::CachedXBLDocument::setEncoding):
17027         * loader/CachedXBLDocument.h:
17028         * loader/CachedXSLStyleSheet.cpp:
17029         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
17030         (WebCore::CachedXSLStyleSheet::setEncoding):
17031         * loader/CachedXSLStyleSheet.h:
17032         * loader/Decoder.cpp: Removed.
17033         * loader/Decoder.h: Removed.
17034         * loader/FrameLoader.cpp:
17035         * loader/FrameLoader.h:
17036         * loader/FrameLoaderClient.h:
17037         * loader/MainResourceLoader.h: Added.
17038         * loader/NetscapePlugInStreamLoader.h: Added.
17039         * loader/Request.h:
17040         (WebCore::Request::cachedResource):
17041         * loader/ResourceLoader.h: Added.
17042         * loader/SubresourceLoader.h: Added.
17043         * loader/TextResourceDecoder.cpp: Added.
17044         (WebCore::TextResourceDecoder::determineContentType):
17045         (WebCore::TextResourceDecoder::defaultEncoding):
17046         (WebCore::TextResourceDecoder::TextResourceDecoder):
17047         (WebCore::TextResourceDecoder::~TextResourceDecoder):
17048         (WebCore::TextResourceDecoder::setEncoding):
17049         (WebCore::TextResourceDecoder::checkForBOM):
17050         (WebCore::TextResourceDecoder::checkForCSSCharset):
17051         (WebCore::TextResourceDecoder::checkForHeadCharset):
17052         (WebCore::TextResourceDecoder::detectJapaneseEncoding):
17053         (WebCore::TextResourceDecoder::decode):
17054         (WebCore::TextResourceDecoder::flush):
17055         * loader/TextResourceDecoder.h: Added.
17056         * loader/WebDocumentLoader.h: Removed.
17057         * loader/WebLoader.h: Removed.
17058         * loader/WebMainResourceLoader.h: Removed.
17059         * loader/WebNetscapePlugInStreamLoader.h: Removed.
17060         * loader/WebSubresourceLoader.h: Removed.
17061         * loader/loader.cpp:
17062         (WebCore::Loader::servePendingRequests):
17063         (WebCore::Loader::receivedAllData):
17064         (WebCore::Loader::receivedResponse):
17065         (WebCore::Loader::didReceiveData):
17066         (WebCore::Loader::cancelRequests):
17067         (WebCore::Loader::jobForRequest):
17068         * loader/mac/DocumentLoaderMac.mm:
17069         * loader/mac/FormDataStream.m: Added.
17070         * loader/mac/FrameLoaderMac.mm:
17071         (WebCore::FrameLoader::cancelPendingArchiveLoad):
17072         (WebCore::FrameLoader::addPlugInStreamLoader):
17073         (WebCore::FrameLoader::removePlugInStreamLoader):
17074         (WebCore::FrameLoader::addSubresourceLoader):
17075         (WebCore::FrameLoader::removeSubresourceLoader):
17076         (WebCore::FrameLoader::willSendRequest):
17077         (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
17078         (WebCore::FrameLoader::didCancelAuthenticationChallenge):
17079         (WebCore::FrameLoader::didReceiveResponse):
17080         (WebCore::FrameLoader::didReceiveData):
17081         (WebCore::FrameLoader::didFinishLoad):
17082         (WebCore::FrameLoader::didFailToLoad):
17083         (WebCore::FrameLoader::open):
17084         (WebCore::FrameLoader::willUseArchive):
17085         (WebCore::FrameLoader::isArchiveLoadPending):
17086         * loader/mac/ImageDocumentMac.mm:
17087         * loader/mac/LoaderFunctionsMac.mm:
17088         (WebCore::CheckCacheObjectStatus):
17089         * loader/mac/MainResourceLoaderMac.mm:
17090         (WebCore::MainResourceLoader::MainResourceLoader):
17091         (WebCore::MainResourceLoader::releaseDelegate):
17092         (WebCore::MainResourceLoader::didCancel):
17093         (WebCore::MainResourceLoader::addData):
17094         (WebCore::MainResourceLoader::willSendRequest):
17095         (WebCore::MainResourceLoader::continueAfterContentPolicy):
17096         (WebCore::MainResourceLoader::didReceiveData):
17097         (WebCore::MainResourceLoader::didFinishLoading):
17098         (WebCore::MainResourceLoader::setDefersLoading):
17099         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
17100         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
17101         (WebCore::NetscapePlugInStreamLoader::releaseResources):
17102         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
17103         (WebCore::NetscapePlugInStreamLoader::didReceiveData):
17104         (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
17105         (WebCore::NetscapePlugInStreamLoader::didFail):
17106         (WebCore::NetscapePlugInStreamLoader::didCancel):
17107         * loader/mac/ResourceLoaderMac.mm:
17108         (WebCore::ResourceLoader::ResourceLoader):
17109         (WebCore::ResourceLoader::~ResourceLoader):
17110         (WebCore::ResourceLoader::releaseResources):
17111         (WebCore::ResourceLoader::load):
17112         (WebCore::ResourceLoader::setDefersLoading):
17113         (WebCore::ResourceLoader::frameLoader):
17114         (WebCore::ResourceLoader::addData):
17115         (WebCore::ResourceLoader::resourceData):
17116         (WebCore::ResourceLoader::clearResourceData):
17117         (WebCore::ResourceLoader::willSendRequest):
17118         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
17119         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
17120         (WebCore::ResourceLoader::didReceiveResponse):
17121         (WebCore::ResourceLoader::didReceiveData):
17122         (WebCore::ResourceLoader::willStopBufferingData):
17123         (WebCore::ResourceLoader::didFinishLoading):
17124         (WebCore::ResourceLoader::didFinishLoadingOnePart):
17125         (WebCore::ResourceLoader::didFail):
17126         (WebCore::ResourceLoader::willCacheResponse):
17127         (WebCore::ResourceLoader::didCancel):
17128         (WebCore::ResourceLoader::cancel):
17129         (WebCore::ResourceLoader::setIdentifier):
17130         (WebCore::ResourceLoader::response):
17131         (WebCore::ResourceLoader::inConnectionCallback):
17132         (WebCore::ResourceLoader::cancelledError):
17133         (WebCore::ResourceLoader::receivedCredential):
17134         (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
17135         (WebCore::ResourceLoader::receivedCancellation):
17136         (WebCore::ResourceLoader::delegate):
17137         (WebCore::ResourceLoader::releaseDelegate):
17138         (-[WebCoreResourceLoaderAsDelegate initWithLoader:]):
17139         * loader/mac/SubresourceLoaderMac.mm:
17140         (WebCore::SubresourceLoader::SubresourceLoader):
17141         (WebCore::SubresourceLoader::willSendRequest):
17142         (WebCore::SubresourceLoader::didReceiveResponse):
17143         (WebCore::SubresourceLoader::didReceiveData):
17144         (WebCore::SubresourceLoader::didFinishLoading):
17145         (WebCore::SubresourceLoader::didFail):
17146         (WebCore::SubresourceLoader::didCancel):
17147         * loader/mac/WebFormDataStream.h: Removed.
17148         * loader/mac/WebFormDataStream.m: Removed.
17149         * page/Frame.cpp:
17150         (WebCore::Frame::javaScriptEnabled):
17151         (WebCore::Frame::scriptProxy):
17152         (WebCore::Frame::executeScript):
17153         (WebCore::Frame::write):
17154         (WebCore::Frame::userGestureHint):
17155         (WebCore::Frame::saveInterpreterBuiltins):
17156         (WebCore::Frame::restoreInterpreterBuiltins):
17157         (WebCore::Frame::backslashAsCurrencySymbol):
17158         * page/Frame.h:
17159         * page/FramePrivate.h:
17160         * platform/StreamingTextDecoder.cpp: Removed.
17161         * platform/StreamingTextDecoder.h: Removed.
17162         * platform/StreamingTextDecoderICU.cpp: Removed.
17163         * platform/StreamingTextDecoderICU.h: Removed.
17164         * platform/TextCodec.cpp: Added.
17165         * platform/TextCodec.h: Added.
17166         * platform/TextCodecICU.cpp: Added.
17167         * platform/TextCodecICU.h: Added.
17168         * platform/TextCodecLatin1.h:
17169         * platform/TextCodecUTF16.h:
17170         * platform/TextDecoder.h:
17171         * platform/TextEncoding.cpp:
17172         * platform/TextEncodingRegistry.cpp:
17173         * platform/image-decoders/jpeg/jmorecfg.h:
17174         * platform/mac/StreamingTextDecoderMac.cpp: Removed.
17175         * platform/mac/StreamingTextDecoderMac.h: Removed.
17176         * platform/mac/TextCodecMac.cpp: Added.
17177         * platform/mac/TextCodecMac.h: Added.
17178         * platform/network/ResourceHandleInternal.h:
17179         * platform/network/mac/ResourceHandleMac.mm:
17180         * platform/qt/FrameQt.cpp:
17181         (WebCore::FrameQt::bindingRootObject):
17182         * platform/qt/LoaderFunctionsQt.cpp:
17183         (WebCore::CheckCacheObjectStatus):
17184         * rendering/RenderObject.cpp:
17185         (WebCore::RenderObject::backslashAsCurrencySymbol):
17186         * xml/XSLTProcessor.cpp:
17187         (WebCore::XSLTProcessor::createDocumentFromSource):
17188         * xml/xmlhttprequest.cpp:
17189         (WebCore::XMLHttpRequest::didReceiveData):
17190         * xml/xmlhttprequest.h:
17192 2006-10-29  Darin Adler  <darin@apple.com>
17194         Rubber stamped by Adam (kinda).
17196         - add Mac suffixes and correct filenames inside loader/mac
17198         * WebCore.xcodeproj/project.pbxproj: Updated for changes below.
17200         * loader/mac/FrameLoader.mm: Removed.
17201         * loader/mac/WebDocumentLoader.mm: Removed.
17202         * loader/mac/WebLoader.mm: Removed.
17203         * loader/mac/WebMainResourceLoader.mm: Removed.
17204         * loader/mac/WebNetscapePlugInStreamLoader.mm: Removed.
17205         * loader/mac/WebSubresourceLoader.mm: Removed.
17207         * loader/mac/FrameLoaderMac.mm: Added.
17208         * loader/mac/DocumentLoaderMac.mm: Added.
17209         * loader/mac/ResourceLoaderMac.mm: Added.
17210         * loader/mac/MainResourceLoaderMac.mm: Added.
17211         * loader/mac/WebNetscapePlugInStreamLoaderMac.mm: Added.
17212         * loader/mac/SubresourceLoaderMac.mm: Removed.
17214 2006-10-29  Darin Adler  <darin@apple.com>
17216         Reviewed by Adam.
17218         - moving towards use of FrameLoader cross-platform; get FrameLoader.h
17219           and FrameLoader.cpp mostly ready
17221         * WebCore.xcodeproj/project.pbxproj: Added FrameLoader.cpp and
17222         FormState.cpp. Removed WebFormState.mm.
17224         * loader/FrameLoader.h: Put in lots of #if statements to see if we can
17225         get this header compiling on non-Mac.
17226         * loader/FrameLoader.cpp: Added. Has non-Mac-specific bits of FrameLoader.
17227         * loader/mac/FrameLoader.mm: Moved some non-Mac-specific bits out.
17229         * loader/FrameLoaderClient.h: Added some ifdefs.
17230         * loader/WebDocumentLoader.h: Ditto.
17231         * loader/WebLoader.h: Ditto.
17232         * loader/WebMainResourceLoader.h: Ditto.
17234         * loader/mac/WebDocumentLoader.mm:
17235         (WebCore::DocumentLoader::isLoadingInAPISense):
17236         Rewrote to work without bridge, partly to remove the need for ObjC
17237         bridge type in the header, and also because we're tearing down the bridge.
17239         * loader/mac/WebMainResourceLoader.mm:
17240         (WebCore::MainResourceLoader::MainResourceLoader): Removed unused
17241         m_contentLength and m_bytesReceived.
17242         (WebCore::MainResourceLoader::didReceiveResponse): Ditto.
17243         (WebCore::MainResourceLoader::didReceiveData): Ditto.
17245         * bridge/mac/WebCoreFrameBridge.h: Removed doneProcessingData.
17246         * bridge/mac/WebCoreFrameBridge.mm: Ditto.
17248         * loader/mac/FormState.mm: Removed.
17249         * loader/FormState.cpp: Added.
17251 2006-10-29  Darin Adler  <darin@apple.com>
17253         Rubber stamped by Adam.
17255         - moving towards use of FrameLoader cross-platform; move the headers
17256           for the Mac loader from loader/mac into loader, in preparation for
17257           making them useful on non-Mac
17259         * WebCore.xcodeproj/project.pbxproj:
17261         * loader/mac/FrameLoader.h: Removed.
17262         * loader/mac/WebDocumentLoader.h: Removed.
17263         * loader/mac/WebFormState.h: Removed.
17264         * loader/mac/WebLoader.h: Removed.
17265         * loader/mac/WebMainResourceLoader.h: Removed.
17266         * loader/mac/WebNetscapePlugInStreamLoader.h: Removed.
17267         * loader/mac/WebSubresourceLoader.h: Removed.
17269         * loader/FrameLoader.h: Added.
17270         * loader/WebDocumentLoader.h: Added.
17271         * loader/WebFormState.h: Added.
17272         * loader/WebLoader.h: Added.
17273         * loader/WebMainResourceLoader.h: Added.
17274         * loader/WebNetscapePlugInStreamLoader.h: Added.
17275         * loader/WebSubresourceLoader.h: Added.
17277 2006-10-29  Adam Roben  <aroben@apple.com>
17279         Reviewed by Geoff.
17281         Finish Darin's clean up of the use of __APPLE__ in WebCore, begun in
17282         r17405.
17284         * platform/DeprecatedString.h:
17286 2006-10-29  Beth Dakin  <bdakin@apple.com>
17288         Rubber stamped by Geoff.
17290         This is a followup to my HitTestResult checkin. Most of the 
17291         HitTestResult local variables in the code were named i or info for 
17292         when the class was named NodeInfo. This patch renames all of these 
17293         local variables to result.
17295         * dom/Document.cpp:
17296         (WebCore::Document::prepareMouseEvent):
17297         * html/HTMLAreaElement.cpp:
17298         (WebCore::HTMLAreaElement::mapMouseEvent):
17299         * html/HTMLMapElement.cpp:
17300         (WebCore::HTMLMapElement::mapMouseEvent):
17301         * rendering/EllipsisBox.cpp:
17302         (WebCore::EllipsisBox::nodeAtPoint):
17303         * rendering/EllipsisBox.h:
17304         * rendering/InlineBox.cpp:
17305         (WebCore::InlineBox::nodeAtPoint):
17306         * rendering/InlineFlowBox.cpp:
17307         (WebCore::InlineFlowBox::nodeAtPoint):
17308         * rendering/InlineTextBox.cpp:
17309         (WebCore::InlineTextBox::nodeAtPoint):
17310         * rendering/RenderBlock.cpp:
17311         (WebCore::RenderBlock::isPointInScrollbar):
17312         (WebCore::RenderBlock::nodeAtPoint):
17313         * rendering/RenderBlock.h:
17314         * rendering/RenderBox.cpp:
17315         (WebCore::RenderBox::nodeAtPoint):
17316         * rendering/RenderBox.h:
17317         * rendering/RenderFlow.cpp:
17318         (WebCore::RenderFlow::hitTestLines):
17319         * rendering/RenderFlow.h:
17320         * rendering/RenderForeignObject.cpp:
17321         (WebCore::RenderForeignObject::nodeAtPoint):
17322         * rendering/RenderFrameSet.cpp:
17323         (WebCore::RenderFrameSet::nodeAtPoint):
17324         * rendering/RenderImage.cpp:
17325         (WebCore::RenderImage::nodeAtPoint):
17326         * rendering/RenderInline.cpp:
17327         (WebCore::RenderInline::nodeAtPoint):
17328         * rendering/RenderInline.h:
17329         * rendering/RenderLayer.cpp:
17330         (WebCore::RenderLayer::autoscroll):
17331         (WebCore::RenderLayer::hitTest):
17332         (WebCore::RenderLayer::hitTestLayer):
17333         (WebCore::RenderLayer::updateHoverActiveState):
17334         * rendering/RenderListBox.cpp:
17335         (WebCore::RenderListBox::isPointInScrollbar):
17336         * rendering/RenderObject.cpp:
17337         (WebCore::RenderObject::hitTest):
17338         (WebCore::RenderObject::setInnerNode):
17339         (WebCore::RenderObject::nodeAtPoint):
17340         * rendering/RenderObject.h:
17341         * rendering/RenderPath.cpp:
17342         (WebCore::RenderPath::nodeAtPoint):
17343         * rendering/RenderSVGImage.cpp:
17344         (WebCore::RenderSVGImage::nodeAtPoint):
17345         * rendering/RenderSVGText.cpp:
17346         (WebCore::RenderSVGText::nodeAtPoint):
17347         * rendering/RenderTableRow.cpp:
17348         (WebCore::RenderTableRow::nodeAtPoint):
17349         * rendering/RenderTableRow.h:
17350         * rendering/RenderTableSection.cpp:
17351         (WebCore::RenderTableSection::nodeAtPoint):
17352         * rendering/RenderTableSection.h:
17353         * rendering/RenderTextControl.cpp:
17354         (WebCore::RenderTextControl::nodeAtPoint):
17355         * rendering/RootInlineBox.cpp:
17356         (WebCore::RootInlineBox::nodeAtPoint):
17357         * rendering/RootInlineBox.h:
17359 2006-10-29  Adam Roben  <aroben@apple.com>
17361         More semi-fixes.
17363         * page/Page.cpp: Forgot to wrap the actual definition of
17364         setDefersLoading() in PLATFORM(MAC).
17365         * platform/PlatformWheelEvent.h: Fix up preprocessor directives.
17367 2006-10-29  Adam Roben  <aroben@apple.com>
17369         Build semi-fix.
17371         Move all FrameLoader-related code in Page.{cpp,h} within #if
17372         PLATFORM(MAC), since this class currently only exists on Mac.
17374         * page/Page.cpp:
17375         * page/Page.h:
17377 2006-10-29  Geoffrey Garen  <ggaren@apple.com>
17379         build fix.
17380         
17381         * platform/PlatformString.h:
17382         (WebCore::String::operator NSString*):
17384 2006-10-29  Geoffrey Garen  <ggaren@apple.com>
17386         Rolled out accidental commit.
17387         
17388         * platform/AtomicString.h:
17389         (WebCore::AtomicString::AtomicString):
17390         (WebCore::AtomicString::operator NSString*):
17392 2006-10-29  Geoffrey Garen  <ggaren@apple.com>
17394         RS by Darin.
17396         Rolled out change to map NULL Strings to nil NSStrings because it caused
17397         even more AppKit crashes. Maybe we should remove the NSString * operator
17398         entirely, since its use is not straight-forward, and require callers to
17399         specify explicitly whether they tolerate NULL.
17400         
17401         * platform/AtomicString.h:
17402         * platform/PlatformString.h:
17403         (WebCore::String::operator NSString*):
17404         * platform/mac/TextFieldMac.mm:
17405         (-[NSSearchFieldCell _addStringToRecentSearches:]):
17407 2006-10-29  Darin Adler  <darin@apple.com>
17409         Reviewed by Geoff.
17411         - fixed storage leak showing up on the buildbot
17413         * loader/mac/WebSubresourceLoader.mm: (WebCore::SubresourceLoader::create):
17414         Release the NSURLRequest after passing it to load. Also clean up logic a bit.
17416 2006-10-29  Darin Adler  <darin@apple.com>
17418         Rubber stamped by Adam.
17420         - renamed WebFrameLoaderClient to match the class name inside it
17422         * loader/mac/WebFrameLoaderClient.h: Removed.
17423         * loader/FrameLoaderClient.h: Moved it here.
17425         * WebCore.xcodeproj/project.pbxproj: Updated project.
17427         * bridge/mac/FrameMac.mm: Updated includes.
17428         * bridge/mac/WebCoreFrameBridge.mm: Ditto.
17429         * loader/mac/FrameLoader.mm: Ditto.
17430         * loader/mac/WebLoader.h: Ditto.
17432 2006-10-29  Darin Adler  <darin@apple.com>
17434         Reviewed by Mitz.
17436         - fix crash visible on buildbot and also when running the test
17437           anchor-image-scrolled-x-y.html under libgmalloc
17439         * loader/mac/WebSubresourceLoader.h: Renamed m_loader to m_handle
17440         now that the class is named ResourceHandle.
17441         * loader/mac/WebSubresourceLoader.mm: Renaming, plus:
17442         (WebCore::SubresourceLoader::didFinishLoading): Get the handle into
17443         a local RefPtr before calling finishJobAndHandle, since we might get
17444         cancelled inside that function, so we should not rely on m_handle to
17445         keep the ResourceHandle alive.
17446         (WebCore::SubresourceLoader::didFail): Ditto.
17447         (WebCore::SubresourceLoader::didCancel): Ditto.
17449 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
17451         - build fix
17453         * platform/network/mac/ResourceHandleMac.mm:
17455 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
17457         Rubber stamped by Darin.
17459         - renamed ResourceLoader to ResourceHandle (and same for related classes)
17461         * CMakeLists.txt:
17462         * Projects/gdk/webcore-gdk.bkl:
17463         * WebCore.vcproj/WebCore/WebCore.vcproj:
17464         * WebCore.xcodeproj/project.pbxproj:
17465         * WebCoreSources.bkl:
17466         * bridge/mac/FrameMac.mm:
17467         * bridge/win/FrameWin.cpp:
17468         * dom/XMLTokenizer.cpp:
17469         * loader/Cache.cpp:
17470         * loader/CachedResource.h:
17471         * loader/LoaderFunctions.h:
17472         * loader/icon/IconLoader.cpp:
17473         (IconLoader::startLoading):
17474         (IconLoader::didReceiveData):
17475         (IconLoader::didFinishLoading):
17476         * loader/icon/IconLoader.h:
17477         * loader/loader.cpp:
17478         (WebCore::Loader::servePendingRequests):
17479         (WebCore::Loader::receivedAllData):
17480         (WebCore::Loader::receivedResponse):
17481         (WebCore::Loader::didReceiveData):
17482         (WebCore::Loader::cancelRequests):
17483         (WebCore::Loader::jobForRequest):
17484         * loader/loader.h:
17485         * loader/mac/IconLoaderMac.mm:
17486         (IconLoader::receivedResponse):
17487         * loader/mac/LoaderFunctionsMac.mm:
17488         * loader/mac/WebLoader.h:
17489         * loader/mac/WebSubresourceLoader.h:
17490         * loader/mac/WebSubresourceLoader.mm:
17491         (WebCore::SubresourceLoader::SubresourceLoader):
17492         (WebCore::SubresourceLoader::create):
17493         * platform/gdk/FrameGdk.cpp:
17494         (WebCore::FrameGdkClientDefault::FrameGdkClientDefault):
17495         (WebCore::FrameGdkClientDefault::openURL):
17496         (WebCore::FrameGdkClientDefault::submitForm):
17497         (WebCore::FrameGdkClientDefault::receivedResponse):
17498         (WebCore::FrameGdkClientDefault::didReceiveData):
17499         (WebCore::FrameGdkClientDefault::receivedAllData):
17500         * platform/gdk/FrameGdk.h:
17501         * platform/gdk/TemporaryLinkStubs.cpp:
17502         (WebCore::ServeSynchronousRequest):
17503         (WebCore::ResourceHandle::assembleResponseHeaders):
17504         (WebCore::ResourceHandle::retrieveCharset):
17505         * platform/network/ResourceHandle.cpp: Added.
17506         (WebCore::ResourceHandle::ResourceHandle):
17507         (WebCore::ResourceHandle::create):
17508         (WebCore::ResourceHandle::isErrorPage):
17509         (WebCore::ResourceHandle::error):
17510         (WebCore::ResourceHandle::setError):
17511         (WebCore::ResourceHandle::responseEncoding):
17512         (WebCore::ResourceHandle::responseHTTPHeadersAsString):
17513         (WebCore::ResourceHandle::kill):
17514         (WebCore::ResourceHandle::requestHeaders):
17515         (WebCore::ResourceHandle::url):
17516         (WebCore::ResourceHandle::postData):
17517         (WebCore::ResourceHandle::method):
17518         (WebCore::ResourceHandle::client):
17519         * platform/network/ResourceHandle.h: Added.
17520         (WebCore::ResourceHandle::getInternal):
17521         * platform/network/ResourceHandleClient.h: Added.
17522         (WebCore::ResourceHandleClient::~ResourceHandleClient):
17523         (WebCore::ResourceHandleClient::didReceiveData):
17524         (WebCore::ResourceHandleClient::didFinishLoading):
17525         (WebCore::ResourceHandleClient::receivedRedirect):
17526         (WebCore::ResourceHandleClient::receivedResponse):
17527         (WebCore::ResourceHandleClient::receivedAllData):
17528         * platform/network/ResourceHandleInternal.h: Added.
17529         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
17530         * platform/network/ResourceLoader.cpp: Removed.
17531         * platform/network/ResourceLoader.h: Removed.
17532         * platform/network/ResourceLoaderClient.h: Removed.
17533         * platform/network/ResourceLoaderInternal.h: Removed.
17534         * platform/network/cf/ResourceHandleCFNet.cpp: Added.
17535         (WebCore::willSendRequest):
17536         (WebCore::didReceiveResponse):
17537         (WebCore::didReceiveData):
17538         (WebCore::didFinishLoading):
17539         (WebCore::didFail):
17540         (WebCore::willCacheResponse):
17541         (WebCore::didReceiveChallenge):
17542         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
17543         (WebCore::ResourceHandle::~ResourceHandle):
17544         (WebCore::ResourceHandle::start):
17545         (WebCore::ResourceHandle::cancel):
17546         * platform/network/cf/ResourceLoaderCFNet.cpp: Removed.
17547         * platform/network/gdk/ResourceHandleCurl.cpp: Added.
17548         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
17549         (WebCore::ResourceHandle::~ResourceHandle):
17550         (WebCore::ResourceHandle::start):
17551         (WebCore::ResourceHandle::cancel):
17552         * platform/network/gdk/ResourceHandleManager.cpp: Added.
17553         (WebCore::ResourceHandleManager::ResourceHandleManager):
17554         (WebCore::ResourceHandleManager::get):
17555         (WebCore::ResourceHandleManager::useSimpleTransfer):
17556         (WebCore::writeCallback):
17557         (WebCore::ResourceHandleManager::downloadTimerCallback):
17558         (WebCore::ResourceHandleManager::remove):
17559         (WebCore::ResourceHandleManager::add):
17560         (WebCore::ResourceHandleManager::cancel):
17561         * platform/network/gdk/ResourceHandleManager.h: Added.
17562         * platform/network/gdk/ResourceLoaderCurl.cpp: Removed.
17563         * platform/network/gdk/ResourceLoaderManager.cpp: Removed.
17564         * platform/network/gdk/ResourceLoaderManager.h: Removed.
17565         * platform/network/mac/ResourceHandleMac.mm: Added.
17566         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
17567         (WebCore::ResourceHandle::~ResourceHandle):
17568         (WebCore::ResourceHandle::start):
17569         (WebCore::ResourceHandle::assembleResponseHeaders):
17570         (WebCore::ResourceHandle::retrieveResponseEncoding):
17571         (WebCore::ResourceHandle::receivedResponse):
17572         (WebCore::ResourceHandle::cancel):
17573         (WebCore::ResourceHandle::redirectedToURL):
17574         (WebCore::ResourceHandle::addData):
17575         (WebCore::ResourceHandle::finishJobAndHandle):
17576         (WebCore::ResourceHandle::reportError):
17577         * platform/network/mac/ResourceLoaderMac.mm: Removed.
17578         * platform/network/qt/ResourceHandleManager.cpp: Added.
17579         (WebCore::ResourceHandleManager::ResourceHandleManager):
17580         (WebCore::ResourceHandleManager::~ResourceHandleManager):
17581         (WebCore::ResourceHandleManager::self):
17582         (WebCore::ResourceHandleManager::slotData):
17583         (WebCore::ResourceHandleManager::slotMimetype):
17584         (WebCore::ResourceHandleManager::slotResult):
17585         (WebCore::ResourceHandleManager::remove):
17586         (WebCore::ResourceHandleManager::add):
17587         (WebCore::ResourceHandleManager::cancel):
17588         * platform/network/qt/ResourceHandleManager.h: Added.
17589         * platform/network/qt/ResourceHandleQt.cpp: Added.
17590         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
17591         (WebCore::ResourceHandle::~ResourceHandle):
17592         (WebCore::ResourceHandle::start):
17593         (WebCore::ResourceHandle::cancel):
17594         (WebCore::ResourceHandle::assembleResponseHeaders):
17595         (WebCore::ResourceHandle::retrieveResponseEncoding):
17596         (WebCore::ResourceHandle::receivedResponse):
17597         (WebCore::ResourceHandle::extractCharsetFromHeaders):
17598         * platform/network/qt/ResourceLoaderManager.cpp: Removed.
17599         * platform/network/qt/ResourceLoaderManager.h: Removed.
17600         * platform/network/qt/ResourceLoaderQt.cpp: Removed.
17601         * platform/network/win/ResourceHandleWin.cpp: Added.
17602         (WebCore::):
17603         (WebCore::addToOutstandingJobs):
17604         (WebCore::lookupResourceHandle):
17605         (WebCore::ResourceHandleWndProc):
17606         (WebCore::initializeOffScreenResourceHandleWindow):
17607         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
17608         (WebCore::ResourceHandle::~ResourceHandle):
17609         (WebCore::ResourceHandle::onHandleCreated):
17610         (WebCore::ResourceHandle::onRequestRedirected):
17611         (WebCore::ResourceHandle::onRequestComplete):
17612         (WebCore::ResourceHandle::start):
17613         (WebCore::ResourceHandle::fileLoadTimer):
17614         (WebCore::ResourceHandle::cancel):
17615         (WebCore::ResourceHandle::setHasReceivedResponse):
17616         (WebCore::ResourceHandle::hasReceivedResponse):
17617         * platform/network/win/ResourceHandleWin.h: Added.
17618         * platform/network/win/ResourceLoaderWin.cpp: Removed.
17619         * platform/network/win/ResourceLoaderWin.h: Removed.
17620         * platform/qt/FrameQt.cpp:
17621         * platform/qt/FrameQtClient.cpp:
17622         (WebCore::FrameQtClientDefault::openURL):
17623         (WebCore::FrameQtClientDefault::submitForm):
17624         (WebCore::FrameQtClientDefault::receivedResponse):
17625         (WebCore::FrameQtClientDefault::didReceiveData):
17626         (WebCore::FrameQtClientDefault::receivedAllData):
17627         * platform/qt/FrameQtClient.h:
17628         * platform/win/TemporaryLinkStubs.cpp:
17629         (WebCore::ResourceHandle::assembleResponseHeaders):
17630         (WebCore::ResourceHandle::retrieveResponseEncoding):
17631         (WebCore::ServeSynchronousRequest):
17632         * xml/XSLTProcessor.cpp:
17633         * xml/xmlhttprequest.cpp:
17634         (WebCore::XMLHttpRequest::send):
17635         (WebCore::XMLHttpRequest::didFinishLoading):
17636         (WebCore::XMLHttpRequest::receivedRedirect):
17637         (WebCore::XMLHttpRequest::didReceiveData):
17638         * xml/xmlhttprequest.h:
17640 t2006-10-29  Darin Adler  <darin@apple.com>
17642         Reviewed by Maciej.
17644         - eliminate use of NSArray to carry form data around
17646         * WebCore.exp:
17647         * WebCore.xcodeproj/project.pbxproj:
17648         * bridge/mac/FormDataMac.h: Removed.
17649         * bridge/mac/FormDataMac.mm: Removed.
17650         * bridge/mac/FrameMac.h:
17651         * bridge/mac/WebCoreFrameBridge.h:
17652         * bridge/mac/WebCoreFrameBridge.mm:
17653         * html/HTMLFormElement.cpp:
17654         (WebCore::HTMLFormElement::submit):
17655         * loader/FormData.h:
17656         (WebCore::FormData::isEmpty):
17657         * loader/mac/FrameLoader.h:
17658         * loader/mac/FrameLoader.mm:
17659         (WebCore::FrameLoader::load):
17660         (WebCore::FrameLoader::post):
17661         (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
17662         (WebCore::FrameLoader::loadResourceSynchronously):
17663         * loader/mac/LoaderFunctionsMac.mm:
17664         (WebCore::ServeSynchronousRequest):
17665         * loader/mac/WebFormDataStream.h:
17666         * loader/mac/WebFormDataStream.m:
17667         (WebCore::pairRetain):
17668         (WebCore::pairRelease):
17669         (WebCore::pairEqual):
17670         (WebCore::pairHash):
17671         (WebCore::closeCurrentStream):
17672         (WebCore::scheduleWithPair):
17673         (WebCore::advanceCurrentStream):
17674         (WebCore::openNextStream):
17675         (WebCore::formCreate):
17676         (WebCore::formFinalize):
17677         (WebCore::formOpen):
17678         (WebCore::formRead):
17679         (WebCore::formCanRead):
17680         (WebCore::formClose):
17681         (WebCore::formSchedule):
17682         (WebCore::formUnschedule):
17683         (WebCore::formEventCallback):
17684         (WebCore::setHTTPBody):
17685         * loader/mac/WebSubresourceLoader.h:
17686         * loader/mac/WebSubresourceLoader.mm:
17687         (WebCore::SubresourceLoader::create):
17688         * platform/network/mac/ResourceLoaderMac.mm:
17690 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
17692         Reviewed by Darin.
17694         - create SubresourceLoader with a ResourceRequest, not broken out request bits
17696         * loader/mac/WebSubresourceLoader.h:
17697         * loader/mac/WebSubresourceLoader.mm:
17698         (WebCore::SubresourceLoader::create):
17699         * platform/network/mac/ResourceLoaderMac.mm:
17700         (WebCore::ResourceLoader::start):
17702 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
17704         Reviewed by Darin.
17706         - removed ObjC glue between ResourceLoader and SubresourceLoader, then now talk to each other directly
17708         Removed WebCoreResourceLoader, WebCoreResourceHandle and WebCoreResourceLoaderImp
17709         
17710         * WebCore.xcodeproj/project.pbxproj:
17711         * bridge/mac/WebCoreFrameBridge.h:
17712         * loader/mac/FrameLoader.h:
17713         * loader/mac/FrameLoader.mm:
17714         * loader/mac/LoaderFunctionsMac.mm:
17715         * loader/mac/WebLoader.h:
17716         * loader/mac/WebSubresourceLoader.h:
17717         * loader/mac/WebSubresourceLoader.mm:
17718         (WebCore::SubresourceLoader::SubresourceLoader):
17719         (WebCore::SubresourceLoader::create):
17720         (WebCore::SubresourceLoader::willSendRequest):
17721         (WebCore::SubresourceLoader::didReceiveResponse):
17722         (WebCore::SubresourceLoader::didReceiveData):
17723         (WebCore::SubresourceLoader::didFinishLoading):
17724         (WebCore::SubresourceLoader::didFail):
17725         (WebCore::SubresourceLoader::didCancel):
17726         * platform/network/ResourceLoader.h:
17727         * platform/network/ResourceLoaderInternal.h:
17728         * platform/network/mac/ResourceLoaderMac.mm:
17729         (WebCore::ResourceLoader::~ResourceLoader):
17730         (WebCore::ResourceLoader::start):
17731         (WebCore::ResourceLoader::receivedResponse):
17732         (WebCore::ResourceLoader::cancel):
17733         (WebCore::ResourceLoader::redirectedToURL):
17734         (WebCore::ResourceLoader::addData):
17735         (WebCore::ResourceLoader::finishJobAndHandle):
17736         (WebCore::ResourceLoader::reportError):
17737         * platform/network/mac/WebCoreResourceLoader.h: Removed.
17738         * platform/network/mac/WebCoreResourceLoaderImp.h: Removed.
17739         * platform/network/mac/WebCoreResourceLoaderImp.mm: Removed.
17741 2006-10-28  Darin Adler  <darin@apple.com>
17743         Reviewed by Maciej.
17745         - eliminated the use of Objective-C for the policy decider
17746           machinery, obviating the need for WebPolicyDecider,
17747           WebCoreFrameLoaderAsDelegate, and
17748           WebCoreMainResourceLoaderAsPolicyDelegate
17750         - grouped the state related to policy decisions into a PolicyCheck
17751           class to simplify the FrameLoader logic
17753         - removed six methods from the bridge, reducing FrameLoader's use of
17754           the bridge to a single method
17756         - changed form state to always use HashMap instead of NSDictionary
17758         - moved the defersLoading flag from WebView to WebCore::Page
17759           and changed code to consistently call it defersLoading rather
17760           than defersCallbacks
17762         - updated for rename of PassRefPtr::release to releaseRef
17763         - replaced all uses of __APPLE__ with appropriate PLATFORM defines
17764         - cleaned up kjs_binding.h a bit
17765         - cleaned up FrameMac.h a bit
17767         * loader/mac/WebPolicyDecider.h: Removed.
17768         * loader/mac/WebPolicyDecider.mm: Removed.
17769         * WebCore.xcodeproj/project.pbxproj: Updated for removal.
17771         * WebCore.exp:
17772         * bindings/js/kjs_binding.cpp:
17773         (KJS::ScriptInterpreter::ScriptInterpreter):
17774         (KJS::ScriptInterpreter::wasRunByUserGesture):
17775         * bindings/js/kjs_binding.h:
17776         (KJS::ScriptInterpreter::setCurrentEvent):
17777         (KJS::ScriptInterpreter::setInlineCode):
17778         (KJS::ScriptInterpreter::setProcessingTimerCallback):
17779         (KJS::ScriptInterpreter::getCurrentEvent):
17780         (KJS::cacheDOMObject):
17781         (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
17782         * bridge/AXObjectCache.h:
17783         * bridge/mac/BrowserExtensionMac.mm:
17784         (WebCore::BrowserExtensionMac::createNewWindow):
17785         * bridge/mac/FrameMac.h:
17786         * bridge/mac/FrameMac.mm:
17787         (WebCore::FrameMac::loadRequest):
17788         (WebCore::FrameMac::submitForm):
17789         (WebCore::FrameMac::urlSelected):
17790         (WebCore::FrameMac::userAgent):
17791         (WebCore::FrameMac::passMouseDownEventToWidget):
17792         (WebCore::FrameMac::handleMouseMoveEvent):
17793         * bridge/mac/PageMac.mm:
17794         (WebCore::Page::Page):
17795         * bridge/mac/WebCoreEditCommand.mm:
17796         * bridge/mac/WebCoreFrameBridge.h:
17797         * bridge/mac/WebCoreFrameBridge.mm:
17798         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
17799         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
17800         * css/CSSComputedStyleDeclaration.cpp:
17801         (WebCore::):
17802         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
17803         * css/CSSPrimitiveValue.cpp:
17804         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
17805         (WebCore::CSSPrimitiveValue::cleanup):
17806         (WebCore::CSSPrimitiveValue::cssText):
17807         * css/CSSPrimitiveValue.h:
17808         (WebCore::CSSPrimitiveValue::):
17809         * css/CSSValueList.cpp:
17810         (WebCore::CSSValueList::append):
17811         * css/cssparser.cpp:
17812         (WebCore::CSSParser::parseValue):
17813         * css/cssparser.h:
17814         * css/cssstyleselector.cpp:
17815         (WebCore::CSSStyleSelector::applyProperty):
17816         * dom/Document.cpp:
17817         (WebCore::Document::Document):
17818         (WebCore::Document::updateSelection):
17819         (WebCore::Document::implicitClose):
17820         (WebCore::Document::setFocusNode):
17821         * dom/Document.h:
17822         * editing/ReplaceSelectionCommand.h:
17823         * html/HTMLParser.cpp:
17824         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
17825         * loader/mac/FrameLoader.h:
17826         (WebCore::PolicyCheck::request):
17827         * loader/mac/FrameLoader.mm:
17828         (WebCore::FrameLoader::~FrameLoader):
17829         (WebCore::FrameLoader::safeLoad):
17830         (WebCore::FrameLoader::load):
17831         (WebCore::FrameLoader::open):
17832         (WebCore::FrameLoader::stopLoading):
17833         (WebCore::setAllDefersLoading):
17834         (WebCore::FrameLoader::setDefersLoading):
17835         (WebCore::FrameLoader::willSendRequest):
17836         (WebCore::FrameLoader::receivedMainResourceError):
17837         (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
17838         (WebCore::FrameLoader::commitProvisionalLoad):
17839         (WebCore::FrameLoader::checkNavigationPolicy):
17840         (WebCore::FrameLoader::checkContentPolicy):
17841         (WebCore::FrameLoader::cancelContentPolicyCheck):
17842         (WebCore::FrameLoader::stopPolicyCheck):
17843         (WebCore::FrameLoader::checkNewWindowPolicy):
17844         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
17845         (WebCore::FrameLoader::continueAfterNavigationPolicy):
17846         (WebCore::FrameLoader::continueAfterContentPolicy):
17847         (WebCore::FrameLoader::continueAfterWillSubmitForm):
17848         (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
17849         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
17850         (WebCore::FrameLoader::closeDocument):
17851         (WebCore::FrameLoader::transitionToCommitted):
17852         (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
17853         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
17854         (WebCore::FrameLoader::post):
17855         (WebCore::FrameLoader::detachFromParent):
17856         (WebCore::FrameLoader::addExtraFieldsToRequest):
17857         (WebCore::PolicyCheck::PolicyCheck):
17858         (WebCore::PolicyCheck::clear):
17859         (WebCore::PolicyCheck::set):
17860         (WebCore::PolicyCheck::call):
17861         (WebCore::PolicyCheck::dropRequest):
17862         (WebCore::FrameLoaderClient::~FrameLoaderClient):
17863         * loader/mac/WebFormState.h:
17864         * loader/mac/WebFormState.mm:
17865         * loader/mac/WebFrameLoaderClient.h:
17866         * loader/mac/WebLoader.h:
17867         (WebCore::WebResourceLoader::defersLoading):
17868         * loader/mac/WebLoader.mm:
17869         (WebCore::WebResourceLoader::WebResourceLoader):
17870         (WebCore::WebResourceLoader::load):
17871         (WebCore::WebResourceLoader::setDefersLoading):
17872         * loader/mac/WebMainResourceLoader.h:
17873         * loader/mac/WebMainResourceLoader.mm:
17874         (WebCore::MainResourceLoader::MainResourceLoader):
17875         (WebCore::MainResourceLoader::releaseDelegate):
17876         (WebCore::MainResourceLoader::didCancel):
17877         (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
17878         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
17879         (WebCore::MainResourceLoader::willSendRequest):
17880         (WebCore::MainResourceLoader::callContinueAfterContentPolicy):
17881         (WebCore::MainResourceLoader::continueAfterContentPolicy):
17882         (WebCore::MainResourceLoader::didReceiveResponse):
17883         (WebCore::MainResourceLoader::didReceiveData):
17884         (WebCore::MainResourceLoader::didFinishLoading):
17885         (WebCore::MainResourceLoader::didFail):
17886         (WebCore::MainResourceLoader::loadNow):
17887         (WebCore::MainResourceLoader::load):
17888         (WebCore::MainResourceLoader::setDefersLoading):
17889         * page/Frame.cpp:
17890         (WebCore::Frame::paint):
17891         * page/FrameView.cpp:
17892         (WebCore::FrameView::layout):
17893         * page/FrameView.h:
17894         * page/Page.cpp:
17895         (WebCore::Page::setDefersLoading):
17896         * page/Page.h:
17897         (WebCore::Page::defersLoading):
17898         * platform/DeprecatedString.h:
17899         * platform/DeprecatedStringList.h:
17900         * platform/FontFallbackList.h:
17901         * platform/PlatformKeyboardEvent.h:
17902         * platform/PlatformMouseEvent.h:
17903         * platform/PlatformWheelEvent.h:
17904         * platform/mac/ClipboardMac.h:
17905         * platform/mac/ClipboardMac.mm:
17906         (WebCore::ClipboardMac::setDragImage):
17907         (WebCore::ClipboardMac::dragNSImage):
17908         (WebCore::ClipboardMac::sourceOperation):
17909         (WebCore::ClipboardMac::destinationOperation):
17910         * rendering/RenderObject.cpp:
17911         (WebCore::RenderObject::setStyle):
17912         * rendering/break_lines.cpp:
17913         (WebCore::nextBreakablePosition):
17915 2006-10-28  Adam Roben  <aroben@apple.com>
17917         Reviewed by Maciej.
17919         Fix layout tests that broke after r17399. Mitz discovered that the
17920         failures were caused by HitTestResult::m_point being uninitialized
17921         much of the time. HitTestResults are now always constructed with a
17922         point, and RenderLayer::hitTest and RenderLayer::hitTestLayer use that
17923         point instead of being passed one explicitly.
17925         * WebCore.exp: Change constructor symbol.
17926         * bridge/mac/FrameMac.mm:
17927         (WebCore::FrameMac::eventMayStartDrag): Update to new constructor and
17928         hitTest().
17929         (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
17930         * bridge/mac/WebCoreAXObject.mm:
17931         (-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto.
17932         (-[WebCoreAXObject accessibilityHitTest:]): Ditto.
17933         * dom/Document.cpp:
17934         (WebCore::Document::elementFromPoint): Ditto.
17935         (WebCore::Document::prepareMouseEvent): Ditto.
17936         * page/Frame.cpp:
17937         (WebCore::Frame::isPointInsideSelection): Ditto.
17938         (WebCore::Frame::hitTestResultAtPoint): Ditto.
17939         * page/FrameView.cpp:
17940         (WebCore::FrameView::handleWheelEvent): Ditto.
17941         * rendering/HitTestResult.cpp:
17942         (WebCore::HitTestResult::HitTestResult): Initalize m_point with the
17943         passed point.
17944         * rendering/HitTestResult.h: Update constructor declaration.
17945         * rendering/RenderLayer.cpp:
17946         (WebCore::RenderLayer::autoscroll): Update to new constructor and
17947         hitTest().
17948         (WebCore::RenderLayer::hitTest): Use the IntPoint stored in the
17949         HitTestResult instead of being passed one.
17950         (WebCore::RenderLayer::hitTestLayer): Ditto.
17951         * rendering/RenderLayer.h: Update declarations.
17953 2006-10-28  Nikolas Zimmermann  <zimmermann@kde.org>
17955         Reviewed by Anders.
17957         Fix Qt/Linux build.
17959         * CMakeLists.txt:
17960         * platform/qt/FrameQtClient.cpp:
17961         (WebCore::numRequests):
17962         (WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
17963         * platform/qt/PopupMenuQt.cpp:
17964         (WebCore::PopupMenu::updateFromElement):
17966 2006-10-28  David Carson  <dacarson@gmail.com>
17968         Tweaked by Sam. Reviewed by Brady.
17970         Fix for: http://bugs.webkit.org/show_bug.cgi?id=11437
17971         Initialize m_modifyBiasSet to false, as it sometimes gets 
17972         used before it has been initalized.
17974         * editing/SelectionController.cpp:
17975         (WebCore::SelectionController::SelectionController):
17977 2006-10-28  Beth Dakin  <bdakin@apple.com>
17979         Reviewed by Darin.
17981         This is the WebCore half of pushing elementAtPoint and the backend 
17982         of WebElementDictionary into WebCore. Most of the changes below are 
17983         to accommodate one of the following:
17984                 
17985         -NodeInfo is now a stand-alone class called HitTestResult. 
17986                 Previously it was defined in RenderObject.h, but not for 
17987                 any particular reason. The WebElementDictionary 
17988                 functionality that was pushed into WebCore has been pushed 
17989                 specifically into the this class. In fact, 
17990                 WebElementDictionary now keeps a HitTestResult as a member 
17991                 varibale.
17992                 
17993         -The enumeration AccessPolicy is now called 
17994                 ClipboardAccessPolicy and is defined in its own header. It 
17995                 was previously defined in ClipboardMac.h, but is now 
17996                 defined independently to avoid including ClipboardMac.h 
17997                 from within FrameMac.h since FrameMac.h is now included in 
17998                 WebElementDictionary.m in WebKit.
17999                 
18000         -Element now has a virtual target() for the sake of 
18001                 NodeInfo::targetFrame() 
18003         * WebCore.exp: Several WebCore functions are newly called from 
18004         WebKit, so they have been added here. 
18005         * WebCore.xcodeproj/project.pbxproj:
18006         * bindings/objc/DOM.mm: Must include Image.h because of adjustments 
18007         to ClipboardMac.
18008         * bridge/mac/FrameMac.h: Adjust to HitTestResult changes.
18009         * bridge/mac/FrameMac.mm:
18010         (WebCore::FrameMac::freeClipboard): Adjust to ClipboardAccessPolicy 
18011         and HitTestResult changes.
18012         (WebCore::FrameMac::eventMayStartDrag): Same.
18013         (WebCore::FrameMac::handleMouseMoveEvent): Same.
18014         (WebCore::FrameMac::dispatchCPPEvent): Same.
18015         (WebCore::FrameMac::mayDHTMLCut): Same.
18016         (WebCore::FrameMac::mayDHTMLCopy): Same.
18017         (WebCore::FrameMac::mayDHTMLPaste): Same.
18018         (WebCore::FrameMac::tryDHTMLCut): Same
18019         (WebCore::FrameMac::tryDHTMLCopy): Same.
18020         (WebCore::FrameMac::tryDHTMLPaste): Same.
18021         * bridge/mac/WebCoreAXObject.mm:
18022         (-[WebCoreAXObject doAXTextMarkerForPosition:]): Adjust to 
18023         HitTestResult changes.
18024         (-[WebCoreAXObject accessibilityHitTest:]): Same.
18025         * bridge/mac/WebCoreFrameBridge.h: Same.
18026         * bridge/mac/WebCoreFrameBridge.mm:
18027         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]): Adjust for 
18028         ClipboardAccessPolicy changes.
18029         (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): Same.
18030         (-[WebCoreFrameBridge concludeDragForDraggingInfo:]): Same.
18031         * dom/Document.cpp:
18032         (WebCore::Document::elementFromPoint): Adjust for HitTestResult 
18033         changes.
18034         (WebCore::Document::prepareMouseEvent): Same.
18035         * dom/Element.h:
18036         (WebCore::Element::target): Now has a virtual target()
18037         * html/HTMLAnchorElement.h: Same.
18038         * html/HTMLAreaElement.cpp:
18039         (WebCore::HTMLAreaElement::mapMouseEvent): Adjust for HitTestResult 
18040         changes.
18041         * html/HTMLAreaElement.h: Virtual target()
18042         * html/HTMLBaseElement.h:
18043         (WebCore::HTMLBaseElement::target): Same.
18044         * html/HTMLFormElement.h: Same.
18045         * html/HTMLLinkElement.h: Same.
18046         * html/HTMLMapElement.cpp:
18047         (WebCore::HTMLMapElement::mapMouseEvent): Adjust for HitTestResult 
18048         changes.
18049         * html/HTMLMapElement.h: Same.
18050         * page/Frame.cpp:
18051         (WebCore::Frame::isPointInsideSelection): Same.
18052         (WebCore::Frame::hitTestResultAtPoint): Same. 
18053         * page/Frame.h: Same.
18054         * page/FrameView.cpp:
18055         (WebCore::FrameView::handleWheelEvent): Same.
18056         * platform/mac/ClipboardAccessPolicy.h: Added.
18057         (WebCore::):
18058         * platform/mac/ClipboardMac.h: Remove definition of AccessPolicy, 
18059         include ClipboardAccessPolicy.h, and rename AccessPolicy to 
18060         ClipboardAccessPolicy.
18061         * platform/mac/ClipboardMac.mm: Rename ClipboardAccessPolicy.
18062         (WebCore::ClipboardMac::ClipboardMac):
18063         (WebCore::ClipboardMac::setAccessPolicy):
18064         (WebCore::ClipboardMac::clearData):
18065         (WebCore::ClipboardMac::clearAllData):
18066         (WebCore::ClipboardMac::getData):
18067         (WebCore::ClipboardMac::setData):
18068         (WebCore::ClipboardMac::types):
18069         (WebCore::ClipboardMac::setDragImage):
18070         (WebCore::ClipboardMac::setDropEffect):
18071         (WebCore::ClipboardMac::setEffectAllowed):
18072         * rendering/EllipsisBox.cpp:
18073         (WebCore::EllipsisBox::nodeAtPoint): Adjust for HitTestResult 
18074         changes.
18075         * rendering/EllipsisBox.h:
18076         * rendering/HitTestResult.cpp: Added.
18077         (WebCore::HitTestResult::HitTestResult):
18078         (WebCore::HitTestResult::~HitTestResult):
18079         (WebCore::HitTestResult::operator=):
18080         (WebCore::HitTestResult::setInnerNode):
18081         (WebCore::HitTestResult::setInnerNonSharedNode):
18082         (WebCore::HitTestResult::setURLElement):
18083         (WebCore::HitTestResult::setScrollbar):
18084         (WebCore::HitTestResult::targetFrame):
18085         (WebCore::HitTestResult::boundingBox):
18086         (WebCore::HitTestResult::isSelected):
18087         (WebCore::HitTestResult::title):
18088         * rendering/HitTestResult.h: Added.
18089         (WebCore::HitTestResult::readonly):
18090         (WebCore::HitTestResult::active):
18091         (WebCore::HitTestResult::mouseMove):
18092         (WebCore::HitTestResult::innerNode):
18093         (WebCore::HitTestResult::innerNonSharedNode):
18094         (WebCore::HitTestResult::point):
18095         (WebCore::HitTestResult::URLElement):
18096         (WebCore::HitTestResult::scrollbar):
18097         (WebCore::HitTestResult::setPoint):
18098         (WebCore::HitTestResult::setReadonly):
18099         (WebCore::HitTestResult::setActive):
18100         (WebCore::HitTestResult::setMouseMove):
18101         * rendering/InlineBox.cpp:
18102         (WebCore::InlineBox::nodeAtPoint): Adjust to HitTestResult changes.
18103         * rendering/InlineBox.h: Same.
18104         * rendering/InlineFlowBox.cpp:
18105         (WebCore::InlineFlowBox::nodeAtPoint): Same.
18106         * rendering/InlineFlowBox.h: Same.
18107         * rendering/InlineTextBox.cpp: 
18108         (WebCore::InlineTextBox::nodeAtPoint): Same.
18109         * rendering/InlineTextBox.h: Same.
18110         * rendering/RenderBlock.cpp:
18111         (WebCore::RenderBlock::isPointInScrollbar): Same.
18112         (WebCore::RenderBlock::nodeAtPoint): Same.
18113         * rendering/RenderBlock.h: Same.
18114         * rendering/RenderBox.cpp:
18115         (WebCore::RenderBox::nodeAtPoint): Same.
18116         * rendering/RenderBox.h: Same.
18117         * rendering/RenderFlow.cpp:
18118         (WebCore::RenderFlow::hitTestLines): Same.
18119         * rendering/RenderFlow.h: Same.
18120         * rendering/RenderForeignObject.cpp:
18121         (WebCore::RenderForeignObject::nodeAtPoint): Same.
18122         * rendering/RenderForeignObject.h: Same.
18123         * rendering/RenderFrameSet.cpp:
18124         (WebCore::RenderFrameSet::nodeAtPoint): Same.
18125         * rendering/RenderFrameSet.h: Same.
18126         * rendering/RenderImage.cpp:
18127         (WebCore::RenderImage::nodeAtPoint): Same.
18128         * rendering/RenderImage.h: Same.
18129         * rendering/RenderInline.cpp:
18130         (WebCore::RenderInline::nodeAtPoint): Same.
18131         * rendering/RenderInline.h: Same.
18132         * rendering/RenderLayer.cpp:
18133         (WebCore::RenderLayer::autoscroll): Same.
18134         (WebCore::RenderLayer::hitTest): Same.
18135         (WebCore::RenderLayer::hitTestLayer): Same.
18136         (WebCore::RenderLayer::updateHoverActiveState): Same.
18137         * rendering/RenderLayer.h: Same.
18138         * rendering/RenderListBox.cpp:
18139         (WebCore::RenderListBox::isPointInScrollbar): Same.
18140         * rendering/RenderListBox.h: Same.
18141         * rendering/RenderObject.cpp:
18142         (WebCore::RenderObject::hitTest): Same.
18143         (WebCore::RenderObject::setInnerNode): Same.
18144         (WebCore::RenderObject::nodeAtPoint): Same.
18145         * rendering/RenderObject.h: Remove NodeInfo class and forward 
18146         declare HitTestResult.
18147         * rendering/RenderPath.cpp:
18148         (WebCore::RenderPath::nodeAtPoint): Adjust to HitTestResult 
18149         changes.
18150         * rendering/RenderPath.h: Same.
18151         * rendering/RenderSVGImage.cpp:
18152         (WebCore::RenderSVGImage::nodeAtPoint): Same.
18153         * rendering/RenderSVGImage.h: Same
18154         * rendering/RenderSVGText.cpp:
18155         (WebCore::RenderSVGText::nodeAtPoint): Same.
18156         * rendering/RenderSVGText.h: Same.
18157         * rendering/RenderTableRow.cpp:
18158         (WebCore::RenderTableRow::nodeAtPoint): Same.
18159         * rendering/RenderTableRow.h: Same.
18160         * rendering/RenderTableSection.cpp:
18161         (WebCore::RenderTableSection::nodeAtPoint): Same.
18162         * rendering/RenderTableSection.h: Same.
18163         * rendering/RenderText.h: Same.
18164         (WebCore::RenderText::nodeAtPoint): Same.
18165         * rendering/RenderTextControl.cpp:
18166         (WebCore::RenderTextControl::nodeAtPoint): Same.
18167         * rendering/RenderTextControl.h: Same.
18168         * rendering/RootInlineBox.cpp:
18169         (WebCore::RootInlineBox::nodeAtPoint): Same.
18170         * rendering/RootInlineBox.h: Same.
18172 2006-10-27  Maciej Stachowiak  <mjs@apple.com>
18174         Reviewed by Anders.
18176         - reverted fix for http://bugs.webkit.org/show_bug.cgi?id=11212, later we will address the performance
18177         impact of fixing it again.
18179         * bridge/mac/FrameMac.mm:
18180         (WebCore::FrameMac::clear):
18182 2006-10-27  Maciej Stachowiak  <mjs@apple.com>
18184         Reviewed by John & Adam.
18186         - assorted speedups to fix perf regression from fixing correctness regression
18188         * WebCore.exp: exported new methods.
18189         * WebCore.xcodeproj/project.pbxproj: Added CachedResourceMac.mm
18190         * bridge/mac/WebCoreFrameBridge.h:
18191         * bridge/mac/WebCoreFrameBridge.mm:
18192         * loader/CachedResource.cpp: Removed now obsolete getCFURL.
18193         * loader/CachedResource.h:
18194         * loader/mac/CachedResourceMac.mm: Added.
18195         (WebCore::CachedResource::getNSURLRequest): New method; the NSURLRequest is
18196         now cached in the CachedObject.
18197         * loader/mac/FrameLoader.h:
18198         * loader/mac/FrameLoader.mm:
18199         (WebCore::FrameLoader::loadedResourceFromMemoryCache): New method - lets
18200         the WebKit side do faster dispatch for clients that implement the fast path delegate. 
18201         * loader/mac/LoaderFunctionsMac.mm:
18202         (WebCore::CheckCacheObjectStatus): Instead of calling several FrameLoader methods,
18203         just call loadedResourceFromMemoryCache.
18204         * loader/mac/WebFrameLoaderClient.h:
18206 2006-10-27  Oliver Hunt  <oliver@apple.com>
18208         Reviewed by Maciej.
18210         build fix
18212         * dom/Document.cpp:
18213         (WebCore::Document::referrer):
18215 2006-10-27  Geoffrey Garen  <ggaren@apple.com>
18217         Reviewed by Maciej.
18219         Moved some WebCoreFrameBridge functions into FrameLoader.
18220         
18221         I had to make FrameLoader.h capable of compiling in C++-only source files
18222         by adding some forward declarations and __OBJC__ #ifdefs.
18224         * WebCore.exp:
18225         * bridge/mac/FrameMac.h:
18226         * bridge/mac/FrameMac.mm:
18227         (WebCore::FrameMac::createEmptyDocument):
18228         (WebCore::FrameMac::tokenizerProcessedData):
18229         * bridge/mac/WebCoreFrameBridge.h:
18230         * bridge/mac/WebCoreFrameBridge.mm:
18231         * dom/Document.cpp:
18232         (WebCore::Document::processHttpEquiv):
18233         (WebCore::Document::referrer):
18234         * loader/LoaderFunctions.h:
18235         * loader/mac/FrameLoader.h:
18236         * loader/mac/FrameLoader.mm:
18237         (WebCore::numRequests):
18238         (WebCore::FrameLoader::numPendingOrLoadingRequests):
18239         (WebCore::FrameLoader::isReloading):
18240         (WebCore::FrameLoader::referrer):
18241         (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
18242         (WebCore::FrameLoader::startLoadingResource):
18243         * loader/mac/LoaderFunctionsMac.mm:
18244         (WebCore::CheckIfReloading):
18245         * page/Frame.h:
18246         * page/FrameTree.cpp:
18247         (WebCore::FrameTree::isDescendantOf):
18248         (WebCore::FrameTree::traverseNext):
18249         * page/FrameTree.h:
18250         * platform/network/mac/ResourceLoaderMac.mm:
18251         (WebCore::ResourceLoader::start):
18253 2006-10-27  Timothy Hatcher  <timothy@apple.com>
18255         Reviewed by Darin.
18257         <rdar://problem/4478625> HTML Editing: Basic table editing and culling
18259         Expanded the Deletion UI to lists, positioned block element and block elementss with borders.
18261         * editing/DeleteButtonController.cpp:
18262         (WebCore::isDeletableElement):
18263         (WebCore::enclosingDeletableElement):
18264         (WebCore::DeleteButtonController::respondToChangedSelection):
18266 2006-10-27  John Sullivan  <sullivan@apple.com>
18268         Reviewed by Kevin Decker
18269         
18270         Some more grammar-checking plumbing. No additional grammar jokes will have been made by the time
18271         you haven't not finished reading this.
18273         * rendering/InlineTextBox.h:
18274         * rendering/InlineTextBox.cpp:
18275         (WebCore::InlineTextBox::paint):
18276         Updated for changed signature of paintDocumentMarkers, which causes grammar markers to be
18277         considered also.
18278         (WebCore::InlineTextBox::paintDocumentMarkers):
18279         Renamed from paintAllMarkersOfType; now takes a bool for whether background or foreground
18280         markers should be painted, instead of a marker type. This avoids walking the collection of
18281         markers multiple times back to back. Now handles grammar markers.
18283 2006-10-27  Timothy Hatcher  <timothy@apple.com>
18285         Reviewed by Beth.
18287         Renamed Copy Files to Copy Generated Headers.
18288         Copy 4 DOM*Internal.h headers.
18290         * WebCore.xcodeproj/project.pbxproj:
18291         * bindings/scripts/CodeGeneratorObjC.pm:
18293 2006-10-27  John Sullivan  <sullivan@apple.com>
18295         Reviewed by Anders
18297         * WebCore.exp:
18298         exported symbol for FrameMac->advanceToNextSpelling()
18299         
18300         * bridge/mac/WebCoreFrameBridge.h:
18301         * bridge/mac/WebCoreFrameBridge.mm:
18302         removed advanceToNextMisspelling callers. Clients in WebKit must now call FrameMac directly.
18304 2006-10-27  Justin Garcia  <justin.garcia@apple.com>
18306         Reviewed by harrison
18307         
18308         <http://bugs.webkit.org/show_bug.cgi?id=11423>
18309         REGRESSION: First newline missing from textarea's value
18310         
18311         The regression is that foo, return, bar in a textarea serializes as 'foobar'.
18312         
18313         Before my change in r17223, return (an InsertLineBreak) would insert a '\n' 
18314         (the line break) then a br to prevent the '\n' from collapsing, since the 
18315         insertion is being done at the end of a block (the textarea's shadow div).  Then, 
18316         inserting "bar" would displace the br, and "foo\nbar" would serialize as "foo\nbar".  
18317         After my change in r17223, InsertLineBreak would insert a br then a '\n' (reversed 
18318         the order).  Then inserting "bar" would displace the '\n' and "foo"<br>"bar" would 
18319         serialize as "foobar" because when serializing RenderTextControl intentionally asks 
18320         textContent to not convert brs to newlines.  It seems to think that the only brs in 
18321         the shadow div will be placeholders or collapsed.
18322         
18323         We could remove this assumption, but, for consistancy's sake, I changed InsertLineBreak 
18324         to insert two '\n's when at the end of a block in white-space:pre text.  This alone 
18325         would have fixed the bug, but introduced a new one, because foo, return, bar would 
18326         produce "foo\nbar\n" which would serialize as "foo\nbar\n" (even though the second 
18327         '\n' is collapsed, because of 9661).  So, then I changed placeholder displacement to 
18328         displace a '\n' if it's acting as a placeholder.  A "placeholder" is now defined as 
18329         a br or '\n' that will collapse (become superfluous) when content is inserted just 
18330         before it.
18331         
18332         * editing/CompositeEditCommand.cpp:
18333         (WebCore::CompositeEditCommand::removePlaceholderAt): Renamed.  Remove
18334         a br or '\n' if content inserted just before it will cause it to collapse.
18335         * editing/CompositeEditCommand.h:
18336         * editing/InsertLineBreakCommand.cpp:
18337         (WebCore::InsertLineBreakCommand::doApply): Insert the same type of node
18338         to prevent a collapse as was used for the line break.  Fixed comments.
18339         * editing/InsertTextCommand.cpp:
18340         (WebCore::InsertTextCommand::input): Call the renamed function.
18341         
18342 2006-10-27  Geoffrey Garen  <ggaren@apple.com>
18344         Reviewed by Brady.
18346         Fixed semantic inaccuracy in String::operator NSString *(), where a NULL
18347         String became an empty NSString *, instead of nil. This will become important
18348         as we start using this conversion more.
18349         
18350         Added work-around for AppKit crash that semantic accuracy revealed.
18351         
18352         No testcase because I don't think there's a way to reflect this change
18353         in a webpage yet.
18355         * platform/PlatformString.h:
18356         (WebCore::String::operator NSString*):
18357         * platform/mac/TextFieldMac.mm:
18358         (-[NSSearchFieldCell _addStringToRecentSearches:]):
18360 2006-10-27  David Harrison  <harrison@apple.com>
18362         Reviewed by Maciej,
18364         <rdar://problem/4003820> Expose blockquotes in AXAttributedStringForTextMarkerRange
18366         * bridge/mac/WebCoreAXObject.mm:
18367         (blockquoteLevel):
18368         Calculate and return the blockquote level of the element.
18369         
18370         (AXAttributeStringSetBlockquoteLevel):
18371         Add, if non-zero, or clear the block quote level attribute.
18372         
18373         (AXAttributedStringAppendText):
18374         Send AXAttributeStringSetBlockquoteLevel.
18376 2006-10-27  Darin Adler  <darin@apple.com>
18378         - fix one error in the Qt build
18380         * platform/qt/GraphicsContextQt.cpp:
18381         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
18382         Updated.
18384 2006-10-27  Darin Adler  <darin@apple.com>
18386         Reviewed by Maciej.
18388         * WebCore.exp: Export more symbols needed by WebKit.
18390 2006-10-26  Geoffrey Garen  <ggaren@apple.com>
18392         Reviewed by the Baroness Esmeralda Von Scratch N' Purr XIV.
18394         Fixed layout test crash. Oops.
18395         
18396         * loader/mac/WebDocumentLoader.mm:
18397         (WebCore::canonicalizedTitle):
18399 2006-10-26  John Sullivan  <sullivan@apple.com>
18401         Reviewed by Brady
18402         
18403         - fixed <rdar://problem/4806064> Repro crash in FrameMac::loadRequest following iTunes music store link from salon.com
18404         
18405         This restores some of the nil-handling that was implicit before some of the code was converted from
18406         Objective-C to C++.
18408         * bridge/mac/FrameMac.mm:
18409         (WebCore::FrameMac::loadRequest):
18410         handle nil FrameMac
18411         
18412         * bridge/mac/WebCoreFrameBridge.mm:
18413         (-[WebCoreFrameBridge canTargetLoadInFrame:]):
18414         handle nil Frame
18416 2006-10-26  Geoffrey Garen  <ggaren@apple.com>
18418         Reviewed by Darin, Maciej.
18420         Removed many uses of NSString *.
18421         Moved a few methods from WebCoreFrameBridge to FrameLoader, replacing 
18422         stringByCollapsingNonPrintingCharacters with a c++ equivalent.
18423         
18424         PLT says no performance regression.
18425         
18426         * WebCore.exp:
18427         * bridge/mac/WebCoreFrameBridge.mm:
18428         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
18429         * loader/mac/FrameLoader.h:
18430         * loader/mac/FrameLoader.mm:
18431         (WebCore::FrameLoader::setupForReplaceByMIMEType):
18432         (WebCore::FrameLoader::load):
18433         (WebCore::FrameLoader::canShowMIMEType):
18434         (WebCore::FrameLoader::representationExistsForURLScheme):
18435         (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
18436         (WebCore::FrameLoader::checkContentPolicy):
18437         (WebCore::FrameLoader::reloadAllowingStaleData):
18438         (WebCore::FrameLoader::invalidatePendingPolicyDecision):
18439         (WebCore::FrameLoader::checkNewWindowPolicy):
18440         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
18441         (WebCore::FrameLoader::transitionToCommitted):
18442         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
18443         (WebCore::FrameLoader::post):
18444         * loader/mac/WebDocumentLoader.h:
18445         * loader/mac/WebDocumentLoader.mm:
18446         (WebCore::DocumentLoader::doesProgressiveLoad):
18447         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
18448         (WebCore::DocumentLoader::title):
18449         (WebCore::DocumentLoader::setOverrideEncoding):
18450         (WebCore::DocumentLoader::overrideEncoding):
18451         (WebCore::DocumentLoader::setTitle):
18452         * loader/mac/WebFrameLoaderClient.h:
18453         * loader/mac/WebMainResourceLoader.mm:
18454         (WebCore::MainResourceLoader::continueAfterContentPolicy):
18456 2006-10-26  Timothy Hatcher  <timothy@apple.com>
18458         Reviewed by Adam.
18460         <rdar://problem/4796941> Table deletion outline is misplaced at nytimes.com
18462         The main table at nytimes.com has a fixed width of 874px, but the table ends
18463         up overflowing to 963px. We now use overflowWidth() and overflowHeight() to correct
18464         this. The other bug was a missing top and left of 0px on the container element,
18465         causing the deletion UI to sometimes be offset below the table.
18467         Now check for the element's renderer at the beginning of show() and
18468         return early if it is null.
18470         * editing/DeleteButtonController.cpp:
18471         (WebCore::DeleteButtonController::updateOutlineStyle):
18472         (WebCore::DeleteButtonController::show):
18474 2006-10-26  Anders Carlsson  <acarlsson@apple.com>
18476         Build fix.
18478         * html/CanvasRenderingContext2D.cpp:
18479         Include MathExtras.h
18480         
18481 2006-10-26  John Sullivan  <sullivan@apple.com>
18483         Reviewed by Anders.
18485         Some changes to support new grammar checking code in WebKit.
18487         * WebCore.exp:
18488         added mangled symbol for Document->removeMarkers() so I can call it from WebKit
18489         
18490         * WebCore.xcodeproj/project.pbxproj:
18491         Made Document.h and DocumentMarker.h private so I can include them from WebKit.
18492         Made HTMLCollection.h private because Document.h uses it.
18493         
18494         * bridge/mac/WebCoreFrameBridge.h:
18495         * bridge/mac/WebCoreFrameBridge.mm:
18496         removed unmarkAllMisspellings(); WebKit now calls through to the Document directly
18498 2006-10-26  Anders Carlsson  <acarlsson@apple.com>
18500         Reviewed by Brady.
18502         Add reverseFind to String and use it instead of findRev.
18503         Use CString instead of DeprecatedCString in one place.
18504         
18505         * html/HTMLFormElement.cpp:
18506         (WebCore::HTMLFormElement::formData):
18507         * ksvg2/svg/SVGURIReference.cpp:
18508         (WebCore::SVGURIReference::getTarget):
18509         * loader/Decoder.cpp:
18510         (WebCore::Decoder::checkForCSSCharset):
18511         * platform/PlatformString.h:
18512         (WebCore::String::reverseFind):
18513         * platform/StringImpl.cpp:
18514         (WebCore::StringImpl::reverseFind):
18515         * platform/StringImpl.h:
18517 2006-10-26  John Sullivan  <sullivan@apple.com>
18519         Reviewed by Darin
18520         
18521         More plumbing for grammar checking. Still no grammars is checked.
18523         * dom/DocumentMarker.h:
18524         (WebCore::DocumentMarker::):
18525         added Grammar to enum of marker types; removed explicit enum values; removed unnecessary "enum"
18526         
18527         * platform/GraphicsContext.h:
18528         renamed method drawLineForMisspelling to drawLineForMisspellingOrBadGrammar;
18529         now takes a bool parameter for whether it represents bad grammar or a misspelling 
18530         
18531         * platform/mac/GraphicsContextMac.mm:
18532         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
18533         Renamed from drawLineForMisspelling; uses green dot instead of red dot for grammar case. Changed
18534         an existing "assert" to "ASSERT".
18535         
18536         * rendering/InlineTextBox.h:
18537         renamed function paintSpellingMarker to paintSpellingOrGrammarMarker;
18539         * rendering/InlineTextBox.cpp:
18540         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
18541         Renamed from paintSpellingMarker; now takes a bool parameter for whether it represents
18542         bad grammar or a misspelling
18543         (WebCore::InlineTextBox::paintAllMarkersOfType):
18544         now handles markers of type Grammar
18546 === Safari-521.29 ===
18547         
18548 2006-10-26  Sam Weinig  <sam.weinig@gmail.com>
18550         Reviewed by Mitz.
18552         Fix for http://bugs.webkit.org/show_bug.cgi?id=11424
18553         Cleanup rendering code
18555         - Assorted code cleanup.
18557         * rendering/AutoTableLayout.cpp:
18558         * rendering/AutoTableLayout.h:
18559         (WebCore::AutoTableLayout::totalPercent):
18560         * rendering/CounterListItem.h:
18561         * rendering/CounterNode.cpp:
18562         * rendering/CounterNode.h:
18563         (WebCore::CounterNode::~CounterNode):
18564         (WebCore::CounterNode::isReset):
18565         * rendering/CounterResetNode.cpp:
18566         * rendering/CounterResetNode.h:
18567         * rendering/DataRef.h:
18568         (WebCore::DataRef::DataRef):
18569         * rendering/DeprecatedRenderSelect.h:
18570         * rendering/DeprecatedSlider.cpp:
18571         * rendering/DeprecatedSlider.h:
18572         * rendering/EllipsisBox.cpp:
18573         * rendering/EllipsisBox.h:
18574         (WebCore::EllipsisBox::EllipsisBox):
18575         * rendering/FixedTableLayout.cpp:
18576         * rendering/FixedTableLayout.h:
18577         * rendering/GapRects.h:
18578         * rendering/InlineBox.cpp:
18579         * rendering/InlineBox.h:
18580         (WebCore::InlineBox::InlineBox):
18581         (WebCore::InlineBox::setConstructed):
18582         (WebCore::InlineBox::clearTruncation):
18583         (WebCore::InlineBox::markDirty):
18584         * rendering/InlineFlowBox.cpp:
18585         * rendering/InlineFlowBox.h:
18586         (WebCore::InlineFlowBox::InlineFlowBox):
18587         (WebCore::InlineFlowBox::setConstructed):
18588         (WebCore::InlineFlowBox::setEdges):
18589         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
18590         (WebCore::InlineFlowBox::setVerticalSelectionPositions):
18591         * rendering/InlineRunBox.h:
18592         (WebCore::InlineRunBox::paintBackgroundAndBorder):
18593         (WebCore::InlineRunBox::paintDecorations):
18594         * rendering/InlineTextBox.cpp:
18595         * rendering/InlineTextBox.h:
18596         (WebCore::InlineTextBox::InlineTextBox):
18597         (WebCore::InlineTextBox::end):
18598         (WebCore::InlineTextBox::textObject):
18599         * rendering/Length.h:
18600         (WebCore::Length::Length):
18601         * rendering/ListMarkerBox.cpp:
18602         * rendering/ListMarkerBox.h:
18603         * rendering/RenderPartObject.h:
18604         * rendering/RootInlineBox.cpp:
18605         * rendering/RootInlineBox.h:
18606         * rendering/SVGInlineFlowBox.cpp:
18607         * rendering/SVGInlineFlowBox.h:
18608         (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
18609         * rendering/SVGRootInlineBox.cpp:
18610         * rendering/SVGRootInlineBox.h:
18611         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
18612         * rendering/TableLayout.h:
18613         (WebCore::TableLayout::TableLayout):
18614         (WebCore::TableLayout::~TableLayout):
18615         * rendering/bidi.h:
18616         (WebCore::BidiStatus::BidiStatus):
18617         (WebCore::BidiRun::BidiRun):
18618         * rendering/break_lines.h:
18620 2006-10-26  Justin Garcia  <justin.garcia@apple.com>
18622         Reviewed by john
18624         <http://bugs.webkit.org/show_bug.cgi?id=11329>
18625         Gmail Editor: Can't remove styling applied to selection after clicking "Remove Formatting" toolbar icon.
18626         
18627         * editing/Editor.cpp:
18628         (WebCore::Editor::removeFormattingAndStyle): Moved from JSEditor.
18629         Wrapped the plain text fragment in a style span with the document 
18630         default style so that it will appear unstyled regardless of where
18631         it is inserted.  Could have also inserted the plain text fragment 
18632         and then applied the document default style to it, but there is not 
18633         yet any redundant style prevention in ApplyStyleCommand, so this
18634         is cleaner.
18635         * editing/Editor.h:
18636         * editing/JSEditor.cpp:
18638 2006-10-26  Oliver Hunt  <oliver@apple.com>
18640         Reviewed by Anders.
18641         Fixes <rdar://problem/4800518> -- needed to update existing
18642         canvas path elements when transforms are performed on the
18643         context.
18645         * html/CanvasRenderingContext2D.cpp:
18646         (WebCore::CanvasRenderingContext2D::scale):
18647         (WebCore::CanvasRenderingContext2D::rotate):
18648         (WebCore::CanvasRenderingContext2D::translate):
18650 2006-10-26  Nikolas Zimmermann  <zimmermann@kde.org>
18652         Reviewed by Darin.
18654         Fix Qt/Linux build.
18656         * platform/network/qt/ResourceLoaderManager.cpp:
18657         (WebCore::ResourceLoaderManager::slotData):
18658         (WebCore::ResourceLoaderManager::slotMimetype):
18659         (WebCore::ResourceLoaderManager::remove):
18660         (WebCore::ResourceLoaderManager::add):
18661         * platform/network/qt/ResourceLoaderQt.cpp:
18662         (WebCore::ResourceLoader::receivedResponse):
18663         * platform/qt/FrameQtClient.cpp:
18664         (WebCore::FrameQtClientDefault::openURL):
18665         * platform/qt/LoaderFunctionsQt.cpp:
18666         (WebCore::ServeSynchronousRequest):
18668 2006-10-26  Adam Roben  <aroben@apple.com>
18670         Reviewed by Adele.
18672         Fix: <rdar://problem/3951815> add "type-to-select" feature for list
18673         boxes (<select> elements)
18674         Fix: http://bugs.webkit.org/show_bug.cgi?id=9764 New popup menus
18675         should have type-ahead selection without popping up menu
18677         * WebCore.xcodeproj/project.pbxproj: Version wars.
18678         * html/HTMLSelectElement.h: Add new instance variables for type-ahead
18679         find.
18680         * html/HTMLSelectElement.cpp:
18681         (WebCore::HTMLSelectElement::HTMLSelectElement): Initialize new
18682         instance variables.
18683         (WebCore::HTMLSelectElement::defaultEventHandler): Perform type-ahead
18684         find on printable character presses.
18685         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Remove
18686         redundant check that the listIndex has changed (setSelectedIndex does
18687         this for us), and fix indentation.
18688         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Change an if
18689         to an else-if.
18690         (WebCore::stripLeadingWhiteSpace): Helper function for typeAheadFind()
18691         to strip leading whitespace (including non-breaking spaces) from a
18692         string.
18693         (WebCore::HTMLSelectElement::typeAheadFind): New method to perform
18694         type-ahead find.
18695         * platform/PopupMenu.h: Added new updateFromElement() method to be
18696         called from RenderMenuList::updateFromElement().
18697         * platform/mac/PopupMenuMac.mm:
18698         (WebCore::PopupMenu::updateFromElement): While we are using
18699         NSPopUpButtonCell for our popups, this method can stay empty.
18700         * rendering/RenderListBox.cpp:
18701         (WebCore::RenderListBox::updateFromElement): Scroll to reveal the first
18702         selected element.
18703         * rendering/RenderMenuList.cpp:
18704         (WebCore::RenderMenuList::updateFromElement): Tell the popup to update
18705         if it's visible.
18707 2006-10-26  Darin Adler  <darin@apple.com>
18709         Reviewed by Anders.
18711         - fix http://bugs.webkit.org/show_bug.cgi?id=11360
18712           editing/pasteboard/copy-paste-bidi intermittently fails due to disappearance of anonymous RenderBlock
18714         * editing/ReplaceSelectionCommand.cpp:
18715         (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
18716         Use two vectors instead of a hash map: more efficient, deterministic. There was no
18717         reason to use a hash table.
18719 2006-10-26  Maciej Stachowiak  <mjs@apple.com>
18721         Reviewed by Anders.
18723         - .5% speed improvement by avoiding excess CFURLRef allocation
18725         * loader/CachedResource.cpp:
18726         (WebCore::CachedResource::getCFURL): New method. For Mac only (for now), cache the CFURL
18727         here for later reuse.
18728         * loader/CachedResource.h:
18729         * loader/mac/LoaderFunctionsMac.mm:
18730         (WebCore::CheckCacheObjectStatus): Use the cached CFURL, don't make a whole new one.
18732 2006-10-25  Darin Adler  <darin@apple.com>
18734         Reviewed by Anders.
18736         - removed 55 methods from WebCoreFrameBridge
18737         - changed callers to use Frame directly instead
18738         - put FrameLoaderTypes.h types into the WebCore namespace
18739         - first steps to get FrameLoader.h ready for cross-platform duty
18741         * WebCore.exp:
18742         * WebCore.xcodeproj/project.pbxproj:
18743         * bridge/mac/BrowserExtensionMac.mm:
18744         (WebCore::BrowserExtensionMac::createNewWindow):
18745         * bridge/mac/FrameMac.h:
18746         * bridge/mac/FrameMac.mm:
18747         (WebCore::FrameMac::loadRequest):
18748         (WebCore::FrameMac::startRedirectionTimer):
18749         (WebCore::FrameMac::stopRedirectionTimer):
18750         (WebCore::FrameMac::passSubframeEventToSubframe):
18751         (WebCore::FrameMac::handledOnloadEvents):
18752         (WebCore::FrameMac::isLoadTypeReload):
18753         * bridge/mac/WebCoreFrameBridge.h:
18754         * bridge/mac/WebCoreFrameBridge.mm:
18755         (-[WebCoreFrameBridge executionContextForView:]):
18756         (updateRenderingForBindings):
18757         (-[WebCoreFrameBridge canTargetLoadInFrame:]):
18758         (-[WebCoreFrameBridge forceLayoutAdjustingViewSize:]):
18759         (-[WebCoreFrameBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
18760         (-[WebCoreFrameBridge installInFrame:]):
18761         (-[WebCoreFrameBridge numPendingOrLoadingRequests]):
18762         (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
18763         (-[WebCoreFrameBridge baseWritingDirectionForSelectionStart]):
18764         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
18765         (stringByCollapsingNonPrintingCharacters):
18766         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
18767         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
18768         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
18769         * loader/FrameLoaderTypes.h:
18770         * loader/mac/FrameLoader.h:
18771         * loader/mac/FrameLoader.mm:
18772         (WebCore::FrameLoader::FrameLoader):
18773         (WebCore::FrameLoader::setupForReplace):
18774         (WebCore::FrameLoader::load):
18775         (WebCore::FrameLoader::activeDocumentLoader):
18776         (WebCore::FrameLoader::state):
18777         (WebCore::FrameLoader::setState):
18778         (WebCore::FrameLoader::clearProvisionalLoad):
18779         (WebCore::FrameLoader::markLoadComplete):
18780         (WebCore::FrameLoader::commitProvisionalLoad):
18781         (WebCore::FrameLoader::receivedMainResourceError):
18782         (WebCore::FrameLoader::handleFallbackContent):
18783         (WebCore::FrameLoader::isLoadingMainFrame):
18784         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
18785         (WebCore::FrameLoader::continueAfterNavigationPolicy):
18786         (WebCore::FrameLoader::continueAfterWillSubmitForm):
18787         (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
18788         (WebCore::FrameLoader::transitionToCommitted):
18789         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
18790         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
18791         (-[WebCoreFrameLoaderAsDelegate continueAfterNewWindowPolicy:]):
18792         (-[WebCoreFrameLoaderAsDelegate continueAfterNavigationPolicy:]):
18793         (-[WebCoreFrameLoaderAsDelegate continueAfterWillSubmitForm:]):
18794         * loader/mac/ImageDocumentMac.mm:
18795         (WebCore::finishImageLoad):
18796         * loader/mac/WebDocumentLoader.mm:
18797         (WebCore::DocumentLoader::isLoadingInAPISense):
18798         * loader/mac/WebMainResourceLoader.h:
18799         * loader/mac/WebMainResourceLoader.mm:
18800         (WebCore::MainResourceLoader::continueAfterContentPolicy):
18801         (-[WebCoreMainResourceLoaderAsPolicyDelegate continueAfterContentPolicy:]):
18802         * loader/mac/WebSubresourceLoader.mm:
18803         (-[WebCoreSubresourceHandle initWithLoader:]):
18804         * platform/mac/ListBoxMac.mm:
18805         (-[WebCoreTableView keyDown:]):
18806         (-[WebCoreTableView keyUp:]):
18807         * platform/mac/WebCoreTextField.mm:
18808         (-[WebCoreTextFieldController textView:shouldHandleEvent:]):
18810 2006-10-25  Steve Falkenburg  <sfalken@apple.com>
18812         Reviewed by Darin.
18814         Printing fixes
18816         * page/Frame.cpp:
18817         (WebCore::Frame::adjustPageHeight):
18818         * page/Frame.h:
18819         (WebCore::Frame::setupRootForPrinting):
18820         (WebCore::Frame::computePageRects):
18822 2006-10-25  Anders Carlsson  <acarlsson@apple.com>
18824         Reviewed by Geoff.
18826         <rdar://problem/4799088>
18827         REGRESSION: Translation widget fails to convert data and reports a "Data unavailable" error.
18829         * loader/mac/WebSubresourceLoader.h:
18830         * loader/mac/WebSubresourceLoader.mm:
18831         (-[WebCoreSubresourceHandle initWithLoader:]):
18832         Set the HTTP method before the HTTP body.
18834 2006-10-25  Geoffrey Garen  <ggaren@apple.com>
18836         Reviewed by Adam.
18838         Renamed WebFrameLoader to FrameLoader, to match class name.
18840         * WebCore.xcodeproj/project.pbxproj:
18841         * bridge/mac/FrameMac.mm:
18842         * bridge/mac/WebCoreFrameBridge.mm:
18843         * loader/mac/FrameLoader.mm: Added.
18844         * loader/mac/IconLoaderMac.mm:
18845         * loader/mac/WebDocumentLoader.mm:
18846         * loader/mac/WebFrameLoader.h: Removed.
18847         * loader/mac/WebFrameLoader.mm: Removed.
18848         * loader/mac/WebLoader.mm:
18849         * loader/mac/WebMainResourceLoader.mm:
18850         * loader/mac/WebNetscapePlugInStreamLoader.mm:
18851         * loader/mac/WebSubresourceLoader.mm:
18853 2006-10-25  Darin Adler  <darin@apple.com>
18855         - fix full builds
18857         * WebCore.xcodeproj/project.pbxproj: Mark bridge/mac/WebCoreResourceLoader.h as private.
18859 2006-10-25  David Smith  <catfish.man@gmail.com>
18861         Reviewed by Mitz.
18863         Fixed REGRESSION (r17280): Repro crash when clicking a link with target="_blank"
18864         http://bugs.webkit.org/show_bug.cgi?id=11411
18866         * bridge/mac/WebCoreFrameBridge.mm:
18867         (-[WebCoreFrameBridge canTargetLoadInFrame:]): Check that the target has a frame before using it.
18869 2006-10-25  Maciej Stachowiak  <mjs@apple.com>
18871         Rubber stamped by Mitz.
18873         - moved some files that are essentially part of the ResourceLoader implementation to platform/network/mac
18875         * WebCore.xcodeproj/project.pbxproj:
18876         * bridge/mac/WebCoreResourceLoader.h: Moved to platform/network/mac.
18877         * bridge/mac/WebCoreResourceLoaderImp.h: Moved to platform/network/mac.
18878         * bridge/mac/WebCoreResourceLoaderImp.mm: Moved to platform/network/mac.
18880 2006-10-25  Maciej Stachowiak  <mjs@apple.com>
18882         Rubber stamped by Mark.
18884         - remove no longer existing symbol that was breaking linking
18886         * WebCore.exp:
18888 2006-10-25  Maciej Stachowiak  <mjs@apple.com>
18890         Reviewed by Mitz.
18891         
18892         - fixed "REGRESSION: Activity window doesn't always list all files until refresh"
18893         http://bugs.webkit.org/show_bug.cgi?id=11212
18895         I couldn't figure out how to write a test case.
18897         * bindings/js/kjs_window.cpp:
18898         (KJS::Window::clear): Avoid crashing if already detached.
18899         * bridge/mac/FrameMac.h:
18900         * bridge/mac/FrameMac.mm:
18901         (WebCore::FrameMac::clear): Change prototype to make this a proper
18902         overload for Frame::clear once again(!).
18904 2006-10-24  Darin Adler  <darin@apple.com>
18906         Reviewed by Anders.
18908         - converted WebFrameLoaderClient to C++
18909         - renamed frame->frameLoader() function to frame->loader()
18910         - renamed [bridge impl] to [bridge _frame]
18911         - removed some bridge methods
18913         * WebCore.exp: Added more exports.
18914         * WebCore.xcodeproj/project.pbxproj: Made FrameTree.h private instead of project-internal
18915         so it can be used in WebKit.
18917         * bridge/mac/BrowserExtensionMac.mm:
18918         (WebCore::BrowserExtensionMac::createNewWindow):
18919         * bridge/mac/FrameMac.mm:
18920         (WebCore::FrameMac::createFrame):
18921         (WebCore::FrameMac::didFirstLayout):
18922         * bridge/mac/WebCoreAXObject.mm:
18923         (-[WebCoreAXObject rendererForView:]):
18924         * bridge/mac/WebCoreFrameBridge.h:
18925         * bridge/mac/WebCoreFrameBridge.mm:
18926         (-[WebCoreFrameBridge _shouldAllowAccessFrom:]):
18927         (-[WebCoreFrameBridge canTargetLoadInFrame:]):
18928         (-[WebCoreFrameBridge setOpener:]):
18929         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
18930         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
18931         (-[WebCoreFrameBridge setTitle:]):
18932         (-[WebCoreFrameBridge originalRequestURL]):
18933         (-[WebCoreFrameBridge isLoadTypeReload]):
18934         (-[WebCoreFrameBridge frameDetached]):
18935         (-[WebCoreFrameBridge tokenizerProcessedData]):
18936         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
18937         (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
18938         (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
18939         (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
18940         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
18941         (-[WebCoreFrameBridge incomingReferrer]):
18942         (-[WebCoreFrameBridge isReloading]):
18943         (-[WebCoreFrameBridge handledOnloadEvents]):
18944         (-[WebCoreFrameBridge mainResourceURLResponse]):
18945         (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
18946         (-[WebCoreFrameBridge _frame]):
18947         (-[WebCoreFrameBridge executionContextForView:]):
18948         * bridge/mac/WebCorePageBridge.mm:
18949         (-[WebCorePageBridge setMainFrame:]):
18950         * dom/Position.cpp:
18951         (WebCore::Position::upstream):
18952         * loader/mac/IconLoaderMac.mm:
18953         (IconLoader::notifyIconChanged):
18954         * loader/mac/WebDocumentLoader.mm:
18955         (WebCore::DocumentLoader::frameLoader):
18956         (WebCore::DocumentLoader::stopLoading):
18957         (WebCore::DocumentLoader::finishedLoading):
18958         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
18959         * loader/mac/WebFormState.mm:
18960         (WebCore::FormState::FormState):
18961         * loader/mac/WebFrameLoader.h:
18962         * loader/mac/WebFrameLoader.mm:
18963         (WebCore::FrameLoader::~FrameLoader):
18964         (WebCore::FrameLoader::prepareForLoadStart):
18965         (WebCore::FrameLoader::finalSetupForReplace):
18966         (WebCore::FrameLoader::safeLoad):
18967         (WebCore::FrameLoader::load):
18968         (WebCore::FrameLoader::startLoading):
18969         (WebCore::FrameLoader::stopLoadingSubframes):
18970         (WebCore::FrameLoader::stopLoading):
18971         (WebCore::FrameLoader::cancelPendingArchiveLoad):
18972         (WebCore::FrameLoader::defersCallbacksChanged):
18973         (WebCore::FrameLoader::setDefersCallbacks):
18974         (WebCore::FrameLoader::setDocumentLoader):
18975         (WebCore::FrameLoader::provisionalLoadStarted):
18976         (WebCore::FrameLoader::clearProvisionalLoad):
18977         (WebCore::FrameLoader::identifierForInitialRequest):
18978         (WebCore::FrameLoader::willSendRequest):
18979         (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
18980         (WebCore::FrameLoader::didCancelAuthenticationChallenge):
18981         (WebCore::FrameLoader::didReceiveResponse):
18982         (WebCore::FrameLoader::didReceiveData):
18983         (WebCore::FrameLoader::didFinishLoad):
18984         (WebCore::FrameLoader::didFailToLoad):
18985         (WebCore::FrameLoader::privateBrowsingEnabled):
18986         (WebCore::FrameLoader::receivedMainResourceError):
18987         (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
18988         (WebCore::FrameLoader::clientRedirected):
18989         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
18990         (WebCore::FrameLoader::closeOldDataSources):
18991         (WebCore::FrameLoader::opened):
18992         (WebCore::FrameLoader::commitProvisionalLoad):
18993         (WebCore::FrameLoader::download):
18994         (WebCore::FrameLoader::finishedLoading):
18995         (WebCore::FrameLoader::notifyIconChanged):
18996         (WebCore::FrameLoader::cancelledError):
18997         (WebCore::FrameLoader::fileDoesNotExistError):
18998         (WebCore::FrameLoader::willUseArchive):
18999         (WebCore::FrameLoader::isArchiveLoadPending):
19000         (WebCore::FrameLoader::handleUnimplementablePolicy):
19001         (WebCore::FrameLoader::cannotShowMIMEType):
19002         (WebCore::FrameLoader::interruptionForPolicyChangeError):
19003         (WebCore::FrameLoader::canShowMIMEType):
19004         (WebCore::FrameLoader::representationExistsForURLScheme):
19005         (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
19006         (WebCore::FrameLoader::checkContentPolicy):
19007         (WebCore::FrameLoader::reloadAllowingStaleData):
19008         (WebCore::FrameLoader::reload):
19009         (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
19010         (WebCore::FrameLoader::finishedLoadingDocument):
19011         (WebCore::FrameLoader::committedLoad):
19012         (WebCore::FrameLoader::revertToProvisional):
19013         (WebCore::FrameLoader::setMainDocumentError):
19014         (WebCore::FrameLoader::mainReceivedCompleteError):
19015         (WebCore::FrameLoader::subframeIsLoading):
19016         (WebCore::FrameLoader::willChangeTitle):
19017         (WebCore::FrameLoader::didChangeTitle):
19018         (WebCore::FrameLoader::checkNewWindowPolicy):
19019         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
19020         (WebCore::FrameLoader::checkNavigationPolicy):
19021         (WebCore::FrameLoader::continueAfterNavigationPolicy):
19022         (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
19023         (WebCore::FrameLoader::didFirstLayout):
19024         (WebCore::FrameLoader::frameLoadCompleted):
19025         (WebCore::FrameLoader::transitionToCommitted):
19026         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
19027         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
19028         (WebCore::FrameLoader::sendRemainingDelegateMessages):
19029         (WebCore::FrameLoader::requestFromDelegate):
19030         (WebCore::FrameLoader::post):
19031         (WebCore::FrameLoader::detachChildren):
19032         (WebCore::FrameLoader::detachFromParent):
19033         (WebCore::FrameLoader::addExtraFieldsToRequest):
19034         (WebCore::FrameLoader::actionInformation):
19035         (WebCore::FrameLoader::checkLoadComplete):
19036         (WebCore::FrameLoader::setClient):
19037         (WebCore::FrameLoader::client):
19038         (WebCore::FrameLoaderClient::~FrameLoaderClient):
19039         * loader/mac/WebFrameLoaderClient.h:
19040         * loader/mac/WebLoader.mm:
19041         (WebCore::WebResourceLoader::frameLoader):
19042         * loader/mac/WebSubresourceLoader.mm:
19043         (-[WebCoreSubresourceHandle initWithLoader:]):
19044         * page/Frame.cpp:
19045         (WebCore::Frame::loader):
19046         * page/Frame.h:
19047         * platform/mac/SliderMac.mm:
19048         (Slider::focusPolicy):
19050 2006-10-24  Darin Adler  <darin@apple.com>
19052         Rubber stamped by Anders.
19054         - get rid of the assertion firing while running the layout tests
19056         This does not fix the real problem, which is that we need to map offsets within
19057         possibly-text-transformed text in the render tree to DOM tree offsets and vice
19058         versa -- but it gets the tests running again.
19060         * dom/Position.cpp: (WebCore::Position::upstream): Commented out the assertion.
19062 2006-10-24  Maciej Stachowiak  <mjs@apple.com>
19064         Reviewed by Oliver.
19066         - more ResourceLoader cleanup
19067             - moved HTTPHeaderMap out of ResourceRequest class, so ResourceResponse will be able to use it too
19068             - took out attempts to suppress setting of "HEAD" and "GET" methods, since underlying bugs are now fixed
19069         
19070         * loader/LoaderFunctions.h:
19071         * loader/mac/LoaderFunctionsMac.mm:
19072         (WebCore::ServeSynchronousRequest):
19073         * loader/mac/WebSubresourceLoader.mm:
19074         (-[WebCoreSubresourceHandle initWithLoader:]):
19075         * platform/network/HTTPHeaderMap.h: Added.
19076         * platform/network/ResourceLoader.cpp:
19077         (WebCore::ResourceLoader::requestHeaders):
19078         * platform/network/ResourceLoader.h:
19079         * platform/network/ResourceRequest.h:
19080         * platform/network/cf/ResourceLoaderCFNet.cpp:
19081         (WebCore::addHeadersFromHashMap):
19082         * xml/xmlhttprequest.cpp:
19083         (WebCore::XMLHttpRequest::send):
19084         * xml/xmlhttprequest.h:
19086 2006-10-24  Justin Garcia  <justin.garcia@apple.com>
19088         Reviewed by darin
19090         <http://bugs.webkit.org/show_bug.cgi?id=10993>
19091         GMail Editor: Caret doesn't always position itself after list marker
19092         
19093         List creation uses moveParagraphs to push content into list items.  
19094         moveParagraphs uses a TextIterator to restore selections after moves.
19095         Some characters emitted by the TextIterator had bad ranges associated
19096         with them.  rangeFromLocationAndLength would skip past the range it
19097         should have used when asked for ranges of length 0.
19099         * editing/TextIterator.cpp:
19100         (WebCore::TextIterator::TextIterator): No longer need to initialize a
19101         removed member variable.
19102         (WebCore::TextIterator::advance): An extra newline is emitted when leaving
19103         some blocks.  Use the same range for this newline as for the first newline.
19104         We should remove this code and just emit two '\n's.
19105         (WebCore::TextIterator::handleTextNode): Setup m_range.
19106         (WebCore::TextIterator::handleTextBox): Ditto.
19107         (WebCore::TextIterator::handleReplacedElement): Ditto.
19108         (WebCore::TextIterator::handleNonTextNode): Ditto.
19109         (WebCore::TextIterator::exitNode): Use an m_range from the last VisiblePosition
19110         in the block we're leaving to that VP after that one.
19111         (WebCore::TextIterator::emitCharacter): This function now takes in the start
19112         and the end of the range associated with the emited character, and sets up m_range.
19113         (WebCore::TextIterator::range): Return m_range.  If it is null (we are atEnd), 
19114         return the end of the range used to create the iterator, as a convenience to
19115         callers that use call range() on an iterator that is atEnd.
19116         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
19117         Same as the changes made to TextIterator's constructor.
19118         (WebCore::SimplifiedBackwardsTextIterator::advance): Use a null m_range instead of
19119         a null m_positionNode to signal that we're finished.
19120         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
19121         (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): Similar to changes
19122         made to TextIterator.
19123         (WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
19124         (WebCore::SimplifiedBackwardsTextIterator::emitNewline): Simplified.
19125         (WebCore::SimplifiedBackwardsTextIterator::range): Similar to the changes made to
19126         TextIterator::range.
19127         (WebCore::CharacterIterator::range): This function assumed that an iterator's
19128         range() was safe to modify.
19129         (WebCore::TextIterator::rangeFromLocationAndLength):
19130         If the range we're looking for starts in the current chunk, this function assumed
19131         that if the chunk started in a text node, it would end in the same text node.  This
19132         is no longer the case.
19133         If the range we're looking for starts in the middle of the current chunk, I assume
19134         that the chunk is inside a text node, because those are the only chunks with length
19135         greater than one at the moment.
19136         If the range we're looking for is a zero length range that starts/ends at the end of the
19137         current chunk, we used to return the start of the next chunk, but that's wrong and
19138         is what caused this bug.
19139         * editing/TextIterator.h:
19140         (WebCore::TextIterator::atEnd): The iterator is atEnd when m_range is null.
19141         (WebCore::SimplifiedBackwardsTextIterator::atEnd):
19142         * editing/visible_units.cpp:
19143         (WebCore::previousBoundary): Cleaned up by using a convenience function.
19144         (WebCore::nextBoundary): Ditto.
19146 2006-10-24  Anders Carlsson  <acarlsson@apple.com>
19148         Reviewed by Maciej.
19150         * platform/network/mac/ResourceLoaderMac.mm:
19151         (WebCore::ResourceLoader::start):
19152         Don't retain the header dictionary.
19154 2006-10-24  Geoffrey Garen  <ggaren@apple.com>
19156         Reviewed by Anders.
19158         Fixed http://bugs.webkit.org/show_bug.cgi?id=11404
19159         REGRESSION: Reproducible assertion failure in Shared<WebCore::StringImpl>::ref() 
19160         running svg/custom/svg/custom/gradient-attr-update.svg
19161         
19162         SVGRenderStyle wasn't ref-ing the shared objects it held onto. Oops.
19164         * ksvg2/css/SVGRenderStyle.h:
19165         * ksvg2/css/SVGRenderStyleDefs.h:
19167 2006-10-24  Anders Carlsson  <acarlsson@apple.com>
19169         Reviewed by Mitz.
19171         * platform/network/ResourceRequest.h:
19172         (WebCore::ResourceRequest::ResourceRequest):
19173         Set the http method to "GET" in the constructor that takes a String.
19175 2006-10-24  Sam Weinig  <sam.weinig@gmail.com>
19177         Reviewed by Tim H.
19179         Move kcanvas/Render* and kcanvas/SVG* to rendering/Render*
19180         and rendering/SVG* respectively.  Fix Xcode project and
19181         CMakeLists.txt to account for the moves.
19183         * CMakeLists.txt:
19184         * WebCore.xcodeproj/project.pbxproj:
19185         * kcanvas/RenderForeignObject.cpp: Removed.
19186         * kcanvas/RenderForeignObject.h: Removed.
19187         * kcanvas/RenderPath.cpp: Removed.
19188         * kcanvas/RenderPath.h: Removed.
19189         * kcanvas/RenderSVGContainer.cpp: Removed.
19190         * kcanvas/RenderSVGContainer.h: Removed.
19191         * kcanvas/RenderSVGImage.cpp: Removed.
19192         * kcanvas/RenderSVGImage.h: Removed.
19193         * kcanvas/RenderSVGInline.cpp: Removed.
19194         * kcanvas/RenderSVGInline.h: Removed.
19195         * kcanvas/RenderSVGInlineText.cpp: Removed.
19196         * kcanvas/RenderSVGInlineText.h: Removed.
19197         * kcanvas/RenderSVGTSpan.cpp: Removed.
19198         * kcanvas/RenderSVGTSpan.h: Removed.
19199         * kcanvas/RenderSVGText.cpp: Removed.
19200         * kcanvas/RenderSVGText.h: Removed.
19201         * kcanvas/SVGInlineFlowBox.cpp: Removed.
19202         * kcanvas/SVGInlineFlowBox.h: Removed.
19203         * kcanvas/SVGRootInlineBox.cpp: Removed.
19204         * kcanvas/SVGRootInlineBox.h: Removed.
19206 2006-10-24  Geoffrey Garen  <ggaren@apple.com>
19208         Rolling back in, now fixed:
19209         
19210         Nixed a few more redundant loading functions in Frame. Did my best to update
19211         the non-Mac builds.
19213         * bridge/mac/FrameMac.h:
19214         * bridge/mac/FrameMac.mm:
19215         (WebCore::FrameMac::urlSelected): Kept always 'true' argument for userGesture
19216         always 'true', because changing it broke the world, and testing seems to
19217         indicate that the one caller that might have passed 'false' didn't need to.
19218         * page/Frame.cpp:
19219         (WebCore::Frame::requestFrame):
19220         (WebCore::Frame::frameLoader):
19221         (WebCore::Frame::redirectionTimerFired):
19222         * page/Frame.h:
19223         * platform/gdk/FrameGdk.cpp:
19224         * platform/gdk/FrameGdk.h:
19225         * platform/gdk/TemporaryLinkStubs.cpp:
19226         (FrameGdk::issueCopyCommand):
19227         * platform/qt/FrameQt.cpp:
19228         * platform/qt/FrameQt.h:
19229         * platform/win/TemporaryLinkStubs.cpp:
19230         (WebCore::FrameWin::shouldInterruptJavaScript):
19231         (WebCore::FrameWin::issueCopyCommand):
19233 2006-10-24  Anders Carlsson  <acarlsson@apple.com>
19235         Fix the build (Update for changes to ResourceLoader)
19236         
19237         * platform/network/cf/ResourceLoaderCFNet.cpp:
19238         (WebCore::addHeadersFromHashMap):
19239         (WebCore::ResourceLoader::start):
19240         (WebCore::ResourceLoader::cancel):
19242 2006-10-24  Sam Weinig  <sam.weinig@gmail.com>
19244         Reviewed by Mitz.
19246         Change #includes using <kcanvas/*.h> to use "*.h" instead
19247         to prepare for moving the kcanvas files.
19249         * kcanvas/RenderSVGContainer.h:
19250         * ksvg2/svg/SVGAElement.cpp:
19251         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
19252         * ksvg2/svg/SVGFETileElement.cpp:
19253         * ksvg2/svg/SVGStyledLocatableElement.cpp:
19254         * ksvg2/svg/SVGStyledTransformableElement.cpp:
19256 2006-10-24  Maciej Stachowiak  <mjs@apple.com>
19258         Reviewed by Darin.
19260         - More movement towards the final network API.
19261         
19262         Changed ResourceLoader::create to take a ResurceRequest and start
19263         the load. Removed methods relating to setting request
19264         headers. Removed methods relating to metaData. Added some more
19265         convenience methods to ResourceRequest.
19267         * dom/XMLTokenizer.cpp:
19268         (WebCore::openFunc):
19269         * loader/LoaderFunctions.h:
19270         * loader/icon/IconLoader.cpp:
19271         (IconLoader::startLoading):
19272         (IconLoader::didFinishLoading):
19273         * loader/icon/IconLoader.h:
19274         * loader/loader.cpp:
19275         (WebCore::Loader::servePendingRequests):
19276         * loader/mac/LoaderFunctionsMac.mm:
19277         (WebCore::ServeSynchronousRequest):
19278         * platform/gdk/FrameGdk.cpp:
19279         (WebCore::FrameGdkClientDefault::openURL):
19280         (WebCore::FrameGdkClientDefault::submitForm):
19281         * platform/network/ResourceLoader.cpp:
19282         (WebCore::ResourceLoader::ResourceLoader):
19283         (WebCore::ResourceLoader::create):
19284         (WebCore::ResourceLoader::responseHTTPHeadersAsString):
19285         (WebCore::ResourceLoader::url):
19286         (WebCore::ResourceLoader::postData):
19287         (WebCore::ResourceLoader::method):
19288         (WebCore::ResourceLoader::client):
19289         * platform/network/ResourceLoader.h:
19290         * platform/network/ResourceLoaderInternal.h:
19291         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
19292         * platform/network/ResourceRequest.h:
19293         (WebCore::ResourceRequest::ResourceRequest):
19294         (WebCore::ResourceRequest::httpAccept):
19295         (WebCore::ResourceRequest::setHTTPAccept):
19296         (WebCore::ResourceRequest::addHTTPHeaderFields):
19297         * platform/network/mac/ResourceLoaderMac.mm:
19298         (WebCore::ResourceLoader::start):
19299         (WebCore::ResourceLoader::receivedResponse):
19300         * platform/qt/FrameQtClient.cpp:
19301         (WebCore::FrameQtClientDefault::openURL):
19302         (WebCore::FrameQtClientDefault::submitForm):
19303         * platform/win/TemporaryLinkStubs.cpp:
19304         (WebCore::ResourceLoader::retrieveResponseEncoding):
19305         * xml/XSLTProcessor.cpp:
19306         (WebCore::docLoaderFunc):
19307         * xml/xmlhttprequest.cpp:
19308         (WebCore::XMLHttpRequest::send):
19309         (WebCore::XMLHttpRequest::didFinishLoading):
19310         (WebCore::XMLHttpRequest::didReceiveData):
19311         * xml/xmlhttprequest.h:
19313 2006-10-24  Anders Carlsson  <acarlsson@apple.com>
19315         Reviewed by Geoff.
19317         * loader/FormData.cpp:
19318         (WebCore::FormData::FormData):
19319         * loader/FormData.h:
19320         (WebCore::FormData::FormData):
19321         Add new constructor that takes a void* and a size.
19323 2006-10-24  Geoffrey Garen  <ggaren@apple.com>
19325         Rolling out my last change because it broke the world.
19327         * bridge/mac/FrameMac.h:
19328         * bridge/mac/FrameMac.mm:
19329         (WebCore::FrameMac::openURL):
19330         (WebCore::FrameMac::openURLRequest):
19331         (WebCore::FrameMac::urlSelected):
19332         * page/Frame.cpp:
19333         (WebCore::Frame::openURL):
19334         (WebCore::Frame::frameLoader):
19335         (WebCore::Frame::requestFrame):
19336         (WebCore::Frame::redirectionTimerFired):
19337         * page/Frame.h:
19338         * platform/gdk/FrameGdk.cpp:
19339         (WebCore::FrameGdk::openURL):
19340         * platform/gdk/FrameGdk.h:
19341         * platform/gdk/TemporaryLinkStubs.cpp:
19342         * platform/qt/FrameQt.cpp:
19343         (WebCore::FrameQt::openURL):
19344         (WebCore::FrameQt::openURLRequest):
19345         * platform/qt/FrameQt.h:
19346         * platform/win/TemporaryLinkStubs.cpp:
19347         (WebCore::FrameWin::openURL):
19348         (WebCore::FrameWin::openURLRequest):
19350 2006-10-24  Nikolas Zimmermann  <zimmermann@kde.org>
19352         Reviewed by Adam.
19354         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11396
19356         Kill KRenderingFillPainter/KRenderingStrokePainter. Those are not needed
19357         anymore, since kcanvas/ksvg2 are tightly integrated. No LayoutTests fixed
19358         or broken.
19360         * CMakeLists.txt:
19361         * WebCore.xcodeproj/project.pbxproj:
19362         * kcanvas/KCanvasTreeDebug.cpp:
19363         (WebCore::operator<<):
19364         (WebCore::writeStyle):
19365         * kcanvas/RenderPath.cpp:
19366         (WebCore::RenderPath::fillContains):
19367         * kcanvas/device/KRenderingFillPainter.cpp:
19368         * kcanvas/device/KRenderingFillPainter.h:
19369         * kcanvas/device/KRenderingStrokePainter.cpp:
19370         * kcanvas/device/KRenderingStrokePainter.h:
19371         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
19372         (WebCore::KRenderingPaintServerLinearGradientQt::setup):
19373         (WebCore::KRenderingPaintServerRadialGradientQt::setup):
19374         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
19375         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
19376         (WebCore::KRenderingPaintServerQt::setPenProperties):
19377         * kcanvas/device/qt/KRenderingPaintServerQt.h:
19378         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
19379         (WebCore::KRenderingPaintServerSolidQt::setup):
19380         * kcanvas/device/qt/RenderPathQt.cpp:
19381         (WebCore::getPathStroke):
19382         (WebCore::RenderPath::strokeBBox):
19383         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
19384         (WebCore::RenderPath::strokeBBox):
19385         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
19386         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
19387         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
19388         (WebCore::KRenderingPaintServerQuartzHelper::fillPath):
19389         (WebCore::KRenderingPaintServerQuartzHelper::clipToFillPath):
19390         * kcanvas/device/quartz/QuartzSupport.h:
19391         (WebCore::CGLineCapFromKC):
19392         (WebCore::CGLineJoinFromKC):
19393         * kcanvas/device/quartz/QuartzSupport.mm:
19394         (WebCore::applyStrokeStyleToContext):
19395         (WebCore::strokeBoundingBox):
19396         * ksvg2/css/SVGCSSStyleSelector.cpp:
19397         (WebCore::CSSStyleSelector::applySVGProperty):
19398         * ksvg2/css/SVGRenderStyle.h:
19399         (WebCore::SVGRenderStyle::InheritedFlags::):
19400         * ksvg2/css/SVGRenderStyleDefs.h:
19401         * ksvg2/misc/KCanvasRenderingStyle.cpp:
19402         (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
19403         * ksvg2/misc/KCanvasRenderingStyle.h:
19404         * ksvg2/svg/SVGFEImageElement.cpp:
19406 2006-10-24  Geoffrey Garen  <ggaren@apple.com>
19408         Reviewed by Anders.
19410         Nixed a few more redundant loading functions in Frame. Did my best to update
19411         the non-Mac builds.
19413         * bridge/mac/FrameMac.h:
19414         * bridge/mac/FrameMac.mm:
19415         (WebCore::FrameMac::urlSelected): Changed always 'true' argument for userGesture
19416         to actually check for a user gesture. New callers rely on this behavior,
19417         and it seems like the previous behavior must have been a bug.
19418         * page/Frame.cpp:
19419         (WebCore::Frame::requestFrame):
19420         (WebCore::Frame::frameLoader):
19421         (WebCore::Frame::redirectionTimerFired):
19422         * page/Frame.h:
19423         * platform/gdk/FrameGdk.cpp:
19424         * platform/gdk/FrameGdk.h:
19425         * platform/gdk/TemporaryLinkStubs.cpp:
19426         (FrameGdk::issueCopyCommand):
19427         * platform/qt/FrameQt.cpp:
19428         * platform/qt/FrameQt.h:
19429         * platform/win/TemporaryLinkStubs.cpp:
19430         (WebCore::FrameWin::shouldInterruptJavaScript):
19431         (WebCore::FrameWin::issueCopyCommand):
19433 2006-10-24  Nikolas Zimmermann  <zimmermann@kde.org>
19435         Reviewed by Maciej.
19437         Fix Qt/Linux build.
19439         - Remove BrowserExtensionQt, move it's methods to Page/FrameQt.
19440         - Fix CMakeLists.txt to include platform/network.
19442         * CMakeLists.txt:
19443         * platform/qt/BrowserExtensionQt.cpp: Removed.
19444         * platform/qt/BrowserExtensionQt.h: Removed.
19445         * platform/qt/FrameQt.cpp:
19446         (WebCore::FrameQt::FrameQt):
19447         (WebCore::FrameQt::createNewWindow):
19448         (WebCore::FrameQt::goBackOrForward):
19449         (WebCore::FrameQt::historyURL):
19450         (WebCore::FrameQt::getHistoryLength):
19451         * platform/qt/FrameQt.h:
19452         * platform/qt/PageQt.cpp:
19453         (WebCore::Page::canRunModal):
19454         (WebCore::Page::canRunModalNow):
19455         (WebCore::Page::runModal):
19457 2006-10-24  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
19459         Reviewed by Tim H.
19461         Fix for http://bugs.webkit.org/show_bug.cgi?id=11314
19462         Fix build when XSLT_SUPPORT is not defined
19464         Fix unconditional use of XSLT support.
19466         * dom/XMLTokenizer.cpp:
19467         (WebCore::XMLTokenizer::end):
19469 2006-10-24  Simon Hausmann  <hausmann@kde.org>
19471         Reviewed by Darin.
19473         * CMakeLists.txt: Added project name to kde4_automoc macro, as
19474           required by the latest KDE4 cmake module.
19476 2006-10-24  Mitz Pettel  <mitz@webkit.org>
19478         Reviewed by Tim H.
19480         - fix http://bugs.webkit.org/show_bug.cgi?id=11394
19481           HTMLViewSourceDocuments are leaking
19483         * html/HTMLViewSourceDocument.h: Changed RefPtr to plain pointer to avoid
19484         ref cycle.
19486 2006-10-23  Geoffrey Garen  <ggaren@apple.com>
19488         Reviewed by Darin.
19490         Removed one of Frame's redundant urlSelected methods.
19492         * bridge/mac/FrameMac.h:
19493         * bridge/mac/FrameMac.mm:
19494         (WebCore::FrameMac::urlSelected):
19495         since it's unused.
19496         * html/HTMLAnchorElement.cpp:
19497         (WebCore::HTMLAnchorElement::defaultEventHandler): Changed DeprecatedString
19498         to String because the former is deprecated and its performance is irrelevant
19499         here. Added call to completeURL because Frame no longer does it for us.
19500         Having the call here also improves clarity about the element's behavior.
19501         * ksvg2/svg/SVGAElement.cpp:
19502         (WebCore::SVGAElement::defaultEventHandler): ditto. Also removed bizarre
19503         irrelevent NULL checks on ownerDocument() because I couldn't help myself.
19504         * page/Frame.cpp:
19505         (WebCore::Frame::changeLocation):
19506         (WebCore::Frame::urlSelected):
19507         * page/Frame.h:
19508         * platform/network/ResourceRequest.h: Removed explicit keyword on constructor
19509         because we want to be able to use these constructors instead of helper functions
19510         mimicking their behavior sprinkled across different classes.
19511         (WebCore::ResourceRequest::ResourceRequest):
19513 2006-10-24  Brady Eidson  <beidson@apple.com>
19515         Reviewed by Maciej
19517         Moved FrameLoader from WebCoreFrameBridge to Frame.  Frame.h/cpp have generic accessors to the FrameLoader itself
19518         and creation/deletion is currently managed in FrameMac.mm
19520         Besides explicitly commented-upon methods, most of the touched code simply changes to get the FrameLoader from the 
19521         frame instead of the bridge.
19523         The method [WebCoreFrameBridge frameLoader] remains but only for WebKit's use - No new WebCore code should make 
19524         use of it as its days are numbered!
19526         * bridge/mac/FrameMac.mm:
19527         (WebCore::FrameMac::FrameMac): Create the FrameLoader
19528         (WebCore::FrameMac::~FrameMac): Nuke it
19529         (WebCore::FrameMac::loadRequest):
19531         * bridge/mac/WebCoreFrameBridge.h: No longer holds an m_frameLoader
19532         * bridge/mac/WebCoreFrameBridge.mm:
19533         (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]): No longer creates the FrameLoader
19534         (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]): Ditto
19535         (-[WebCoreFrameBridge clearFrame]): No longer tears down the FrameLoader
19536         (-[WebCoreFrameBridge setFrameLoaderClient:]):
19537         (-[WebCoreFrameBridge frameLoader]):
19538         (-[WebCoreFrameBridge setTitle:]):
19539         (-[WebCoreFrameBridge didFirstLayout]):
19540         (-[WebCoreFrameBridge notifyIconChanged:]):
19541         (-[WebCoreFrameBridge originalRequestURL]):
19542         (-[WebCoreFrameBridge isLoadTypeReload]):
19543         (-[WebCoreFrameBridge frameDetached]):
19544         (-[WebCoreFrameBridge tokenizerProcessedData]):
19545         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
19546         (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
19547         (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
19548         (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
19549         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
19550         (-[WebCoreFrameBridge incomingReferrer]):
19551         (-[WebCoreFrameBridge isReloading]):
19552         (-[WebCoreFrameBridge handledOnloadEvents]):
19553         (-[WebCoreFrameBridge mainResourceURLResponse]):
19554         (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
19556         * loader/mac/WebDocumentLoader.mm:
19557         (WebCore::DocumentLoader::frameLoader):
19559         * loader/mac/WebFrameLoader.mm:
19560         (WebCore::FrameLoader::load):
19561         (WebCore::FrameLoader::stopLoadingSubframes):
19562         (WebCore::FrameLoader::defersCallbacksChanged):
19563         (WebCore::FrameLoader::setState):
19564         (WebCore::FrameLoader::closeOldDataSources):
19565         (WebCore::FrameLoader::subframeIsLoading):
19566         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
19567         (WebCore::FrameLoader::post):
19568         (WebCore::FrameLoader::detachChildren):
19569         (WebCore::FrameLoader::checkLoadComplete):
19571         * loader/mac/WebLoader.mm:
19572         (WebCore::WebResourceLoader::frameLoader):
19574         * loader/mac/WebSubresourceLoader.mm:
19575         (-[WebCoreSubresourceHandle initWithLoader:]):
19577         * page/Frame.cpp:
19578         (WebCore::Frame::frameLoader):
19579         * page/Frame.h:
19580         * page/FramePrivate.h:
19581         (WebCore::FramePrivate::FramePrivate):
19583 2006-10-24  Darin Adler  <darin@apple.com>
19585         Reviewed by Maciej.
19587         - fixed two crashes in layout tests I just introduced
19589         * loader/mac/WebFrameLoader.mm:
19590         (WebCore::FrameLoader::load): Add null check.
19591         (WebCore::FrameLoader::setState): Ditto.
19593 2006-10-23  Darin Adler  <darin@apple.com>
19595         Reviewed by Geoff.
19597         - converted WebDocumentLoader to C++
19599         * WebCore.exp:
19600         * bridge/mac/WebCoreFrameBridge.mm:
19601         (-[WebCoreFrameBridge setTitle:]):
19602         (-[WebCoreFrameBridge originalRequestURL]):
19603         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
19604         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
19605         (-[WebCoreFrameBridge incomingReferrer]):
19606         (-[WebCoreFrameBridge isReloading]):
19607         (-[WebCoreFrameBridge mainResourceURLResponse]):
19608         * loader/mac/WebDocumentLoader.h:
19609         * loader/mac/WebDocumentLoader.mm:
19610         (WebCore::DocumentLoader::DocumentLoader):
19611         (WebCore::DocumentLoader::frameLoader):
19612         (WebCore::DocumentLoader::~DocumentLoader):
19613         (WebCore::DocumentLoader::setMainResourceData):
19614         (WebCore::DocumentLoader::mainResourceData):
19615         (WebCore::DocumentLoader::originalRequest):
19616         (WebCore::DocumentLoader::originalRequestCopy):
19617         (WebCore::DocumentLoader::request):
19618         (WebCore::DocumentLoader::initialRequest):
19619         (WebCore::DocumentLoader::actualRequest):
19620         (WebCore::DocumentLoader::URL):
19621         (WebCore::DocumentLoader::unreachableURL):
19622         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
19623         (WebCore::DocumentLoader::setRequest):
19624         (WebCore::DocumentLoader::setResponse):
19625         (WebCore::DocumentLoader::isStopping):
19626         (WebCore::DocumentLoader::bridge):
19627         (WebCore::DocumentLoader::setMainDocumentError):
19628         (WebCore::DocumentLoader::mainDocumentError):
19629         (WebCore::DocumentLoader::clearErrors):
19630         (WebCore::DocumentLoader::mainReceivedError):
19631         (WebCore::DocumentLoader::stopLoading):
19632         (WebCore::DocumentLoader::setupForReplace):
19633         (WebCore::DocumentLoader::commitIfReady):
19634         (WebCore::DocumentLoader::finishedLoading):
19635         (WebCore::DocumentLoader::setCommitted):
19636         (WebCore::DocumentLoader::isCommitted):
19637         (WebCore::DocumentLoader::setLoading):
19638         (WebCore::DocumentLoader::isLoading):
19639         (WebCore::DocumentLoader::commitLoad):
19640         (WebCore::DocumentLoader::doesProgressiveLoad):
19641         (WebCore::DocumentLoader::receivedData):
19642         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
19643         (WebCore::DocumentLoader::updateLoading):
19644         (WebCore::DocumentLoader::response):
19645         (WebCore::DocumentLoader::setFrame):
19646         (WebCore::DocumentLoader::attachToFrame):
19647         (WebCore::DocumentLoader::detachFromFrame):
19648         (WebCore::DocumentLoader::prepareForLoadStart):
19649         (WebCore::DocumentLoader::loadingStartedTime):
19650         (WebCore::DocumentLoader::setIsClientRedirect):
19651         (WebCore::DocumentLoader::isClientRedirect):
19652         (WebCore::DocumentLoader::setPrimaryLoadComplete):
19653         (WebCore::DocumentLoader::isLoadingInAPISense):
19654         (WebCore::DocumentLoader::addResponse):
19655         (WebCore::DocumentLoader::stopRecordingResponses):
19656         (WebCore::DocumentLoader::title):
19657         (WebCore::DocumentLoader::setLastCheckedRequest):
19658         (WebCore::DocumentLoader::lastCheckedRequest):
19659         (WebCore::DocumentLoader::triggeringAction):
19660         (WebCore::DocumentLoader::setTriggeringAction):
19661         (WebCore::DocumentLoader::responses):
19662         (WebCore::DocumentLoader::setOverrideEncoding):
19663         (WebCore::DocumentLoader::overrideEncoding):
19664         (WebCore::DocumentLoader::setTitle):
19665         (WebCore::DocumentLoader::URLForHistory):
19666         * loader/mac/WebFrameLoader.h:
19667         * loader/mac/WebFrameLoader.mm:
19668         (WebCore::FrameLoader::setupForReplaceByMIMEType):
19669         (WebCore::FrameLoader::finalSetupForReplace):
19670         (WebCore::FrameLoader::safeLoad):
19671         (WebCore::FrameLoader::load):
19672         (WebCore::FrameLoader::startLoading):
19673         (WebCore::FrameLoader::stopLoading):
19674         (WebCore::FrameLoader::activeDocumentLoader):
19675         (WebCore::FrameLoader::addPlugInStreamLoader):
19676         (WebCore::FrameLoader::removePlugInStreamLoader):
19677         (WebCore::FrameLoader::addSubresourceLoader):
19678         (WebCore::FrameLoader::removeSubresourceLoader):
19679         (WebCore::FrameLoader::setDocumentLoader):
19680         (WebCore::FrameLoader::documentLoader):
19681         (WebCore::FrameLoader::setPolicyDocumentLoader):
19682         (WebCore::FrameLoader::provisionalDocumentLoader):
19683         (WebCore::FrameLoader::setProvisionalDocumentLoader):
19684         (WebCore::FrameLoader::setState):
19685         (WebCore::FrameLoader::clearProvisionalLoad):
19686         (WebCore::FrameLoader::commitProvisionalLoad):
19687         (WebCore::FrameLoader::didReceiveResponse):
19688         (WebCore::FrameLoader::originalRequest):
19689         (WebCore::FrameLoader::receivedMainResourceError):
19690         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
19691         (WebCore::FrameLoader::opened):
19692         (WebCore::FrameLoader::initialRequest):
19693         (WebCore::FrameLoader::receivedData):
19694         (WebCore::FrameLoader::setRequest):
19695         (WebCore::FrameLoader::isStopping):
19696         (WebCore::FrameLoader::setResponse):
19697         (WebCore::FrameLoader::mainReceivedError):
19698         (WebCore::FrameLoader::finishedLoading):
19699         (WebCore::FrameLoader::notifyIconChanged):
19700         (WebCore::FrameLoader::URL):
19701         (WebCore::FrameLoader::checkContentPolicy):
19702         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
19703         (WebCore::FrameLoader::reloadAllowingStaleData):
19704         (WebCore::FrameLoader::reload):
19705         (WebCore::FrameLoader::finishedLoadingDocument):
19706         (WebCore::FrameLoader::committedLoad):
19707         (WebCore::FrameLoader::revertToProvisional):
19708         (WebCore::FrameLoader::setMainDocumentError):
19709         (WebCore::FrameLoader::mainReceivedCompleteError):
19710         (WebCore::FrameLoader::subframeIsLoading):
19711         (WebCore::FrameLoader::willChangeTitle):
19712         (WebCore::FrameLoader::didChangeTitle):
19713         (WebCore::FrameLoader::checkNavigationPolicy):
19714         (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
19715         (WebCore::FrameLoader::transitionToCommitted):
19716         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
19717         (WebCore::FrameLoader::detachFromParent):
19718         * loader/mac/WebFrameLoaderClient.h:
19720 2006-10-23  Brady Eidson  <beidson@apple.com>
19722         Lovingly reviewed by Maciej
19724         Moved loadURL and postURL logic out of WebCoreFrameBridge to FrameMac::loadRequest
19725         This is a big step towards moving FrameLoader out of the Bridge into Frame/Mac itself
19727         * bridge/mac/BrowserExtensionMac.mm:
19728         (WebCore::BrowserExtensionMac::createNewWindow): Use FrameMac::loadRequest
19730         * bridge/mac/FrameMac.mm:
19731         (WebCore::FrameMac::loadRequest): loadURL and postURL logic moved from WebCoreFrameBridge to here
19733         * bridge/mac/WebCoreFrameBridge.h: Nuked loadURL and postURL
19734         * bridge/mac/WebCoreFrameBridge.mm: Ditto
19735         * loader/mac/WebFrameLoader.mm:
19736         (-[WebFrameLoader safeLoadURL:]): Use FrameMac::loadRequest
19738 2006-10-23  Geoffrey Garen  <ggaren@apple.com>
19740         RS by Maciej.
19742         Inside Frame, moved the plethora of load() and stopLoading() functions next 
19743         to each other to facilitate merging and crying.
19745         * bridge/mac/FrameMac.h:
19746         * bridge/mac/FrameMac.mm:
19747         (WebCore::FrameMac::loadRequest):
19748         (WebCore::FrameMac::submitForm):
19749         (WebCore::FrameMac::openURL):
19750         (WebCore::FrameMac::openURLRequest):
19751         (WebCore::FrameMac::urlSelected):
19752         (WebCore::FrameMac::openURLFromPageCache):
19753         (WebCore::FrameMac::createFrame):
19754         * page/Frame.cpp:
19755         (WebCore::Frame::openURL):
19756         (WebCore::Frame::changeLocation):
19757         (WebCore::Frame::urlSelected):
19758         (WebCore::Frame::requestFrame):
19759         (WebCore::Frame::loadSubframe):
19760         (WebCore::Frame::submitFormAgain):
19761         (WebCore::Frame::submitForm):
19762         (WebCore::Frame::stop):
19763         (WebCore::Frame::closeURL):
19764         (WebCore::Frame::cancelRedirection):
19765         (WebCore::Frame::iconURL):
19766         (WebCore::Frame::didOpenURL):
19767         (WebCore::Frame::didExplicitOpen):
19768         * page/Frame.h:
19770 2006-10-23  Geoffrey Garen  <ggaren@apple.com>
19772         RS by Maciej.
19774         Moved our plethora of load() and stopLoading() functions next to each other
19775         to facilitate merging and laughter.
19777         * loader/mac/WebFrameLoader.h:
19778         * loader/mac/WebFrameLoader.mm:
19779         (WebCore::cancelAll):
19780         (WebCore::FrameLoader::prepareForLoadStart):
19781         (WebCore::FrameLoader::setupForReplace):
19782         (WebCore::FrameLoader::setupForReplaceByMIMEType):
19783         (WebCore::FrameLoader::finalSetupForReplace):
19784         (WebCore::FrameLoader::safeLoad):
19785         (WebCore::FrameLoader::load):
19786         (WebCore::FrameLoader::startLoadingMainResource):
19787         (WebCore::FrameLoader::startLoading):
19788         (WebCore::FrameLoader::stopLoadingPlugIns):
19789         (WebCore::FrameLoader::stopLoadingSubresources):
19790         (WebCore::FrameLoader::stopLoading):
19791         (WebCore::FrameLoader::stopLoadingSubframes):
19792         (WebCore::FrameLoader::cancelMainResourceLoad):
19793         (WebCore::FrameLoader::cancelPendingArchiveLoad):
19794         (WebCore::FrameLoader::removeSubresourceLoader):
19795         (WebCore::FrameLoader::mainResourceData):
19796         (WebCore::FrameLoader::releaseMainResourceLoader):
19798 2006-10-23  Darin Adler  <darin@apple.com>
19800         Reviewed by Maciej.
19802         - converted WebFrameLoader to C++
19804         * WebCore.exp: Added many new entry points for WebKit.
19805         * WebCore.xcodeproj/project.pbxproj: Made more files private (SPI).
19807         * bridge/mac/WebCoreFrameBridge.h:
19808         * bridge/mac/WebCoreFrameBridge.mm:
19809         (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
19810         (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
19811         (-[WebCoreFrameBridge dealloc]):
19812         (-[WebCoreFrameBridge close]):
19813         (-[WebCoreFrameBridge clearFrame]):
19814         (-[WebCoreFrameBridge setFrameLoaderClient:]):
19815         (-[WebCoreFrameBridge frameLoader]):
19816         (-[WebCoreFrameBridge setTitle:]):
19817         (-[WebCoreFrameBridge didFirstLayout]):
19818         (-[WebCoreFrameBridge notifyIconChanged:]):
19819         (-[WebCoreFrameBridge originalRequestURL]):
19820         (-[WebCoreFrameBridge isLoadTypeReload]):
19821         (-[WebCoreFrameBridge frameDetached]):
19822         (-[WebCoreFrameBridge tokenizerProcessedData]):
19823         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
19824         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
19825         (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
19826         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
19827         (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
19828         (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
19829         (-[WebCoreFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
19830         (-[WebCoreFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
19831         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
19832         (-[WebCoreFrameBridge incomingReferrer]):
19833         (-[WebCoreFrameBridge isReloading]):
19834         (-[WebCoreFrameBridge handledOnloadEvents]):
19835         (-[WebCoreFrameBridge mainResourceURLResponse]):
19836         (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
19837         * loader/mac/WebDocumentLoader.h:
19838         * loader/mac/WebDocumentLoader.mm:
19839         (-[WebDocumentLoader frameLoader]):
19840         (-[WebDocumentLoader dealloc]):
19841         (-[WebDocumentLoader mainResourceData]):
19842         (-[WebDocumentLoader setRequest:]):
19843         (-[WebDocumentLoader bridge]):
19844         (-[WebDocumentLoader setMainDocumentError:]):
19845         (-[WebDocumentLoader mainReceivedError:complete:]):
19846         (-[WebDocumentLoader stopLoading]):
19847         (-[WebDocumentLoader setupForReplace]):
19848         (-[WebDocumentLoader commitIfReady]):
19849         (-[WebDocumentLoader finishedLoading]):
19850         (-[WebDocumentLoader commitLoadWithData:]):
19851         (-[WebDocumentLoader doesProgressiveLoadWithMIMEType:]):
19852         (-[WebDocumentLoader setupForReplaceByMIMEType:]):
19853         (-[WebDocumentLoader updateLoading]):
19854         (-[WebDocumentLoader setFrame:]):
19855         (-[WebDocumentLoader attachToFrame]):
19856         (-[WebDocumentLoader detachFromFrame]):
19857         (-[WebDocumentLoader prepareForLoadStart]):
19858         (-[WebDocumentLoader setPrimaryLoadComplete:]):
19859         (-[WebDocumentLoader isLoadingInAPISense]):
19860         (-[WebDocumentLoader setTitle:]):
19861         * loader/mac/WebFrameLoader.h:
19862         (WebCore::FrameLoader::frame):
19863         * loader/mac/WebFrameLoader.mm:
19864         (WebCore::FrameLoader::FrameLoader):
19865         (WebCore::FrameLoader::~FrameLoader):
19866         (WebCore::FrameLoader::activeDocumentLoader):
19867         (WebCore::FrameLoader::addPlugInStreamLoader):
19868         (WebCore::FrameLoader::removePlugInStreamLoader):
19869         (WebCore::FrameLoader::defersCallbacksChanged):
19870         (WebCore::FrameLoader::defersCallbacks):
19871         (WebCore::setAllDefersCallbacks):
19872         (WebCore::FrameLoader::setDefersCallbacks):
19873         (WebCore::cancelAll):
19874         (WebCore::FrameLoader::stopLoadingPlugIns):
19875         (WebCore::FrameLoader::isLoadingMainResource):
19876         (WebCore::FrameLoader::isLoadingSubresources):
19877         (WebCore::FrameLoader::isLoadingPlugIns):
19878         (WebCore::FrameLoader::isLoading):
19879         (WebCore::FrameLoader::stopLoadingSubresources):
19880         (WebCore::FrameLoader::addSubresourceLoader):
19881         (WebCore::FrameLoader::removeSubresourceLoader):
19882         (WebCore::FrameLoader::mainResourceData):
19883         (WebCore::FrameLoader::releaseMainResourceLoader):
19884         (WebCore::FrameLoader::cancelMainResourceLoad):
19885         (WebCore::FrameLoader::startLoadingMainResource):
19886         (WebCore::FrameLoader::stopLoading):
19887         (WebCore::FrameLoader::setDocumentLoader):
19888         (WebCore::FrameLoader::documentLoader):
19889         (WebCore::FrameLoader::setPolicyDocumentLoader):
19890         (WebCore::FrameLoader::provisionalDocumentLoader):
19891         (WebCore::FrameLoader::setProvisionalDocumentLoader):
19892         (WebCore::FrameLoader::state):
19893         (WebCore::FrameLoader::timeOfLastCompletedLoad):
19894         (WebCore::FrameLoader::provisionalLoadStarted):
19895         (WebCore::FrameLoader::setState):
19896         (WebCore::FrameLoader::clearProvisionalLoad):
19897         (WebCore::FrameLoader::markLoadComplete):
19898         (WebCore::FrameLoader::commitProvisionalLoad):
19899         (WebCore::FrameLoader::stopLoadingSubframes):
19900         (WebCore::FrameLoader::startLoading):
19901         (WebCore::FrameLoader::setupForReplace):
19902         (WebCore::FrameLoader::identifierForInitialRequest):
19903         (WebCore::FrameLoader::willSendRequest):
19904         (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
19905         (WebCore::FrameLoader::didCancelAuthenticationChallenge):
19906         (WebCore::FrameLoader::didReceiveResponse):
19907         (WebCore::FrameLoader::didReceiveData):
19908         (WebCore::FrameLoader::didFinishLoad):
19909         (WebCore::FrameLoader::didFailToLoad):
19910         (WebCore::FrameLoader::privateBrowsingEnabled):
19911         (WebCore::FrameLoader::originalRequest):
19912         (WebCore::FrameLoader::receivedMainResourceError):
19913         (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
19914         (WebCore::FrameLoader::clientRedirected):
19915         (WebCore::FrameLoader::shouldReload):
19916         (WebCore::FrameLoader::load):
19917         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
19918         (WebCore::FrameLoader::closeOldDataSources):
19919         (WebCore::FrameLoader::opened):
19920         (WebCore::FrameLoader::initialRequest):
19921         (WebCore::FrameLoader::receivedData):
19922         (WebCore::FrameLoader::setRequest):
19923         (WebCore::FrameLoader::download):
19924         (WebCore::FrameLoader::bridge):
19925         (WebCore::FrameLoader::handleFallbackContent):
19926         (WebCore::FrameLoader::isStopping):
19927         (WebCore::FrameLoader::setupForReplaceByMIMEType):
19928         (WebCore::FrameLoader::setResponse):
19929         (WebCore::FrameLoader::mainReceivedError):
19930         (WebCore::FrameLoader::finishedLoading):
19931         (WebCore::FrameLoader::notifyIconChanged):
19932         (WebCore::FrameLoader::URL):
19933         (WebCore::FrameLoader::cancelledError):
19934         (WebCore::FrameLoader::fileDoesNotExistError):
19935         (WebCore::FrameLoader::willUseArchive):
19936         (WebCore::FrameLoader::isArchiveLoadPending):
19937         (WebCore::FrameLoader::cancelPendingArchiveLoad):
19938         (WebCore::FrameLoader::handleUnimplementablePolicy):
19939         (WebCore::FrameLoader::cannotShowMIMEType):
19940         (WebCore::FrameLoader::interruptionForPolicyChangeError):
19941         (WebCore::FrameLoader::isHostedByObjectElement):
19942         (WebCore::FrameLoader::isLoadingMainFrame):
19943         (WebCore::FrameLoader::canShowMIMEType):
19944         (WebCore::FrameLoader::representationExistsForURLScheme):
19945         (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
19946         (WebCore::FrameLoader::checkNavigationPolicy):
19947         (WebCore::FrameLoader::checkContentPolicy):
19948         (WebCore::FrameLoader::cancelContentPolicyCheck):
19949         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
19950         (WebCore::FrameLoader::reloadAllowingStaleData):
19951         (WebCore::FrameLoader::reload):
19952         (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
19953         (WebCore::FrameLoader::finishedLoadingDocument):
19954         (WebCore::FrameLoader::committedLoad):
19955         (WebCore::FrameLoader::isReplacing):
19956         (WebCore::FrameLoader::setReplacing):
19957         (WebCore::FrameLoader::revertToProvisional):
19958         (WebCore::FrameLoader::setMainDocumentError):
19959         (WebCore::FrameLoader::mainReceivedCompleteError):
19960         (WebCore::FrameLoader::finalSetupForReplace):
19961         (WebCore::FrameLoader::prepareForLoadStart):
19962         (WebCore::FrameLoader::subframeIsLoading):
19963         (WebCore::FrameLoader::willChangeTitle):
19964         (WebCore::FrameLoader::didChangeTitle):
19965         (WebCore::FrameLoader::loadType):
19966         (WebCore::FrameLoader::invalidatePendingPolicyDecision):
19967         (WebCore::FrameLoader::checkNewWindowPolicy):
19968         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
19969         (WebCore::FrameLoader::continueAfterNavigationPolicy):
19970         (WebCore::FrameLoader::continueAfterWillSubmitForm):
19971         (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
19972         (WebCore::FrameLoader::didFirstLayout):
19973         (WebCore::FrameLoader::frameLoadCompleted):
19974         (WebCore::FrameLoader::firstLayoutDone):
19975         (WebCore::FrameLoader::isQuickRedirectComing):
19976         (WebCore::FrameLoader::transitionToCommitted):
19977         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
19978         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
19979         (WebCore::FrameLoader::sendRemainingDelegateMessages):
19980         (WebCore::FrameLoader::requestFromDelegate):
19981         (WebCore::FrameLoader::post):
19982         (WebCore::FrameLoader::detachChildren):
19983         (WebCore::FrameLoader::detachFromParent):
19984         (WebCore::FrameLoader::addExtraFieldsToRequest):
19985         (WebCore::FrameLoader::safeLoad):
19986         (WebCore::FrameLoader::actionInformation):
19987         (WebCore::FrameLoader::checkLoadComplete):
19988         (WebCore::FrameLoader::setFrameLoaderClient):
19989         (WebCore::FrameLoader::client):
19990         (WebCore::FrameLoader::asDelegate):
19991         (-[WebCoreFrameLoaderAsDelegate initWithLoader:]):
19992         (-[WebCoreFrameLoaderAsDelegate detachFromLoader]):
19993         (-[WebCoreFrameLoaderAsDelegate continueFragmentScrollAfterNavigationPolicy:formState:]):
19994         (-[WebCoreFrameLoaderAsDelegate continueAfterNewWindowPolicy:]):
19995         (-[WebCoreFrameLoaderAsDelegate continueAfterNavigationPolicy:]):
19996         (-[WebCoreFrameLoaderAsDelegate continueAfterWillSubmitForm:]):
19997         (-[WebCoreFrameLoaderAsDelegate continueLoadRequestAfterNavigationPolicy:formState:]):
19998         (-[WebCoreFrameLoaderAsDelegate continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
19999         * loader/mac/WebLoader.h:
20000         (WebCore::WebResourceLoader::identifier):
20001         (WebCore::WebResourceLoader::reachedTerminalState):
20002         (WebCore::WebResourceLoader::cancelled):
20003         * loader/mac/WebLoader.mm:
20004         (WebCore::WebResourceLoader::WebResourceLoader):
20005         (WebCore::WebResourceLoader::releaseResources):
20006         (WebCore::WebResourceLoader::load):
20007         (WebCore::WebResourceLoader::frameLoader):
20008         (WebCore::WebResourceLoader::willSendRequest):
20009         (WebCore::WebResourceLoader::didReceiveAuthenticationChallenge):
20010         (WebCore::WebResourceLoader::didCancelAuthenticationChallenge):
20011         (WebCore::WebResourceLoader::didReceiveResponse):
20012         (WebCore::WebResourceLoader::didReceiveData):
20013         (WebCore::WebResourceLoader::didFinishLoading):
20014         (WebCore::WebResourceLoader::didFinishLoadingOnePart):
20015         (WebCore::WebResourceLoader::didFail):
20016         (WebCore::WebResourceLoader::willCacheResponse):
20017         (WebCore::WebResourceLoader::didCancel):
20018         (WebCore::WebResourceLoader::cancel):
20019         (WebCore::WebResourceLoader::cancelledError):
20020         (WebCore::WebResourceLoader::delegate):
20021         * loader/mac/WebMainResourceLoader.h:
20022         * loader/mac/WebMainResourceLoader.mm:
20023         (WebCore::MainResourceLoader::MainResourceLoader):
20024         (WebCore::MainResourceLoader::create):
20025         (WebCore::MainResourceLoader::receivedError):
20026         (WebCore::MainResourceLoader::didCancel):
20027         (WebCore::MainResourceLoader::interruptionForPolicyChangeError):
20028         (WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
20029         (WebCore::MainResourceLoader::addData):
20030         (WebCore::MainResourceLoader::willSendRequest):
20031         (WebCore::MainResourceLoader::continueAfterContentPolicy):
20032         (WebCore::MainResourceLoader::didReceiveResponse):
20033         (WebCore::MainResourceLoader::didReceiveData):
20034         (WebCore::MainResourceLoader::didFinishLoading):
20035         (WebCore::MainResourceLoader::didFail):
20036         (WebCore::MainResourceLoader::loadNow):
20037         (WebCore::MainResourceLoader::policyDelegate):
20038         * loader/mac/WebNetscapePlugInStreamLoader.h:
20039         * loader/mac/WebNetscapePlugInStreamLoader.mm:
20040         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
20041         (WebCore::NetscapePlugInStreamLoader::create):
20042         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
20043         (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
20044         (WebCore::NetscapePlugInStreamLoader::didFail):
20045         (WebCore::NetscapePlugInStreamLoader::didCancel):
20046         * loader/mac/WebSubresourceLoader.h:
20047         * loader/mac/WebSubresourceLoader.mm:
20048         (-[WebCoreSubresourceHandle initWithLoader:]):
20050 2006-10-23  Geoffrey Garen  <ggaren@apple.com>
20052         Reviewed by Bradee.
20054         Shrunk BrowserExtension in preparation for its imminent death, moving page-
20055         level operations to Page and frame-level operations to Frame.
20056         
20057         Removed bizarre Mac(this) syntax inside virtual FrameMac member functions, 
20058         because 'this' is guaranteed by the compiler to be a FrameMac*.
20059         
20060         * bindings/js/kjs_window.cpp: Added NULL checks for m_frame in places
20061         where it can be NULL.
20062         * bindings/js/kjs_window.cpp:
20063         (KJS::canShowModalDialog):
20064         (KJS::canShowModalDialogNow):
20065         (KJS::showModalDialog):
20066         (KJS::History::getValueProperty):
20067         (KJS::HistoryFunc::callAsFunction):
20068         * bridge/BrowserExtension.h:
20069         (WebCore::BrowserExtension::~BrowserExtension):
20070         * bridge/mac/BrowserExtensionMac.h:
20071         * bridge/mac/BrowserExtensionMac.mm:
20072         (WebCore::BrowserExtensionMac::createNewWindow):
20073         * bridge/mac/FrameMac.h:
20074         * bridge/mac/FrameMac.mm:
20075         (WebCore::FrameMac::frameDetached):
20076         (WebCore::FrameMac::unfocusWindow):
20077         (WebCore::FrameMac::bridgeForWidget):
20078         (WebCore::FrameMac::documentViewForNode):
20079         (WebCore::FrameMac::passSubframeEventToSubframe):
20080         (WebCore::Frame::setNeedsReapplyStyles):
20081         (WebCore::FrameMac::customHighlightLineRect):
20082         (WebCore::FrameMac::paintCustomHighlight):
20083         (WebCore::FrameMac::getHistoryLength):
20084         (WebCore::FrameMac::goBackOrForward):
20085         (WebCore::FrameMac::historyURL):
20086         * bridge/mac/PageMac.mm:
20087         (WebCore::Page::canRunModal):
20088         (WebCore::Page::canRunModalNow):
20089         (WebCore::Page::runModal):
20090         * bridge/mac/WebCoreFrameBridge.h:
20091         * bridge/mac/WebCorePageBridge.h:
20092         * bridge/win/BrowserExtensionWin.h:
20093         * page/Frame.cpp:
20094         (WebCore::Frame::scheduleHistoryNavigation):
20095         (WebCore::Frame::redirectionTimerFired):
20096         * page/Frame.h:
20097         * page/Page.h:
20099 2006-10-23  Justin Garcia  <justin.garcia@apple.com>
20101         Reviewed by mjs
20103         <http://bugs.webkit.org/show_bug.cgi?id=11334>
20104         Writely Editor: Placing caret in a list "highlights" both Numbered List and Bulleted List toolbar icons
20106         * WebCore.xcodeproj/project.pbxproj:
20107         * editing/Editor.cpp:
20108         (WebCore::Editor::selectionUnorderedListState): Added.
20109         (WebCore::Editor::selectionOrderedListState): Added.
20110         * editing/Editor.h:
20111         * editing/JSEditor.cpp:
20112         * page/Frame.cpp:
20113         * page/Frame.h:
20115 2006-10-23  John Sullivan  <sullivan@apple.com>
20117         Reviewed by Tim H
20119         * WebCore.xcodeproj/project.pbxproj:
20120         Include WebCorePrefix.h in Xcode project for convenience and for consistency with WebKit
20122 2006-10-23  Sam Weinig  <sam.weinig@gmail.com>
20124         Reviewed by Tim H.
20126         Patch for http://bugs.webkit.org/show_bug.cgi?id=11291
20127         PNG as cursor image format instead of TIFF
20129         Original patch by Lars Naesbye Christensen (lars@naesbye.dk)
20131         - Convert cursor images from TIFF to PNG.
20133         * Resources/eastResizeCursor.png: Added.
20134         * Resources/eastResizeCursor.tiff: Removed.
20135         * Resources/eastWestResizeCursor.png: Added.
20136         * Resources/eastWestResizeCursor.tiff: Removed.
20137         * Resources/helpCursor.png: Added.
20138         * Resources/helpCursor.tiff: Removed.
20139         * Resources/linkCursor.png: Added.
20140         * Resources/linkCursor.tiff: Removed.
20141         * Resources/moveCursor.png: Added.
20142         * Resources/moveCursor.tiff: Removed.
20143         * Resources/northEastResizeCursor.png: Added.
20144         * Resources/northEastResizeCursor.tiff: Removed.
20145         * Resources/northEastSouthWestResizeCursor.png: Added.
20146         * Resources/northEastSouthWestResizeCursor.tiff: Removed.
20147         * Resources/northResizeCursor.png: Added.
20148         * Resources/northResizeCursor.tiff: Removed.
20149         * Resources/northSouthResizeCursor.png: Added.
20150         * Resources/northSouthResizeCursor.tiff: Removed.
20151         * Resources/northWestResizeCursor.png: Added.
20152         * Resources/northWestResizeCursor.tiff: Removed.
20153         * Resources/northWestSouthEastResizeCursor.png: Added.
20154         * Resources/northWestSouthEastResizeCursor.tiff: Removed.
20155         * Resources/southEastResizeCursor.png: Added.
20156         * Resources/southEastResizeCursor.tiff: Removed.
20157         * Resources/southResizeCursor.png: Added.
20158         * Resources/southResizeCursor.tiff: Removed.
20159         * Resources/southWestResizeCursor.png: Added.
20160         * Resources/southWestResizeCursor.tiff: Removed.
20161         * Resources/waitCursor.png: Added.
20162         * Resources/waitCursor.tiff: Removed.
20163         * Resources/westResizeCursor.png: Added.
20164         * Resources/westResizeCursor.tiff: Removed.
20165         * WebCore.xcodeproj/project.pbxproj:
20166         * platform/mac/CursorMac.mm:
20167         (WebCore::leakNamedCursor):
20169 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
20171         - fixed build from last change.
20173         * bridge/mac/FrameMac.h:
20174         * bridge/mac/FrameMac.mm:
20175         (WebCore::FrameMac::loadRequest):
20176         (WebCore::FrameMac::openURL):
20178 2006-10-23  Adam Roben  <aroben@apple.com>
20180         Reviewed by Adele.
20182         Move border-radius rule for <select>s into RenderThemeMac, as this is
20183         really a platform-specific look.
20185         * css/html4.css:
20186         * rendering/RenderThemeMac.mm:
20187         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
20189 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
20191         Reviewed by Brady.
20193         - moved things around so loadURL:... is only called from one place
20195         * bridge/mac/FrameMac.h:
20196         * bridge/mac/FrameMac.mm:
20197         (WebCore::FrameMac::frameDetached):
20198         (WebCore::FrameMac::loadRequest):
20199         (WebCore::FrameMac::submitForm):
20200         (WebCore::FrameMac::openURL):
20201         (WebCore::FrameMac::openURLRequest):
20202         (WebCore::FrameMac::urlSelected):
20204 2006-10-23  Justin Garcia  <justin.garcia@apple.com>
20206         Reviewed by john
20207         
20208         <http://bugs.webkit.org/show_bug.cgi?id=11333>
20209         Writely Editor: After inserting a HR element, pressing return key creates a copy of this HR element in the document
20210         
20211         Added special cases in InsertLineBreakCommand for inserting before
20212         and after tables and horizontal rules.  Also, perform InsertLineBreak
20213         instead of InsertParagraphSeparator at these positions.
20215         * editing/InsertLineBreakCommand.cpp:
20216         (WebCore::InsertLineBreakCommand::doApply):  Use the canonical form
20217         of the caret position when we check for the new special cases because 
20218         we know that we canonicalize VisiblePositions to those positions.
20219         Added code to handle inserting before/after tables and horizontal rules.  
20220         Fixed a bug when inserting at the end of a block (it checked for a collapse
20221         of the inserted br by looking for the absence of a br, but the line break 
20222         might have been a '\n' in white-space:pre text).  Removed unused LOGs.
20223         * editing/InsertParagraphSeparatorCommand.cpp:
20224         (WebCore::InsertParagraphSeparatorCommand::doApply): Perform an 
20225         InsertLineBreakCommand when before/after a table or a horizontal rule
20226         so that we don't have to maintain two pieces of special case code.
20227         Migrated to enclosingBlock.
20228         * editing/htmlediting.cpp: Added a FIXME.
20229         * editing/visible_units.cpp:
20230         (WebCore::startOfParagraph): Added a workaround for 8622.
20231         
20232 2006-10-23  Adam Roben  <aroben@apple.com>
20234         Reviewed by Adele.
20236         Make popups a little more flexible.
20238         * platform/PopupMenu.h:
20240 2006-10-23  Sam Weinig  <sam.weinig@gmail.com>
20242         Reviewed by Tim H.
20244         Cleanup CodeGeneratorJS.pm
20246         * bindings/scripts/CodeGeneratorJS.pm:
20248 2006-10-23  Adam Roben  <aroben@apple.com>
20250         Rubberstamped by Brady.
20252         * loader/icon/IconLoader.h: Changed angle-brackets to quotes for
20253         #include of ResourceLoader.h, since it's a WebCore header.
20255 2006-10-23  Darin Adler  <darin@apple.com>
20257         - fixed mistake that was preventing any loading from happening
20259         * platform/network/ResourceLoaderClient.h: (WebCore::ResourceLoaderClient::didReceiveData):
20260         Changed parameter back to int. Perhaps we want to move to "long long" consistently, but
20261         I'll leave that up to Maciej.
20263 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
20265         Reviewed by Anders.
20267         - start converting ResourceLoaderClient to new API
20269         Did the bits I could do without introducing new types:
20270         
20271         - renamed receivedData to didReceiveData
20272         - renamed version of receivedAllData that doesn't pass any data to didFinishLoading
20274         * bridge/mac/WebCoreResourceLoaderImp.mm:
20275         (-[WebCoreResourceLoaderImp addData:]):
20276         (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
20277         * loader/icon/IconLoader.cpp:
20278         (IconLoader::didReceiveData):
20279         (IconLoader::didFinishLoading):
20280         * loader/icon/IconLoader.h:
20281         * loader/loader.cpp:
20282         (WebCore::Loader::didReceiveData):
20283         * loader/loader.h:
20284         * platform/gdk/FrameGdk.cpp:
20285         (WebCore::FrameGdkClientDefault::didReceiveData):
20286         * platform/gdk/FrameGdk.h:
20287         * platform/network/ResourceLoaderClient.h:
20288         (WebCore::ResourceLoaderClient::didReceiveData):
20289         (WebCore::ResourceLoaderClient::didFinishLoading):
20290         (WebCore::ResourceLoaderClient::receivedResponse):
20291         * platform/network/cf/ResourceLoaderCFNet.cpp:
20292         (WebCore::didReceiveData):
20293         (WebCore::didFinishLoading):
20294         (WebCore::didFail):
20295         (WebCore::ResourceLoader::cancel):
20296         * platform/network/gdk/ResourceLoaderManager.cpp:
20297         (WebCore::writeCallback):
20298         (WebCore::ResourceLoaderManager::downloadTimerCallback):
20299         (WebCore::ResourceLoaderManager::remove):
20300         * platform/network/qt/ResourceLoaderManager.cpp:
20301         (WebCore::ResourceLoaderManager::slotData):
20302         (WebCore::ResourceLoaderManager::remove):
20303         * platform/network/win/ResourceLoaderWin.cpp:
20304         (WebCore::ResourceLoader::onRequestComplete):
20305         (WebCore::ResourceLoader::fileLoadTimer):
20306         (WebCore::ResourceLoader::cancel):
20307         * platform/qt/FrameQtClient.cpp:
20308         (WebCore::FrameQtClientDefault::didReceiveData):
20309         * platform/qt/FrameQtClient.h:
20310         * xml/xmlhttprequest.cpp:
20311         (WebCore::XMLHttpRequest::processSyncLoadResults):
20312         (WebCore::XMLHttpRequest::didFinishLoading):
20313         (WebCore::XMLHttpRequest::didReceiveData):
20314         * xml/xmlhttprequest.h:
20316 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
20318         Rubber stamped by Anders.
20320         - marked files executable
20321         
20322         * ksvg2/scripts/csscssmakeprops:
20323         * ksvg2/scripts/csscssmakevalues:
20325 2006-10-22  Maciej Stachowiak  <mjs@apple.com>
20327         Reviewed by Anders.
20329         - moved ResourceLoader and related files to platform/network
20330         in preparation for building out this API.
20332         I tried to update all the build systems but I'm not sure they are
20333         all fixed properly
20335         * page/ResourceRequest.h: Moved to platform/network.
20336         * platform/ResourceLoader.cpp: Moved to platform/network.
20337         * platform/ResourceLoader.h: Moved to platform/network.
20338         * platform/ResourceLoaderClient.h: Moved to platform/network.
20339         * platform/ResourceLoaderInternal.h: Moved to platform/network.
20340         * platform/cf/ResourceLoaderCFNet.cpp: Moved to platform/network/cf.
20341         * platform/gdk/ResourceLoaderCurl.cpp: Moved to platform/network/gdk.
20342         * platform/gdk/ResourceLoaderManager.cpp: Moved to platform/network/gdk.
20343         * platform/gdk/ResourceLoaderManager.h: Moved to platform/network/gdk.
20344         * platform/mac/ResourceLoaderMac.mm: Moved to platform/network/mac.
20345         * platform/qt/ResourceLoaderManager.cpp: Moved to platform/network/qt.
20346         * platform/qt/ResourceLoaderManager.h: Moved to platform/network/qt.
20347         * platform/qt/ResourceLoaderQt.cpp: Moved to platform/network/qt.
20348         * platform/win/ResourceLoaderWin.cpp: Moved to platform/network/win.
20349         * platform/win/ResourceLoaderWin.h: Moved to platform/network/win.
20350         * webcore-base.bkl: Updated for new paths.
20351         * CMakeLists.txt: ditto
20352         * Projects/gdk/webcore-gdk.bkl: ditto
20353         * WebCore.xcodeproj/project.pbxproj: ditto
20354         * WebCoreSources.bkl: ditto
20356 2006-10-22  Sam Weinig  <sam.weinig@gmail.com>
20358         Reviewed by Tim H.
20360         - Add DOMHTMLFormElementPrivate.h to the project.
20362         * WebCore.xcodeproj/project.pbxproj:
20363         * bindings/objc/DOMPrivate.h:
20365 2006-10-22  Darin Adler  <darin@apple.com>
20367         - another try at fixing Qt
20369         * CMakeLists.txt: Added DeleteButton.cpp and DeleteButtonController.cpp.
20371         - and fix a couple warnings while I'm at it
20373         * platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::setRGBA):
20374         Don't do unsigned *= float.
20376         * rendering/break_lines.cpp: (WebCore::nextBreakablePosition): Move unused variable
20377         inside #if so it's consistent.
20379 2006-10-21  Darin Adler  <darin@apple.com>
20381         - fix the Qt build
20383         * platform/qt/EditorClientQt.cpp:
20384         (WebCore::EditorClientQt::shouldShowDeleteInterface):
20385         * platform/qt/EditorClientQt.h:
20386         * platform/qt/FrameQt.cpp:
20388 2006-10-21  Darin Adler  <darin@apple.com>
20390         Reviewed by Adele.
20392         - convert WebLoader and its 3 subclasses to C++ (this time with a leak fixed)
20394         Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
20395         there's currently another class with that name).
20396         Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
20397         Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
20398         Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.
20400         Converted the classes to C++ and added Objective-C delegates to forward from
20401         API that still requires Objective-C.
20403         Did not yet rename the source files.
20405         * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
20406         classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
20407         classes.
20409         * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
20411         * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
20413         * loader/mac/WebLoader.h:
20414         * loader/mac/WebLoader.mm:
20415         * loader/mac/WebMainResourceLoader.h:
20416         * loader/mac/WebMainResourceLoader.mm:
20417         * loader/mac/WebNetscapePlugInStreamLoader.h:
20418         * loader/mac/WebNetscapePlugInStreamLoader.mm:
20419         * loader/mac/WebSubresourceLoader.h:
20420         * loader/mac/WebSubresourceLoader.mm:
20421         Translate to C++.
20423         * bridge/mac/WebCoreFrameBridge.mm:
20424         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
20425         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
20426         * loader/mac/WebFrameLoader.h:
20427         * loader/mac/WebFrameLoader.mm:
20428         (isCaseInsensitiveEqual):
20429         (isBackForwardLoadType):
20430         (-[WebFrameLoader dealloc]):
20431         (-[WebFrameLoader addPlugInStreamLoader:]):
20432         (-[WebFrameLoader removePlugInStreamLoader:]):
20433         (-[WebFrameLoader setDefersCallbacks:]):
20434         (-[WebFrameLoader stopLoadingPlugIns]):
20435         (-[WebFrameLoader isLoadingMainResource]):
20436         (-[WebFrameLoader isLoadingSubresources]):
20437         (-[WebFrameLoader isLoadingPlugIns]):
20438         (-[WebFrameLoader stopLoadingSubresources]):
20439         (-[WebFrameLoader addSubresourceLoader:]):
20440         (-[WebFrameLoader removeSubresourceLoader:]):
20441         (-[WebFrameLoader mainResourceData]):
20442         (-[WebFrameLoader releaseMainResourceLoader]):
20443         (-[WebFrameLoader cancelMainResourceLoad]):
20444         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
20445         (-[WebFrameLoader stopLoadingWithError:]):
20446         (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
20447         (-[WebFrameLoader archiveLoadPendingForLoader:]):
20448         (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
20449         * loader/mac/WebFrameLoaderClient.h:
20450         Call the new C++ API.
20452 2006-10-21  Adam Roben  <aroben@apple.com>
20454         Reviewed by Anders.
20456         Popup tweaks.
20458         * platform/PopupMenu.h:
20460 2006-10-21  Darin Adler  <darin@apple.com>
20462         * editing/DeleteButtonController.cpp: (WebCore::enclosingDeletableTable):
20463         Oops, edited this before landing it and introduced a null-deref! This fixes it.
20465 2006-10-21  Darin Adler  <darin@apple.com>
20467         Reviewed by Anders.
20469         - fix http://bugs.webkit.org/show_bug.cgi?id=11379
20470           assertion failure seen in editing tests (in new DeleteButtonController)
20472         I cleaned up the relationship between the Frame, Editor, EditorClient, and
20473         DeleteButtonController a bit while also making the simple change to fix the
20474         assertion failure.
20476         * bridge/mac/FrameMac.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
20477         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
20479         * page/Frame.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
20480         * page/Frame.cpp:
20481         (WebCore::Frame::Frame): Ditto.
20482         (WebCore::Frame::appliedEditing): Removed unneeded parameter to the respondToChangedContents
20483         function, and moved it to Editor rather than right on the DeleteButtonController.
20484         (WebCore::Frame::unappliedEditing): Ditto.
20485         (WebCore::Frame::reappliedEditing): Ditto.
20486         * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): More of the same.
20488         * editing/DeleteButtonController.h:
20489         * editing/DeleteButtonController.cpp:
20490         (WebCore::DeleteButtonController::DeleteButtonController): Replaced Editor* with a Frame*.
20491         The general pattern is that we always use the Frame* as the frame identifier. See FrameTree,
20492         for example.
20493         (WebCore::enclosingDeletableTable): Added. Helper function used by the respondToChangedSelection
20494         function. Includes an additional check for whether the container is contentEditable, which
20495         was missing from the old version. This prevents the assertion failure. Also added a check that
20496         the table itself is editable.
20497         (WebCore::DeleteButtonController::respondToChangedSelection): Rewrote to use the helper.
20498         (WebCore::DeleteButtonController::respondToChangedContents): Removed the unnecessary
20499         selection parameter. No need to pass in the state of the frame since we can get it if we need it.
20500         (WebCore::DeleteButtonController::show): Updated to use frame pointer rather than editor pointer.
20502         * editing/Editor.cpp: Fixed formatting. Even the temporary placeholder functions should be
20503         formatted on multiple lines as usual.
20504         (WebCore::Editor::respondToChangedSelection): Added. Forwards to the delete button controller.
20505         (WebCore::Editor::respondToChangedContents): Ditto.
20506         (WebCore::Editor::Editor): Changed EditorClient parameter to a PassRefPtr since we take ownership.
20508         * editing/Editor.h: Changed the DeleteButtonController to use an OwnPtr instead of being
20509         defined inline to decouple so that we don't have to include DeleteButtonController.h. That way
20510         changes to DeleteButtonController.h cause very little to recompile.
20512         * editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
20513         Updated to call the editor instead of the delete button controller for the selection change.
20515 2006-10-21  Anders Carlsson  <acarlsson@apple.com>
20517         Reviewed by Darin.
20519         * loader/mac/LoaderFunctionsMac.mm:
20520         (WebCore::ServeSynchronousRequest):
20521         * platform/mac/ResourceLoaderMac.mm:
20522         (WebCore::ResourceLoader::start):
20523         Don't leak the header dictionary.
20525 2006-10-21  Darin Adler  <darin@apple.com>
20527         Reviewed by Adam.
20529         - http://bugs.webkit.org/show_bug.cgi?id=11376
20530           build scripts should invoke make with "-j" option for multiple processors
20532         * WebCore.xcodeproj/project.pbxproj: Pass -j `sysctl -n hw.ncpu` to make.
20534 2006-10-21  Timothy Hatcher  <timothy@apple.com>
20536         Reviewed by Geoff.
20538         <rdar://problem/4478625> HTML Editing: Basic table editing and culling
20540         Initial implementaltion of table deletion user interface:
20541         * Interface shows up on the nearest table containing the entire selection.
20542         * Shows a Dashboard style close button in the top left corner.
20543         * Shows a 60% opaque black outline around the table.
20544         * Adds a new EditorClient function shouldShowDeleteInterface.
20546         Also adds a new constructor CachedImage and setter functions on
20547         HTMLImageElement and HTMLImageLoader allowing an Image object to be set
20548         and image element in the page. This change also paves the way to allow an
20549         NSImage setter on DOMHTMLImageElement. 
20551         * Resources/deleteButton.tiff: Added.
20552         * Resources/deleteButtonPressed.tiff: Added.
20553         * WebCore.xcodeproj/project.pbxproj:
20554         * bridge/EditorClient.h:
20555         * editing/DeleteButton.cpp: Added.
20556         (WebCore::DeleteButton::DeleteButton):
20557         (WebCore::DeleteButton::defaultEventHandler): notify the controller to delete on click
20558         * editing/DeleteButton.h: Added.
20559         * editing/DeleteButtonController.cpp: Added.
20560         (WebCore::DeleteButtonController::DeleteButtonController):
20561         (WebCore::DeleteButtonController::respondToChangedSelection): move the interface to the new element, or hide
20562         (WebCore::DeleteButtonController::respondToChangedContents): call updateOutlineStyle
20563         (WebCore::DeleteButtonController::updateOutlineStyle): resize the outline if the table changed size
20564         (WebCore::DeleteButtonController::show): shows the interface on a new element
20565         (WebCore::DeleteButtonController::hide): hides the existing interface
20566         (WebCore::DeleteButtonController::deleteTarget): deletes the targeted element
20567         * editing/DeleteButtonController.h: Added.
20568         (WebCore::DeleteButtonController::target): getter for the current target
20569         * editing/Editor.cpp:
20570         (WebCore::Editor::shouldShowDeleteInterface): call the new shouldShowDeleteInterface client function
20571         (WebCore::Editor::Editor): remove the manual ref now that we use RefPtr for m_client
20572         (WebCore::Editor::~Editor): remove the manual deref now that we use RefPtr for m_client
20573         * editing/Editor.h:
20574         (WebCore::Editor::frame): new getter
20575         (WebCore::Editor::deleteButtonController): ditto
20576         * editing/SelectionController.cpp:
20577         (WebCore::SelectionController::setSelection): notify the DeleteButtonController about the new selection
20578         * html/HTMLImageElement.h:
20579         (WebCore::HTMLImageElement::setCachedImage): new setter that replaces the CachedImage
20580         * html/HTMLImageLoader.cpp:
20581         (WebCore::HTMLImageLoader::setImage): ditto
20582         * html/HTMLImageLoader.h:
20583         * loader/CachedImage.cpp:
20584         (WebCore::CachedImage::CachedImage): new constructor that takes an Image
20585         * loader/CachedImage.h: ditto
20586         * page/Frame.cpp:
20587         (WebCore::Frame::selectionController): cleanup coding style
20588         (WebCore::Frame::editor): ditto
20589         (WebCore::Frame::command): ditto
20590         (WebCore::Frame::appliedEditing): tell the delete button outline to update
20591         (WebCore::Frame::unappliedEditing): ditto
20592         (WebCore::Frame::reappliedEditing): ditto
20593         * rendering/RenderTable.cpp:
20594         (WebCore::RenderTable::addChild): workaround until bug 11363 is fixed
20596 2006-10-21  Sam Weinig  <sam.weinig@gmail.com>
20598         Reviewed by Tim H.
20600         Cleanup bindings generation a little through re-factoring 
20601         and general style cleanup.
20603         * bindings/scripts/CodeGenerator.pm:
20604         * bindings/scripts/CodeGeneratorJS.pm:
20605         * bindings/scripts/CodeGeneratorObjC.pm:
20607 2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
20609         Reviewed by Mitz.
20611         Fix crashes on Qt/Linux. Offer a default EditorClient and pass it down to Frame ctor.
20613         * CMakeLists.txt:
20614         * platform/qt/EditorClientQt.cpp: Added.
20615         (WebCore::EditorClientQt::shouldDeleteRange):
20616         * platform/qt/EditorClientQt.h: Added.
20617         (WebCore::EditorClientQt::~EditorClientQt):
20618         * platform/qt/FrameQt.cpp:
20619         (WebCore::FrameQt::FrameQt):
20620         * platform/qt/FrameQt.h:
20622 2006-10-21  Sam Weinig  <sam.weinig@gmail.com>
20624         Reviewed by Tim H.
20626         Fix for http://bugs.webkit.org/show_bug.cgi?id=11372
20627         Auto-generate a few more Objective-C DOM methods.
20629         - Auto-generate getMatchedCSSRules and getComputedStyle methods.
20631         * bindings/objc/DOMCSS.h:
20632         * bindings/objc/DOMCSS.mm:
20633         * bindings/objc/DOMExtensions.h:
20634         * bindings/objc/PublicDOMInterfaces.h:
20635         * bindings/scripts/CodeGeneratorObjC.pm:
20636         * dom/Document.idl:
20637         * page/DOMWindow.idl:
20639 2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
20641         Reviewed by aliu, landed by aliu.
20643         Fix Qt/Linux build.
20645         * CMakeLists.txt:
20646         * platform/qt/FrameQt.cpp:
20647         (WebCore::FrameQt::FrameQt):
20648         * platform/qt/SoundQt.cpp: Added.
20649         (WebCore::systemBeep):
20651 2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
20653         Reviewed by Mitz, landed by ap.
20655         Fix obscure crashes in RenderTableSection on Rob's musicdb file.
20656         The problem was a missing layout() call on the frame view.
20657         Thanks go to Mitz Pettel for the initial hint!
20659         * platform/qt/ScrollViewCanvasQt.cpp:
20660         (WebCore::ScrollViewCanvasQt::paintEvent):
20662 2006-10-20  Steve Falkenburg  <sfalken@apple.com>
20664         Reviewed by Anders.
20666         Send User-Agent on requests.
20667         Send custom request headers properly.
20669         * platform/cf/ResourceLoaderCFNet.cpp:
20670         (WebCore::addHeadersFromHashMap): Switch over to HashMap iteration from string parsing
20671         (WebCore::ResourceLoader::start): Send proper User-Agent, change call to add headers
20673 2006-10-20  Timothy Hatcher  <timothy@apple.com>
20675         Reviewed by Hyatt.
20677         Fix some bad formatting.
20679         * css/cssstyleselector.cpp:
20680         (WebCore::CSSStyleSelector::checkOneSelector):
20682 2006-10-20  Darin Adler  <darin@apple.com>
20684         Reviewed by John.
20686         - fixed <rdar://problem/4795716> REGRESSION: User names and passwords aren't being saved (.Mac, etc.) -- WebKit formState passing empty strings
20688         * loader/mac/WebFormState.mm: (WebCore::FormState::FormState): Fix typo -- need to pass "key"
20689         as the key, not the dictionary itself.
20691 2006-10-20  Alice Liu  <alice.liu@apple.com>
20693         Reviewed by Maciej.
20695         This is the initial foundation for the EditingController class and
20696         everything else it needs to work.  The idea is that the Frame has an
20697         EditingController object that it calls to handle editing commands, the
20698         most simple examples being copy/paste.  This controller will handle
20699         these editing commands in WebCore, and only hand off to WebKit to call
20700         editing delegates (to the let the app intercept editing actions if it
20701         wants to).  Thus we need a platform-specific client to which the
20702         EditingController hands off the delegate calls, 
20703         WebCoreEditingControllerClient.  On the WebCore side this is an 
20704         abstract base class, and on the WebKit(Mac) side this is an ObjC++
20705         subclass, WebEditingControllerClient.  How does the EditingController
20706         get a handle to its platform-specific client?  In WebKit, the creator
20707         of a platform-specific Frame creates the client (which is ref-counted)
20708         and passes it down the chain of constructors until it gets back to the
20709         EditingController, which then refs it in its constructor and derefs in
20710         its destructor.
20711         
20712         No Layout tests needed.
20713         
20714         * WebCore.xcodeproj/project.pbxproj:
20715         Added files and made DomRangeInternal.h and EditingClient.h private headers, necessary for WebKit to compile
20717         * bridge/EditorClient.h: Added.
20718         (WebCore::EditorClient::~EditorClient):
20720         * bridge/mac/FrameMac.h:
20721         Added an EditingClient to the constructor, to pass down to Frame constructor
20723         * bridge/mac/FrameMac.mm:
20724         (WebCore::FrameMac::FrameMac):
20725         Passed client down to Frame constructor
20726         
20727         * bridge/mac/WebCoreFrameBridge.h:
20728         Added an EditingClient to the constructor, to pass down to FrameMac constructor
20729         
20730         * bridge/mac/WebCoreFrameBridge.mm:
20731         (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
20732         (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
20733         Passed client down to FrameMac constructor
20734         
20735         * editing/Editor.cpp: Added.
20736         Mostly stuf implementations of the following functions, except for a couple.  These are all needed by cut, copy, paste, delete.
20737         (WebCore::generalPasteboard):
20738         (WebCore::Editor::canCopy):
20739         (WebCore::Editor::canCut):
20740         (WebCore::Editor::canDelete):
20741         (WebCore::Editor::canDeleteRange):
20742         (WebCore::Editor::canPaste):
20743         (WebCore::Editor::canSmartCopyOrDelete):
20744         (WebCore::Editor::deleteSelection):
20745         (WebCore::Editor::deleteSelectionWithSmartDelete):
20746         (WebCore::Editor::isSelectionRichlyEditable):
20747         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
20748         (WebCore::Editor::pasteWithPasteboard):
20749         (WebCore::Editor::selectedRange):
20750         (WebCore::Editor::shouldDeleteRange):
20751         (WebCore::Editor::tryDHTMLCopy):
20752         (WebCore::Editor::tryDHTMLCut):
20753         (WebCore::Editor::tryDHTMLPaste):
20754         (WebCore::Editor::writeSelectionToPasteboard):
20755         (WebCore::Editor::Editor):
20756         (WebCore::Editor::~Editor):
20757         (WebCore::Editor::cut):
20758         (WebCore::Editor::copy):
20759         (WebCore::Editor::paste):
20760         (WebCore::Editor::performDelete):
20761         
20762         * editing/Editor.h: Added.
20763         
20764         * page/Frame.h:
20765         Added an EditingClient to the constructor, to pass down to Editor constructor
20767         * page/Frame.cpp:
20768         (WebCore::Frame::Frame):
20769         Passed down to Editor constructor
20770         (WebCore::Frame::editor):
20771         Accessor for Editor stored in FramePrivate
20772         
20773         * page/FramePrivate.h:
20774         (WebCore::FramePrivate::FramePrivate):
20775         Added an Editor object to the FramePrivate data
20776         
20777         * platform/Sound.h: Added.
20778         Made a platform-independent accessor to a beep function
20779         
20780         * platform/mac/SoundMac.mm: Added.
20781         (WebCore::systemBeep):
20782         calls mac system beep
20783         
20784 2006-10-20  David Hyatt  <hyatt@apple.com>
20786         Make sure to support the "encoding" property on form elements for
20787         legacy compatibility.
20789         Reviewed by darin/john
20791         No test cases added.  Not sure how to do a form submission of
20792         various encodings as a layout test.
20794         * html/HTMLFormElement.h:
20795         (WebCore::HTMLFormElement::encoding):
20796         (WebCore::HTMLFormElement::setEncoding):
20797         * html/HTMLFormElement.idl:
20799 2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
20801         Reviewed and by Anders.
20803         Fix warnings in JS generation by killing the whole isRefPtr logic,
20804         and just using WTF::getPtr as Sam Weinig suggested. Also kill some
20805         places using get() where getPtr() is cleaner - not for m_impl.get().
20807         * CMakeLists.txt: Tiny cleanup + add deps for CodeGenerator(JS).pm on all IDLs.
20808         * bindings/scripts/CodeGeneratorJS.pm:
20810 2006-10-20  Darin Adler  <darin@apple.com>
20812         - rolled out my loader change; caused world leak and possibly a plug-in crash
20814 2006-10-20  Anders Carlsson  <acarlsson@apple.com>
20816         Reviewed by Tim H
20818         * loader/mac/LoaderFunctionsMac.mm:
20819         Autorelease the header NSDictionary.
20820         
20821 2006-10-20  Anders Carlsson  <acarlsson@apple.com>
20823         Reviewed by Geoff.
20825         * bindings/js/kjs_window.cpp:
20826         (KJS::Window::timerFired):
20827         Check if the timeout id is still in the table before trying to access it. If it isn't in the table
20828         it has been deleted inside of the execute method.
20830 2006-10-20  Anders Carlsson  <acarlsson@apple.com>
20832         Reviewed by Darin and Geoff.
20834         Remove debugging output.
20835         * xml/xmlhttprequest.cpp:
20836         (WebCore::XMLHttpRequest::send):
20838 2006-10-20  David Harrison  <harrison@apple.com>
20840         Reviewed by John.
20842         <rdar://problem/4792755> REGRESSON: Drag selecting is erratic
20844         No test because it would require autoscrolling, which is not available to layout tests.
20846         * rendering/RenderLayer.cpp:
20847         (WebCore::RenderLayer::autoscroll):
20848         Use hitTest() to find the correct node.
20849         
20850         (WebCore::RenderLayer::hitTest):
20851         Trivial source formatting.
20853 2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
20855         Reviewed and landed by Anders.
20857         Fix regression introduced during the ResourceLoader transition (Maciej's rewrite).
20859         * platform/qt/ResourceLoaderManager.cpp:
20860         (WebCore::ResourceLoaderManager::add):
20862 2006-10-20  Darin Adler  <darin@apple.com>
20864         Reviewed by Adele.
20866         - convert WebLoader and its 3 subclasses to C++
20868         Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
20869         there's currently another class with that name).
20870         Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
20871         Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
20872         Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.
20874         Converted the classes to C++ and added Objective-C delegates to forward from
20875         API that still requires Objective-C.
20877         Did not yet rename the source files.
20879         * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
20880         classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
20881         classes.
20883         * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
20885         * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
20887         * loader/mac/WebLoader.h:
20888         * loader/mac/WebLoader.mm:
20889         * loader/mac/WebMainResourceLoader.h:
20890         * loader/mac/WebMainResourceLoader.mm:
20891         * loader/mac/WebNetscapePlugInStreamLoader.h:
20892         * loader/mac/WebNetscapePlugInStreamLoader.mm:
20893         * loader/mac/WebSubresourceLoader.h:
20894         * loader/mac/WebSubresourceLoader.mm:
20895         Translate to C++.
20897         * bridge/mac/WebCoreFrameBridge.mm:
20898         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
20899         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
20900         * loader/mac/WebFrameLoader.h:
20901         * loader/mac/WebFrameLoader.mm:
20902         (isCaseInsensitiveEqual):
20903         (isBackForwardLoadType):
20904         (-[WebFrameLoader dealloc]):
20905         (-[WebFrameLoader addPlugInStreamLoader:]):
20906         (-[WebFrameLoader removePlugInStreamLoader:]):
20907         (-[WebFrameLoader setDefersCallbacks:]):
20908         (-[WebFrameLoader stopLoadingPlugIns]):
20909         (-[WebFrameLoader isLoadingMainResource]):
20910         (-[WebFrameLoader isLoadingSubresources]):
20911         (-[WebFrameLoader isLoadingPlugIns]):
20912         (-[WebFrameLoader stopLoadingSubresources]):
20913         (-[WebFrameLoader addSubresourceLoader:]):
20914         (-[WebFrameLoader removeSubresourceLoader:]):
20915         (-[WebFrameLoader mainResourceData]):
20916         (-[WebFrameLoader releaseMainResourceLoader]):
20917         (-[WebFrameLoader cancelMainResourceLoad]):
20918         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
20919         (-[WebFrameLoader stopLoadingWithError:]):
20920         (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
20921         (-[WebFrameLoader archiveLoadPendingForLoader:]):
20922         (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
20923         * loader/mac/WebFrameLoaderClient.h:
20924         Call the new C++ API.
20926 2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
20928         Reviewed and landed by Anders.
20930         Offer a way for WebKitPart to be able to detect when
20931         the webpage has been completly loaded (including subresources).
20933         Also fix Qt/Linux build by removing PopupMenu.cpp from CMakeLists.txt
20934         and removing some functions from PopupMenuQt.cpp, and alter FrameQt.cpp.
20936         * CMakeLists.txt:
20937         * platform/qt/FrameQt.cpp:
20938         (WebCore::FrameQt::submitForm):
20939         (WebCore::FrameQt::client):
20940         * platform/qt/FrameQt.h:
20941         * platform/qt/FrameQtClient.cpp:
20942         (WebCore::FrameQtClientDefault::setFrame):
20943         (WebCore::FrameQtClientDefault::openURL):
20944         (WebCore::FrameQtClientDefault::submitForm):
20945         (WebCore::FrameQtClientDefault::checkLoaded):
20946         (WebCore::FrameQtClientDefault::traverseNextFrameStayWithin):
20947         (WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
20948         (WebCore::FrameQtClientDefault::receivedAllData):
20949         * platform/qt/FrameQtClient.h:
20950         * platform/qt/LoaderFunctionsQt.cpp:
20951         (WebCore::CheckCacheObjectStatus):
20952         * platform/qt/PopupMenuQt.cpp:
20953         * platform/qt/ResourceLoaderManager.cpp:
20954         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
20955         (WebCore::ResourceLoaderManager::slotResult):
20956         (WebCore::ResourceLoaderManager::add):
20957         * platform/qt/ResourceLoaderManager.h:
20958         * platform/qt/ResourceLoaderQt.cpp:
20959         (WebCore::ResourceLoader::start):
20961 2006-10-20  Steve Falkenburg  <sfalken@apple.com>
20963         Reviewed by Geoff.
20965         Fix compiler warnings
20967         * platform/ResourceLoaderClient.h:
20969 2006-10-20  Sam Weinig  <sam.weinig@gmail.com>
20971         Reviewed by Mitz.
20973         Win32 build fix and cleanup.
20975         * WebCore.vcproj/WebCore/WebCore.vcproj:
20976         * bridge/win/FrameWin.cpp:
20977         (WebCore::FrameWin::FrameWin):
20978         (WebCore::FrameWin::submitForm):
20979         * page/ResourceRequest.h:
20980         (WebCore::ResourceRequest::addHTTPHeaderField):
20981         * platform/win/TemporaryLinkStubs.cpp:
20982         (WebCore::Slider::~Slider):
20983         (WebCore::Slider::setMinValue):
20984         (WebCore::searchableIndexIntroduction):
20985         (WebCore::findNextSentenceFromIndex):
20986         (WebCore::findSentenceBoundary):
20987         (WebCore::findNextWordFromIndex):
20988         (WebCore::FrameWin::getObjectInstanceForWidget):
20989         (WebCore::FrameWin::getEmbedInstanceForWidget):
20990         (WebCore::FrameWin::runJavaScriptPrompt):
20991         (WebCore::FrameWin::restoreDocumentState):
20992         (WebCore::FrameWin::partClearedInBegin):
20993         (WebCore::FrameWin::createEmptyDocument):
20994         (WebCore::FrameWin::overrideMediaType):
20995         (WebCore::FrameWin::markedTextRange):
20996         (WebCore::FrameWin::passSubframeEventToSubframe):
20997         (WebCore::FrameWin::lastEventIsMouseUp):
20998         (WebCore::FrameWin::addMessageToConsole):
20999         (WebCore::FrameWin::shouldChangeSelection):
21000         (WebCore::FrameWin::respondToChangedSelection):
21001         (WebCore::FrameWin::createFrame):
21002         (WebCore::FrameWin::saveDocumentState):
21003         (WebCore::FrameWin::clearUndoRedoOperations):
21004         (WebCore::FrameWin::incomingReferrer):
21005         (WebCore::FrameWin::markMisspellingsInAdjacentWords):
21006         (WebCore::FrameWin::respondToChangedContents):
21007         (WebCore::FrameWin::handledOnloadEvents):
21008         (WebCore::FrameWin::createPlugin):
21009         (WebCore::FrameWin::objectContentType):
21010         (WebCore::screenDepthPerComponent):
21011         (WebCore::screenIsMonochrome):
21012         (WebCore::historyContains):
21013         (WebCore::submitButtonDefaultLabel):
21014         (WebCore::inputElementAltText):
21015         (WebCore::resetButtonDefaultLabel):
21016         (WebCore::fileButtonChooseFileLabel):
21017         (WebCore::fileButtonNoFileSelectedLabel):
21018         (WebCore::defaultLanguage):
21019         (WebCore::findWordBoundary):
21020         (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
21021         (WebCore::PlugInInfoStore::supportsMIMEType):
21022         (WebCore::refreshPlugins):
21023         (WebCore::ResourceLoader::assembleResponseHeaders):
21024         (WebCore::ResourceLoader::retrieveResponseEncoding):
21025         (WebCore::ResourceLoader::startHTTPRequest):
21026         (WebCore::TextField::TextField):
21027         (WebCore::focusRingColor):
21028         (WebCore::setFocusRingColorChangeFunction):
21029         (WebCore::PopupMenu::~PopupMenu):
21030         (WebCore::PopupMenu::hide):
21032 2006-10-20  Rob Buis  <buis@kde.org>
21034         Reviewed by Darin.
21036         http://bugs.webkit.org/show_bug.cgi?id=11303
21037         Path::transform() should be implemented on Qt build
21039         Use QPainterPath API to implement Path::transform.
21040         This fixes svg/custom/clip-path-with-transform.svg on
21041         the qt build.
21043         * platform/qt/PathQt.cpp:
21044         (WebCore::Path::transform):
21046 2006-10-20  Rob Buis  <buis@kde.org>
21048         Reviewed by Mitz.
21050         http://bugs.webkit.org/show_bug.cgi?id=11217
21051         Cleanup svg coding style
21053         Cleanup coding style in svg clipping and painting classes.
21055         * ksvg2/svg/SVGClipPathElement.cpp:
21056         (WebCore::SVGClipPathElement::parseMappedAttribute):
21057         (WebCore::SVGClipPathElement::canvasResource):
21058         * ksvg2/svg/SVGClipPathElement.h:
21059         * ksvg2/svg/SVGMarkerElement.cpp:
21060         (WebCore::SVGMarkerElement::SVGMarkerElement):
21061         (WebCore::SVGMarkerElement::parseMappedAttribute):
21062         (WebCore::SVGMarkerElement::setOrientToAngle):
21063         (WebCore::SVGMarkerElement::canvasResource):
21064         * ksvg2/svg/SVGMarkerElement.h:
21065         (WebCore::SVGMarkerElement::rendererIsNeeded):
21066         * ksvg2/svg/SVGMaskElement.cpp:
21067         (WebCore::SVGMaskElement::SVGMaskElement):
21068         (WebCore::SVGMaskElement::parseMappedAttribute):
21069         (WebCore::SVGMaskElement::drawMaskerContent):
21070         (WebCore::SVGMaskElement::canvasResource):
21071         * ksvg2/svg/SVGMaskElement.h:
21072         (WebCore::SVGMaskElement::rendererIsNeeded):
21073         * ksvg2/svg/SVGPaint.cpp:
21074         (WebCore::SVGPaint::setPaint):
21075         (WebCore::SVGPaint::cssText):
21076         * ksvg2/svg/SVGPaint.h:
21078 2006-10-20  David Hyatt  <hyatt@apple.com>
21080         Make sure to do the code that checks the repeatInterval before the timer has been
21081         deleted. (Duh.)
21083         Reviewed by andersca
21085         * bindings/js/kjs_window.cpp:
21086         (KJS::DOMWindowTimer::setNestingLevel):
21087         (KJS::Window::timerFired):
21088         (KJS::DOMWindowTimer::fired):
21089         * platform/Timer.h:
21091 2006-10-20  David Hyatt  <hyatt@apple.com>
21093         Honor tiny timer intervals for JS timeouts as they are nested until a cutoff point is reached.
21094         At that point clamp to 10ms to prevent excessive CPU usage.
21096         Reviewed by anders
21098         * bindings/js/kjs_window.cpp:
21099         (KJS::DOMWindowTimer::DOMWindowTimer):
21100         (KJS::DOMWindowTimer::nestingLevel):
21101         (KJS::Window::installTimeout):
21102         (KJS::Window::pauseTimeouts):
21103         (KJS::Window::resumeTimeouts):
21104         (KJS::DOMWindowTimer::fired):
21105         * platform/Timer.h:
21106         (WebCore::TimerBase::startRepeating):
21107         (WebCore::TimerBase::startOneShot):
21108         (WebCore::TimerBase::repeatInterval):
21109         (WebCore::TimerBase::augmentRepeatInterval):
21110         (WebCore::TimerBase::inHeap):
21111         (WebCore::Timer::Timer):
21112         (WebCore::Timer::fired):
21114 2006-10-20  Steve Falkenburg  <sfalken@apple.com>
21116         Build fix
21118         * ksvg2/svg/SVGAElement.cpp:
21119         (WebCore::SVGAElement::defaultEventHandler):
21121 2006-10-19  Steve Falkenburg  <sfalken@apple.com>
21123         Reviewed by Adam.
21125         Use GetKeyState rather than GetAsyncKeyState since we're
21126         calling in these cases in direct response to an event, and want the
21127         key state associated with that event.
21128         
21129         Pass triggering event to url selection method.
21130         
21131         * bridge/mac/FrameMac.h: Add triggeringEvent parameter
21132         * bridge/mac/FrameMac.mm:
21133         (WebCore::FrameMac::urlSelected): Add triggeringEvent parameter
21134         * bridge/win/FrameWin.cpp:
21135         (WebCore::FrameWin::urlSelected): Add triggeringEvent parameter
21136         * bridge/win/FrameWin.h: Add triggeringEvent parameter
21137         * html/HTMLAnchorElement.cpp:
21138         (WebCore::HTMLAnchorElement::defaultEventHandler): Pass triggering event to URL selection method
21139         * page/Frame.cpp:
21140         (WebCore::Frame::changeLocation): Add 0 as triggeringEvent
21141         (WebCore::Frame::urlSelected): Pass through triggeringEvent
21142         * page/Frame.h: Add triggeringEvent parameter to urlSelected methods
21143         * platform/win/KeyEventWin.cpp:
21144         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Use GetKeyState instead of GetAsyncKeyState
21145         * platform/win/MouseEventWin.cpp: Use GetKeyState instead of GetAsyncKeyState
21146         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
21148 2006-10-19  David Hyatt  <hyatt@apple.com>
21150         Correct typos from changing "flush" to "prune" using automated search/replace.
21152         Change the cache heuristic for flushing to allow a higher watermark before initiating an
21153         aggressive prune.  This ensures that small cache sizes are no worse in terms of performance
21154         than the old buggy cache.
21156         Make sizes unsigned instead of ints in the cache's APIs and member variables.
21158         * loader/Cache.cpp:
21159         (WebCore::Cache::prune):
21160         (WebCore::Cache::setMaximumSize):
21161         * loader/Cache.h:
21162         (WebCore::Cache::maximumSize):
21164 2006-10-19  Anders Carlsson  <acarlsson@apple.com>
21166         Reviewed by Daddy Hyatt.
21168         Use a real hash map for the headers.
21170         * loader/LoaderFunctions.h:
21171         * loader/mac/LoaderFunctionsMac.mm:
21172         (WebCore::ServeSynchronousRequest):
21173         * platform/ResourceLoader.cpp:
21174         (WebCore::ResourceLoader::setRequestHeaders):
21175         (WebCore::ResourceLoader::requestHeaders):
21176         * platform/ResourceLoader.h:
21177         * platform/ResourceLoaderInternal.h:
21178         * platform/mac/ResourceLoaderMac.mm:
21179         (WebCore::ResourceLoader::start):
21180         * xml/xmlhttprequest.cpp:
21181         (WebCore::XMLHttpRequest::open):
21182         (WebCore::XMLHttpRequest::send):
21183         (WebCore::XMLHttpRequest::setRequestHeader):
21184         (WebCore::XMLHttpRequest::getRequestHeader):
21185         * xml/xmlhttprequest.h:
21187 2006-10-19  Adam Roben  <aroben@apple.com>
21189         Reviewed by Ada.
21191         Pippity-poppity popup tweaks.
21193         * WebCore.xcodeproj/project.pbxproj: Removed PopupMenu.cpp from project.
21194         * html/HTMLSelectElement.cpp:
21195         (WebCore::HTMLSelectElement::setSelectedIndex): Only fire onChange if
21196         requested and the new index is actually different than the old one.
21197         * platform/IntPoint.h: Added another casting operator.
21198         * platform/PopupMenu.cpp: Removed. The code in here, while
21199         platform-independent, was only useful for the NSPopUpButtonCell
21200         implementation of popup menus, so I've moved it to PopupMenuMac.mm.
21201         * platform/PopupMenu.h: Moved the definition of PopupMenu::create into
21202         the header since it's fairly simple. Made some more methods private now
21203         that we don't have subclasses and virtual methods anymore.
21204         (WebCore::PopupMenu::create):
21205         (WebCore::PopupMenu::menuList):
21206         (WebCore::PopupMenu::itemHeight):
21207         (WebCore::PopupMenu::windowRect):
21208         (WebCore::PopupMenu::listIndexAtPoint):
21209         (WebCore::PopupMenu::focusedIndex):
21210         (WebCore::PopupMenu::setWasClicked):
21211         (WebCore::PopupMenu::wasClicked):
21212         (WebCore::PopupMenu::setScrollOffset):
21213         (WebCore::PopupMenu::scrollOffset):
21214         (WebCore::PopupMenu::wheelDelta):
21215         * platform/mac/PopupMenuMac.mm: Added the code from PopupMenu.cpp.
21216         (WebCore::PopupMenu::populate): Call our own clear() method to clear
21217         the menu.
21218         * platform/win/IntPointWin.cpp: New casting operator.
21219         (WebCore::IntPoint::IntPoint):
21220         (WebCore::IntPoint::operator POINTS):
21222 2006-10-19  Adam Roben  <aroben@apple.com>
21224         Reviewed by Darin.
21226         Cleaning up Document::nextFocusNode and Document::previousFocusNode.
21228         * dom/Document.cpp:
21229         (WebCore::Document::nextFocusNode):
21230         (WebCore::Document::previousFocusNode):
21232 2006-10-19  Maciej Stachowiak  <mjs@apple.com>
21234         Reviewed by Geoff.
21236         - implement new ResourceRequest API and fix up code as appropriate
21237         
21238         * bindings/js/kjs_window.cpp:
21239         (KJS::createNewWindow):
21240         (KJS::WindowFunc::callAsFunction):
21241         * bridge/mac/BrowserExtensionMac.mm:
21242         (WebCore::BrowserExtensionMac::createNewWindow):
21243         * bridge/mac/FrameMac.mm:
21244         (WebCore::FrameMac::submitForm):
21245         (WebCore::FrameMac::openURLRequest):
21246         (WebCore::FrameMac::urlSelected):
21247         * bridge/mac/WebCoreFrameBridge.mm:
21248         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
21249         * dom/DOMImplementation.cpp:
21250         (WebCore::addString):
21251         (WebCore::isSVG10Feature):
21252         (WebCore::isSVG11Feature):
21253         * dom/Document.h:
21254         * editing/CommandByName.cpp:
21255         * editing/JSEditor.cpp:
21256         * page/Frame.cpp:
21257         (WebCore::Frame::changeLocation):
21258         (WebCore::Frame::urlSelected):
21259         (WebCore::Frame::requestFrame):
21260         (WebCore::Frame::submitForm):
21261         * page/Frame.h:
21262         * page/FramePrivate.h:
21263         * page/ResourceRequest.h:
21264         (WebCore::):
21265         (WebCore::ResourceRequest::ResourceRequest):
21266         (WebCore::ResourceRequest::cachePolicy):
21267         (WebCore::ResourceRequest::setCachePolicy):
21268         (WebCore::ResourceRequest::timeoutInterval):
21269         (WebCore::ResourceRequest::setTimeoutInterval):
21270         (WebCore::ResourceRequest::mainDocumentURL):
21271         (WebCore::ResourceRequest::setMainDocumentURL):
21272         (WebCore::ResourceRequest::httpMethod):
21273         (WebCore::ResourceRequest::setHTTPMethod):
21274         (WebCore::ResourceRequest::httpHeaderField):
21275         (WebCore::ResourceRequest::setHTTPHeaderField):
21276         (WebCore::ResourceRequest::httpContentType):
21277         (WebCore::ResourceRequest::setHTTPContentType):
21278         (WebCore::ResourceRequest::httpReferrer):
21279         (WebCore::ResourceRequest::setHTTPReferrer):
21280         (WebCore::ResourceRequest::httpUserAgent):
21281         (WebCore::ResourceRequest::setHTTPUserAgent):
21282         (WebCore::ResourceRequest::httpBody):
21283         (WebCore::ResourceRequest::setHTTPBody):
21284         (WebCore::ResourceRequest::addHTTPHeaderField):
21285         * platform/FontCache.cpp:
21286         (WebCore::computeHash):
21287         * platform/StringHash.h:
21288         (WTF::):
21289         * platform/StringImpl.cpp:
21290         (WebCore::equalIgnoringCase):
21291         * rendering/RenderPartObject.cpp:
21292         (WebCore::RenderPartObject::updateWidget):
21294 2006-10-19  Justin Garcia  <justin.garcia@apple.com>
21296         Reviewed by levi
21297         
21298         <rdar://problem/4447885>
21299         API: WebView should have a method something like incrementLeftMarginBy: or indentBy:
21300         
21301         Fixed indent/outdent to only increment the left margin, to match other browsers.
21302         Used blockquote class="webkit-indent-blockquote" to do this.  Mail can now
21303         implement indent/outdent by customizing the appearance of these blockquotes,
21304         instead of using a new API.
21305         
21306         * css/html4.css: Added margin: 0 0 0 40px for webkit-indent-blockquotes.
21307         * editing/IndentOutdentCommand.cpp:
21308         (WebCore::indentBlockquoteString): Added.
21309         (WebCore::createIndentBlockquoteElement): Added.
21310         (WebCore::isIndentBlockquote): Added.
21311         (WebCore::isListOrBlockquote): Added.
21312         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
21313         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Fixed
21314         a bug in the code that added an extra br if the placeholder collapsed upon insertion.
21315         Used the new indentBlockquote checks and enclosing element getters.  
21316         (WebCore::IndentOutdentCommand::indentRegion): Ditto.
21317         (WebCore::IndentOutdentCommand::outdentParagraph): Ditto.  Cleaned up the
21318         logic to pull the selection out of a list a bit.
21319         * editing/htmlediting.cpp:
21320         (WebCore::enclosingNodeOfType): Added this generic enclosing element getter.
21321         * editing/htmlediting.h:
21323 2006-10-19  Timothy Hatcher  <timothy@apple.com>
21325         Rolling out the this change since it caused a bad regression:
21326         <rdar://problem/4788524> REGRESSION: Incomplete repaint of text area when deleting (11277)
21328 2006-10-12  Adele Peterson  <adele@apple.com>
21329           
21330         Reviewed by Dave Harrison.
21331           
21332         - Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
21333           
21334         * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout):
21335         Make subtree layouts work for textareas as well as text fields.
21337 2006-10-19  Nikolas Zimmermann  <zimmermann@kde.org>
21339         Reviewed and landed by Anders.
21341         Fix Qt/Linux build.
21343         * CMakeLists.txt:
21344         * loader/Cache.h:
21345         * platform/qt/BrowserExtensionQt.cpp:
21346         * platform/qt/BrowserExtensionQt.h:
21347         * platform/qt/CursorQt.cpp:
21348         (WebCore::pointerCursor):
21349         * platform/qt/LoaderFunctionsQt.cpp:
21350         (WebCore::NumberOfPendingOrLoadingRequests):
21351         (WebCore::CheckCacheObjectStatus):
21352         * platform/qt/ResourceLoaderQt.cpp:
21353         (WebCore::ResourceLoader::retrieveResponseEncoding):
21354         (WebCore::ResourceLoader::receivedResponse):
21356 2006-10-19  Sam Weinig  <sam.weinig@gmail.com>
21358         Reviewed by ap.
21360         Win32 build fix.
21362         * bridge/win/FrameWin.cpp:
21363         * bridge/win/FrameWin.h:
21364         * platform/win/TemporaryLinkStubs.cpp:
21365         (WebCore::ResourceLoader::retrieveResponseEncoding):
21367 2006-10-19  Alexey Proskuryakov  <ap@nypop.com>
21369         Reviewed by Mitz.
21371         http://bugs.webkit.org/show_bug.cgi?id=11141
21372         REGRESSION(r16681-r16691): CSS '@import' doesn't respect HTML Base element
21374         Undo one misguided change made in bug 11011 - stop setting inline stylesheet's href
21375         to document URL. This matches WinIE and partially matches Firefox - although the latter
21376         reports the href as if it were inherited, it still doesn't use it when resolving URIs in
21377         @import rules.
21379         Test: http/tests/uri/css-href.php
21381         * html/HTMLStyleElement.cpp:
21382         (WebCore::HTMLStyleElement::childrenChanged):
21383         * ksvg2/svg/SVGStyleElement.cpp:
21384         (WebCore::SVGStyleElement::childrenChanged):
21386 2006-10-19  Anders Carlsson  <acarlsson@apple.com>
21388         * loader/Cache.cpp:
21389         Get rid of #include "loader.h", Cache.h already includes this and it breaks on operating systems
21390         with case-sensitive file systems.
21392 2006-10-19  Anders Carlsson  <acarlsson@apple.com>
21394         Reviewed by Maciej, Brady.
21396         Remove "charset" from the ResourceLoader metadata map and use 
21397         a getter function instead. Also, rename charset to encoding in a couple of places.
21398         
21399         * loader/CachedCSSStyleSheet.cpp:
21400         (WebCore::CachedCSSStyleSheet::setEncoding):
21401         * loader/CachedCSSStyleSheet.h:
21402         * loader/CachedResource.h:
21403         (WebCore::CachedResource::setEncoding):
21404         * loader/CachedScript.cpp:
21405         (WebCore::CachedScript::setEncoding):
21406         * loader/CachedScript.h:
21407         * loader/CachedXBLDocument.cpp:
21408         (WebCore::CachedXBLDocument::setEncoding):
21409         * loader/CachedXBLDocument.h:
21410         * loader/CachedXSLStyleSheet.cpp:
21411         (WebCore::CachedXSLStyleSheet::setEncoding):
21412         * loader/CachedXSLStyleSheet.h:
21413         * loader/loader.cpp:
21414         (WebCore::Loader::receivedResponse):
21415         * platform/ResourceLoader.cpp:
21416         (WebCore::ResourceLoader::responseEncoding):
21417         (WebCore::ResourceLoader::queryMetaData):
21418         * platform/ResourceLoader.h:
21419         * platform/ResourceLoaderInternal.h:
21420         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
21421         * platform/mac/ResourceLoaderMac.mm:
21422         (WebCore::ResourceLoader::retrieveResponseEncoding):
21423         (WebCore::ResourceLoader::receivedResponse):
21424         * xml/xmlhttprequest.cpp:
21425         (WebCore::XMLHttpRequest::receivedData):
21427 2006-10-19  David Hyatt  <hyatt@apple.com>
21429         Rewrite of the WebCore memory cache.  The following changes have been made (along with many more):
21431         (1) Referenced objects are now also cached.
21433         (2) Pruning of the cache will occur once the cache is both full and in addition
21434         more than half full with unreferenced objects.
21436         (3) The prune is much more aggressive now, since referenced objects are counted when
21437         pruning.  The cache will therefore often prune out every unreferenced object if lots of
21438         windows/tabs are open.
21440         (4) Consolidated the request methods for various types of resources to go through a single
21441         requestResource bottleneck function.
21443         (5) deref on CachedResource is no longer virtual, since the implementation in every subclass was
21444         identical.
21446         (6) Changed "object" to "resource" everywhere.
21448         (7) The Cache is now an actual object, obtained via cache().
21450         (8) Fixed bugs with the autoload images preference so that it would really work properly when disabled
21451         and enabled.
21453         (9) Tweaked ImageDocuments to set up the status properly for the CachedResource that they use.
21455         (10) Fixed the LRU-SP algorithm so that the LRU aspect really kicks in (by leaving the live objects
21456         in the LRU lists).  Also fixed a bug with the "-SP" part of the algorithm where the access count was
21457         being incorrectly weighted too much due to a math error.
21459         (11) Fixed a bug where the old cache could grow without bound because it didn't know anything about
21460         the size of referenced resources.
21462         Reviewed by Maciej, bradee-oh
21464         * bridge/mac/WebCoreCache.mm:
21465         (+[WebCoreCache statistics]):
21466         (+[WebCoreCache empty]):
21467         (+[WebCoreCache setDisabled:]):
21468         * bridge/mac/WebCoreFrameBridge.mm:
21469         (-[WebCoreFrameBridge initMainFrameWithPage:]):
21470         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
21471         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
21472         * css/CSSImageValue.cpp:
21473         (WebCore::CSSImageValue::image):
21474         * dom/XMLTokenizer.cpp:
21475         (WebCore::openFunc):
21476         * html/HTMLImageLoader.cpp:
21477         (WebCore::HTMLImageLoader::updateFromElement):
21478         * loader/Cache.cpp:
21479         (WebCore::cache):
21480         (WebCore::Cache::Cache):
21481         (WebCore::createResource):
21482         (WebCore::Cache::requestResource):
21483         (WebCore::Cache::resourceForURL):
21484         (WebCore::Cache::prune):
21485         (WebCore::Cache::setMaximumSize):
21486         (WebCore::Cache::remove):
21487         (WebCore::Cache::addDocLoader):
21488         (WebCore::Cache::removeDocLoader):
21489         (WebCore::fastLog2):
21490         (WebCore::Cache::lruListFor):
21491         (WebCore::Cache::removeFromLRUList):
21492         (WebCore::Cache::insertInLRUList):
21493         (WebCore::Cache::resourceAccessed):
21494         (WebCore::Cache::adjustSize):
21495         (WebCore::Cache::getStatistics):
21496         (WebCore::Cache::setDisabled):
21497         * loader/Cache.h:
21498         (WebCore::LRUList::LRUList):
21499         (WebCore::Cache::loader):
21500         (WebCore::Cache::maximumSize):
21501         (WebCore::Cache::disabled):
21502         (WebCore::Cache::addToLiveObjectSize):
21503         (WebCore::Cache::removeFromLiveObjectSize):
21504         (WebCore::Cache::TypeStatistic::TypeStatistic):
21505         * loader/CachedCSSStyleSheet.cpp:
21506         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
21507         * loader/CachedCSSStyleSheet.h:
21508         * loader/CachedImage.cpp:
21509         (WebCore::CachedImage::CachedImage):
21510         (WebCore::CachedImage::~CachedImage):
21511         (WebCore::brokenImage):
21512         (WebCore::nullImage):
21513         (WebCore::CachedImage::image):
21514         (WebCore::CachedImage::data):
21515         * loader/CachedImage.h:
21516         (WebCore::CachedImage::stillNeedsLoad):
21517         * loader/CachedResource.cpp:
21518         (WebCore::CachedResource::CachedResource):
21519         (WebCore::CachedResource::~CachedResource):
21520         (WebCore::CachedResource::finish):
21521         (WebCore::CachedResource::setExpireDate):
21522         (WebCore::CachedResource::isExpired):
21523         (WebCore::CachedResource::setRequest):
21524         (WebCore::CachedResource::ref):
21525         (WebCore::CachedResource::deref):
21526         (WebCore::CachedResource::setSize):
21527         * loader/CachedResource.h:
21528         (WebCore::CachedResource::):
21529         (WebCore::CachedResource::setCharset):
21530         (WebCore::CachedResource::url):
21531         (WebCore::CachedResource::type):
21532         (WebCore::CachedResource::referenced):
21533         (WebCore::CachedResource::count):
21534         (WebCore::CachedResource::status):
21535         (WebCore::CachedResource::size):
21536         (WebCore::CachedResource::isLoaded):
21537         (WebCore::CachedResource::setLoading):
21538         (WebCore::CachedResource::isImage):
21539         (WebCore::CachedResource::accessCount):
21540         (WebCore::CachedResource::increaseAccessCount):
21541         (WebCore::CachedResource::setInCache):
21542         (WebCore::CachedResource::inCache):
21543         (WebCore::CachedResource::cachePolicy):
21544         (WebCore::CachedResource::response):
21545         (WebCore::CachedResource::allData):
21546         (WebCore::CachedResource::canDelete):
21547         (WebCore::CachedResource::schedule):
21548         (WebCore::CachedResource::accept):
21549         (WebCore::CachedResource::setAccept):
21550         * loader/CachedScript.cpp:
21551         (WebCore::CachedScript::CachedScript):
21552         * loader/CachedScript.h:
21553         * loader/CachedXBLDocument.cpp:
21554         * loader/CachedXBLDocument.h:
21555         * loader/CachedXSLStyleSheet.cpp:
21556         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
21557         * loader/CachedXSLStyleSheet.h:
21558         * loader/DocLoader.cpp:
21559         (WebCore::DocLoader::DocLoader):
21560         (WebCore::DocLoader::~DocLoader):
21561         (WebCore::DocLoader::checkForReload):
21562         (WebCore::DocLoader::requestImage):
21563         (WebCore::DocLoader::requestCSSStyleSheet):
21564         (WebCore::DocLoader::requestScript):
21565         (WebCore::DocLoader::requestXSLStyleSheet):
21566         (WebCore::DocLoader::requestXBLDocument):
21567         (WebCore::DocLoader::requestResource):
21568         (WebCore::DocLoader::setAutoLoadImages):
21569         (WebCore::DocLoader::removeCachedResource):
21570         * loader/DocLoader.h:
21571         (WebCore::DocLoader::cachedResource):
21572         (WebCore::DocLoader::allCachedResources):
21573         (WebCore::DocLoader::autoLoadImages):
21574         (WebCore::DocLoader::cachePolicy):
21575         (WebCore::DocLoader::expireDate):
21576         (WebCore::DocLoader::frame):
21577         (WebCore::DocLoader::doc):
21578         (WebCore::DocLoader::loadInProgress):
21579         * loader/ImageDocument.cpp:
21580         (WebCore::ImageTokenizer::finish):
21581         * loader/loader.cpp:
21582         (WebCore::Loader::receivedAllData):
21583         (WebCore::Loader::cancelRequests):
21584         * loader/mac/LoaderFunctionsMac.mm:
21585         (WebCore::NumberOfPendingOrLoadingRequests):
21586         (WebCore::CheckCacheObjectStatus):
21587         * page/Frame.cpp:
21588         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
21589         (WebCore::Frame::Frame):
21590         (WebCore::Frame::stopLoading):
21591         (WebCore::Frame::setAutoLoadImages):
21592         (WebCore::Frame::autoLoadImages):
21593         (WebCore::Frame::begin):
21594         (WebCore::Frame::checkCompleted):
21595         (WebCore::Frame::reparseConfiguration):
21596         * page/Frame.h:
21597         * xml/XSLTProcessor.cpp:
21598         (WebCore::docLoaderFunc):
21599         * xml/xmlhttprequest.cpp:
21600         (WebCore::XMLHttpRequest::send):
21602 2006-10-18  Maciej Stachowiak  <mjs@apple.com>
21604         Reviewed by Geoff.
21606         - remove vestiges of KXMLCore name (former name of WTF).
21608         * config.h:
21610 2006-10-18  Geoffrey Garen  <ggaren@apple.com>
21612         Reviewed by Beth.
21613         
21614         Fixed http://bugs.webkit.org/show_bug.cgi?id=11222
21616         Some global JS objects lacked references to their property hashtables,
21617         so for-in enumeration didn't work. I added the references, and then removed
21618         a few bogus properties from the tables. The bogus ones got in there through
21619         bit rot.
21620         
21621         We should come up with some solution to these hand-written bindings bugs.
21622         Maybe we could use a script to autogenerate them or something.
21624         * bindings/js/kjs_window.cpp:
21625         (KJS::):
21626         (KJS::History::getValueProperty):
21628 2006-10-18  Adam Roben  <aroben@apple.com>
21630         Reviewed by Brady.
21632         Change Shift-Tab to generate keyIdentifier U+000009 (Tab) instead of
21633         U+000019 (Backtab). This matches our windowsKeyCode for this key
21634         combination.
21636         * platform/mac/KeyEventMac.mm:
21637         (WebCore::keyIdentifierForKeyEvent):
21639 2006-10-18  Steve Falkenburg  <sfalken@apple.com>
21641         Reviewed by Adam, Brady.
21643         Loader tweaks.
21645         * platform/cf/ResourceLoaderCFNet.cpp:
21646         (WebCore::didFinishLoading):
21647         (WebCore::didFail):
21648         (WebCore::didReceiveChallenge):
21649         (WebCore::runLoaderThread):
21650         (WebCore::ResourceLoader::start):
21651         (WebCore::ResourceLoader::cancel):
21653 2006-10-18  Timothy Hatcher  <timothy@apple.com>
21655         Reviewed by Darin.
21657         <rdar://problem/4752138> Manipulating popup in HTML page crashed Xcode
21659         - Store the Mac popup button cell as a RetainPtr to prevent GC collection.
21660         - Convert more ObjC local statics and member variables to use RetainPtr.
21661         - Convert more CFRetain/CFRelease to HardRetain/HardRelease.
21663         * bindings/objc/DOM.mm:
21664         (ObjCNodeFilterCondition::ObjCNodeFilterCondition): use HardRetain and not CFRetain
21665         (ObjCNodeFilterCondition::~ObjCNodeFilterCondition): use HardRelease and not CFRelease
21666         * bridge/mac/AXObjectCacheMac.mm:
21667         (WebCore::AXObjectCache::~AXObjectCache): use HardRelease and not CFRelease
21668         (WebCore::AXObjectCache::get): use HardRetain and not CFRetain
21669         (WebCore::AXObjectCache::remove): use HardRelease and not CFRelease
21670         * bridge/mac/WebCoreFrameBridge.mm:
21671         (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): use RetainPtr
21672         (+[WebCoreFrameBridge supportedImageMIMETypes]): ditto
21673         * bridge/mac/WebCoreIconDatabaseBridge.mm:
21674         (+[WebCoreIconDatabaseBridge sharedInstance]): use RetainPtr
21675         * platform/PopupMenu.h: renamed popup to m_popup and switched to RetainPtr<NSPopUpButtonCell>
21676         * platform/cf/RetainPtr.h:
21677         (WTF::::operator): implement a missing operator= template function
21678         * platform/mac/PopupMenuMac.mm:
21679         (WebCore::PopupMenu::PopupMenu): remove nil initialization
21680         (WebCore::PopupMenu::~PopupMenu): use .get(), remove release message and rename to m_popup
21681         (WebCore::PopupMenu::clear): use .get() when sending a message and rename to m_popup
21682         (WebCore::PopupMenu::populate): ditto 
21683         (WebCore::PopupMenu::show): ditto
21684         (WebCore::PopupMenu::hide): ditto
21685         (WebCore::PopupMenu::addSeparator): ditto
21686         (WebCore::PopupMenu::addGroupLabel): ditto
21687         (WebCore::PopupMenu::addOption): ditto
21689 2006-10-18  Geoffrey Garen  <ggaren@apple.com>
21691         Reviewed by Adele.
21693         Fixed <rdar://problem/3673233> JavaScript timers do not fire if controls
21694         are tracking or menus are down (run loop modes)
21696         I spent a few hours trying to write an automated test, but DRT doesn't
21697         seem to support it. Manual tests attached to related bugs.
21698         
21699         * bridge/mac/FrameMac.mm:
21700         (WebCore::FrameMac::passMouseDownEventToWidget):
21701         * platform/mac/SharedTimerMac.cpp:
21702         (WebCore::setSharedTimerFireTime):
21704 2006-10-18  Sam Weinig  <sam.weinig@gmail.com>
21706         Reviewed by Maciej.
21708         More Win32 buildfix.
21710         * bridge/win/FrameWin.h:
21712 2006-10-18  Sam Weinig  <sam.weinig@gmail.com>
21714         Reviewed by Mitz
21716         Win32 build fix.
21718         * bridge/win/BrowserExtensionWin.cpp:
21719         (WebCore::BrowserExtensionWin::BrowserExtensionWin):
21720         (WebCore::BrowserExtensionWin::createNewWindow):
21721         * bridge/win/BrowserExtensionWin.h:
21722         * bridge/win/FrameWin.cpp:
21723         (WebCore::FrameWin::createNewWindow):
21724         * bridge/win/FrameWin.h:
21725         * platform/win/CursorWin.cpp:
21726         * platform/win/TemporaryLinkStubs.cpp:
21727         (Image::getHBITMAP):
21729 2006-10-18  Justin Garcia  <justin.garcia@apple.com>
21731         Reviewed by harrison
21732         
21733         <rdar://problem/4784823>
21734         GMail Editor: Hang occurs when removing list styling on text in a rich text message
21736         List removal moves the contents of every list item out of the list it's 
21737         in. When the code tried to move the contents of an empty list item (an li 
21738         with no child nodes, not even a placeholder br), moveParagraph didn't prune 
21739         the li, like it would if the li had a placeholder inside it.  So the list 
21740         removal code went into an infinite loop, continually attempting to de-list 
21741         an empty list item.
21743         * editing/CompositeEditCommand.cpp:
21744         (WebCore::CompositeEditCommand::moveParagraphs): If the selection
21745         to move was empty and in an empty block that doesn't require a 
21746         placeholder to prop itself open (like a bordered div or an li), 
21747         remove it during the move.
21749 2006-10-18  Adele Peterson  <adele@apple.com>
21751         Reviewed by Beth.
21753         - Fixed http://bugs.webkit.org/show_bug.cgi?id=11343
21754           REGRESSION (r16975): fast/events/objc-event-api is failing
21756           When I moved the autoscroll code from FrameMac to Frame, I mistakingly changed the order of
21757           a call to invalidateClick.  This change moves it back to the sequence that existed before.  This allows
21758           the click count to get properly reset during a selection.
21760         * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent):
21762 2006-10-17  Geoffrey Garen  <ggaren@apple.com>
21763         
21764         Reviewed by Anders.
21765         
21766         Factored common scaling code into a helper function.
21768         * platform/mac/ScreenMac.mm:
21769         (WebCore::scale):
21770         (WebCore::scaleScreenRectToPageCoordinates):
21771         (WebCore::scalePageRectToScreenCoordinates):
21773 2006-10-17  Steve Falkenburg  <sfalken@apple.com>
21775         Build fixes
21777         * bridge/win/BrowserExtensionWin.cpp:
21778         (WebCore::BrowserExtensionWin::createNewWindow):
21779         * bridge/win/BrowserExtensionWin.h:
21780         * bridge/win/FrameWin.cpp:
21781         (WebCore::FrameWin::createNewWindow):
21782         * bridge/win/FrameWin.h:
21783         * platform/gdk/BrowserExtensionGdk.h:
21784         * platform/gdk/TemporaryLinkStubs.cpp:
21785         (BrowserExtensionGdk::createNewWindow):
21786         * platform/qt/BrowserExtensionQt.cpp:
21787         (WebCore::BrowserExtensionQt::createNewWindow):
21788         * platform/qt/BrowserExtensionQt.h:
21790 2006-10-17  Geoffrey Garen  <ggaren@apple.com>
21792         Reviewed by Anders.
21793         
21794         Renamed WindowArgs to WindowFeatures, and moved it into its own header.
21795         ("Features" is the term of art in IE documentation. "Args" is pirate
21796         talk.)
21798         * WebCore.xcodeproj/project.pbxproj:
21799         * bindings/js/kjs_window.cpp:
21800         (KJS::createNewWindow):
21801         (KJS::showModalDialog):
21802         (KJS::setWindowFeature):
21803         (KJS::parseWindowFeatures):
21804         (KJS::constrainToVisible):
21805         (KJS::WindowFunc::callAsFunction):
21806         * bridge/BrowserExtension.h:
21807         * bridge/WindowFeatures.h: Added.
21808         * bridge/mac/BrowserExtensionMac.h:
21809         * bridge/mac/BrowserExtensionMac.mm:
21810         (WebCore::BrowserExtensionMac::createNewWindow):
21812 2006-10-17  Sam Weinig  <sam.weinig@gmail.com>
21814         Reviewed by Tim H.
21816         Patch for http://bugs.webkit.org/show_bug.cgi?id=11268
21817         Implement the Objective-C DOM bindings for SVGNumber, SVGRect, and SVGPoint
21819         - Adds implementation for DOMSVGNumber, DOMSVGRect, and DOMSVGPoint.
21821         - Moves the contents of ksvg/bindings/js/ to bindings/js/.
21823         - Moves SVGZoomEvent.idl from ksvg/svg/ to ksvg/events/.
21825         - Adds isSVGColor() and isSVGPaint() methods to StyleBase, matching 
21826           the other CSSValue classing, and allowing the bindings to allocate
21827           appropriately.
21829         - Removes #ifdefs around the getBBox() method in SVGLocatable.idl allowing
21830           generation for Objective-C.
21832         - Assorted style cleanups.
21834         * DerivedSources.make:
21835         * WebCore.xcodeproj/project.pbxproj:
21836         * bindings/objc/DOMCSS.mm:
21837         (+[DOMCSSValue _CSSValueWith:WebCore::]):
21838         * bindings/objc/DOMEvents.mm:
21839         (+[DOMEvent _eventWith:WebCore::]):
21840         * bindings/objc/DOMSVG.h:
21841         * bindings/objc/DOMSVGNumber.mm:
21842         (-[DOMSVGNumber dealloc]):
21843         (-[DOMSVGNumber finalize]):
21844         (-[DOMSVGNumber value]):
21845         (-[DOMSVGNumber setValue:]):
21846         (-[DOMSVGNumber _SVGNumber]):
21847         (-[DOMSVGNumber _initWithFloat:]):
21848         (+[DOMSVGNumber _SVGNumberWith:]):
21849         * bindings/objc/DOMSVGPoint.mm:
21850         (-[DOMSVGPoint dealloc]):
21851         (-[DOMSVGPoint finalize]):
21852         (-[DOMSVGPoint x]):
21853         (-[DOMSVGPoint setX:]):
21854         (-[DOMSVGPoint y]):
21855         (-[DOMSVGPoint setY:]):
21856         (-[DOMSVGPoint WebCore::]):
21857         (-[DOMSVGPoint _initWithFloatPoint:WebCore::]):
21858         (+[DOMSVGPoint _SVGPointWith:WebCore::]):
21859         * bindings/objc/DOMSVGRect.mm:
21860         (-[DOMSVGRect dealloc]):
21861         (-[DOMSVGRect finalize]):
21862         (-[DOMSVGRect x]):
21863         (-[DOMSVGRect setX:]):
21864         (-[DOMSVGRect y]):
21865         (-[DOMSVGRect setY:]):
21866         (-[DOMSVGRect width]):
21867         (-[DOMSVGRect setWidth:]):
21868         (-[DOMSVGRect height]):
21869         (-[DOMSVGRect setHeight:]):
21870         (-[DOMSVGRect WebCore::]):
21871         (-[DOMSVGRect _initWithFloatRect:WebCore::]):
21872         (+[DOMSVGRect _SVGRectWith:WebCore::]):
21873         * bindings/scripts/CodeGeneratorObjC.pm:
21874         * css/StyleBase.h:
21875         (WebCore::StyleBase::isSVGColor):
21876         (WebCore::StyleBase::isSVGPaint):
21877         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
21878         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Removed.
21879         * ksvg2/bindings/js/JSSVGNumber.cpp: Removed.
21880         * ksvg2/bindings/js/JSSVGNumber.h: Removed.
21881         * ksvg2/bindings/js/JSSVGPoint.cpp: Removed.
21882         * ksvg2/bindings/js/JSSVGPoint.h: Removed.
21883         * ksvg2/bindings/js/JSSVGRect.cpp: Removed.
21884         * ksvg2/bindings/js/JSSVGRect.h: Removed.
21885         * ksvg2/svg/SVGColor.h:
21886         (WebCore::SVGColor::isSVGColor):
21887         * ksvg2/svg/SVGFECompositeElement.idl:
21888         * ksvg2/svg/SVGFEFloodElement.idl:
21889         * ksvg2/svg/SVGLocatable.idl:
21890         * ksvg2/svg/SVGMarkerElement.idl:
21891         * ksvg2/svg/SVGPaint.h:
21892         (WebCore::SVGPaint::isSVGPaint):
21893         * ksvg2/svg/SVGRectElement.idl:
21894         * ksvg2/svg/SVGZoomEvent.idl: Removed.
21896 2006-10-17  David Hyatt  <hyatt@apple.com>
21898         Prepare for the elimination of the RenderLayer for <html> elements.  The layer is still present,
21899         but this patch makes everything work without a root layer being around.
21901         Reviewed by beth
21903         * rendering/RenderBlock.cpp:
21904         (WebCore::RenderBlock::paint):
21905         (WebCore::RenderBlock::paintChildren):
21906         (WebCore::RenderBlock::nodeAtPoint):
21907         * rendering/RenderLayer.cpp:
21908         (WebCore::frameVisibleRect):
21909         (WebCore::RenderLayer::hitTest):
21910         (WebCore::RenderLayer::hitTestLayer):
21911         (WebCore::RenderLayer::intersectsDamageRect):
21912         * rendering/RenderObject.cpp:
21913         (WebCore::RenderObject::setInnerNode):
21914         * rendering/RenderView.cpp:
21915         (WebCore::RenderView::paint):
21917 2006-10-17  David Hyatt  <hyatt@apple.com>
21919         Back out my previous patch to the WebCore memory cache.
21921         * loader/Cache.cpp:
21922         (WebCore::Cache::flush):
21923         (WebCore::Cache::setSize):
21924         (WebCore::Cache::getLRUListFor):
21925         (WebCore::Cache::removeFromLRUList):
21926         (WebCore::Cache::insertInLRUList):
21927         * loader/Cache.h:
21928         * loader/CachedCSSStyleSheet.cpp:
21929         (WebCore::CachedCSSStyleSheet::deref):
21930         * loader/CachedCSSStyleSheet.h:
21931         * loader/CachedImage.cpp:
21932         (WebCore::CachedImage::deref):
21933         * loader/CachedImage.h:
21934         * loader/CachedResource.cpp:
21935         (WebCore::CachedResource::setRequest):
21936         (WebCore::CachedResource::deref):
21937         * loader/CachedResource.h:
21938         (WebCore::CachedResource::allowInLRUList):
21939         * loader/CachedScript.cpp:
21940         (WebCore::CachedScript::deref):
21941         * loader/CachedScript.h:
21942         * loader/CachedXBLDocument.cpp:
21943         (WebCore::CachedXBLDocument::deref):
21944         * loader/CachedXBLDocument.h:
21945         * loader/CachedXSLStyleSheet.cpp:
21946         (WebCore::CachedXSLStyleSheet::deref):
21947         * loader/CachedXSLStyleSheet.h:
21949 2006-10-17  Oliver Hunt  <oliver@apple.com>
21951         Reviewed by Anders.
21953         Make north and east resize cursors use correct image
21955         * platform/win/CursorWin.cpp:
21956         (WebCore::eastResizeCursor):
21957         (WebCore::northResizeCursor):
21959 2006-10-17  Oliver Hunt  <oliver@apple.com>
21961         Reviewed by Brady
21963         Various cursor fixes
21965         * page/FrameView.cpp:
21966         (WebCore::FrameView::handleMouseMoveEvent):
21967         * platform/Cursor.h:
21968         * platform/mac/CursorMac.mm:
21969         (WebCore::pointerCursor):
21970         * platform/win/CursorWin.cpp:
21971         (WebCore::supportsAlphaCursors):
21972         (WebCore::Cursor::Cursor):
21973         (WebCore::Cursor::~Cursor):
21974         (WebCore::pointerCursor):
21976 2006-10-17  Justin Garcia  <justin.garcia@apple.com>
21978         Reviewed by harrison
21979         
21980         <rdar://problem/4776665>
21981         REGRESSION: In Mail, caret is visible when the message body isn't focused
21983         * page/Frame.cpp:
21984         (WebCore::Frame::paintCaret): If a caret blink timer is ever on in error
21985         (like when the frame that contains the caret isn't focused) then we don't 
21986         want to paint the caret.  We should eventually move to using a single bool
21987         for caret painting.
21989 2006-10-17  Justin Garcia  <justin.garcia@apple.com>
21991         Reviewed by harrison
21992         
21993         <rdar://problem/4774354>
21994         REGRESSION: In Gmail, caret reappears when dragging a selection over some text in the message body
21996         Functions call recomputCaretRect to see if the caret rect has changed, 
21997         and, if it has, they invalidate (repaint) it.  recomputeCaretRect was 
21998         returning false if the caret turned into a range selection or was blown 
21999         away.
22001         * editing/SelectionController.cpp:
22002         (WebCore::SelectionController::recomputeCaretRect): Don't early return if
22003         !isCaret().  Obtain the FrameView* using the m_frame pointer, because m_sel 
22004         may now be null.
22006 2006-10-17  Geoffrey Garen  <ggaren@apple.com>
22008         Reviewed by Brady.
22010         BrowserExtension cleanup.
22011         
22012         - Removed unnecessary #include of BrowserExtension in Frame.h, added
22013         #includes to compensate in other files.
22014         
22015         - Removed unused versions of createNewWindow.
22016         
22017         * bindings/js/kjs_window.cpp:
22018         * bridge/BrowserExtension.h:
22019         * bridge/mac/BrowserExtensionMac.h:
22020         * bridge/mac/BrowserExtensionMac.mm:
22021         (WebCore::BrowserExtensionMac::createNewWindow):
22022         * bridge/mac/WebCoreFrameBridge.mm:
22023         * html/HTMLFormElement.cpp:
22024         * loader/mac/LoaderFunctionsMac.mm:
22025         * page/Frame.h:
22026         * page/FramePrivate.h:
22028 2006-10-15  Geoffrey Garen  <ggaren@apple.com>
22030         Reviewed by Adam.
22031         
22032         - Fixed "FIXME: Violates Liskov Substitution principle."
22033         
22034         IFRAME was never a true subclass of FRAME, since they disagreed on a
22035         number of behaviors, which, confusingly, IFRAME just overrode and contradicted. 
22037         The fix here is to factor out things common to IFRAME and FRAME into a
22038         common base class, HTMLFrameElementBase.
22039         
22040         I also changed some " *" to "* " and added #includes in files that implicitly
22041         assumed that HTMLIFrameElement.h #included HTMLFrameElement.h.
22043 2006-10-16  Justin Garcia  <justin.garcia@apple.com>
22045         Reviewed by sullivan
22046         
22047         <rdar://problem/4776765>
22048         REGRESSION: Caret's ghost left behind after inserting a paragraph separator (11237)
22050         We set m_needsLayout to false and call caretRect() in the hopes that it will give us 
22051         the old caret rect.  It in fact corrects the caret rect for an offset that it 
22052         believes is due to scrolling but which is actually due to a change in selection
22053         without an accompanying layout.  So it returns the new caret rect regardless of
22054         what m_needsLayout is set to.
22055         
22056         * editing/SelectionController.cpp:
22057         (WebCore::repaintRectForCaret): Moved the code from caretRepaintRect that
22058         adds a one pixel slop to this new function.
22059         (WebCore::SelectionController::caretRepaintRect): Moved this code to
22060         repaintRectForCaret.
22061         (WebCore::SelectionController::recomputeCaretRect): Compare the old
22062         caret rect to the new one that's computed with a fresh layout.  If
22063         they are different, invalidate both repaint rects.
22065 2006-10-17  David Harrison  <harrison@apple.com>
22067         Reviewed by Adele.
22069         <rdar://problem/4770453> VO not honoring secure edit fields in web pages
22071         * bridge/mac/WebCoreAXObject.mm:
22072         (-[WebCoreAXObject isPasswordField]):
22073         New. Checks for input with inputType() of PASSWORD.
22074         
22075         (-[WebCoreAXObject subrole]):
22076         Returns NSAccessibilitySecureTextFieldSubrole if [self isPasswordField].
22077         
22078         (-[WebCoreAXObject roleDescription]):
22079         Pass [self subrole] instead of nil when calling NSAccessibilityRoleDescription.
22080         
22081         (-[WebCoreAXObject value]):
22082         Return nil if [self isPasswordField].
22083         
22084         (-[WebCoreAXObject accessibilityAttributeNames]):
22085         Return generic attributes if [self isPasswordField].
22087         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
22088         Return empty array if [self isPasswordField].
22090 2006-10-17  David Hyatt  <hyatt@apple.com>
22092         Fix "flash to white' problem on yahoo.com as it finishes loading.  Refine the FOUC suppression
22093         code so that it will only run if the body still has no renderer.
22095         * dom/Document.cpp:
22096         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
22098 2006-10-17  David Hyatt  <hyatt@apple.com>
22100         Fix a bug where the WebCore memory cache could grow without bound during extended browsing
22101         sessions.
22103         Reviewed by mjs
22105         * loader/Cache.cpp:
22106         (WebCore::Cache::flush):
22107         (WebCore::Cache::setSize):
22108         (WebCore::Cache::getLRUListFor):
22109         (WebCore::Cache::removeFromLRUList):
22110         (WebCore::Cache::insertInLRUList):
22111         * loader/Cache.h:
22112         * loader/CachedCSSStyleSheet.cpp:
22113         * loader/CachedCSSStyleSheet.h:
22114         * loader/CachedImage.cpp:
22115         * loader/CachedImage.h:
22116         * loader/CachedResource.cpp:
22117         (WebCore::CachedResource::setRequest):
22118         (WebCore::CachedResource::deref):
22119         * loader/CachedResource.h:
22120         (WebCore::CachedResource::allowInLRUList):
22121         * loader/CachedScript.cpp:
22122         * loader/CachedScript.h:
22123         * loader/CachedXBLDocument.cpp:
22124         * loader/CachedXBLDocument.h:
22125         * loader/CachedXSLStyleSheet.cpp:
22126         * loader/CachedXSLStyleSheet.h:
22128 2006-10-13  Justin Garcia  <justin.garcia@apple.com>
22130         Reviewed by harrison
22131         
22132         <rdar://problem/3655385>
22133         Editing: -indent: method unimplemented
22135         Added Frame and bridge methods.
22137         * bridge/mac/WebCoreFrameBridge.h:
22138         * bridge/mac/WebCoreFrameBridge.mm:
22139         (-[WebCoreFrameBridge indent]):
22140         (-[WebCoreFrameBridge outdent]):
22141         * page/Frame.cpp:
22142         (WebCore::Frame::indent): 
22143         (WebCore::Frame::outdent):
22144         * page/Frame.h:
22146 2006-10-16  Adam Roben  <aroben@apple.com>
22148         Reviewed by John.
22150         More menulist cleanup/tweaking.
22152         * html/HTMLSelectElement.cpp:
22153         (WebCore::HTMLSelectElement::setSelectedIndex): Renamed 'index'
22154         parameter to 'optionIndex' for clarity.
22155         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Skip over
22156         items that are not enabled <option> elements when using arrow keys, and
22157         make sure we pass an option index to setSelectedIndex.
22158         * platform/PopupMenu.h:
22159         (WebCore::PopupMenu::setWasClicked): Specify default argument.
22160         * rendering/RenderMenuList.cpp:
22161         (WebCore::RenderMenuList::setTextFromOption): Strip whitespace from
22162         option text before setting the control text so that options within
22163         <optgroup>s don't appear indented in the actual control.
22165 2006-10-16  Sam Weinig  <sam.weinig@gmail.com>
22167         Reviewed by Adam.
22169         Win32 build fix.
22171         * WebCore.vcproj/WebCore/WebCore.vcproj:
22172         * bridge/win/BrowserExtensionWin.cpp:
22173         (WebCore::BrowserExtensionWin::createNewWindow):
22174         * bridge/win/FrameWin.cpp:
22175         (WebCore::FrameWin::urlSelected):
22176         (WebCore::FrameWin::submitForm):
22177         (WebCore::FrameWin::createNewWindow):
22178         * bridge/win/FrameWin.h:
22179         * loader/loader.cpp:
22180         (WebCore::Loader::receivedResponse):
22181         * platform/win/GraphicsContextWin.cpp:
22182         (WebCore::GraphicsContext::getWindowsContext):
22183         (WebCore::GraphicsContext::releaseWindowsContext):
22184         * platform/win/TemporaryLinkStubs.cpp:
22185         (FrameWin::openURLRequest):
22186         (WebCore::ServeSynchronousRequest):
22187         (WebCore::CheckIfReloading):
22188         (WebCore::IsResponseURLEqualToURL):
22189         (WebCore::ResponseMIMEType):
22190         (WebCore::ResponseIsMultipart):
22191         (WebCore::CacheObjectExpiresTime):
22192         (CachedResource::setResponse):
22193         (CachedResource::setAllData):
22194         * rendering/RenderThemeWin.cpp:
22195         (WebCore::doneDrawing):
22196         (WebCore::RenderThemeWin::paintButton):
22197         (WebCore::RenderThemeWin::paintTextField):
22199 2006-10-16  David Hyatt  <hyatt@apple.com>
22201         Fix for bug 9347, positioned elements have the wrong containing block.  This is a change from CSS2 to
22202         CSS2.1.  In the absence of any other enclosing positioned elements, the containing block for a positioned
22203         element is the initial containing block (our RenderView).
22205         Reviewed by mjs
22207         Test cases added to fast/block/positioning for quirks and strict modes.
22209         * rendering/RenderBlock.cpp:
22210         (WebCore::RenderBlock::lowestPosition):
22211         (WebCore::RenderBlock::rightmostPosition):
22212         (WebCore::RenderBlock::leftmostPosition):
22213         * rendering/RenderBox.cpp:
22214         (WebCore::RenderBox::containingBlockHeightForPositioned):
22215         (WebCore::RenderBox::calcAbsoluteVertical):
22216         * rendering/RenderObject.cpp:
22217         (WebCore::RenderObject::containingBlock):
22218         (WebCore::RenderObject::container):
22220 2006-10-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
22222         Reviewed by Anders.
22224         Misc Gdk/Linux build fixes.
22226         * platform/gdk/BrowserExtensionGdk.h:
22227         * platform/gdk/FrameGdk.cpp:
22228         (WebCore::FrameGdk::submitForm):
22229         (WebCore::FrameGdk::urlSelected):
22230         * platform/gdk/FrameGdk.h:
22231         * platform/gdk/RenderPopupMenuGdk.cpp:
22232         (WebCore::PopupMenu::PopupMenu):
22233         (WebCore::PopupMenu::~PopupMenu):
22234         (WebCore::PopupMenu::clear):
22235         (WebCore::PopupMenu::populate):
22236         (WebCore::PopupMenu::show):
22237         (WebCore::PopupMenu::hide):
22238         (WebCore::PopupMenu::addSeparator):
22239         (WebCore::PopupMenu::addGroupLabel):
22240         (WebCore::PopupMenu::addOption):
22241         * platform/gdk/RenderPopupMenuGdk.h:
22242         * platform/gdk/RenderThemeGdk.cpp:
22243         * platform/gdk/RenderThemeGdk.h:
22244         (WebCore::RenderThemeGdk::RenderThemeGdk):
22245         * platform/gdk/TemporaryLinkStubs.cpp:
22246         (BrowserExtensionGdk::createNewWindow):
22247         (BrowserExtensionGdk::BrowserExtensionGdk):
22248         (BrowserExtensionGdk::setTypedIconURL):
22249         (BrowserExtensionGdk::setIconURL):
22250         (BrowserExtensionGdk::getHistoryLength):
22251         (WebCore::CheckIfReloading):
22252         (WebCore::CacheObjectExpiresTime):
22253         (WebCore::ResponseURL):
22254         (WebCore::IsResponseURLEqualToURL):
22255         (WebCore::ResponseIsMultipart):
22256         (WebCore::ResponseMIMEType):
22257         (WebCore::CachedResource::setResponse):
22258         (WebCore::CachedResource::setAllData):
22259         (FileChooser::disconnectUploadControl):
22260         * rendering/RenderTheme.h:
22261         * rendering/RenderThemeMac.h:
22263 2006-10-15  Sam Weinig  <sam.weinig@gmail.com>
22265         Reviewed by Mitz.
22267         Fix for http://bugs.webkit.org/show_bug.cgi?id=11294
22268         Add getModifierState method to KeyboardEvent
22270         * bindings/objc/DOMEvents.h:
22271         * bindings/objc/DOMEvents.mm:
22272         * bindings/objc/PublicDOMInterfaces.h:
22273         * dom/KeyboardEvent.cpp:
22274         (WebCore::KeyboardEvent::getModifierState):
22275         * dom/KeyboardEvent.h:
22276         * dom/KeyboardEvent.idl:
22278 2006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>
22280         Reviewed and landed by ap.
22282         Changed PlatformResponse handling for Qt. Don't just store
22283         a QString object containing the data but a new PlatformResponseQt struct
22284         containing data and url, and store it as pointer. This is compatible
22285         to the OS X handling and removes the Qt plaform specific hacks from
22286         CachedCSSStyleSheet, CachedResource & loader.
22288         Add new file LoaderFunctionsQt, similar to LoaderFunctionsMac, and move
22289         all methods from TemporaryLinkStubs related to loading in there, and implement
22290         some like ServeSynchronousRequest (yay for xslt handling!).
22292         * CMakeLists.txt:
22293         * loader/CachedCSSStyleSheet.cpp:
22294         (WebCore::CachedCSSStyleSheet::checkNotify):
22295         * loader/CachedResource.h:
22296         (WebCore::CachedResource::CachedResource):
22297         * loader/loader.cpp:
22298         (WebCore::Loader::receivedResponse):
22299         * platform/ResourceLoaderClient.h:
22300         * platform/ResourceLoaderInternal.h:
22301         * platform/qt/FrameQt.cpp:
22302         (WebCore::FrameQt::~FrameQt):
22303         (WebCore::FrameQt::createEmptyDocument):
22304         * platform/qt/FrameQt.h:
22305         (WebCore::QtFrame):
22306         * platform/qt/FrameQtClient.cpp:
22307         (WebCore::FrameQtClientDefault::setFrame):
22308         (WebCore::FrameQtClientDefault::openURL):
22309         (WebCore::FrameQtClientDefault::loadFinished):
22310         (WebCore::FrameQtClientDefault::receivedAllData):
22311         * platform/qt/FrameQtClient.h:
22312         * platform/qt/LoaderFunctionsQt.cpp: Added.
22313         (WebCore::ServeSynchronousRequest):
22314         (WebCore::NumberOfPendingOrLoadingRequests):
22315         (WebCore::CheckIfReloading):
22316         (WebCore::CheckCacheObjectStatus):
22317         (WebCore::IsResponseURLEqualToURL):
22318         (WebCore::ResponseURL):
22319         (WebCore::ResponseMIMEType):
22320         (WebCore::ResponseIsMultipart):
22321         (WebCore::CacheObjectExpiresTime):
22322         (WebCore::CachedResource::setResponse):
22323         (WebCore::CachedResource::setAllData):
22324         * platform/qt/ResourceLoaderManager.cpp:
22325         (WebCore::ResourceLoaderManager::remove):
22326         * platform/qt/ResourceLoaderQt.cpp:
22327         (WebCore::ResourceLoader::~ResourceLoader):
22328         (WebCore::ResourceLoader::start):
22329         (WebCore::ResourceLoader::assembleResponseHeaders):
22330         (WebCore::ResourceLoader::receivedResponse):
22331         * platform/qt/TemporaryLinkStubs.cpp:
22333 2006-10-14  Rob Buis  <buis@kde.org>
22335         Reviewed by Mitz.
22337         http://bugs.webkit.org/show_bug.cgi?id=11217
22338         Cleanup svg coding style
22340         Cleanup coding style in svg basic datastructure classes.
22342         * ksvg2/svg/SVGAngle.cpp:
22343         (WebCore::SVGAngle::valueAsString):
22344         (WebCore::SVGAngle::context):
22345         (WebCore::SVGAngle::setContext):
22346         * ksvg2/svg/SVGAngle.h:
22347         * ksvg2/svg/SVGColor.cpp:
22348         * ksvg2/svg/SVGColor.h:
22349         * ksvg2/svg/SVGElement.cpp:
22350         (WebCore::SVGElement::ownerSVGElement):
22351         (WebCore::SVGElement::viewportElement):
22352         (WebCore::SVGElement::parseMappedAttribute):
22353         (WebCore::SVGElement::childShouldCreateRenderer):
22354         * ksvg2/svg/SVGElement.h:
22355         (WebCore::svg_dynamic_cast):
22356         * ksvg2/svg/SVGFitToViewBox.cpp:
22357         (WebCore::SVGFitToViewBox::parseViewBox):
22358         * ksvg2/svg/SVGFitToViewBox.h:
22359         * ksvg2/svg/SVGLangSpace.cpp:
22360         (WebCore::SVGLangSpace::parseMappedAttribute):
22361         * ksvg2/svg/SVGLangSpace.h:
22362         * ksvg2/svg/SVGLength.cpp:
22363         (WebCore::SVGLength::SVGLength):
22364         (WebCore::SVGLength::setValueAsString):
22365         (WebCore::SVGLength::dpi):
22366         (WebCore::SVGLength::updateValue):
22367         (WebCore::SVGLength::updateValueInSpecifiedUnits):
22368         (WebCore::SVGLength::context):
22369         (WebCore::SVGLength::setContext):
22370         * ksvg2/svg/SVGLength.h:
22371         * ksvg2/svg/SVGLengthList.cpp:
22372         * ksvg2/svg/SVGLengthList.h:
22373         * ksvg2/svg/SVGLocatable.cpp:
22374         (WebCore::SVGLocatable::nearestViewportElement):
22375         (WebCore::SVGLocatable::farthestViewportElement):
22376         (WebCore::SVGLocatable::getBBox):
22377         (WebCore::SVGLocatable::getCTM):
22378         (WebCore::SVGLocatable::getScreenCTM):
22379         * ksvg2/svg/SVGNumberList.cpp:
22380         * ksvg2/svg/SVGNumberList.h:
22381         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
22382         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
22383         (WebCore::SVGPreserveAspectRatio::getCTM):
22384         * ksvg2/svg/SVGPreserveAspectRatio.h:
22385         * ksvg2/svg/SVGStringList.cpp:
22386         (WebCore::SVGStringList::reset):
22387         * ksvg2/svg/SVGStringList.h:
22388         * ksvg2/svg/SVGStylable.cpp:
22389         * ksvg2/svg/SVGStylable.h:
22390         * ksvg2/svg/SVGTests.cpp:
22391         (WebCore::SVGTests::requiredFeatures):
22392         (WebCore::SVGTests::requiredExtensions):
22393         (WebCore::SVGTests::systemLanguage):
22394         (WebCore::SVGTests::isValid):
22395         (WebCore::SVGTests::parseMappedAttribute):
22396         * ksvg2/svg/SVGTests.h:
22397         * ksvg2/svg/SVGTransformable.cpp:
22398         (WebCore::SVGTransformable::parseTransformAttribute):
22399         * ksvg2/svg/SVGTransformable.h:
22400         * ksvg2/svg/SVGURIReference.cpp:
22401         (WebCore::SVGURIReference::parseMappedAttribute):
22402         * ksvg2/svg/SVGZoomAndPan.cpp:
22403         (WebCore::SVGZoomAndPan::parseMappedAttribute):
22404         * ksvg2/svg/SVGZoomAndPan.h:
22406 2006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>
22408         Reviewed by Oliver.
22410         Implement some functions in FrameQt / ScrollViewQt.
22412         Added comments what needs to be done in quite some places,
22413         marked some functions as no-ops.
22415         * CMakeLists.txt:
22416         * platform/qt/FrameQt.cpp:
22417         (WebCore::FrameQt::FrameQt):
22418         (WebCore::FrameQt::runJavaScriptConfirm):
22419         (WebCore::FrameQt::locationbarVisible):
22420         (WebCore::FrameQt::createFrame):
22421         (WebCore::FrameQt::passSubframeEventToSubframe):
22422         (WebCore::FrameQt::menubarVisible):
22423         (WebCore::FrameQt::personalbarVisible):
22424         (WebCore::FrameQt::statusbarVisible):
22425         (WebCore::FrameQt::toolbarVisible):
22426         (WebCore::FrameQt::markedTextRange):
22427         (WebCore::FrameQt::lastEventIsMouseUp):
22428         (WebCore::FrameQt::openURLRequest):
22429         (WebCore::FrameQt::scheduleClose):
22430         (WebCore::FrameQt::unfocusWindow):
22431         (WebCore::FrameQt::focusWindow):
22432         (WebCore::FrameQt::overrideMediaType):
22433         (WebCore::FrameQt::runJavaScriptPrompt):
22434         (WebCore::FrameQt::bindingRootObject):
22435         (WebCore::FrameQt::addPluginRootObject):
22436         (WebCore::FrameQt::registerCommandForUndo):
22437         (WebCore::FrameQt::registerCommandForRedo):
22438         (WebCore::FrameQt::clearUndoRedoOperations):
22439         (WebCore::FrameQt::respondToChangedSelection):
22440         (WebCore::FrameQt::respondToChangedContents):
22441         (WebCore::FrameQt::shouldChangeSelection):
22442         (WebCore::FrameQt::canGoBackOrForward):
22443         (WebCore::FrameQt::canPaste):
22444         (WebCore::FrameQt::canRedo):
22445         (WebCore::FrameQt::canUndo):
22446         * platform/qt/FrameQt.h:
22447         * platform/qt/FrameQtClient.cpp:
22448         (WebCore::FrameQtClientDefault::runJavaScriptAlert):
22449         (WebCore::FrameQtClientDefault::runJavaScriptConfirm):
22450         (WebCore::FrameQtClientDefault::runJavaScriptPrompt):
22451         (WebCore::FrameQtClientDefault::menubarVisible):
22452         (WebCore::FrameQtClientDefault::toolbarVisible):
22453         (WebCore::FrameQtClientDefault::statusbarVisible):
22454         (WebCore::FrameQtClientDefault::personalbarVisible):
22455         (WebCore::FrameQtClientDefault::locationbarVisible):
22456         * platform/qt/FrameQtClient.h:
22457         * platform/qt/ImageSourceQt.cpp:
22458         * platform/qt/RenderThemeQt.cpp:
22459         * platform/qt/ScrollViewQt.cpp:
22460         (WebCore::ScrollView::scrollPointRecursively):
22461         * platform/qt/TemporaryLinkStubs.cpp:
22462         (WebCore::CachedResource::setResponse):
22463         (WebCore::CachedResource::setAllData):
22465 2006-10-14  David Harrison  <harrison@apple.com>
22467         Reviewed by Geoff.
22469         <rdar://problem/4775213> REGRESSION: Can't from tab from last link on the page to URL address field
22470         <rdar://problem/4783926> REGRESSION: Typing tab key enters no text
22472         The problem is that EventTargetNode::defaultEventHandler() calls event->setDefaultHandled() regardless
22473         of whether frame->view()->advanceFocus() actually changed the focus.
22475         Trivial fix is to preventDefault() only if advanceFocus() returns true.
22477         * No test is possible because DumpRenderTree sets the WebView preference to
22478         tab to links, and that preference cannot be changed dynamically after
22479         the webview is initialized. Also, the "tab from last link" is not testable
22480         because DumpRenderTree uses the WebView for the whole window, so tabs can't
22481         shift focus out of the WebView regardless.
22483         * dom/EventTargetNode.cpp:
22484         (WebCore::EventTargetNode::defaultEventHandler):
22486 2006-10-14  Nikolas Zimmermann  <zimmermann@kde.org>
22488         Reviewed by Mitz.
22490         Fix Qt/Linux build & some little fixes:
22492         - Adapt to Maciej's FrameLoadRequest changes.
22493         - Fix response handling - don't try to compare with '0' - for us it's a non-ptr QString object.
22494         - Actually call setAllData from loader/loader.cpp (David Carson forgot that in his last commit)
22495         - Fix CacheObjectExpiresTime/ResponseIsMultipart signature.
22497         * loader/CachedCSSStyleSheet.cpp:
22498         (WebCore::CachedCSSStyleSheet::checkNotify):
22499         * loader/CachedResource.h:
22500         (WebCore::CachedResource::CachedResource):
22501         * loader/loader.cpp:
22502         (WebCore::Loader::receivedAllData):
22503         (WebCore::Loader::receivedResponse):
22504         * platform/qt/BrowserExtensionQt.cpp:
22505         (WebCore::BrowserExtensionQt::createNewWindow):
22506         * platform/qt/BrowserExtensionQt.h:
22507         * platform/qt/FrameQt.cpp:
22508         (WebCore::FrameQt::submitForm):
22509         (WebCore::FrameQt::urlSelected):
22510         (WebCore::FrameQt::openURLRequest):
22511         * platform/qt/FrameQt.h:
22512         * platform/qt/GraphicsContextQt.cpp:
22513         (WebCore::GraphicsContext::setURLForRect):
22514         * platform/qt/TemporaryLinkStubs.cpp:
22515         (WebCore::CacheObjectExpiresTime):
22516         (WebCore::ResponseIsMultipart):
22517         (WebCore::CachedResource::setResponse):
22518         (WebCore::CachedResource::setAllData):
22520 2006-10-14  David Carson  <dacarson@gmail.com>
22522         Reviewed by Maciej.
22524         Fix: http://bugs.webkit.org/show_bug.cgi?id=11257
22525         Removed Mac platform dependance, changed WebCore functions to
22526         use PlatformResponse/PlatformData rather than NSURLResponse/
22527         NSData. 
22529         * loader/CachedCSSStyleSheet.cpp:
22530         (WebCore::CachedCSSStyleSheet::checkNotify):
22531         * loader/CachedImage.cpp:
22532         (WebCore::CachedImage::createImage):
22533         * loader/CachedResource.cpp:
22534         (WebCore::CachedResource::~CachedResource):
22535         * loader/CachedResource.h:
22536         (WebCore::CachedResource::CachedResource):
22537         (WebCore::CachedResource::response):
22538         (WebCore::CachedResource::allData):
22539         * loader/LoaderFunctions.h:
22540         * loader/loader.cpp:
22541         (WebCore::Loader::receivedResponse):
22542         * loader/mac/LoaderFunctionsMac.mm:
22543         (WebCore::ResponseMIMEType):
22544         (WebCore::ResponseIsMultipart):
22545         (WebCore::CacheObjectExpiresTime):
22546         (WebCore::CachedResource::setResponse):
22547         (WebCore::CachedResource::setAllData):
22548         * platform/qt/TemporaryLinkStubs.cpp:
22549         (WebCore::CacheObjectExpiresTime):
22550         (WebCore::ResponseIsMultipart):
22551         (WebCore::ResponseMIMEType):
22552         (WebCore::CachedResource::setResponse):
22553         (WebCore::CachedResource::setAllData):
22554         * platform/win/TemporaryLinkStubs.cpp:
22555         (WebCore::CacheObjectExpiresTime):
22556         (WebCore::ResponseIsMultipart):
22557         (WebCore::ResponseMIMEType):
22558         (WebCore::CachedResource::setResponse):
22559         (WebCore::CachedResource::setAllData):
22561 2006-10-14  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
22563         Reviewed by Maciej.
22565         Fix GDK build by defining FrameGdkClient() constructor as non-virtual.
22566         Pure virtual classes require non-pure destructor, who knew.
22568         Make CURL networking dependent on USE(CURL) instead of PLATFORM(GDK),
22569         so that other platforms can also use CURL, if they wish.
22571         Silence compiler warning about unused variable in SharedTimerLinux.cpp
22573         * platform/ResourceLoaderInternal.h:
22574         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
22575         * platform/gdk/FrameGdk.h:
22576         (WebCore::FrameGdkClient::~FrameGdkClient):
22577         * platform/gdk/ResourceLoaderManager.cpp:
22578         (WebCore::ResourceLoaderManager::downloadTimerCallback):
22579         * platform/gdk/SharedTimerLinux.cpp:
22580         (WebCore::stopSharedTimer):
22582 2006-10-13  Beth Dakin  <bdakin@apple.com>
22584         Reviewed by Geoff.
22586         Build fix from my last check-in. Make hasOutlineAnnotation() non-
22587         inline so that we don't have to include Document.h in 
22588         RenderObject.h
22589         Doing so causes a build failure in WebKit, and it probably isn't a 
22590         good idea anyway.
22592         * rendering/RenderObject.cpp:
22593         (WebCore::RenderObject::hasOutlineAnnotation):
22594         * rendering/RenderObject.h:
22595         (WebCore::RenderObject::hasOutline):
22597 2006-10-13  Beth Dakin  <bdakin@apple.com>
22599         Patch written mostly by Ken Kraisler, but also by me.
22601         Reviewed by Hyatt.
22603         Fix for http://bugs.webkit.org/show_bug.cgi?id=10216 and <rdar://
22604         problem/3391162> PDF created by printing should have live 
22605         hyperlinks
22607         * platform/GraphicsContext.cpp:
22608         (WebCore::GraphicsContext::focusRingBoundingRect):
22609         * platform/GraphicsContext.h:
22610         * platform/cairo/GraphicsContextCairo.cpp:
22611         (WebCore::GraphicsContext::setURLForRect):
22612         * platform/cg/GraphicsContextCG.cpp:
22613         (WebCore::GraphicsContext::setURLForRect): Implement method to add 
22614         URL link to PDF document.
22615         * rendering/InlineFlowBox.cpp:
22616         (WebCore::InlineFlowBox::paint): Ask hasOutline() instead of 
22617         querying the outline width
22618         * rendering/RenderBlock.cpp:
22619         (WebCore::RenderBlock::paintObject): Same as above.
22620         * rendering/RenderFlow.cpp:
22621         (WebCore::RenderFlow::paintLines): Call the new paintOutline()
22622         (WebCore::RenderFlow::paintOutline): Take care of focus ring and 
22623         pdf url rects, and outline painting.
22624         * rendering/RenderFlow.h:
22625         * rendering/RenderObject.cpp:
22626         (WebCore::RenderObject::addPDFURLRect): Declaration to apply a PDF 
22627         link to a rectanglular region.
22628         (WebCore::RenderObject::paintOutline): Take care of pdf rects as 
22629         well as focus ring painting.
22630         * rendering/RenderObject.h:
22631         (WebCore::RenderObject::hasOutlineAnnotation): Returns true is the 
22632         element is a link and we are printing.
22633         (WebCore::RenderObject::hasOutline): Returns true is the style has 
22634         an outline and hasOutlineAnnotation() is true.
22635         * rendering/RenderStyle.h:
22636         (WebCore::RenderStyle::hasOutline): Returns true if outlineWidth is 
22637         greater than 0 and outlineStyle is greater than BHIDDEN.
22639 2006-10-13  Justin Garcia  <justin.garcia@apple.com>
22641         Reviewed by ggaren and harrison
22642         
22643         <rdar://problem/4744008>
22644         9A270: Mail crashes when I try to paste large items from Safari
22646         * editing/ReplaceSelectionCommand.cpp:
22647         (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
22648         Even though we put nodes in the hash map in pre-order, they don't necessary
22649         come out of the iterator that way.  If a node is a redundant style span
22650         and one of its pruned ancestors comes off the hash map after it, and that
22651         ancestor is a redundant style span or font tag, we will try to remove it
22652         even though it has already been removed and we'll crash.
22653         The test case added with the fix depends on our hash map implementation
22654         because it requires that a particular redundant style span come out of 
22655         the iterator before its parent. So, it may eventually not provide 
22656         coverage for the fix.
22658 2006-10-13  Maciej Stachowiak  <mjs@apple.com>
22660         Reviewed by Darin.
22662         - split FrameLoadRequest off from ResourceRequest - it's a ResourceRequest plus frame name plus lockHistory bool
22664         * WebCore.xcodeproj/project.pbxproj:
22665         * bindings/js/kjs_window.cpp:
22666         (KJS::createNewWindow):
22667         (KJS::WindowFunc::callAsFunction):
22668         * bridge/BrowserExtension.h:
22669         * bridge/mac/BrowserExtensionMac.h:
22670         * bridge/mac/BrowserExtensionMac.mm:
22671         (WebCore::BrowserExtensionMac::createNewWindow):
22672         * bridge/mac/FrameMac.h:
22673         * bridge/mac/FrameMac.mm:
22674         (WebCore::FrameMac::submitForm):
22675         (WebCore::FrameMac::openURLRequest):
22676         (WebCore::FrameMac::urlSelected):
22677         * bridge/win/BrowserExtensionWin.h:
22678         * page/Frame.cpp:
22679         (WebCore::Frame::changeLocation):
22680         (WebCore::Frame::urlSelected):
22681         (WebCore::Frame::requestFrame):
22682         (WebCore::Frame::submitForm):
22683         * page/Frame.h:
22684         * page/FrameLoadRequest.h: Added.
22685         (WebCore::FrameLoadRequest::FrameLoadRequest):
22686         (WebCore::FrameLoadRequest::lockHistory):
22687         (WebCore::FrameLoadRequest::setLockHistory):
22688         * page/ResourceRequest.h:
22689         (WebCore::ResourceRequest::ResourceRequest):
22691 2006-10-13  John Sullivan  <sullivan@apple.com>
22693         Reviewed by Maciej
22695         * loader/mac/WebFrameLoader.mm:
22696         (-[WebFrameLoader loadDocumentLoader:]):
22697         Replace ASSERT(!policyDocumentLoader) with code that handles this case. This can
22698         happen when loading a page during a decidePolicyForNavigationAction callback.
22700 2006-10-13  Dave Hyatt  <hyatt@apple.com>
22702         Transparency layer work.
22704         Reviewed by aroben
22706         * platform/GraphicsContext.h:
22707         * platform/cg/GraphicsContextCG.cpp:
22708         (WebCore::GraphicsContext::beginTransparencyLayer):
22709         (WebCore::GraphicsContext::endTransparencyLayer):
22710         * platform/cg/GraphicsContextPlatformPrivate.h:
22711         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
22712         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
22714 2006-10-13  Rob Buis  <buis@kde.org>
22716         Reviewed by Mitz.
22718         http://bugs.webkit.org/show_bug.cgi?id=11217
22719         Cleanup svg coding style
22721         Cleanup coding style in svg paint server classes.
22723         * ksvg2/svg/SVGGradientElement.cpp:
22724         (WebCore::SVGGradientElement::SVGGradientElement):
22725         (WebCore::SVGGradientElement::parseMappedAttribute):
22726         (WebCore::SVGGradientElement::notifyAttributeChange):
22727         (WebCore::SVGGradientElement::canvasResource):
22728         (WebCore::SVGGradientElement::rebuildStops):
22729         * ksvg2/svg/SVGGradientElement.h:
22730         * ksvg2/svg/SVGLinearGradientElement.cpp:
22731         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
22732         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
22733         (WebCore::SVGLinearGradientElement::buildGradient):
22734         * ksvg2/svg/SVGLinearGradientElement.h:
22735         * ksvg2/svg/SVGPatternElement.cpp:
22736         (WebCore::SVGPatternElement::SVGPatternElement):
22737         (WebCore::SVGPatternElement::parseMappedAttribute):
22738         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
22739         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
22740         (WebCore::SVGPatternElement::notifyClientsToRepaint):
22741         (WebCore::SVGPatternElement::notifyAttributeChange):
22742         (WebCore::SVGPatternElement::canvasResource):
22743         (WebCore::SVGPatternElement::getCTM):
22744         * ksvg2/svg/SVGPatternElement.h:
22745         (WebCore::SVGPatternElement::rendererIsNeeded):
22746         * ksvg2/svg/SVGRadialGradientElement.cpp:
22747         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
22748         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
22749         (WebCore::SVGRadialGradientElement::buildGradient):
22750         * ksvg2/svg/SVGRadialGradientElement.h:
22751         * ksvg2/svg/SVGStopElement.cpp:
22752         (WebCore::SVGStopElement::SVGStopElement):
22753         (WebCore::SVGStopElement::parseMappedAttribute):
22754         * ksvg2/svg/SVGStopElement.h:
22756 2006-10-13  Geoffrey Garen  <ggaren@apple.com>
22758         Reviewed by Darin, John.
22760         - Merged more frame and iframe code
22761         - Fixed a bug where iframes returned incorrect values for renderer-dependent 
22762         properties during javascript: loads because they didn't have renderers at 
22763         load time
22764         
22765         PLT insists this is a small performance win. Don't believe its lies.
22767         * bindings/js/kjs_html.cpp:
22768         (KJS::JSHTMLElement::frameGetter): Renamed frameWidth and frameHeight to
22769         width and height, for consistency with the rest of the DOM.
22770         * dom/ContainerNode.cpp:
22771         (WebCore::ContainerNode::queuePostAttachCallback): Added a post-attach callback
22772         queue that gets drained after the render tree is fully constructed. Currently,
22773         this is only used for frame loading.
22774         (WebCore::ContainerNode::attach):
22775         * dom/ContainerNode.h:
22776         * html/HTMLFrameElement.cpp:
22777         (WebCore::HTMLFrameElement::insertedIntoDocument): Removed frame loading from
22778         attach() because loading iframes during attach() causes a crash. 
22779         Moved frame loading logic into insertedIntoDocument(). That's a more 
22780         logical place for it because  document insertion is what 
22781         triggers frame loading. Made frame loading a post-attach callback, instead
22782         of an immediate action, to fix the incorrect values bug.
22783         (WebCore::HTMLFrameElement::attach): Added setWidget call that used to be
22784         in HTMLIFrameElement::attach. IFRAME requires this call. FRAME will soon 
22785         require this call, once I remove the call from WebKit.
22786         (WebCore::HTMLFrameElement::setLocation):
22787         (WebCore::HTMLFrameElement::width):
22788         (WebCore::HTMLFrameElement::height):
22789         * html/HTMLFrameElement.h: Made openURL non-virtual to avoid the unnecessary
22790         killing of puppies.
22791         * html/HTMLIFrameElement.cpp: Merged code into HTMLFrameElement
22792         (WebCore::HTMLIFrameElement::rendererIsNeeded):
22793         (WebCore::HTMLIFrameElement::createRenderer):
22794         (WebCore::HTMLIFrameElement::insertedIntoDocument):
22795         (WebCore::HTMLIFrameElement::removedFromDocument):
22796         (WebCore::HTMLIFrameElement::attach):
22797         * page/FrameView.h: Removed unused method.
22799 2006-10-13  David Harrison  <harrison@apple.com>
22801         Reviewed by Justin.
22803         <rdar://problem/4746860> Mail crash in WebCore::CSSMutableStyleDeclaration::merge(WebCore::CSSMutableStyleDeclaration*, bool)
22805         Tests added or changed:
22806         * editing/style/style-boundary-005.html: Added. Matches steps from bug.
22807         * editing/execCommand/hilitecolor-expected.txt: Updated (no empty Apple style spans).
22808         * editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Updated (no empty Apple style spans).
22809         * editing/style/remove-underline-in-bold-expected.txt: Updated (no empty Apple style spans).
22810         * editing/style/typing-style-003-expected.txt: Updated (no empty Apple style spans).
22812         * dom/Text.cpp:
22813         (WebCore::Text::splitText):
22814         Comment changes.
22815         
22816         * editing/ApplyStyleCommand.cpp:
22817         (WebCore::isUnstyledStyleSpan):
22818         Renamed from isEmptyStyleSpan.
22819         
22820         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
22821         Rename emptySpans local to unstyledSpans.
22822         
22823         (WebCore::dummySpanAncestorForNode):
22824         New. To locate Apple style span created when splitting a text node.
22825         
22826         (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
22827         Renamed from cleanUpEmptyStyleSpans. Algorithm changed to scan children
22828         of dummy span's parents, rather than traversing up from start and
22829         end locations. Old algorithm would miss empty spans in the bug case.
22830         
22831         (WebCore::ApplyStyleCommand::applyInlineStyle):
22832         Use dummySpanAncestorForNode() and cleanupUnstyledAppleStyleSpans().
22833         
22834         (WebCore::ApplyStyleCommand::removeCSSStyle):
22835         Renamed isEmptyStyleSpan() to isUnstyledStyleSpan().
22836         
22837         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
22838         Comment changes.
22839         
22840         * editing/ApplyStyleCommand.h:
22841         Renamed cleanUpEmptyStyleSpans() to cleanupUnstyledAppleStyleSpans().
22842           
22843         * editing/ReplaceSelectionCommand.cpp:
22844         (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
22845         Allow for Apple style span to be unstyled, because old email may have this in the DOM.
22846         Use !node->hasChildNodes() instead of !node->firstChild().
22847         
22848         * editing/SplitTextNodeCommand.cpp:
22849         (WebCore::SplitTextNodeCommand::doApply):
22850         Comment changes.
22851         
22852         * rendering/RenderTreeAsText.cpp:
22853         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
22854         (WebCore::operator<<):
22855         Flag empty or unstyled AppleStyleSpa nbecause we never want to leave them in the DOM
22857 2006-10-13  Nikolas Zimmermann  <zimmermann@kde.org>
22859         Reviewed by Eric.
22861         Fix Qt/Linux build after Adele's popup menu changes.
22863         * CMakeLists.txt:
22864         * platform/qt/FileChooserQt.cpp:
22865         (WebCore::FileChooser::disconnectUploadControl):
22866         * platform/qt/PopupMenuQt.cpp: Added.
22867         (WebCore::PopupMenu::PopupMenu):
22868         (WebCore::PopupMenu::~PopupMenu):
22869         (WebCore::PopupMenu::clear):
22870         (WebCore::PopupMenu::populate):
22871         (WebCore::PopupMenu::show):
22872         (WebCore::PopupMenu::hide):
22873         (WebCore::PopupMenu::addSeparator):
22874         (WebCore::PopupMenu::addGroupLabel):
22875         (WebCore::PopupMenu::addOption):
22876         * platform/qt/RenderPopupMenuQt.cpp: Removed.
22877         * platform/qt/RenderPopupMenuQt.h: Removed.
22878         * platform/qt/RenderThemeQt.cpp:
22880 2006-10-13  Kevin McCullough  <KMcCullough@apple.com>
22882         Reviewed by Darin.
22884         fixed build failure 
22886         * WebCore.xcodeproj/project.pbxproj:
22887         * loader/mac/WebFrameLoader.mm:
22889 2006-10-13  Darin Adler  <darin@apple.com>
22891         Reviewed by Adele.
22893         - converted WebFormState from Objective-C to C++
22895         * WebCore.exp: Added a new symbol, changed one symbol from C to C++.
22897         * WebCore.xcodeproj/project.pbxproj: Made lots of headers "private" instead of "project".
22898         Added UChar.h and FrameLoaderTypes.h.
22900         * loader/FrameLoaderTypes.h: Added. Has enums from WebFrameLoader.h.
22902         * loader/mac/WebFormState.h: Converted class to C++.
22903         * loader/mac/WebFormState.mm: Ditto.
22905         * loader/mac/WebFrameLoader.h:
22906         * loader/mac/WebFrameLoader.mm:
22907         (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
22908         (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
22909         (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
22910         (-[WebFrameLoader invalidatePendingPolicyDecisionCallingDefaultAction:]):
22911         (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
22912         (-[WebFrameLoader continueAfterNewWindowPolicy:]):
22913         (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
22914         (-[WebFrameLoader continueAfterNavigationPolicy:]):
22915         (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
22916         (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
22917         (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
22918         (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
22919         Changed Objective-C WebFormState uses to C++ WebCore::FormState.
22921 2006-10-13  Adele Peterson  <adele@apple.com>
22923         Reviewed by Maciej.
22925         - Fix for <rdar://problem/4768591> REGRESSION: List box selection color should just be a darker version of regular selection color
22927         * rendering/RenderListBox.cpp:
22928         (WebCore::RenderListBox::paintItemForeground):
22929         * rendering/RenderTheme.cpp:
22930         (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
22931         (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
22932         (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
22933         (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
22934         * rendering/RenderThemeMac.h:
22935         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::activeListBoxSelectionBackgroundColor):
22937 2006-10-13  Rob Buis  <buis@kde.org>
22939         Reviewed by Mitz.
22941         http://bugs.webkit.org/show_bug.cgi?id=11217
22942         Cleanup svg coding style
22944         Cleanup coding style in svg structure classes.
22946         * ksvg2/svg/SVGDefsElement.cpp:
22947         (WebCore::SVGDefsElement::SVGDefsElement):
22948         * ksvg2/svg/SVGDefsElement.h:
22949         * ksvg2/svg/SVGDescElement.cpp:
22950         (WebCore::SVGDescElement::SVGDescElement):
22951         * ksvg2/svg/SVGDescElement.h:
22952         * ksvg2/svg/SVGDocument.cpp:
22953         * ksvg2/svg/SVGDocument.h:
22954         * ksvg2/svg/SVGElementInstance.cpp:
22955         (WebCore::SVGElementInstance::SVGElementInstance):
22956         (WebCore::SVGElementInstance::correspondingElement):
22957         (WebCore::SVGElementInstance::correspondingUseElement):
22958         (WebCore::SVGElementInstance::parentNode):
22959         (WebCore::SVGElementInstance::childNodes):
22960         (WebCore::SVGElementInstance::previousSibling):
22961         (WebCore::SVGElementInstance::nextSibling):
22962         (WebCore::SVGElementInstance::firstChild):
22963         (WebCore::SVGElementInstance::lastChild):
22964         * ksvg2/svg/SVGElementInstance.h:
22965         * ksvg2/svg/SVGElementInstanceList.cpp:
22966         * ksvg2/svg/SVGElementInstanceList.h:
22967         * ksvg2/svg/SVGGElement.cpp:
22968         (WebCore::SVGGElement::SVGGElement):
22969         (WebCore::SVGGElement::parseMappedAttribute):
22970         (WebCore::SVGDummyElement::SVGDummyElement):
22971         * ksvg2/svg/SVGGElement.h:
22972         (WebCore::SVGGElement::rendererIsNeeded):
22973         * ksvg2/svg/SVGImageElement.cpp:
22974         (WebCore::SVGImageElement::createRenderer):
22975         * ksvg2/svg/SVGImageElement.h:
22976         * ksvg2/svg/SVGSVGElement.cpp:
22977         (WebCore::SVGSVGElement::SVGSVGElement):
22978         (WebCore::SVGSVGElement::pixelUnitToMillimeterX):
22979         (WebCore::SVGSVGElement::pixelUnitToMillimeterY):
22980         (WebCore::SVGSVGElement::currentScale):
22981         (WebCore::SVGSVGElement::setCurrentScale):
22982         (WebCore::SVGSVGElement::currentTranslate):
22983         (WebCore::SVGSVGElement::parseMappedAttribute):
22984         (WebCore::SVGSVGElement::suspendRedraw):
22985         (WebCore::SVGSVGElement::unsuspendRedraw):
22986         (WebCore::SVGSVGElement::unsuspendRedrawAll):
22987         (WebCore::SVGSVGElement::forceRedraw):
22988         (WebCore::SVGSVGElement::getIntersectionList):
22989         (WebCore::SVGSVGElement::getEnclosureList):
22990         (WebCore::SVGSVGElement::checkIntersection):
22991         (WebCore::SVGSVGElement::checkEnclosure):
22992         (WebCore::SVGSVGElement::deselectAll):
22993         (WebCore::SVGSVGElement::createSVGLength):
22994         (WebCore::SVGSVGElement::createSVGAngle):
22995         (WebCore::SVGSVGElement::createSVGMatrix):
22996         (WebCore::SVGSVGElement::createSVGTransform):
22997         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
22998         (WebCore::SVGSVGElement::getCTM):
22999         (WebCore::SVGSVGElement::getScreenCTM):
23000         (WebCore::SVGSVGElement::setCurrentTime):
23001         * ksvg2/svg/SVGSVGElement.h:
23002         (WebCore::SVGSVGElement::rendererIsNeeded):
23003         * ksvg2/svg/SVGSwitchElement.cpp:
23004         (WebCore::SVGSwitchElement::SVGSwitchElement):
23005         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
23006         * ksvg2/svg/SVGSwitchElement.h:
23007         (WebCore::SVGSwitchElement::rendererIsNeeded):
23008         * ksvg2/svg/SVGSymbolElement.cpp:
23009         (WebCore::SVGSymbolElement::SVGSymbolElement):
23010         (WebCore::SVGSymbolElement::parseMappedAttribute):
23011         * ksvg2/svg/SVGSymbolElement.h:
23012         (WebCore::SVGSymbolElement::shouldAttachChild):
23013         * ksvg2/svg/SVGTitleElement.cpp:
23014         (WebCore::SVGTitleElement::SVGTitleElement):
23015         * ksvg2/svg/SVGTitleElement.h:
23016         * ksvg2/svg/SVGUseElement.cpp:
23017         (WebCore::SVGUseElement::parseMappedAttribute):
23018         (WebCore::SVGUseElement::closeRenderer):
23019         * ksvg2/svg/SVGUseElement.h:
23020         (WebCore::SVGUseElement::rendererIsNeeded):
23022 2006-10-12  Adele Peterson  <adele@apple.com>
23024         Reviewed by Anders.
23026         - Fix for http://bugs.webkit.org/show_bug.cgi?id=11172
23027           REGRESSION (NativeListBox): OPTION text paints over the edge of the select element at http://jobs.apple.com/
23028         
23029          Test: fast/forms/listbox-width-change.html
23031         * rendering/RenderListBox.cpp: (WebCore::RenderListBox::updateFromElement):
23032           When the options change, call setNeedsLayoutAndMinMaxRecalc.
23034 2006-10-12  Maciej Stachowiak  <mjs@apple.com>
23036         Reviewed by Oliver.
23038         - moved a bunch of WebFrameBridge code down to WebCoreFrameBridge, now that it no longer has any WebKit dependencies
23040         * WebCore.xcodeproj/project.pbxproj:
23041         * bridge/mac/WebCoreFrameBridge.h:
23042         * bridge/mac/WebCoreFrameBridge.mm:
23043         (stringByCollapsingNonPrintingCharacters):
23044         (-[WebCoreFrameBridge setTitle:]):
23045         (-[WebCoreFrameBridge didFirstLayout]):
23046         (-[WebCoreFrameBridge notifyIconChanged:]):
23047         (-[WebCoreFrameBridge originalRequestURL]):
23048         (-[WebCoreFrameBridge isLoadTypeReload]):
23049         (-[WebCoreFrameBridge frameDetached]):
23050         (-[WebCoreFrameBridge tokenizerProcessedData]):
23051         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
23052         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
23053         (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
23054         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
23055         (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
23056         (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
23057         (-[WebCoreFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
23058         (-[WebCoreFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
23059         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
23060         (-[WebCoreFrameBridge incomingReferrer]):
23061         (-[WebCoreFrameBridge isReloading]):
23062         (-[WebCoreFrameBridge handledOnloadEvents]):
23063         (-[WebCoreFrameBridge mainResourceURLResponse]):
23064         (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
23065         * loader/mac/LoaderNSURLExtras.h:
23066         * loader/mac/LoaderNSURLRequestExtras.h: Added.
23067         * loader/mac/LoaderNSURLRequestExtras.m: Added.
23068         (isConditionalRequest):
23069         (setHTTPReferrer):
23070         * loader/mac/WebFrameLoader.mm:
23071         * loader/mac/WebSubresourceLoader.mm:
23073 2006-10-12  Adele Peterson  <adele@apple.com>
23075         RS by Geoff.
23077         Renamed menuListIsDetaching to disconnectMenuList, 
23078         uploadControlDetaching to disconnectUploadControl, and fileChooserDetachingSoon to disconnectFileChooser.  
23079         These names match similar methods in WebCore a little better.
23081         * platform/FileChooser.h:
23082         * platform/PopupMenu.h: (WebCore::PopupMenu::disconnectMenuList):
23083         * platform/mac/FileChooserMac.mm: (-[OpenPanelController disconnectFileChooser]):
23084         (WebCore::FileChooser::disconnectUploadControl):
23085         * platform/win/TemporaryLinkStubs.cpp: (FileChooser::disconnectUploadControl):
23086         * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
23087         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::~RenderMenuList):
23089 2006-10-12  Adele Peterson  <adele@apple.com>
23091         Reviewed by Maciej.
23093         WebCore part of fix for <rdar://problem/4450613> need a means to attach user data to any menu that is popuped up in HTML
23095         Added private delegate method for clients that want access to a PopupMenu's NSMenu.
23097         * bridge/mac/FrameMac.h:
23098         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::willPopupMenu):
23099         * bridge/mac/WebCoreFrameBridge.h:
23101         * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Calls willPopupMenu with the NSMenu about to be popped up.
23103 2006-10-12  Adele Peterson  <adele@apple.com>
23105         Reviewed by Alice.
23107         - Fix for <rdar://problem/4707372> 
23108           After timers fix, crash in -[NSMenu performActionForItemAtIndex:] after moving/detroying active popup menu
23110         * platform/PopupMenu.h: (WebCore::PopupMenu::menuListIsDetaching): Added. Zeros out the pointer to the menu list.
23111         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::~RenderMenuList): Calls menuListIsDetaching.
23112         * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Added a RefPtr to protect the PopupMenu while the NSMenu is up,
23113           in case the RenderMenuList goes away.  Also, checks the pointer to the menu list immediately afterwards.
23115 2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
23117         Reviewed by Maciej.
23119         Trying to fix "DRT hangs on certain testcases" like fast/dom/Document/document-reopen.html
23120         document.open(); document.write(..); and NO document.close(). On the Qt platform this
23121         leaves a HTMLDocument which is still in parsing mode (parsing() always returns true).
23122         DRT waits forever, but m_frame->isComplete() is never true due the parsing mode problem.
23124         Hmpf, this took me nine hours to debug today.
23125         Result: Couldn't find the real fix, going for a workaround for now.
23126         
23127         540 minutes, 1 line of code changed after all -> 0,0019 lines per minute.
23129         * platform/qt/FrameQt.cpp:
23130         (WebCore::FrameQt::handledOnloadEvents): Call endIfNotLoading() manually.
23131         * platform/qt/FrameQtClient.cpp:
23132         (WebCore::FrameQtClientDefault::receivedData): Use write() again instead of addData().
23134 2006-10-12  Adam Roben  <aroben@apple.com>
23136         Reviewed by Adele.
23138         Move popup menu code out of rendering/ and into platform/.
23139         RenderPopupMenu becomes PopupMenu, the
23140         RenderPopupMenuMac/RenderPopupMenuWin subclasses and all the associated
23141         virtual methods go away, RenderTheme gets to stop worrying about popup
23142         menus, PopupMenu becomes ref-counted, and everyone becomes happy.
23144         * WebCore.vcproj/WebCore/WebCore.vcproj: Move files within project.
23145         * WebCore.xcodeproj/project.pbxproj: Ditto.
23146         * html/HTMLSelectElement.cpp: Remove unnecessary #include.
23147         * platform/PopupMenu.cpp: Moved from rendering/RenderPopupMenu.cpp.
23148         Also renamed showPopup()/hidePopup() to show()/hide() to disambiguate
23149         from RenderMenuList::showPopup/hidePopup.
23150         (WebCore::PopupMenu::create): New static creation method to hand back a
23151         PassRefPtr<PopupMenu>.
23152         (WebCore::PopupMenu::addItems): This platform-independent method should
23153         be called by PopupMenu::populate when the platform-specific
23154         implementation is ready to receive the menu items. Fixed an ASSERT
23155         while I was at it.
23156         * platform/PopupMenu.h: Moved from rendering/RenderPopupMenu.h. No more
23157         need for virtual methods.
23158         (WebCore::PopupMenu::wasClicked):
23159         (WebCore::PopupMenu::setWasClicked):
23160         (WebCore::PopupMenu::popupHandle):
23161         * platform/mac/PopupMenuMac.mm: Moved from
23162         rendering/RenderPopupMenuMac.mm. Much renaming ensues.
23163         (WebCore::PopupMenu::PopupMenu):
23164         (WebCore::PopupMenu::~PopupMenu):
23165         (WebCore::PopupMenu::clear):
23166         (WebCore::PopupMenu::populate):
23167         (WebCore::PopupMenu::show):
23168         (WebCore::PopupMenu::hide):
23169         (WebCore::PopupMenu::addSeparator):
23170         (WebCore::PopupMenu::addGroupLabel): Since we don't have our own
23171         RenderStyle anymore, just pick up the style from our RenderMenuList.
23172         (WebCore::PopupMenu::addOption): Ditto.
23173         * platform/win/TemporaryLinkStubs.cpp: Rename-fest.
23174         (PopupMenu::PopupMenu):
23175         (PopupMenu::~PopupMenu):
23176         (PopupMenu::clear):
23177         (PopupMenu::populate):
23178         (PopupMenu::show):
23179         (PopupMenu::hide):
23180         (PopupMenu::addSeparator):
23181         (PopupMenu::addGroupLabel):
23182         (PopupMenu::addOption):
23183         * rendering/RenderMenuList.cpp:
23184         (WebCore::RenderMenuList::~RenderMenuList):
23185         (WebCore::RenderMenuList::showPopup): Use nice new simple
23186         PopupMenu::create to make the popup.
23187         (WebCore::RenderMenuList::hidePopup):
23188         * rendering/RenderMenuList.h: Hold a RefPtr<PopupMenu> instead of a
23189         RenderPopupMenu*.
23190         (WebCore::RenderMenuList::popup):
23191         * rendering/RenderPopupMenu.cpp: Removed.
23192         * rendering/RenderPopupMenu.h: Removed.
23193         * rendering/RenderPopupMenuMac.h: Removed.
23194         * rendering/RenderPopupMenuMac.mm: Removed.
23195         * rendering/RenderPopupMenuWin.h: Removed.
23196         * rendering/RenderTheme.cpp: Get rid of createPopupMenu() method.
23197         * rendering/RenderTheme.h: Ditto.
23198         * rendering/RenderThemeMac.h: Ditto.
23199         * rendering/RenderThemeMac.mm: Ditto.
23200         * rendering/RenderThemeWin.cpp: Ditto.
23201         * rendering/RenderThemeWin.h: Ditto.
23203 2006-10-12  Adele Peterson  <adele@apple.com>
23205         Reviewed by Dave Harrison.
23207         - Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
23209         * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout):
23210         Make subtree layouts work for textareas as well as text fields.
23212 2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
23214         Reviewed by MacDome.
23216         Finally found a way to remove our begin() trickery in FrameQt.
23217         The (probably misnamed) Frame::setEncoding() function automatically
23218         calls Frame::receivedFirstData() which calls being on the working
23219         url, which has been passed to didOpenUrl(). Took me some hours
23220         to figure out that the missing charset logic, forced us to do hacks.
23222         * platform/ResourceLoader.h:
23223         * platform/ResourceLoaderInternal.h:
23224         * platform/qt/FrameQt.cpp:
23225         (WebCore::FrameQt::tokenizerProcessedData):
23226         * platform/qt/FrameQt.h:
23227         * platform/qt/FrameQtClient.cpp:
23228         (WebCore::FrameQtClientDefault::FrameQtClientDefault):
23229         (WebCore::FrameQtClientDefault::openURL):
23230         (WebCore::FrameQtClientDefault::submitForm):
23231         (WebCore::FrameQtClientDefault::receivedData):
23232         (WebCore::FrameQtClientDefault::receivedAllData):
23233         * platform/qt/FrameQtClient.h:
23234         * platform/qt/ResourceLoaderManager.cpp:
23235         (WebCore::ResourceLoaderManager::slotData):
23236         (WebCore::ResourceLoaderManager::slotMimetype):
23237         (WebCore::ResourceLoaderManager::slotResult):
23238         (WebCore::ResourceLoaderManager::remove):
23239         * platform/qt/ResourceLoaderQt.cpp:
23240         (WebCore::ResourceLoader::retrieveCharset):
23241         (WebCore::ResourceLoader::extractCharsetFromHeaders):
23243 2006-10-12  Adam Roben  <aroben@apple.com>
23245         Reviewed by Hyatt.
23247         Bandaid-ing a null-dereference crash until a real fix is made.
23249         * page/FrameView.cpp:
23250         (WebCore::FrameView::windowClipRect):
23252 2006-10-12  Rob Buis  <buis@kde.org>
23254         Reviewed by Mitz.
23256         http://bugs.webkit.org/show_bug.cgi?id=11217
23257         Cleanup svg coding style
23259         Cleanup coding style in svg text classes.
23261         * ksvg2/svg/SVGTRefElement.cpp:
23262         (WebCore::SVGTRefElement::SVGTRefElement):
23263         (WebCore::SVGTRefElement::updateReferencedText):
23264         (WebCore::SVGTRefElement::parseMappedAttribute):
23265         (WebCore::SVGTRefElement::childShouldCreateRenderer):
23266         (WebCore::SVGTRefElement::createRenderer):
23267         * ksvg2/svg/SVGTRefElement.h:
23268         (WebCore::SVGTRefElement::rendererIsNeeded):
23269         * ksvg2/svg/SVGTSpanElement.cpp:
23270         (WebCore::SVGTSpanElement::SVGTSpanElement):
23271         (WebCore::SVGTSpanElement::childShouldCreateRenderer):
23272         (WebCore::SVGTSpanElement::createRenderer):
23273         * ksvg2/svg/SVGTSpanElement.h:
23274         (WebCore::SVGTSpanElement::rendererIsNeeded):
23275         * ksvg2/svg/SVGTextContentElement.cpp:
23276         (WebCore::SVGTextContentElement::SVGTextContentElement):
23277         (WebCore::SVGTextContentElement::parseMappedAttribute):
23278         * ksvg2/svg/SVGTextContentElement.h:
23279         * ksvg2/svg/SVGTextElement.cpp:
23280         (WebCore::SVGTextElement::SVGTextElement):
23281         (WebCore::SVGTextElement::localMatrix):
23282         (WebCore::SVGTextElement::parseMappedAttribute):
23283         (WebCore::SVGTextElement::updateLocalTransform):
23284         (WebCore::SVGTextElement::nearestViewportElement):
23285         (WebCore::SVGTextElement::farthestViewportElement):
23286         (WebCore::SVGTextElement::getScreenCTM):
23287         (WebCore::SVGTextElement::getCTM):
23288         (WebCore::SVGTextElement::createRenderer):
23289         (WebCore::SVGTextElement::childShouldCreateRenderer):
23290         * ksvg2/svg/SVGTextElement.h:
23291         (WebCore::SVGTextElement::getTransformToElement):
23292         (WebCore::SVGTextElement::rendererIsNeeded):
23293         * ksvg2/svg/SVGTextPositioningElement.cpp:
23294         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
23295         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
23296         * ksvg2/svg/SVGTextPositioningElement.h:
23298 2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
23300         Reviewed by Maciej.
23302         Specialization of alert() for DumpRenderTree - just log the output, don't show any message box.
23304         * platform/qt/FrameQt.cpp:
23305         (WebCore::FrameQt::runJavaScriptAlert): Move runJavaScriptAlert functionality to FrameQtClientDefault.
23306         * platform/qt/FrameQtClient.cpp:
23307         (WebCore::FrameQtClientDefault::runJavaScriptAlert):
23308         * platform/qt/FrameQtClient.h:
23310 2006-10-12  Maciej Stachowiak  <mjs@apple.com>
23312         Reviewed by Eric.
23314         - move m_responseMIMEType out of ResourceRequest, where it doesn't belong
23316         * page/FramePrivate.h: Add m_responseMIMEType
23317         * page/ResourceRequest.h: Remove m_responseMIMEType
23318         * page/Frame.cpp:
23319         (WebCore::Frame::setResponseMIMEType): added
23320         (WebCore::Frame::responseMIMEType): added
23321         (WebCore::Frame::begin): get MIME type from the right place
23322         (WebCore::Frame::write): ditto
23323         * page/Frame.h:
23324         * bindings/js/kjs_window.cpp:
23325         (KJS::createNewWindow): updated to use new Frame methods
23326         (KJS::WindowFunc::callAsFunction): ditto
23327         * bridge/mac/WebCoreFrameBridge.mm:
23328         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): ditto
23329         (-[WebCoreFrameBridge canProvideDocumentSource]): ditto
23330         * loader/PluginDocument.cpp:
23331         (WebCore::PluginTokenizer::createDocumentStructure): ditto
23333 2006-10-12  Maciej Stachowiak  <mjs@apple.com>
23335         Reviewed by Eric.
23336         
23337         <rdar://problem/4774321> REGRESSION: "Can't find the server" error page contains unstyled text and missing image
23339         We really need some way to test loadHTMLString since it keeps breaking!
23340         
23341         * loader/mac/WebFrameLoader.mm:
23342         (-[WebFrameLoader commitProvisionalLoad:]): Set stuff up on the proper data source.
23344 2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
23346         Reviewed by Eric.
23348         Fix Qt/Linux build.
23350         * CMakeLists.txt:
23351         * platform/qt/FileChooserQt.cpp:
23352         (WebCore::FileChooser::create):
23354 2006-10-12  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
23356         Reviewed by Maciej.
23358         Update Gdk\Linux build for recent changes, based on Qt code
23360         * platform/gdk/FrameGdk.cpp:
23361         (WebCore::FrameGdkClientDefault::FrameGdkClientDefault):
23362         (WebCore::FrameGdkClientDefault::~FrameGdkClientDefault):
23363         (WebCore::FrameGdkClientDefault::setFrame):
23364         (WebCore::FrameGdkClientDefault::openURL):
23365         (WebCore::FrameGdkClientDefault::submitForm):
23366         (WebCore::FrameGdkClientDefault::receivedResponse):
23367         (WebCore::FrameGdkClientDefault::receivedData):
23368         (WebCore::FrameGdkClientDefault::receivedAllData):
23369         (WebCore::FrameGdk::FrameGdk):
23370         (WebCore::FrameGdk::openURL):
23371         (WebCore::FrameGdk::submitForm):
23372         (WebCore::FrameGdk::urlSelected):
23373         * platform/gdk/FrameGdk.h:
23374         * platform/gdk/TemporaryLinkStubs.cpp:
23375         (FrameGdk::createJavaAppletWidget):
23376         (FileChooser::create):
23378 2006-10-12  Dave Hyatt  <hyatt@apple.com>
23380         Patch to add more clipping retrieval functionality for widgets.
23381        
23382         Reviewed by mjs
23384         * page/Frame.h:
23385         Remove windowResizerRect.  This is in the wrong place.
23386         
23387         * page/FrameView.cpp:
23388         (WebCore::FrameView::windowClipRect):
23389         (WebCore::FrameView::windowClipRectForLayer):
23390         Break out windowClipRect into helper functions that can be called separately (to make
23391         it easier for scrollbars in overflow sections and list boxes to get to an enclosing
23392         layer and get the right clip.
23393         
23394         * page/FrameView.h:
23395         Add the new windowClipRect helper methods.
23396         
23397         * platform/ScrollBar.h:
23398         Add a new interface to ScrollbarClient so that scrollbars can hand back proper
23399         clip rects for themselves depending on how they are used.
23400         
23401         * platform/ScrollView.h:
23402         Stub out methods for talking to a double buffer backing store on Win32.
23403         
23404         * platform/Widget.h:
23405         Add the ability to query for invalidation suppression.
23406         
23407         * rendering/RenderLayer.cpp:
23408         (WebCore::RenderLayer::windowClipRect):
23409         (WebCore::RenderLayer::paintOverflowControls):
23410         (WebCore::RenderLayer::calculateRects):
23411         (WebCore::RenderLayer::childrenClipRect):
23412         (WebCore::RenderLayer::selfClipRect):
23413         * rendering/RenderLayer.h:
23414         Enhance layers so that they can return either their foreground or background
23415         document clip rects.  Make sure a layer scrollbar can return a proper clip.
23416         
23417         * rendering/RenderListBox.cpp:
23418         (WebCore::RenderListBox::windowClipRect):
23419         * rendering/RenderListBox.h:
23420         Make sure a list box scrollbar can return a proper clip.
23421         
23422         * rendering/RenderObject.cpp:
23423         (WebCore::RenderObject::enclosingLayer):
23424         * rendering/RenderObject.h:
23425         Make enclosingLayer const.
23426         
23427 2006-10-11  Darin Adler  <darin@apple.com>
23429         Reviewed by John.
23431         - some changes to prepare for converting more code to C++
23433         * bridge/mac/WebCoreFrameBridge.h: Added import of <Cocoa/Cocoa.h> so this header is
23434         self-sufficient.
23436         * bridge/mac/WebCoreViewFactory.h: Added forward declaration of the NSMenu class.
23437         Needed since the class is used in this header (for some work I have not landed yet).
23439         * loader/mac/LoaderNSURLExtras.h:
23440         * loader/mac/WebFormDataStream.h:
23441         Added extern "C" so this code can be used from C++.
23443         * loader/mac/LoaderNSURLExtras.m:
23444         * loader/mac/WebDataProtocol.mm:
23445         * loader/mac/WebDocumentLoader.mm:
23446         * loader/mac/WebFormDataStream.m:
23447         * loader/mac/WebLoader.mm:
23448         * loader/mac/WebMainResourceLoader.mm:
23449         * loader/mac/WebNetscapePlugInStreamLoader.mm:
23450         * loader/mac/WebPolicyDecider.mm:
23451         * loader/mac/WebSubresourceLoader.mm:
23452         Added missing includes of config.h.
23454 2006-10-11  John Sullivan  <sullivan@apple.com>
23455         
23456         Darin wrote this code; we tested it; I give it the thumbs up.
23457         
23458         - fixed regression from svn revision 16982 that was generating the wrong Obj-C classes
23460         The hash table to look up an element class given a QualifiedName was
23461         not working at all.
23463         * dom/QualifiedName.h:
23464         (WebCore::QualifiedName::impl):
23465         Added. This new accessor method for impl is needed if we want to use
23466         a QualifiedName as a hash table key without doing the kind of specialization
23467         we do for String. Maybe later we can do the String thing.
23469         * bindings/objc/DOM.mm:
23470         (WebCore::addElementClass):
23471         Use QualifiedName.impl instead of the QualifiedName pointer itself.
23472         The QualifiedName pointer is *not* unique so almost nothing would be found
23473         in this hash table!
23474         (WebCore::elementClass):
23475         ditto
23476         
23477 2006-10-11  Adam Roben  <aroben@apple.com>
23479         Rubberstamped by Anders.
23481         Clean up FileChooser::create and Icon::newIconForFile.
23483         * WebCore.xcodeproj/project.pbxproj:
23484         * platform/mac/FileChooserMac.mm:
23485         (WebCore::FileChooser::create):
23486         * platform/mac/IconMac.mm:
23487         (WebCore::Icon::newIconForFile):
23489 2006-10-11  Oliver Hunt  <oliver@apple.com>
23491         Reviewed by Adam.
23493         Fix for http://bugs.webkit.org/show_bug.cgi?id=11251
23494         Corrects canvas tag to not throw JS exception when drawing
23495         zero sized rects, arcs, etc
23497         * html/CanvasRenderingContext2D.cpp:
23498         (WebCore::CanvasRenderingContext2D::arcTo):
23499         (WebCore::CanvasRenderingContext2D::arc):
23500         (WebCore::CanvasRenderingContext2D::rect):
23501         (WebCore::CanvasRenderingContext2D::clearRect):
23502         (WebCore::CanvasRenderingContext2D::fillRect):
23503         (WebCore::CanvasRenderingContext2D::strokeRect):
23505 2006-10-11  Rob Buis  <buis@kde.org>
23507         Reviewed by Mitz.
23509         http://bugs.webkit.org/show_bug.cgi?id=11221
23510         REGRESSION: iExploder crash due to style="cursor: url()"
23512         Take better care of empty cursor lists.
23514         Test: fast/css/invalid-cursor-property-crash.html
23516         * css/cssparser.cpp:
23517         (WebCore::CSSParser::parseValue):
23519 2006-10-11  Adam Roben  <aroben@apple.com>
23521         Fixing Windows for real this time.
23523         * platform/win/TemporaryLinkStubs.cpp:
23524         (FileChooser::create):
23526 2006-10-11  Adam Roben  <aroben@apple.com>
23528         Fix Windows build.
23530         * platform/win/TemporaryLinkStubs.cpp:
23531         (FileChooser::create):
23533 2006-10-11  Antti Koivisto  <koivisto@iki.fi>
23535         Reviewed by Hyatt.
23536         
23537         http://bugs.webkit.org/show_bug.cgi?id=4377
23538         
23539         Respect css visibility semantics for layers too
23541         * rendering/RenderContainer.cpp:
23542         (WebCore::RenderContainer::removeChildNode):
23543         (WebCore::RenderContainer::appendChildNode):
23544         (WebCore::RenderContainer::insertChildNode):
23545         * rendering/RenderLayer.cpp:
23546         (WebCore::RenderLayer::RenderLayer):
23547         (WebCore::RenderLayer::updateLayerPositions):
23548         (WebCore::RenderLayer::setHasVisibleContent):
23549         (WebCore::RenderLayer::dirtyVisibleContentStatus):
23550         (WebCore::RenderLayer::childVisibilityChanged):
23551         (WebCore::RenderLayer::dirtyVisibleDescendantStatus):
23552         (WebCore::RenderLayer::updateVisibilityStatus):
23553         (WebCore::RenderLayer::addChild):
23554         (WebCore::RenderLayer::removeChild):
23555         (WebCore::RenderLayer::updateZOrderLists):
23556         (WebCore::RenderLayer::collectLayers):
23557         * rendering/RenderLayer.h:
23558         (WebCore::RenderLayer::hasVisibleContent):
23559         * rendering/RenderObject.cpp:
23560         (WebCore::RenderObject::setStyle):
23562 2006-10-10  Maciej Stachowiak  <mjs@apple.com>
23564         Reviewed by Oliver.
23566         - added RetainPtr, smart pointer for refcounted ObjC objects and CFTypes
23568         * WebCore.xcodeproj/project.pbxproj:
23569         * platform/cf/RetainPtr.h: Added.
23570         (WTF::):
23571         (WTF::RetainPtr::RetainPtr):
23572         (WTF::RetainPtr::~RetainPtr):
23573         (WTF::RetainPtr::get):
23574         (WTF::RetainPtr::operator*):
23575         (WTF::RetainPtr::operator->):
23576         (WTF::RetainPtr::operator!):
23577         (WTF::RetainPtr::operator UnspecifiedBoolType):
23578         (WTF::::operator):
23579         (WTF::::swap):
23580         (WTF::swap):
23581         (WTF::operator==):
23582         (WTF::operator!=):
23583         (WTF::static_pointer_cast):
23584         (WTF::const_pointer_cast):
23585         (WTF::getPtr):
23586         
23587         - use it in WidgetMac so it gets tested in at least one place
23588         
23589         * platform/mac/WidgetMac.mm:
23590         (WebCore::Widget::Widget):
23591         (WebCore::Widget::~Widget):
23592         (WebCore::Widget::setEnabled):
23593         (WebCore::Widget::isEnabled):
23594         (WebCore::Widget::setCursor):
23595         (WebCore::Widget::getView):
23596         (WebCore::Widget::setView):
23597         (WebCore::Widget::getOuterView):
23599 2006-10-10  Brady Eidson  <beidson@apple.com>
23601         Reviewed by Maciej.
23603         Moved WebFrameLoader from WebFrameBridge into WebCoreFrameBridge
23605         * bridge/mac/WebCoreFrameBridge.h:
23606         * bridge/mac/WebCoreFrameBridge.mm:
23607         (-[WebCoreFrameBridge initMainFrameWithPage:]):
23608         (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
23609         (-[WebCoreFrameBridge dealloc]):
23610         (-[WebCoreFrameBridge close]):
23611         (-[WebCoreFrameBridge setFrameLoaderClient:]):
23612         (-[WebCoreFrameBridge frameLoader]):
23613         * loader/mac/WebFrameLoader.h:
23614         * loader/mac/WebFrameLoader.mm:
23615         (-[WebFrameLoader initWithFrameBridge:]):
23616         (-[WebFrameLoader setFrameLoaderClient:]):
23618 2006-10-10  Adam Roben  <aroben@apple.com>
23620         Reviewed by Oliver.
23622         Make FileChooser ref-counted.
23624         * platform/FileChooser.h:
23625         * platform/mac/FileChooserMac.mm:
23626         (WebCore::FileChooser::create):
23627         * rendering/RenderFileUploadControl.cpp:
23628         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
23629         (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
23630         * rendering/RenderFileUploadControl.h:
23632 2006-10-10  Sam Weinig  <sam.weinig@gmail.com>
23634         Reviewed by Tim H.
23636         Patch for http://bugs.webkit.org/show_bug.cgi?id=11248
23637         Even More auto-generated Objective-C DOM bindings changes
23639         - Auto-generate DOMSVGPathElement.
23641         - Auto-generate the internal interfaces even for classes that have
23642           custom internal implementations.  Change IDL property from ObjCNoInternal
23643           to ObjCCustomInternalImpl to indicate the change.
23645         - Add SVG classes to DOMNode and DOMEvent internal interfaces.
23647         - Add isSVGZoomEvent() method to Event class to match other Event subclasses
23648           and make DOM binding possible.
23650         - Assorted cleanups.
23652         * DerivedSources.make:
23653         * WebCore.xcodeproj/project.pbxproj:
23654         * bindings/objc/DOM.mm:
23655         (WebCore::addElementClass):
23656         (WebCore::createElementClassMap):
23657         (WebCore::elementClass):
23658         (-[DOMNode description]):
23659         (+[DOMNode _nodeWith:WebCore::]):
23660         (-[DOMNode addEventListener:listener:useCapture:]):
23661         (-[DOMNode removeEventListener:listener:useCapture:]):
23662         (-[DOMElement _NPObject]):
23663         (WebCore::ObjCEventListener::handleEvent):
23664         * bindings/objc/DOMEvents.mm:
23665         (+[DOMEvent _eventWith:WebCore::]):
23666         * bindings/objc/DOMInternal.h:
23667         * bindings/objc/DOMRGBColor.mm:
23668         (-[DOMRGBColor WebCore::]):
23669         * bindings/objc/DOMSVGPathSegInternal.h: Removed.
23670         * bindings/scripts/CodeGeneratorObjC.pm:
23671         * css/CSSRule.idl:
23672         * css/CSSValue.idl:
23673         * css/StyleSheet.idl:
23674         * dom/Event.cpp:
23675         (WebCore::Event::isSVGZoomEvent):
23676         * dom/Event.h:
23677         * dom/Event.idl:
23678         * dom/Node.idl:
23679         * ksvg2/events/SVGZoomEvent.cpp:
23680         (WebCore::SVGZoomEvent::isSVGZoomEvent):
23681         * ksvg2/events/SVGZoomEvent.h:
23682         * ksvg2/svg/SVGAnimatedAngle.idl:
23683         * ksvg2/svg/SVGCircleElement.idl:
23684         * ksvg2/svg/SVGClipPathElement.idl:
23685         * ksvg2/svg/SVGPathElement.idl:
23686         * ksvg2/svg/SVGPathSeg.idl:
23688 2006-10-10  Oliver Hunt  <oliver@apple.com>
23690         rubber stamped by Anders.
23692         More buildbot bustage
23694         * kcanvas/SVGInlineFlowBox.cpp:
23695         (WebCore::placeBoxesVerticallyWithAbsBaseline):
23697 2006-10-10  Oliver Hunt  <oliver@apple.com>
23699         Reviewed by Anders 
23701         Unbreak build bots
23703         * dom/Text.cpp:
23704         * kcanvas/RenderSVGText.cpp:
23705         (WebCore::RenderSVGText::layout):
23706         * kcanvas/SVGInlineFlowBox.cpp:
23707         (WebCore::placePositionedBoxesHorizontally):
23708         (WebCore::placeBoxesVerticallyWithAbsBaseline):
23710 2006-10-10  Oliver Hunt  <oliver@apple.com>
23712         Reviewed by hyatt.
23714         Fixes bugs #6423, #6559, #10380 and #10839 
23716         * WebCore.xcodeproj/project.pbxproj:
23717         * css/svg.css:
23718         * dom/Text.cpp:
23719         (WebCore::Text::createRenderer):
23720         * kcanvas/RenderSVGInline.cpp: Added.
23721         (WebCore::RenderSVGInline::RenderSVGInline):
23722         (WebCore::RenderSVGInline::createInlineBox):
23723         * kcanvas/RenderSVGInline.h: Added.
23724         (WebCore::RenderSVGInline::renderName):
23725         (WebCore::RenderSVGInline::requiresLayer):
23726         * kcanvas/RenderSVGInlineText.cpp: Added.
23727         (WebCore::RenderSVGInlineText::RenderSVGInlineText):
23728         (WebCore::RenderSVGInlineText::absoluteRects):
23729         (WebCore::RenderSVGInlineText::selectionRect):
23730         * kcanvas/RenderSVGInlineText.h: Added.
23731         (WebCore::RenderSVGInlineText::renderName):
23732         (WebCore::RenderSVGInlineText::requiresLayer):
23733         * kcanvas/RenderSVGTSpan.cpp: Added.
23734         (WebCore::RenderSVGTSpan::RenderSVGTSpan):
23735         (WebCore::RenderSVGTSpan::absoluteRects):
23736         * kcanvas/RenderSVGTSpan.h: Added.
23737         (WebCore::RenderSVGTSpan::renderName):
23738         * kcanvas/RenderSVGText.cpp:
23739         (WebCore::RenderSVGText::RenderSVGText):
23740         (WebCore::RenderSVGText::computeAbsoluteRepaintRect):
23741         (WebCore::RenderSVGText::layout):
23742         (WebCore::RenderSVGText::createInlineBox):
23743         (WebCore::RenderSVGText::nodeAtPoint):
23744         (WebCore::RenderSVGText::absoluteRects):
23745         (WebCore::RenderSVGText::paint):
23746         (WebCore::RenderSVGText::relativeBBox):
23747         * kcanvas/RenderSVGText.h:
23748         (WebCore::RenderSVGText::renderName):
23749         * kcanvas/SVGInlineFlowBox.cpp: Added.
23750         (WebCore::SVGInlineFlowBox::paint):
23751         (WebCore::SVGInlineFlowBox::placeBoxesHorizontally):
23752         (WebCore::SVGInlineFlowBox::verticallyAlignBoxes):
23753         (WebCore::paintSVGInlineFlow):
23754         (WebCore::translateBox):
23755         (WebCore::placePositionedBoxesHorizontally):
23756         (WebCore::placeSVGFlowHorizontally):
23757         (WebCore::placeBoxesVerticallyWithAbsBaseline):
23758         (WebCore::placeSVGFlowVertically):
23759         * kcanvas/SVGInlineFlowBox.h: Added.
23760         (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
23761         * kcanvas/SVGRootInlineBox.cpp: Added.
23762         (WebCore::SVGRootInlineBox::paint):
23763         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
23764         (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
23765         * kcanvas/SVGRootInlineBox.h: Added.
23766         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
23767         * ksvg2/svg/SVGTRefElement.cpp:
23768         (SVGTRefElement::createRenderer):
23769         * ksvg2/svg/SVGTSpanElement.cpp:
23770         (SVGTSpanElement::createRenderer):
23771         * rendering/InlineFlowBox.h:
23773 2006-10-10  Adam Roben  <aroben@apple.com>
23775         Reviewed by Adele.
23777         Improve popup menu behavior.
23779         * html/HTMLSelectElement.cpp:
23780         (WebCore::HTMLSelectElement::HTMLSelectElement): Cache
23781         m_lastOnChangeIndex so we know when to fire onChange.
23782         (WebCore::HTMLSelectElement::setSelectedIndex): Added parameter to
23783         specify whether we should fire onChange.
23784         (WebCore::HTMLSelectElement::dispatchBlurEvent): Fire onChange on blur.
23785         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Fire
23786         onChange when using the Enter key to change the selection.
23787         * html/HTMLSelectElement.h:
23788         * rendering/RenderMenuList.cpp:
23789         (WebCore::RenderMenuList::updateFromElement): Extract setText logic
23790         into its own method.
23791         (WebCore::RenderMenuList::setTextFromOption): New method.
23792         (WebCore::RenderMenuList::valueChanged): Let setSelectedIndex call
23793         onChange instead of calling it directly here.
23794         * rendering/RenderMenuList.h:
23796 2006-10-10  Adele Peterson  <adele@apple.com>
23798         Reviewed by Beth. 
23801         - Fix for <rdar://problem/4707489> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active <input type=text>
23802           and <rdar://problem/4707519> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active textarea
23804         Moved autoscroll code to the Frame class
23806         * bridge/mac/FrameMac.h: Moved _mouseDownMayStartDrag and _mouseDownMayStartAutoscroll flags to the frame.
23807         * bridge/mac/FrameMac.mm: Use new getters and setters for drag and autoscroll flags.  Moved autoscroll code to Frame::handleMouseMoveEvent.
23808         (WebCore::FrameMac::FrameMac):
23809         (WebCore::FrameMac::handleMousePressEvent):
23810         (WebCore::FrameMac::eventMayStartDrag):
23811         (WebCore::FrameMac::handleMouseMoveEvent):
23812         (WebCore::FrameMac::mouseDown):
23814         * bridge/mac/WebCoreFrameBridge.h: Removed handleAutoscrollForMouseDragged, which called over the bridge for AppKit to do autoscroll for us.
23815         Now we scroll our views in WebCore.
23817         * page/Frame.cpp:
23818         (WebCore::Frame::handleMousePressEvent): Initialize the mouseDownMayStartAutoscroll flag.
23819         (WebCore::Frame::handleMouseMoveEvent): Now kicks off autoscroll if appropriate.  Moved from FrameMac.
23820         (WebCore::Frame::updateSelectionForMouseDragOverPosition): Factored code out from handleMouseMoveEvent so we can update the selection from autoscroll too.
23821         (WebCore::Frame::mouseDownMayStartAutoscroll): Added.
23822         (WebCore::Frame::setMouseDownMayStartAutoscroll): Added.
23823         (WebCore::Frame::mouseDownMayStartDrag): Added.
23824         (WebCore::Frame::setMouseDownMayStartDrag): Added.
23825         (WebCore::Frame::autoscrollRenderer): Added
23826         (WebCore::Frame::setAutoscrollRenderer): Added.
23827         (WebCore::Frame::handleAutoscroll): Updated to use autoscrollRenderer getter and setter.
23828         (WebCore::Frame::autoscrollTimerFired): ditto.
23829         (WebCore::Frame::stopAutoscrollTimer): ditto. 
23830         * page/Frame.h: Made autoscrollRenderer and stopAutoscrollTimer public, so the renderer being autoscrolled can kill the timer when it dies.
23832         * page/FramePrivate.h:
23833         (WebCore::FramePrivate::FramePrivate): Added mouseDownMayStartDrag and mouseDownMayStartAutoscroll flags.  Moved from FrameMac.
23835         * page/FrameView.cpp: Store the current mouse position in window coordinates.  The callers can convert to their own coordinate space.
23836         (WebCore::FrameView::handleMousePressEvent):
23837         (WebCore::FrameView::handleMouseDoubleClickEvent):
23838         (WebCore::FrameView::handleMouseMoveEvent):
23839         (WebCore::FrameView::handleMouseReleaseEvent):
23841         * rendering/RenderLayer.cpp:
23842         (WebCore::RenderLayer::autoscroll): Rewrote this to scroll recursively, and to scroll based on the mouse position (not the selection).  
23843          We also need to update the selection here, since autoscroll can occur without a mouseMove event, and the selection needs to get reset as we scroll.
23845         * rendering/RenderListBox.cpp:
23846         (WebCore::RenderListBox::autoscroll): Convert the mouse coordinates to the right space.
23848         * rendering/RenderObject.cpp:
23849         (WebCore::RenderObject::shouldAutoscroll): Also return true if the renderer is a root (so we know to autoscroll views too)
23850         (WebCore::RenderObject::destroy): If this renderer is being autoscrolled, stop the frame's autoscroll timer.
23852 2006-10-10  Darin Adler  <darin@apple.com>
23854         Rubber stamped by Maciej.
23856         - convert many of the loader source files to Objective-C++ to prepare
23857           to convert some of them to C++
23859         * WebCore.xcodeproj/project.pbxproj:
23860         * loader/mac/WebDataProtocol.m: Removed.
23861         * loader/mac/WebDocumentLoader.m: Removed.
23862         * loader/mac/WebFormState.m: Removed.
23863         * loader/mac/WebFrameLoader.m: Removed.
23864         * loader/mac/WebLoader.m: Removed.
23865         * loader/mac/WebMainResourceLoader.m: Removed.
23866         * loader/mac/WebNetscapePlugInStreamLoader.m: Removed.
23867         * loader/mac/WebPolicyDecider.m: Removed.
23868         * loader/mac/WebSubresourceLoader.m: Removed.
23869         * loader/mac/WebDataProtocol.mm: Added.
23870         * loader/mac/WebDocumentLoader.mm: Added.
23871         * loader/mac/WebFormState.mm: Added.
23872         * loader/mac/WebFrameLoader.mm: Added.
23873         * loader/mac/WebLoader.mm: Added.
23874         * loader/mac/WebMainResourceLoader.mm: Added.
23875         * loader/mac/WebNetscapePlugInStreamLoader.mm: Added.
23876         * loader/mac/WebPolicyDecider.mm: Added.
23877         * loader/mac/WebSubresourceLoader.mm: Added.
23879 2006-10-10  Maciej Stachowiak  <mjs@apple.com>
23881         Reviewed by Mitz.
23883         - fixed REGRESSION (r16960): crash on navigating to site
23884         http://www.zoominfo.com/Search/CompanyDetail.aspx?CompanyID=62948057&cs=QGDwILZIE
23885         
23886         * loader/mac/WebFrameLoader.m:
23887         (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
23888         Add back a mistakenly removed retain.
23890 2006-10-10  Maciej Stachowiak  <mjs@apple.com>
23892         - fixed release build
23894         * WebCore.xcodeproj/project.pbxproj:
23896 2006-10-10  Maciej Stachowiak  <mjs@apple.com>
23898         Rubber stamped by Eric.
23900         - moved a big honkin' pile of code over from WebKit; made minimal needed changes to compile
23902         * WebCore.exp:
23903         * WebCore.xcodeproj/project.pbxproj:
23904         * loader/mac/LoaderNSURLExtras.m: Added.
23905         * loader/mac/WebDataProtocol.m: Added.
23906         * loader/mac/WebDocumentLoader.m: Added.
23907         * loader/mac/WebFormDataStream.m: Added.
23908         * loader/mac/WebFrameLoader.m: Added.
23909         * loader/mac/WebLoader.m: Added.
23910         (-[NSURLProtocol didReceiveResponse:]):
23911         (-[NSURLProtocol didReceiveData:lengthReceived:allAtOnce:]):
23912         * loader/mac/WebMainResourceLoader.m: Added.
23913         (-[WebMainResourceLoader didReceiveResponse:]):
23914         * loader/mac/WebPolicyDecider.m: Added.
23915         * loader/mac/WebSubresourceLoader.h: Added.
23916         * loader/mac/WebSubresourceLoader.m: Added.
23918 2006-10-10  Maciej Stachowiak  <mjs@apple.com>
23920         Reviewed by Oliver (sort of?)
23922         - WebCore part of moving down NSURL extras
23924         * WebCore.exp:
23925         * platform/mac/WebCoreSystemInterface.h:
23926         * platform/mac/WebCoreSystemInterface.mm:
23928 2006-10-09  Rob Buis  <buis@kde.org>
23930         Reviewed by Mitz.
23932         http://bugs.webkit.org/show_bug.cgi?id=11217
23933         Cleanup svg coding style
23935         Cleanup coding style in svg animation classes.
23937         * ksvg2/svg/SVGAnimateColorElement.cpp:
23938         (WebCore::SVGAnimateColorElement::handleTimerEvent):
23939         * ksvg2/svg/SVGAnimateElement.cpp:
23940         (WebCore::SVGAnimateElement::SVGAnimateElement):
23941         (WebCore::SVGAnimateElement::handleTimerEvent):
23942         * ksvg2/svg/SVGAnimateTransformElement.cpp:
23943         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
23944         (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
23945         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
23946         (WebCore::SVGAnimateTransformElement::parseTransformValue):
23947         (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
23948         (WebCore::SVGAnimateTransformElement::initialMatrix):
23949         (WebCore::SVGAnimateTransformElement::transformMatrix):
23950         * ksvg2/svg/SVGAnimateTransformElement.h:
23951         * ksvg2/svg/SVGAnimatedPathData.cpp:
23952         * ksvg2/svg/SVGAnimatedPathData.h:
23953         * ksvg2/svg/SVGAnimatedPoints.cpp:
23954         * ksvg2/svg/SVGAnimatedPoints.h:
23955         * ksvg2/svg/SVGAnimationElement.cpp:
23956         (WebCore::SVGAnimationElement::targetElement):
23958 2006-10-09  Maciej Stachowiak  <mjs@apple.com>
23960         Reviewed by Oliver.
23962         - added isMainFrame and frameLoader to WebCoreFrameBridge for ease of future code motion
23964         * bridge/mac/WebCoreFrameBridge.h:
23965         * bridge/mac/WebCoreFrameBridge.mm:
23966         (-[WebCoreFrameBridge isMainFrame]):
23968 2006-10-09  Adam Roben  <aroben@apple.com>
23970         Backing out accidental commit.
23972         * page/Frame.cpp:
23973         (WebCore::Frame::finishedParsing):
23975 2006-10-09  Adam Roben  <aroben@apple.com>
23977         Reviewed by Darin.
23979         Add ASSERTs to RefPtr to make sure we don't ref within a destructor, as
23980         this could cause recursive calls to the destructor. RefPtr now also
23981         inherits from Noncopyable.
23983         * dom/NodeFilter.h:
23984         * dom/Traversal.h:
23985         * page/DOMWindow.h:
23986         * page/Frame.cpp:
23987         (WebCore::Frame::finishedParsing):
23988         * page/Frame.h:
23989         * page/Plugin.h:
23990         * platform/FontFallbackList.h:
23991         * platform/Icon.h:
23992         * platform/Shared.h:
23993         (WebCore::Shared::Shared):
23994         (WebCore::Shared::ref):
23995         (WebCore::Shared::deref):
23996         (WebCore::Shared::hasOneRef):
23997         (WebCore::Shared::refCount):
23998         * platform/StringImpl.h:
24000 2006-10-09  Oliver Hunt <ohunt@apple.com>
24002         Reviewed by Anders.
24004         Correcting ifdef's
24006         * html/CanvasGradient.cpp:
24007         (WebCore::CanvasGradient::CanvasGradient):
24008         (WebCore::CanvasGradient::~CanvasGradient):
24009         (WebCore::CanvasGradient::addColorStop):
24010         * html/CanvasGradient.h:
24011         * html/CanvasPattern.cpp:
24012         (WebCore::CanvasPattern::CanvasPattern):
24013         (WebCore::CanvasPattern::~CanvasPattern):
24014         * html/CanvasPattern.h:
24015         * html/CanvasRenderingContext2D.cpp:
24016         (WebCore::CanvasRenderingContext2D::fill):
24017         (WebCore::CanvasRenderingContext2D::stroke):
24018         (WebCore::CanvasRenderingContext2D::fillRect):
24019         (WebCore::CanvasRenderingContext2D::setShadow):
24020         (WebCore::CanvasRenderingContext2D::applyShadow):
24021         (WebCore::CanvasRenderingContext2D::drawImage):
24022         (WebCore::CanvasRenderingContext2D::createPattern):
24023         (WebCore::CanvasRenderingContext2D::applyStrokePattern):
24024         (WebCore::CanvasRenderingContext2D::applyFillPattern):
24025         * html/CanvasRenderingContext2D.h:
24026         * html/CanvasStyle.cpp:
24027         (WebCore::CanvasStyle::applyStrokeColor):
24028         (WebCore::CanvasStyle::applyFillColor):
24029         * html/HTMLCanvasElement.cpp:
24030         (WebCore::HTMLCanvasElement::paint):
24031         (WebCore::HTMLCanvasElement::createDrawingContext):
24032         * html/HTMLCanvasElement.h:
24034 2006-10-09  Adam Roben  <aroben@apple.com>
24036         Reviewed by Maciej.
24038         Fix a possible recursive destructor call.
24040         * page/Frame.cpp:
24041         (WebCore::Frame::~Frame): Add a FIXME about cleaning up the destructor.
24042         (WebCore::Frame::finishedParsing): Don't create a protector RefPtr if
24043         we're already being destroyed.
24045 2006-10-09  Sam Weinig  <sam.weinig@gmail.com>
24047         Reviewed by Tim H.
24049         Patch for http://bugs.webkit.org/show_bug.cgi?id=11234
24050         Assorted Objective-C bindings changes
24052         - Auto-generate DOMSVGPathSegArcAbs, DOMSVGPathSegArcRel, DOMSVGPathSegClosePath, 
24053           DOMSVGPathSegCurvetoCubicAbs, DOMSVGPathSegCurvetoCubicRel, 
24054           DOMSVGPathSegCurvetoCubicSmoothAbs, DOMSVGPathSegCurvetoCubicSmoothRel, 
24055           DOMSVGPathSegCurvetoQuadraticAbs, DOMSVGPathSegCurvetoQuadraticRel, 
24056           DOMSVGPathSegCurvetoQuadraticSmoothAbs, DOMSVGPathSegCurvetoQuadraticSmoothRel, 
24057           DOMSVGPathSegLinetoAbs, DOMSVGPathSegLinetoHorizontalAbs, 
24058           DOMSVGPathSegLinetoHorizontalRel, DOMSVGPathSegLinetoRel, 
24059           DOMSVGPathSegLinetoVerticalAbs, DOMSVGPathSegLinetoVerticalRel, 
24060           DOMSVGPathSegMovetoAbs, DOMSVGPathSegMovetoRel and DOMSVGSVGElement.
24062         - Auto-generate absoluteImageURL method for DOMHTMLInputElement and
24063           DOMHTMLObjectElement.
24065         - Auto-generate the internal methods for classes with ivars (notably 
24066           DOMNodeIterator and DOMTreeWalker)
24068         - Put more methods in the WebCore namespace and factor out the  
24069           displayString method into DOMInternal.h as done by Darin in his 
24070           patch for http://bugs.webkit.org/show_bug.cgi?id=11219.
24072         * DerivedSources.make:
24073         * WebCore.xcodeproj/project.pbxproj:
24074         * bindings/objc/DOM.mm:
24075         (-[DOMNode _initWithNode:WebCore::]):
24076         (+[DOMNode _nodeWith:WebCore::]):
24077         (-[DOMNode addEventListener:listener:useCapture:]):
24078         (-[DOMNode removeEventListener:listener:useCapture:]):
24079         (-[DOMNode dispatchEvent:]):
24080         (-[DOMElement _imageTIFFRepresentation]):
24081         (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
24082         (+[DOMNodeFilter _nodeFilterWith:WebCore::]):
24083         (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
24084         (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
24085         * bindings/objc/DOMCSS.mm:
24086         (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
24087         (+[DOMStyleSheet _styleSheetWith:WebCore::]):
24088         (-[DOMCSSRule _initWithCSSRule:WebCore::]):
24089         (+[DOMCSSRule _CSSRuleWith:WebCore::]):
24090         (-[DOMCSSValue _initWithCSSValue:WebCore::]):
24091         (+[DOMCSSValue _CSSValueWith:WebCore::]):
24092         * bindings/objc/DOMEvents.mm:
24093         (-[DOMEvent _initWithEvent:WebCore::]):
24094         (+[DOMEvent _eventWith:WebCore::]):
24095         * bindings/objc/DOMExtensions.h:
24096         * bindings/objc/DOMHTML.mm:
24097         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
24098         * bindings/objc/DOMInternal.h:
24099         (-[DOMNodeFilter WebCore::]):
24100         * bindings/objc/DOMInternal.mm:
24101         (-[WebScriptObject _init]):
24102         (-[WebScriptObject _initializeScriptDOMNodeImp]):
24103         (WebCore::displayString):
24104         * bindings/objc/DOMObject.mm:
24105         (-[DOMObject dealloc]):
24106         (-[DOMObject finalize]):
24107         * bindings/objc/DOMRGBColor.mm:
24108         (-[DOMRGBColor dealloc]):
24109         (-[DOMRGBColor finalize]):
24110         (-[DOMRGBColor color]):
24111         (-[DOMRGBColor _initWithRGB:WebCore::]):
24112         (+[DOMRGBColor _RGBColorWithRGB:WebCore::]):
24113         * bindings/objc/DOMSVG.h:
24114         * bindings/objc/DOMSVGPathSegInternal.h: Added.
24115         * bindings/objc/DOMSVGPathSegInternal.mm: Added.
24116         (-[DOMSVGPathSeg WebCore::]):
24117         (-[DOMSVGPathSeg _initWithSVGPathSeg:WebCore::]):
24118         (+[DOMSVGPathSeg _SVGPathSegWith:WebCore::]):
24119         * bindings/objc/DOMXPath.mm:
24120         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
24121         (+[DOMNativeXPathNSResolver _xpathNSResolverWith:WebCore::]):
24122         * bindings/objc/PublicDOMInterfaces.h:
24123         * bindings/scripts/CodeGeneratorObjC.pm:
24124         * dom/NodeIterator.idl:
24125         * dom/TreeWalker.idl:
24126         * html/HTMLInputElement.idl:
24127         * html/HTMLObjectElement.idl:
24128         * ksvg2/svg/SVGDocument.idl:
24129         * ksvg2/svg/SVGElement.idl:
24130         * ksvg2/svg/SVGPathSeg.idl:
24131         * ksvg2/svg/SVGPathSegArcAbs.idl:
24132         * ksvg2/svg/SVGPathSegArcRel.idl:
24133         * ksvg2/svg/SVGPathSegClosePath.idl:
24134         * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl:
24135         * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl:
24136         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
24137         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl:
24138         * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl:
24139         * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl:
24140         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
24141         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
24142         * ksvg2/svg/SVGPathSegLinetoAbs.idl:
24143         * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl:
24144         * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl:
24145         * ksvg2/svg/SVGPathSegLinetoRel.idl:
24146         * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl:
24147         * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl:
24148         * ksvg2/svg/SVGPathSegMovetoAbs.idl:
24149         * ksvg2/svg/SVGPathSegMovetoRel.idl:
24151 2006-10-09  Peter Kasting  <pkasting@google.com>
24153         Unreviewed build fix.
24155         Fix windows build bustage.
24157         * platform/win/TemporaryLinkStubs.cpp:
24159 2006-10-09  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
24161         Reviewed by Geoff.
24163         Fix memory leaks discovered via valgrind. Gdk build fixes.
24165         * Projects/gdk/webcore-gdk.bkl:
24166         * make-generated-sources.sh:
24167         * platform/cairo/ImageCairo.cpp:
24168         (WebCore::Image::draw):
24169         * platform/gdk/FrameGdk.cpp:
24170         (WebCore::FrameGdk::handleGdkEvent):
24171         * platform/gdk/FrameGdk.h:
24172         * platform/gdk/PlatformScrollBar.h:
24173         (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
24174         (WebCore::PlatformScrollbar::verticalScrollbarWidth):
24176 2006-10-09  Nikolas Zimmermann  <zimmermann@kde.org>
24178         Reviewed by Beth.
24180         Fix LayoutTests/fast/css/case-transform.html with Qt - the last crashing layout test.
24182         * platform/qt/GlyphMapQt.cpp: Handle UTF-16 characters properly
24183         (WebCore::GlyphMap::fillPage):
24185 2006-10-09  Nikolas Zimmermann  <zimmermann@kde.org>
24187         Unreviewed build fix.
24189         Fix for Qt/Linux build, based on fixes to the Win32 build in r16928 and r16929.
24191         * platform/qt/FrameQt.cpp:
24192         (WebCore::FrameQt::createJavaAppletWidget):
24193         * platform/qt/FrameQt.h:
24194         * platform/qt/TemporaryLinkStubs.cpp:
24196 2006-10-09  Brady Eidson  <beidson@apple.com>
24198         Reviewed by Maciej
24200         Tiny changes to help reorganize WebFrameLoader code in WebKit
24202         * bridge/mac/WebCoreIconDatabaseBridge.h: Added "createInstance"
24203         * bridge/mac/WebCoreIconDatabaseBridge.mm:
24204         (+[WebCoreIconDatabaseBridge sharedInstance]): Added, uses createInstance from WebKit side
24206 2006-10-09  Adam Roben  <aroben@apple.com>
24208         Reviewed by Adele.
24210         Remove redundant call to Frame::cancelAndClear from ~Frame, since it's
24211         already called frome ~FrameMac.
24213         * page/Frame.cpp:
24214         (WebCore::Frame::~Frame):
24216 2006-10-09  Anders Carlsson  <acarlsson@apple.com>
24218         * bridge/win/FrameWin.h:
24219         Add function declaration.
24220         
24221 2006-10-09  Anders Carlsson  <acarlsson@apple.com>
24223         * platform/win/TemporaryLinkStubs.cpp:
24224         (FrameWin::createJavaAppletWidget):
24225         Try fixing the Win32 build.
24227 2006-10-09  Anders Carlsson  <acarlsson@apple.com>
24229         Reviewed by Adam.
24231         Move applet widget creation to Frame and get rid of JavaAppletWidget.
24232         * WebCore.xcodeproj/project.pbxproj:
24233         * bridge/JavaAppletWidget.h: Removed.
24234         * bridge/mac/FrameMac.h:
24235         * bridge/mac/FrameMac.mm:
24236         (WebCore::FrameMac::createJavaAppletWidget):
24237         * bridge/mac/JavaAppletWidget.mm: Removed.
24238         * page/Frame.h:
24239         * rendering/RenderApplet.cpp:
24240         (WebCore::RenderApplet::createWidgetIfNecessary):
24242 2006-10-09  Mitz Pettel  <mitz@webkit.org>
24244         Reviewed by Darin.
24246         - http://bugs.webkit.org/show_bug.cgi?id=11220
24247           Fix manual test for http://bugs.webkit.org/show_bug.cgi?id=8276
24249         Subversion does not support resource forks and HFS metadata, so
24250         the resources for this test need to be on a disk image.
24252         * manual-tests/plain-text-paste.html: Changed instructions to refer to the disk image.
24253         * manual-tests/resources/plain-text-paste.dmg: Added.
24254         * manual-tests/resources/plain-text-paste/._1.textClipping: Removed.
24255         * manual-tests/resources/plain-text-paste/._2.textClipping: Removed.
24256         * manual-tests/resources/plain-text-paste/._4.txt: Removed.
24257         * manual-tests/resources/plain-text-paste/._5.webloc: Removed.
24258         * manual-tests/resources/plain-text-paste/1.textClipping: Removed.
24259         * manual-tests/resources/plain-text-paste/2.textClipping: Removed.
24260         * manual-tests/resources/plain-text-paste/3.gif: Removed.
24261         * manual-tests/resources/plain-text-paste/4.txt: Removed.
24262         * manual-tests/resources/plain-text-paste/5.webloc: Removed.
24264 2006-10-09  Rob Buis  <buis@kde.org>
24266         Reviewed by Darin.
24268         http://bugs.webkit.org/show_bug.cgi?id=11217
24269         Cleanup svg coding style
24271         Cleanup coding style in filter classes.
24273         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
24274         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
24275         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
24276         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
24277         * ksvg2/svg/SVGFEBlendElement.cpp:
24278         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
24279         (WebCore::SVGFEBlendElement::parseMappedAttribute):
24280         (WebCore::SVGFEBlendElement::filterEffect):
24281         * ksvg2/svg/SVGFEBlendElement.h:
24282         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
24283         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
24284         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
24285         (WebCore::SVGFEColorMatrixElement::filterEffect):
24286         * ksvg2/svg/SVGFEColorMatrixElement.h:
24287         * ksvg2/svg/SVGFECompositeElement.cpp:
24288         (WebCore::SVGFECompositeElement::parseMappedAttribute):
24289         * ksvg2/svg/SVGFECompositeElement.h:
24290         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
24291         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
24292         * ksvg2/svg/SVGFEDisplacementMapElement.h:
24293         * ksvg2/svg/SVGFEFloodElement.cpp:
24294         (WebCore::SVGFEFloodElement::filterEffect):
24295         * ksvg2/svg/SVGFEFuncAElement.cpp:
24296         (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
24297         * ksvg2/svg/SVGFEFuncBElement.cpp:
24298         (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
24299         * ksvg2/svg/SVGFEFuncGElement.cpp:
24300         (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
24301         * ksvg2/svg/SVGFEFuncRElement.cpp:
24302         (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
24303         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
24304         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
24305         (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
24306         (WebCore::SVGFEGaussianBlurElement::filterEffect):
24307         * ksvg2/svg/SVGFEGaussianBlurElement.h:
24308         * ksvg2/svg/SVGFELightElement.cpp:
24309         (WebCore::SVGFELightElement::SVGFELightElement):
24310         (WebCore::SVGFELightElement::parseMappedAttribute):
24311         * ksvg2/svg/SVGFELightElement.h:
24312         * ksvg2/svg/SVGFEMergeElement.cpp:
24313         (WebCore::SVGFEMergeElement::SVGFEMergeElement):
24315 2006-10-09  Rob Buis  <buis@kde.org>
24317         Reviewed by olliej.
24319         http://bugs.webkit.org/show_bug.cgi?id=11217
24320         Cleanup svg coding style
24322         Cleanup coding style in SVGPath* classes.
24324         * ksvg2/svg/SVGPathElement.cpp:
24325         (WebCore::SVGPathElement::SVGPathElement):
24326         (WebCore::SVGPathElement::getPointAtLength):
24327         (WebCore::SVGPathElement::createSVGPathSegClosePath):
24328         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
24329         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
24330         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
24331         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
24332         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
24333         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
24334         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
24335         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
24336         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
24337         (WebCore::SVGPathElement::createSVGPathSegArcRel):
24338         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
24339         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
24340         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
24341         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
24342         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
24343         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
24344         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
24345         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
24346         (WebCore::SVGPathElement::svgMoveTo):
24347         (WebCore::SVGPathElement::svgLineTo):
24348         (WebCore::SVGPathElement::svgLineToHorizontal):
24349         (WebCore::SVGPathElement::svgLineToVertical):
24350         (WebCore::SVGPathElement::svgCurveToCubic):
24351         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
24352         (WebCore::SVGPathElement::svgCurveToQuadratic):
24353         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
24354         (WebCore::SVGPathElement::svgArcTo):
24355         (WebCore::SVGPathElement::parseMappedAttribute):
24356         (WebCore::SVGPathElement::pathSegList):
24357         (WebCore::SVGPathElement::normalizedPathSegList):
24358         (WebCore::SVGPathElement::animatedPathSegList):
24359         (WebCore::SVGPathElement::animatedNormalizedPathSegList):
24360         (WebCore::SVGPathElement::toPathData):
24361         * ksvg2/svg/SVGPathElement.h:
24362         (WebCore::SVGPathElement::rendererIsNeeded):
24363         * ksvg2/svg/SVGPathSeg.h:
24364         * ksvg2/svg/SVGPathSegArc.cpp:
24366 2006-10-09  Rob Buis  <buis@kde.org>
24368         Reviewed by aroben.
24370         http://bugs.webkit.org/show_bug.cgi?id=11217
24371         Cleanup svg coding style
24373         Cleanup coding style in svg shape classes.
24375         * ksvg2/svg/SVGCircleElement.cpp:
24376         (WebCore::SVGCircleElement::SVGCircleElement):
24377         (WebCore::SVGCircleElement::parseMappedAttribute):
24378         (WebCore::SVGCircleElement::pushAttributeContext):
24379         * ksvg2/svg/SVGCircleElement.h:
24380         (WebCore::SVGCircleElement::rendererIsNeeded):
24381         * ksvg2/svg/SVGEllipseElement.cpp:
24382         * ksvg2/svg/SVGEllipseElement.h:
24383         (WebCore::SVGEllipseElement::rendererIsNeeded):
24384         * ksvg2/svg/SVGLineElement.cpp:
24385         (WebCore::SVGLineElement::parseMappedAttribute):
24386         (WebCore::SVGLineElement::pushAttributeContext):
24387         * ksvg2/svg/SVGLineElement.h:
24388         (WebCore::SVGLineElement::rendererIsNeeded):
24389         * ksvg2/svg/SVGPolyElement.cpp:
24390         (WebCore::SVGPolyElement::SVGPolyElement):
24391         (WebCore::SVGPolyElement::points):
24392         (WebCore::SVGPolyElement::animatedPoints):
24393         (WebCore::SVGPolyElement::parseMappedAttribute):
24394         (WebCore::SVGPolyElement::notifyAttributeChange):
24395         * ksvg2/svg/SVGPolyElement.h:
24396         (WebCore::SVGPolyElement::rendererIsNeeded):
24397         * ksvg2/svg/SVGPolygonElement.cpp:
24398         (WebCore::SVGPolygonElement::SVGPolygonElement):
24399         (WebCore::SVGPolygonElement::toPathData):
24400         * ksvg2/svg/SVGPolygonElement.h:
24401         * ksvg2/svg/SVGPolylineElement.cpp:
24402         (WebCore::SVGPolylineElement::SVGPolylineElement):
24403         (WebCore::SVGPolylineElement::toPathData):
24404         * ksvg2/svg/SVGPolylineElement.h:
24405         * ksvg2/svg/SVGRectElement.cpp:
24406         (WebCore::SVGRectElement::parseMappedAttribute):
24407         (WebCore::SVGRectElement::pushAttributeContext):
24408         * ksvg2/svg/SVGRectElement.h:
24409         (WebCore::SVGRectElement::rendererIsNeeded):
24411 2006-10-08  Darin Adler  <darin@apple.com>
24413         Reviewed by Maciej.
24415         - added a bit more WebCoreSystemInterface
24417             wkGetNSURLResponseCalculatedExpiration
24418             wkGetNSURLResponseLastModifiedDate
24419             wkGetNSURLResponseMustRevalidate
24421         * WebCore.exp: Added the new symbols.
24422         * platform/mac/WebCoreSystemInterface.h: Ditto.
24423         * platform/mac/WebCoreSystemInterface.mm: Ditto.
24425         - quiet down the code generation script
24427         * bindings/scripts/CodeGenerator.pm:
24429 2006-10-08  Maciej Stachowiak  <mjs@apple.com>
24431         Reviewed by Darin.
24433         - more code laundering - add wkSupportsMultipartXMixedReplace
24435         * WebCore.exp:
24436         * platform/mac/WebCoreSystemInterface.h:
24437         * platform/mac/WebCoreSystemInterface.mm:
24439 2006-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
24441         Reviewed by Darin and Oliver.
24443         Fix artefacts when drawing polygons, most noticeable when painting <hr> elements.
24445         * platform/qt/GraphicsContextQt.cpp: Fix wrong operator<< usage.
24446         (WebCore::GraphicsContext::drawConvexPolygon):
24448 2006-10-08  Anders Carlsson  <acarlsson@apple.com>
24450         Reviewed by Darin.
24452         * page/Frame.cpp:
24453         (WebCore::Frame::submitForm):
24454         No need to use latin1() here.
24456 2006-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
24458         Reviewed by Darin.
24460         Kill warnings when generating IDL files on Qt/Linux, as the
24461         SOURCE_ROOT environment variable is not defined (and not needed) for us.
24463         * bindings/scripts/CodeGenerator.pm:
24465 2006-10-08  Maciej Stachowiak  <mjs@apple.com>
24467         Reviewed by Darin.
24469         - split didNotOpenURL: into general and page-cache-specific parts
24471         * bridge/mac/WebCoreFrameBridge.h:
24472         * bridge/mac/WebCoreFrameBridge.mm:
24473         (-[WebCoreFrameBridge didNotOpenURL:]):
24474         (-[WebCoreFrameBridge invalidatePageCache:]):
24476 2006-10-08  Anders Carlsson  <acarlsson@apple.com>
24478         Reviewed by Darin.
24480         * loader/loader.cpp:
24481         Remove DeprecatedStringList.h include.
24482         
24483         * page/Frame.cpp:
24484         (WebCore::Frame::submitForm):
24485         Don't remove "attach" from mailto URLs, we don't do it anywhere else.
24487 2006-10-08  Sam Weinig  <sam.weinig@gmail.com>
24489         Reviewed by Darin.
24491         Patch for http://bugs.webkit.org/show_bug.cgi?id=11215
24492         Yet another round of Objective-C SVG DOM bindings auto-generation
24494         - Auto-generate DOMSVGPatternElement, DOMSVGPointList, DOMSVGPolygonElement, 
24495           DOMSVGPolylineElement, DOMSVGRadialGradientElement, DOMSVGRenderingIntent,
24496           DOMSVGScriptElement, DOMSVGSetElement, DOMSVGStopElement, DOMSVGSwitchElement, 
24497           DOMSVGSymbolElement, DOMSVGTRefElement, DOMSVGTSpanElement, 
24498           DOMSVGTextContentElement, DOMSVGTextElement, DOMSVGTextPositioningElement, 
24499           DOMSVGTitleElement, DOMSVGUnitTypes, DOMSVGUseElement, DOMSVGViewElement, 
24500           DOMSVGZoomAndPan and DOMSVGZoomEvent.
24502         - Auto-generate the implementations of DOMHTMLAppletElement and DOMHTMLEmbedElement
24503           using the new [ConvertFromString] property.
24505         - Add forward declarations for NS* types to auto-generated classes.
24507         * DerivedSources.make:
24508         * WebCore.xcodeproj/project.pbxproj:
24509         * bindings/objc/DOMHTMLAppletElement.mm: Removed.
24510         * bindings/objc/DOMHTMLEmbedElement.mm: Removed.
24511         * bindings/objc/DOMInternal.h:
24512         * bindings/objc/DOMSVG.h:
24513         * bindings/scripts/CodeGeneratorObjC.pm:
24514         * html/HTMLAppletElement.idl:
24515         * html/HTMLEmbedElement.idl:
24516         * ksvg2/svg/SVGPatternElement.idl:
24517         * ksvg2/svg/SVGPolygonElement.idl:
24518         * ksvg2/svg/SVGPolylineElement.idl:
24519         * ksvg2/svg/SVGRadialGradientElement.idl:
24520         * ksvg2/svg/SVGRenderingIntent.idl:
24521         * ksvg2/svg/SVGScriptElement.idl:
24522         * ksvg2/svg/SVGSetElement.idl:
24523         * ksvg2/svg/SVGStopElement.idl:
24524         * ksvg2/svg/SVGSwitchElement.idl:
24525         * ksvg2/svg/SVGSymbolElement.idl:
24526         * ksvg2/svg/SVGTRefElement.idl:
24527         * ksvg2/svg/SVGTSpanElement.idl:
24528         * ksvg2/svg/SVGTextContentElement.idl:
24529         * ksvg2/svg/SVGTextElement.idl:
24530         * ksvg2/svg/SVGTextPositioningElement.idl:
24531         * ksvg2/svg/SVGTitleElement.idl:
24532         * ksvg2/svg/SVGUseElement.idl:
24533         * ksvg2/svg/SVGViewElement.idl:
24534         * ksvg2/svg/SVGZoomEvent.idl:
24536 2006-10-07  Anders Carlsson  <acarlsson@apple.com>
24538         Reviewed by Maciej.
24540         Remove crossDomain, it was unused and is one of the last functions that use DeprecatedStringList.        
24541         * loader/loader.cpp:
24542         (WebCore::Loader::servePendingRequests):
24543         
24544 2006-10-07  Anders Carlsson  <acarlsson@apple.com>
24546         Reviewed by Darin.
24548         Convert a bunch of RefPtr<StringImpl> to String.
24549         
24550         * bridge/mac/FrameMac.h:
24551         * bridge/mac/FrameMac.mm:
24552         (WebCore::FrameMac::didTellBridgeAboutLoad):
24553         (WebCore::FrameMac::haveToldBridgeAboutLoad):
24554         * dom/BeforeUnloadEvent.cpp:
24555         (WebCore::BeforeUnloadEvent::storeResult):
24556         * dom/BeforeUnloadEvent.h:
24557         (WebCore::BeforeUnloadEvent::result):
24558         * dom/Document.cpp:
24559         (WebCore::Document::createEntityReference):
24560         * dom/Entity.cpp:
24561         (WebCore::Entity::Entity):
24562         (WebCore::Entity::nodeName):
24563         (WebCore::Entity::toString):
24564         * dom/Entity.h:
24565         (WebCore::Entity::publicId):
24566         (WebCore::Entity::systemId):
24567         (WebCore::Entity::notationName):
24568         * dom/EntityReference.cpp:
24569         (WebCore::EntityReference::EntityReference):
24570         (WebCore::EntityReference::nodeName):
24571         (WebCore::EntityReference::cloneNode):
24572         (WebCore::EntityReference::toString):
24573         * dom/EntityReference.h:
24574         * dom/KeyboardEvent.cpp:
24575         (WebCore::KeyboardEvent::KeyboardEvent):
24576         (WebCore::KeyboardEvent::initKeyboardEvent):
24577         * dom/KeyboardEvent.h:
24578         (WebCore::KeyboardEvent::keyIdentifier):
24579         * dom/MutationEvent.cpp:
24580         (WebCore::MutationEvent::MutationEvent):
24581         (WebCore::MutationEvent::initMutationEvent):
24582         * dom/MutationEvent.h:
24583         (WebCore::MutationEvent::prevValue):
24584         (WebCore::MutationEvent::newValue):
24585         (WebCore::MutationEvent::attrName):
24586         * dom/Notation.cpp:
24587         (WebCore::Notation::Notation):
24588         (WebCore::Notation::nodeName):
24589         * dom/Notation.h:
24590         (WebCore::Notation::publicId):
24591         (WebCore::Notation::systemId):
24592         * dom/ProcessingInstruction.cpp:
24593         (WebCore::ProcessingInstruction::ProcessingInstruction):
24594         (WebCore::ProcessingInstruction::setData):
24595         (WebCore::ProcessingInstruction::nodeName):
24596         (WebCore::ProcessingInstruction::nodeValue):
24597         (WebCore::ProcessingInstruction::cloneNode):
24598         (WebCore::ProcessingInstruction::checkStyleSheet):
24599         (WebCore::ProcessingInstruction::toString):
24600         * dom/ProcessingInstruction.h:
24601         (WebCore::ProcessingInstruction::target):
24602         (WebCore::ProcessingInstruction::data):
24603         (WebCore::ProcessingInstruction::localHref):
24605 2006-10-07  Sam Weinig  <sam.weinig@gmail.com>
24607         Reviewed by Tim H.
24609         Patch for http://bugs.webkit.org/show_bug.cgi?id=11206
24610         10 more SVG Objective-C auto-generated bindings
24612         - Auto-generate DOMSVGFilterElement, DOMSVGFitToViewBox, 
24613           DOMSVGForeignObjectElement, DOMSVGGElement, DOMSVGGradientElement,
24614           DOMSVGImageElement, DOMSVGLineElement, DOMSVGLinearGradientElement, 
24615           DOMSVGMarkerElement, DOMSVGMaskElement and DOMSVGPaint.
24617         - Auto-generate the text method for DOMRange.
24619         * DerivedSources.make:
24620         * WebCore.xcodeproj/project.pbxproj:
24621         * bindings/objc/DOM.mm:
24622         * bindings/objc/DOMExtensions.h:
24623         * bindings/objc/DOMInternal.h:
24624         * bindings/objc/DOMPrivate.h:
24625         * bindings/objc/DOMRGBColor.mm:
24626         * bindings/objc/DOMSVG.h:
24627         * bindings/objc/PublicDOMInterfaces.h:
24628         * bindings/scripts/CodeGeneratorObjC.pm:
24629         * dom/Range.idl:
24630         * ksvg2/svg/SVGFilterElement.cpp:
24631         * ksvg2/svg/SVGFilterElement.h:
24632         * ksvg2/svg/SVGFilterElement.idl:
24633         * ksvg2/svg/SVGForeignObjectElement.idl:
24634         * ksvg2/svg/SVGGElement.idl:
24635         * ksvg2/svg/SVGGradientElement.idl:
24636         * ksvg2/svg/SVGImageElement.idl:
24637         * ksvg2/svg/SVGLineElement.idl:
24638         * ksvg2/svg/SVGLinearGradientElement.idl:
24639         * ksvg2/svg/SVGMarkerElement.idl:
24640         * ksvg2/svg/SVGMaskElement.idl:
24641         * ksvg2/svg/SVGPaint.idl:
24643 2006-10-07  Sam Weinig  <sam.weinig@gmail.com>
24645         Reviewed by Tim H.
24647         Patch for http://bugs.webkit.org/show_bug.cgi?id=11198
24648         Auto-generate a few more Objective-C DOM interfaces
24650         - Fully auto-generate DOMAbstractView and DOMRange.
24652         - Auto-generate just the interface for DOMRGBColor.
24654         - Add DOMRanges.h as the new top level file for Ranges
24655           module.
24657         - Add DOMRanges.h and DOMXPath.h to DOM.mm
24659         * DerivedSources.make:
24660         * WebCore.xcodeproj/project.pbxproj:
24661         * bindings/objc/DOM.h:
24662         * bindings/objc/DOM.mm:
24663         * bindings/objc/DOMAbstractView.h: Removed.
24664         * bindings/objc/DOMAbstractView.mm: Removed.
24665         * bindings/objc/DOMInternal.h:
24666         * bindings/objc/DOMPrivate.h:
24667         * bindings/objc/DOMRGBColor.h: Removed.
24668         * bindings/objc/DOMRGBColor.mm:
24669         * bindings/objc/DOMRange.h: Removed.
24670         * bindings/objc/DOMRanges.h: Added.
24671         * bindings/objc/PublicDOMInterfaces.h:
24672         * bindings/scripts/CodeGeneratorObjC.pm:
24673         * css/RGBColor.idl:
24674         * dom/Range.idl:
24675         * page/AbstractView.idl: Added.
24677 2006-10-07  Andrew Wellington  <proton@wiretapped.net>
24679         Reviewed by Eric.
24681         Bug 10837: REGRESSION: Yahoo New Charts Crashes WebKit
24682         http://bugs.webkit.org/show_bug.cgi?id=10837
24684         Return null when there is no frame. This matches Firefox.
24686         * bindings/js/kjs_html.cpp:
24687         (KJS::JSHTMLDocument::getValueProperty):
24689 2006-10-07  David Hyatt  <hyatt@apple.com>
24691         Implement scroll corner painting (a white rect fill) for overflow areas to cover up
24692         scrollbar joins properly.
24694         Refactor painting of scrollbars and resizers into common functions.  Eliminate the
24695         extra 20 bytes per RenderLayer by cutting out m_resizerImage and m_resizerControlRect.
24697         Reviewed by mitz
24699         * page/FrameView.cpp:
24700         (WebCore::selectCursor):
24701         (WebCore::FrameView::handleMouseMoveEvent):
24702         * platform/mac/PlatformScrollBar.h:
24703         (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
24704         (WebCore::PlatformScrollbar::verticalScrollbarWidth):
24705         * rendering/RenderLayer.cpp:
24706         (WebCore::RenderLayer::RenderLayer):
24707         (WebCore::RenderLayer::~RenderLayer):
24708         (WebCore::RenderLayer::updateLayerPositions):
24709         (WebCore::scrollCornerRect):
24710         (WebCore::RenderLayer::positionOverflowControls):
24711         (WebCore::RenderLayer::paintOverflowControls):
24712         (WebCore::RenderLayer::isPointInResizeControl):
24713         (WebCore::RenderLayer::paintLayer):
24714         * rendering/RenderLayer.h:
24716 2006-10-07  Mark Rowe  <bdash@webkit.org>
24718         Reviewed by Mitz.
24720         Linux/Gdk build fixes, primarily consisting of s/ScrollBar/Scrollbar/ and
24721         matching recent ResourceLoader changes.
24723         * platform/gdk/FrameGdk.cpp:
24724         (WebCore::FrameGdk::openURL):
24725         (WebCore::FrameGdk::urlSelected):
24726         * platform/gdk/PlatformScrollBar.h:
24727         * platform/gdk/ResourceLoaderCurl.cpp:
24728         (WebCore::ResourceLoader::start):
24729         * platform/gdk/ScrollViewGdk.cpp:
24730         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
24731         (WebCore::ScrollView::resizeContents):
24732         (WebCore::ScrollView::scrollBy):
24733         (WebCore::ScrollView::hScrollbarMode):
24734         (WebCore::ScrollView::vScrollbarMode):
24735         (WebCore::ScrollView::suppressScrollbars):
24736         (WebCore::ScrollView::setHScrollbarMode):
24737         (WebCore::ScrollView::setVScrollbarMode):
24738         (WebCore::ScrollView::setScrollbarsMode):
24739         * platform/gdk/TemporaryLinkStubs.cpp:
24740         (FrameView::passMousePressEventToScrollbar):
24741         (Widget::removeFromParent):
24742         (ScrollView::addChild):
24743         (ScrollView::updateScrollbars):
24744         (ScrollView::scrollbarUnderMouse):
24745         (PlatformScrollbar::PlatformScrollbar):
24746         (PlatformScrollbar::~PlatformScrollbar):
24747         (PlatformScrollbar::width):
24748         (PlatformScrollbar::height):
24749         (PlatformScrollbar::setEnabled):
24750         (PlatformScrollbar::paint):
24751         (PlatformScrollbar::updateThumbPosition):
24752         (PlatformScrollbar::updateThumbProportion):
24753         (PlatformScrollbar::setRect):
24754         (Scrollbar::Scrollbar):
24755         (Scrollbar::setSteps):
24756         (Scrollbar::scroll):
24757         (Scrollbar::setValue):
24758         (Scrollbar::setProportion):
24760 2006-10-06  Dave Hyatt  <hyatt@apple.com>
24762         Implement a new method for obtaining accurate clip rectangles that can be used by plugins to properly clip.
24764         * page/FrameView.cpp:
24765         (WebCore::FrameView::windowClipRect):
24766         * page/FrameView.h:
24767         * platform/ScrollView.h:
24768         * platform/Widget.cpp:
24769         (WebCore::Widget::windowClipRect):
24770         * platform/Widget.h:
24771         (WebCore::Widget::geometryChanged):
24772         (WebCore::Widget::handleMouseMoveEvent):
24773         (WebCore::Widget::handleMouseReleaseEvent):
24774         * platform/mac/ScrollViewMac.mm:
24775         (WebCore::ScrollView::addChild):
24776         * rendering/RenderLayer.cpp:
24777         (WebCore::RenderLayer::documentClipRect):
24778         * rendering/RenderLayer.h:
24780 2006-10-06  Steve Falkenburg  <sfalken@apple.com>
24782         Reviewed by Adam.
24784         Add another method we'll need for scrollbar dodging
24786         * platform/ScrollView.h:
24787         * platform/win/TemporaryLinkStubs.cpp:
24788         (ScrollView::resizerOverlapsContent):
24790 2006-10-06  Sam Weinig  <sam.weinig@gmail.com>
24792         Reviewed by Tim H.
24794         Patch for http://bugs.webkit.org/show_bug.cgi?id=11191
24795         Auto-generate the interfaces even for Objective-C DOM 
24796         bindings that need custom implementations
24798         - Fully auto-generate DOMEventTarget, DOMNodeFilter and 
24799           DOMHTMLOptionElement.
24801         - Auto-generate just the interface for DOMHTMLAppletElement,
24802           DOMHTMLEmbedElement, DOMSVGNumber, DOMSVGPoint and DOMSVGRect
24803           using the new IDL property ObjCCustomImplementation.
24805         * DerivedSources.make:
24806         * WebCore.xcodeproj/project.pbxproj:
24807         * bindings/objc/DOMEventTarget.h: Removed.
24808         * bindings/objc/DOMHTMLAppletElement.h: Removed.
24809         * bindings/objc/DOMHTMLEmbedElement.h: Removed.
24810         * bindings/objc/DOMHTMLOptionElement.h: Removed.
24811         * bindings/objc/DOMHTMLOptionElement.mm: Removed.
24812         * bindings/objc/DOMInternal.h:
24813         * bindings/objc/DOMNodeFilter.h: Removed.
24814         * bindings/objc/DOMSVGNumber.h: Removed.
24815         * bindings/objc/DOMSVGPoint.h: Removed.
24816         * bindings/objc/DOMSVGPoint.mm:
24817         (-[DOMSVGPoint matrixTransform:]):
24818         * bindings/objc/DOMSVGRect.h: Removed.
24819         * bindings/objc/PublicDOMInterfaces.h:
24820         * bindings/scripts/CodeGeneratorObjC.pm:
24821         * dom/EventTarget.idl:
24822         * html/HTMLAppletElement.idl:
24823         * html/HTMLEmbedElement.idl:
24824         * html/HTMLOptionElement.idl:
24825         * ksvg2/svg/SVGNumber.idl:
24826         * ksvg2/svg/SVGPoint.idl:
24827         * ksvg2/svg/SVGRect.idl:
24829 2006-10-06  Nikolas Zimmermann  <zimmermann@kde.org>
24831         Reviewed by Tim H.
24833         Make Qt/Linux compile again completly.
24835         * platform/qt/WidgetQt.cpp:
24836         (WebCore::Widget::removeFromParent):
24838 2006-10-06  Nikolas Zimmermann  <zimmermann@kde.org>
24840         Reviewed by Tim H.
24842         Fix Qt/Linux build by adapting the s/ScrollBar/Scrollbar/ patch.
24844         * platform/qt/PlatformScrollBar.h:
24845         * platform/qt/ScrollViewQt.cpp:
24846         (WebCore::ScrollView::hScrollbarMode):
24847         (WebCore::ScrollView::vScrollbarMode):
24848         (WebCore::ScrollView::suppressScrollbars):
24849         (WebCore::ScrollView::setHScrollbarMode):
24850         (WebCore::ScrollView::setVScrollbarMode):
24851         (WebCore::ScrollView::setScrollbarsMode):
24852         (WebCore::ScrollView::scrollbarUnderMouse):
24853         * platform/qt/TemporaryLinkStubs.cpp:
24854         (WebCore::Scrollbar::Scrollbar):
24855         (WebCore::Scrollbar::setSteps):
24856         (WebCore::Scrollbar::scroll):
24857         (WebCore::Scrollbar::setValue):
24858         (WebCore::Scrollbar::setProportion):
24859         (WebCore::PlatformScrollbar::PlatformScrollbar):
24860         (WebCore::PlatformScrollbar::~PlatformScrollbar):
24861         (WebCore::PlatformScrollbar::width):
24862         (WebCore::PlatformScrollbar::height):
24863         (WebCore::PlatformScrollbar::setEnabled):
24864         (WebCore::PlatformScrollbar::paint):
24865         (WebCore::PlatformScrollbar::updateThumbPosition):
24866         (WebCore::PlatformScrollbar::updateThumbProportion):
24867         (WebCore::PlatformScrollbar::setRect):
24868         (FrameView::passMousePressEventToScrollbar):
24870 2006-10-06  Sam Weinig  <sam.weinig@gmail.com>
24872         Reviewed by Tim H.
24874         Patch for http://bugs.webkit.org/show_bug.cgi?id=11177
24875         Another round of Objective-C SVG DOM bindings auto-generation
24877         - Auto-generate DOMSVGAnimatedNumberList, DOMSVGAnimatedRect, 
24878           DOMSVGComponentTransferFunctionElement, DOMSVGFEBlendElement, 
24879           DOMSVGFEColorMatrixElement, DOMSVGFEComponentTransferElement, 
24880           DOMSVGFECompositeElement, DOMSVGFEDiffuseLightingElement,
24881           DOMSVGFEDisplacementMapElement, DOMSVGFEDistantLightElement, 
24882           DOMSVGFEFloodElement, DOMSVGFEFuncAElement, DOMSVGFEFuncBElement, 
24883           DOMSVGFEFuncGElement, DOMSVGFEFuncRElement, DOMSVGFEGaussianBlurElement, 
24884           DOMSVGFEImageElement, DOMSVGFEMergeElement, DOMSVGFEMergeNodeElement, 
24885           DOMSVGFEOffsetElement, DOMSVGFEPointLightElement, 
24886           DOMSVGFESpecularLightingElement, DOMSVGFESpotLightElement, 
24887           DOMSVGFETileElement, DOMSVGFETurbulenceElement, 
24888           DOMSVGFilterPrimitiveStandardAttributes and DOMSVGNumberList. 
24890         - Adds interfaces and implementation stubs for DOMSVGNumber, DOMSVGPoint
24891           and DOMSVGRect.
24893         - IDL clean up.
24895         - Make numOctaves in SVGFETurbulenceElement use a long instead of an int
24896           in it's macro declaration and definition.
24898         * DerivedSources.make:
24899         * WebCore.xcodeproj/project.pbxproj:
24900         * bindings/objc/DOMCSS.mm:
24901         (+[DOMCSSValue _CSSValueWith:WebCore::]):
24902         * bindings/objc/DOMInternal.h:
24903         * bindings/objc/DOMSVG.h:
24904         * bindings/objc/DOMSVGNumber.h: Added.
24905         * bindings/objc/DOMSVGNumber.mm: Added.
24906         (-[DOMSVGNumber dealloc]):
24907         (-[DOMSVGNumber finalize]):
24908         (-[DOMSVGNumber value]):
24909         (-[DOMSVGNumber setValue:]):
24910         (-[DOMSVGNumber _SVGNumber]):
24911         (-[DOMSVGNumber _initWithFloat:]):
24912         (+[DOMSVGNumber _SVGNumberWith:]):
24913         * bindings/objc/DOMSVGPoint.h: Added.
24914         * bindings/objc/DOMSVGPoint.mm: Added.
24915         (-[DOMSVGPoint dealloc]):
24916         (-[DOMSVGPoint finalize]):
24917         (-[DOMSVGPoint x]):
24918         (-[DOMSVGPoint setX:]):
24919         (-[DOMSVGPoint y]):
24920         (-[DOMSVGPoint setY:]):
24921         (-[DOMSVGPoint WebCore::]):
24922         (-[DOMSVGPoint _initWithFloatPoint:WebCore::]):
24923         (+[DOMSVGPoint _SVGPointWith:WebCore::]):
24924         * bindings/objc/DOMSVGRect.h: Added.
24925         * bindings/objc/DOMSVGRect.mm: Added.
24926         (-[DOMSVGRect dealloc]):
24927         (-[DOMSVGRect finalize]):
24928         (-[DOMSVGRect x]):
24929         (-[DOMSVGRect setX:]):
24930         (-[DOMSVGRect y]):
24931         (-[DOMSVGRect setY:]):
24932         (-[DOMSVGRect width]):
24933         (-[DOMSVGRect setWidth:]):
24934         (-[DOMSVGRect height]):
24935         (-[DOMSVGRect setHeight:]):
24936         (-[DOMSVGRect WebCore::]):
24937         (-[DOMSVGRect _initWithFloatRect:WebCore::]):
24938         (+[DOMSVGRect _SVGRectWith:WebCore::]):
24939         * bindings/scripts/CodeGeneratorObjC.pm:
24940         * ksvg2/svg/SVGAnimatedNumberList.idl:
24941         * ksvg2/svg/SVGAnimatedRect.idl:
24942         * ksvg2/svg/SVGComponentTransferFunctionElement.idl:
24943         * ksvg2/svg/SVGCursorElement.idl:
24944         * ksvg2/svg/SVGFEBlendElement.idl:
24945         * ksvg2/svg/SVGFEColorMatrixElement.idl:
24946         * ksvg2/svg/SVGFEComponentTransferElement.idl:
24947         * ksvg2/svg/SVGFECompositeElement.idl:
24948         * ksvg2/svg/SVGFEDiffuseLightingElement.idl:
24949         * ksvg2/svg/SVGFEDisplacementMapElement.idl:
24950         * ksvg2/svg/SVGFEDistantLightElement.idl:
24951         * ksvg2/svg/SVGFEFloodElement.idl:
24952         * ksvg2/svg/SVGFEFuncAElement.idl:
24953         * ksvg2/svg/SVGFEFuncBElement.idl:
24954         * ksvg2/svg/SVGFEFuncGElement.idl:
24955         * ksvg2/svg/SVGFEFuncRElement.idl:
24956         * ksvg2/svg/SVGFEGaussianBlurElement.idl:
24957         * ksvg2/svg/SVGFEImageElement.idl:
24958         * ksvg2/svg/SVGFEMergeElement.idl:
24959         * ksvg2/svg/SVGFEMergeNodeElement.idl:
24960         * ksvg2/svg/SVGFEOffsetElement.idl:
24961         * ksvg2/svg/SVGFEPointLightElement.idl:
24962         * ksvg2/svg/SVGFESpecularLightingElement.idl:
24963         * ksvg2/svg/SVGFESpotLightElement.idl:
24964         * ksvg2/svg/SVGFETileElement.idl:
24965         * ksvg2/svg/SVGFETurbulenceElement.cpp:
24966         * ksvg2/svg/SVGFETurbulenceElement.h:
24967         * ksvg2/svg/SVGFETurbulenceElement.idl:
24968         * ksvg2/svg/SVGNumberList.idl:
24970 2006-10-06  Adam Roben  <aroben@apple.com>
24972         Backing out my previous change.
24974         * WebCore.xcodeproj/project.pbxproj:
24975         * page/FrameView.cpp:
24976         (WebCore::FrameView::adjustViewSize):
24978 2006-10-06  Adam Roben  <aroben@apple.com>
24980         Build fix.
24982         * WebCore.xcodeproj/project.pbxproj:
24983         * page/FrameView.cpp:
24984         (WebCore::FrameView::windowResizerRect):
24986 2006-10-06  Adam Roben  <aroben@apple.com>
24988         Reviewed by Maciej.
24990         More loader tweaks.
24992         * platform/ResourceLoader.h:
24993         * platform/ResourceLoaderInternal.h:
24994         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
24995         * platform/win/TemporaryLinkStubs.cpp:
24996         (WebCore::ResourceLoader::newHTTPRequest):
24998 2006-10-05  Steve Falkenburg  <sfalken@apple.com>
25000         Reviewed by aroben.
25002         Stub out some methods that we'll be able to use to dodge a window resizer.
25004         * bridge/win/FrameWin.h:
25005         * page/Frame.h:
25006         (WebCore::Frame::windowResizerRect):
25007         * page/FrameView.h:
25008         * platform/ScrollView.h:
25009         (WebCore::ScrollView::windowResizerRect):
25010         * platform/Widget.h:
25011         * platform/win/TemporaryLinkStubs.cpp:
25012         (FrameView::windowResizerRect):
25013         (Widget::setParent):
25014         (Widget::parent):
25015         (FrameWin::windowResizerRect):
25017 2006-10-05  Dave Hyatt  <hyatt@apple.com>
25019         Stub out setFrameGeometry.
25020         
25021         * platform/ScrollView.h:
25023 2006-10-05  Adele Peterson  <adele@apple.com>
25025         Reverting autoscroll fix.  I need to rework this a little.
25027         * page/Frame.cpp:
25028         (WebCore::Frame::handleAutoscroll):
25029         (WebCore::Frame::autoscrollTimerFired):
25030         (WebCore::Frame::stopAutoscrollTimer):
25031         * page/Frame.h:
25032         * rendering/RenderLayer.cpp:
25033         (WebCore::RenderLayer::~RenderLayer):
25034         * rendering/RenderListBox.cpp:
25035         (WebCore::RenderListBox::~RenderListBox):
25037 2006-10-05  Alice  <alice.liu@apple.com>
25039         Reviewed by Adam.
25041         Fixed <rdar://problem/4731778>
25043         * editing/CommandByName.cpp:
25044         (WebCore::Frame::Command::):
25045         was calling the wrong enabledFn for arrow selection and navigation
25047 2006-10-05  Adele Peterson  <adele@apple.com>
25049         Reviewed by Maciej.
25051         - Fix for <rdar://problem/4707489> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active <input type="text">
25052           and <rdar://problem/4707519> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active textarea
25054         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::~RenderLayer): If the renderer is being autoscrolled, then stop the autoscroll timer.
25055         * rendering/RenderListBox.cpp: (WebCore::RenderListBox::~RenderListBox): ditto.
25057         * page/Frame.cpp: Added getter and setter for the renderer being autoscrolled.
25058         (WebCore::Frame::handleAutoscroll):
25059         (WebCore::Frame::autoscrollTimerFired):
25060         (WebCore::Frame::autoscrollRenderer):
25061         (WebCore::Frame::setAutoscrollRenderer):
25062         (WebCore::Frame::stopAutoscrollTimer):
25063         * page/Frame.h:
25065 2006-10-05  Peter Kasting  <pkasting@google.com>
25067         Reviewed by Eric.
25069         Fix win32 build bustage after ggaren's Scrollbar renaming changes.
25070         Properly include PlatformScrollBar.h in WbCore.vcproj.
25071         Clean up WidgetWin.cpp a bit.
25073         * WebCore.vcproj/WebCore/WebCore.vcproj:
25074         * platform/Widget.h:
25075         * platform/win/PlatformScrollBar.h:
25076         * platform/win/ScrollViewWin.cpp:
25077         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
25078         (WebCore::ScrollView::resizeContents):
25079         (WebCore::ScrollView::scrollBy):
25080         (WebCore::ScrollView::hScrollbarMode):
25081         (WebCore::ScrollView::vScrollbarMode):
25082         (WebCore::ScrollView::suppressScrollbars):
25083         (WebCore::ScrollView::setHScrollbarMode):
25084         (WebCore::ScrollView::setVScrollbarMode):
25085         (WebCore::ScrollView::setScrollbarsMode):
25086         (WebCore::ScrollView::updateScrollbars):
25087         * platform/win/TemporaryLinkStubs.cpp:
25088         (FrameView::passMousePressEventToScrollbar):
25089         (Widget::removeFromParent):
25090         (ScrollView::scrollbarUnderMouse):
25091         (PlatformScrollbar::PlatformScrollbar):
25092         (PlatformScrollbar::~PlatformScrollbar):
25093         (PlatformScrollbar::width):
25094         (PlatformScrollbar::height):
25095         (PlatformScrollbar::setEnabled):
25096         (PlatformScrollbar::paint):
25097         (PlatformScrollbar::updateThumbPosition):
25098         (PlatformScrollbar::updateThumbProportion):
25099         (PlatformScrollbar::setRect):
25100         (Scrollbar::Scrollbar):
25101         (Scrollbar::setSteps):
25102         (Scrollbar::scroll):
25103         (Scrollbar::setValue):
25104         (Scrollbar::setProportion):
25105         * platform/win/WidgetWin.cpp:
25106         (WebCore::WidgetPrivate::WidgetPrivate):
25107         (WebCore::Widget::Widget):
25108         (WebCore::Widget::setContainingWindow):
25109         (WebCore::Widget::containingWindow):
25111 2006-10-05  Geoffrey Garen  <ggaren@apple.com>
25113         build fix.
25114         
25115         * WebCore.xcodeproj/project.pbxproj:
25116         * bridge/mac/BrowserExtensionMac.mm:
25117         (WebCore::BrowserExtensionMac::createNewWindow):
25118         * bridge/mac/FrameMac.mm:
25119         (WebCore::FrameMac::createFrame):
25120         * bridge/mac/FrameViewMac.mm:
25121         (WebCore::FrameView::passMousePressEventToScrollbar):
25122         * bridge/mac/WebCoreFrameBridge.mm:
25123         (-[WebCoreFrameBridge installInFrame:]):
25124         * bridge/mac/WebCoreFrameView.h:
25125         * platform/ScrollBar.cpp:
25126         * platform/Widget.h:
25127         * platform/mac/PlatformScrollBar.h:
25128         * platform/mac/PlatformScrollBarMac.mm:
25129         (NSControlSizeForScrollBarControlSize):
25130         (-[WebCoreScrollBar initWithPlatformScrollbar:]):
25131         (-[WebCoreScrollBar detachPlatformScrollbar]):
25132         (-[WebCoreScrollBar scroll:]):
25133         (-[WebCoreScrollBar widget]):
25134         (WebCore::PlatformScrollbar::PlatformScrollbar):
25135         (WebCore::PlatformScrollbar::~PlatformScrollbar):
25136         (WebCore::PlatformScrollbar::updateThumbPosition):
25137         (WebCore::PlatformScrollbar::updateThumbProportion):
25138         (WebCore::PlatformScrollbar::scrollbarHit):
25139         (WebCore::PlatformScrollbar::width):
25140         (WebCore::PlatformScrollbar::height):
25141         (WebCore::PlatformScrollbar::setRect):
25142         (WebCore::PlatformScrollbar::setEnabled):
25143         (WebCore::PlatformScrollbar::paint):
25144         * platform/mac/ScrollViewMac.mm:
25145         (WebCore::ScrollView::setVScrollbarMode):
25146         (WebCore::ScrollView::setHScrollbarMode):
25147         (WebCore::ScrollView::setScrollbarsMode):
25148         (WebCore::ScrollView::vScrollbarMode):
25149         (WebCore::ScrollView::hScrollbarMode):
25150         (WebCore::ScrollView::suppressScrollbars):
25151         (WebCore::ScrollView::scrollbarUnderMouse):
25152         * platform/mac/WidgetMac.mm:
25153         (WebCore::Widget::removeFromParent):
25154         * rendering/RenderLayer.cpp:
25155         (WebCore::RenderLayer::destroyScrollbar):
25157 2006-10-05  Geoffrey Garen  <ggaren@apple.com>
25159         build fix.
25160         
25161         * platform/Widget.h:
25162         * rendering/RenderLayer.cpp:
25163         (WebCore::RenderLayer::destroyScrollbar):
25165 2006-10-06  Mitz Pettel  <mitz@webkit.org>
25167         http://bugs.webkit.org/show_bug.cgi?id=8276
25168         Fix broken manual test added back in r13990.
25170         Add resource forks for test resources.
25172         * manual-tests/resources/plain-text-paste/._1.textClipping: Added.
25173         * manual-tests/resources/plain-text-paste/._2.textClipping: Added.
25174         * manual-tests/resources/plain-text-paste/._4.txt: Added.
25175         * manual-tests/resources/plain-text-paste/._5.webloc: Added.
25177 2006-10-05  David Hyatt  <hyatt@apple.com>
25179         Rename addClip to clip.
25181         Reviewed by darin
25183         * kcanvas/RenderForeignObject.cpp:
25184         (WebCore::RenderForeignObject::paint):
25185         * kcanvas/RenderSVGContainer.cpp:
25186         (WebCore::RenderSVGContainer::paint):
25187         * kcanvas/RenderSVGImage.cpp:
25188         (WebCore::RenderSVGImage::paint):
25189         * platform/GraphicsContext.h:
25190         * platform/cairo/GraphicsContextCairo.cpp:
25191         (WebCore::GraphicsContext::clip):
25192         * platform/cg/GraphicsContextCG.cpp:
25193         (WebCore::GraphicsContext::savePlatformState):
25194         (WebCore::GraphicsContext::restorePlatformState):
25195         (WebCore::GraphicsContext::clip):
25196         (WebCore::GraphicsContext::addRoundedRectClip):
25197         (WebCore::GraphicsContext::addInnerRoundedRectClip):
25198         (WebCore::GraphicsContext::scale):
25199         (WebCore::GraphicsContext::rotate):
25200         (WebCore::GraphicsContext::translate):
25201         (WebCore::GraphicsContext::concatCTM):
25202         * platform/cg/GraphicsContextPlatformPrivate.h:
25203         (WebCore::GraphicsContextPlatformPrivate::save):
25204         (WebCore::GraphicsContextPlatformPrivate::restore):
25205         (WebCore::GraphicsContextPlatformPrivate::clip):
25206         (WebCore::GraphicsContextPlatformPrivate::scale):
25207         (WebCore::GraphicsContextPlatformPrivate::rotate):
25208         (WebCore::GraphicsContextPlatformPrivate::translate):
25209         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
25210         * platform/qt/GraphicsContextQt.cpp:
25211         (WebCore::GraphicsContext::clip):
25212         (WebCore::GraphicsContext::addInnerRoundedRectClip):
25213         (WebCore::GraphicsContext::addRoundedRectClip):
25214         * rendering/InlineFlowBox.cpp:
25215         (WebCore::InlineFlowBox::paintBackground):
25216         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
25217         * rendering/InlineTextBox.cpp:
25218         (WebCore::InlineTextBox::paintSelection):
25219         (WebCore::InlineTextBox::paintTextMatchMarker):
25220         * rendering/RenderBox.cpp:
25221         (WebCore::RenderBox::paintBackgroundExtended):
25222         * rendering/RenderButton.cpp:
25223         (WebCore::RenderButton::paintObject):
25224         * rendering/RenderFileUploadControl.cpp:
25225         (WebCore::RenderFileUploadControl::paintObject):
25226         * rendering/RenderLayer.cpp:
25227         (WebCore::RenderLayer::beginTransparencyLayers):
25228         (WebCore::setClip):
25229         * rendering/RenderListBox.cpp:
25230         (WebCore::RenderListBox::paintObject):
25231         * rendering/RenderMenuList.cpp:
25232         (WebCore::RenderMenuList::paintObject):
25233         * rendering/RenderTableCell.cpp:
25234         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
25236 2006-10-05  Mitz Pettel  <mitz@webkit.org>
25238         Reviewed by Darin.
25240         - http://bugs.webkit.org/show_bug.cgi?id=10386
25241           Delete RenderImageButton.* and remove references from .vcproj and .bkl files
25243         * CMakeLists.txt:
25244         * WebCore.vcproj/WebCore/WebCore.vcproj:
25245         * WebCoreSources.bkl:
25246         * rendering/RenderImageButton.cpp: Removed.
25247         * rendering/RenderImageButton.h: Removed.
25249 2006-10-05  Mitz Pettel  <opendarwin.org@mitzpettel.com>
25251         Reviewed by Darin.
25253         - http://bugs.webkit.org/show_bug.cgi?id=11067
25254           manual-tests/scrollbar-hittest2.html is invalid
25256         * manual-tests/scrollbar-hittest2.html:
25258 2006-10-05  David Carson  <dacarson@gmail.com>
25260         Reviewed by Darin.
25262         http://bugs.webkit.org/show_bug.cgi?id=11152
25263         Adjust the tokenizer chunk size to be smaller for
25264         mobile devices, and also decrease the yield timer
25265         for the tokenizer so that it can resume earlier.
25267         * html/HTMLTokenizer.cpp:
25268         * config.h:
25270 2006-10-05  Adam Roben  <aroben@apple.com>
25272         Removing accidentally-checked-in do-nothing code.
25274         * html/HTMLInputElement.cpp:
25275         (WebCore::HTMLInputElement::defaultEventHandler):
25277 2006-10-05  David Carson  <dacarson@gmail.com>
25279         Reviewed by Mitz.
25281         http://bugs.webkit.org/show_bug.cgi?id=11158
25282         Initialize class variables
25284         * rendering/RenderLayer.cpp:
25285         (WebCore::RenderLayer::RenderLayer):
25287 2006-10-05  Peter Kasting  <pkasting@google.com>
25289         Reviewed by Darin, landed by Adam.
25291         http://bugs.webkit.org/show_bug.cgi?id=11176
25292         Fix win32 build, adapt to Maciej's ResourceLoader changes.
25294         * platform/win/ResourceLoaderWin.cpp:
25295         (WebCore::ResourceLoader::start):
25297 2006-10-05  Brett Wilson  <brettw@chromium.org>
25299         Reviewed by Darin.
25301         http://bugs.webkit.org/show_bug.cgi?id=10989
25302         Provide a way for embedders to implement BrowserExtensionWin
25304         * WebCore.vcproj/WebCore/WebCore.vcproj:
25305         * bridge/win/BrowserExtensionWin.cpp: Added.
25306         (BrowserExtensionWin::BrowserExtensionWin):
25307         (BrowserExtensionWin::setTypedIconURL):
25308         (BrowserExtensionWin::setIconURL):
25309         (BrowserExtensionWin::getHistoryLength):
25310         (BrowserExtensionWin::canRunModal):
25311         (BrowserExtensionWin::createNewWindow):
25312         (BrowserExtensionWin::canRunModalNow):
25313         (BrowserExtensionWin::runModal):
25314         (BrowserExtensionWin::goBackOrForward):
25315         (BrowserExtensionWin::historyURL):
25316         * bridge/win/BrowserExtensionWin.h:
25317         * bridge/win/FrameWin.cpp:
25318         (WebCore::FrameWin::createNewWindow):
25319         * bridge/win/FrameWin.h:
25320         * platform/win/TemporaryLinkStubs.cpp:
25322 2006-10-05  Geoffrey Garen  <ggaren@apple.com>
25324         Reviewed by Darin.
25325         
25326         Fixed <rdar://problem/4766987>
25327         
25328         - renamed ScrollBar to Scrollbar and scroll bar to scrollbar in every case
25329         except for file names.
25330         
25331         - fixed RenderLayer to properly tear down scrollbars, removing them from
25332         their parents.
25334         * bindings/js/kjs_window.cpp:
25335         (KJS::showModalDialog):
25336         (KJS::setWindowFeature):
25337         (KJS::parseWindowFeatures):
25338         * bridge/BrowserExtension.h:
25339         * dom/Document.cpp:
25340         (WebCore::Document::setInPageCache):
25341         * html/HTMLFrameElement.cpp:
25342         (WebCore::HTMLFrameElement::init):
25343         (WebCore::HTMLFrameElement::parseMappedAttribute):
25344         * html/HTMLFrameElement.h:
25345         (WebCore::HTMLFrameElement::scrollingMode):
25346         * page/Frame.cpp:
25347         (WebCore::Frame::finishedParsing):
25348         (WebCore::Frame::scrollbarsVisible):
25349         * page/FrameView.cpp:
25350         (WebCore::FrameViewPrivate::FrameViewPrivate):
25351         (WebCore::FrameViewPrivate::reset):
25352         (WebCore::FrameView::~FrameView):
25353         (WebCore::FrameView::resetScrollbars):
25354         (WebCore::FrameView::clear):
25355         (WebCore::FrameView::initScrollbars):
25356         (WebCore::FrameView::applyOverflowToViewport):
25357         (WebCore::FrameView::layout):
25358         (WebCore::FrameView::handleMousePressEvent):
25359         (WebCore::selectCursor):
25360         (WebCore::FrameView::handleMouseMoveEvent):
25361         (WebCore::FrameView::setScrollbarsMode):
25362         (WebCore::FrameView::setVScrollbarMode):
25363         (WebCore::FrameView::setHScrollbarMode):
25364         (WebCore::FrameView::restoreScrollbar):
25365         (WebCore::FrameView::dispatchMouseEvent):
25366         (WebCore::FrameView::scrollbarMoved):
25367         * page/FrameView.h:
25368         * page/MouseEventWithHitTestResults.cpp:
25369         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
25370         * page/MouseEventWithHitTestResults.h:
25371         (WebCore::MouseEventWithHitTestResults::scrollbar):
25372         * platform/ScrollBar.cpp:
25373         (WebCore::Scrollbar::Scrollbar):
25374         (WebCore::Scrollbar::setValue):
25375         (WebCore::Scrollbar::setProportion):
25376         (WebCore::Scrollbar::setSteps):
25377         (WebCore::Scrollbar::scroll):
25378         * platform/ScrollBar.h:
25379         (WebCore::):
25380         (WebCore::ScrollbarClient::~ScrollbarClient):
25381         (WebCore::Scrollbar::~Scrollbar):
25382         (WebCore::Scrollbar::orientation):
25383         (WebCore::Scrollbar::controlSize):
25384         (WebCore::Scrollbar::hasPlatformScrollbars):
25385         (WebCore::Scrollbar::client):
25386         * platform/ScrollBarMode.h:
25387         (WebCore::):
25388         * platform/ScrollView.h:
25389         * rendering/RenderBlock.cpp:
25390         (WebCore::RenderBlock::isPointInScrollbar):
25391         * rendering/RenderLayer.cpp:
25392         (WebCore::RenderLayer::RenderLayer):
25393         (WebCore::RenderLayer::~RenderLayer):
25394         (WebCore::RenderLayer::scrollToOffset):
25395         (WebCore::RenderLayer::horizontaScrollbarWidget):
25396         (WebCore::RenderLayer::verticalScrollbarWidget):
25397         (WebCore::RenderLayer::valueChanged):
25398         (WebCore::RenderLayer::createScrollbar):
25399         (WebCore::RenderLayer::destroyScrollbar):
25400         (WebCore::RenderLayer::setHasHorizontalScrollbar):
25401         (WebCore::RenderLayer::setHasVerticalScrollbar):
25402         (WebCore::RenderLayer::verticalScrollbarWidth):
25403         (WebCore::RenderLayer::horizontalScrollbarHeight):
25404         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
25405         * rendering/RenderLayer.h:
25406         (WebCore::RenderLayer::horizontalScrollbar):
25407         (WebCore::RenderLayer::verticalScrollbar):
25408         * rendering/RenderListBox.cpp:
25409         (WebCore::RenderListBox::~RenderListBox):
25410         (WebCore::RenderListBox::calcMinMaxWidth):
25411         (WebCore::RenderListBox::isPointInScrollbar):
25412         (WebCore::RenderListBox::optionAtPoint):
25413         (WebCore::RenderListBox::valueChanged):
25414         * rendering/RenderListBox.h:
25415         * rendering/RenderObject.h:
25416         (WebCore::RenderObject::NodeInfo::scrollbar):
25417         (WebCore::RenderObject::NodeInfo::setScrollbar):
25419 2006-10-05  Peter Kasting  <pkasting@google.com>
25421         Reviewed by Adam.
25423         http://bugs.webkit.org/show_bug.cgi?id=11138
25424         Incorrect mouse event generation on Windows
25426         * platform/win/MouseEventWin.cpp:
25427         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
25428         (1) Set mouse button even for non-click-related messages.
25429         (2) Track clicks correctly for all buttons, not just the left button.
25431 2006-10-05  Nikolas Zimmermann  <zimmermann@kde.org>
25433         Reviewed and landed by ap.
25435         Fix Qt/Linux build, adapt to Eric's quartz changes and to Maciej's ResourceLoader changes.
25437         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
25438         (WebCore::KRenderingPaintServerLinearGradientQt::renderPath):
25439         (WebCore::KRenderingPaintServerLinearGradientQt::setup):
25440         (WebCore::KRenderingPaintServerRadialGradientQt::setup):
25441         (WebCore::KRenderingPaintServerRadialGradientQt::renderPath):
25442         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
25443         (WebCore::KRenderingPaintServerPatternQt::renderPath):
25444         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
25445         (WebCore::KRenderingPaintServerQt::setPenProperties):
25446         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
25447         (WebCore::KRenderingPaintServerSolidQt::setup):
25448         (WebCore::KRenderingPaintServerSolidQt::renderPath):
25449         * kcanvas/device/qt/RenderPathQt.cpp:
25450         (WebCore::getPathStroke):
25452 2006-10-05  Alexey Proskuryakov  <ap@nypop.com>
25454         Reviewed by Darin.
25456         http://bugs.webkit.org/show_bug.cgi?id=11054
25457         REGRESSION: Traditional Chinese encoding in login authentication
25459         1. Treat GB2312 encoding as GBK (its more modern superset), to match other browsers.
25460         2. On the Web, GB2312 is encoded as EUC-CN or HZ, while ICU provides a native encoding
25461         for encoding GB_2312-80 and several others. So, we need to override this behavior, too.
25463         * platform/StreamingTextDecoderICU.cpp:
25464         (WebCore::TextCodecICU::registerEncodingNames):
25466 2006-10-05  Eric Seidel  <eric@webkit.org>
25468         Reviewed by mjs.
25470         Removed dead code.
25471         Filed http://bugs.webkit.org/show_bug.cgi?id=11167 to for followup on removed FIXMEs
25473         * WebCore.xcodeproj/project.pbxproj:
25474         * ksvg2/ecma/GlobalObject.cpp: Removed.
25475         * ksvg2/ecma/GlobalObject.h: Removed.
25477 2006-10-05  Adam Roben  <aroben@apple.com>
25479         Reviewed by Maciej.
25481         Small ResourceLoaderInternal tweak.
25483         * platform/ResourceLoaderInternal.h:
25484         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
25486 2006-10-05  Eric Seidel  <eric@webkit.org>
25488         Reviewed by mjs.
25490         More incremental KCanvas cleanup and optimization.
25491         Added SVGRenderStyle::hasFill() and hasStroke() removed more KSVGPainterFactory methods.
25492         Optimized dash array usage to not malloc.
25493         Also removed un-needed KSVGRenderingStyle includes.
25495         * kcanvas/KCanvasTreeDebug.cpp:
25496         (WebCore::operator<<):
25497         * kcanvas/RenderPath.cpp:
25498         (WebCore::RenderPath::nodeAtPoint):
25499         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
25500         (WebCore::RenderPath::strokeBBox):
25501         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
25502         (WebCore::KRenderingPaintServerGradientQuartz::setup):
25503         (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
25504         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
25505         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
25506         (WebCore::KRenderingPaintServerSolidQuartz::setup):
25507         (WebCore::KRenderingPaintServerSolidQuartz::renderPath):
25508         (WebCore::KRenderingPaintServerPatternQuartz::setup):
25509         (WebCore::KRenderingPaintServerPatternQuartz::renderPath):
25510         * kcanvas/device/quartz/QuartzSupport.mm:
25511         (WebCore::applyStrokeStyleToContext):
25512         * ksvg2/css/SVGRenderStyle.h:
25513         (WebCore::SVGRenderStyle::hasStroke):
25514         (WebCore::SVGRenderStyle::hasFill):
25515         * ksvg2/misc/KCanvasRenderingStyle.cpp:
25516         (WebCore::KSVGPainterFactory::fillPaintServer):
25517         (WebCore::KSVGPainterFactory::strokePaintServer):
25518         * ksvg2/misc/KCanvasRenderingStyle.h:
25520 2006-10-05  Maciej Stachowiak  <mjs@apple.com>
25522         Reviewed by Adam.
25524         - changed ResourceLoader to be refcounted
25526         It keeps a ref on itself while loading as well. This makes
25527         for a much saner memory management model than the previous.
25529         * bridge/mac/WebCoreResourceLoaderImp.mm:
25530         (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
25531         * dom/XMLTokenizer.cpp:
25532         (WebCore::openFunc):
25533         * loader/icon/IconLoader.cpp:
25534         (IconLoader::IconLoader):
25535         (IconLoader::~IconLoader):
25536         (IconLoader::startLoading):
25537         (IconLoader::stopLoading):
25538         (IconLoader::receivedData):
25539         * loader/icon/IconLoader.h:
25540         * loader/loader.cpp:
25541         (WebCore::Loader::servePendingRequests):
25542         * platform/ResourceLoader.cpp:
25543         (WebCore::ResourceLoader::create):
25544         (WebCore::ResourceLoader::kill):
25545         * platform/ResourceLoader.h:
25546         * platform/ResourceLoaderInternal.h:
25547         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
25548         * platform/mac/ResourceLoaderMac.mm:
25549         (WebCore::ResourceLoader::start):
25550         * xml/XSLTProcessor.cpp:
25551         (WebCore::docLoaderFunc):
25552         * xml/xmlhttprequest.cpp:
25553         (WebCore::XMLHttpRequest::send):
25554         * xml/xmlhttprequest.h:
25556 2006-10-05  Eric Seidel  <eric@webkit.org>
25558         Reviewed by mjs.
25560         Improve SVG opacity performance by clipping to the object bbox before starting a new opacity layer.
25561         http://bugs.webkit.org/show_bug.cgi?id=11163
25562         
25563         No SVG performance tests yet.
25565         * kcanvas/RenderForeignObject.cpp:
25566         (WebCore::RenderForeignObject::paint):
25567         * kcanvas/RenderSVGContainer.cpp:
25568         (WebCore::RenderSVGContainer::paint):
25569         * kcanvas/RenderSVGImage.cpp:
25570         (WebCore::RenderSVGImage::paint):
25571         * kcanvas/RenderSVGText.cpp:
25572         (WebCore::RenderSVGText::paint):
25574 2006-10-05  Dave Hyatt  <hyatt@apple.com>
25576         Stub out some stuff for widget focusability.
25578         Reviewed by maciej
25580         * page/FrameView.cpp:
25581         (WebCore::FrameView::dispatchMouseEvent):
25582         * platform/ScrollView.h:
25583         * platform/Widget.h:
25585 2006-10-05  Adam Roben  <aroben@apple.com>
25587         Reviewed by Maciej and Tim H.
25589         Copy some WebKit frame lifetime logic into WebCore -- just a step
25590         along the path to frame lifetime being handled completely in WebCore.
25592         * bridge/mac/FrameMac.mm:
25593         (WebCore::FrameMac::setView): Move platform-independent parts of this
25594         method into Frame.
25595         * page/Frame.cpp:
25596         (WebCore::Frame::setView): Adding platform-independent parts of
25597         FrameMac::setView
25598         (WebCore::Frame::detachChildren): New method to accomplish what
25599         -[WebFrameBridge _detachChildren] currently does.
25600         (WebCore::Frame::clear): Call detachChildren
25601         * page/Frame.h: Add declaration for detachChildren
25603 2006-10-04  Alice Liu  <alice.liu@apple.com>
25605         Reviewed by Darin.
25607         Fixed <rdar://problem/4758577> REGRESSION: Business and People widgets fails to complete search query
25609         * xml/xmlhttprequest.cpp:
25610         (WebCore::XMLHttpRequest::setRequestHeader):
25611         removed exception set when the request is not open yet
25613 2006-10-04  Anders Carlsson  <acarlsson@apple.com>
25615         Reviewed by John Sullivan.
25617         <rdar://problem/4654328>
25618         Safari Crashes in WebCore::PluginTokenizer::writeRawData If I Try to Open a SWF File With Plug-ins Turned Off
25619         
25620         * loader/PluginDocument.cpp:
25621         (WebCore::PluginTokenizer::writeRawData):
25622         Only send the data to the plug-in if plug-ins are enabled, otherwise just silently eat it.
25624 2006-10-03  Alexey Proskuryakov  <ap@nypop.com>
25626         Reviewed by Tim H.
25628         http://bugs.webkit.org/show_bug.cgi?id=11130
25629         Convert "undefined" to AE missing value
25631         * bridge/mac/WebCoreFrameBridge.mm:
25632         (aeDescFromJSValue): return missing value for UndefinedType.
25634 2006-10-03  Dave Hyatt  <hyatt@apple.com>
25636         Scrolling work.  Eliminate convertTo/FromContainingWindow as cross-platform functions.  Add back in
25637         the windowToContents/contentsToWindow functions.
25638         
25639         Reviewed by anders
25641         * bridge/mac/FrameMac.mm:
25642         (WebCore::FrameMac::eventMayStartDrag):
25643         (WebCore::FrameMac::dragHysteresisExceeded):
25644         (WebCore::FrameMac::mouseDown):
25645         (WebCore::FrameMac::shouldDragAutoNode):
25646         (WebCore::FrameMac::sendContextMenuEvent):
25647         * bridge/mac/FrameViewMac.mm:
25648         (WebCore::FrameView::passMousePressEventToScrollbar):
25649         * bridge/mac/WebCoreFrameBridge.mm:
25650         (-[WebCoreFrameBridge _visiblePositionForPoint:]):
25651         * dom/EventTargetNode.cpp:
25652         (WebCore::EventTargetNode::dispatchMouseEvent):
25653         (WebCore::EventTargetNode::dispatchWheelEvent):
25654         * page/Frame.cpp:
25655         (WebCore::Frame::selectClosestWordFromMouseEvent):
25656         (WebCore::Frame::handleMousePressEventTripleClick):
25657         (WebCore::Frame::handleMousePressEventSingleClick):
25658         (WebCore::Frame::handleMouseMoveEvent):
25659         (WebCore::Frame::handleMouseReleaseEvent):
25660         * page/FrameView.cpp:
25661         (WebCore::FrameView::handleMousePressEvent):
25662         (WebCore::FrameView::handleMouseDoubleClickEvent):
25663         (WebCore::selectCursor):
25664         (WebCore::FrameView::handleMouseMoveEvent):
25665         (WebCore::FrameView::handleMouseReleaseEvent):
25666         (WebCore::FrameView::dispatchDragEvent):
25667         (WebCore::FrameView::prepareMouseEvent):
25668         (WebCore::FrameView::handleWheelEvent):
25669         * page/FrameView.h:
25670         * platform/ScrollBar.cpp:
25671         (WebCore::ScrollBar::setValue):
25672         * platform/ScrollView.h:
25673         * platform/Widget.h:
25674         (WebCore::Widget::scrolled):
25675         * platform/mac/ScrollViewMac.mm:
25676         (WebCore::ScrollView::contentsToWindow):
25677         (WebCore::ScrollView::windowToContents):
25678         (WebCore::ScrollView::scrollbarUnderMouse):
25679         * platform/mac/WidgetMac.mm:
25680         * rendering/RenderLayer.cpp:
25681         (WebCore::RenderLayer::resize):
25682         (WebCore::RenderLayer::positionScrollbars):
25683         * rendering/RenderReplaced.cpp:
25684         (WebCore::RenderReplaced::shouldPaint):
25685         * rendering/RenderView.cpp:
25686         * rendering/RenderView.h:
25687         * rendering/RenderWidget.cpp:
25688         (WebCore::RenderWidget::setWidget):
25690 2006-09-26  David Smith  <catfish.man@gmail.com>
25692         Reviewed by Timothy.
25694         http://bugs.webkit.org/show_bug.cgi?id=3723
25695         Add -scrollDOMRangeToVisible:
25697         No automated tests are possible as this code path isn't reachable from JavaScript.
25699         * bridge/mac/WebCoreFrameBridge.h:
25700         * bridge/mac/WebCoreFrameBridge.mm:
25701         (-[WebCoreFrameBridge scrollDOMRangeToVisible:]):
25703 2006-10-03  Graham Dennis  <graham.dennis@gmail.com>
25705         Reviewed by Timothy.
25707         <http://bugs.webkit.org/show_bug.cgi?id=10338>
25708         When contentEditable, cursor doesn't change to hand
25709         
25710         Allow the behaviour of editable links to be specified by a WebPreference
25711         The preference WebKitEditableLinkBehavior has four options:
25712          - AlwaysLive: Safari 2.0 behaviour
25713          - OnlyLiveWithShiftKey: Firefox/WinIE behaviour (and prior WebKit-ToT behaviour)
25714          - LiveWhenNotFocused: Editable links are live only when their editable block is not
25715              focused, or when the shift key is pressed
25716          - DefaultBehavior: This is the same as OnlyLiveWithShiftKey.
25717          
25718         No layout tests, just a modification of a manual-test as it isn't possible to test
25719         this automatically.
25721         * bridge/mac/WebCoreSettings.h:
25722         * bridge/mac/WebCoreSettings.mm:
25723         (-[WebCoreSettings setEditableLinkBehavior:]):
25724         (-[WebCoreSettings editableLinkBehavior]):
25725         * html/HTMLAnchorElement.cpp:
25726         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
25727         (WebCore::HTMLAnchorElement::defaultEventHandler):
25728         (WebCore::HTMLAnchorElement::setActive):
25729         * html/HTMLAnchorElement.h:
25730         * manual-tests/contenteditable-link.html:
25731         * page/FrameView.cpp:
25732         (WebCore::nodeIsNotBeingEdited):
25733         (WebCore::selectCursor):
25734         * page/Settings.h:
25735         (WebCore::Settings::):
25736         (WebCore::Settings::Settings):
25737         (WebCore::Settings::editableLinkBehavior):
25738         (WebCore::Settings::setEditableLinkBehavior):
25740 2006-10-03  Beth Dakin  <bdakin@apple.com>
25742         Reviewed Darin.
25744         No test cases needed.
25746         Implemented a version of StringImpl::append that takes a UChar* and 
25747         a length.
25749         * platform/StringImpl.cpp:
25750         (WebCore::StringImpl::append):
25751         (WebCore::StringImpl::insert): Call new append instead of making a 
25752         new StringImpl.
25753         * platform/StringImpl.h:
25755 2006-10-03  Darin Fisher  <darin@chromium.org>
25757         Reviewed by Darin.
25759         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11099
25760         HttpSendRequestEx results in ERROR_HTTP_HEADER_NOT_FOUND
25762         * platform/win/ResourceLoaderWin.cpp:
25763         (WebCore::ResourceLoader::onHandleCreated):
25765 2006-10-02  Geoffrey Garen  <ggaren@apple.com>
25767         Feared, loathed, reviewed by Darin.
25769         More frame/iframe merging. Merged IFRAME::willRemove and IFRAME::detach 
25770         into FRAME, plus other cleanup.
25771         
25772         No new behavior, so no new test. Layout tests pass. Basic browsing and
25773         Mail editing seem to work.
25774         
25775         * dom/Node.cpp:
25776         (WebCore::Node::detach): Removed random commented-out code.
25777         * html/HTMLFrameElement.cpp:
25778         (WebCore::HTMLFrameElement::isURLAllowed): 
25779         (1) Removed reference to FrameView, to dissociate frame loading from rendering.
25780         (2) Renamed newURL to completeURL because the difference between newURL
25781         and URLString is that newURL is a KURL that is the complete version of URLString,
25782         not that it is new.
25783         (WebCore::HTMLFrameElement::willRemove): 
25784         (1) Removed close() call and moved close() code into willRemove(), also removing 
25785         close() call from detach(), since willRemove is the well-defined place 
25786         from DOM tear-down, not detach().
25787         (2) Removed manual renderer detach code because the DOM is not responsible
25788         for managing the render tree. I confirmed that this change not
25789         regress <rdar://problem/4132581>.
25790         (3) Removed questionable ASSERT. The ASSERT assumed that iframe elements
25791         lost their content frames after being removed from the DOM. That's our 
25792         current behavior, but it's going to change in future rounds of refactoring.
25793         This also fixes <rdar://problem/4750835>.
25794         (WebCore::HTMLFrameElement::setLocation): Removed wacky manual calls to
25795         attach/detach, because the render tree should not be in charge of deciding
25796         when to load.
25797         * html/HTMLFrameElement.h:
25798         * html/HTMLIFrameElement.cpp:
25799         (WebCore::HTMLIFrameElement::attach): Renamed renderPart to renderPartObject,
25800         because the renderer is a renderPartObject, not a renderPart.
25801         * html/HTMLIFrameElement.h:
25803 2006-10-03  Mark Rowe  <bdash@webkit.org>
25805         Reviewed by Mitz.
25807         http://bugs.webkit.org/show_bug.cgi?id=11137
25808         Bug 11137: GdkLauncher dies with "pure virtual method called" if
25809         window is closed while page still loading
25811         * platform/gdk/FrameGdk.cpp:
25812         (WebCore::FrameGdk::~FrameGdk): Call cancelAndClear to allow virtual
25813         methods to be called before the FrameGdk portion of "this" is torn down.
25815 2006-10-03  Adam Roben  <aroben@apple.com>
25817         Reviewed by Darin.
25819         Handle tab key presses in the DOM.
25821         * dom/EventTargetNode.cpp:
25822         (WebCore::EventTargetNode::defaultEventHandler): Add tab key handling.
25823         * page/FrameView.cpp:
25824         (WebCore::FrameView::advanceFocus): Rename and reimplement
25825         focusNextPrevNode. Now we just call Element::focus().
25826         * page/FrameView.h: Rename focusNextPrevNode to advanceFocus and make
25827         it public.
25829 2006-10-03  Justin Garcia  <justin.garcia@apple.com>
25831         Reviewed by mjs
25832         
25833         <rdar://problem/4760612>
25834         TOT REGRESSION: Repro assertion failure when forwarding draft in Range::compareBoundaryPoints
25835         
25836         No layout test possible, attributedStringFrom:(DOMNode*)...etc isn't available to DRT.
25837         
25838         * dom/Range.cpp:
25839         (WebCore::Range::boundaryPointsValid): compareBoundaryPoints asserts that the incoming 
25840         positions are non-null since most of it's callers would be in a bad state if the positions 
25841         were null.  boundaryPointsValid, which calls compareBoundaryPoints, is an exception.  
25842         Instead of removing the assert I've added nil checks in boundaryPointsValid, to keep it 
25843         from entering compareBoundaryPoints and hitting the assert.
25845 2006-10-03  Adele Peterson  <adele@apple.com>
25847         Reviewed by Geoff.
25849         Make code for turning off new listbox implementation mac-only, since there's no implementation on other platforms.
25851         * html/HTMLSelectElement.cpp:
25852         (WebCore::HTMLSelectElement::recalcStyle):
25853         (WebCore::HTMLSelectElement::isKeyboardFocusable):
25854         (WebCore::HTMLSelectElement::isMouseFocusable):
25855         (WebCore::HTMLSelectElement::createRenderer):
25856         (WebCore::HTMLSelectElement::setRecalcListItems):
25857         (WebCore::HTMLSelectElement::notifyOptionSelected):
25858         (WebCore::HTMLSelectElement::defaultEventHandler):
25860 2006-10-04  Darin Adler  <darin@apple.com>
25862         Reviewed by Geoff.
25864         - fix http://bugs.webkit.org/show_bug.cgi?id=11132
25865           Caret disappears when you're typing
25867         * editing/SelectionController.cpp:
25868         (WebCore::SelectionController::setSelection): Remove unnecessary call to
25869         clearCaretRectIfNeeded. The recomputeCaretRect now takes care of this.
25870         (WebCore::SelectionController::recomputeCaretRect): Explicitly set m_needsLayout
25871         to false so we can get the old caret repaint rect. Later we need to change the
25872         design so getting the rect doesn't have a side effect of causing a layout without
25873         invalidation.
25875 2006-10-03  David Harrison  <harrison@apple.com>
25877         Reviewed by Maciej.
25879         <rdar://problem/4671286> Candidate Window isn't displayed and only first candidate is displayed at typing location.
25881         Updated test:
25882         * fast/text/justified-text-rect.html
25884         * bridge/mac/WebCoreFrameBridge.mm:
25885         (-[WebCoreFrameBridge convertToNSRange:]):
25886         (-[WebCoreFrameBridge convertToDOMRange:]):
25887         Make the selection's root editable element (or the document itself) be
25888         the basis for NSRange conversions. This supports "shadow DOM" like
25889         that for text fields and text areas.
25890         
25891         * editing/CompositeEditCommand.cpp:
25892         (WebCore::CompositeEditCommand::moveParagraphs):
25893         Pass the document element as the scope.
25894         
25895         * editing/TextIterator.cpp:
25896         (WebCore::TextIterator::rangeFromLocationAndLength):
25897         Make the first parameter the scope.
25898         
25899         * editing/TextIterator.h:
25900         Make the first parameter of rangeFromLocationAndLength() the scope.
25902 2006-10-03  Nikolas Zimmermann  <zimmermann@kde.org>
25904         Reviewed by Eric.
25906         Fix Qt/Linux build.
25908         * CMakeLists.txt: Add counter related files.
25910 2006-10-03  Mark Rowe  <bdash@webkit.org>
25912         Reviewed by Eric.
25914         http://bugs.webkit.org/show_bug.cgi?id=10981
25915         Linux/GDK build fixes
25917         Based on a patch by Krzysztof Kowalczyk.
25919         * WebCoreSources.bkl:
25920         * platform/gdk/FrameGdk.cpp:
25921         (WebCore::doScroll):
25922         (WebCore::FrameGdk::handleGdkEvent):
25923         * platform/gdk/PlatformScrollBar.h: Added.
25924         (WebCore::PlatformScrollBar::isWidget):
25925         * platform/gdk/ScrollViewGdk.cpp:
25926         * platform/gdk/TemporaryLinkStubs.cpp:
25927         (FrameView::passMousePressEventToScrollbar):
25928         (FrameView::passMousePressEventToSubframe):
25929         (FrameView::passMouseReleaseEventToSubframe):
25930         (FrameView::passMouseMoveEventToSubframe):
25931         (FrameView::passWheelEventToSubframe):
25932         (Cursor::Cursor):
25933         (Widget::invalidate):
25934         (Widget::invalidateRect):
25935         (ScrollView::wheelEvent):
25936         (ScrollView::convertToContainingWindow):
25937         (ScrollView::convertFromContainingWindow):
25938         (GraphicsContext::clip):
25939         (PlatformScrollBar::PlatformScrollBar):
25940         (PlatformScrollBar::updateThumbPosition):
25941         (PlatformScrollBar::updateThumbProportion):
25942         (ScrollBar::ScrollBar):
25943         (ScrollBar::setProportion):
25944         (WebCore::supportedKeySizes):
25945         (WebCore::signedPublicKeyAndChallengeString):
25946         * platform/gdk/WheelEventGdk.cpp:
25947         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
25948         * platform/gdk/WidgetGdk.cpp:
25949         (WebCore::Widget::convertToContainingWindow):
25950         (WebCore::Widget::convertFromContainingWindow):
25952 2006-10-02  Adam Roben  <aroben@apple.com>
25954         Reviewed by Maciej.
25956         Let Windows determine which mouse button is pressed.
25958         * platform/PlatformMouseEvent.h: Add message parameter to constructor.
25959         * platform/win/MouseEventWin.cpp:
25960         (WebCore::PlatformMouseEvent::PlatformMouseEvent): Use message
25961         parameter to determine which mouse button is pressed.
25963 2006-10-02  Justin Garcia  <justin.garcia@apple.com>
25965         Reviewed by anders
25966         
25967         Build fix
25968         
25969         * editing/SelectionController.cpp:
25970         (WebCore::SelectionController::empty):
25971         * editing/SelectionController.h:
25973 2006-10-02  Justin Garcia  <justin.garcia@apple.com>
25975         Reviewed by john
25976         
25977         <rdar://problem/4755287>
25978         Writely Editor: Crash occurs at WebCore::maxDeepOffset(WebCore::Node const*) when attempting to create a OL/UL following a HR element
25980         * editing/markup.cpp:
25981         (WebCore::createMarkup): Migrate to isBlock (isBlockFlow is true for inline replaced 
25982         elements).  Don't skip blocks that aren't containers (like horizontal rules).
25984 2006-10-03  Darin Adler  <darin@apple.com>
25986         Reviewed by Justin Garcia.
25988         - correct mistaken code that would restart blinking every
25989           time "invalidateSelection" is called even if the caret
25990           has not moved
25992         * editing/SelectionController.h:
25993         * editing/SelectionController.cpp:
25994         (WebCore::SelectionController::setSelection): Update for name change.
25995         (WebCore::SelectionController::recomputeCaretRect): New function.
25996         Computes caret rect and does any necessary invalidation if the rect
25997         changes.
25998         (WebCore::SelectionController::invalidateCaretRect): Renamed from
25999         needsCaretRepaint. Invalidates the caret rect unconditionally. Also
26000         calls recomputeCaretRect as a side effect.
26002         * page/Frame.cpp:
26003         (WebCore::Frame::invalidateSelection): Remove unneeded call to
26004         clearCaretRectIfNeeded.
26005         (WebCore::Frame::clearCaretRectIfNeeded): Updated for name change.
26006         (WebCore::Frame::selectionLayoutChanged): Restructured to use the new
26007         recomputeCaretRect function and not restart blinking if caret has
26008         not changed position.
26009         (WebCore::Frame::caretBlinkTimerFired): Removed some checks that
26010         are not needed since selectionLayoutChanged already checks these.
26012         * page/FramePrivate.h: Removed unused m_blinkCaret.
26014 2006-10-02  Beth Dakin  <bdakin@apple.com>
26016         Reviewed by Adam.
26018         Build fix. Add counters to vcproj.
26020         * WebCore.vcproj/WebCore/WebCore.vcproj:
26022 2006-10-02  Brady Eidson  <beidson@apple.com>
26024         Reviewed by Adele
26026         If the Icon DB schema changes underneath you, the latest ToT can crash and burn when writing
26027         icon data out because we don't correctly check SQL error conditions.
26029         * loader/icon/IconDataCache.cpp:
26030         (WebCore::IconDataCache::writeToDatabase):
26032 2006-10-02  Steve Falkenburg  <sfalken@apple.com>
26034         Reviewed by Hyatt.
26036         Added method to find out whether a layout has occurred.
26038         * page/FrameView.cpp:
26039         (WebCore::FrameView::didFirstLayout):
26040         * page/FrameView.h:
26042 2006-10-02  Beth Dakin  <bdakin@apple.com>
26044         Reviewed by Darin.
26046         Initial implementation of CSS2 counters. See http://
26047         bugs.webkit.org/show_bug.cgi?id=4980 for more details.
26049         * WebCore.xcodeproj/project.pbxproj:
26050         * css/CSSComputedStyleDeclaration.cpp: 
26051         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return 
26052         the increment/reset list now that this is implemented.
26053         * css/CSSPrimitiveValue.cpp:
26054         (WebCore::CSSPrimitiveValue::cssText): 
26055         * css/Counter.h:
26056         (WebCore::Counter::Counter):
26057         (WebCore::Counter::~Counter):
26058         (WebCore::Counter::identifier):
26059         (WebCore::Counter::listStyle):
26060         (WebCore::Counter::separator):
26061         (WebCore::Counter::listStyleNumber):
26062         (WebCore::Counter::setIdentifier):
26063         (WebCore::Counter::setListStyle):
26064         (WebCore::Counter::setSeparator):
26065         * css/cssparser.cpp:
26066         (WebCore::CSSParser::addProperty): Take care of reset/increment
26067         (WebCore::CSSParser::parseValue):
26068         (WebCore::CSSParser::parseContent): content can now take counters
26069         (WebCore::CSSParser::parseCounterContent): Parse counter() and 
26070         counters()
26071         (WebCore::CSSParser::parseCounter): Parse counter-reset and 
26072         counter-increment
26073         * css/cssparser.h:
26074         * css/cssstyleselector.cpp:
26075         (WebCore::CSSStyleSelector::matchUARules):
26076         (WebCore::CSSStyleSelector::applyProperty):
26077         * platform/PlatformString.h:
26078         * platform/String.cpp:
26079         (WebCore::String::insert): Implemented a version of insert that 
26080         accepts a UChar* and a length.
26081         * platform/StringImpl.cpp:
26082         (WebCore::StringImpl::insert): Same as above.
26083         * platform/StringImpl.h:
26084         * rendering/CounterListItem.h: Added.
26085         * rendering/CounterNode.cpp: Added.
26086         (WebCore::CounterNode::CounterNode):
26087         (WebCore::CounterNode::insertAfter):
26088         (WebCore::CounterNode::removeChild):
26089         (WebCore::CounterNode::remove):
26090         (WebCore::CounterNode::setUsesSeparator):
26091         (WebCore::CounterNode::recountAndGetNext):
26092         (WebCore::CounterNode::recountTree):
26093         (WebCore::CounterNode::setSelfDirty):
26094         (WebCore::CounterNode::setParentDirty):
26095         * rendering/CounterNode.h: Added.
26096         (WebCore::CounterNode::~CounterNode):
26097         (WebCore::CounterNode::parent):
26098         (WebCore::CounterNode::previousSibling):
26099         (WebCore::CounterNode::nextSibling):
26100         (WebCore::CounterNode::firstChild):
26101         (WebCore::CounterNode::lastChild):
26102         (WebCore::CounterNode::value):
26103         (WebCore::CounterNode::setValue):
26104         (WebCore::CounterNode::count):
26105         (WebCore::CounterNode::setCount):
26106         (WebCore::CounterNode::setHasSeparator):
26107         (WebCore::CounterNode::isReset):
26108         (WebCore::CounterNode::hasSeparator):
26109         (WebCore::CounterNode::willNeedLayout):
26110         (WebCore::CounterNode::setWillNeedLayout):
26111         (WebCore::CounterNode::isRoot):
26112         (WebCore::CounterNode::setRenderer):
26113         (WebCore::CounterNode::renderer):
26114         * rendering/CounterResetNode.cpp: Added.
26115         (WebCore::CounterResetNode::CounterResetNode):
26116         (WebCore::CounterResetNode::insertAfter):
26117         (WebCore::CounterResetNode::removeChild):
26118         (WebCore::CounterResetNode::recountAndGetNext):
26119         (WebCore::CounterResetNode::setParentDirty):
26120         (WebCore::CounterResetNode::updateTotal):
26121         * rendering/CounterResetNode.h: Added.
26122         (WebCore::CounterResetNode::firstChild):
26123         (WebCore::CounterResetNode::lastChild):
26124         (WebCore::CounterResetNode::isReset):
26125         (WebCore::CounterResetNode::total):
26126         * rendering/RenderContainer.cpp:
26127         (WebCore::RenderContainer::updatePseudoChildForObject): Account for 
26128         counter content.
26129         * rendering/RenderCounter.cpp: Added.
26130         (WebCore::RenderCounter::RenderCounter):
26131         (WebCore::RenderCounter::layout):
26132         (WebCore::toRoman):
26133         (WebCore::toLetterString):
26134         (WebCore::toHebrew):
26135         (WebCore::RenderCounter::convertValueToType):
26136         (WebCore::RenderCounter::calcMinMaxWidth):
26137         * rendering/RenderCounter.h: Added.
26138         (WebCore::RenderCounter::renderName):
26139         (WebCore::RenderCounter::isCounter):
26140         * rendering/RenderObject.cpp:
26141         (WebCore::getRenderObjectsToCounterNodeMaps): Maps RenderObjects to 
26142         maps of CounterNodes
26143         (WebCore::RenderObject::RenderObject):
26144         (WebCore::RenderObject::destroy): Destroy the maps.
26145         (WebCore::RenderObject::findCounter): Finds/creates counters.
26146         * rendering/RenderObject.h:
26147         (WebCore::RenderObject::isCounter):
26148         * rendering/RenderStyle.cpp:
26149         (WebCore::StyleVisualData::StyleVisualData):
26150         (WebCore::RenderStyle::arenaDelete):
26151         (WebCore::RenderStyle::RenderStyle):
26152         (WebCore::RenderStyle::diff):
26153         (WebCore::RenderStyle::setContent):
26154         (WebCore::ContentData::clearContent):
26155         (WebCore::RenderStyle::counterDataEquivalent):
26156         (WebCore::hasCounter):
26157         (WebCore::RenderStyle::hasCounterReset):
26158         (WebCore::RenderStyle::hasCounterIncrement):
26159         (WebCore::readCounter):
26160         (WebCore::RenderStyle::counterReset):
26161         (WebCore::RenderStyle::counterIncrement):
26162         * rendering/RenderStyle.h:
26163         (WebCore::StyleVisualData::operator==):
26164         (WebCore::CounterData::CounterData):
26165         (WebCore::CounterData::identifier):
26166         (WebCore::CounterData::listStyle):
26167         (WebCore::CounterData::separator):
26168         (WebCore::ContentData::contentCounter):
26169         (WebCore::ContentData::):
26170         (WebCore::RenderStyle::counterIncrement):
26171         (WebCore::RenderStyle::counterReset):
26172         (WebCore::RenderStyle::setCounterIncrement):
26173         (WebCore::RenderStyle::setCounterReset):
26174         (WebCore::RenderStyle::setCounterResetList):
26175         (WebCore::RenderStyle::setCounterIncrementList):
26176         (WebCore::RenderStyle::counterResetValueList):
26177         (WebCore::RenderStyle::counterIncrementValueList):
26179 2006-10-02  Adele Peterson  <adele@apple.com>
26181         Reviewed by Adam.
26183         - Fix for <rdar://problem/4463841> Switch to use new list box implementation for <select multiple>
26185         There are a few outstanding issues, so I've left the old code in for now.  So you can use the old-style listboxes
26186         by using "-webkit-appearance:none".
26188         * css/html4.css:
26190 2006-10-02  David Harrison  <harrison@apple.com>
26192         Reverted the code part of r16696, my patch for <rdar://problem/4641262>, because the problem was
26193         addressed at a deeper level by r16696, the patch for <http://bugs.webkit.org/show_bug.cgi?id=10842>.
26194         Left the layout test.
26195         
26196         * rendering/bidi.cpp:
26197         (WebCore::checkMidpoints):
26199 2006-10-02  Nikolas Zimmermann  <zimmermann@kde.org>
26201         Reviewed by eseidel.  Landed by eseidel.
26203         Fix Qt/Linux build.
26205         * platform/qt/TemporaryLinkStubs.cpp: s/DeprecatedStringList/Vector<String>/
26206         (WebCore::supportedKeySizes):
26208 2006-10-02  Nikolas Zimmermann <zimmermann@kde.org>
26210         Reviewed by eseidel & mjs.  Landed by eseidel.
26212         Fix Qt/Linux build with older gcc 3.3.4.
26213         http://bugs.webkit.org/show_bug.cgi?id=11116
26215         As discussed with Maciej, the GCC_ROOT_NS_HACK
26216         can be completely removed, as well as the friendship
26217         between cacheGlobalObject & the JS* objects.
26219         * bindings/scripts/CodeGeneratorJS.pm: Remove friendship.
26220         * platform/image-decoders/png/pnggccrd.c: Fix comments for gcc3.
26221         (png_read_filter_row_mmx_avg):
26222         * platform/image-decoders/png/pngvcrd.c: Ditto.
26223         (png_mmx_support):
26224         (png_read_filter_row_mmx_avg):
26226 2006-10-01  Maciej Stachowiak  <mjs@apple.com>
26228         Rubber stamped by Alexey.
26230         - reverted fix for http://bugs.webkit.org/show_bug.cgi?id=10893 since it led to layout test crashes
26232         * css/CSSGrammar.y:
26234 2006-10-01  Eric Seidel  <eric@webkit.org>
26236         Reviewed by mjs.
26238         Eliminate a few more hotspots in SVG drawing code.
26239         
26240         No test cases were harmed in the making of this patch.  (And SVG has no perf tests.)
26242         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
26243         (WebCore::KRenderingPaintServerSolidQuartz::setup): use a single shared colorspace, avoid a few mallocs
26244         * platform/mac/ColorMac.mm:
26245         (+[WebCoreControlTintObserver WebCore]): store a single shared colorspace instance
26247 2006-10-01  Geoffrey Garen  <ggaren@apple.com>
26249         Reviewed by Maciej.
26250         
26251         More frame/iframe merging.
26252         
26253         - Removed needWidgetUpdate and related code. needWidgetUpdate is always
26254         false, so this was dead code.
26255         - Removed FIXME about setInViewSourceMode inside openURL(). openURL(), rather
26256         than attach(), is the correct place for setInViewSourceMode, because
26257         openURL() is the function that creates our frame.
26258         - Moved IFRAME insertedIntoDocument() code into FRAME, and removed FRAME
26259         code that did the same thing in other places.
26260         - Made FRAME's attach() method suffuciently generic so that IFRAME could
26261         call up to it, rather than skipping its superclass and calling up directly 
26262         to ELEMENT.
26263         - Changed a few IFRAME up-calls to ELEMENT into up-calls to FRAME.
26264         - Replaced ad hoc frame loading code in FRAME::attach() with call to
26265         openURL(), the designated frame loading function.
26267         Layout tests pass. I added a layout test for viewsource mode, since I
26268         broke it in the course of writing this patch.
26270 2006-10-01  Anders Carlsson  <acarlsson@apple.com>
26272         Reviewed by Geoff.
26274         * dom/Document.cpp:
26275         (WebCore::Document::recalcStyleSelector):
26276         * dom/Document.h:
26277         Get rid of availableStyleSheets() and remove DeprecatedStringList.h include.
26278         
26279         * dom/Node.h:
26280         Remove DeprecatedStringList class forward declaration.
26281         
26282         * editing/markup.cpp:
26283         Include DeprecatedStringList.h here since it's not included by Document.h anymore.
26284         
26285         * kcanvas/KCanvasTreeDebug.cpp:
26286         * kcanvas/KCanvasTreeDebug.h:
26287         Remove unused functions.
26288         
26289         * loader/loader.cpp:
26290         * page/Frame.cpp:
26291         * page/Frame.h:
26292         * page/FrameView.h:
26293         Fixup DeprecatedStringList.h includes.
26295 2006-09-30  David Harrison  <harrison@apple.com>
26297         Reviewed by John Sullivan.
26299         <rdar://problem/4641262> REGRESSION: Japanese text corrupts on wrapping point
26301         Problem was that the decision to trim was based only on whether the character
26302         is a soft hyphen, which caused pretty much any Japanese character to go.
26303         Changed to decide based on whether the character is ignorable whitespace.
26304         
26305         Test:
26306         * fast/text/international/wrap-CJK-001.html
26308         * rendering/bidi.cpp:
26309         (WebCore::isTrimmableChar):
26310         New. Checks whether character is whitespace that can be ignored
26311         according to the text node's style.
26312         trimmed from the end of wrapped line.
26313         (WebCore::checkMidpoints):
26314         Call isTrimmable() rather than checking for char != SOFT_HYPHEN.
26316 2006-10-01  Anders Carlsson  <acarlsson@apple.com>
26318         Reviewed by Mitz Pettel.
26320         Convert the SVG code to use Vector<String> instead of DeprecatedStringList.
26322         * ksvg2/svg/SVGColor.cpp:
26323         (WebCore::SVGColor::setRGBColor):
26324         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
26325         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
26326         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
26327         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
26328         (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
26329         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
26330         (SVGFESpecularLightingElement::parseMappedAttribute):
26331         * ksvg2/svg/SVGFETurbulenceElement.cpp:
26332         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
26333         * ksvg2/svg/SVGLengthList.cpp:
26334         * ksvg2/svg/SVGNumberList.cpp:
26335         (SVGNumberList::parse):
26336         * ksvg2/svg/SVGNumberList.h:
26337         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
26338         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
26339         * ksvg2/svg/SVGStringList.cpp:
26340         (WebCore::SVGStringList::reset):
26341         * ksvg2/svg/SVGStringList.h:
26342         * ksvg2/svg/SVGTransformable.cpp:
26343         (SVGTransformable::parseTransformAttribute):
26345 2006-10-01  Nikolas Zimmermann  <zimmermann@kde.org>
26347         Reviewed by Eric, tweaked and landed by ap.
26349         Fix Qt/Linux build.
26351         * CMakeLists.txt:
26352         * platform/qt/PlatformScrollBar.h:
26353         * platform/qt/TemporaryLinkStubs.cpp:
26354         (WebCore::ScrollBar::ScrollBar):
26355         (WebCore::PlatformScrollBar::PlatformScrollBar):
26356         (FrameView::passMousePressEventToSubframe):
26357         (FrameView::passMouseMoveEventToSubframe):
26358         (FrameView::passMouseReleaseEventToSubframe):
26359         (FrameView::passWheelEventToSubframe):
26360         (FrameView::passMousePressEventToScrollbar):
26361         * ksvg2/svg/SVGDocument.h:
26363 2006-10-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
26365         Reviewed by Darin.
26367         Fix for http://bugs.webkit.org/show_bug.cgi?id=10190
26368         REGRESSION: Repro crash when navigating away from an image document that hasn't finished loading
26370         No test case added (probably requires new DumpRenderTree functionality)
26372         * rendering/RenderImage.cpp:
26373         (WebCore::RenderImage::imageChanged): Added early return if the document is
26374         being destroyed.
26376 2006-10-01  Graham Dennis  <graham.dennis@gmail.com>
26378         Reviewed by Hyatt.
26380         Fix for http://bugs.webkit.org/show_bug.cgi?id=10842
26381         REGRESSION (r15418): contenteditable div truncates rightmost Japanese character
26382         
26383         Make sure we only break after a space (and not any other valid line-break) if
26384         the style is -webkit-line-break: after-white-space (e.g. for a contentEditable div).
26385         I also did a logic shuffle at Mitz's request to prevent doing an if on the same expression
26386         twice in quick succession.
26388         * rendering/bidi.cpp:
26389         (WebCore::RenderBlock::findNextLineBreak): 
26391 2006-10-01  Alexey Proskuryakov  <ap@nypop.com>
26393         Reviewed by Maciej and Darin.
26395         http://bugs.webkit.org/show_bug.cgi?id=4372
26396         JavaScript document.write page form does not submit in Safari
26398         Test: fast/forms/document-write.html
26400         * page/Frame.cpp:
26401         (WebCore::Frame::submitForm): Don't check for parsing().
26403 2006-10-01  Alexey Proskuryakov  <ap@nypop.com>
26405         Build fix.
26407         * bridge/mac/FrameViewMac.mm: Add missing #imports.
26409 2006-10-01  Dave Hyatt  <hyatt@apple.com>
26411         Refactor the code that passes mouse presses to the Mac scrollbar and make it cross-platform.
26412        
26413         Reviewed by mitz
26415         * bridge/mac/FrameMac.mm:
26416         (WebCore::FrameMac::passWidgetMouseDownEventToWidget):
26417         * bridge/mac/FrameViewMac.mm:
26418         (WebCore::FrameView::passMousePressEventToScrollbar):
26419         * page/FrameView.cpp:
26420         (WebCore::FrameView::handleMousePressEvent):
26421         (WebCore::FrameView::setMousePressed):
26422         * page/FrameView.h:
26423         * platform/win/TemporaryLinkStubs.cpp:
26424         (FrameView::passMousePressEventToScrollbar):
26426 2006-09-30  Sam Weinig  <sam.weinig@gmail.com>
26428         Reviewed by Darin.
26430         Patch for http://bugs.webkit.org/show_bug.cgi?id=11102
26431         Add more SVG Objective-C DOM bindings
26433         - Auto-generate Objective-C DOM bindings for DOMSVGAElement,
26434           DOMSVGAnimateColorElement, DOMSVGAnimateElement, DOMSVGAnimateTransformElement,
26435           DOMSVGAnimatedPathData, DOMSVGAnimatedPoints, DOMSVGAnimatedPreserveAspectRatio,
26436           DOMSVGAnimationElement, DOMSVGCircleElement, DOMSVGClipPathElement, DOMSVGColor,
26437           DOMSVGCursorElement, DOMSVGDefsElement, DOMSVGDescElement, DOMSVGDocument, 
26438           DOMSVGEllipseElement, DOMSVGPreserveAspectRatio, and DOMSVGURIReference.
26440         * DerivedSources.make:
26441         * WebCore.xcodeproj/project.pbxproj:
26442         * bindings/objc/DOMInternal.h:
26443         * bindings/objc/DOMSVG.h:
26444         * bindings/scripts/CodeGeneratorObjC.pm:
26445         * ksvg2/svg/SVGAElement.idl:
26446         * ksvg2/svg/SVGAnimateColorElement.idl:
26447         * ksvg2/svg/SVGAnimateElement.idl:
26448         * ksvg2/svg/SVGAnimateTransformElement.idl:
26449         * ksvg2/svg/SVGAnimatedPathData.idl:
26450         * ksvg2/svg/SVGAnimatedPoints.idl:
26451         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl:
26452         * ksvg2/svg/SVGAnimationElement.idl:
26453         * ksvg2/svg/SVGCircleElement.idl:
26454         * ksvg2/svg/SVGClipPathElement.idl:
26455         * ksvg2/svg/SVGColor.idl:
26456         * ksvg2/svg/SVGCursorElement.idl:
26457         * ksvg2/svg/SVGDefsElement.idl:
26458         * ksvg2/svg/SVGDescElement.idl:
26459         * ksvg2/svg/SVGDocument.idl:
26460         * ksvg2/svg/SVGEllipseElement.idl:
26461         * ksvg2/svg/SVGPointList.idl:
26462         * ksvg2/svg/SVGPreserveAspectRatio.idl:
26463         * ksvg2/svg/SVGRect.idl:
26464         * ksvg2/svg/SVGSVGElement.idl:
26466 2006-09-30  Maciej Stachowiak  <mjs@apple.com>
26468         Reviewed by Adele.
26470         - fix build
26472         * platform/FloatRect.h:
26473         (WebCore::FloatRect::contains): Added; not exactly the same semantic as IntRect containment
26474         but more appropriate for path-type stuff.
26475         * platform/cg/PathCG.cpp:
26476         (WebCore::Path::contains): Don't use enclosingIntRect, just use FloatRect::contains.
26478 2006-09-30  Alexey Proskuryakov  <ap@nypop.com>
26480         Reviewed by Darin.
26482         http://bugs.webkit.org/show_bug.cgi?id=11011
26483         External CSS is parsed as iso-8859-1 even though the main document is utf-8
26485         Test: fast/encoding/css-charset-default.xhtml
26487         * loader/CachedResourceClient.h:
26488         (WebCore::CachedResourceClient::setCSSStyleSheet):
26489         (WebCore::CachedResourceClient::setXSLStyleSheet):
26490         Divided setStyleSheet into setCSSStyleSheet and setXSLStyleSheet. The former
26491         takes an additional charset parameter, to be passed to CSSStyleSheet constructor.
26493         * css/CSSImportRule.cpp:
26494         (WebCore::CSSImportRule::setCSSStyleSheet):
26495         (WebCore::CSSImportRule::insertedIntoParent): Default to parent stylesheet's charset.
26496         * css/CSSImportRule.h:
26498         * css/CSSStyleSheet.cpp:
26499         (WebCore::CSSStyleSheet::CSSStyleSheet):
26500         * css/CSSStyleSheet.h:
26501         Added an m_charset member to be used when loading child stylesheets. Removed an unused m_implicit
26502         member. Changed some String parameters to const String&.
26504         * css/StyleSheet.cpp:
26505         (WebCore::StyleSheet::StyleSheet):
26506         * css/StyleSheet.h:
26507         Changed some String parameters to const String&. Removed an unused (even unimplemented) constructor.
26509         * css/StyleSheetList.cpp:
26510         (WebCore::StyleSheetList::length):
26511         (WebCore::StyleSheetList::item):
26512         * css/StyleSheetList.h:
26513         Special-casing implicit stylesheets seemed to be dead code, removed.
26515         * dom/Document.cpp:
26516         (WebCore::Document::setCSSStyleSheet):
26517         (WebCore::Document::recalcStyleSelector):
26518         * dom/Document.h:
26519         Renamed setStyleSheet() to setCSSStyleSheet().
26521         * dom/ProcessingInstruction.cpp:
26522         (WebCore::ProcessingInstruction::checkStyleSheet): Pass a correct charset to requestCSSStyleSheet().
26523         (WebCore::ProcessingInstruction::setCSSStyleSheet):
26524         (WebCore::ProcessingInstruction::setXSLStyleSheet):
26525         (WebCore::ProcessingInstruction::parseStyleSheet):
26526         * dom/ProcessingInstruction.h:
26528         * html/HTMLLinkElement.cpp:
26529         (WebCore::HTMLLinkElement::process): Default to document encoding if a charset attribute 
26530         is not specified.
26531         (WebCore::HTMLLinkElement::setCSSStyleSheet):
26532         * html/HTMLLinkElement.h:
26534         * html/HTMLStyleElement.cpp:
26535         (WebCore::HTMLStyleElement::childrenChanged):
26536         * ksvg2/svg/SVGStyleElement.cpp:
26537         (WebCore::SVGStyleElement::childrenChanged):
26538         Inherit URL and charset from the document.
26540         * loader/Cache.cpp:
26541         (WebCore::Cache::requestCSSStyleSheet):
26542         * loader/Cache.h:
26543         Adjust for setStyleSheet() renaming.
26545         * loader/CachedCSSStyleSheet.h: Removed an unused constructor.
26546         * loader/CachedCSSStyleSheet.cpp:
26547         (WebCore::CachedCSSStyleSheet::ref):
26548         (WebCore::CachedCSSStyleSheet::deref):
26549         (WebCore::CachedCSSStyleSheet::checkNotify):
26550         Pass the encoding to setCSSStyleSheet().
26552         * loader/CachedXSLStyleSheet.cpp:
26553         (WebCore::CachedXSLStyleSheet::ref):
26554         (WebCore::CachedXSLStyleSheet::checkNotify):
26555         * loader/DocLoader.cpp:
26556         (WebCore::DocLoader::requestCSSStyleSheet):
26557         * loader/DocLoader.h:
26558         * page/Frame.cpp:
26559         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
26560         (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
26561         * xml/XSLImportRule.cpp:
26562         (WebCore::XSLImportRule::setXSLStyleSheet):
26563         (WebCore::XSLImportRule::loadSheet):
26564         * xml/XSLImportRule.h:
26565         Adjust for setStyleSheet() renaming.
26567 2006-09-30  Rob Buis  <buis@kde.org>
26569         Reviewed by eseidel.
26571         http://bugs.webkit.org/show_bug.cgi?id=11096
26572         Hit testing for polylines fails
26574         Fix Path::contains so it handles filled, non-closed paths too.
26576         * platform/cg/PathCG.cpp:
26577         (WebCore::Path::contains):
26579 2006-09-30  Dave Hyatt  <hyatt@apple.com>
26581         Refactor subframe event handling to hide more of the Mac-specific logic from the cross-platform code.
26582         Stub out a capturing API that mimics the way Web browsers capture events and route them to specific
26583         subframes while the mouse is down.
26584       
26585         Reviewed by mitzpettel
26587         * bridge/mac/FrameMac.h:
26588         * bridge/mac/FrameMac.mm:
26589         (WebCore::FrameMac::passWidgetMouseDownEventToWidget):
26590         (WebCore::FrameMac::passWheelEventToWidget):
26591         * bridge/mac/FrameViewMac.mm:
26592         (WebCore::FrameView::passMousePressEventToSubframe):
26593         (WebCore::FrameView::passMouseMoveEventToSubframe):
26594         (WebCore::FrameView::passMouseReleaseEventToSubframe):
26595         (WebCore::FrameView::passWheelEventToSubframe):
26596         * page/Frame.cpp:
26597         * page/Frame.h:
26598         * page/FrameView.cpp:
26599         (WebCore::subframeForTargetNode):
26600         (WebCore::FrameView::handleMousePressEvent):
26601         (WebCore::FrameView::handleMouseDoubleClickEvent):
26602         (WebCore::FrameView::handleMouseMoveEvent):
26603         (WebCore::FrameView::handleMouseReleaseEvent):
26604         (WebCore::FrameView::handleWheelEvent):
26605         * page/FrameView.h:
26606         * platform/ScrollBar.h:
26607         (WebCore::ScrollBar::handleMouseMoveEvent):
26608         (WebCore::ScrollBar::handleMouseOutEvent):
26609         * platform/Widget.h:
26610         (WebCore::Widget::handleMouseMoveEvent):
26611         (WebCore::Widget::handleMouseReleaseEvent):
26612         * platform/win/TemporaryLinkStubs.cpp:
26613         (FrameView::passMousePressEventToSubframe):
26614         (FrameView::passMouseMoveEventToSubframe):
26615         (FrameView::passMouseReleaseEventToSubframe):
26616         (FrameView::passWheelEventToSubframe):
26617         (Widget::capturingMouse):
26618         (Widget::setCapturingMouse):
26619         (Widget::capturingTarget):
26620         (Widget::capturingChild):
26621         (Widget::setCapturingChild):
26622         * rendering/RenderView.cpp:
26623         (WebCore::RenderView::paintBoxDecorations):
26625 2006-09-29  Darin Fisher  <darin@chromium.org>
26627         Reviewed by Adele.
26629         Fixes windows bustage:
26630         http://bugs.webkit.org/show_bug.cgi?id=11093
26632         * platform/win/PlatformScrollBar.h:
26633         * platform/win/TemporaryLinkStubs.cpp:
26634         (PlatformScrollBar::PlatformScrollBar):
26635         (ScrollBar::ScrollBar):
26637 2006-09-29  David Hyatt  <hyatt@apple.com>
26639         Eliminate RenderLayer::gScrollBar in favor of caching the scrollbar hit
26640         in RenderObject::NodeInfo (and then propagating that Widget to
26641         MouseEventWithHitTestResults).
26643         This allows RenderListBox and RenderBlock to do the same thing when the
26644         mouse is over the scrollbar.
26646         Also land fix to support font-size: 0.
26648         Reviewed by mjs (scrollbar), eric (font-size)
26650         * dom/Document.cpp:
26651         (WebCore::Document::prepareMouseEvent):
26652         * page/Frame.cpp:
26653         (WebCore::Frame::passWidgetMouseDownEventToWidget):
26654         * page/FrameView.cpp:
26655         (WebCore::selectCursor):
26656         (WebCore::FrameView::handleMouseMoveEvent):
26657         (WebCore::FrameView::dispatchMouseEvent):
26658         * page/MouseEventWithHitTestResults.cpp:
26659         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
26660         * page/MouseEventWithHitTestResults.h:
26661         (WebCore::MouseEventWithHitTestResults::scrollbar):
26662         * rendering/RenderBlock.cpp:
26663         (WebCore::RenderBlock::isPointInScrollbar):
26664         (WebCore::RenderBlock::nodeAtPoint):
26665         * rendering/RenderBlock.h:
26666         * rendering/RenderLayer.cpp:
26667         (WebCore::RenderLayer::hitTest):
26668         * rendering/RenderLayer.h:
26669         (WebCore::RenderLayer::getHiddenBehavior):
26670         * rendering/RenderListBox.cpp:
26671         (WebCore::RenderListBox::RenderListBox):
26672         (WebCore::RenderListBox::~RenderListBox):
26673         (WebCore::RenderListBox::isPointInScrollbar):
26674         * rendering/RenderListBox.h:
26675         * rendering/RenderObject.h:
26676         (WebCore::RenderObject::NodeInfo::NodeInfo):
26677         (WebCore::RenderObject::NodeInfo::scrollbar):
26678         (WebCore::RenderObject::NodeInfo::setScrollbar):
26680 2006-09-29  Darin Fisher  <darin@chromium.org>
26682         Reviewed by Adele.
26684         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11092
26686         * platform/win/ScrollViewWin.cpp:
26687         (WebCore::ScrollView::convertToContainingWindow):
26688         (WebCore::ScrollView::convertFromContainingWindow):
26689         * platform/win/WidgetWin.cpp:
26690         (WebCore::Widget::convertToContainingWindow):
26691         (WebCore::Widget::convertFromContainingWindow):
26693 2006-09-29  Adele Peterson  <adele@apple.com>
26695         Updated with new argument for PlatformScrollBar.
26697         * platform/win/TemporaryLinkStubs.cpp:
26698         (PlatformScrollBar::PlatformScrollBar):
26700 2006-09-29  Adele Peterson  <adele@apple.com>
26702         Reviewed by Hyatt.
26704         Fixing build bustage with cast to int.
26706         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::lastSelectedListIndex):
26708 2006-09-29  Adele Peterson  <adele@apple.com>
26710         Fixing accidental include.
26712         * rendering/RenderListBox.cpp:
26714 2006-09-29  Adele Peterson  <adele@apple.com>
26716         Adding RenderListBox files.
26718         * WebCore.vcproj/WebCore/WebCore.vcproj:
26720 2006-09-29  Adele Peterson  <adele@apple.com>
26722         Reviewed by Adam.
26724         Initial implementation of engine-based list box control.
26726         * WebCore.xcodeproj/project.pbxproj: Added RenderListBox.h and RenderListBox.cpp
26728         * bridge/mac/FrameMac.h: Added _mouseDownMayStartAutoscroll.
26729         * bridge/mac/FrameMac.mm: Updated autoscroll code to use renderers instead of layers, so any renderer that implements autoscroll will work.
26730         (WebCore::FrameMac::FrameMac):
26731         (WebCore::FrameMac::handleMousePressEvent):
26732         (WebCore::FrameMac::handleMouseMoveEvent):
26733         (WebCore::FrameMac::mouseDown):
26735         * page/Frame.cpp:
26736         (WebCore::Frame::handleMouseMoveEvent):
26737         (WebCore::Frame::scrollOverflow): Don't scroll list box here- this would cause arrow keys to scroll instead of select.
26738         (WebCore::Frame::handleAutoscroll): Updated to use a renderer instead of a layer when setting up autoscroll.
26739         (WebCore::Frame::autoscrollTimerFired): ditto.
26740         (WebCore::Frame::stopAutoscrollTimer): ditto.
26741         (WebCore::Frame::passWidgetMouseDownEventToWidget): Updated to check for list box's scroll bar.
26742         * page/Frame.h:
26743         * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Updated to use renderer unstead of layer for autoscroll.
26745         * page/FrameView.cpp: Keep track of current mouse position so this can be used for list box autoscroll.
26746         (WebCore::FrameViewPrivate::reset):
26747         (WebCore::FrameView::currentMousePosition):
26748         (WebCore::FrameView::handleMousePressEvent):
26749         (WebCore::FrameView::handleMouseDoubleClickEvent):
26750         (WebCore::selectCursor):
26751         (WebCore::FrameView::handleMouseMoveEvent):
26752         (WebCore::FrameView::handleMouseReleaseEvent):
26753         * page/FrameView.h:
26755         * platform/ScrollBar.cpp: (WebCore::ScrollBar::ScrollBar): Added controlSize argument.  The list box will use a smaller scroll bar size.
26756         * platform/ScrollBar.h:
26757         (WebCore::):
26758         (WebCore::ScrollBar::controlSize):
26759         * platform/mac/PlatformScrollBar.h:
26760         * platform/mac/PlatformScrollBarMac.mm:
26761         (NSControlSizeForScrollBarControlSize):
26762         (-[WebCoreScrollBar initWithPlatformScrollBar:]):
26763         (WebCore::PlatformScrollBar::PlatformScrollBar):
26765         * rendering/RenderBlock.h:
26766         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar): Updated to pass regular control size to scrollbar constructor.
26767         * rendering/RenderLayer.h:
26768         * rendering/RenderObject.cpp:
26769         (WebCore::RenderObject::shouldAutoscroll):
26770         (WebCore::RenderObject::autoscroll):
26771         * rendering/RenderObject.h: (WebCore::RenderObject::isListBox):
26773         * css/html4.css: Added properties for new list boxes.
26775         * html/HTMLOptionElement.cpp:
26776         (WebCore::HTMLOptionElement::setSelected): Doesn't allow selection to be changed here if the option is disabled.
26777         (WebCore::HTMLOptionElement::disabled): Added. Checks the parent's disabled status.
26778         * html/HTMLOptionElement.h: Added disabled method.
26780         * html/HTMLSelectElement.cpp: Added appearance switch for new list box implementation.
26781         (WebCore::HTMLSelectElement::recalcStyle):
26782         (WebCore::HTMLSelectElement::lastSelectedListIndex):
26783         (WebCore::HTMLSelectElement::deselectItems):
26784         (WebCore::HTMLSelectElement::setSelectedIndex):
26785         (WebCore::HTMLSelectElement::isKeyboardFocusable):
26786         (WebCore::HTMLSelectElement::isMouseFocusable):
26787         (WebCore::HTMLSelectElement::createRenderer):
26788         (WebCore::HTMLSelectElement::recalcListItems):
26789         (WebCore::HTMLSelectElement::setRecalcListItems):
26790         (WebCore::HTMLSelectElement::reset):
26791         (WebCore::HTMLSelectElement::notifyOptionSelected):
26792         (WebCore::HTMLSelectElement::defaultEventHandler): Added code to select options for list box when clicking and using arrow keys.
26793         (WebCore::HTMLSelectElement::nextSelectableListIndex):
26794         (WebCore::HTMLSelectElement::previousSelectableListIndex):
26795         * html/HTMLSelectElement.h:
26797         * rendering/RenderTheme.cpp: Added support for ListBoxAppearance
26798         (WebCore::RenderTheme::paint):
26799         (WebCore::RenderTheme::paintBorderOnly):
26800         (WebCore::RenderTheme::paintDecorations):
26801         (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
26802         (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
26803         (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
26804         (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
26805         (WebCore::RenderTheme::isControlStyled):
26806         (WebCore::RenderTheme::supportsFocusRing):
26807         * rendering/RenderTheme.h:
26808         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
26810         * rendering/RenderListBox.cpp: Added.
26811         (WebCore::RenderListBox::RenderListBox):
26812         (WebCore::RenderListBox::~RenderListBox):
26813         (WebCore::RenderListBox::setStyle):
26814         (WebCore::RenderListBox::updateFromElement):
26815         (WebCore::RenderListBox::calcMinMaxWidth):
26816         (WebCore::RenderListBox::size):
26817         (WebCore::RenderListBox::numItems):
26818         (WebCore::RenderListBox::calcHeight):
26819         (WebCore::RenderListBox::baselinePosition):
26820         (WebCore::RenderListBox::itemBoundingBoxRect):
26821         (WebCore::RenderListBox::paintObject):
26822         (WebCore::RenderListBox::paintScrollbar):
26823         (WebCore::RenderListBox::paintItemForeground):
26824         (WebCore::RenderListBox::paintItemBackground):
26825         (WebCore::RenderListBox::scrollBarTarget):
26826         (WebCore::RenderListBox::isPointInScrollbar):
26827         (WebCore::RenderListBox::optionAtPoint):
26828         (WebCore::RenderListBox::autoscroll):
26829         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
26830         (WebCore::RenderListBox::scroll):
26831         (WebCore::RenderListBox::valueChanged):
26832         * rendering/RenderListBox.h: Added.
26833         (WebCore::RenderListBox::isListBox):
26834         (WebCore::RenderListBox::selectionChanged):
26835         (WebCore::RenderListBox::setSelectionChanged):
26836         (WebCore::RenderListBox::canHaveChildren):
26837         (WebCore::RenderListBox::renderName):
26838         (WebCore::RenderListBox::setOptionsChanged):
26839         (WebCore::RenderListBox::shouldAutoscroll):
26840         (WebCore::RenderListBox::listIndexIsVisible):
26842 2006-09-29  Beth Dakin  <bdakin@apple.com>
26844         Reviewed by Darin.
26846         We had a bug where html4.css was ignoring Media Queries. In the end 
26847         the problem was that we were trying to send a char* to the 
26848         MediaQueryEvaluator constructor that expects a String, but the 
26849         char* got interpreted as a bool, the wrong constructor was called, 
26850         and the media type was never set.
26852         No test case possible since this only affects html4.css
26854         * css/MediaQueryEvaluator.cpp: New constructor that expects takes a 
26855         char*
26856         (WebCore::MediaQueryEvaluator):
26857         * css/MediaQueryEvaluator.h: Same.
26859 2006-09-29  Geoffrey Garen  <ggaren@apple.com>
26861         Reviewed by John, Maciej.
26862         
26863         Integrated some frame and iframe code. I'm trying to fix up frame ownership
26864         and loading. Reducing the number of different code paths involved
26865         seemed like a good first step.
26866         
26867         As a side effect, I fixed a bug where FRAME elements would report their
26868         src attributes as relative, rather than compelete, URLs. (IFRAME elements
26869         had the correct complete URL behavior.)
26871         * html/HTMLFrameElement.cpp:
26872         (WebCore::HTMLFrameElement::isURLAllowed): Fixed comment typo
26873         (WebCore::HTMLFrameElement::openURL):
26874             (1) Removed checks that requestFrame does for us
26875             (2) Added isURLAllowed check, to have one clear bottleneck for it
26876             (3) Added viewsource check, to have one clear bottleneck for it
26877         (WebCore::HTMLFrameElement::close): Changed to use the common contentFrame()
26878         method, instead of finding our content frame in our own unique way.
26879         (WebCore::HTMLFrameElement::setLocation): Removed isURLAllowed check,
26880         since openURL does this for us now.
26881         (WebCore::HTMLFrameElement::src): Return complete URL instead of relative.
26882         This is what FF does, and it made no sense to have different behaviors
26883         for FRAME and IFRAME elements.
26884         * html/HTMLIFrameElement.cpp:
26885         (WebCore::HTMLIFrameElement::HTMLIFrameElement): Removed duplicate init
26886         code.
26887         * html/HTMLIFrameElement.h: Removed src() and openURL() methods, since
26888         HTMLFrameElement now does everything we need.
26890 2006-09-30  Nikolas Zimmermann  <zimmermann@kde.org>
26892         Reviewed by Hyatt.
26894         Fix Qt/Linux build.
26896         * CMakeLists.txt:
26897         * platform/qt/ScrollViewQt.cpp:
26898         (WebCore::ScrollView::convertToContainingWindow):
26899         (WebCore::ScrollView::convertFromContainingWindow):
26900         * platform/qt/TemporaryLinkStubs.cpp:
26901         (WebCore::signedPublicKeyAndChallengeString):
26902         * platform/qt/WidgetQt.cpp:
26903         (WebCore::Widget::convertToContainingWindow):
26904         (WebCore::Widget::convertFromContainingWindow):
26906 2006-09-29  Sam Weinig  <sam.weinig@gmail.com>
26908         Reviewed by Tim H.
26910         Patch for http://bugs.webkit.org/show_bug.cgi?id=11082
26911         Simplify Internal methods for the auto-generated Objective-C DOM code
26913         - Auto-generate the internal methods for more Objective-C classes.
26915         * WebCore.xcodeproj/project.pbxproj:
26916         * bindings/objc/DOM.mm:
26917         * bindings/objc/DOMCSS.mm:
26918         (-[DOMStyleSheet WebCore::]):
26919         (+[DOMStyleSheet _styleSheetWith:WebCore::]):
26920         (-[DOMCSSRule WebCore::]):
26921         (-[DOMCSSRule _initWithCSSRule:WebCore::]):
26922         (+[DOMCSSRule _CSSRuleWith:WebCore::]):
26923         (-[DOMCSSValue WebCore::]):
26924         (-[DOMCSSValue _initWithCSSValue:WebCore::]):
26925         (+[DOMCSSValue _CSSValueWith:WebCore::]):
26926         * bindings/objc/DOMHTMLAppletElement.mm:
26927         (-[DOMHTMLAppletElement WebCore::]):
26928         (+[DOMHTMLAppletElement _HTMLOptionElementWith:WebCore::]):
26929         * bindings/objc/DOMHTMLEmbedElement.mm:
26930         (-[DOMHTMLEmbedElement WebCore::]):
26931         (+[DOMHTMLEmbedElement _HTMLEmbedElementWith:WebCore::]):
26932         * bindings/objc/DOMInternal.h:
26933         * bindings/objc/DOMInternal.mm:
26934         * bindings/scripts/CodeGeneratorObjC.pm:
26935         * css/CSSCharsetRule.idl:
26936         * css/CSSFontFaceRule.idl:
26937         * css/CSSImportRule.idl:
26938         * css/CSSMediaRule.idl:
26939         * css/CSSPageRule.idl:
26940         * css/CSSPrimitiveValue.idl:
26941         * css/CSSStyleRule.idl:
26942         * css/CSSStyleSheet.idl:
26943         * css/CSSUnknownRule.idl:
26944         * css/CSSValueList.idl:
26945         * dom/KeyboardEvent.idl:
26946         * dom/MouseEvent.idl:
26947         * dom/MutationEvent.idl:
26948         * dom/NodeIterator.idl:
26949         * dom/OverflowEvent.idl:
26950         * dom/UIEvent.idl:
26951         * dom/WheelEvent.idl:
26953 2006-09-29  David Harrison  <harrison@apple.com>
26955         Reviewed by John Sullivan.
26957         <rdar://problem/4663772> REGRESSION: Cannot type in Japanese after replying to a particular message
26958         <rdar://problem/4673293> REGRESSION: Can't enter the Japanese characters in Mail or Blot
26960         Test added
26961         * fast/text/attributed-substring-from-range-001.html
26963         * bridge/mac/FrameMac.mm:
26964         (WebCore::FrameMac::attributedString):
26965         Handle non-zero offsets when start and/or end node is a container. Offset used to be ignored in this case.
26966         Also, add validation of the range.
26968 2006-09-29  Rob Buis  <buis@kde.org>
26970         Reviewed by Maciej.
26972         http://bugs.webkit.org/show_bug.cgi?id=10893
26973         InsertRule can not handle @import statements
26975         Allow @import as part of a css rule.
26977         * css/CSSGrammar.y:
26979 2006-09-28  David Hyatt  <hyatt@apple.com>
26981         Switch over the Mac-specific uses of viewportToContents/contentsToViewport.
26983         * bridge/mac/FrameMac.mm:
26984         (WebCore::FrameMac::eventMayStartDrag):
26985         (WebCore::FrameMac::dragHysteresisExceeded):
26986         (WebCore::FrameMac::mouseDown):
26987         (WebCore::FrameMac::shouldDragAutoNode):
26988         (WebCore::FrameMac::sendContextMenuEvent):
26989         * bridge/mac/WebCoreFrameBridge.mm:
26990         (-[WebCoreFrameBridge _visiblePositionForPoint:]):
26992 2006-09-28  Dave Hyatt  <hyatt@apple.com>
26994         This patch eliminates viewportToContents/contentsToViewport in favor of convertTo/FromContainingWindow.
26995         ScrollView now subclasses these methods to factor in its scrollOffset and to deal with the document
26996         view.
26997        
26998         Reviewed by mjs (the convertTo/From changes), (I added the elimination of viewportToContents to
26999         the patch after review, once I realized that these new functions essentially do the same thing.)
27001         * dom/EventTargetNode.cpp:
27002         (WebCore::EventTargetNode::dispatchMouseEvent):
27003         (WebCore::EventTargetNode::dispatchWheelEvent):
27004         * page/Frame.cpp:
27005         (WebCore::Frame::selectClosestWordFromMouseEvent):
27006         (WebCore::Frame::handleMousePressEventTripleClick):
27007         (WebCore::Frame::handleMousePressEventSingleClick):
27008         (WebCore::Frame::handleMouseMoveEvent):
27009         (WebCore::Frame::handleMouseReleaseEvent):
27010         * page/FrameView.cpp:
27011         (WebCore::FrameView::handleMousePressEvent):
27012         (WebCore::selectCursor):
27013         (WebCore::FrameView::dispatchDragEvent):
27014         (WebCore::FrameView::prepareMouseEvent):
27015         (WebCore::FrameView::handleWheelEvent):
27016         * platform/ScrollView.h:
27017         * platform/Widget.cpp:
27018         (WebCore::Widget::convertToContainingWindow):
27019         * platform/Widget.h:
27020         * platform/mac/ScrollViewMac.mm:
27021         (WebCore::ScrollView::convertToContainingWindow):
27022         (WebCore::ScrollView::convertFromContainingWindow):
27023         * platform/mac/WidgetMac.mm:
27024         (WebCore::Widget::convertToContainingWindow):
27025         (WebCore::Widget::convertFromContainingWindow):
27026         * platform/win/ScrollViewWin.cpp:
27027         (WebCore::ScrollView::convertToContainingWindow):
27028         (WebCore::ScrollView::convertFromContainingWindow):
27029         * rendering/RenderLayer.cpp:
27030         (WebCore::RenderLayer::resize):
27032 2006-09-28  Alice Liu  <alice.liu@apple.com>
27034         Build fix by adding missing files for CommandByName
27036         * WebCore.xcodeproj/project.pbxproj:
27038 2006-09-28  Alice Liu  <alice.liu@apple.com>
27040         Adding CommandByName files to the vcproj
27042         * WebCore.vcproj/WebCore/WebCore.vcproj:
27044 2006-09-28  Alice Liu  <alice.liu@apple.com>
27046         Reviewed by Adam Roben.
27048         This patch adds a command class that is attached to the frame so the frame can more easily execute commands such as copy, paste, select, etc. 
27049         This patch also exposes some UBRK-related utilities so that they can be used elsewhere.
27050         This patch also changes windows PlatformMouseEvent so that we can detect multiple-click mouse events
27052         * editing/CommandByName.cpp: Added.
27053         Added a command class that hangs off the frame so the frame can call commands more easily.  
27054         (WebCore::Frame::commandImp):
27055         (WebCore::Frame::execCopy):
27056         (WebCore::Frame::execCut):
27057         (WebCore::Frame::execDelete):
27058         (WebCore::Frame::execForwardDelete):
27059         (WebCore::Frame::execPaste):
27060         (WebCore::Frame::execMoveLeft):
27061         (WebCore::Frame::execMoveRight):
27062         (WebCore::Frame::execMoveUp):
27063         (WebCore::Frame::execMoveDown):
27064         (WebCore::Frame::execSelectAll):
27065         (WebCore::Frame::execSelectLeft):
27066         (WebCore::Frame::execSelectRight):
27067         (WebCore::Frame::execSelectUp):
27068         (WebCore::Frame::execSelectDown):
27069         (WebCore::Frame::enabled):
27070         (WebCore::Frame::enabledAnySelection):
27071         (WebCore::Frame::enabledAnyEditableSelection):
27072         (WebCore::Frame::enabledPaste):
27073         (WebCore::Frame::enabledAnyRangeSelection):
27074         (WebCore::Frame::enabledAnyEditableRangeSelection):
27075         (WebCore::Frame::createCommandDictionary):
27076         (WebCore::Frame::Command::):
27077         (WebCore:::m_frame):
27078         (WebCore::CommandByName::execCommand):
27079         * editing/CommandByName.h: Added.
27080         * page/Frame.cpp:
27081         Added implementation of accessor for CommandByName member
27082         (WebCore::Frame::command):
27083         * page/Frame.h:
27084         Added accessor for CommandByName member
27085         * page/FramePrivate.h:
27086         Added a CommandByName member
27087         (WebCore::FramePrivate::FramePrivate):
27088         * platform/PlatformMouseEvent.h:
27089         Changed constructor prototype
27090         * platform/StringImpl.cpp:
27091         Exposing getWordBreakIterator to be used elsewhere
27092         (WebCore::getWordBreakIterator):
27093         * platform/StringImpl.h:
27094         Exposing getWordBreakIterator to be used elsewhere
27095         * platform/win/MouseEventWin.cpp:
27096         Changed the PlatformMouseEvent on windows so that we "roll our own" multi-click mouse events instead of relying on the system to tell us, enabling us to detect triple-clicks
27097         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
27099 2006-09-28  Adam Roben  <aroben@apple.com>
27101         Reviewed by Adele.
27103         Remove no-longer-used PopUpButton.
27105         * WebCore.vcproj/WebCore/WebCore.vcproj: Remove PopUpButton.h
27106         * WebCore.xcodeproj/project.pbxproj: Remove PopUpButton.h,
27107         PopUpButtonMac.mm
27108         * platform/PopUpButton.h: Removed.
27109         * platform/mac/PopUpButtonMac.mm: Removed.
27110         * platform/win/TemporaryLinkStubs.cpp: Remove PopUpButton:: methods
27111         * rendering/DeprecatedRenderSelect.cpp: Change #include of
27112         PopUpButton.h to ListBox.h
27114 2006-09-28  Darin Adler  <darin@apple.com>
27116         Reviewed by Alice.
27118         - change that should fix <rdar://problem/4733044> REGRESSION: XML iBench shows
27119           10% perf. regression (copying strings while decoding)
27121         Use Vector<UChar> instead of String when building up the decoded string in
27122         the ICU and Mac decoders. Using String leads to O(n^2) behavior because
27123         String grows the buffer every single time that append is called. Using
27124         Vector::append instead of String::append also avoids constructing a string
27125         each time just to append and a questionable copy that is done inside the
27126         String::append function which also contributed to the slowness.
27128         * platform/PlatformString.h:
27129         * platform/String.cpp: (WebCore::String::adopt): Added. Makes a String from a
27130         Vector<UChar>, adopting the buffer from the vector to avoid copying and memory
27131         allocation.
27132         * platform/StringImpl.h:
27133         * platform/StringImpl.cpp: (WebCore::StringImpl::adopt): Ditto.
27135         * platform/StreamingTextDecoder.h:
27136         * platform/StreamingTextDecoder.cpp: (WebCore::TextCodec::appendOmittingBOM):
27137         Change to use a Vector<UChar> instead of a String, since vectors have better
27138         resizing performance (they store a separate capacity).
27140         * platform/StreamingTextDecoderICU.cpp: (WebCore::TextCodecICU::decode):
27141         * platform/mac/StreamingTextDecoderMac.cpp: (WebCore::TextCodecMac::decode):
27142         Change to use Vector<UChar> instead of String and then create a string at
27143         the end of the process using the new adopt function.
27145 2006-09-28  Sam Weinig  <sam.weinig@gmail.com>
27147         Reviewed by Tim H.
27149         Patch for http://bugs.webkit.org/show_bug.cgi?id=11057
27150         Auto-generate more SVG Objective-C bindings
27152         - Auto-generates DOMSVGAnimatedAngle, DOMSVGAnimatedBoolean, 
27153           DOMSVGAnimatedEnumeration, DOMSVGAnimatedInteger, DOMSVGAnimatedLength,
27154           DOMSVGAnimatedLengthList, DOMSVGAnimatedNumber, DOMSVGAnimatedString,
27155           DOMSVGAnimatedTransformList, DOMSVGExternalResourcesRequired,
27156           DOMSVGLangSpace, DOMSVGLocatable, DOMSVGMetadataElement, DOMSVGRectElement,
27157           DOMSVGStringList, DOMSVGStylable, DOMSVGStyleElement, DOMSVGTests, 
27158           and DOMSVGTransformable.
27160         - Adds ability to CodeGeneratorObjC.pm to handle interfaces with mulitple
27161           parent interfaces and the SVG animated classes.
27163         - Corrects CodeGenerator.pm to only skip the first parent for the main 
27164           interface.
27166         * DerivedSources.make:
27167         * WebCore.xcodeproj/project.pbxproj:
27168         * bindings/objc/DOMInternal.h:
27169         * bindings/objc/DOMSVG.h:
27170         * bindings/scripts/CodeGenerator.pm:
27171         * bindings/scripts/CodeGeneratorObjC.pm:
27172         * ksvg2/svg/SVGAnimatedAngle.idl:
27173         * ksvg2/svg/SVGAnimatedBoolean.idl:
27174         * ksvg2/svg/SVGAnimatedEnumeration.idl:
27175         * ksvg2/svg/SVGAnimatedInteger.idl:
27176         * ksvg2/svg/SVGAnimatedLength.idl:
27177         * ksvg2/svg/SVGAnimatedLengthList.idl:
27178         * ksvg2/svg/SVGAnimatedNumber.idl:
27179         * ksvg2/svg/SVGAnimatedPathData.idl:
27180         * ksvg2/svg/SVGAnimatedString.idl:
27181         * ksvg2/svg/SVGAnimatedTransformList.idl:
27182         * ksvg2/svg/SVGExternalResourcesRequired.idl:
27183         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl:
27184         * ksvg2/svg/SVGFitToViewBox.idl:
27185         * ksvg2/svg/SVGLangSpace.idl:
27186         * ksvg2/svg/SVGLocatable.idl:
27187         * ksvg2/svg/SVGMetadataElement.idl:
27188         * ksvg2/svg/SVGStringList.idl:
27189         * ksvg2/svg/SVGStylable.idl:
27190         * ksvg2/svg/SVGStyleElement.idl:
27191         * ksvg2/svg/SVGTests.idl:
27192         * ksvg2/svg/SVGTransformable.idl:
27193         * ksvg2/svg/SVGURIReference.idl:
27194         * ksvg2/svg/SVGUnitTypes.idl:
27195         * ksvg2/svg/SVGZoomAndPan.idl:
27197 2006-09-28  Brady Eidson  <beidson@apple.com>
27199         Reviewed by Mitz Pettel!!!
27201         Change the error code check for common functions from SQLResultOk to SQLResultDone 
27203         * loader/icon/IconDatabase.cpp:
27204         (WebCore::IconDatabase::forgetPageURLQuery):
27205         (WebCore::IconDatabase::setIconIDForPageURLQuery):
27206         (WebCore::IconDatabase::addIconForIconURLQuery):
27208 2006-09-28  Dave Hyatt  <hyatt@apple.com>
27210         Just eliminate MapWindowPoints usage and use the HWND as
27211         the viewport.
27213         * platform/win/MouseEventWin.cpp:
27214         (WebCore::positionForEvent):
27215         * platform/win/ScrollViewWin.cpp:
27216         (WebCore::ScrollView::viewportToContents):
27217         (WebCore::ScrollView::contentsToViewport):
27219 2006-09-27  David Hyatt  <hyatt@apple.com>
27221         Fix for bug 9222, cursor is wrong when mousing over overflow scrollbars in textareas.  Make sure
27222         selectCursor checks for whether or not a scrollbar was hit.  Also stub out a mouseMoved method for
27223         scrollbars to provide hover feedback if needed.
27225         Reviewed by Eric
27227         * page/FrameView.cpp:
27228         (WebCore::selectCursor):
27229         (WebCore::FrameView::handleMouseMoveEvent):
27230         * platform/ScrollBar.h:
27231         (WebCore::ScrollBar::mouseMoved):
27233 2006-09-27  Darin Fisher  <darin@chromium.org>
27235         Reviewed by Maciej and Adam, landed by Adam
27237         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11072
27238         Windows build is busted
27240         * platform/win/TemporaryLinkStubs.cpp:
27241         (ScrollView::paint):
27242         (ScrollView::themeChanged):
27244 2006-09-27  Eric Seidel  <eric@webkit.org>
27246         Reviewed by mitz.
27248         paths with no fill specified default to black but do not receive paint-related mouse events
27249         http://bugs.webkit.org/show_bug.cgi?id=11069
27250         The default fill was being applied at the wrong place in the rendering chain, causing this problem.
27252         Test: svg/custom/hover-default-fill.svg
27254         * kcanvas/RenderPath.cpp:
27255         (WebCore::RenderPath::nodeAtPoint): use isFilled and isStroked
27256         * ksvg2/css/SVGRenderStyle.h: use defaultFill() and defaultStroke()
27257         * ksvg2/misc/KCanvasRenderingStyle.cpp:
27258         (WebCore::KSVGPainterFactory::isFilled): remove null check
27259         (WebCore::KSVGPainterFactory::fillPaintServer): remove null check
27260         (WebCore::KSVGPainterFactory::isStroked): remove null check
27261         (WebCore::KSVGPainterFactory::strokePaintServer): remove null check
27262         * ksvg2/svg/SVGPaint.cpp:
27263         (WebCore::SVGPaint::defaultFill): added.
27264         (WebCore::SVGPaint::defaultStroke): added.
27265         * ksvg2/svg/SVGPaint.h:
27267 2006-09-27  Rob Buis  <buis@kde.org>
27269         Reviewed by eseidel.
27271         http://bugs.webkit.org/show_bug.cgi?id=11015
27272         SVG handles em units incorrectly
27274         Calculate viewport coordinates at layout time, since
27275         at this point the font size is known and lengths depending
27276         on font sizes can be calculated correctly.
27278         * kcanvas/RenderSVGContainer.cpp:
27279         (WebCore::RenderSVGContainer::layout):
27280         (WebCore::RenderSVGContainer::viewport):
27281         (WebCore::RenderSVGContainer::calcViewport):
27282         * kcanvas/RenderSVGContainer.h:
27283         * ksvg2/svg/SVGLength.cpp:
27284         (WebCore::SVGLength::updateValue):
27285         * ksvg2/svg/SVGMarkerElement.cpp:
27286         (WebCore::SVGMarkerElement::createRenderer):
27287         * ksvg2/svg/SVGSVGElement.cpp:
27288         (WebCore::SVGSVGElement::createRenderer):
27289         (WebCore::SVGSVGElement::attributeChanged):
27290         * ksvg2/svg/SVGSVGElement.h:
27292 2006-09-27  Eric Seidel  <eric@webkit.org>
27294         Reviewed by darin.
27296         Change our invalid-fill error behavior to match Opera (and soon Firefox)
27297         http://bugs.webkit.org/show_bug.cgi?id=11017
27299         * ksvg2/misc/KCanvasRenderingStyle.cpp:
27300         (WebCore::KSVGPainterFactory::isFilled):
27301         (WebCore::KSVGPainterFactory::fillPaintServer):
27302         (WebCore::KSVGPainterFactory::isStroked):
27303         (WebCore::KSVGPainterFactory::strokePaintServer):
27305 2006-09-27  Brady Eidson  <beidson@apple.com>
27307         Build fix
27309         * loader/icon/IconDatabase.cpp:
27310         (WebCore::readySQLStatement):
27312 2006-09-27  Brady Eidson  <beidson@apple.com>
27314         Reviewed by Adam
27316         In very specific circumstances, prepared SQLStatements can become invalid without
27317         any warning.  This checks for that state and re-prepares the statement and also
27318         adds more aggressive error-checking everywhere these statements are used.
27320         * loader/icon/IconDatabase.cpp:
27321         (WebCore::readySQLStatement): Check if the statement is expired - reprepare it
27322         (WebCore::IconDatabase::imageDataForIconURLQuery): More thoroughly catch error cases
27323         (WebCore::IconDatabase::timeStampForIconURLQuery): Ditto
27324         (WebCore::IconDatabase::iconURLForPageURLQuery): Ditto
27325         (WebCore::IconDatabase::forgetPageURLQuery): Ditto
27326         (WebCore::IconDatabase::setIconIDForPageURLQuery): Ditto
27327         (WebCore::IconDatabase::getIconIDForIconURLQuery): Ditto
27328         (WebCore::IconDatabase::addIconForIconURLQuery): Ditto
27329         (WebCore::IconDatabase::hasIconForIconURLQuery): Ditto
27330         * loader/icon/SQLStatement.cpp:
27331         (WebCore::SQLStatement::isExpired): Added (accessor to sqlite3_expired())
27332         * loader/icon/SQLStatement.h:
27334 2006-09-26  Darin Adler  <darin@apple.com>
27336         Reviewed by Steve.
27338         - clean up options for font code path
27340         * platform/Font.h:
27341         * platform/Font.cpp:
27342         (WebCore::Font::setCodePath): Added. Replaces boolean version.
27343         (WebCore::Font::canUseGlyphCache): Update to handle "never use complex" case too.
27345         * platform/mac/WebCoreTextRenderer.mm:
27346         (WebCoreSetAlwaysUseATSU): Change to call setCodePath.
27348 2006-09-26  John Sullivan  <sullivan@apple.com>
27350         Reviewed by Darin
27352         * bridge/mac/WebCoreFrameBridge.h:
27353         * bridge/mac/WebCoreFrameBridge.mm:
27354         (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:limit:]):
27355         Added limit parameter, passed down to Frame
27356         
27357         * page/Frame.h:
27358         * page/Frame.cpp:
27359         (WebCore::Frame::markAllMatchesForText):
27360         Added limit parameter. Stop the search if it hits limit.
27362 2006-09-26  Sean Gies  <seangies@apple.com>
27364         Reviewed by Brady Eidson.
27366         * platform/cg/ImageCG.cpp: Removed #if's -- Darin said we don't need these.
27368 2006-09-26  Justin Garcia  <justin.garcia@apple.com>
27370         Reviewed by john
27371         
27372         <rdar://problem/4747695> 
27373         Gmail Editor: Crash at WebCore::Range::startPosition() when decreasing a indent
27374         
27375         * editing/DeleteSelectionCommand.cpp:
27376         (WebCore::DeleteSelectionCommand::initializeStartEnd): Stop expanding
27377         to select special elements that are fully selected after expansion
27378         moves to positions that are visually distinct from the originals.
27379         * editing/InsertListCommand.cpp:
27380         (WebCore::InsertListCommand::doApply): If the content of the list 
27381         item will be moved into another list, put it in a list item.
27383 2006-09-26  Geoffrey Garen <ggaren@apple.com>
27385         Reviewed by Darin.
27386         
27387         Temporary work-around for frame lifetime issue.
27389         * page/Frame.cpp:
27390         (WebCore::Frame::clear):
27391         (WebCore::Frame::disconnectOwnerElement):
27393 2006-09-26  Sam Weinig  <sam.weinig@gmail.com>
27395         Reviewed by Tim H.
27397         Patch for http://bugs.webkit.org/show_bug.cgi?id=11038
27398         Auto-generate DOMSVGElement for the Objective-C bindings
27400         - Auto-generates DOMSVGElement.
27402         - Make SVGExceptions work like all the other ExceptionCode
27403           extensions (Range, XPath, etc.) by adding SVGExceptionOffset
27404           and SVGExceptionMax.
27406         * DerivedSources.make:
27407         * WebCore.xcodeproj/project.pbxproj:
27408         * bindings/js/kjs_binding.cpp:
27409         (KJS::):
27410         (KJS::setDOMException):
27411         * bindings/objc/DOMInternal.h:
27412         * bindings/objc/DOMInternal.mm:
27413         (raiseDOMException):
27414         * bindings/objc/DOMSVG.h:
27415         * bindings/objc/DOMSVGExecption.h: Added.
27416         * ksvg2/ksvg.h:
27417         * ksvg2/svg/SVGElement.cpp:
27418         (WebCore::SVGElement::setId):
27419         (WebCore::SVGElement::setXmlbase):
27420         * ksvg2/svg/SVGElement.h:
27421         * ksvg2/svg/SVGElement.idl:
27422         * ksvg2/svg/SVGException.h: Added.
27423         (WebCore::):
27425 2006-09-26  Eric Seidel  <eric@webkit.org>
27427         Reviewed by Tim H.
27428         
27429         viewbox parser does not allow <tab> as a delimiter
27430         http://bugs.webkit.org/show_bug.cgi?id=11014
27432         Test: svg/hixie/viewbox/003.xml
27434         * ksvg2/svg/svgpathparser.cpp:
27435         (WebCore::isWhitespace): new function
27436         (WebCore::skipOptionalSpaces):
27437         (WebCore::skipOptionalSpacesOrComma):
27439 2006-09-26  Eric Seidel  <eric@webkit.org>
27441         Reviewed by Tim H.
27443         SVGDocument::createElement does not create elements in the SVG namespace
27444         http://bugs.webkit.org/show_bug.cgi?id=10932
27445         
27446         Test: svg/custom/createelement.svg
27448         * ksvg2/svg/SVGDocument.cpp:
27449         (WebCore::SVGDocument::createElement):
27450         * ksvg2/svg/SVGDocument.h:
27452 2006-09-26  Eric Seidel  <eric@webkit.org>
27454         Reviewed by Tim H.
27455         
27456         RenderPath::nodeAtPoint does not respect stroke width
27457         http://bugs.webkit.org/show_bug.cgi?id=10829
27459         Test: svg/custom/stroke-width-click.svg
27461         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
27462         (WebCore::RenderPath::strokeContains):
27463         * kcanvas/device/quartz/QuartzSupport.h:
27464         * kcanvas/device/quartz/QuartzSupport.mm:
27466 2006-09-26  Eric Seidel  <eric@webkit.org>
27468         Reviewed by mitz.
27470         Bring animation back to life
27471         http://bugs.webkit.org/show_bug.cgi?id=11021
27472         
27473         Register/unregister SVGSVGElements as time containers on insertion/removal.
27474         Replace uses of DeprecatedString with String in SVGAnimationElement
27475         Various whitespace clean-up.
27477         * ksvg2/misc/KSVGTimeScheduler.cpp:
27478         (WebCore::SVGTimer::notifyAll):
27479         * ksvg2/misc/SVGDocumentExtensions.cpp:
27480         (WebCore::SVGDocumentExtensions::startAnimations):
27481         (WebCore::SVGDocumentExtensions::pauseAnimations):
27482         (WebCore::SVGDocumentExtensions::unpauseAnimations):
27483         * ksvg2/svg/SVGAnimateTransformElement.cpp:
27484         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
27485         (WebCore::SVGAnimateTransformElement::parseTransformValue):
27486         * ksvg2/svg/SVGAnimateTransformElement.h:
27487         * ksvg2/svg/SVGAnimationElement.cpp:
27488         (WebCore::SVGAnimationElement::SVGAnimationElement):
27489         (WebCore::SVGAnimationElement::parseMappedAttribute):
27490         (WebCore::SVGAnimationElement::parseClockValue):
27491         (WebCore::SVGAnimationElement::targetAttribute):
27492         (WebCore::SVGAnimationElement::setTargetAttribute):
27493         (WebCore::SVGAnimationElement::attributeName):
27494         * ksvg2/svg/SVGAnimationElement.h:
27495         (WebCore::SVGAnimationElement::rendererIsNeeded):
27496         * ksvg2/svg/SVGSVGElement.cpp:
27497         (WebCore::SVGSVGElement::getScreenCTM):
27498         (WebCore::SVGSVGElement::createRenderer):
27499         (WebCore::SVGSVGElement::insertedIntoDocument): added, calls addTimeContainer(this)
27500         (WebCore::SVGSVGElement::removedFromDocument): added, calls removeTimeContainer(this)
27501         * ksvg2/svg/SVGSVGElement.h:
27502         * ksvg2/svg/SVGSetElement.cpp:
27503         (WebCore::SVGSetElement::handleTimerEvent):
27504         * ksvg2/svg/SVGURIReference.cpp:
27505         (WebCore::SVGURIReference::getTarget):
27506         * ksvg2/svg/SVGURIReference.h:
27508 2006-09-26  Graham Dennis  <graham.dennis@gmail.com>
27510         Reviewed by mitzpettel.
27512         - fix http://bugs.webkit.org/show_bug.cgi?id=11020
27513         No-SVG build broken since r16549
27514         
27515         Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT
27517         * css/cssparser.cpp:
27518         (WebCore::CSSParser::parseValue):
27519         * css/cssstyleselector.cpp:
27520         (WebCore::CSSStyleSelector::applyProperty):
27521         * page/FrameView.cpp:
27522         (WebCore::selectCursor):
27523         * platform/qt/GraphicsContextQt.cpp:
27525 2006-09-26  Anders Carlsson  <acarlsson@apple.com>
27527         Reviewed by Maciej.
27529         http://bugs.webkit.org/show_bug.cgi?id=10820
27530         Add StringImpl::toDouble() and remove uses of .deprecatedString().toDouble()
27531         
27532         (Originally written by Eric Seidel).
27533         
27534         * bindings/js/kjs_window.cpp:
27535         (KJS::floatFeature):
27536         * ksvg2/svg/SVGAngle.cpp:
27537         (SVGAngle::setValueAsString):
27538         * ksvg2/svg/SVGAnimationElement.cpp:
27539         (SVGAnimationElement::parseMappedAttribute):
27540         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
27541         (SVGComponentTransferFunctionElement::parseMappedAttribute):
27542         * ksvg2/svg/SVGFECompositeElement.cpp:
27543         (WebCore::SVGFECompositeElement::parseMappedAttribute):
27544         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
27545         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
27546         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
27547         (SVGFEDisplacementMapElement::parseMappedAttribute):
27548         * ksvg2/svg/SVGFELightElement.cpp:
27549         (SVGFELightElement::parseMappedAttribute):
27550         * ksvg2/svg/SVGFEOffsetElement.cpp:
27551         (WebCore::SVGFEOffsetElement::parseMappedAttribute):
27552         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
27553         (SVGFESpecularLightingElement::parseMappedAttribute):
27554         * ksvg2/svg/SVGFETurbulenceElement.cpp:
27555         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
27556         * ksvg2/svg/SVGStopElement.cpp:
27557         (SVGStopElement::parseMappedAttribute):
27558         * platform/AtomicString.h:
27559         (WebCore::AtomicString::toDouble):
27560         * platform/PlatformString.h:
27561         * platform/String.cpp:
27562         (WebCore::String::toDouble):
27563         * platform/StringImpl.cpp:
27564         (WebCore::StringImpl::toDouble):
27565         * platform/StringImpl.h:
27566         * rendering/DeprecatedSlider.cpp:
27567         (WebCore::DeprecatedSlider::updateFromElement):
27568         * xml/XPathGrammar.y:
27570 2006-09-25  David Harrison  <harrison@apple.com>
27572         Reviewed by Tim Omernick and Tim Hatcher.
27574         <rdar://problem/4717965> Text Field text parameterized attributes should work
27575         <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
27577         * bridge/mac/WebCoreAXObject.mm:
27578         (-[WebCoreAXObject accessibilityAttributeValue:]):
27579         Use new line number support to implement NSAccessibilityInsertionPointLineNumberAttribute.
27580         
27581         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
27582         Cleaned up. Added text field and text area parameterzed attributes.
27583         
27584         (-[WebCoreAXObject doAXLineForTextMarker:]):
27585         Fixed to be zero-based and to deal with the first position properly.
27586         
27587         (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
27588         Minor formatting.
27589         
27590         (-[WebCoreAXObject textMarkerForIndex:lastIndexOK:]):
27591         (-[WebCoreAXObject indexForTextMarker:]):
27592         (-[WebCoreAXObject textMarkerRangeForRange:]):
27593         (-[WebCoreAXObject rangeForTextMarkerRange:]):
27594         New utility methods.
27595         
27596         (-[WebCoreAXObject doAXLineForIndex:]):
27597         (-[WebCoreAXObject doAXRangeForLine:]):
27598         (-[WebCoreAXObject doAXStringForRange:]):
27599         (-[WebCoreAXObject doAXRangeForPosition:]):
27600         (-[WebCoreAXObject doAXRangeForIndex:]):
27601         (-[WebCoreAXObject doAXBoundsForRange:]):
27602         (-[WebCoreAXObject doAXAttributedStringForRange:]):
27603         (-[WebCoreAXObject doAXRTFForRange:]):
27604         (-[WebCoreAXObject doAXStyleRangeForIndex:]):
27605         Implement text field and text area parameterized attributes.
27606          
27607         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
27608         Added text field and text area parameterzed attributes.
27610         * rendering/RenderTextControl.h:
27611         Made indexForVisiblePosition() and visiblePositionForIndex() public.
27613 2006-09-25  Adam Roben  <aroben@apple.com>
27615         Reviewed by Brady.
27617         Build fixes.
27619         * WebCore.vcproj/WebCore/WebCore.vcproj: Fix malformed XML.
27620         * platform/ResourceLoader.h: Store whether a particular job
27621         has received a response within the ResourceLoader object itself, since
27622         it's possible that we will enter the InternetReadFileExA while loop
27623         twice for the same job.
27624         * platform/ResourceLoaderInternal.h: Add private instance variable to
27625         store whether we've received a response.
27626         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
27627         * platform/win/GraphicsContextWin.cpp: Fix order of preprocessor
27628         directives.
27629         * platform/win/ResourceLoaderWin.cpp: 
27630         (WebCore::ResourceLoader::onRequestComplete): Ask the ResourceLoader
27631         whether it has received a response instead of assuming it hasn't.
27632         (WebCore::ResourceLoader::setHasReceivedResponse): Added.
27633         (WebCore::ResourceLoader::hasReceivedResponse): Added.
27634         * platform/win/TemporaryLinkStubs.cpp: Rename setKnobProportion to
27635         setProportion
27636         (ScrollBar::setProportion):
27638 2006-09-25  Brady Eidson  <beidson@apple.com>
27640         Requested by ggaren
27642         Disabled IconDatabase logging by default
27644         * platform/Logging.cpp:
27645         (WebCore::):
27647 2006-09-25  Steve Falkenburg  <sfalken@apple.com>
27649         Build fix
27651         * platform/cf/ResourceLoaderCFNet.cpp:
27652         (WebCore::willCacheResponse):
27654 2006-09-25  Justin Garcia  <justin.garcia@apple.com>
27656         Reviewed by john
27657         
27658         <http://bugs.webkit.org/show_bug.cgi?id=11002>
27659         Gmail Editor: Crash at WebCore::SplitElementCommand::doApply() when attempting to indent in a new message
27660         
27661         * editing/IndentOutdentCommand.cpp:
27662         (WebCore::IndentOutdentCommand::indentRegion): Special case
27663         an empty root editable element.
27665 2006-09-25  Brady Eidson  <beidson@apple.com>
27667         Reviewed by Steve
27669         Math error in SystemTimeWin
27671         * platform/win/SystemTimeWin.cpp:
27672         (WebCore::currentTime):
27674 2006-09-25  Alexey Proskuryakov  <ap@nypop.com>
27676         Reviewed by Eric.
27678         Whitespace cleanup; rename *job variables to *loader.
27680         * bindings/js/JSXMLHttpRequest.cpp:
27681         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
27682         (KJS::JSXMLHttpRequestConstructorImp::implementsConstruct):
27683         (KJS::JSXMLHttpRequestConstructorImp::construct):
27684         (KJS::JSXMLHttpRequest::getOwnPropertySlot):
27685         (KJS::JSXMLHttpRequest::getValueProperty):
27686         (KJS::JSXMLHttpRequest::put):
27687         (KJS::JSXMLHttpRequest::putValueProperty):
27688         (KJS::JSXMLHttpRequest::mark):
27689         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
27690         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
27691         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
27692         * bindings/js/JSXMLHttpRequest.h:
27693         (KJS::JSXMLHttpRequest::toBoolean):
27694         * xml/xmlhttprequest.cpp:
27695         (WebCore::XMLHttpRequest::XMLHttpRequest):
27696         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
27697         (WebCore::XMLHttpRequest::send):
27698         (WebCore::XMLHttpRequest::abort):
27699         (WebCore::XMLHttpRequest::receivedAllData):
27700         (WebCore::XMLHttpRequest::receivedData):
27701         * xml/xmlhttprequest.h:
27702         (WebCore::):
27704 2006-09-25  Timothy Hatcher  <timothy@apple.com>
27706         Reviewed by Brady.
27708         - Deprecate the rest of the old-style methods that are not generated.
27709         - Add @property syntax to DOMRange.
27711         * WebCore.xcodeproj/project.pbxproj:
27712         * bindings/objc/DOM.mm:
27713         (-[DOMRange setStart:offset:]):
27714         (-[DOMRange setEnd:offset:]):
27715         (-[DOMRange compareBoundaryPoints:sourceRange:]):
27716         (-[DOMRange setStart::]):
27717         (-[DOMRange setEnd::]):
27718         (-[DOMRange compareBoundaryPoints::]):
27719         (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
27720         (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
27721         (-[DOMDocument createNodeIterator::::]):
27722         (-[DOMDocument createTreeWalker::::]):
27723         * bindings/objc/DOMCSS.h:
27724         * bindings/objc/DOMCSS.mm:
27725         (-[DOMDocument getComputedStyle:pseudoElement:]):
27726         (-[DOMDocument getComputedStyle::]):
27727         (-[DOMDocument getMatchedCSSRules:pseudoElement:]):
27728         * bindings/objc/DOMExtensions.h:
27729         * bindings/objc/DOMHTML.h:
27730         * bindings/objc/DOMRange.h:
27731         * bindings/objc/DOMTraversal.h:
27733 2006-09-25  Eric Seidel  <eric@webkit.org>
27735         Reviewed by mjs.
27736         
27737         Outermost <svg> element should clip to viewport
27738         http://bugs.webkit.org/show_bug.cgi?id=11007
27740         Test: svg/custom/viewport-clip.svg
27742         * css/svg.css: change svg:root overflow: from 'visible' to 'hidden'
27744 2006-09-25  Anders Carlsson  <acarlsson@apple.com>
27746         Reviewed by Maciej.
27748         * css/MediaList.cpp:
27749         Remove unused header.
27750         
27751         * dom/Document.cpp:
27752         (WebCore::Document::clear):
27753         Use clear instead of iterating through the list of event listeners, removing each one.
27754         (Doing that causes a crash when running the layout tests with GuardMalloc turned on)
27755         
27756         * html/HTMLKeygenElement.cpp:
27757         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
27758         (WebCore::HTMLKeygenElement::appendFormData):
27759         Update due to changes in the SSL key generator.
27760         
27761         * ksvg2/svg/SVGAngle.cpp:
27762         Remove unused header.
27763         
27764         * ksvg2/svg/SVGAnimationElement.cpp:
27765         (SVGAnimationElement::parseMappedAttribute):
27766         Rename methods and pass Strings instead of DeprecatedStrings to
27767         parseSeparatedList.
27768         
27769         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
27770         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
27771         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
27772         * ksvg2/svg/SVGFEMergeElement.cpp:
27773         * ksvg2/svg/SVGFEOffsetElement.cpp:
27774         Remove unused headers.
27775         
27776         * ksvg2/svg/SVGHelper.cpp:
27777         (WebCore::SVGHelper::parseSeparatedList):
27778         * ksvg2/svg/SVGHelper.h:
27779         Rename ParseSeperatedList to parseSeparatedList, make it take a String instead of a 
27780         DeprecatedString and have it use Vector<String> instead of DeprecatedStringList.
27781         
27782         * ksvg2/svg/SVGLengthList.cpp:
27783         (WebCore::SVGLengthList::parse):
27784         * ksvg2/svg/SVGLengthList.h:
27785         Use Vector<String> instead of DeprecatedStringList.
27786         
27787         * loader/Cache.cpp:
27788         (WebCore::Cache::requestImage):
27789         (WebCore::Cache::requestStyleSheet):
27790         (WebCore::Cache::requestScript):
27791         (WebCore::Cache::requestXSLStyleSheet):
27792         (WebCore::Cache::requestXBLDocument):
27793         (WebCore::Cache::remove):
27794         (WebCore::Cache::get):
27795         Use a String as the key in the cache set instead of a RefPtr<StringImpl>.
27796         
27797         * loader/DocLoader.cpp:
27798         (WebCore::DocLoader::needReload):
27799         * loader/DocLoader.h:
27800         Use a HashSet instead of DeprecatedStringList.
27801         
27802         * page/FrameView.h:
27803         Remove declarations that have no functions.
27804         
27805         * platform/SSLKeyGenerator.h:
27806         * platform/mac/SSLKeyGeneratorMac.mm:
27807         (WebCore::supportedKeySizes):
27808         (WebCore::signedPublicKeyAndChallengeString):
27809         Convert to use Vector<String> instead of DeprecatedStringList, and String instead of
27810         DeprecatedString.
27812 2006-09-25  Dave Hyatt  <hyatt@apple.com>
27814         Shunt the RenderTheme world transform adoption between
27815         Cairo and Windows into getWindowsContext and move the method
27816         out of GraphicsContextCairo and into GraphicsContextWin.
27818         * ChangeLog:
27819         * WebCore.vcproj/WebCore/WebCore.vcproj:
27820         * platform/cairo/GraphicsContextCairo.cpp:
27821         * platform/win/GraphicsContextWin.cpp: Added.
27822         (WebCore::GraphicsContext::getWindowsContext):
27823         (WebCore::GraphicsContext::releaseWindowsContext):
27824         * rendering/RenderThemeWin.cpp:
27825         (WebCore::prepareForDrawing):
27827 2006-09-24  Eric Seidel  <eric@webkit.org>
27829         Reviewed by hyatt.
27831         <svg:a> cannot be styled with a:hover
27832         http://bugs.webkit.org/show_bug.cgi?id=11005
27833         
27834         Test: svg/hixie/cascade/002.xml
27836         * css/cssstyleselector.cpp:
27837         (WebCore::checkPseudoState):
27839 2006-09-24  Sam Weinig  <sam.weinig@gmail.com>
27841         Reviewed by Tim H.
27843         Patch for http://bugs.webkit.org/show_bug.cgi?id=10882
27844         SVG needs Obj-C DOM bindings
27846         - Auto-generate the first 8 Objective-C SVG DOM bindings.  The 
27847           auto-generated classes are DOMSVGAngle, DOMSVGLength, DOMSVGLengthList,
27848           DOMSVGMatrix, DOMSVGPathSeg, DOMSVGPathSegList, DOMSVGTransform, and 
27849           DOMSVGTransformList.
27851         * DerivedSources.make:
27852         * WebCore.xcodeproj/project.pbxproj:
27853         * bindings/objc/DOMInternal.h:
27854         * bindings/objc/DOMSVG.h: Added.
27855         * ksvg2/svg/SVGAngle.idl:
27856         * ksvg2/svg/SVGLength.idl:
27857         * ksvg2/svg/SVGLengthList.idl:
27858         * ksvg2/svg/SVGMatrix.idl:
27859         * ksvg2/svg/SVGPathSeg.idl:
27860         * ksvg2/svg/SVGPathSegList.idl:
27861         * ksvg2/svg/SVGTransform.idl:
27862         * ksvg2/svg/SVGTransformList.idl:
27864 2006-09-24  Rob Buis  <buis@kde.org>
27866         Reviewed by eseidel.
27868         Fix for http://bugs.webkit.org/show_bug.cgi?id=6001
27869         WebKit does not handle fallback custom cursors
27870         Fix for http://bugs.webkit.org/show_bug.cgi?id=6002
27871         WebKit does not properly handle SVG <cursor> element
27873         Add support for svg cursor images. Also make sure hotspot
27874         settings are handled correctly. Add tests for handling of css3
27875         cursor syntax with hotspots in strict and quirks mode. Finally
27876         implement fallback.
27878         * WebCore.xcodeproj/project.pbxproj:
27879         * css/CSSComputedStyleDeclaration.cpp:
27880         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
27881         * css/CSSCursorImageValue.cpp: Added.
27882         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
27883         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
27884         * css/CSSCursorImageValue.h: Added.
27885         (WebCore::CSSCursorImageValue::hotspot):
27886         * css/cssparser.cpp:
27887         (WebCore::CSSParser::parseValue):
27888         * css/cssstyleselector.cpp:
27889         (WebCore::CSSStyleSelector::applyProperty):
27890         * ksvg2/svg/SVGCursorElement.cpp:
27891         * manual-tests/css3-cursor-fallback-quirks.html: Added.
27892         * manual-tests/css3-cursor-fallback-strict.html: Added.
27893         * manual-tests/cursorfallback.xml: Added.
27894         * page/FrameView.cpp:
27895         (WebCore::selectCursor):
27896         * platform/Cursor.h:
27897         * platform/mac/CursorMac.mm:
27898         (WebCore::createCustomCursor):
27899         (WebCore::Cursor::Cursor):
27900         * platform/qt/CursorQt.cpp:
27901         (WebCore::Cursor::Cursor):
27902         * rendering/RenderStyle.cpp:
27903         (WebCore::StyleInheritedData::StyleInheritedData):
27904         (WebCore::StyleInheritedData::operator==):
27905         (WebCore::RenderStyle::diff):
27906         (WebCore::RenderStyle::addCursor):
27907         (WebCore::RenderStyle::addSVGCursor):
27908         (WebCore::RenderStyle::setCursorList):
27909         (WebCore::RenderStyle::clearCursorList):
27910         * rendering/RenderStyle.h:
27911         (WebCore::CursorData::CursorData):
27912         (WebCore::CursorList::operator[]):
27913         (WebCore::CursorList::size):
27914         (WebCore::CursorList::append):
27915         (WebCore::RenderStyle::cursors):
27917 2006-09-24  Sam Weinig  <sam.weinig@gmail.com>
27919         Reviewed by Tim H.
27921         Patch for http://bugs.webkit.org/show_bug.cgi?id=11009
27922         Auto-generate the internal methods interfaces for the Objective-C bindings
27924         - Auto-generate the internal method declarations into their own files
27925           named in the form DOMFooBarInternal.h for class DOMFooBar.
27927         - Remove all use of DOM_cast from code.
27929         - Assorted cleanups.
27931         * WebCore.xcodeproj/project.pbxproj:
27932         * bindings/objc/DOM.mm:
27933         (-[DOMNode _initWithNode:WebCore::]):
27934         (-[DOMNode WebCore::]):
27935         (-[DOMRange dealloc]):
27936         (-[DOMRange finalize]):
27937         (-[DOMRange _initWithRange:WebCore::]):
27938         (-[DOMRange WebCore::]):
27939         (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
27940         (-[DOMNodeFilter WebCore::]):
27941         (-[DOMNodeFilter dealloc]):
27942         (-[DOMNodeFilter finalize]):
27943         (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]):
27944         (-[DOMNodeIterator WebCore::]):
27945         (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]):
27946         (-[DOMTreeWalker WebCore::]):
27947         * bindings/objc/DOMAbstractView.mm:
27948         (-[DOMAbstractView _initWithAbstractView:WebCore::]):
27949         * bindings/objc/DOMCSS.mm:
27950         (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
27951         (-[DOMCSSRule _initWithRule:WebCore::]):
27952         (-[DOMCSSValue _initWithValue:WebCore::]):
27953         * bindings/objc/DOMEvents.mm:
27954         (-[DOMEvent _initWithEvent:WebCore::]):
27955         * bindings/objc/DOMHTMLAppletElement.mm:
27956         (-[DOMHTMLAppletElement align]):
27957         (-[DOMHTMLAppletElement setAlign:]):
27958         (-[DOMHTMLAppletElement alt]):
27959         (-[DOMHTMLAppletElement setAlt:]):
27960         (-[DOMHTMLAppletElement archive]):
27961         (-[DOMHTMLAppletElement setArchive:]):
27962         (-[DOMHTMLAppletElement code]):
27963         (-[DOMHTMLAppletElement setCode:]):
27964         (-[DOMHTMLAppletElement codeBase]):
27965         (-[DOMHTMLAppletElement setCodeBase:]):
27966         (-[DOMHTMLAppletElement height]):
27967         (-[DOMHTMLAppletElement setHeight:]):
27968         (-[DOMHTMLAppletElement hspace]):
27969         (-[DOMHTMLAppletElement setHspace:]):
27970         (-[DOMHTMLAppletElement name]):
27971         (-[DOMHTMLAppletElement setName:]):
27972         (-[DOMHTMLAppletElement object]):
27973         (-[DOMHTMLAppletElement setObject:]):
27974         (-[DOMHTMLAppletElement vspace]):
27975         (-[DOMHTMLAppletElement setVspace:]):
27976         (-[DOMHTMLAppletElement width]):
27977         (-[DOMHTMLAppletElement setWidth:]):
27978         * bindings/objc/DOMInternal.h:
27979         (getDOMWrapper):
27980         (addDOMWrapper):
27981         (raiseOnDOMError):
27982         * bindings/objc/DOMXPath.mm:
27983         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
27984         * bindings/scripts/CodeGeneratorObjC.pm:
27986 2006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
27988         Reviewed by eseidel.
27990         Fix Qt/Linux build after Dave's Scrollbar changes.
27992         * platform/qt/PlatformScrollBar.h: (Somehow this contained the file twice! Removed one instance!)
27993         * platform/qt/TemporaryLinkStubs.cpp:
27994         (WebCore::ScrollBar::setProportion):
27995         (WebCore::PlatformScrollBar::updateThumbPosition):
27996         (WebCore::PlatformScrollBar::updateThumbProportion):
27998 2006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
28000         Reviewed by eseidel.
28002         Qt/Linux build system changes: enable xpath/xslt by default.
28003         Offer possibility to change all of these using 'ccmake'.
28005         * CMakeLists.txt:
28007 2006-09-24  Dave Hyatt  <hyatt@apple.com>
28009         Cleanup of Scrollbar APIs.  Rename setKnobProportion to setProportion.  Rename setScrollbarValue to updateThumbPosition.
28010         Give setProportion a base class implementation and implement it using the same pattern as setValue/updateThumbPosition (so that
28011         the base calls a protected virtual function, updateThumbProportion, implemented by the derived class to update the actual scrollbar itself).
28013         * platform/ScrollBar.cpp:
28014         (WebCore::ScrollBar::setValue):
28015         (WebCore::ScrollBar::setProportion):
28016         * platform/ScrollBar.h:
28017         (WebCore::ScrollBar::value):
28018         * platform/mac/PlatformScrollBar.h:
28019         * platform/mac/PlatformScrollBarMac.mm:
28020         (WebCore::PlatformScrollBar::updateThumbPosition):
28021         (WebCore::PlatformScrollBar::updateThumbProportion):
28022         * platform/win/PlatformScrollBar.h:
28023         * platform/win/TemporaryLinkStubs.cpp:
28024         (PlatformScrollBar::updateThumbPosition):
28025         (PlatformScrollBar::updateThumbProportion):
28026         * rendering/RenderLayer.cpp:
28027         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
28029 2006-09-23  Alexey Proskuryakov  <ap@nypop.com>
28031         Reviewed by Eric.
28033         http://bugs.webkit.org/show_bug.cgi?id=4872
28034         XMLHttpRequest fails to throw an exception when there is a security violation
28035         (mismatching domains)
28037         Raise an exception if there is a security violation, and also in cases required by
28038         the current draft of XHR specification.
28040         * bindings/js/JSXMLHttpRequest.cpp:
28041         (KJS::JSXMLHttpRequest::getValueProperty): Raise an exception if a DOM method reports one.
28042         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Raise an exception if a DOM method
28043         reports one, and also if there were too few arguments passed. 
28045         * bindings/js/kjs_binding.cpp:
28046         (KJS::setDOMException): Added support for custom XHR exceptions.
28048         * xml/xmlhttprequest.h: Changed state names to match the current spec. Defined an
28049         exception code range for XHR exceptions.
28051         * xml/xmlhttprequest.cpp:
28052         (WebCore::XMLHttpRequest::open): Removed a check for m_aborted that could never succeed.
28053         (WebCore::XMLHttpRequest::send):
28054         (WebCore::XMLHttpRequest::setRequestHeader):
28055         (WebCore::XMLHttpRequest::getStatus):
28056         (WebCore::XMLHttpRequest::getStatusText):
28057         (WebCore::XMLHttpRequest::processSyncLoadResults):
28058         (WebCore::XMLHttpRequest::receivedAllData):
28059         (WebCore::XMLHttpRequest::receivedData):
28061 2006-09-22  Steve Falkenburg  <sfalken@apple.com>
28063         Reviewed by Jeff Jenkins.
28065         Tweak CF types.
28067         * platform/cf/ResourceLoaderCFNet.cpp:
28068         (WebCore::willCacheResponse):
28070 2006-09-22  Justin Garcia  <justin.garcia@apple.com>
28072         Reviewed by darin
28074         <http://bugs.webkit.org/show_bug.cgi?id=8029>
28075         Rename Node::isAncestor and RenderObject::hasAncestor to isDescendantOf
28077         * dom/Document.cpp:
28078         (WebCore::Document::clearSelectionIfNeeded):
28079         * dom/Element.cpp:
28080         (WebCore::Element::contains):
28081         * dom/Node.cpp:
28082         (WebCore::Node::traverseNextNode):
28083         (WebCore::Node::traverseNextSibling):
28084         (WebCore::Node::traversePreviousNodePostOrder):
28085         (WebCore::Node::checkAddChild):
28086         (WebCore::Node::isDescendantOf):
28087         * dom/Node.h:
28088         * dom/NodeIterator.cpp:
28089         (WebCore::NodeIterator::notifyBeforeNodeRemoval):
28090         * editing/ApplyStyleCommand.cpp:
28091         (WebCore::ApplyStyleCommand::applyBlockStyle):
28092         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
28093         (WebCore::ApplyStyleCommand::applyInlineStyle):
28094         (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode):
28095         * editing/CompositeEditCommand.cpp:
28096         (WebCore::CompositeEditCommand::mergeIdenticalElements):
28097         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
28098         * editing/DeleteSelectionCommand.cpp:
28099         (WebCore::updatePositionForNodeRemoval):
28100         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
28101         (WebCore::DeleteSelectionCommand::mergeParagraphs):
28102         * editing/FormatBlockCommand.cpp:
28103         (WebCore::FormatBlockCommand::doApply):
28104         * editing/IndentOutdentCommand.cpp:
28105         (WebCore::enclosingListOrBlockquote):
28106         * editing/Selection.cpp:
28107         (WebCore::Selection::validate):
28108         * editing/SelectionController.cpp:
28109         (WebCore::SelectionController::nodeWillBeRemoved):
28110         * editing/TextIterator.cpp:
28111         (WebCore::SimplifiedBackwardsTextIterator::advance):
28112         * editing/VisiblePosition.cpp:
28113         (WebCore::VisiblePosition::next):
28114         (WebCore::VisiblePosition::previous):
28115         (WebCore::VisiblePosition::canonicalPosition):
28116         (WebCore::isFirstVisiblePositionInNode):
28117         (WebCore::isLastVisiblePositionInNode):
28118         * editing/htmlediting.cpp:
28119         (WebCore::firstEditablePositionAfterPositionInRoot):
28120         (WebCore::lastEditablePositionBeforePositionInRoot):
28121         (WebCore::enclosingNodeWithTag):
28122         (WebCore::enclosingList):
28123         (WebCore::enclosingListChild):
28124         * editing/markup.cpp:
28125         (WebCore::createMarkup):
28127 2006-09-22  Timothy Hatcher  <timothy@apple.com>
28129         Reviewed by Darin.
28131         - Added @property syntax to non-generated headers
28132           inside #ifndef BUILDING_ON_TIGER.
28133         - Changed the DOMEventTarget protocol to have have new versions
28134           of addEventListener and removeEventListener with named parameters.
28135           These old style methods can be removed once Mail changes to use
28136           the new methods <rdar://problem/4746649>.
28138         * WebCorePrefix.h: define BUILDING_ON_TIGER when Tiger is the target
28139         * bindings/objc/DOM.mm:
28140         (-[DOMNode addEventListener:listener:useCapture:]):
28141         (-[DOMNode addEventListener:::]): call the new method
28142         (-[DOMNode removeEventListener:listener:useCapture:]):
28143         (-[DOMNode removeEventListener:::]): call the new method
28144         * bindings/objc/DOMAbstractView.h:
28145         * bindings/objc/DOMEventTarget.h:
28146         * bindings/objc/DOMHTMLAppletElement.h:
28147         * bindings/objc/DOMHTMLEmbedElement.h:
28148         * bindings/objc/DOMHTMLOptionElement.h:
28149         * bindings/objc/DOMObject.h:
28150         * bindings/objc/DOMRGBColor.h:
28152 2006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>
28154         Reviewed by Eric.
28156         Fix Qt/Linux build and a really stupid mixup in GraphicsContextQt.
28158         * platform/qt/FrameQt.cpp:
28159         * platform/qt/GraphicsContextQt.cpp:
28160         (WebCore::GraphicsContext::translate): Make it actually translate, not scale! :-)
28161         (WebCore::GraphicsContext::origin):
28162         * platform/qt/PlatformScrollBar.h: Added.
28163         (WebCore::PlatformScrollBar::isWidget):
28164         * platform/qt/WidgetQt.cpp:
28165         (WebCore::Widget::invalidate):
28166         (WebCore::Widget::invalidateRect):
28168 2006-09-22  Dave Hyatt <hyatt@apple.com>
28170         Super-minor tweaks to the systemFont function on Mac.
28171         Set the generic family to None rather than to Serif, and
28172         don't waste time setting the computed size, since that is
28173         set from the specified size over in CSSStyleSelector anyway.
28175         * rendering/RenderThemeMac.mm:
28176         (WebCore::RenderThemeMac::systemFont):
28178 2006-09-22  Timothy Hatcher  <timothy@apple.com>
28180         Reviewed by Brady.
28182         Build fix for Xcode 2.3. Convert GraphicsContext::translate() to
28183         take floats. There was already an implicit conversion to float/double
28184         when calling CGContextTranslateCTM or cairo_translate.
28186         * platform/GraphicsContext.h:
28187         * platform/cairo/GraphicsContextCairo.cpp:
28188         (WebCore::GraphicsContext::translate):
28189         * platform/cg/GraphicsContextCG.cpp:
28190         (WebCore::GraphicsContext::translate):
28192 2006-09-22  Brady Eidson  <beidson@apple.com>
28194         Reviewed by Sfalken
28196         Add redirect and other cleanup to ResourceLoaderWin.cpp
28197         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10927
28198         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10744
28200         * WebCore.xcodeproj/project.pbxproj:
28201         * platform/ResourceLoader.h:
28202         * platform/win/ResourceLoaderWin.cpp:
28203         (WebCore::ResourceLoaderWndProc):
28204         (WebCore::initializeOffScreenResourceLoaderWindow):
28205         (WebCore::ResourceLoader::onHandleCreated):
28206         (WebCore::ResourceLoader::onRequestRedirected):
28207         (WebCore::ResourceLoader::onRequestComplete):
28208         (WebCore::transferJobStatusCallback):
28210 2006-09-22  Alexey Proskuryakov  <ap@nypop.com>
28212         Reviewed by Geoff.
28214         http://bugs.webkit.org/show_bug.cgi?id=10803
28215         REGRESSION (r15536-r15544): manual-tests/bugzilla-6821.html failing
28217         * page/FrameView.cpp:
28218         (WebCore::FrameView::hoverTimerFired): Use the current event.
28220 2006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>
28222         Reviewed by Anders.
28224         Fix (last) svg memory leak.
28226         * ksvg2/svg/SVGTransformable.cpp: delete 't' in error case.
28227         (SVGTransformable::parseTransformAttribute):
28229 2006-09-22  Eric Seidel  <eric@webkit.org>
28231         No review necessary, just removing a dead file.
28233         Remove unused file (added previously by mistake) to make room for real implementation.
28235         * platform/mac/BitmapImageMac.mm: Removed.
28237 2006-09-22  Dave Hyatt <hyatt@apple.com>
28239         Move PlatformScrollBar.h down into the platforms.
28240         
28241         Reviewed by andersca
28243         * platform/PlatformScrollBar.h: Removed.
28244         * platform/win/PlatformScrollBar.h: Added.
28245         * platform/mac/PlatformScrollBar.h: Added.
28247 2006-09-22   Dave Hyatt  <hyatt@apple.com>
28249         Add support for invalidation of widgets.  This will be needed for the Win32 widget subsystem (and for
28250         any widget subsystems that don't have any underlying native objects backing the widgets.
28252         Reviewed by anders
28254         * platform/Widget.h:
28255         * platform/mac/WidgetMac.mm:
28256         (WebCore::Widget::invalidate):
28257         (WebCore::Widget::invalidateRect):
28258         * platform/win/TemporaryLinkStubs.cpp:
28259         (Widget::invalidate):
28260         (Widget::invalidateRect):
28262 2006-09-22  Rob Buis  <buis@kd.org>
28264         Reviewed by eseidel.
28266         http://bugs.webkit.org/show_bug.cgi?id=10901
28267         Merge build fixes from unity
28269         * CMakeLists.txt:
28271 2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
28273         Reviewed by eseidel.
28275         http://bugs.webkit.org/show_bug.cgi?id=10977
28276         SVGDocument does not expose 'rootElement' property
28278         Enable 'rootElement' property.
28280         * ksvg2/svg/SVGDocument.idl:
28282 2006-09-21  Steve Falkenburg  <sfalken@apple.com>
28284         Tweak includes.
28286         * platform/ResourceLoaderInternal.h:
28288 2006-09-21  Geoffrey Garen  <ggaren@apple.com>
28290         build fixed. band happy.
28291         
28292         * platform/cg/GraphicsContextCG.cpp:
28293         (WebCore::GraphicsContext::translate):
28294         * platform/mac/WidgetMac.mm:
28296 2006-09-21  Geoffrey Garen  <ggaren@apple.com>
28298         Reviewed by Maciej.
28299         
28300         Some Widget refactoring.
28302         * WebCore.vcproj/WebCore/WebCore.vcproj:
28303         * bridge/mac/FrameMac.mm:
28304         * bridge/win/FrameWin.cpp:
28305         (WebCore::FrameWin::runJavaScriptAlert):
28306         (WebCore::FrameWin::runJavaScriptConfirm):
28307         * bridge/win/PageWin.cpp:
28308         (WebCore::Page::Page):
28309         (WebCore::rootWindowForFrame):
28310         * html/CanvasRenderingContext2D.cpp:
28311         (WebCore::CanvasRenderingContext2D::translate):
28312         * page/FrameView.cpp:
28313         (WebCore::FrameView::isFrameView):
28314         * page/Page.h:
28315         (WebCore::Page::setInstanceHandle):
28316         (WebCore::Page::instanceHandle):
28317         * platform/GraphicsContext.h:
28318         * platform/ScrollView.h:
28319         * platform/Widget.h:
28320         * platform/cairo/GraphicsContextCairo.cpp:
28321         (WebCore::GraphicsContext::translate):
28322         (WebCore::GraphicsContext::origin):
28323         * platform/mac/WidgetMac.mm:
28324         (WebCore::Widget::clearFocus):
28325         * platform/win/ResourceLoaderWin.cpp:
28326         (WebCore::initializeOffScreenResourceLoaderWindow):
28327         * platform/win/ScreenWin.cpp:
28328         (WebCore::monitorInfo):
28329         * platform/win/ScrollViewWin.cpp:
28330         (WebCore::ScrollView::updateContents):
28331         (WebCore::ScrollView::visibleWidth):
28332         (WebCore::ScrollView::visibleHeight):
28333         (WebCore::ScrollView::visibleContentRect):
28334         (WebCore::ScrollView::viewportToContents):
28335         (WebCore::ScrollView::contentsToViewport):
28336         (WebCore::ScrollView::scrollBy):
28337         (WebCore::ScrollView::updateScrollInfo):
28338         (WebCore::ScrollView::updateScrollBars):
28339         * platform/win/SharedTimerWin.cpp:
28340         (WebCore::initializeOffScreenTimerWindow):
28341         * platform/win/TemporaryLinkStubs.cpp:
28342         (FrameView::updateBorder):
28343         (ScrollView::paint):
28344         (GraphicsContext::clip):
28345         * platform/win/WidgetWin.cpp:
28346         (WebCore::Widget::Widget):
28347         (WebCore::Widget::parentWindow):
28348         (WebCore::Widget::setParentWindow):
28349         (WebCore::Widget::frameGeometry):
28350         (WebCore::Widget::hasFocus):
28351         (WebCore::Widget::setFocus):
28352         (WebCore::Widget::show):
28353         (WebCore::Widget::hide):
28354         (WebCore::Widget::setFrameGeometry):
28356 2006-09-22  Anders Carlsson  <acarlsson@apple.com>
28358         Reviewed by Tim H.
28360         * platform/TextEncoding.cpp:
28361         (WebCore::TextEncoding::backslashAsCurrencySymbol):
28362         Add comment clarifying why backslashAsCurrencySymbol is needed.
28364 2006-09-21  Sean Gies  <seangies@apple.com>
28366         Reviewed by Adam Roben.
28368         Add utility functions to get and release HDC from GraphicsContext.
28370         * platform/GraphicsContext.h: Add utilities to get and release HDC.
28371         * platform/cairo/GraphicsContextCairo.cpp: Implement new utilities.
28372         * rendering/RenderThemeWin.cpp: Switch to new utilities.
28374 2006-09-21  Justin Garcia  <justin.garcia@apple.com>
28376         Reviewed by anders
28377         
28378         <rdar://problem/4426622>
28379         Plain text paste slow.  Time spent mostly in WebCore::rebalanceWhitespaceInTextNode(...)
28381         * editing/htmlediting.cpp:
28382         (WebCore::rebalanceWhitespaceInTextNode): We no longer need to use a RegExp replace because we
28383         aren't producing complicated sequences here.  Use multiple UChar -> UChar replaces instead for speed.
28384         Got rid of uses of DepricatedString.
28386 2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
28388         Reviewed by eseidel.
28390         Don't crash if no IconDatabase is available (ie. on Qt/Gdk)
28392         * page/Frame.cpp:
28393         (WebCore::Frame::endIfNotLoading):
28395 2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
28397         Reviewed by eseidel.
28399         Fix Qt/Linux build.
28401         * CMakeLists.txt:
28402         * kcanvas/device/qt/KCanvasClipperQt.h:
28403         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
28404         * platform/qt/FrameQt.cpp:
28405         (WebCore::FrameQt::isLoadTypeReload):
28406         (WebCore::FrameQt::originalRequestURL):
28407         * platform/qt/FrameQt.h:
28408         * platform/qt/GraphicsContextQt.cpp:
28409         (WebCore::GraphicsContext::concatCTM):
28410         * platform/qt/ScrollViewQt.cpp:
28411         (WebCore::ScrollView::wheelEvent):
28412         * platform/qt/TemporaryLinkStubs.cpp:
28413         (WebCore::IconDatabase::setIconURLForPageURL):
28415 2006-09-20  Justin Garcia  <justin.garcia@apple.com>
28417         Reviewed by john
28418         
28419         <http://bugs.webkit.org/show_bug.cgi?id=7165>
28420         TinyMCE: Dragging & dropping content always leaves a copy when editing inside a subframe
28422         * editing/MoveSelectionCommand.cpp:
28423         (WebCore::MoveSelectionCommand::MoveSelectionCommand): Set the document
28424         to the position-to-move-to's document, not the fragment's document.  The 
28425         fragment's document is the document used to create the fragment and is irrelavant.
28427 === Safari-521.27 ===
28429 2006-09-21  Brady Eidson  <beidson@apple.com>
28431         Reviewed by Anders
28433         When your assumption is "IconDatabase::sharedIconDatabase()" will never fail but it does, you're in trouble
28434         This fixes Spinneret so it won't crash on its first load!
28436         * page/Frame.cpp:
28437         (WebCore::Frame::endIfNotLoading):
28439 2006-09-21  Brady Eidson  <beidson@apple.com>
28441         Build fix
28443         * platform/win/TemporaryLinkStubs.cpp:
28444         (ScrollView::wheelEvent):
28446 2006-09-20  Rob Buis  <buis@kde.org>
28448         Reviewed by eseidel.
28450         http://bugs.webkit.org/show_bug.cgi?id=10946
28451         new marker code draws end-marker in wrong place
28453         Keep track of the start of the subpath so we can handle
28454         closeTo/moveTo correctly.
28456         * kcanvas/RenderPath.cpp:
28457         (WebCore::DrawMarkersData::DrawMarkersData):
28458         (WebCore::updateMarkerDataForElement):
28460 2006-09-21  David Hyatt <hyatt@apple.com>
28462         Wheel scrolling prep for Win32.
28464         WARNING: NO TEST CASES ADDED OR CHANGED
28466         * platform/PlatformWheelEvent.h:
28467         * platform/ScrollBar.h:
28468         * platform/ScrollView.h:
28469         * platform/mac/ScrollViewMac.mm:
28470         (WebCore::ScrollView::wheelEvent):
28471         * rendering/RenderLayer.cpp:
28473 2006-09-20  Timothy Hatcher  <timothy@apple.com>
28475         Reviewed by Hyatt.
28477         Bug 10917: REGRESSION (r16027): iFrame transparency broken
28478         http://bugs.webkit.org/show_bug.cgi?id=10917
28480         Don't paint the base background color if we transparent.
28482         * rendering/RenderBox.cpp:
28483         (WebCore::RenderBox::paintBackgroundExtended):
28485 2006-09-20  Adam Roben  <aroben@apple.com>
28487         Reviewed by andersca.
28489         * platform/FileChooser.h: Remove no-longer-necessary namespace std
28491 2006-09-20  Eric Seidel  <eric@webkit.org>
28493         Reviewed by beth.
28495         Cleanup style in KCanvas.
28496         Remove extra white-space, unneeded arguments, etc.
28498         * WebCore.xcodeproj/project.pbxproj:
28499         * kcanvas/KCanvasClipper.cpp:
28500         (WebCore::operator<<):
28501         (WebCore::KCanvasClipper::externalRepresentation):
28502         * kcanvas/KCanvasClipper.h:
28503         * kcanvas/KCanvasFilters.cpp:
28504         (WebCore::KCanvasFilter::externalRepresentation):
28505         (WebCore::operator<<):
28506         (WebCore::KCanvasFilterEffect::externalRepresentation):
28507         (WebCore::KCPointLightSource::externalRepresentation):
28508         (WebCore::KCSpotLightSource::externalRepresentation):
28509         (WebCore::KCDistantLightSource::externalRepresentation):
28510         (WebCore::KCanvasFEBlend::externalRepresentation):
28511         (WebCore::KCanvasFEColorMatrix::externalRepresentation):
28512         (WebCore::KCanvasFEComponentTransfer::externalRepresentation):
28513         (WebCore::KCanvasFEComposite::externalRepresentation):
28514         (WebCore::KCanvasFEConvolveMatrix::externalRepresentation):
28515         (WebCore::KCanvasFEDiffuseLighting::externalRepresentation):
28516         (WebCore::KCanvasFEDisplacementMap::externalRepresentation):
28517         (WebCore::KCanvasFEFlood::externalRepresentation):
28518         (WebCore::KCanvasFEGaussianBlur::externalRepresentation):
28519         (WebCore::KCanvasFEImage::externalRepresentation):
28520         (WebCore::KCanvasFEMerge::externalRepresentation):
28521         (WebCore::KCanvasFEMorphology::externalRepresentation):
28522         (WebCore::KCanvasFEOffset::externalRepresentation):
28523         (WebCore::KCanvasFESpecularLighting::externalRepresentation):
28524         (WebCore::KCanvasFETile::externalRepresentation):
28525         (WebCore::KCanvasFETurbulence::externalRepresentation):
28526         * kcanvas/KCanvasFilters.h:
28527         (WebCore::KCanvasFEDiffuseLighting::lightSource):
28528         (WebCore::KCanvasFESpecularLighting::lightSource):
28529         * kcanvas/KCanvasImage.h:
28530         * kcanvas/KCanvasMarker.cpp:
28531         (WebCore::KCanvasMarker::externalRepresentation):
28532         * kcanvas/KCanvasMarker.h:
28533         * kcanvas/KCanvasResource.cpp:
28534         (WebCore::operator<<):
28535         * kcanvas/KCanvasResource.h:
28536         * kcanvas/KCanvasTreeDebug.cpp:
28537         (WebCore::operator<<):
28538         (WebCore::writeIndent):
28539         (WebCore::writeStyle):
28540         (WebCore::write):
28541         (WebCore::writeRenderResources):
28542         * kcanvas/KCanvasTreeDebug.h:
28543         (WebCore::operator<<):
28544         * kcanvas/RenderForeignObject.cpp:
28545         (WebCore::RenderForeignObject::paint):
28546         * kcanvas/RenderPath.cpp:
28547         (WebCore::RenderPath::paint):
28548         (WebCore::drawStartAndMidMarkers):
28549         * kcanvas/RenderSVGContainer.cpp:
28550         (WebCore::RenderSVGContainer::paint):
28551         * kcanvas/RenderSVGImage.cpp:
28552         (WebCore::RenderSVGImage::translateForAttributes):
28553         * kcanvas/RenderSVGImage.h:
28554         * kcanvas/device/KRenderingDevice.cpp:
28555         (WebCore::KRenderingDevice::currentContext):
28556         (WebCore::KRenderingDevice::popContext):
28557         (WebCore::KRenderingDevice::pushContext):
28558         * kcanvas/device/KRenderingDevice.h:
28559         * kcanvas/device/KRenderingFillPainter.h:
28560         * kcanvas/device/KRenderingPaintServer.h:
28561         (WebCore::KRenderingPaintServer::KRenderingPaintServer):
28562         (WebCore::KRenderingPaintServer::activeClient):
28563         (WebCore::KRenderingPaintServer::setActiveClient):
28564         * kcanvas/device/KRenderingPaintServerGradient.cpp:
28565         (WebCore::operator<<):
28566         (WebCore::KRenderingPaintServerGradient::externalRepresentation):
28567         (WebCore::KRenderingPaintServerLinearGradient::externalRepresentation):
28568         (WebCore::KRenderingPaintServerGradient::listener):
28569         (WebCore::KRenderingPaintServerGradient::setListener):
28570         (WebCore::KRenderingPaintServerRadialGradient::externalRepresentation):
28571         * kcanvas/device/KRenderingPaintServerGradient.h:
28572         * kcanvas/device/KRenderingPaintServerPattern.cpp:
28573         (WebCore::KRenderingPaintServerPattern::tile):
28574         (WebCore::KRenderingPaintServerPattern::setTile):
28575         (WebCore::KRenderingPaintServerPattern::listener):
28576         (WebCore::KRenderingPaintServerPattern::setListener):
28577         (WebCore::KRenderingPaintServerPattern::externalRepresentation):
28578         * kcanvas/device/KRenderingPaintServerPattern.h:
28579         * kcanvas/device/KRenderingPaintServerSolid.cpp:
28580         (WebCore::KRenderingPaintServerSolid::externalRepresentation):
28581         * kcanvas/device/KRenderingPaintServerSolid.h:
28582         * kcanvas/device/KRenderingStrokePainter.cpp:
28583         (WebCore::KRenderingStrokePainter::strokeMiterLimit):
28584         (WebCore::KRenderingStrokePainter::setStrokeMiterLimit):
28585         * kcanvas/device/KRenderingStrokePainter.h:
28586         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
28587         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
28588         (WebCore::KCanvasFilterQuartz::prepareFilter):
28589         * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
28590         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
28591         (WebCore::KCanvasMaskerQuartz::applyMask):
28592         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
28593         (WebCore::KCanvasImageQuartz::init):
28594         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
28595         (WebCore::KCanvasClipperQuartz::applyClip):
28596         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
28597         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
28598         (WebCore::KRenderingDeviceQuartz::quartzContext):
28599         (WebCore::KRenderingDeviceQuartz::contextForImage):
28600         (WebCore::KRenderingDeviceQuartz::createPaintServer):
28601         (WebCore::KRenderingDeviceQuartz::createResource):
28602         (WebCore::KRenderingDeviceQuartz::createFilterEffect):
28603         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
28604         (WebCore::CGShadingRefForLinearGradient):
28605         (WebCore::CGShadingRefForRadialGradient):
28606         (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
28607         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
28608         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
28609         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
28610         (WebCore::KRenderingPaintServerQuartzHelper::strokePath):
28611         (WebCore::KRenderingPaintServerQuartzHelper::clipToStrokePath):
28612         (WebCore::KRenderingPaintServerQuartzHelper::fillPath):
28613         (WebCore::KRenderingPaintServerQuartzHelper::clipToFillPath):
28614         (WebCore::KRenderingPaintServerSolidQuartz::draw):
28615         (WebCore::KRenderingPaintServerSolidQuartz::setup):
28616         (WebCore::KRenderingPaintServerSolidQuartz::renderPath):
28617         (WebCore::KRenderingPaintServerPatternQuartz::setup):
28618         (WebCore::KRenderingPaintServerPatternQuartz::renderPath):
28619         (WebCore::KRenderingPaintServerPatternQuartz::teardown):
28620         * kcanvas/device/quartz/QuartzSupport.h:
28621         * kcanvas/device/quartz/QuartzSupport.mm:
28622         (WebCore::applyStrokeStyleToContext):
28624 2006-09-20  Anders Carlsson  <acarlsson@apple.com>
28626         Reviewed by Dave Hyatt.
28628         * dom/WheelEvent.cpp:
28629         (WebCore::WheelEvent::WheelEvent):
28630         Use lroundf instead of lround since deltas are floats.
28632 2006-09-20  Julien Palmas  <julien.palmas@gmail.com>
28634         Reviewed by eseidel.  Landed by eseidel.
28636         Test: svg/custom/pattern-y-offset.svg
28638         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
28639         (WebCore::KRenderingPaintServerPatternQuartz::setup):
28641 2006-09-20  David Hyatt  <hyatt@apple.com>
28643         Add a new wheelEvent method to ScrollView.  Platforms that wish
28644         to handle the wheel event for the scroll view themselves can then
28645         do so there.  (Mac lets the underlying NSScrollView do it for now.)
28647         * page/FrameView.cpp:
28648         (WebCore::FrameView::handleWheelEvent):
28649         * platform/ScrollView.h:
28650         (WebCore::ScrollView::wheelEvent):
28652 2006-09-20  Brady Eidson  <beidson@apple.com>
28654         Reviewed by Tim Omernick
28656         Part of fixing a crash Tim O showed me that I missed in a release build.
28657         WebKit should be able to call through the bridge to WebCore no matter what -
28658         Replace the _iconDB member with calls to IconDatabase::sharedIconDatabase()
28660         * bridge/mac/WebCoreIconDatabaseBridge.h:
28661         * bridge/mac/WebCoreIconDatabaseBridge.mm:
28662         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
28663         (-[WebCoreIconDatabaseBridge isOpen]):
28664         (-[WebCoreIconDatabaseBridge removeAllIcons]):
28665         (-[WebCoreIconDatabaseBridge _isEmpty]):
28666         (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
28667         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
28668         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
28669         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
28670         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
28671         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
28672         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
28673         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
28674         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
28675         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
28676         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
28677         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
28678         (-[WebCoreIconDatabaseBridge _setEnabled:]):
28679         (-[WebCoreIconDatabaseBridge _isEnabled]):
28681 2006-09-20  Anders Carlsson  <acarlsson@apple.com>
28683         Reviewed by Darin.
28685         Add String::split which returns a Vector of Strings and use it instead of 
28686         DeprecatedStringList.
28687         
28688         * bindings/js/kjs_events.cpp:
28689         (KJS::Clipboard::getValueProperty):
28690         * bindings/js/kjs_window.cpp:
28691         (KJS::parseModalDialogFeatures):
28692         * css/MediaList.cpp:
28693         (WebCore::MediaList::setMediaText):
28694         * dom/Clipboard.h:
28695         * html/HTMLFormElement.cpp:
28696         (WebCore::HTMLFormElement::formData):
28697         * html/HTMLLinkElement.cpp:
28698         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
28699         * platform/PlatformString.h:
28700         * platform/String.cpp:
28701         (WebCore::String::split):
28702         * platform/StringImpl.cpp:
28703         * platform/StringImpl.h:
28704         * platform/mac/ClipboardMac.h:
28705         * platform/mac/ClipboardMac.mm:
28706         (WebCore::ClipboardMac::types):
28708 2006-09-20  Justin Garcia  <justin.garcia@apple.com>
28710         Reviewed by harrison
28712         * css/cssstyleselector.cpp:
28713         (WebCore::CSSStyleSelector::adjustRenderStyle): Don't call 
28714         HTMLElement::isContentEditable just to check the Frame's editability, since
28715         it calls updateRenderering, which can get us into infinite recursion.
28717 2006-09-20  Brady Eidson  <beidson@apple.com>
28719         Reviewed by Darin
28721         Cleaned up my last patch alot, and made the WebCore icon database disabled by default
28723         * loader/icon/IconDatabase.cpp:
28724         (WebCore::IconDatabase::IconDatabase): Disabled by default
28725         (WebCore::IconDatabase::removeAllIcons): Respect just isOpen() (disabled database will always be closed)
28726         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto
28727         (WebCore::IconDatabase::iconForPageURL): Ditto
28728         (WebCore::IconDatabase::isIconExpiredForIconURL): Ditto
28729         (WebCore::IconDatabase::iconURLForPageURL): Ditto
28730         (WebCore::IconDatabase::retainIconForPageURL): Ditto
28731         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
28732         (WebCore::IconDatabase::setIconDataForIconURL): Ditto
28733         (WebCore::IconDatabase::setIconURLForPageURL): Ditto
28734         (WebCore::IconDatabase::hasEntryForIconURL): Ditto
28735         (WebCore::IconDatabase::setEnabled): Fixed a big bug here!
28737 2006-09-20  Adam Roben  <aroben@apple.com>
28739         Reviewed by Adele.
28741         Fixes http://bugs.webkit.org/show_bug.cgi?id=10935
28742         REGRESSION: file upload control with direction:rtl or text-align:right
28743         draws button on top of filename/icon
28745         * rendering/RenderFileUploadControl.cpp:
28746         (WebCore::RenderFileUploadControl::setStyle): Force text-align to
28747         match direction
28748         (WebCore::RenderFileUploadControl::paintObject): Fix positioning of
28749         the filename and icon in RTL
28751 2006-09-20  Alice Liu  <alice.liu@apple.com>
28753         Reviewed by Adam Roben.
28755         fixed windows build
28757         * dom/WheelEvent.cpp:
28758         (WebCore::WheelEvent::WheelEvent):
28759         changed lrint to lround
28761 2006-09-20  Sam Weinig  <sam.weinig@gmail.com>
28763         Build Fix.  Adds isHorizontal attribute back to WheelEvent
28764         for the Objective-C bindings.  If it is found that isHorizontal
28765         is not used, we should remove it again but also remove it's
28766         declaration from PublicDOMInterfaces.h
28768         * dom/WheelEvent.h:
28769         (WebCore::WheelEvent::isHorizontal):
28770         * dom/WheelEvent.idl:
28772 2006-09-20  David Hyatt  <hyatt@apple.com>
28774         Fix for 10945, WheelEvent should support two dimensions at once, since
28775         MacBooks allow for diagonal scrolling.  Also enhance the PlatformWheelEvent
28776         to allow for diagonal scrolling.
28778         Reviewed by Eric
28780         * dom/EventTargetNode.cpp:
28781         (WebCore::EventTargetNode::dispatchWheelEvent):
28782         * dom/WheelEvent.cpp:
28783         (WebCore::WheelEvent::WheelEvent):
28784         (WebCore::WheelEvent::initWheelEvent):
28785         * dom/WheelEvent.h:
28786         (WebCore::WheelEvent::wheelDelta):
28787         (WebCore::WheelEvent::wheelDeltaX):
28788         (WebCore::WheelEvent::wheelDeltaY):
28789         * dom/WheelEvent.idl:
28790         * page/FrameView.cpp:
28791         (WebCore::FrameView::handleWheelEvent):
28792         * platform/PlatformWheelEvent.h:
28793         (WebCore::PlatformWheelEvent::deltaX):
28794         (WebCore::PlatformWheelEvent::deltaY):
28795         (WebCore::PlatformWheelEvent::normalize):
28796         * platform/mac/WheelEventMac.mm:
28797         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
28799 2006-09-19  Eric Seidel  <eric@webkit.org>
28801         Reviewed by hyatt.
28803         Split KCanvasResources.* into multiple files (and some other minor spacing changes).
28804         
28805         No tests were harmed in the making of this patch.
28807         * WebCore.xcodeproj/project.pbxproj:
28808         * kcanvas/KCanvasClipper.cpp: Added.
28809         (WebCore::operator<<):
28810         * kcanvas/KCanvasClipper.h: Added.
28811         * kcanvas/KCanvasFilters.h:
28812         * kcanvas/KCanvasImage.h:
28813         * kcanvas/KCanvasMarker.cpp: Added.
28814         * kcanvas/KCanvasMarker.h: Added.
28815         * kcanvas/KCanvasMasker.cpp: Added.
28816         (WebCore::KCanvasMasker::KCanvasMasker):
28817         (WebCore::KCanvasMasker::setMask):
28818         (WebCore::KCanvasMasker::externalRepresentation):
28819         (WebCore::getMaskerById):
28820         * kcanvas/KCanvasMasker.h: Added.
28821         * kcanvas/KCanvasResource.cpp: Added.
28822         (WebCore::KCanvasResource::invalidate):
28823         (WebCore::KCanvasResource::externalRepresentation):
28824         (WebCore::getResourceById):
28825         (WebCore::getPaintServerById):
28826         * kcanvas/KCanvasResource.h: Added.
28827         * kcanvas/KCanvasResources.cpp: Removed.
28828         * kcanvas/KCanvasResources.h: Removed.
28829         * kcanvas/RenderPath.cpp:
28830         * kcanvas/RenderSVGContainer.cpp:
28831         * kcanvas/RenderSVGImage.cpp:
28832         * kcanvas/RenderSVGText.cpp:
28833         * kcanvas/device/KRenderingPaintServer.h:
28834         * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
28835         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
28836         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
28837         * ksvg2/svg/SVGClipPathElement.h:
28838         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
28839         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
28840         * ksvg2/svg/SVGFECompositeElement.cpp:
28841         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
28842         * ksvg2/svg/SVGFELightElement.cpp:
28843         * ksvg2/svg/SVGFEOffsetElement.cpp:
28844         * ksvg2/svg/SVGFETurbulenceElement.cpp:
28845         * ksvg2/svg/SVGFilterElement.cpp:
28846         * ksvg2/svg/SVGLinearGradientElement.cpp:
28847         * ksvg2/svg/SVGMarkerElement.h:
28848         * ksvg2/svg/SVGMaskElement.h:
28850 2006-09-19  Brady Eidson <beidson@apple.com>
28852         Reviewed by Sarge Decker
28854         <rdar://problem/4739892> and <rdar://problem/4729797>
28855         - WebCore::IconDatabase needs to have and respect an enabled() flag
28856         - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari
28858         * bridge/mac/WebCoreIconDatabaseBridge.h:
28859         * bridge/mac/WebCoreIconDatabaseBridge.mm:
28860         (-[WebCoreIconDatabaseBridge _setEnabled:]): Added
28861         (-[WebCoreIconDatabaseBridge _isEnabled]): Added
28862         * loader/icon/IconDatabase.cpp:
28863         (WebCore::IconDatabase::IconDatabase):
28864         (WebCore::IconDatabase::open): Don't open if disabled
28865         (WebCore::IconDatabase::removeAllIcons): Ignore if disabled/closed
28866         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ignore if disabled/closed
28867         (WebCore::IconDatabase::iconForPageURL): Default Icon if disabled/closed
28868         (WebCore::IconDatabase::isIconExpiredForIconURL): Default return if disabled/closed
28869         (WebCore::IconDatabase::iconURLForPageURL): Default return if disabled/closed
28870         (WebCore::IconDatabase::retainIconForPageURL): Ignore if disabled/closed
28871         (WebCore::IconDatabase::releaseIconForPageURL): Ignore if disabled/closed
28872         (WebCore::IconDatabase::releaseIconURL):
28873         (WebCore::IconDatabase::setIconDataForIconURL): Ignore if disabled/closed
28874         (WebCore::IconDatabase::setIconURLForPageURL): Ignore if disabled/closed
28875         (WebCore::IconDatabase::hasEntryForIconURL): Default return if disabled/closed
28876         (WebCore::IconDatabase::setEnabled): Added
28877         * loader/icon/IconDatabase.h:
28878         (WebCore::IconDatabase::enabled): Added
28879         * page/Frame.cpp:
28880         (WebCore::Frame::endIfNotLoading): do an IconDatabase::enabled() check before bothering to load the icon
28881         * platform/mac/ResourceLoaderMac.mm: Removed extraneous #include
28883 2006-09-20  David Hyatt  <hyatt@apple.com>
28885         Massage mouse wheel handling so that it is more cross-platform.  Make
28886         all the work happen in handleWheelEvent on the FrameView.
28888         Reviewed by bradee-oh
28890         * bridge/mac/FrameMac.mm:
28891         (WebCore::FrameMac::wheelEvent):
28892         * page/FrameView.cpp:
28893         (WebCore::FrameView::handleWheelEvent):
28894         * platform/PlatformWheelEvent.h:
28895         (WebCore::PlatformWheelEvent::platformDelta):
28896         (WebCore::PlatformWheelEvent::delta):
28897         * platform/mac/WheelEventMac.mm:
28898         (WebCore::platformDeltaForEvent):
28899         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
28900         * rendering/RenderLayer.cpp:
28901         (WebCore::RenderLayer::scroll):
28902         * rendering/RenderObject.cpp:
28903         (WebCore::RenderObject::scroll):
28905 2006-09-19  Eric Seidel  <eric@webkit.org>
28907         Reviewed by adele.
28909         Improve test output for filters with bounding-box relative sizes.
28910         http://bugs.webkit.org/show_bug.cgi?id=8585
28912         Many test results updated.
28914         * kcanvas/KCanvasFilters.cpp:
28915         (WebCore::KCanvasFilter::externalRepresentation):
28917 2006-09-19  Eric Seidel  <eric@webkit.org>
28919         Reviewed by adele.
28920         
28921         Markers should clip to their viewport.
28922         http://bugs.webkit.org/show_bug.cgi?id=5967
28924         Test: svg/custom/marker-overflow-clip.svg
28926         * kcanvas/KCanvasResources.cpp:
28927         (WebCore::KCanvasMarker::KCanvasMarker):
28928         (WebCore::KCanvasMarker::setMarker):
28929         (WebCore::KCanvasMarker::draw):
28930         * kcanvas/KCanvasResources.h:
28931         (WebCore::KCanvasMasker::mask):
28932         * ksvg2/svg/SVGMarkerElement.cpp:
28933         (WebCore::SVGMarkerElement::SVGMarkerElement):
28934         (WebCore::SVGMarkerElement::parseMappedAttribute):
28935         (WebCore::SVGMarkerElement::canvasResource):
28936         (WebCore::SVGMarkerElement::createRenderer):
28938 2006-09-19  Justin Garcia  <justin.garcia@apple.com>
28940         Reviewed by eseidel
28942         Backing out my recent change.
28944         * css/cssstyleselector.cpp:
28945         (WebCore::CSSStyleSelector::adjustRenderStyle): 
28947 2006-09-19  Brady Eidson  <beidson@apple.com>
28949         Reviewed by Kevin McCullough
28951         http://bugs.webkit.org/show_bug.cgi?id=10940
28952         Opening a PDF in a new tab/window creates a documentless-frame
28953         and we deref the document without checking its validity
28955         * page/Frame.cpp:
28956         (WebCore::Frame::iconURL):
28958 2006-09-19  Justin Garcia  <justin.garcia@apple.com>
28960         Reviewed by harrison
28961         
28962         <rdar://problem/4735272>
28963         Can not click into link in programmatically editable content
28965         * css/cssstyleselector.cpp:
28966         (WebCore::CSSStyleSelector::adjustRenderStyle): We stopped using
28967         userModify to implement document wide editability.
28969 2006-09-19  Darin Fisher  <darin@chromium.org>
28971         Reviewed by Darin and landed by Brady
28973         Fixes http://bugs.webkit.org/show_bug.cgi?id=10939
28974         Build broken when SVG is not enabled.
28976         * dom/XMLTokenizer.cpp:
28977         (WebCore::XMLTokenizer::startElementNs):
28979 2006-09-19  Justin Garcia  <justin.garcia@apple.com>
28981         Reviewed by harrison
28982         
28983         <rdar://problem/4727383> REGRESSION: Pasting plain text with tabs into Blot converts the tabs to single spaces
28985         Pasting plain text results in a match style paste, and the insertion
28986         position is whitespace normal, which clobbers the whitespace:pre on 
28987         tab spans.  Skip changes to the whitespace mode when computing a style
28988         change for tab spans or the text nodes inside tab spans.
28990         * editing/ApplyStyleCommand.cpp:
28991         (WebCore::StyleChange::init): Don't change the whitespace mode inside
28992         tab spans.
28994 2006-09-19  David Hyatt  <hyatt@apple.com>
28996         Fix for bug 5298, shape=default not supported for image maps.  Implement
28997         support for it.
28999         Reviewed by timo
29001         * html/HTMLAreaElement.cpp:
29002         (WebCore::HTMLAreaElement::getRegion):
29003         * html/HTMLMapElement.cpp:
29004         (WebCore::HTMLMapElement::mapMouseEvent):
29006 2006-09-19  Adam Roben  <aroben@apple.com>
29008         Reviewed by Adele.
29010         Fixes http://bugs.webkit.org/show_bug.cgi?id=10824
29011         "no file selected" placeholder text missing from file upload control
29013         * WebCore.xcodeproj/project.pbxproj:
29014         * rendering/RenderFileUploadControl.cpp: Remove class
29015         RenderFileUploadInnerFileBox, rename defaultFilenameNumChars to
29016         defaultWidthNumChars
29017         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Call
29018         RenderBlock constructor instead of RenderFlexibleBox, 
29019         (WebCore::RenderFileUploadControl::setStyle): Remove references to
29020         m_fileBox.
29021         (WebCore::RenderFileUploadControl::valueChanged): Call repaint()
29022         instead of updateIconAndFileName() (which has been removed)
29023         (WebCore::RenderFileUploadControl::updateFromElement): Remove
29024         references to m_fileBox, don't call updateIconAndFilename()
29025         (WebCore::RenderFileUploadControl::maxFilenameWidth): Calculate width
29026         without using m_fileBox
29027         (WebCore::RenderFileUploadControl::createButtonStyle): Remove
29028         now-unnecessary display:box rule.
29029         (WebCore::RenderFileUploadControl::paintObject): Remove redundant call
29030         to paintingDisabled() now that Icon::paint() does it, and add code to
29031         paint the filename directly.
29032         (WebCore::RenderFileUploadControl::calcMinMaxWidth): Move this method
29033         out of RenderFileUploadInnerFileBox and into RenderFileUploadControl
29034         * rendering/RenderFileUploadControl.h: Make RenderFileUploadControl a
29035         subclass of RenderBlock instead of RenderFlexibleBox, remove
29036         updateIconAndFilename() method, remove m_fileBox instance variable.
29038 2006-09-19  Eric Seidel  <eric@webkit.org>
29040         Reviewed by hyatt.
29042         Exceptions thrown from <script> tags in XHTML/SVG docs show the wrong line numbers
29043         http://bugs.webkit.org/show_bug.cgi?id=10846
29044         
29045         No automated test case possible until http://bugs.webkit.org/show_bug.cgi?id=10905 is resolved.
29047         * dom/XMLTokenizer.cpp:
29048         (WebCore::XMLTokenizer::XMLTokenizer):
29049         (WebCore::XMLTokenizer::startElementNs):
29050         (WebCore::XMLTokenizer::endElementNs):
29052 2006-09-19  Krzysztof Kowalczyk <kkowalczyk@gmail.com>
29054         Reviewed by eseidel.  Landed by eseidel.
29055         
29056         Build fix only, no tests affected.
29058         * platform/gdk/FontPlatformDataGdk.cpp:
29059         (WebCore::FontPlatformData::FontPlatformData):
29060         (WebCore::FontPlatformData::~FontPlatformData):
29061         * platform/gdk/FrameGdk.h:
29062         * platform/gdk/TemporaryLinkStubs.cpp:
29063         (FrameGdk::isLoadTypeReload):
29064         (FrameGdk::originalRequestURL):
29065         (IconDatabase::setIconURLForPageURL):
29067 2006-09-19  David Hyatt  <hyatt@apple.com>
29069         Refine the fix for 9805 to really get all the complex cases right.
29071         Reviewed by Eric
29073         * rendering/RenderBlock.cpp:
29074         (WebCore::RenderBlock::clearFloatsIfNeeded):
29075         (WebCore::RenderBlock::handleBottomOfBlock):
29077 2006-09-18  David Hyatt  <hyatt@apple.com>
29079         Fix for 9805, <hr> not positioned properly following a previous empty sibling
29080         that had clear:both set on it.  Update self-collapsing block clearance
29081         behavior to match what is specified in the latest draft of CSS2.1.
29083         Reviewed by Eric
29085         Added fast/block/margin-collapse/empty-clear-blocks.html
29087         * rendering/RenderBlock.cpp:
29088         (WebCore::RenderBlock::clearFloatsIfNeeded):
29089         (WebCore::RenderBlock::handleBottomOfBlock):
29091 2006-09-18  Darin Fisher  <darin@chromium.org>
29093         Reviewed by Brady, landed by Brady
29095         Send receivedResponse callback to ResourceLoaderClient when loading
29096         file URLs.
29098         See http://bugs.webkit.org/show_bug.cgi?id=10845
29100         * platform/win/ResourceLoaderWin.cpp:
29101         (WebCore::ResourceLoader::fileLoadTimer):
29103 2006-09-18  Brady Eidson  <beidson@apple.com>
29105         Reviewed by Anders
29107         <rdar://problem/3028061> - WebKit never updates favicon
29108         The WebKit enforced expiration date for icons has worked for some time, but the
29109         move to the new Icon Loader broke the "always get the icon if the user refreshes the page" 
29110         functionality.  This patch fixes that up, along with some other architectural improvements,
29111         the main one being that WebCore::Document now contains an iconURL for the Frame to query if needed.
29113         * bridge/mac/FrameMac.h: Added isLoadTypeReload()
29114         * bridge/mac/FrameMac.mm:
29115         (WebCore::FrameMac::isLoadTypeReload): Implementation, calls into the bridge
29116         * bridge/mac/WebCoreFrameBridge.h: Added isLoadTypeReload:
29117         * bridge/win/FrameWin.h: Added isLoadTypeReload() for temporary link stub
29118         * dom/Document.h: Added m_iconURL
29119         (WebCore::Document::iconURL): Added
29120         (WebCore::Document::setIconURL): Ditto
29121         * html/HTMLLinkElement.cpp:
29122         (WebCore::HTMLLinkElement::process): Sets the iconURL in the Document instead of the Frame
29123         * page/Frame.cpp:
29124         (WebCore::Frame::iconURL): Calculates the iconURL based on the document, then the default favicon.ico url
29125         (WebCore::Frame::endIfNotLoading): Checks for the load type - always loads icon on Reload
29126         * page/Frame.h: Nuked setIconURL(), added isLoadTypeReload()
29127         * page/FramePrivate.h: Nuked IconURL
29128         * platform/win/TemporaryLinkStubs.cpp:
29129         (FrameWin::isLoadTypeReload):
29131 2006-09-18  Sam Weinig  <sam.weinig@gmail.com>
29133         Reviewed by Tim H.
29135         - Re-add private method [DOMRGBColor _color] to DOMPrivate.h as
29136           it is it turns out that AppKit uses it.
29138         * bindings/objc/DOMPrivate.h:
29139         * bindings/objc/DOMRGBColor.mm:
29140         (-[DOMRGBColor _color]):
29142 2006-09-18  Sam Weinig  <sam.weinig@gmail.com>
29144         Reviewed by Tim H.
29146         Patch for http://bugs.webkit.org/show_bug.cgi?id=10903
29147         Yet Another Objective-C Bindings Patch
29149         - Whitespace cleanup for IDLParser.pm
29151         - Split DOMException, DOMRangeException, DOMXPathException, DOMEventsException
29152           and DOMAbstractView into their own files.
29154         - Remove private method [DOMRGBColor _color] from DOMPrivate.h as
29155           it is not used and a public method is available now.
29157         - Remove internal method [DOMDocument _ownerElement] from DOMInternal.h
29158           as it not used.
29160         - Auto-generate method isContentEditable for DOMNode.
29162         - General cleanup of bindings code including removing unneeded #imports
29163           and whitespace cleanup
29165         * WebCore.xcodeproj/project.pbxproj:
29166         * bindings/objc/DOM.mm:
29167         (addElementClass):
29168         (elementClass):
29169         (-[DOMNode _initWithNode:WebCore::]):
29170         (+[DOMNode _nodeWith:WebCore::]):
29171         (-[DOMNode WebCore::]):
29172         (-[DOMNode KJS::Bindings::]):
29173         (-[DOMNode addEventListener:::]):
29174         (-[DOMNode removeEventListener:::]):
29175         (-[DOMNode dispatchEvent:]):
29176         (-[DOMElement image]):
29177         (-[DOMElement _font]):
29178         (-[DOMElement _imageTIFFRepresentation]):
29179         (-[DOMElement _getURLAttribute:]):
29180         (-[DOMElement _NPObject]):
29181         (-[DOMElement isFocused]):
29182         (-[DOMRange dealloc]):
29183         (-[DOMRange finalize]):
29184         (-[DOMRange description]):
29185         (-[DOMRange startContainer]):
29186         (-[DOMRange startOffset]):
29187         (-[DOMRange endContainer]):
29188         (-[DOMRange endOffset]):
29189         (-[DOMRange collapsed]):
29190         (-[DOMRange commonAncestorContainer]):
29191         (-[DOMRange setStart::]):
29192         (-[DOMRange setEnd::]):
29193         (-[DOMRange setStartBefore:]):
29194         (-[DOMRange setStartAfter:]):
29195         (-[DOMRange setEndBefore:]):
29196         (-[DOMRange setEndAfter:]):
29197         (-[DOMRange collapse:]):
29198         (-[DOMRange selectNode:]):
29199         (-[DOMRange selectNodeContents:]):
29200         (-[DOMRange compareBoundaryPoints::]):
29201         (-[DOMRange deleteContents]):
29202         (-[DOMRange extractContents]):
29203         (-[DOMRange cloneContents]):
29204         (-[DOMRange insertNode:]):
29205         (-[DOMRange surroundContents:]):
29206         (-[DOMRange cloneRange]):
29207         (-[DOMRange toString]):
29208         (-[DOMRange detach]):
29209         (-[DOMRange _initWithRange:WebCore::]):
29210         (+[DOMRange _rangeWith:WebCore::]):
29211         (-[DOMRange WebCore::]):
29212         (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
29213         (+[DOMNodeFilter _nodeFilterWith:WebCore::]):
29214         (-[DOMNodeFilter WebCore::]):
29215         (-[DOMNodeFilter dealloc]):
29216         (-[DOMNodeFilter finalize]):
29217         (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]):
29218         (-[DOMNodeIterator WebCore::]):
29219         (+[DOMNodeIterator _nodeIteratorWith:WebCore::filter:]):
29220         (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]):
29221         (-[DOMTreeWalker WebCore::]):
29222         (+[DOMTreeWalker _treeWalkerWith:WebCore::filter:]):
29223         (ObjCNodeFilterCondition::acceptNode):
29224         (-[DOMDocument createNodeIterator::::]):
29225         (-[DOMDocument createTreeWalker::::]):
29226         (ObjCEventListener::find):
29227         (ObjCEventListener::create):
29228         (ObjCEventListener::handleEvent):
29229         * bindings/objc/DOMAbstractView.h: Added.
29230         * bindings/objc/DOMAbstractView.mm: Added.
29231         (-[DOMAbstractView document]):
29232         (-[DOMAbstractView WebCore::]):
29233         (-[DOMAbstractView _initWithAbstractView:WebCore::]):
29234         (+[DOMAbstractView _abstractViewWith:WebCore::]):
29235         * bindings/objc/DOMCSS.mm:
29236         (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
29237         (+[DOMStyleSheet _styleSheetWith:WebCore::]):
29238         (+[DOMCSSStyleSheet _CSSStyleSheetWith:WebCore::]):
29239         (-[DOMCSSRule _initWithRule:WebCore::]):
29240         (+[DOMCSSRule _CSSRuleWith:WebCore::]):
29241         (-[DOMCSSValue _initWithValue:WebCore::]):
29242         (+[DOMCSSValue _CSSValueWith:WebCore::]):
29243         (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:WebCore::]):
29244         (-[DOMDocument getComputedStyle::]):
29245         (-[DOMDocument getMatchedCSSRules::]):
29246         * bindings/objc/DOMCore.h:
29247         * bindings/objc/DOMEventException.h: Added.
29248         * bindings/objc/DOMEvents.h:
29249         * bindings/objc/DOMEvents.mm:
29250         * bindings/objc/DOMException.h: Added.
29251         * bindings/objc/DOMHTML.mm:
29252         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
29253         (viewForElement):
29254         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
29255         (-[DOMHTMLInputElement _selectedRange]):
29256         (-[DOMHTMLInputElement _setAutofilled:]):
29257         * bindings/objc/DOMInternal.h:
29258         * bindings/objc/DOMObject.h:
29259         * bindings/objc/DOMPrivate.h:
29260         * bindings/objc/DOMRange.h:
29261         * bindings/objc/DOMRangeException.h: Added.
29262         * bindings/objc/DOMViews.h:
29263         * bindings/objc/DOMViews.mm: Removed.
29264         * bindings/objc/DOMXPath.h:
29265         * bindings/objc/DOMXPathException.h: Added.
29266         * bindings/scripts/IDLParser.pm:
29267         * dom/Node.idl:
29269 2006-09-18  Brady Eidson  <beidson@apple.com>
29271         Windows build fix
29273         * platform/win/TemporaryLinkStubs.cpp:
29274         (IconDatabase::setIconURLForPageURL):
29276 2006-09-18  David Hyatt  <hyatt@apple.com>
29278         Fix for bug 3969, hr width doesn't update when it clears a float.  This
29279         was also a problem with tables and overflow sections.
29281         Reviewed by Eric
29283         Added fast/block/float/width-update-after-clear.html
29285         * rendering/RenderBlock.cpp:
29286         (WebCore::RenderBlock::collapseMargins):
29287         (WebCore::RenderBlock::clearFloatsIfNeeded):
29289 2006-09-18  Brady Eidson  <beidson@apple.com>
29291         Reviewed by John
29293         http://bugs.webkit.org/show_bug.cgi?id=10907
29294         REGRESSION: New Icon Loaders don't handle certain non-server-root URLs correctly
29296         * bridge/mac/FrameMac.h: Changed originalRequestURL() to virtual
29297         * bridge/win/FrameWin.h: Added originalRequestURL()
29298         * loader/icon/IconLoader.cpp:
29299         (IconLoader::receivedAllData): Moved the "pageURL to iconURL mapping logic" to Frame::commitIconURLToIconDatabase()
29300         * page/Frame.cpp:
29301         (WebCore::Frame::iconURL): Construct the icon URL from *only* the protocol and host of the frame's url.
29302         (WebCore::Frame::endIfNotLoading): Call commitIconURLToIconDatabase() if we're not kicking off an icon load
29303         (WebCore::Frame::commitIconURLToIconDatabase): Map the completed doc's pageURL to the iconURL
29304         * page/Frame.h: Added pure virtual originalRequestURL()
29305         * platform/win/TemporaryLinkStubs.cpp:
29306         (FrameWin::originalRequestURL): Added
29308 2006-09-18  Rob Buis  <buis@kde.org>
29310         Reviewed by Maciej.
29312         http://bugs.webkit.org/show_bug.cgi?id=10807
29313         REGRESSION (r16259): Repro crash on manual-tests/svg-repaint-image.svg
29315         Make sure the paint method is not exited without popping
29316         context and transparency layer.
29318         WARNING: NO TEST CASES ADDED OR CHANGED
29320         * kcanvas/RenderSVGImage.cpp:
29321         (WebCore::RenderSVGImage::paint):
29323 2006-09-18  Graham Dennis  <graham.dennis@gmail.com>
29325         Reviewed by Eric.
29326         
29327         - fix for http://bugs.webkit.org/show_bug.cgi?id=10896
29328         REGRESSION: WebKit can't be built with SVG disabled
29329         
29330         * bindings/scripts/CodeGeneratorObjC.pm:
29331         For each file generated add a #ifdef <something>_SUPPORT / #endif
29332         pair if the idl file has a Conditional extended attribute
29334 2006-09-17  Eric Seidel  <eric@webkit.org>
29336         Reviewed by ap.
29337         
29338         REGRESSION (r16245): double-clicking on javascript exceptions fails to show source
29339         http://bugs.webkit.org/show_bug.cgi?id=10813
29341         * bridge/mac/WebCoreFrameBridge.mm:
29342         (+[WebCoreFrameBridge stringWithData:textEncodingName:]):
29344 2006-09-17  Alexey Proskuryakov  <ap@nypop.com>
29346         Reviewed by Hyatt.
29348         http://bugs.webkit.org/show_bug.cgi?id=10779
29349         REGRESSION: Animated GIF ignores frame intervals and loops infinitely
29351         No test possible.
29353         * platform/Image.cpp:
29354         (WebCore::Image::shouldAnimate): Don't check that there is more than one frame,
29355         maybe the rest just hasn't been loaded yet.
29356         (WebCore::Image::startAnimation): Move the frame count check here - there is no need
29357         to start animating before we get at least two frames.
29359 2006-09-17  Brady Eidson <beidson@apple.com>
29361         Reviewed by Sarge
29363         IconLoader now gracefully handles the condition where there's no document in the frame
29364         (ie. PDFs)
29366         * loader/icon/IconLoader.cpp:
29367         (IconLoader::startLoading):
29369 2006-09-17  David Hyatt  <hyatt@apple.com>
29371         Fix for bug 10899, rework how CSS keywords work to be smarter about
29372         using the correct size when generic families change (e.g., monospace to
29373         serif and vice versa).
29375         Reviewed by aroben
29377         Added fast/text/basic/generic-family-changes.html
29379         * css/cssstyleselector.cpp:
29380         (WebCore::CSSStyleSelector::applyProperty):
29381         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
29382         (WebCore::CSSStyleSelector::fontSizeForKeyword):
29383         * css/cssstyleselector.h:
29384         * dom/Document.cpp:
29385         (WebCore::Document::recalcStyle):
29386         * platform/FontDescription.h:
29387         (WebCore::FontDescription::FontDescription):
29388         (WebCore::FontDescription::keywordSize):
29389         (WebCore::FontDescription::setKeywordSize):
29390         (WebCore::FontDescription::operator==):
29392 2006-09-17  Alexey Proskuryakov  <ap@nypop.com>
29394         Reviewed by Brady.
29396         http://bugs.webkit.org/show_bug.cgi?id=10852
29397         REGRESSION: Reproducible crash in XMLHttpRequest::abort()
29399         Test: http/tests/xmlhttprequest/xhr-onunload.html
29401         * xml/xmlhttprequest.cpp:
29402         (WebCore::XMLHttpRequest::send): Check the return value of ResourceLoader::start().
29404         * loader/icon/IconLoader.cpp:
29405         (IconLoader::startLoading): Fix a similar latent bug here.
29407 2006-09-17  Adam Roben  <aroben@apple.com>
29409         Build fix.
29411         * loader/icon/IconDatabase.cpp:
29413 2006-09-17  Anders Carlsson  <acarlsson@apple.com>
29415         Reviewed by Brady.
29417         Add simplifyWhiteSpace and stripWhiteSpace to the String class. 
29418         Change the XSLT Parameter Map to use Strings instead of StringImpls.
29419         General cleanup.
29421         * bindings/js/JSXSLTProcessor.cpp:
29422         (KJS::XSLTProcessorProtoFunc::callAsFunction):
29423         * bindings/js/kjs_events.cpp:
29424         (KJS::JSAbstractEventListener::handleEvent):
29425         * bindings/js/kjs_window.cpp:
29426         (KJS::ScheduledAction::execute):
29427         * css/MediaList.cpp:
29428         (WebCore::MediaList::setMediaText):
29429         * dom/Document.cpp:
29430         (WebCore::Document::processHttpEquiv):
29431         * editing/ApplyStyleCommand.cpp:
29432         (WebCore::StyleChange::init):
29433         * html/HTMLDocument.cpp:
29434         (WebCore::parseDocTypeDeclaration):
29435         * html/HTMLLinkElement.cpp:
29436         (WebCore::HTMLLinkElement::parseMappedAttribute):
29437         * html/HTMLObjectElement.cpp:
29438         (WebCore::HTMLObjectElement::HTMLObjectElement):
29439         (WebCore::HTMLObjectElement::parseMappedAttribute):
29440         (WebCore::HTMLObjectElement::attach):
29441         (WebCore::HTMLObjectElement::setComplete):
29442         (WebCore::HTMLObjectElement::detach):
29443         (WebCore::HTMLObjectElement::recalcStyle):
29444         (WebCore::HTMLObjectElement::childrenChanged):
29445         (WebCore::HTMLObjectElement::isImageType):
29446         * html/HTMLObjectElement.h:
29447         * html/HTMLOptionElement.cpp:
29448         (WebCore::HTMLOptionElement::value):
29449         * html/HTMLSelectElement.cpp:
29450         (WebCore::HTMLSelectElement::appendFormData):
29451         * html/HTMLTokenizer.cpp:
29452         (WebCore::HTMLTokenizer::parseTag):
29453         * ksvg2/svg/SVGColor.cpp:
29454         (WebCore::SVGColor::setRGBColor):
29455         * ksvg2/svg/SVGDescElement.cpp:
29456         (WebCore::SVGDescElement::description):
29457         * platform/PlatformString.h:
29458         * platform/String.cpp:
29459         (WebCore::String::stripWhiteSpace):
29460         (WebCore::String::simplifyWhiteSpace):
29461         * platform/StringImpl.cpp:
29462         (WebCore::isSpace):
29463         (WebCore::parseLength):
29464         (WebCore::StringImpl::stripWhiteSpace):
29465         (WebCore::StringImpl::simplifyWhiteSpace):
29466         (WebCore::StringImpl::toInt):
29467         * platform/StringImpl.h:
29468         * platform/mac/ClipboardMac.mm:
29469         (WebCore::cocoaTypeFromMIMEType):
29470         * rendering/RenderPartObject.cpp:
29471         (WebCore::RenderPartObject::updateWidget):
29472         * xml/XPathFunctions.cpp:
29473         (WebCore::XPath::FunNormalizeSpace::doEvaluate):
29474         * xml/XPathGrammar.y:
29475         * xml/XPathStep.cpp:
29476         (WebCore::XPath::Step::nodeTestMatches):
29477         * xml/XSLStyleSheet.cpp:
29478         (WebCore::XSLStyleSheet::loadChildSheets):
29479         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
29480         * xml/XSLTProcessor.cpp:
29481         (WebCore::xsltParamArrayFromParameterMap):
29482         (WebCore::XSLTProcessor::setParameter):
29483         (WebCore::XSLTProcessor::getParameter):
29484         (WebCore::XSLTProcessor::removeParameter):
29485         * xml/XSLTProcessor.h:
29486         * xml/xmlhttprequest.cpp:
29487         (WebCore::XMLHttpRequest::getStatusText):
29489 2006-09-17  David Hyatt  <hyatt@apple.com>
29491         Fix for bugzilla bugs 10895 and 6336, fieldsets misbehaving when floats
29492         are declared right before the fieldsets.  It turns out fieldsets in other
29493         browsers avoid floats (like overflow:auto/hidden/scroll sections do), so
29494         adding that behavior to fieldset fixes the bug.
29496         Made avoidsFloats virtual and did some refactoring to make tables, flexboxes
29497         and fieldsets all subclass.
29499         Reviewed by anders
29501         Added fast/forms/float-before-fieldset.html
29503         * rendering/RenderFieldset.h:
29504         (WebCore::RenderFieldset::avoidsFloats):
29505         * rendering/RenderFlexibleBox.h:
29506         (WebCore::RenderFlexibleBox::avoidsFloats):
29507         * rendering/RenderObject.cpp:
29508         (WebCore::RenderObject::avoidsFloats):
29509         * rendering/RenderObject.h:
29510         * rendering/RenderTable.h:
29511         (WebCore::RenderTable::avoidsFloats):
29513 2006-09-17  David Hyatt  <hyatt@apple.com>
29515         Fix for bugzilla bug 3240, implement support for the HTML4 "frame" and
29516         "rules" attributes on tables.
29518         Reviewed by bradee-oh
29520         Well-covered by existing layout tests.
29522         * html/HTMLTableCellElement.cpp:
29523         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecl):
29524         * html/HTMLTableColElement.cpp:
29525         (WebCore::HTMLTableColElement::additionalAttributeStyleDecl):
29526         * html/HTMLTableColElement.h:
29527         * html/HTMLTableElement.cpp:
29528         (WebCore::HTMLTableElement::HTMLTableElement):
29529         (WebCore::HTMLTableElement::~HTMLTableElement):
29530         (WebCore::HTMLTableElement::setCaption):
29531         (WebCore::HTMLTableElement::setTHead):
29532         (WebCore::HTMLTableElement::setTFoot):
29533         (WebCore::HTMLTableElement::setTBody):
29534         (WebCore::HTMLTableElement::createTHead):
29535         (WebCore::HTMLTableElement::deleteTHead):
29536         (WebCore::HTMLTableElement::createTFoot):
29537         (WebCore::HTMLTableElement::deleteTFoot):
29538         (WebCore::HTMLTableElement::createCaption):
29539         (WebCore::HTMLTableElement::deleteCaption):
29540         (WebCore::HTMLTableElement::insertRow):
29541         (WebCore::HTMLTableElement::deleteRow):
29542         (WebCore::HTMLTableElement::addChild):
29543         (WebCore::HTMLTableElement::childrenChanged):
29544         (WebCore::HTMLTableElement::mapToEntry):
29545         (WebCore::HTMLTableElement::parseMappedAttribute):
29546         (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
29547         (WebCore::HTMLTableElement::getSharedCellDecl):
29548         (WebCore::HTMLTableElement::getSharedGroupDecl):
29549         (WebCore::HTMLTableElement::attach):
29550         * html/HTMLTableElement.h:
29551         (WebCore::HTMLTableElement::caption):
29552         (WebCore::HTMLTableElement::tHead):
29553         (WebCore::HTMLTableElement::tFoot):
29554         (WebCore::HTMLTableElement::):
29555         * html/HTMLTableRowElement.h:
29556         * html/HTMLTableSectionElement.cpp:
29557         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecl):
29558         * html/HTMLTableSectionElement.h:
29560 2006-09-17  David Hyatt  <hyatt@apple.com>
29562         Fix for bugzilla bug 4192, font size wrong for <tt> elements that
29563         specify their own new font-family list.  Make sure to always
29564         reset the generic family along with the family list when mapping in
29565         new font-family values.
29567         Reviewed by bradee-oh
29569         fast/text/basic/generic-family-reset.html
29571         * css/cssstyleselector.cpp:
29572         (WebCore::CSSStyleSelector::applyProperty):
29574 2006-09-16  Brady Eidson <beidson@apple.com>
29576         Reviewed by Hyatt
29578         Pruning code relating to WebKit's icon loader
29580         * bridge/mac/WebCoreIconDatabaseBridge.h:
29581         * bridge/mac/WebCoreIconDatabaseBridge.mm:
29582         * loader/icon/IconDatabase.h:
29583         * page/Frame.cpp:
29584         (WebCore::Frame::endIfNotLoading): Moved a FIXME in from WebKit's IconLoader to 
29585         its new home
29587 2006-09-16  Sam Weinig  <sam.weinig@gmail.com>
29589         Reviewed by Tim H.
29591         Patch for http://bugs.webkit.org/show_bug.cgi?id=10885
29592         Auto-generate DOMHTMLDocument for the Objective-C bindings
29594         * DerivedSources.make:
29595         * WebCore.xcodeproj/project.pbxproj:
29596         * bindings/objc/DOMExtensions.h:
29597         * bindings/objc/DOMHTML.mm:
29598         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
29599         * bindings/objc/DOMHTMLDocument.h: Removed.
29600         * bindings/objc/DOMHTMLDocument.mm: Removed.
29601         * bindings/objc/PublicDOMInterfaces.h:
29602         * bindings/scripts/CodeGeneratorObjC.pm:
29603         * html/HTMLDocument.idl:
29604         * platform/DeprecatedString.h:
29605         (WebCore::DeprecatedString::operator NSString*):
29607 2006-09-16  Rob Buis  <buis@kde.org>
29609         Reviewed by Eric.
29611         http://bugs.webkit.org/show_bug.cgi?id=10866
29612         Code in kcanvas/ should not use Private
29614         Remove Private classes and tweak coding style.
29616         WARNING: NO TEST CASES ADDED OR CHANGED
29618         * kcanvas/RenderPath.cpp:
29619         (WebCore::RenderPath::RenderPath):
29620         (WebCore::RenderPath::~RenderPath):
29621         (WebCore::RenderPath::localTransform):
29622         (WebCore::RenderPath::setLocalTransform):
29623         (WebCore::RenderPath::fillContains):
29624         (WebCore::RenderPath::relativeBBox):
29625         (WebCore::RenderPath::setPath):
29626         (WebCore::RenderPath::path):
29627         (WebCore::RenderPath::layout):
29628         * kcanvas/RenderPath.h:
29629         * kcanvas/RenderSVGContainer.cpp:
29630         (WebCore::RenderSVGContainer::RenderSVGContainer):
29631         (WebCore::RenderSVGContainer::~RenderSVGContainer):
29632         (WebCore::RenderSVGContainer::drawsContents):
29633         (WebCore::RenderSVGContainer::setDrawsContents):
29634         (WebCore::RenderSVGContainer::localTransform):
29635         (WebCore::RenderSVGContainer::setLocalTransform):
29636         (WebCore::RenderSVGContainer::layout):
29637         (WebCore::RenderSVGContainer::paint):
29638         (WebCore::RenderSVGContainer::setViewport):
29639         (WebCore::RenderSVGContainer::viewport):
29640         (WebCore::RenderSVGContainer::setViewBox):
29641         (WebCore::RenderSVGContainer::viewBox):
29642         (WebCore::RenderSVGContainer::setAlign):
29643         (WebCore::RenderSVGContainer::align):
29644         (WebCore::RenderSVGContainer::fillContains):
29645         (WebCore::RenderSVGContainer::strokeContains):
29646         (WebCore::RenderSVGContainer::setSlice):
29647         (WebCore::RenderSVGContainer::slice):
29648         * kcanvas/RenderSVGContainer.h:
29649         * kcanvas/device/KRenderingFillPainter.cpp:
29650         (WebCore::KRenderingFillPainter::KRenderingFillPainter):
29651         (WebCore::KRenderingFillPainter::~KRenderingFillPainter):
29652         (WebCore::KRenderingFillPainter::fillRule):
29653         (WebCore::KRenderingFillPainter::setFillRule):
29654         (WebCore::KRenderingFillPainter::opacity):
29655         (WebCore::KRenderingFillPainter::setOpacity):
29656         * kcanvas/device/KRenderingFillPainter.h:
29657         * kcanvas/device/KRenderingPaintServerGradient.cpp:
29658         (WebCore::KRenderingPaintServerGradient::KRenderingPaintServerGradient):
29659         (WebCore::KRenderingPaintServerGradient::~KRenderingPaintServerGradient):
29660         (WebCore::KRenderingPaintServerGradient::gradientStops):
29661         (WebCore::KRenderingPaintServerGradient::setGradientStops):
29662         (WebCore::KRenderingPaintServerGradient::spreadMethod):
29663         (WebCore::KRenderingPaintServerGradient::setGradientSpreadMethod):
29664         (WebCore::KRenderingPaintServerGradient::boundingBoxMode):
29665         (WebCore::KRenderingPaintServerGradient::setBoundingBoxMode):
29666         (WebCore::KRenderingPaintServerGradient::gradientTransform):
29667         (WebCore::KRenderingPaintServerGradient::setGradientTransform):
29668         (WebCore::KRenderingPaintServerLinearGradient::KRenderingPaintServerLinearGradient):
29669         (WebCore::KRenderingPaintServerLinearGradient::~KRenderingPaintServerLinearGradient):
29670         (WebCore::KRenderingPaintServerLinearGradient::gradientStart):
29671         (WebCore::KRenderingPaintServerLinearGradient::setGradientStart):
29672         (WebCore::KRenderingPaintServerLinearGradient::gradientEnd):
29673         (WebCore::KRenderingPaintServerLinearGradient::setGradientEnd):
29674         (WebCore::KRenderingPaintServerRadialGradient::KRenderingPaintServerRadialGradient):
29675         (WebCore::KRenderingPaintServerRadialGradient::~KRenderingPaintServerRadialGradient):
29676         (WebCore::KRenderingPaintServerRadialGradient::gradientCenter):
29677         (WebCore::KRenderingPaintServerRadialGradient::setGradientCenter):
29678         (WebCore::KRenderingPaintServerRadialGradient::gradientFocal):
29679         (WebCore::KRenderingPaintServerRadialGradient::setGradientFocal):
29680         (WebCore::KRenderingPaintServerRadialGradient::gradientRadius):
29681         (WebCore::KRenderingPaintServerRadialGradient::setGradientRadius):
29682         (WebCore::KRenderingPaintServerGradient::listener):
29683         (WebCore::KRenderingPaintServerGradient::setListener):
29684         * kcanvas/device/KRenderingPaintServerGradient.h:
29685         * kcanvas/device/KRenderingPaintServerPattern.cpp:
29686         (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
29687         (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
29688         (WebCore::KRenderingPaintServerPattern::setBbox):
29689         (WebCore::KRenderingPaintServerPattern::bbox):
29690         (WebCore::KRenderingPaintServerPattern::boundingBoxMode):
29691         (WebCore::KRenderingPaintServerPattern::setBoundingBoxMode):
29692         (WebCore::KRenderingPaintServerPattern::tile):
29693         (WebCore::KRenderingPaintServerPattern::setTile):
29694         (WebCore::KRenderingPaintServerPattern::patternTransform):
29695         (WebCore::KRenderingPaintServerPattern::setPatternTransform):
29696         (WebCore::KRenderingPaintServerPattern::listener):
29697         (WebCore::KRenderingPaintServerPattern::setListener):
29698         * kcanvas/device/KRenderingPaintServerPattern.h:
29699         * kcanvas/device/KRenderingPaintServerSolid.cpp:
29700         (WebCore::KRenderingPaintServerSolid::KRenderingPaintServerSolid):
29701         (WebCore::KRenderingPaintServerSolid::~KRenderingPaintServerSolid):
29702         (WebCore::KRenderingPaintServerSolid::color):
29703         (WebCore::KRenderingPaintServerSolid::setColor):
29704         * kcanvas/device/KRenderingPaintServerSolid.h:
29705         * kcanvas/device/KRenderingStrokePainter.cpp:
29706         (WebCore::KRenderingStrokePainter::KRenderingStrokePainter):
29707         (WebCore::KRenderingStrokePainter::~KRenderingStrokePainter):
29708         (WebCore::KRenderingStrokePainter::strokeWidth):
29709         (WebCore::KRenderingStrokePainter::setStrokeWidth):
29710         (WebCore::KRenderingStrokePainter::strokeMiterLimit):
29711         (WebCore::KRenderingStrokePainter::setStrokeMiterLimit):
29712         (WebCore::KRenderingStrokePainter::strokeCapStyle):
29713         (WebCore::KRenderingStrokePainter::setStrokeCapStyle):
29714         (WebCore::KRenderingStrokePainter::strokeJoinStyle):
29715         (WebCore::KRenderingStrokePainter::setStrokeJoinStyle):
29716         (WebCore::KRenderingStrokePainter::dashOffset):
29717         (WebCore::KRenderingStrokePainter::setDashOffset):
29718         (WebCore::KRenderingStrokePainter::dashArray):
29719         (WebCore::KRenderingStrokePainter::setDashArray):
29720         (WebCore::KRenderingStrokePainter::opacity):
29721         (WebCore::KRenderingStrokePainter::setOpacity):
29722         (WebCore::KRenderingStrokePainter::dirty):
29723         (WebCore::KRenderingStrokePainter::setDirty):
29724         * kcanvas/device/KRenderingStrokePainter.h:
29726 2006-09-16  Mark Rowe  <opendarwin.org@bdash.net.nz>
29728         Reviewed by Anders.
29730         http://bugs.webkit.org/show_bug.cgi?id=10887
29731         Fix build error
29733         * bindings/objc/DOMPrivate.h: Remove reference to DOMEventPrivate.h.
29735 2006-09-16  Sam Weinig  <sam.weinig@gmail.com>
29737         Reviewed by Anders.
29739         Fix for http://bugs.webkit.org/show_bug.cgi?id=10886
29740         REGRESSION (r16387): Reproducible crash when mousing over HTML document
29742         - Special case method [DOMNode ownerDocument] to call document() instead
29743           or ownerDocument() to return to the old behavior. 
29745         * WebCore.xcodeproj/project.pbxproj:
29746         * bindings/scripts/CodeGeneratorObjC.pm:
29748 2006-09-15  Brady Eidson  <beidson@apple.com>
29750         Reviewed by Tim Hatcher
29752         <rdar://problem/4730811> - New IconDatabase needs to attempt to create its path.
29753         Otherwise new installs and new user accounts won't have any icons because the icon.db cannot be created
29755         * loader/icon/IconDatabase.cpp: Removed a now obsolete FIXME
29756         (WebCore::makeAllDirectories): Added - candidate to be in a header for "platform neutral file utilities"
29757         (WebCore::IconDatabase::open): Make sure the directory exists
29759 2006-09-15  Timothy Hatcher  <timothy@apple.com>
29761         Reviewed by Brady.
29763         Make new style ObjC methods public API.
29765         * WebCore.xcodeproj/project.pbxproj:
29766         * bindings/objc/DOMPrivate.h:
29767         * bindings/objc/PublicDOMInterfaces.h:
29769 2006-09-15  Sam Weinig  <sam.weinig@gmail.com>
29771         Reviewed by Tim H.
29773         Patch for http://bugs.webkit.org/show_bug.cgi?id=10870
29774         Auto-generate DOMNode for the Objective-C bindings
29776         * DerivedSources.make:
29777         * WebCore.xcodeproj/project.pbxproj:
29778         * bindings/objc/DOM.mm:
29779         (-[DOMNode boundingBox]):
29780         (-[DOMNode lineBoxRects]):
29781         * bindings/objc/DOMEvents.h:
29782         * bindings/objc/DOMExtensions.h:
29783         * bindings/objc/DOMNode.h: Removed.
29784         * bindings/objc/DOMNode.mm: Removed.
29785         * bindings/objc/PublicDOMInterfaces.h:
29786         * bindings/scripts/CodeGeneratorObjC.pm:
29787         * dom/Node.idl:
29789 2006-09-15  Timothy Hatcher  <timothy@apple.com>
29791         Reviewed by Justin.
29793         Removed alter selection logic from WebCoreFrameBridge and moved to SelectionController.
29795         * bridge/mac/WebCoreFrameBridge.h:
29796         * bridge/mac/WebCoreFrameBridge.mm:
29797         (-[WebCoreFrameBridge centerSelectionInVisibleArea]):
29798         (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
29799         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
29800         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
29801         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
29802         (-[WebCoreFrameBridge replaceMarkedTextWithText:]):
29803         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
29804         (-[WebCoreFrameBridge increaseSelectionListLevel]):
29805         (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
29806         (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
29807         (-[WebCoreFrameBridge decreaseSelectionListLevel]):
29808         (-[WebCoreFrameBridge insertLineBreak]):
29809         (-[WebCoreFrameBridge insertParagraphSeparator]):
29810         (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
29811         (-[WebCoreFrameBridge insertText:selectInsertedText:]):
29812         (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
29813         (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
29814         (createMouseEventFromDraggingInfo):
29815         * editing/SelectionController.cpp:
29816         (WebCore::SelectionController::moveTo):
29817         (WebCore::SelectionController::setSelection):
29818         (WebCore::SelectionController::modify):
29819         (WebCore::SelectionController::setBase):
29820         (WebCore::SelectionController::setExtent):
29821         * editing/SelectionController.h:
29822         * page/Frame.cpp:
29823         (WebCore::Frame::revealSelection):
29824         (WebCore::Frame::revealCaret):
29825         * page/Frame.h:
29827 2006-09-15  Brady Eidson  <beidson@apple.com>
29829         Reviewed by Anders
29831         Added the ability to get a mutable char* from a CString, which will copy the internal
29832         buffer if the ref count is greater than 1 so your mutable char* won't affect any other
29833         referrer of that buffer.
29835         * platform/CString.cpp:
29836         (WebCore::CString::mutableData):
29837         (WebCore::CString::copyBufferIfNeeded):
29838         * platform/CString.h:
29840 2006-09-15  Justin Garcia  <justin.garcia@apple.com>
29842         Reviewed by harrison
29843         
29844         <rdar://problem/4674869>
29845         REGRESSION: selecting text to write over results in cursor jumping to middle of next line
29847         * editing/SelectionController.cpp:
29848         (WebCore::SelectionController::modify): Added lineBoundary to test fix.
29849         * editing/visible_units.cpp:
29850         (WebCore::endOfLine): If the last box on the line is a lineBreak, return the
29851         position before it, not after it.
29853 2006-09-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
29855         Reviewed by Adam.
29857         http://bugs.webkit.org/show_bug.cgi?id=10864
29858         Bug 10864: Linux\GDK build fixes
29860         * Projects/gdk/webcore-gdk.bkl:
29861         * WebCoreSources.bkl:
29862         * platform/gdk/FontCacheGdk.cpp:
29863         * platform/gdk/FontDataGdk.cpp:
29864         (WebCore::FontData::platformInit):
29865         * platform/gdk/FontGdk.cpp:
29866         (WebCore::Font::drawGlyphs):
29867         * platform/gdk/FrameGdk.cpp:
29868         (WebCore::FrameGdk::handleGdkEvent):
29869         * platform/gdk/FrameGdk.h:
29870         * platform/gdk/ImageGdk.cpp: Added.
29871         (WebCore::Image::initPlatformData):
29872         (WebCore::Image::invalidatePlatformData):
29873         (WebCore::Image::loadPlatformResource):
29874         (WebCore::Image::supportsType):
29875         * platform/gdk/RenderPopupMenuGdk.cpp:
29876         (WebCore::RenderPopupMenuGdk::hidePopup):
29877         * platform/gdk/RenderPopupMenuGdk.h:
29878         * platform/gdk/ScreenGdk.cpp:
29879         (WebCore::drawableForPage):
29880         (WebCore::screenRect):
29881         (WebCore::screenDepth):
29882         (WebCore::usableScreenRect):
29883         (WebCore::scaleFactor):
29884         * platform/gdk/SystemTimeLinux.cpp:
29885         (WebCore::currentTime):
29886         * platform/gdk/TemporaryLinkStubs.cpp:
29887         (FrameGdk::bindingRootObject):
29888         (FrameGdk::markMisspellings):
29889         (WebCore::screenDepthPerComponent):
29890         (WebCore::screenIsMonochrome):
29891         (WebCore::fileButtonChooseFileLabel):
29892         (WebCore::fileButtonNoFileSelectedLabel):
29893         (FrameGdk::shouldChangeSelection):
29894         (FrameGdk::respondToChangedSelection):
29895         (FrameGdk::respondToChangedContents):
29896         (Path::contains):
29897         (PlatformScrollBar::PlatformScrollBar):
29898         (PlatformScrollBar::~PlatformScrollBar):
29899         (PlatformScrollBar::width):
29900         (PlatformScrollBar::height):
29901         (PlatformScrollBar::setEnabled):
29902         (PlatformScrollBar::paint):
29903         (PlatformScrollBar::setScrollBarValue):
29904         (PlatformScrollBar::setKnobProportion):
29905         (PlatformScrollBar::setRect):
29906         (ScrollBar::ScrollBar):
29907         (FileChooser::FileChooser):
29908         (FileChooser::~FileChooser):
29909         (FileChooser::openFileChooser):
29910         (FileChooser::basenameForWidth):
29911         (FileChooser::uploadControlDetaching):
29912         (FileChooser::chooseFile):
29913         (Icon::Icon):
29914         (Icon::~Icon):
29915         (Icon::newIconForFile):
29916         (Icon::paint):
29917         (IconLoader::stopLoading):
29918         (IconLoader::startLoading):
29919         (IconLoader::createForFrame):
29920         (IconDatabase::isIconExpiredForIconURL):
29921         (IconDatabase::hasEntryForIconURL):
29922         (IconDatabase::sharedIconDatabase):
29923         * platform/gdk/WidgetGdk.cpp:
29924         * webcore-base.bkl:
29926 2006-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
29928         Reviewed by Eric.
29930         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10835
29931         Fix svg memory leaks.
29933         Reworked SVGList to deal with RefPtr's for ptr types
29934         which makes manual refcounting unnecessary, and is much safer.
29936         Removing all virtual functions (nullItem) from SVGList, and
29937         also remove SVGListBase. Switch to a similar concept like
29938         Vector/VectorTraits (see new file SVGListTraits.h).
29940         Credits go to Eric/Maciej for the inspiration.
29942         * CMakeLists.txt: Add SVGListTraits.cpp to build
29943         * WebCore.xcodeproj/project.pbxproj: Ditto.
29944         * bindings/scripts/CodeGeneratorJS.pm: Generator changes for SVGTransform/PathSeg/LengthList (now RefPtr based)
29945         * kcanvas/RenderSVGText.cpp: Add some get() methods, as SVGLengthList is RefPtr based now.
29946         (WebCore::RenderSVGText::translationForAttributes):
29947         * ksvg2/svg/SVGAnimateTransformElement.cpp: Add some get() methods, as SVGTransformList is RefPtr based now.
29948         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
29949         * ksvg2/svg/SVGElementInstanceList.cpp: Be RefPtr based.
29950         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
29951         * ksvg2/svg/SVGElementInstanceList.h:
29952         * ksvg2/svg/SVGLengthList.cpp: Ditto.
29953         (WebCore::SVGLengthList::SVGLengthList):
29954         * ksvg2/svg/SVGLengthList.h: Ditto.
29955         * ksvg2/svg/SVGList.h: Rewrote, as described above.
29956         (WebCore::SVGListTypeOperations::nullItem):
29957         (WebCore::SVGList::SVGList):
29958         (WebCore::SVGList::~SVGList):
29959         (WebCore::SVGList::clear):
29960         (WebCore::SVGList::getFirst):
29961         (WebCore::SVGList::getLast):
29962         (WebCore::SVGList::getItem):
29963         (WebCore::SVGList::replaceItem):
29964         (WebCore::SVGList::removeItem):
29965         * ksvg2/svg/SVGListTraits.cpp: Added.
29966         * ksvg2/svg/SVGListTraits.h: Added.
29967         (WebCore::):
29968         * ksvg2/svg/SVGPathElement.cpp: Add some get() methods, as SVGPathSegList is RefPtr based now.
29969         (WebCore::SVGPathElement::toPathData):
29970         * ksvg2/svg/SVGPathSegList.cpp: Be RefPtr based.
29971         (WebCore::SVGPathSegList::SVGPathSegList):
29972         * ksvg2/svg/SVGPathSegList.h: Ditto.
29973         * ksvg2/svg/SVGTransform.cpp: Style cleanup.
29974         (SVGTransform::SVGTransform):
29975         * ksvg2/svg/SVGTransformList.cpp: Be RefPtr based.
29976         (SVGTransformList::SVGTransformList):
29977         (SVGTransformList::createSVGTransformFromMatrix):
29978         (SVGTransformList::consolidate):
29979         * ksvg2/svg/SVGTransformList.h: Ditto.
29980         * ksvg2/svg/SVGTransformable.cpp: Fix RefPtr usage of SVGTransform.
29981         (SVGTransformable::parseTransformAttribute):
29983 2006-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
29985         Reviewed by eseidel.  Landed by eseidel.
29987         Fix build on Qt/Linux and implement Frame::addMessageToConsole to
29988         be able to see javascript errors for instance.
29990         * CMakeLists.txt:
29991         * platform/qt/FrameQt.h:
29992         * platform/qt/FrameQt.cpp: Implement addMessageToConsole.
29993         (WebCore::FrameQt::bindingRootObject):
29994         * platform/qt/TemporaryLinkStubs.cp
29995         (WebCore::IconDatabase::hasEntryForIconURL):
29996         (WebCore::IconDatabase::sharedIconDatabase):
29998 2006-09-15  Sam Weinig  <sam.weinig@gmail.com>
30000         Reviewed by Tim H.
30002         Patch for http://bugs.webkit.org/show_bug.cgi?id=10869
30003         Auto-generate the internal methods for the Objective-C bindings
30005         - Auto-generates the internal method (ie. the _fooBar and _fooBarWith methods)
30006           implementations where standard.  For cases where a custom implementation was
30007           needed, added a [ObjCNoInternal] extended attribute to the corresponding IDL.
30009         - Some general cleanup of some of the non-generated bindings, to bring them in-
30010           line with what the generated bindings look like.
30012         * bindings/objc/DOM.mm:
30013         (-[DOMNode description]):
30014         * bindings/objc/DOMCSS.mm:
30015         (-[DOMCSSPrimitiveValue WebCore::]):
30016         (-[DOMDocument getComputedStyle::]):
30017         (-[DOMDocument getMatchedCSSRules::]):
30018         * bindings/objc/DOMEvents.mm:
30019         (-[DOMEvent WebCore::]):
30020         * bindings/objc/DOMHTML.mm:
30021         * bindings/objc/DOMHTMLDocument.mm:
30022         (-[DOMHTMLDocument title]):
30023         (-[DOMHTMLDocument setTitle:]):
30024         (-[DOMHTMLDocument referrer]):
30025         (-[DOMHTMLDocument domain]):
30026         (-[DOMHTMLDocument URL]):
30027         (-[DOMHTMLDocument body]):
30028         (-[DOMHTMLDocument setBody:]):
30029         (-[DOMHTMLDocument images]):
30030         (-[DOMHTMLDocument applets]):
30031         (-[DOMHTMLDocument links]):
30032         (-[DOMHTMLDocument forms]):
30033         (-[DOMHTMLDocument anchors]):
30034         (-[DOMHTMLDocument cookie]):
30035         (-[DOMHTMLDocument setCookie:]):
30036         (-[DOMHTMLDocument open]):
30037         (-[DOMHTMLDocument close]):
30038         (-[DOMHTMLDocument write:]):
30039         (-[DOMHTMLDocument writeln:]):
30040         (-[DOMHTMLDocument getElementById:]):
30041         (-[DOMHTMLDocument getElementsByName:]):
30042         (-[DOMHTMLDocument WebCore::]):
30043         (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
30044         * bindings/objc/DOMHTMLOptionElement.mm:
30045         (-[DOMHTMLOptionElement form]):
30046         (-[DOMHTMLOptionElement defaultSelected]):
30047         (-[DOMHTMLOptionElement setDefaultSelected:]):
30048         (-[DOMHTMLOptionElement text]):
30049         (-[DOMHTMLOptionElement index]):
30050         (-[DOMHTMLOptionElement disabled]):
30051         (-[DOMHTMLOptionElement setDisabled:]):
30052         (-[DOMHTMLOptionElement label]):
30053         (-[DOMHTMLOptionElement setLabel:]):
30054         (-[DOMHTMLOptionElement selected]):
30055         (-[DOMHTMLOptionElement setSelected:]):
30056         (-[DOMHTMLOptionElement value]):
30057         (-[DOMHTMLOptionElement setValue:]):
30058         (-[DOMHTMLOptionElement WebCore::]):
30059         (+[DOMHTMLOptionElement _HTMLOptionElementWith:WebCore::]):
30060         * bindings/objc/DOMInternal.h:
30061         * bindings/objc/DOMNode.mm:
30062         (-[DOMNode dealloc]):
30063         (-[DOMNode finalize]):
30064         (-[DOMNode nodeName]):
30065         (-[DOMNode nodeValue]):
30066         (-[DOMNode setNodeValue:]):
30067         (-[DOMNode nodeType]):
30068         (-[DOMNode parentNode]):
30069         (-[DOMNode childNodes]):
30070         (-[DOMNode firstChild]):
30071         (-[DOMNode lastChild]):
30072         (-[DOMNode previousSibling]):
30073         (-[DOMNode nextSibling]):
30074         (-[DOMNode attributes]):
30075         (-[DOMNode ownerDocument]):
30076         (-[DOMNode insertBefore::]):
30077         (-[DOMNode replaceChild::]):
30078         (-[DOMNode removeChild:]):
30079         (-[DOMNode appendChild:]):
30080         (-[DOMNode hasChildNodes]):
30081         (-[DOMNode cloneNode:]):
30082         (-[DOMNode normalize]):
30083         (-[DOMNode isSupported::]):
30084         (-[DOMNode namespaceURI]):
30085         (-[DOMNode prefix]):
30086         (-[DOMNode setPrefix:]):
30087         (-[DOMNode localName]):
30088         (-[DOMNode hasAttributes]):
30089         (-[DOMNode isSameNode:]):
30090         (-[DOMNode isEqualNode:]):
30091         (-[DOMNode isDefaultNamespace:]):
30092         (-[DOMNode lookupPrefix:]):
30093         (-[DOMNode lookupNamespaceURI:]):
30094         (-[DOMNode textContent]):
30095         (-[DOMNode setTextContent:]):
30096         (-[DOMNode boundingBox]):
30097         (-[DOMNode lineBoxRects]):
30098         * bindings/objc/DOMObject.mm:
30099         (-[DOMObject _init]):
30100         * bindings/objc/DOMXPath.mm:
30101         (-[DOMNativeXPathNSResolver dealloc]):
30102         (-[DOMNativeXPathNSResolver finalize]):
30103         (-[DOMNativeXPathNSResolver WebCore::]):
30104         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
30105         (+[DOMNativeXPathNSResolver _xpathNSResolverWith:WebCore::]):
30106         (-[DOMNativeXPathNSResolver lookupNamespaceURI:]):
30107         * bindings/scripts/CodeGeneratorObjC.pm:
30108         * bridge/mac/WebCoreFrameBridge.mm:
30109         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
30110         (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
30111         * css/CSSCharsetRule.idl:
30112         * css/CSSFontFaceRule.idl:
30113         * css/CSSImportRule.idl:
30114         * css/CSSMediaRule.idl:
30115         * css/CSSPageRule.idl:
30116         * css/CSSPrimitiveValue.idl:
30117         * css/CSSRule.idl:
30118         * css/CSSStyleRule.idl:
30119         * css/CSSStyleSheet.idl:
30120         * css/CSSUnknownRule.idl:
30121         * css/CSSValue.idl:
30122         * css/CSSValueList.idl:
30123         * css/StyleSheet.idl:
30124         * dom/Event.idl:
30125         * dom/KeyboardEvent.idl:
30126         * dom/MouseEvent.idl:
30127         * dom/MutationEvent.idl:
30128         * dom/NodeIterator.idl:
30129         * dom/OverflowEvent.idl:
30130         * dom/TreeWalker.idl:
30131         * dom/UIEvent.idl:
30132         * dom/WheelEvent.idl:
30134 2006-09-15  Adam Roben  <aroben@apple.com>
30136         Reviewed by timothy.
30138         Fixes http://bugs.webkit.org/show_bug.cgi?id=10865
30139         New file upload control should match the width of the old one
30141         Make width of new file upload control match the old one as closely as
30142         possible.
30144         * rendering/RenderFileUploadControl.cpp:
30146 2006-09-15  Timothy Hatcher  <timothy@apple.com>
30148         Reviewed by Eric.
30150         Remove the SVG IDL files from the Copy Resources phase.
30152         * WebCore.xcodeproj/project.pbxproj:
30154 2006-09-15  Brady Eidson  <beidson@apple.com>
30156         Reviewed by Eric Siedel
30158         Dumped the use of CGColorRef and directly use the floating point data from
30159         WebCore::Color
30161         This fixes the performance regression found between 16285 and 16286
30163         * platform/mac/FontMac.mm:
30164         (WebCore::Font::drawComplexText):
30165         (WebCore::Font::drawGlyphs):
30167 2006-09-14  Mark Rowe  <opendarwin.org@bdash.net.nz>
30169         Reviewed by Adam.
30171         http://bugs.webkit.org/show_bug.cgi?id=10838
30172         Bug 10838: REGRESSION: Leaking of WebScriptObjectPrivate
30174         FrameMac relies on its cleanupPluginObjects being called to perform cleanup.  The virtual
30175         Frame::cleanupPluginObjects method is called from Frame's destructor, which results
30176         in Frame::cleanupPluginObjects being called rather than FrameMac::cleanupPluginObjects.
30178         * bridge/mac/FrameMac.mm:
30179         (WebCore::FrameMac::~FrameMac): Call cancelAndClear to ensure that FrameMac::cleanupPluginObjects
30180         will be called from Frame::clear
30181         * page/Frame.cpp:
30182         (WebCore::Frame::~Frame): Use cancelAndClear.
30183         (WebCore::Frame::cancelAndClear): Move cancellation and clearing into a separate method that
30184         FrameMac can use.
30185         * page/Frame.h:
30187 2006-09-14  Brady Eidson  <beidson@apple.com>
30189         Reviewed by Maciej's rubber stamp
30191         Exact same fix I just made, but in the other method I horked up
30192         Also added a reference to the bugzilla in comments
30194         * page/Frame.cpp:
30195         (WebCore::Frame::endIfNotLoading):
30196         (WebCore::Frame::stop):
30198 2006-09-14  Brady Eidson  <beidson@apple.com>
30200         Reviewed by Maciej
30202         Fixed a bad iFrame crash, resolving some of the layout test badness
30204         * page/Frame.cpp:
30205         (WebCore::Frame::endIfNotLoading):
30206         - Added a RefPtr to protect the frame itself to prevent its destruction during this method
30208 2006-09-14  Justin Garcia  <justin.garcia@apple.com>
30210         Reviewed by harrison
30211         
30212         <rdar://problem/4655880> Up/Down arrows skip over To Do
30214         * bridge/mac/WebCoreFrameBridge.mm:
30215         (-[WebCoreFrameBridge canDeleteRange:]): Added a FIXME.
30216         * dom/Node.cpp: Removed the unused inSameRootEditableElement.
30217         * dom/Node.h:
30218         * editing/SelectionController.cpp:
30219         (WebCore::SelectionController::modify): Added documentboundary to granularities in order test a fix.
30220         * editing/visible_units.cpp:
30221         (WebCore::previousLinePosition): Use highestEditableRoot so that this function can move from
30222         editable content into editable content that's embedded in non-editable content.
30223         (WebCore::nextLinePosition): Ditto.
30224         (WebCore::startOfEditableContent): Renamed from startOfEditableRoot and use highestEditableRoot.
30225         This is the behavior that callers desire.  This fixes Command + Up/Down.
30226         (WebCore::endOfEditableContent): Ditto.
30227         * editing/visible_units.h:
30229 2006-09-14  Karthik Kumar  <karthikkumar@gmail.com>
30231         Reviewed by timothy. Landed by aroben.
30233         Fixes http://bugs.webkit.org/show_bug.cgi?id=10856
30234         Windows build fixes after r16360
30236         * WebCore.vcproj/WebCore/WebCore.vcproj: Add loader\icon to
30237         AdditionalIncludeDirectories
30238         * platform/win/TemporaryLinkStubs.cpp: Add link stubs for IconLoader,
30239         IconDatabase
30240         (IconLoader::stopLoading):
30241         (IconLoader::startLoading):
30242         (IconLoader::createForFrame):
30243         (IconDatabase::isIconExpiredForIconURL):
30244         (IconDatabase::hasEntryForIconURL):
30245         (IconDatabase::sharedIconDatabase):
30247 2006-09-14  Brady Eidson  <beidson@apple.com>
30249         Part of a build fix for Windows - rest will be working out a mess of temporary link stubs
30251         * loader/icon/IconLoader.cpp:
30252         (IconLoader::receivedAllData):
30253         * page/Frame.cpp:
30254         * page/FramePrivate.h:
30256 2006-09-14  Graham Dennis  <graham.dennis@gmail.com>
30258         Reviewed by Justin Garcia.
30260         - http://bugs.webkit.org/show_bug.cgi?id=10726
30261           Crash in ApplyStyleCommand::applyRelativeFontStyleChange
30263         * editing/ApplyStyleCommand.cpp:
30264         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Prevent a crash by
30265         makeing sure that the 'beyondEnd' node is after the start node.
30267 2006-09-14  Darin Fisher  <darin@chromium.org>
30269         Reviewed by Brady.
30271         Fixes http://bugs.webkit.org/show_bug.cgi?id=10845
30272         Various bugs/crashes in ResourceLoaderWin with local files.
30274         * platform/ResourceLoaderInternal.h:
30275         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
30276         * platform/win/ResourceLoaderWin.cpp:
30277         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
30278         (WebCore::ResourceLoader::fileLoadTimer):
30280 2006-09-13  Brady Eidson <beidson@apple.com>
30282         Reviewed by Maciej
30284         Icon loads now take place in WebCore
30286         * WebCore.xcodeproj/project.pbxproj:
30287         * bridge/BrowserExtension.h:
30288         * bridge/mac/BrowserExtensionMac.h:
30289         * bridge/mac/BrowserExtensionMac.mm:
30290         - Moved enforcement of a Mozilla Favicon extension elsewhere
30291         
30292         * bridge/mac/FrameMac.h: 
30293         * bridge/mac/FrameMac.mm: 
30294         (WebCore::FrameMac::originalRequestURL):
30295         - Added accessor to "original request URL"
30296         
30297         * bridge/mac/WebCoreFrameBridge.h: 
30298         - Removed methods to set the iconURL as all loading is now done in WebCore
30299         - Added call throughs to notify WebKit an Icon is done loading, and a to get the original request URL
30300         
30301         * html/HTMLLinkElement.cpp: 
30302         (WebCore::HTMLLinkElement::process):
30303         - Moved enforcement of a Mozilla Favicon extension elsewhere
30304         
30305         * loader/icon/IconDatabase.cpp:
30306         (WebCore::IconDatabase::setIconURLForPageURL):
30307         - Changed an ASSERT to correctly handle a sketchy (invalid) situation
30309         * loader/icon/IconLoader.h: Added.
30310         * loader/icon/IconLoader.cpp: Added.
30311         (IconLoader::IconLoader):
30312         (IconLoader::createForFrame):
30313         - Static factory method with a private constructor to enforce 
30314           "you MUST have a Frame to create an IconLoader" semantics
30315         (IconLoader::~IconLoader):
30316         (IconLoader::startLoading):
30317         (IconLoader::stopLoading):
30318         (IconLoader::receivedData):
30319         - ResourceLoaderClient delegate
30320         (IconLoader::receivedAllData):
30321         - Ditto
30323         * loader/mac/IconLoaderMac.mm: Added.
30324         (IconLoader::receivedResponse):
30325         (IconLoader::notifyIconChanged):
30326         - For now, these are platform specific methods
30327         - One to get the HTTP response code of an icon load
30328         - The other to call through to the app when the icon has changed (loaded)
30330         * page/Frame.h:
30331         * page/Frame.cpp:
30332         (WebCore::Frame::iconURL):
30333         (WebCore::Frame::setIconURL):
30334         - Frame objects now have an inherent icon URL and a way to calculate/access it
30335         (WebCore::Frame::endIfNotLoading):
30336         - This is where we actually kick off the IconLoader
30337         (WebCore::Frame::stop):
30338         - Added call to stop loading the icon
30340         * page/FramePrivate.h:
30341         (WebCore::FramePrivate::FramePrivate):
30342         (WebCore::FramePrivate::~FramePrivate):
30343         - Added the icon URL as a private member
30344         - Added the IconLoader as a private member, and clean it up on deletion
30346         * platform/mac/ResourceLoaderMac.mm:
30347         (WebCore::ResourceLoader::start):  Added a valuable ASSERT
30349 2006-09-13  David Hyatt  <hyatt@apple.com>
30351         Fix for 10841, unable to check checkboxes inside labels.
30353         Reviewed by xenon, bradee-oh
30355         * css/html4.css:
30356         * dom/Element.cpp:
30357         (WebCore::Element::contains):
30358         * dom/Element.h:
30359         * html/HTMLLabelElement.cpp:
30360         (WebCore::HTMLLabelElement::defaultEventHandler):
30362 2006-09-13  Mark Rowe  <opendarwin.org@bdash.net.nz>
30364         Reviewed by Adam.
30366         http://bugs.webkit.org/show_bug.cgi?id=10834
30367         Bug 10834: FileChooser constructor in FileChooserMac appears to overretain m_controller
30369         * platform/mac/FileChooserMac.mm:
30370         (WebCore::FileChooser::FileChooser): Don't over-retain the OpenPanelController.
30372 2006-09-13  Mark Rowe  <opendarwin.org@bdash.net.nz>
30374         Reviewed by Eric.
30376         http://bugs.webkit.org/show_bug.cgi?id=10836
30377         Bug 10836: REGRESSION: Mac implementation of Font::drawGlyphs leaks a CGColorRef
30379         * platform/mac/FontMac.mm:
30380         (WebCore::Font::drawComplexText): Release CGColorRef after use.
30381         (WebCore::Font::drawGlyphs): Ditto.
30383 2006-09-14  Anders Carlsson  <acarlsson@apple.com>
30385         Try fixing the Win32 build.
30386         
30387         * bridge/win/FrameWin.h:
30388         * platform/win/TemporaryLinkStubs.cpp:
30389         (FrameWin::bindingRootObject):
30391 2006-09-14  Anders Carlsson  <acarlsson@apple.com>
30393         Reviewed by Tim O.
30395         Add USE defines for the generic JavaScriptCore bindings as well as NPAPI bindings.
30396         
30397         * bindings/js/kjs_binding.cpp:
30398         (KJS::ScriptInterpreter::createLanguageInstanceForValue):
30399         * bindings/js/kjs_dom.cpp:
30400         (KJS::getRuntimeObject):
30401         * bridge/mac/FrameMac.h:
30402         * config.h:
30403         * html/HTMLAppletElement.cpp:
30404         (WebCore::HTMLAppletElement::~HTMLAppletElement):
30405         (WebCore::HTMLAppletElement::detach):
30406         * html/HTMLAppletElement.h:
30407         * html/HTMLEmbedElement.cpp:
30408         (WebCore::HTMLEmbedElement::~HTMLEmbedElement):
30409         (WebCore::HTMLEmbedElement::detach):
30410         * html/HTMLEmbedElement.h:
30411         * html/HTMLObjectElement.cpp:
30412         (WebCore::HTMLObjectElement::~HTMLObjectElement):
30413         (WebCore::HTMLObjectElement::detach):
30414         * html/HTMLObjectElement.h:
30415         * html/HTMLPlugInElement.cpp:
30416         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
30417         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
30418         (WebCore::HTMLPlugInElement::createNPObject):
30419         * html/HTMLPlugInElement.h:
30420         * page/Frame.h:
30422 2006-09-13  David Hyatt  <hyatt@apple.com>
30424         Clean up the XBL and XSLT ifdefs to be consistent with the SVG
30425         and XPath ifdefs.  KHTML_NO_XBL is flipped and is now XBL_SUPPORT.
30426         KHTML_XSLT is now XSLT_SUPPORT.
30428         * WebCore.xcodeproj/project.pbxproj:
30429         * bindings/js/JSXSLTProcessor.cpp:
30430         * bindings/js/JSXSLTProcessor.h:
30431         * bindings/js/kjs_window.cpp:
30432         (KJS::Window::getValueProperty):
30433         * config.h:
30434         * css/CSSComputedStyleDeclaration.cpp:
30435         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
30436         * css/cssparser.cpp:
30437         (WebCore::CSSParser::parseValue):
30438         * css/cssstyleselector.cpp:
30439         (WebCore::CSSStyleSelector::applyProperty):
30440         * dom/Document.cpp:
30441         (WebCore::Document::Document):
30442         (WebCore::Document::~Document):
30443         (WebCore::Document::recalcStyleSelector):
30444         * dom/Document.h:
30445         (WebCore::Document::bindingManager):
30446         * dom/Node.cpp:
30447         (WebCore::Node::createRendererIfNeeded):
30448         * dom/ProcessingInstruction.cpp:
30449         (WebCore::ProcessingInstruction::ProcessingInstruction):
30450         (WebCore::ProcessingInstruction::checkStyleSheet):
30451         (WebCore::ProcessingInstruction::setStyleSheet):
30452         * dom/ProcessingInstruction.h:
30453         * dom/XMLTokenizer.cpp:
30454         (WebCore::XMLTokenizer::processingInstruction):
30455         (WebCore::XMLTokenizer::insertErrorMessageBlock):
30456         * dom/XMLTokenizer.h:
30457         * loader/Cache.cpp:
30458         (WebCore::Cache::getStatistics):
30459         * loader/Cache.h:
30460         * loader/CachedResource.h:
30461         (WebCore::CachedResource::):
30462         * loader/CachedResourceClient.h:
30463         * loader/CachedXBLDocument.cpp:
30464         * loader/CachedXBLDocument.h:
30465         * loader/CachedXSLStyleSheet.cpp:
30466         * loader/CachedXSLStyleSheet.h:
30467         * loader/DocLoader.cpp:
30468         * loader/DocLoader.h:
30469         * rendering/RenderStyle.cpp:
30470         (WebCore::StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
30471         (WebCore::StyleCSS3NonInheritedData::~StyleCSS3NonInheritedData):
30472         (WebCore::StyleCSS3NonInheritedData::operator==):
30473         * rendering/RenderStyle.h:
30474         * xml/XSLImportRule.cpp:
30475         * xml/XSLImportRule.h:
30476         * xml/XSLStyleSheet.cpp:
30477         * xml/XSLStyleSheet.h:
30478         * xml/XSLTProcessor.cpp:
30479         * xml/XSLTProcessor.h:
30481 2006-09-13  Nikolas Zimmermann  <zimmermann@kde.org>
30483         Reviewed by eseidel.  Landed by eseidel.
30485         Fix newly introduced memory leaks in SVG.
30486         http://bugs.webkit.org/show_bug.cgi?id=10835
30488         * ksvg2/svg/SVGList.h:
30489         (WebCore::SVGListBase::~SVGListBase):
30490         (WebCore::SVGListBase::clearVector):
30491         (WebCore::SVGListBase::clear):
30492         (WebCore::SVGList::clearVector):
30493         (WebCore::):
30494         * ksvg2/svg/SVGNumberList.cpp: s/float/double/ - forgot that!
30495         (SVGNumberList::SVGNumberList):
30496         * ksvg2/svg/SVGNumberList.h: Ditto.
30498 2006-09-13  Darin Fisher  <darin@chromium.org>
30500         Reviewed/landed by aroben.
30502         Fixes http://bugs.webkit.org/show_bug.cgi?id=10833
30503         Windows build needs fixed after move to engine-rendered file upload widget
30505         * WebCore.vcproj/WebCore/WebCore.vcproj: Add RenderFileUpload files,
30506         remove RenderFileButton files
30507         * platform/win/TemporaryLinkStubs.cpp: Add stubs for FileChooser, Icon
30508         (FileChooser::FileChooser):
30509         (FileChooser::~FileChooser):
30510         (FileChooser::openFileChooser):
30511         (FileChooser::basenameForWidth):
30512         (FileChooser::uploadControlDetaching):
30513         (FileChooser::chooseFile):
30514         (WebCore::fileButtonChooseFileLabel):
30515         (WebCore::fileButtonNoFileSelectedLabel):
30516         (Icon::Icon):
30517         (Icon::~Icon):
30518         (Icon::newIconForFile):
30519         (Icon::paint):
30521 2006-09-13  Darin Fisher  <darin@chromium.org>
30523         Reviewed/landed by aroben.
30525         Fixes http://bugs.webkit.org/attachment.cgi?id=10537
30526         Webkit WebCore build fails on Windows
30528         * WebCore.vcproj/WebCore/build-generated-files.sh: export SOURCE_ROOT
30529         variable
30531 2006-09-13  Nikolas Zimmermann  <zimmermann@kde.org>
30533         Reviewed by Tim H.
30535         Fix Qt/Linux build.
30537         * CMakeLists.txt: Change SVGZoomEvent.idl location & add RenderFileUploadControl
30538         * platform/Icon.h: Add wtf/Platform.h include
30539         * platform/qt/FileChooserQt.cpp: Added as stub. Easy to implement though.
30540         (WebCore::FileChooser::FileChooser):
30541         (WebCore::FileChooser::~FileChooser):
30542         (WebCore::FileChooser::openFileChooser):
30543         (WebCore::FileChooser::basenameForWidth):
30544         (WebCore::FileChooser::uploadControlDetaching):
30545         (WebCore::FileChooser::chooseFile):
30546         * platform/qt/IconQt.cpp: Added as stub.
30547         (WebCore::Icon::Icon):
30548         (WebCore::Icon::~Icon):
30549         (WebCore::Icon::newIconForFile):
30550         (WebCore::Icon::paint):
30551         * platform/qt/TemporaryLinkStubs.cpp: Remove old RenderFileButton code & some new *Labels needed
30552         (searchableIndexIntroduction):
30553         (fileButtonChooseFileLabel):
30554         (fileButtonNoFileSelectedLabel):
30556 2006-09-12  Adam Roben  <aroben@apple.com>
30558         Reviewed by eseidel.
30560         Switch back to passing relative paths to generate-bindings.pl when
30561         generating JS bindings.
30563         * DerivedSources.make: Pass in relative paths to generate-bindings.pl
30564         * bindings/scripts/CodeGenerator.pm: Make ScanDirectory never call
30565         chdir and always construct absolute paths instead.
30567 2006-09-12  David Hyatt  <hyatt@apple.com>
30569         Fix for bug 3244, implement html4 label support.
30571         Reviewed by mjs, aroben
30573         Added fast/events/label-focus.html
30575         * css/html4.css:
30576         * html/HTMLLabelElement.cpp:
30577         (WebCore::HTMLLabelElement::formElement):
30578         (WebCore::HTMLLabelElement::setActive):
30579         (WebCore::HTMLLabelElement::setHovered):
30580         (WebCore::HTMLLabelElement::defaultEventHandler):
30581         * html/HTMLLabelElement.h:
30583 2006-09-12  Julien Palmas  <julien.palmas@gmail.com>
30585         Reviewed by darin.  Landed by eseidel.
30587         * ksvg2/svg/svgpathparser.cpp:
30588         (WebCore::SVGPolyParser::parsePoints):
30590 2006-09-11  Kevin McCullough  <KMcCullough@apple.com>
30592         Reviewed by Andersca, Maciej, Brady.
30594         - Implemented intersectsNode in the Range Class
30595           to be compliant with Mozilla standard
30597         * dom/Range.cpp:
30598         (WebCore::Range::intersectsNode):
30599         * dom/Range.h:
30600         * dom/Range.idl:
30602 2006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>
30604         Reviewed by eseidel.  Landed by eseidel.
30606         Test: svg/W3C-SVG-1.1/struct-dom-01-b.svg (fixed)
30607         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10826
30608         
30609         Also finally fixes some long outstanding bugs:
30610         Fixes: http://bugs.webkit.org/show_bug.cgi?id=9190
30611         Fixes: http://bugs.webkit.org/show_bug.cgi?id=9229
30612         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10413
30614         Enable all JavaScript SVG bindings. Builds on Qt/Linux & OSX.
30616         * CMakeLists.txt:
30617         * DerivedSources.make:
30618         * WebCore.xcodeproj/project.pbxproj:
30619         * bindings/scripts/CodeGenerator.pm:
30620         * bindings/scripts/CodeGeneratorJS.pm:
30621         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
30622         * ksvg2/svg/SVGAElement.idl: Added.
30623         * ksvg2/svg/SVGAngle.idl:
30624         * ksvg2/svg/SVGAnimateColorElement.idl: Added.
30625         * ksvg2/svg/SVGAnimateElement.idl: Added.
30626         * ksvg2/svg/SVGAnimateTransformElement.idl: Added.
30627         * ksvg2/svg/SVGAnimatedLengthList.idl: Added.
30628         * ksvg2/svg/SVGAnimatedNumberList.idl: Added.
30629         * ksvg2/svg/SVGAnimatedTransformList.idl: Added.
30630         * ksvg2/svg/SVGAnimationElement.idl: Added.
30631         * ksvg2/svg/SVGCircleElement.idl: Added.
30632         * ksvg2/svg/SVGClipPathElement.idl: Added.
30633         * ksvg2/svg/SVGColor.idl:
30634         * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Added.
30635         * ksvg2/svg/SVGCursorElement.idl: Added.
30636         * ksvg2/svg/SVGDefsElement.idl: Added.
30637         * ksvg2/svg/SVGDescElement.idl: Added.
30638         * ksvg2/svg/SVGEllipseElement.idl: Added.
30639         * ksvg2/svg/SVGEvent.idl:
30640         * ksvg2/svg/SVGExternalResourcesRequired.idl: Added.
30641         * ksvg2/svg/SVGFEBlendElement.idl: Added.
30642         * ksvg2/svg/SVGFEColorMatrixElement.idl: Added.
30643         * ksvg2/svg/SVGFEComponentTransferElement.idl: Added.
30644         * ksvg2/svg/SVGFECompositeElement.idl: Added.
30645         * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Added.
30646         * ksvg2/svg/SVGFEDisplacementMapElement.idl: Added.
30647         * ksvg2/svg/SVGFEDistantLightElement.idl: Added.
30648         * ksvg2/svg/SVGFEFloodElement.idl: Added.
30649         * ksvg2/svg/SVGFEFuncAElement.idl: Added.
30650         * ksvg2/svg/SVGFEFuncBElement.idl: Added.
30651         * ksvg2/svg/SVGFEFuncGElement.idl: Added.
30652         * ksvg2/svg/SVGFEFuncRElement.idl: Added.
30653         * ksvg2/svg/SVGFEGaussianBlurElement.idl: Added.
30654         * ksvg2/svg/SVGFEImageElement.idl: Added.
30655         * ksvg2/svg/SVGFEMergeElement.idl: Added.
30656         * ksvg2/svg/SVGFEMergeNodeElement.idl: Added.
30657         * ksvg2/svg/SVGFEOffsetElement.idl: Added.
30658         * ksvg2/svg/SVGFEPointLightElement.idl: Added.
30659         * ksvg2/svg/SVGFESpecularLightingElement.idl: Added.
30660         * ksvg2/svg/SVGFESpotLightElement.idl: Added.
30661         * ksvg2/svg/SVGFETileElement.idl: Added.
30662         * ksvg2/svg/SVGFETurbulenceElement.idl: Added.
30663         * ksvg2/svg/SVGFilterElement.idl: Added.
30664         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Added.
30665         * ksvg2/svg/SVGFitToViewBox.idl: Added.
30666         * ksvg2/svg/SVGForeignObjectElement.idl: Added.
30667         * ksvg2/svg/SVGGElement.idl: Added.
30668         * ksvg2/svg/SVGGradientElement.idl: Added.
30669         * ksvg2/svg/SVGImageElement.idl: Added.
30670         * ksvg2/svg/SVGLangSpace.idl: Added.
30671         * ksvg2/svg/SVGLength.idl:
30672         * ksvg2/svg/SVGLengthList.idl: Added.
30673         * ksvg2/svg/SVGLineElement.idl: Added.
30674         * ksvg2/svg/SVGLinearGradientElement.idl: Added.
30675         * ksvg2/svg/SVGLocatable.idl: Added.
30676         * ksvg2/svg/SVGMarkerElement.idl: Added.
30677         * ksvg2/svg/SVGMaskElement.idl: Added.
30678         * ksvg2/svg/SVGNumberList.idl: Added.
30679         * ksvg2/svg/SVGPaint.idl: Added.
30680         * ksvg2/svg/SVGPathElement.idl:
30681         * ksvg2/svg/SVGPathSeg.idl:
30682         * ksvg2/svg/SVGPatternElement.idl: Added.
30683         * ksvg2/svg/SVGPointList.idl: Added.
30684         * ksvg2/svg/SVGPolygonElement.idl: Added.
30685         * ksvg2/svg/SVGPolylineElement.idl: Added.
30686         * ksvg2/svg/SVGPreserveAspectRatio.idl:
30687         * ksvg2/svg/SVGRadialGradientElement.idl: Added.
30688         * ksvg2/svg/SVGRectElement.idl: Added.
30689         * ksvg2/svg/SVGRenderingIntent.idl: Added.
30690         * ksvg2/svg/SVGSVGElement.idl:
30691         * ksvg2/svg/SVGScriptElement.idl: Added.
30692         * ksvg2/svg/SVGSetElement.idl: Added.
30693         * ksvg2/svg/SVGStopElement.idl: Added.
30694         * ksvg2/svg/SVGStringList.idl: Added.
30695         * ksvg2/svg/SVGStylable.idl: Added.
30696         * ksvg2/svg/SVGStyleElement.idl: Added.
30697         * ksvg2/svg/SVGSwitchElement.idl: Added.
30698         * ksvg2/svg/SVGSymbolElement.idl: Added.
30699         * ksvg2/svg/SVGTRefElement.idl: Added.
30700         * ksvg2/svg/SVGTSpanElement.idl: Added.
30701         * ksvg2/svg/SVGTests.idl: Added.
30702         * ksvg2/svg/SVGTextContentElement.idl: Added.
30703         * ksvg2/svg/SVGTextElement.idl: Added.
30704         * ksvg2/svg/SVGTextPositioningElement.idl: Added.
30705         * ksvg2/svg/SVGTitleElement.idl: Added.
30706         * ksvg2/svg/SVGTransform.idl:
30707         * ksvg2/svg/SVGTransformList.idl: Added.
30708         * ksvg2/svg/SVGTransformable.idl: Added.
30709         * ksvg2/svg/SVGURIReference.idl: Added.
30710         * ksvg2/svg/SVGUnitTypes.idl: Added.
30711         * ksvg2/svg/SVGUseElement.idl: Added.
30712         * ksvg2/svg/SVGViewElement.idl: Added.
30713         * ksvg2/svg/SVGZoomAndPan.idl: Added.
30714         * ksvg2/svg/SVGZoomEvent.idl: Added.
30716 2006-09-12  Adam Roben  <aroben@apple.com>
30718         Reviewed by timo, ggaren.
30720         Make Icon ref-counted.
30722         * platform/FileChooser.h: Store m_icon as a RefPtr instead of
30723         auto_ptr.
30724         * platform/Icon.h: Inherit from Shared<Icon>
30725         * platform/mac/FileChooserMac.mm:
30726         (WebCore::FileChooser::chooseFile): Update m_icon usage
30727         * platform/mac/IconMac.mm:
30728         (WebCore::Icon::newIconForFile): Return a RefPtr instead of an
30729         auto_ptr
30731 === Safari-521.26 ===
30733 2006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>
30735         Reviewed by Anders.
30737         Add exception codes to SVGList functions, adjust all code using it.
30739         Move SVGPaintType enums from ksvg.h into SVGPaint (needed for js generation)
30740         Move SVGUnitTypes enums from ksvg.h into it's own file SVGUnitType.h (ditto)
30741         Move SVGRenderingIntent enums from ksvg.h into it's own file SVGRenderingIntent.h (ditto)
30742         Move SVGZoomAndPan enums from ksvg.h into SVGSVGElement (ditto)
30743         Move SVGFE* related enums into their respecitive classes.
30745         Fix JSSVGNumber to operator on doubles, instead of floats.
30747         * ksvg2/bindings/js/JSSVGNumber.cpp:
30748         (WebCore::getJSSVGNumber):
30749         * ksvg2/bindings/js/JSSVGNumber.h:
30750         (WebCore::JSSVGNumber::JSSVGNumber):
30751         * ksvg2/css/SVGCSSParser.cpp:
30752         (WebCore::CSSParser::parseSVGValue):
30753         (WebCore::CSSParser::parseSVGPaint):
30754         * ksvg2/css/SVGRenderStyleDefs.cpp:
30755         (StyleFillData::operator==):
30756         * ksvg2/ksvg.h:
30757         * ksvg2/misc/KCanvasRenderingStyle.cpp:
30758         (WebCore::KSVGPainterFactory::isFilled):
30759         (WebCore::KSVGPainterFactory::fillPaintServer):
30760         (WebCore::KSVGPainterFactory::isStroked):
30761         (WebCore::KSVGPainterFactory::strokePaintServer):
30762         * ksvg2/misc/KSVGTimeScheduler.cpp:
30763         (WebCore::SVGTimer::notifyAll):
30764         * ksvg2/svg/SVGAnimateColorElement.cpp:
30765         (WebCore::SVGAnimateColorElement::handleTimerEvent):
30766         * ksvg2/svg/SVGAnimateTransformElement.cpp:
30767         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
30768         (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
30769         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
30770         (WebCore::SVGAnimateTransformElement::parseTransformValue):
30771         * ksvg2/svg/SVGAnimateTransformElement.h:
30772         * ksvg2/svg/SVGAnimatedTemplate.h:
30773         * ksvg2/svg/SVGAnimationElement.cpp:
30774         (SVGAnimationElement::getSimpleDuration):
30775         (SVGAnimationElement::parseMappedAttribute):
30776         (SVGAnimationElement::setTargetAttribute):
30777         * ksvg2/svg/SVGAnimationElement.h:
30778         * ksvg2/svg/SVGClipPathElement.cpp:
30779         (SVGClipPathElement::SVGClipPathElement):
30780         (SVGClipPathElement::parseMappedAttribute):
30781         (SVGClipPathElement::canvasResource):
30782         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
30783         (SVGComponentTransferFunctionElement::transferFunction):
30784         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
30785         (WebCore::SVGComponentTransferFunctionElement::):
30786         * ksvg2/svg/SVGDocument.cpp:
30787         (WebCore::SVGDocument::dispatchZoomEvent):
30788         (WebCore::SVGDocument::dispatchScrollEvent):
30789         * ksvg2/svg/SVGFEBlendElement.cpp:
30790         (WebCore::SVGFEBlendElement::parseMappedAttribute):
30791         (WebCore::SVGFEBlendElement::filterEffect):
30792         * ksvg2/svg/SVGFEBlendElement.h:
30793         (WebCore::SVGFEBlendElement::):
30794         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
30795         (SVGFEColorMatrixElement::parseMappedAttribute):
30796         (SVGFEColorMatrixElement::filterEffect):
30797         * ksvg2/svg/SVGFEColorMatrixElement.h:
30798         (WebCore::SVGFEColorMatrixElement::):
30799         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
30800         (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
30801         (WebCore::SVGFEComponentTransferElement::filterEffect):
30802         * ksvg2/svg/SVGFEComponentTransferElement.h:
30803         * ksvg2/svg/SVGFECompositeElement.cpp:
30804         (SVGFECompositeElement::parseMappedAttribute):
30805         (SVGFECompositeElement::filterEffect):
30806         * ksvg2/svg/SVGFECompositeElement.h:
30807         (WebCore::SVGFECompositeElement::):
30808         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
30809         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
30810         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
30811         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
30812         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
30813         (SVGFEDisplacementMapElement::parseMappedAttribute):
30814         (SVGFEDisplacementMapElement::filterEffect):
30815         * ksvg2/svg/SVGFEDisplacementMapElement.h:
30816         (WebCore::SVGFEDisplacementMapElement::):
30817         * ksvg2/svg/SVGFEFloodElement.cpp:
30818         (WebCore::SVGFEFloodElement::parseMappedAttribute):
30819         (WebCore::SVGFEFloodElement::filterEffect):
30820         * ksvg2/svg/SVGFEFloodElement.h:
30821         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
30822         (SVGFEGaussianBlurElement::parseMappedAttribute):
30823         (SVGFEGaussianBlurElement::filterEffect):
30824         * ksvg2/svg/SVGFEGaussianBlurElement.h:
30825         * ksvg2/svg/SVGFEMergeElement.cpp:
30826         (SVGFEMergeElement::filterEffect):
30827         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
30828         (SVGFEMergeNodeElement::parseMappedAttribute):
30829         * ksvg2/svg/SVGFEMergeNodeElement.h:
30830         * ksvg2/svg/SVGFEOffsetElement.cpp:
30831         (SVGFEOffsetElement::parseMappedAttribute):
30832         (SVGFEOffsetElement::filterEffect):
30833         * ksvg2/svg/SVGFEOffsetElement.h:
30834         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
30835         (SVGFESpecularLightingElement::parseMappedAttribute):
30836         (SVGFESpecularLightingElement::filterEffect):
30837         * ksvg2/svg/SVGFESpecularLightingElement.h:
30838         * ksvg2/svg/SVGFETileElement.cpp:
30839         (WebCore::SVGFETileElement::parseMappedAttribute):
30840         (WebCore::SVGFETileElement::filterEffect):
30841         * ksvg2/svg/SVGFETileElement.h:
30842         * ksvg2/svg/SVGFETurbulenceElement.h:
30843         (WebCore::SVGFETurbulenceElement::):
30844         * ksvg2/svg/SVGFilterElement.cpp:
30845         (SVGFilterElement::SVGFilterElement):
30846         (SVGFilterElement::parseMappedAttribute):
30847         (SVGFilterElement::canvasResource):
30848         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
30849         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
30850         * ksvg2/svg/SVGGradientElement.cpp:
30851         (SVGGradientElement::SVGGradientElement):
30852         (SVGGradientElement::parseMappedAttribute):
30853         * ksvg2/svg/SVGGradientElement.h:
30854         (WebCore::SVGGradientElement::):
30855         * ksvg2/svg/SVGHelper.cpp:
30856         (WebCore::SVGHelper::ParseSeperatedList):
30857         * ksvg2/svg/SVGLengthList.cpp:
30858         (WebCore::SVGLengthList::parse):
30859         * ksvg2/svg/SVGLinearGradientElement.cpp:
30860         (SVGLinearGradientElement::buildGradient):
30861         * ksvg2/svg/SVGList.h:
30862         (WebCore::SVGListBase::clear):
30863         (WebCore::SVGListBase::initialize):
30864         (WebCore::SVGListBase::getItem):
30865         (WebCore::SVGListBase::insertItemBefore):
30866         (WebCore::SVGListBase::replaceItem):
30867         (WebCore::SVGListBase::removeItem):
30868         (WebCore::SVGListBase::appendItem):
30869         * ksvg2/svg/SVGLocatable.cpp:
30870         * ksvg2/svg/SVGLocatable.h:
30871         * ksvg2/svg/SVGMarkerElement.h:
30872         (WebCore::SVGMarkerElement::):
30873         * ksvg2/svg/SVGNumberList.cpp:
30874         (SVGNumberList::parse):
30875         * ksvg2/svg/SVGPaint.cpp:
30876         (WebCore::SVGPaint::SVGPaint):
30877         (WebCore::SVGPaint::uri):
30878         (WebCore::SVGPaint::setUri):
30879         (WebCore::SVGPaint::setPaint):
30880         * ksvg2/svg/SVGPaint.h:
30881         (WebCore::SVGPaint::):
30882         * ksvg2/svg/SVGPathElement.cpp:
30883         (WebCore::SVGPathElement::svgMoveTo):
30884         (WebCore::SVGPathElement::svgLineTo):
30885         (WebCore::SVGPathElement::svgLineToHorizontal):
30886         (WebCore::SVGPathElement::svgLineToVertical):
30887         (WebCore::SVGPathElement::svgCurveToCubic):
30888         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
30889         (WebCore::SVGPathElement::svgCurveToQuadratic):
30890         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
30891         (WebCore::SVGPathElement::svgArcTo):
30892         (WebCore::SVGPathElement::svgClosePath):
30893         (WebCore::SVGPathElement::parseMappedAttribute):
30894         (WebCore::SVGPathElement::toPathData):
30895         * ksvg2/svg/SVGPatternElement.cpp:
30896         (WebCore::SVGPatternElement::SVGPatternElement):
30897         (WebCore::SVGPatternElement::parseMappedAttribute):
30898         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
30899         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
30900         * ksvg2/svg/SVGPolyElement.cpp:
30901         (SVGPolyElement::parseMappedAttribute):
30902         (SVGPolyElement::svgPolyTo):
30903         (SVGPolyElement::notifyAttributeChange):
30904         * ksvg2/svg/SVGPolygonElement.cpp:
30905         (SVGPolygonElement::toPathData):
30906         * ksvg2/svg/SVGPolylineElement.cpp:
30907         (SVGPolylineElement::toPathData):
30908         * ksvg2/svg/SVGRadialGradientElement.cpp:
30909         (WebCore::SVGRadialGradientElement::buildGradient):
30910         * ksvg2/svg/SVGRenderingIntent.h: Added.
30911         (WebCore::SVGRenderingIntent::):
30912         (WebCore::SVGRenderingIntent::SVGRenderingIntent):
30913         (WebCore::SVGRenderingIntent::~SVGRenderingIntent):
30914         * ksvg2/svg/SVGSVGElement.h:
30915         (WebCore::SVGSVGElement::):
30916         * ksvg2/svg/SVGScriptElement.cpp:
30917         (WebCore::SVGScriptElement::type):
30918         (WebCore::SVGScriptElement::setType):
30919         (WebCore::SVGScriptElement::parseMappedAttribute):
30920         * ksvg2/svg/SVGScriptElement.h:
30921         * ksvg2/svg/SVGStringList.cpp:
30922         (WebCore::SVGStringList::reset):
30923         * ksvg2/svg/SVGStyledLocatableElement.cpp:
30924         (SVGStyledLocatableElement::getTransformToElement):
30925         * ksvg2/svg/SVGStyledLocatableElement.h:
30926         * ksvg2/svg/SVGStyledTransformableElement.cpp:
30927         (SVGStyledTransformableElement::parseMappedAttribute):
30928         (SVGStyledTransformableElement::getTransformToElement):
30929         * ksvg2/svg/SVGStyledTransformableElement.h:
30930         * ksvg2/svg/SVGTests.cpp:
30931         (WebCore::SVGTests::hasExtension):
30932         (WebCore::SVGTests::isValid):
30933         * ksvg2/svg/SVGTests.h:
30934         * ksvg2/svg/SVGTextContentElement.cpp:
30935         (SVGTextContentElement::getSubStringLength):
30936         (SVGTextContentElement::getStartPositionOfChar):
30937         (SVGTextContentElement::getEndPositionOfChar):
30938         (SVGTextContentElement::getExtentOfChar):
30939         (SVGTextContentElement::getRotationOfChar):
30940         (SVGTextContentElement::selectSubString):
30941         * ksvg2/svg/SVGTextContentElement.h:
30942         (WebCore::SVGTextContentElement::):
30943         * ksvg2/svg/SVGTextElement.cpp:
30944         (WebCore::SVGTextElement::parseMappedAttribute):
30945         * ksvg2/svg/SVGTextElement.h:
30946         (WebCore::SVGTextElement::getTransformToElement):
30947         * ksvg2/svg/SVGTransform.h:
30948         * ksvg2/svg/SVGTransformList.cpp:
30949         (SVGTransformList::consolidate):
30950         (SVGTransformList::concatenate):
30951         * ksvg2/svg/SVGTransformable.cpp:
30952         (SVGTransformable::parseTransformAttribute):
30953         * ksvg2/svg/SVGUnitTypes.h: Added.
30954         (WebCore::SVGUnitTypes::):
30955         (WebCore::SVGUnitTypes::SVGUnitTypes):
30956         (WebCore::SVGUnitTypes::~SVGUnitTypes):
30957         * ksvg2/svg/SVGUseElement.cpp:
30958         (SVGUseElement::closeRenderer):
30959         * ksvg2/svg/SVGViewElement.h:
30960         (WebCore::SVGViewElement::):
30961         * ksvg2/svg/SVGZoomAndPan.cpp:
30962         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
30963         (WebCore::SVGZoomAndPan::parseMappedAttribute):
30965 2006-09-12  John Sullivan  <sullivan@apple.com>
30967         Reviewed by Adele Peterson.
30969         * bridge/mac/FrameMac.mm:
30970         (WebCore::FrameMac::doTextFieldCommandFromEvent):
30971         Don't call textField:doCommandBySelector: with a nil selector. This was indirectly causing a
30972         (valid) assertion failure in some Safari code.
30974 2006-09-12  David Harrison  <harrison@apple.com>
30976         Reviewed by John Sullivan.
30978         <rdar://problem/4717841> Setting AXFocused to true does not activate the insertion point in text field
30980         * bridge/mac/WebCoreAXObject.mm:
30981         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
30982         For AXFocus, use focus() if the node is an element, so that selection is set.
30983         Matches tabbing behavior in text fields and text areas.
30985 2006-09-12  Adam Roben  <aroben@apple.com>
30987         Reviewed by adele.
30989         Make uploading work with the new file upload control.
30991         * css/html4.css: Remove unnecessary style (this is already done in
30992         RenderFileUpload.cpp)
30993         * html/HTMLInputElement.cpp: Don't get the button text from the value
30994         attribute for file controls.
30995         (WebCore::HTMLInputElement::valueWithDefault):
30996         * platform/mac/FileChooserMac.mm: Call
30997         RenderFileUploadControl::valueChanged when the user selects a file.
30998         (WebCore::FileChooser::chooseFile):
30999         * rendering/RenderFileUploadControl.cpp: Add valueChanged() method to
31000         update the form and fire the onChange event.
31001         (WebCore::RenderFileUploadControl::valueChanged):
31002         (WebCore::RenderFileUploadControl::updateFromElement):
31003         * rendering/RenderFileUploadControl.h: Add valueChanged() declaration.
31005 2006-09-12  Adam Roben  <aroben@apple.com>
31007         Adding rules to html4.css to style the button in file upload controls.
31009         * css/html4.css:
31011 2006-09-12  Adam Roben  <aroben@apple.com>
31013         Reviewed many times by darin, hyatt.
31015         Switch to new engine-based implementation of <input type="file">
31017         * WebCore.exp: Remove obsolete symbol WebCoreFileButton
31018         * WebCore.xcodeproj/project.pbxproj: Remove files for old widget-based
31019         control, add files for new engine-based control
31020         * css/CSSSelector.cpp: Add support for new
31021         '-webkit-file-upload-button' pseudo element
31022         (WebCore::CSSSelector::extractPseudoType):
31023         * css/CSSSelector.h: Ditto.
31024         (WebCore::CSSSelector::):
31025         * css/cssstyleselector.cpp: Ditto.
31026         (WebCore::CSSStyleSelector::checkOneSelector):
31027         * html/HTMLInputElement.cpp: Send click events to new control
31028         (WebCore::HTMLInputElement::select):
31029         (WebCore::HTMLInputElement::click):
31030         (WebCore::HTMLInputElement::createRenderer):
31031         (WebCore::HTMLInputElement::valueWithDefault):
31032         (WebCore::HTMLInputElement::defaultEventHandler):
31033         * html/HTMLTextFieldInnerElement.h: Add 'virtual' keyword
31034         (WebCore::HTMLTextFieldInnerElement::shadowParentNode):
31035         * platform/FileButton.h: Removed.
31036         * platform/FileChooser.h: Added. This is the replacement for
31037         FileButton.h
31038         (WebCore::FileChooser::filename):
31039         (WebCore::FileChooser::icon):
31040         (WebCore::FileChooser::uploadControl):
31041         (WebCore::FileChooser::document):
31042         * platform/Icon.h: Added new platform-specific class representing a
31043         file icon.
31044         * platform/LocalizedStrings.h:
31045         * platform/mac/FileButtonMac.mm: Removed.
31046         * platform/mac/FileChooserMac.mm: Added. This is the replacement for
31047         FileButtonMac.mm
31048         (-[OpenPanelController initWithFileChooser:]):
31049         (-[OpenPanelController fileChooserDetachingSoon]):
31050         (-[OpenPanelController beginSheet]):
31051         (-[OpenPanelController chooseFilename:]):
31052         (-[OpenPanelController cancel]):
31053         (WebCore::FileChooser::FileChooser):
31054         (WebCore::FileChooser::~FileChooser):
31055         (WebCore::FileChooser::openFileChooser):
31056         (WebCore::FileChooser::basenameForWidth):
31057         (WebCore::FileChooser::uploadControlDetaching):
31058         (WebCore::FileChooser::chooseFile):
31059         * platform/mac/IconMac.mm: Added.
31060         (WebCore::Icon::Icon):
31061         (WebCore::Icon::~Icon):
31062         (WebCore::Icon::newIconForFile):
31063         (WebCore::Icon::paint):
31064         * platform/mac/LocalizedStringsMac.mm: Call across bridge to get
31065         localized strings.
31066         (WebCore::fileButtonChooseFileLabel):
31067         (WebCore::fileButtonNoFileSelectedLabel):
31068         * rendering/RenderButton.cpp: Extract method setText() from
31069         updateFromElement.
31070         (WebCore::RenderButton::updateFromElement):
31071         (WebCore::RenderButton::setText):
31072         * rendering/RenderButton.h: Add declaration for new setText method.
31073         * rendering/RenderFileButton.cpp: Removed.
31074         * rendering/RenderFileButton.h: Removed.
31075         * rendering/RenderFileUploadControl.cpp: Added. This is the
31076         replacement for RenderFileButton.cpp.
31077         (WebCore::RenderFileUploadInnerFileBox::renderName):
31078         (WebCore::HTMLFileUploadInnerButtonElement::isShadowNode):
31079         (WebCore::HTMLFileUploadInnerButtonElement::shadowParentNode):
31080         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
31081         (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
31082         (WebCore::RenderFileUploadControl::setStyle):
31083         (WebCore::RenderFileUploadControl::updateIconAndFilename):
31084         (WebCore::RenderFileUploadControl::click):
31085         (WebCore::RenderFileUploadControl::updateFromElement):
31086         (WebCore::RenderFileUploadControl::maxFilenameWidth):
31087         (WebCore::RenderFileUploadControl::createButtonStyle):
31088         (WebCore::RenderFileUploadControl::paintObject):
31089         (WebCore::RenderFileUploadInnerFileBox::RenderFileUploadInnerFileBox):
31090         (WebCore::RenderFileUploadInnerFileBox::setStyle):
31091         (WebCore::RenderFileUploadInnerFileBox::layout):
31092         (WebCore::RenderFileUploadInnerFileBox::setHasIcon):
31093         (WebCore::RenderFileUploadInnerFileBox::setFilename):
31094         (WebCore::RenderFileUploadInnerFileBox::calcMinMaxWidth):
31095         (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
31096         (WebCore::HTMLFileUploadInnerButtonElement::createRenderer):
31097         * rendering/RenderFileUploadControl.h: Added. This is the replacement
31098         for RenderFileButton.h.
31099         (WebCore::RenderFileUploadControl::renderName):
31100         * rendering/RenderStyle.cpp: Add support for
31101         -webkit-file-upload-button pseudo element.
31102         (WebCore::):
31103         (WebCore::pseudoBit):
31104         * rendering/RenderStyle.h: Ditto.
31105         (WebCore::RenderStyle::):
31107 2006-09-12  Anders Carlsson  <acarlsson@apple.com>
31109         Reviewed by John Sullivan.
31111         Do the plugin object cleanup in Frame::clear instead of setView.
31112         
31113         * bridge/mac/FrameMac.h:
31114         * bridge/mac/FrameMac.mm:
31115         (WebCore::FrameMac::setView):
31116         (WebCore::FrameMac::cleanupPluginObjects):
31117         * page/Frame.cpp:
31118         (WebCore::Frame::clear):
31119         * page/Frame.h:
31121 2006-09-12  Darin Fisher  <darin@chromium.org>
31123         Reviewed/landed by aroben.
31125         Fixes http://bugs.webkit.org/show_bug.cgi?id=10822
31126         windows build is busted
31128         * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing
31129         JSRangeException.{cpp,h} to project
31131 2006-09-12  David Hyatt  <hyatt@apple.com>
31133         Fix fieldsets so that they properly expand to enclose overhanging floats
31134         when the fieldset has auto height.  This is a nifty undocumented behavior
31135         of the fieldset element.  The bug is 3898.
31137         Reviewed by mjs
31139         Added fast/forms/fieldset-with-float.html
31141         * rendering/RenderBlock.cpp:
31142         (WebCore::RenderBlock::layoutBlock):
31143         * rendering/RenderFieldset.h:
31144         (WebCore::RenderFieldset::renderName):
31145         (WebCore::RenderFieldset::expandsToEncloseOverhangingFloats):
31146         * rendering/RenderObject.h:
31147         (WebCore::RenderObject::expandsToEncloseOverhangingFloats):
31148         * rendering/RenderTableCell.h:
31149         (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats):
31151 2006-09-11  Eric Seidel  <eric@webkit.org>
31153         Reviewed by hyatt.
31154         
31155         REGRESSION: When dragging a link on a page, the selected link doesn't display it's name or URL
31156         http://bugs.webkit.org/show_bug.cgi?id=10819
31157         http://bugs.webkit.org/show_bug.cgi?id=10814
31159         No test cases were harmed in the coding of the patch.
31161         * platform/mac/WebCoreTextRenderer.mm:
31162         (WebCoreDrawTextAtPoint):
31164 2006-09-11  David Hyatt  <hyatt@apple.com>
31166         Fix for bug 8126, column widths apply to the border boxes of cells.
31168         Reviewed by aroben
31170         * rendering/RenderTableCell.cpp:
31171         (WebCore::RenderTableCell::styleOrColWidth):
31173 2006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>
31175         Reviewed by Adele.
31177         Fix Qt/Linux build.
31179         * CMakeLists.txt: Add dom/RangeException.idl to build & fix feature defines.
31181 2006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>
31183         Reviewed by eseidel.  Landed by eseidel.
31185         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10750
31187         This finally fixes the SVGAnimated* classes JS bindings!
31189         - Move all SVGAnimated*.idl files from ksvg2/bindings/idl/svg to ksvg2/svg
31190         - Adjust XCode/Qt build files to generate the new idl files
31192         - Remove all SVGAnimated* primitives cpp implementations (Angle/Boolean/Color/Enumeration/Integer/Length/
31193                                                                   LengthList/Number/NumberList/PreserveAspectRatio/
31194                                                                   Rect/String/TransformList)
31196         - Remove unneeded methods from CodeGenerator.pm and add new helper function: IsSVGAnimatedType
31197         - Adjust CodeGeneratorJS.pm to the new SVGAnimated* tear-off concept
31199         - Add two new macros: ANIMATED_PROPERTY_EMPTY_DECLARATIONS / ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
31200           This is used to fix multiple-inheritance issues in SVG with properties,
31201           similar like SVGTests::isValid() was fixed.
31203         - Rewrote SVGList using WTF::Vector, instead of DeprecatedPtrList and killed DOMList.
31204           (SVGAnimated*Lists work again now)
31206         - Adjust macros in SVGElement to create the "*Animated" tear-off classes.
31208         - Adjust all SVG classes which use the ANIMATED macros to include the ClassName as first param in the header.
31210         * CMakeLists.txt:
31211         * DerivedSources.make:
31212         * WebCore.xcodeproj/project.pbxproj:
31213         * bindings/scripts/CodeGenerator.pm:
31214         * bindings/scripts/CodeGeneratorJS.pm:
31215         * kcanvas/RenderSVGImage.cpp:
31216         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
31217         (WebCore::RenderSVGImage::paint):
31218         * kcanvas/RenderSVGText.cpp:
31219         (WebCore::RenderSVGText::translationForAttributes):
31220         * ksvg2/ksvg.h:
31221         * ksvg2/misc/SVGDocumentExtensions.h:
31222         (WebCore::FloatRect):
31223         * ksvg2/svg/SVGAElement.h:
31224         * ksvg2/svg/SVGAnimateColorElement.cpp:
31225         * ksvg2/svg/SVGAnimateColorElement.h:
31226         * ksvg2/svg/SVGAnimateTransformElement.h:
31227         * ksvg2/svg/SVGAnimatedTemplate.h:
31228         (WebCore::SVGAnimatedTemplate::~SVGAnimatedTemplate):
31229         * ksvg2/svg/SVGAnimationElement.h:
31230         * ksvg2/svg/SVGCircleElement.h:
31231         * ksvg2/svg/SVGClipPathElement.h:
31232         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
31233         (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
31234         (SVGComponentTransferFunctionElement::transferFunction):
31235         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
31236         * ksvg2/svg/SVGCursorElement.h:
31237         * ksvg2/svg/SVGDefsElement.h:
31238         * ksvg2/svg/SVGElement.h:
31239         * ksvg2/svg/SVGElementInstanceList.cpp:
31240         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
31241         * ksvg2/svg/SVGElementInstanceList.h:
31242         * ksvg2/svg/SVGEllipseElement.h:
31243         * ksvg2/svg/SVGExternalResourcesRequired.h:
31244         * ksvg2/svg/SVGFEBlendElement.h:
31245         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
31246         (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
31247         (SVGFEColorMatrixElement::parseMappedAttribute):
31248         (SVGFEColorMatrixElement::filterEffect):
31249         * ksvg2/svg/SVGFEColorMatrixElement.h:
31250         * ksvg2/svg/SVGFEComponentTransferElement.h:
31251         * ksvg2/svg/SVGFECompositeElement.h:
31252         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
31253         * ksvg2/svg/SVGFEDisplacementMapElement.h:
31254         * ksvg2/svg/SVGFEFloodElement.h:
31255         * ksvg2/svg/SVGFEGaussianBlurElement.h:
31256         * ksvg2/svg/SVGFEImageElement.h:
31257         * ksvg2/svg/SVGFELightElement.h:
31258         * ksvg2/svg/SVGFEMergeNodeElement.h:
31259         * ksvg2/svg/SVGFEOffsetElement.h:
31260         * ksvg2/svg/SVGFESpecularLightingElement.h:
31261         * ksvg2/svg/SVGFETileElement.h:
31262         * ksvg2/svg/SVGFETurbulenceElement.h:
31263         * ksvg2/svg/SVGFilterElement.h:
31264         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
31265         * ksvg2/svg/SVGFitToViewBox.cpp:
31266         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
31267         (WebCore::SVGFitToViewBox::parseViewBox):
31268         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
31269         * ksvg2/svg/SVGFitToViewBox.h:
31270         * ksvg2/svg/SVGForeignObjectElement.h:
31271         * ksvg2/svg/SVGGElement.h:
31272         * ksvg2/svg/SVGGradientElement.cpp:
31273         (SVGGradientElement::SVGGradientElement):
31274         * ksvg2/svg/SVGGradientElement.h:
31275         * ksvg2/svg/SVGHelper.cpp:
31276         (WebCore::SVGHelper::PercentageOfViewport):
31277         * ksvg2/svg/SVGImageElement.h:
31278         * ksvg2/svg/SVGLength.cpp:
31279         * ksvg2/svg/SVGLengthList.cpp:
31280         (WebCore::SVGLengthList::SVGLengthList):
31281         (WebCore::SVGLengthList::parse):
31282         * ksvg2/svg/SVGLengthList.h:
31283         * ksvg2/svg/SVGLineElement.h:
31284         * ksvg2/svg/SVGLinearGradientElement.h:
31285         * ksvg2/svg/SVGList.h:
31286         (WebCore::SVGListBase::SVGListBase):
31287         (WebCore::SVGListBase::~SVGListBase):
31288         (WebCore::SVGListBase::numberOfItems):
31289         (WebCore::SVGListBase::clear):
31290         (WebCore::SVGListBase::initialize):
31291         (WebCore::SVGListBase::getFirst):
31292         (WebCore::SVGListBase::getLast):
31293         (WebCore::SVGListBase::getItem):
31294         (WebCore::SVGListBase::insertItemBefore):
31295         (WebCore::SVGListBase::replaceItem):
31296         (WebCore::SVGListBase::removeItem):
31297         (WebCore::SVGListBase::appendItem):
31298         (WebCore::SVGList::nullItem):
31299         (WebCore::):
31300         * ksvg2/svg/SVGLocatable.cpp:
31301         * ksvg2/svg/SVGMarkerElement.h:
31302         * ksvg2/svg/SVGMaskElement.h:
31303         * ksvg2/svg/SVGNumberList.cpp:
31304         (SVGNumberList::SVGNumberList):
31305         (SVGNumberList::parse):
31306         * ksvg2/svg/SVGNumberList.h:
31307         * ksvg2/svg/SVGPathElement.cpp:
31308         (WebCore::SVGPathElement::pathSegList):
31309         * ksvg2/svg/SVGPathElement.h:
31310         * ksvg2/svg/SVGPathSegList.cpp:
31311         (WebCore::SVGPathSegList::SVGPathSegList):
31312         * ksvg2/svg/SVGPathSegList.h:
31313         * ksvg2/svg/SVGPatternElement.cpp:
31314         (WebCore::SVGPatternElement::SVGPatternElement):
31315         * ksvg2/svg/SVGPatternElement.h:
31316         * ksvg2/svg/SVGPointList.cpp:
31317         (SVGPointList::SVGPointList):
31318         * ksvg2/svg/SVGPointList.h:
31319         * ksvg2/svg/SVGPolyElement.cpp:
31320         (SVGPolyElement::points):
31321         (SVGPolyElement::svgPolyTo):
31322         (SVGPolyElement::notifyAttributeChange):
31323         * ksvg2/svg/SVGPolyElement.h:
31324         * ksvg2/svg/SVGPolygonElement.cpp:
31325         (SVGPolygonElement::toPathData):
31326         * ksvg2/svg/SVGPolylineElement.cpp:
31327         (SVGPolylineElement::toPathData):
31328         * ksvg2/svg/SVGPreserveAspectRatio.h:
31329         (WebCore::SVGPreserveAspectRatio::):
31330         * ksvg2/svg/SVGRadialGradientElement.h:
31331         * ksvg2/svg/SVGRectElement.h:
31332         * ksvg2/svg/SVGSVGElement.cpp:
31333         (WebCore::SVGSVGElement::SVGSVGElement):
31334         (WebCore::SVGSVGElement::parseMappedAttribute):
31335         (WebCore::SVGSVGElement::createRenderer):
31336         * ksvg2/svg/SVGSVGElement.h:
31337         * ksvg2/svg/SVGScriptElement.h:
31338         * ksvg2/svg/SVGStopElement.h:
31339         * ksvg2/svg/SVGStringList.cpp:
31340         (WebCore::SVGStringList::SVGStringList):
31341         (WebCore::SVGStringList::reset):
31342         * ksvg2/svg/SVGStringList.h:
31343         * ksvg2/svg/SVGStyledElement.h:
31344         * ksvg2/svg/SVGStyledLocatableElement.cpp:
31345         * ksvg2/svg/SVGStyledTransformableElement.cpp:
31346         (SVGStyledTransformableElement::SVGStyledTransformableElement):
31347         * ksvg2/svg/SVGStyledTransformableElement.h:
31348         * ksvg2/svg/SVGSwitchElement.h:
31349         * ksvg2/svg/SVGSymbolElement.h:
31350         * ksvg2/svg/SVGTRefElement.h:
31351         * ksvg2/svg/SVGTests.cpp:
31352         (WebCore::SVGTests::isValid):
31353         * ksvg2/svg/SVGTextContentElement.h:
31354         * ksvg2/svg/SVGTextElement.cpp:
31355         (WebCore::SVGTextElement::SVGTextElement):
31356         * ksvg2/svg/SVGTextElement.h:
31357         * ksvg2/svg/SVGTextPositioningElement.cpp:
31358         (SVGTextPositioningElement::SVGTextPositioningElement):
31359         (SVGTextPositioningElement::parseMappedAttribute):
31360         * ksvg2/svg/SVGTextPositioningElement.h:
31361         * ksvg2/svg/SVGTransformList.cpp:
31362         (SVGTransformList::SVGTransformList):
31363         (SVGTransformList::createSVGTransformFromMatrix):
31364         (SVGTransformList::consolidate):
31365         (SVGTransformList::concatenate):
31366         * ksvg2/svg/SVGTransformList.h:
31367         * ksvg2/svg/SVGURIReference.h:
31368         * ksvg2/svg/SVGUseElement.h:
31369         * ksvg2/svg/SVGViewElement.h:
31371 2006-09-11  Adam Roben  <aroben@apple.com>
31373         Rubberstamped by Adele.
31375         Rename LocalGraphicsContext.{h,mm} to
31376         LocalCurrentGraphicsContext.{h,mm} to match the class name.
31378         * WebCore.xcodeproj/project.pbxproj:
31379         * platform/mac/LocalCurrentGraphicsContext.mm: Added.
31380         * platform/mac/LocalCurrentGraphicsContext.h: Added.
31381         * platform/mac/LocalGraphicsContext.h: Removed.
31382         * platform/mac/LocalGraphicsContext.mm: Removed.
31383         * rendering/RenderThemeMac.mm: Fix #include to match renamed file
31385 2006-09-11  Brady Eidson  <beidson@apple.com>
31387         Build fix
31389         * WebCore.xcodeproj/project.pbxproj:
31391 2006-09-11  Kevin McCullough  <KMcCullough@apple.com>
31393         Reviewed by Darin. 
31395         - Implements comparePoint on the Range class
31397         - Exposes RangeExceptions in JavaScript
31399         * DerivedSources.make:
31400         * WebCore.xcodeproj/project.pbxproj:
31401         * bindings/js/kjs_binding.cpp:
31402         * bindings/objc/DOMInternal.mm:
31403         * dom/Range.cpp:
31404         (WebCore::Range::comparePoint):
31405         (WebCore::Range::compareNode):
31406         * dom/Range.h:
31407         (WebCore::Range::):
31408         * dom/Range.idl:
31409         * dom/RangeException.h: Added.
31410         (WebCore::):
31411         * dom/RangeException.idl: Added.
31412         * page/DOMWindow.idl:
31414 2006-09-11  Adam Roben  <aroben@apple.com>
31416         Reviewed by timo.
31418         Fixes http://bugs.webkit.org/show_bug.cgi?id=10812
31419         Move LocalGraphicsContext out of RenderThemeMac
31421         * WebCore.xcodeproj/project.pbxproj:
31422         * platform/mac/LocalGraphicsContext.h: Added.
31423         * platform/mac/LocalGraphicsContext.mm: Added.
31424         (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
31425         (WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
31426         * rendering/RenderThemeMac.mm:
31428 2006-09-11  Vladimir Olexa  <vladimir.olexa@gmail.com>
31430         Reviewed by Darin.
31432         - fix http://bugs.webkit.org/show_bug.cgi?id=10323
31433           REGRESSION: javascript: URL containing '\\' gets passed as '//'
31435         Test: fast/dom/javascript-backslash.html
31437         * platform/KURL.cpp: (WebCore::KURL::init): Don't do backslash
31438         substitution in JavaScript URLs.
31440 2006-09-11  Sam Weinig  <sam.weinig@gmail.com>
31442         Reviewed by Darin and Tim H.
31444         Patch for http://bugs.webkit.org/show_bug.cgi?id=10792
31445         Remove the [Exclude=LANGUAGE] idiom from IDL's and code generators 
31446         for something better
31448         - Replaces [Exclude=LANGUAGE] idiom with preprocessor #if defined(LANGUAGE)
31449           idiom.
31451         - Assorted whitespace changes to IDL files.
31453         * DerivedSources.make:
31454         * WebCore.xcodeproj/project.pbxproj:
31455         * bindings/objc/DOMEvents.h:
31456         * bindings/scripts/CodeGenerator.pm:
31457         * bindings/scripts/CodeGeneratorJS.pm:
31458         * bindings/scripts/CodeGeneratorObjC.pm:
31459         * css/CSSRule.idl:
31460         * css/CSSStyleDeclaration.idl:
31461         * css/CSSValue.idl:
31462         * dom/DOMImplementation.idl:
31463         * dom/Document.idl:
31464         * dom/Element.idl:
31465         * dom/Event.idl:
31466         * dom/KeyboardEvent.idl:
31467         * dom/MouseEvent.idl:
31468         * dom/NamedNodeMap.idl:
31469         * dom/NodeFilter.idl:
31470         * dom/UIEvent.idl:
31471         * dom/WheelEvent.idl:
31472         * html/HTMLAnchorElement.idl:
31473         * html/HTMLAreaElement.idl:
31474         * html/HTMLDocument.idl:
31475         * html/HTMLElement.idl:
31476         * html/HTMLImageElement.idl:
31477         * html/HTMLInputElement.idl:
31478         * html/HTMLLinkElement.idl:
31479         * html/HTMLOptionsCollection.idl:
31481 2006-09-11  David Hyatt  <hyatt@apple.com>
31483         Fix an unwitting victim of the kMin->min change.  calcBlockMinMaxWidth
31484         was accidentally renamed to calcBlominMaxWidth.
31486         * rendering/RenderBlock.cpp:
31487         (WebCore::RenderBlock::calcMinMaxWidth):
31488         (WebCore::RenderBlock::calcBlockMinMaxWidth):
31489         * rendering/RenderBlock.h:
31491 2006-09-10  David Hyatt  <hyatt@apple.com>
31493         Rework the printer font stuff a little bit so that the Font API doesn't
31494         have to be changed.
31496         Reviewed by eseidel
31498         * WebCore.xcodeproj/project.pbxproj:
31499         * bridge/mac/WebCoreStringTruncator.mm:
31500         (truncateString):
31501         (+[WebCoreStringTruncator widthOfString:font:]):
31502         * platform/Font.cpp:
31503         (WebCore::Font::drawSimpleText):
31504         * platform/Font.h:
31505         * platform/TextStyle.h:
31506         (WebCore::TextStyle::TextStyle):
31507         (WebCore::TextStyle::attemptFontSubstitution):
31508         (WebCore::TextStyle::setRTL):
31509         * platform/mac/FontMac.mm:
31510         (WebCore::m_wordSpacing):
31511         (WebCore::Font::drawGlyphs):
31512         * platform/mac/ListBoxMac.mm:
31513         (itemTextRenderer):
31514         (groupLabelTextRenderer):
31515         (-[WebCoreTableView drawRow:clipRect:]):
31516         * platform/mac/PopUpButtonMac.mm:
31517         (PopUpButton::sizeHint):
31518         * platform/mac/TextFieldMac.mm:
31519         (-[NSSearchFieldCell _addStringToRecentSearches:]):
31520         * platform/mac/WebCoreTextRenderer.mm:
31521         (WebCoreDrawTextAtPoint):
31522         (WebCoreTextFloatWidth):
31523         * rendering/EllipsisBox.cpp:
31524         (WebCore::EllipsisBox::paint):
31525         * rendering/InlineTextBox.cpp:
31526         (WebCore::InlineTextBox::paint):
31527         * rendering/RenderImage.cpp:
31528         (WebCore::RenderImage::paint):
31529         * rendering/RenderListMarker.cpp:
31530         (WebCore::RenderListMarker::paint):
31532 2006-09-10  Brady Eidson  <beidson@apple.com>
31534         Reviewed by Maciej
31536         Small cleanups + future plans
31538         * loader/icon/IconDatabase.cpp:
31539         (WebCore::IconDatabase::open): path separator cleanup
31540         * platform/Image.h: 
31541      
31542 2006-09-10  Brady Eidson  <beidson@apple.com>
31544         Reviewed by Maciej
31546         Added specialized HashTraits
31548         * platform/IntSizeHash.h:
31550 2006-09-10  Brady Eidson  <beidson@apple.com>
31552         Forgetting header #define protection is BAAAAAD
31553         (and re-alphabetized the project file)
31555         * WebCore.xcodeproj/project.pbxproj:
31556         * platform/IntSizeHash.h:
31558 2006-09-10  Brady Eidson  <beidson@apple.com>
31560         Reviewed by Maciej
31562         Moved the custom IntSize hash out of IconDatabase into a more generally useful file
31564         * WebCore.xcodeproj/project.pbxproj:
31565         * loader/icon/IconDatabase.h:
31566         * platform/IntSizeHash.h: Added.
31568 2006-09-10  David Hyatt  <hyatt@apple.com>
31570         Fix for bug 10801, form controls that get styled suddenly lose their
31571         intrinsic margins.  Move the intrinsic margin addition code into
31572         adjustRenderStyle and get it out of the theme code and the old form control
31573         code.
31575         Reviewed by aroben
31577         * css/cssstyleselector.cpp:
31578         (WebCore::addIntrinsicMargins):
31579         (WebCore::CSSStyleSelector::adjustRenderStyle):
31580         * css/html4.css:
31581         * rendering/DeprecatedRenderSelect.h:
31582         (WebCore::DeprecatedRenderSelect::calcReplacedHeight):
31583         * rendering/DeprecatedSlider.h:
31584         * rendering/RenderFormElement.cpp:
31585         (WebCore::RenderFormElement::setStyle):
31586         * rendering/RenderFormElement.h:
31587         * rendering/RenderLayer.cpp:
31588         (WebCore::RenderLayer::resize):
31589         * rendering/RenderThemeMac.h:
31590         * rendering/RenderThemeMac.mm:
31591         (WebCore::RenderThemeMac::adjustButtonStyle):
31592         (WebCore::RenderThemeMac::adjustTextFieldStyle):
31593         (WebCore::RenderThemeMac::adjustTextAreaStyle):
31594         (WebCore::RenderThemeMac::adjustMenuListStyle):
31595         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
31596         * rendering/RenderThemeWin.cpp:
31597         (WebCore::RenderThemeWin::adjustButtonStyle):
31598         (WebCore::RenderThemeWin::adjustTextFieldStyle):
31599         (WebCore::RenderThemeWin::adjustTextAreaStyle):
31601 2006-09-10  Darin Adler  <darin@apple.com>
31603         - test for http://bugs.webkit.org/show_bug.cgi?id=10547
31605         * manual-tests/target-test.html: Added.
31606         * manual-tests/targeted.html: Added.
31608 2006-09-10  Eric Seidel  <eric@webkit.org>
31610         Reviewed by darin.
31611         
31612         Remove a bunch more NSGraphicsContext related code.
31613         Add a LocalCurrentGraphicsContext to simplify methods which need to call up into AppKit controls (and thus depend on the [NSGraphicsContext currentContext] being set correctly)
31614         Add an "isPrinting" flag to many of the text drawing functions in order to avoid the need for a GraphicsContext::isPrinting() function.
31616         No tests were harmed in the making of this patch.
31618         * bridge/mac/WebCoreFrameBridge.mm:
31619         (-[WebCoreFrameBridge drawRect:]):
31620         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
31621         (WebCore::KRenderingDeviceContextQuartz::cgContext):
31622         (WebCore::KRenderingDeviceQuartz::isBuffered):
31623         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
31624         (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
31625         (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
31626         * kcanvas/device/quartz/QuartzSupport.mm:
31627         * platform/Font.cpp:
31628         (WebCore::Font::drawSimpleText):
31629         (WebCore::Font::drawText):
31630         * platform/Font.h:
31631         * platform/GraphicsContext.cpp:
31632         (WebCore::GraphicsContext::drawText):
31633         * platform/GraphicsContext.h:
31634         * platform/mac/FileButtonMac.mm:
31635         (-[WebFileChooserButton drawRect:]):
31636         * platform/mac/FontMac.mm:
31637         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
31638         (WebCore::ATSULayoutParameters::initialize):
31639         (WebCore::Font::drawComplexText):
31640         (WebCore::Font::drawGlyphs):
31641         * platform/mac/GraphicsContextMac.mm:
31642         (WebCore::GraphicsContext::drawLineForMisspelling):
31643         * platform/mac/ListBoxMac.mm:
31644         (-[WebCoreTableView drawRow:clipRect:]):
31645         * platform/mac/WebCoreTextRenderer.mm:
31646         (WebCoreDrawTextAtPoint):
31647         * rendering/EllipsisBox.cpp:
31648         (WebCore::EllipsisBox::paint):
31649         * rendering/InlineTextBox.cpp:
31650         (WebCore::InlineTextBox::paint):
31651         * rendering/RenderImage.cpp:
31652         (WebCore::RenderImage::paint):
31653         * rendering/RenderListMarker.cpp:
31654         (WebCore::RenderListMarker::paint):
31655         * rendering/RenderThemeMac.mm:
31656         (WebCore::WebCoreNSGraphicsContextBridge::WebCoreNSGraphicsContextBridge):
31657         (WebCore::WebCoreNSGraphicsContextBridge::~WebCoreNSGraphicsContextBridge):
31658         (WebCore::RenderThemeMac::paintButton):
31659         (WebCore::RenderThemeMac::paintTextField):
31660         (WebCore::RenderThemeMac::paintTextArea):
31662 2006-09-09  Steve Falkenburg  <sfalken@apple.com>
31664         Reviewed by aroben.
31666         Fixes to work with string API changes.
31668         * platform/cf/ResourceLoaderCFNet.cpp:
31669         (WebCore::arrayFromFormData):
31670         (WebCore::ResourceLoader::start):
31671         * platform/cf/StringCF.cpp:
31672         * platform/cf/StringImplCF.cpp:
31674 2006-09-09  David Hyatt  <hyatt@apple.com>
31676         Fix for Bugzilla bug 5500, scrollLeft/Top/Width/Height properties not supported
31677         on textarea.  Refactored the DOM getters and setters to go through the renderer
31678         instead of right to the layer.  The renderer functions are virtual so that the
31679         text control can subclass and forward to its anonymous div.
31681         Fix for Bugzilla bug 10719, When positioned objects are sizing using their
31682         containing block width as a guide, they should not ever use the line width like
31683         non-positioned objects do.
31685         Reviewed by aroben
31687         * WebCore.xcodeproj/project.pbxproj:
31688         * dom/Element.cpp:
31689         (WebCore::Element::scrollLeft):
31690         (WebCore::Element::scrollTop):
31691         (WebCore::Element::setScrollLeft):
31692         (WebCore::Element::setScrollTop):
31693         * rendering/RenderBox.cpp:
31694         (WebCore::RenderBox::containingBlockWidthForPositioned):
31695         * rendering/RenderObject.cpp:
31696         (WebCore::RenderObject::clientWidth):
31697         (WebCore::RenderObject::clientHeight):
31698         (WebCore::RenderObject::scrollWidth):
31699         (WebCore::RenderObject::scrollHeight):
31700         (WebCore::RenderObject::scrollLeft):
31701         (WebCore::RenderObject::scrollTop):
31702         (WebCore::RenderObject::setScrollLeft):
31703         (WebCore::RenderObject::setScrollTop):
31704         (WebCore::RenderObject::hasStaticX):
31705         (WebCore::RenderObject::hasStaticY):
31706         * rendering/RenderObject.h:
31707         (WebCore::RenderObject::clientLeft):
31708         (WebCore::RenderObject::clientTop):
31709         * rendering/RenderTextControl.cpp:
31710         (WebCore::RenderTextControl::scrollWidth):
31711         (WebCore::RenderTextControl::scrollHeight):
31712         (WebCore::RenderTextControl::scrollLeft):
31713         (WebCore::RenderTextControl::scrollTop):
31714         (WebCore::RenderTextControl::setScrollLeft):
31715         (WebCore::RenderTextControl::setScrollTop):
31716         * rendering/RenderTextControl.h:
31718 2006-09-09  David Hyatt  <hyatt@apple.com>
31720         Implement support for the WinIE clientLeft and clientTop extensions.
31722         Reviewed by aroben
31724         * dom/Element.cpp:
31725         (WebCore::Element::clientLeft):
31726         (WebCore::Element::clientTop):
31727         * dom/Element.h:
31728         * dom/Element.idl:
31729         * rendering/RenderObject.h:
31730         (WebCore::RenderObject::clientLeft):
31731         (WebCore::RenderObject::clientTop):
31733 2006-09-09  Sam Weinig  <sam.weinig@gmail.com>
31735         Reviewed by Eric.
31737         Patch for http://bugs.webkit.org/show_bug.cgi?id=10795
31738         Auto-generate the Objective-C DOM XPath bindings
31740         - Auto-generates DOMXPathExpression, DOMXPathNSResolver and DOMXPathResult.
31742         * DerivedSources.make:
31743         * WebCore.xcodeproj/project.pbxproj:
31744         * bindings/objc/DOMPrivate.h:
31745         * bindings/objc/DOMXPath.h:
31746         * bindings/objc/DOMXPath.mm:
31747         * bindings/objc/PublicDOMInterfaces.h:
31748         * xml/XPathExpression.idl:
31749         * xml/XPathNSResolver.idl:
31750         * xml/XPathResult.idl:
31752 2006-09-09  Sam Weinig  <sam.weinig@gmail.com>
31754         Reviewed by Eric.
31756         Patch for http://bugs.webkit.org/show_bug.cgi?id=10791
31757         Even More Objective-C DOM auto-generation cleanup
31759         - Auto-generate some remaining extension methods for DOMDocument
31760           and DOMCSSStyleDeclaration.
31762         - Split DOMHTMLEmbedElement into it's own files.  It can't be
31763           auto-generated yet because the Objective-C interface is significantly
31764           different from the implementation interface.  Since HTMLEmbedElement
31765           is not in the W3C spec, this is somewhat of a gray area.
31767         - Auto-generate DOMEventListener protocol.
31769         - Clean up the IDL files by separating the extensions from the
31770           specified methods and attributes.
31772         * DerivedSources.make:
31773         * WebCore.xcodeproj/project.pbxproj:
31774         * bindings/objc/DOM.mm:
31775         * bindings/objc/DOMCSS.mm:
31776         * bindings/objc/DOMEventListener.h: Removed.
31777         * bindings/objc/DOMExtensions.h:
31778         * bindings/objc/DOMHTML.h:
31779         * bindings/objc/DOMHTML.mm:
31780         * bindings/objc/DOMHTMLEmbedElement.h: Added.
31781         * bindings/objc/DOMHTMLEmbedElement.mm: Added.
31782         (-[DOMHTMLEmbedElement align]):
31783         (-[DOMHTMLEmbedElement setAlign:]):
31784         (-[DOMHTMLEmbedElement height]):
31785         (-[DOMHTMLEmbedElement setHeight:]):
31786         (-[DOMHTMLEmbedElement name]):
31787         (-[DOMHTMLEmbedElement setName:]):
31788         (-[DOMHTMLEmbedElement src]):
31789         (-[DOMHTMLEmbedElement setSrc:]):
31790         (-[DOMHTMLEmbedElement type]):
31791         (-[DOMHTMLEmbedElement setType:]):
31792         (-[DOMHTMLEmbedElement width]):
31793         (-[DOMHTMLEmbedElement setWidth:]):
31794         * bindings/objc/DOMPrivate.h:
31795         * bindings/objc/PublicDOMInterfaces.h:
31796         * css/CSSStyleDeclaration.idl:
31797         * dom/Document.idl:
31798         * dom/KeyboardEvent.h:
31799         * dom/KeyboardEvent.idl:
31800         * dom/MouseEvent.idl:
31801         * dom/MutationEvent.idl:
31802         * dom/OverflowEvent.idl:
31803         * dom/UIEvent.idl:
31804         * dom/WheelEvent.idl:
31805         * html/HTMLEmbedElement.idl: Added.
31807 2006-09-09  Eric Seidel  <eric@webkit.org>
31809         Reviewed by Tim H.
31810         
31811         Remove DeprecatedString usage and fix style.
31812         http://bugs.webkit.org/show_bug.cgi?id=10787
31814         No tests were harmed in the making of this patch.
31816         * kcanvas/KCanvasFilters.cpp:
31817         (WebCore::KCanvasFilterEffect::in):
31818         (WebCore::KCanvasFilterEffect::setIn):
31819         (WebCore::KCanvasFilterEffect::result):
31820         (WebCore::KCanvasFilterEffect::setResult):
31821         (WebCore::KCanvasFEMerge::externalRepresentation):
31822         * kcanvas/KCanvasFilters.h:
31823         (WebCore::KCanvasFEBlend::in2):
31824         (WebCore::KCanvasFEBlend::setIn2):
31825         (WebCore::KCanvasFEComposite::in2):
31826         (WebCore::KCanvasFEComposite::setIn2):
31827         (WebCore::KCanvasFEDisplacementMap::in2):
31828         (WebCore::KCanvasFEDisplacementMap::setIn2):
31829         (WebCore::KCanvasFEMerge::mergeInputs):
31830         (WebCore::KCanvasFEMerge::setMergeInputs):
31831         * kcanvas/KCanvasResources.cpp:
31832         (WebCore::KCanvasResource::idInRegistry):
31833         (WebCore::KCanvasResource::setIdInRegistry):
31834         (WebCore::getResourceById):
31835         * kcanvas/KCanvasResources.h:
31836         * kcanvas/RenderPath.cpp:
31837         (WebCore::RenderPath::getAbsoluteRepaintRect):
31838         (WebCore::RenderPath::paint):
31839         (WebCore::RenderPath::drawMarkersIfNeeded):
31840         * kcanvas/RenderSVGContainer.cpp:
31841         (WebCore::RenderSVGContainer::paint):
31842         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
31843         * kcanvas/RenderSVGImage.cpp:
31844         (WebCore::RenderSVGImage::paint):
31845         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
31846         * kcanvas/RenderSVGText.cpp:
31847         (WebCore::RenderSVGText::paint):
31848         * kcanvas/device/KRenderingPaintServer.h:
31849         (WebCore::KRenderingPaintServer::idInRegistry):
31850         (WebCore::KRenderingPaintServer::setIdInRegistry):
31851         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
31852         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
31853         (WebCore::KCanvasFilterQuartz::imageForName):
31854         (WebCore::KCanvasFilterQuartz::setImageForName):
31855         (WebCore::KCanvasFEMergeQuartz::getCIFilter):
31856         * ksvg2/css/SVGCSSStyleSelector.cpp:
31857         (WebCore::CSSStyleSelector::applySVGProperty):
31858         * ksvg2/css/SVGRenderStyle.cpp:
31859         * ksvg2/css/SVGRenderStyle.h:
31860         * ksvg2/css/SVGRenderStyleDefs.h:
31861         * ksvg2/ecma/GlobalObject.cpp:
31862         (GlobalObject::get):
31863         * ksvg2/misc/KSVGTimeScheduler.cpp:
31864         (WebCore::SVGTimer::notifyAll):
31865         * ksvg2/svg/SVGDescElement.cpp:
31866         (WebCore::SVGDescElement::SVGDescElement):
31867         (WebCore::SVGDescElement::description):
31868         * ksvg2/svg/SVGDescElement.h:
31869         * ksvg2/svg/SVGFEBlendElement.cpp:
31870         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
31871         (WebCore::SVGFEBlendElement::filterEffect):
31872         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
31873         (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
31874         (SVGFEColorMatrixElement::filterEffect):
31875         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
31876         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
31877         (WebCore::SVGFEComponentTransferElement::filterEffect):
31878         * ksvg2/svg/SVGFECompositeElement.cpp:
31879         (SVGFECompositeElement::SVGFECompositeElement):
31880         (SVGFECompositeElement::filterEffect):
31881         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
31882         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
31883         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
31884         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
31885         (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
31886         (SVGFEDisplacementMapElement::filterEffect):
31887         * ksvg2/svg/SVGFEFloodElement.cpp:
31888         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
31889         (WebCore::SVGFEFloodElement::filterEffect):
31890         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
31891         (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
31892         (SVGFEGaussianBlurElement::filterEffect):
31893         * ksvg2/svg/SVGFELightElement.cpp:
31894         * ksvg2/svg/SVGFEMergeElement.cpp:
31895         (SVGFEMergeElement::filterEffect):
31896         * ksvg2/svg/SVGFEOffsetElement.cpp:
31897         (SVGFEOffsetElement::SVGFEOffsetElement):
31898         (SVGFEOffsetElement::filterEffect):
31899         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
31900         (SVGFESpecularLightingElement::SVGFESpecularLightingElement):
31901         (SVGFESpecularLightingElement::filterEffect):
31902         * ksvg2/svg/SVGFETileElement.cpp:
31903         (WebCore::SVGFETileElement::SVGFETileElement):
31904         (WebCore::SVGFETileElement::filterEffect):
31905         * ksvg2/svg/SVGFETurbulenceElement.cpp:
31906         (SVGFETurbulenceElement::SVGFETurbulenceElement):
31907         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
31908         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
31909         * ksvg2/svg/SVGFitToViewBox.cpp:
31910         (WebCore::SVGFitToViewBox::parseViewBox):
31911         (WebCore::SVGFitToViewBox::parseMappedAttribute):
31912         * ksvg2/svg/SVGFitToViewBox.h:
31913         * ksvg2/svg/SVGLinearGradientElement.cpp:
31914         (SVGLinearGradientElement::buildGradient):
31915         * ksvg2/svg/SVGPatternElement.cpp:
31916         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
31917         (WebCore::SVGPatternElement::notifyAttributeChange):
31918         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
31919         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
31920         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
31921         (WebCore::SVGPreserveAspectRatio::getCTM):
31922         * ksvg2/svg/SVGPreserveAspectRatio.h:
31923         * ksvg2/svg/SVGRadialGradientElement.cpp:
31924         (WebCore::SVGRadialGradientElement::buildGradient):
31925         * ksvg2/svg/SVGStyleElement.cpp:
31926         * ksvg2/svg/SVGStyledTransformableElement.cpp:
31927         * ksvg2/svg/SVGViewElement.cpp:
31928         (WebCore::SVGViewElement::SVGViewElement):
31929         (WebCore::SVGViewElement::parseMappedAttribute):
31930         * ksvg2/svg/SVGZoomAndPan.cpp:
31931         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
31933 2006-09-08  Darin Adler  <darin@apple.com>
31935         Reviewed by Tim H.
31937         <rdar://problem/4699166> REGRESSION: Background images in Mail stationery do not load
31938         
31939         Fixes the quoting logic. The previous logic did not account for the
31940         CSS tokenizer's regex character range between * and ~ as valid in URL types.
31942         * css/CSSPrimitiveValue.cpp:
31943         (WebCore::isCSSTokenizerURL):
31945 2006-09-09  Alexey Proskuryakov  <ap@nypop.com>
31947         Reviewed by Darin.
31949         - http://bugs.webkit.org/show_bug.cgi?id=10759
31950           fast/AppleScript/array.html test failing
31952         * bridge/mac/WebCoreFrameBridge.mm:
31953         (aeDescFromJSValue): Convert integer values to typeSInt32 AE descriptors.
31955 2006-09-08  Eric Seidel  <eric@webkit.org>
31957         Reviewed by darin.
31959         Replace incorrect fooBaseValue() calls with foo() calls instead.
31960         http://bugs.webkit.org/show_bug.cgi?id=10746
31961         
31962         With the previously broken animation system, we had both base and anim values
31963         but they were not automatically connected/disconnected when animation started and stopped.
31964         So the animVals were basically never used (since they were always wrong).
31965         Now, animVal and baseVal are handled correctly.
31966         
31967         There are only 3 places in the code where we will ever need to use the BaseValue accessor variants.
31968         1. SVGAnimated* DOM bindings
31969         2. Animation Code
31970         3. parseMappedAttribute implementations
31972         * kcanvas/RenderForeignObject.cpp:
31973         (WebCore::RenderForeignObject::translationForAttributes):
31974         * kcanvas/RenderSVGImage.cpp:
31975         (WebCore::RenderSVGImage::paint):
31976         (WebCore::RenderSVGImage::relativeBBox):
31977         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
31978         (WebCore::RenderSVGImage::translationForAttributes):
31979         * kcanvas/RenderSVGText.cpp:
31980         (WebCore::RenderSVGText::translationForAttributes):
31981         * ksvg2/misc/SVGImageLoader.cpp:
31982         (WebCore::SVGImageLoader::updateFromElement):
31983         * ksvg2/svg/SVGAElement.cpp:
31984         (WebCore::SVGAElement::defaultEventHandler):
31985         * ksvg2/svg/SVGCircleElement.cpp:
31986         (SVGCircleElement::parseMappedAttribute):
31987         (SVGCircleElement::toPathData):
31988         (SVGCircleElement::pushAttributeContext):
31989         (SVGCircleElement::hasPercentageValues):
31990         * ksvg2/svg/SVGClipPathElement.cpp:
31991         (SVGClipPathElement::canvasResource):
31992         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
31993         (SVGComponentTransferFunctionElement::transferFunction):
31994         * ksvg2/svg/SVGCursorElement.cpp:
31995         (SVGCursorElement::parseMappedAttribute):
31996         * ksvg2/svg/SVGEllipseElement.cpp:
31997         (WebCore::SVGEllipseElement::parseMappedAttribute):
31998         (WebCore::SVGEllipseElement::toPathData):
31999         (WebCore::SVGEllipseElement::pushAttributeContext):
32000         (WebCore::SVGEllipseElement::hasPercentageValues):
32001         * ksvg2/svg/SVGFEBlendElement.cpp:
32002         (SVGFEBlendElement::filterEffect):
32003         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
32004         (SVGFEColorMatrixElement::filterEffect):
32005         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
32006         (SVGFEComponentTransferElement::filterEffect):
32007         * ksvg2/svg/SVGFECompositeElement.cpp:
32008         (SVGFECompositeElement::filterEffect):
32009         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
32010         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
32011         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
32012         (SVGFEDisplacementMapElement::filterEffect):
32013         * ksvg2/svg/SVGFEDistantLightElement.cpp:
32014         (WebCore::SVGFEDistantLightElement::lightSource):
32015         * ksvg2/svg/SVGFEFloodElement.cpp:
32016         (SVGFEFloodElement::filterEffect):
32017         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
32018         (SVGFEGaussianBlurElement::filterEffect):
32019         * ksvg2/svg/SVGFEImageElement.cpp:
32020         (SVGFEImageElement::parseMappedAttribute):
32021         * ksvg2/svg/SVGFEMergeElement.cpp:
32022         (SVGFEMergeElement::SVGFEMergeElement):
32023         (SVGFEMergeElement::filterEffect):
32024         * ksvg2/svg/SVGFEOffsetElement.cpp:
32025         (SVGFEOffsetElement::filterEffect):
32026         * ksvg2/svg/SVGFEPointLightElement.cpp:
32027         (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
32028         (WebCore::SVGFEPointLightElement::lightSource):
32029         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
32030         (SVGFESpecularLightingElement::filterEffect):
32031         * ksvg2/svg/SVGFESpotLightElement.cpp:
32032         (WebCore::SVGFESpotLightElement::lightSource):
32033         * ksvg2/svg/SVGFETileElement.cpp:
32034         (SVGFETileElement::filterEffect):
32035         * ksvg2/svg/SVGFETurbulenceElement.cpp:
32036         (SVGFETurbulenceElement::filterEffect):
32037         * ksvg2/svg/SVGFilterElement.cpp:
32038         (SVGFilterElement::canvasResource):
32039         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
32040         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
32041         * ksvg2/svg/SVGGradientElement.cpp:
32042         (SVGGradientElement::rebuildStops):
32043         * ksvg2/svg/SVGHelper.cpp:
32044         (WebCore::SVGHelper::PercentageOfViewport):
32045         * ksvg2/svg/SVGLineElement.cpp:
32046         (SVGLineElement::toPathData):
32047         (SVGLineElement::pushAttributeContext):
32048         (SVGLineElement::hasPercentageValues):
32049         * ksvg2/svg/SVGLinearGradientElement.cpp:
32050         (SVGLinearGradientElement::buildGradient):
32051         * ksvg2/svg/SVGMarkerElement.cpp:
32052         (WebCore::SVGMarkerElement::canvasResource):
32053         * ksvg2/svg/SVGMaskElement.cpp:
32054         (WebCore::SVGMaskElement::attributeChanged):
32055         (WebCore::SVGMaskElement::drawMaskerContent):
32056         * ksvg2/svg/SVGPatternElement.cpp:
32057         (WebCore::SVGPatternElement::pushAttributeContext):
32058         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
32059         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
32060         (WebCore::SVGPatternElement::notifyAttributeChange):
32061         (WebCore::SVGPatternElement::getCTM):
32062         * ksvg2/svg/SVGRadialGradientElement.cpp:
32063         (WebCore::SVGRadialGradientElement::buildGradient):
32064         * ksvg2/svg/SVGRectElement.cpp:
32065         (WebCore::SVGRectElement::toPathData):
32066         (WebCore::SVGRectElement::pushAttributeContext):
32067         (WebCore::SVGRectElement::hasPercentageValues):
32068         * ksvg2/svg/SVGSVGElement.cpp:
32069         (WebCore::SVGSVGElement::viewport):
32070         (WebCore::SVGSVGElement::parseMappedAttribute):
32071         (WebCore::SVGSVGElement::getCTM):
32072         (WebCore::SVGSVGElement::getScreenCTM):
32073         (WebCore::SVGSVGElement::createRenderer):
32074         * ksvg2/svg/SVGTRefElement.cpp:
32075         (SVGTRefElement::updateReferencedText):
32076         * ksvg2/svg/SVGUseElement.cpp:
32077         (SVGUseElement::closeRenderer):
32079 2006-09-08  Eric Seidel  <eric@webkit.org>
32081         Reviewed by beth.
32083         Remove the last vestiges of KDOM (KDOMCSSValue and KDOMCSSValueList)
32084         http://bugs.webkit.org/show_bug.cgi?id=10778
32086         * ksvg2/css/SVGCSSParser.cpp:
32087         (WebCore::CSSParser::parseSVGValue):
32088         (WebCore::CSSParser::parseSVGStrokeDasharray):
32089         (WebCore::CSSParser::parseSVGPaint):
32090         (WebCore::CSSParser::parseSVGColor):
32092 2006-09-07  Sam Weinig  <sam.weinig@gmail.com>
32094         Reviewed by Darin and Tim H.
32096         Patch for http://bugs.webkit.org/show_bug.cgi?id=10774
32097         Auto-generate the Objective-C DOM Traversal bindings
32099         - Auto-generates DOMNodeIterator and DOMTreeWalker.
32101         - Splits out DOMNodeFilter into its own file.
32103         * DerivedSources.make:
32104         * WebCore.xcodeproj/project.pbxproj:
32105         * bindings/objc/DOM.mm:
32106         * bindings/objc/DOMNodeFilter.h: Added.
32107         * bindings/objc/DOMTraversal.h:
32108         * bindings/objc/PublicDOMInterfaces.h:
32109         * bindings/scripts/CodeGeneratorObjC.pm:
32110         * dom/NodeFilter.idl:
32111         * dom/NodeIterator.idl:
32112         * dom/Range.idl:
32113         * dom/TreeWalker.idl:
32115 2006-09-07  Darin Fisher  <darin@chromium.org>
32117         Reviewed by Darin, landed by Adam.
32119         Fixes part of bug 10743: Windows build busted.
32121         * platform/win/FontCacheWin.cpp: Add missing #include, set svn:eol-style to native
32122         (WebCore::FontCache::getFontLinkInterface):
32123         (WebCore::FontCache::getFontDataForCharacters):
32124         * platform/win/FontDataWin.cpp: Ditto.
32125         (WebCore::FontData::platformWidthForGlyph):
32126         * platform/win/FontWin.cpp: Add missing #include, band-aid over const problem with GlyphBufferGlyph
32127         (WebCore::Font::drawGlyphs):
32128         * platform/win/ResourceLoaderWin.cpp: Add missing #include, change .ascii() to .latin1()
32129         (WebCore::ResourceLoaderWndProc):
32130         (WebCore::ResourceLoader::start):
32132 2006-09-07  Alexey Proskuryakov  <ap@nypop.com>
32134         Reviewed by Darin.
32136         http://bugs.webkit.org/show_bug.cgi?id=10753
32137         REGRESSION: The beginning of a CSS file is missing
32139         Test: http/tests/incremental/slow-utf8-css.pl
32141         * loader/Decoder.cpp:
32142         (WebCore::Decoder::checkForCSSCharset): Use the same buffering logic as used for HTML.
32143         (WebCore::Decoder::decode):
32144         * loader/Decoder.h: Added a return value and a movedDataToBuffer parameter to
32145         checkForCSSCharset().
32147 2006-09-07  Sam Weinig  <sam.weinig@gmail.com>
32149         Reviewed by Darin.
32151         Patch for http://bugs.webkit.org/show_bug.cgi?id=10766
32152         Auto-generate the Objective-C DOM Events bindings
32154         - Auto-generates DOMEvent, DOMKeyboardEvent, DOMMouseEvent, DOMMutationEvent, 
32155           DOMOverflowEvent, DOMUIEvent, and DOMWheelEvent.
32156           
32157         - Splits out DOMEventListener and DOMEventTarget into their own files.
32159         * DerivedSources.make:
32160         * WebCore.xcodeproj/project.pbxproj:
32161         * bindings/objc/DOMEventListener.h: Added.
32162         * bindings/objc/DOMEventTarget.h: Added.
32163         * bindings/objc/DOMEvents.h:
32164         * bindings/objc/DOMEvents.mm:
32165         (-[DOMEvent WebCore::]):
32166         (-[DOMEvent _initWithEvent:WebCore::]):
32167         (+[DOMEvent _eventWith:WebCore::]):
32168         * bindings/objc/DOMEventsNonstandard.mm: Removed.
32169         * bindings/objc/DOMNode.h:
32170         * bindings/objc/PublicDOMInterfaces.h:
32171         * bindings/scripts/CodeGenerator.pm:
32172         * bindings/scripts/CodeGeneratorObjC.pm:
32173         * dom/Event.idl:
32174         * dom/EventListener.idl: Added.
32175         * dom/EventTarget.idl: Added.
32176         * dom/KeyboardEvent.idl:
32177         * dom/MouseEvent.idl:
32178         * dom/UIEvent.idl:
32179         * dom/WheelEvent.idl:
32181 2006-09-07  Rob Buis  <buis@kde.org>
32183         Reviewed by Maciej.
32185         http://bugs.webkit.org/show_bug.cgi?id=9753
32186         SVG with width and height 100% leaves room for scrollbar on the right.
32188         Relayout children of svg containers, except svg shapes that do not depend on percentages.
32190         * kcanvas/RenderPath.cpp:
32191         (WebCore::RenderPath::hasPercentageValues):
32192         * kcanvas/RenderPath.h:
32193         * kcanvas/RenderSVGContainer.cpp:
32194         (WebCore::RenderSVGContainer::layout):
32195         * ksvg2/svg/SVGCircleElement.cpp:
32196         (SVGCircleElement::hasPercentageValues):
32197         * ksvg2/svg/SVGCircleElement.h:
32198         * ksvg2/svg/SVGEllipseElement.cpp:
32199         (WebCore::SVGEllipseElement::hasPercentageValues):
32200         * ksvg2/svg/SVGEllipseElement.h:
32201         * ksvg2/svg/SVGLineElement.cpp:
32202         (SVGLineElement::hasPercentageValues):
32203         * ksvg2/svg/SVGLineElement.h:
32204         * ksvg2/svg/SVGRectElement.cpp:
32205         (WebCore::SVGRectElement::hasPercentageValues):
32206         * ksvg2/svg/SVGRectElement.h:
32207         * ksvg2/svg/SVGStyledElement.h:
32208         (WebCore::SVGStyledElement::hasPercentageValues):
32210 2006-09-06  Brady Eidson <beidson@apple.com>
32212         Constant renamed in 16250 wasn't changed in each use
32214         * platform/win/GlyphMapWin.cpp:
32215         (WebCore::GlyphMap::fillPage):
32217 2006-09-06  Darin Adler  <darin@apple.com>
32219         Reviewed by Tim Hatcher.
32221         - fix crashes affecting editing layout tests (regressions from my vector change)
32223         * editing/BreakBlockquoteCommand.cpp:
32224         (WebCore::BreakBlockquoteCommand::doApply): Added check for empty vector.
32225         * editing/InsertParagraphSeparatorCommand.cpp:
32226         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
32228 2006-09-06  David Harrison  <harrison@apple.com>
32230         Reviewed and tweaked by Tim H.
32232         <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation
32234         If we don't find the font in the available fonts list, call [NSFont fontWithName:size:]
32235         to trigger a search that will include auto activation. No PLT or iBench perf impact.
32236         No layout tests affected. Not testable in an automated way that will work on all systems.
32238         * platform/mac/WebFontCache.mm:
32239         (+[WebFontCache fontWithFamily:traits:size:]):
32241 2006-09-06  Nikolas Zimmermann  <zimmermann@kde.org>
32243         Reviewed and landed by ap.
32245         Fix Qt/Linux build.
32247         * CMakeLists.txt: Take out CharacterData.cpp from build / add new Text* files to build.
32248         * platform/qt/BrowserExtensionQt.cpp: Add wtf/Platform.h include.
32249         * platform/qt/FontCacheQt.cpp: Add FontData.h include.
32250         * platform/qt/FontQt.cpp:
32251         (WebCore::Font::drawGlyphs): Fix constness in reinterpret_cast.
32252         * platform/qt/FrameQt.cpp:
32253         (WebCore::FrameQt::markMisspellings): Change "SelectionController" param type to "Selection".
32254         (WebCore::FrameQt::respondToChangedSelection): Ditto.
32255         (WebCore::FrameQt::respondToChangedContents): Ditto.
32256         (WebCore::FrameQt::shouldChangeSelection): Ditto.
32257         * platform/qt/FrameQt.h: Ditto.
32258         * platform/qt/ImageQt.cpp:
32259         (WebCore::Image::supportsType): Fix String->QString conversion.
32260         * platform/qt/ResourceLoaderManager.cpp:
32261         (WebCore::ResourceLoaderManager::add): Fix String->DeprecatedString conversion.
32262         * platform/qt/ScrollViewCanvasQt.cpp:
32263         (WebCore::ScrollViewCanvasQt::handleKeyEvent): Adapt to SelectionController signature changes.
32264         * platform/qt/qt-encodings.txt: Removed.
32266 2006-09-06  Darin Adler  <darin@apple.com>
32268         Reviewed by Tim Hatcher.
32270         - http://bugs.webkit.org/show_bug.cgi?id=10675
32271           tweak font-related headers and convert lists to vectors
32273         One major change was to greatly reduce the number of files that include Font.h.
32274         Another was to convert many uses of DeprecatedPtrList/DeprecatedValueList to Vector.
32276         * WebCore.xcodeproj/project.pbxproj: Added TextStyle.h.
32278         * bindings/objc/DOM.mm: (-[DOMElement _font]): Changed to not depend on
32279         Font::getNSFont since a WebCore::Font represents more than one NSFont.
32281         * bindings/objc/DOMNode.mm: (-[DOMNode lineBoxRects]): Updated to use Vector.
32282         * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
32283         * bridge/mac/FrameViewMac.mm: (WebCore::FrameView::updateDashboardRegions): Ditto.
32284         * css/CSSComputedStyleDeclaration.cpp:
32285         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
32286         * dom/Document.cpp:
32287         (WebCore::Document::dashboardRegions): Ditto.
32288         (WebCore::Document::setDashboardRegions): Ditto.
32289         * dom/Document.h: Ditto.
32290         * editing/ReplaceSelectionCommand.cpp:
32291         (WebCore::ReplacementFragment::removeUnrenderedNodes): Ditto.
32292         * html/FormDataList.h: Ditto.
32293         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isFocusable): Ditto.
32294         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ditto.
32295         * kcanvas/RenderPath.cpp: (WebCore::RenderPath::absoluteRects): Ditto.
32296         * kcanvas/RenderPath.h: Ditto.
32297         * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::absoluteRects): Ditto.
32298         * kcanvas/RenderSVGImage.h: Ditto.
32299         * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): Ditto.
32300         * kcanvas/RenderSVGText.h: Ditto.
32301         * loader/FormData.cpp:
32302         (WebCore::FormData::flatten): Ditto.
32303         (WebCore::FormData::flattenToString): Ditto.
32304         * loader/FormData.h: (WebCore::FormData::elements): Ditto.
32305         * loader/mac/LoaderFunctionsMac.mm: (WebCore::ServeSynchronousRequest): Ditto.
32306         * page/Frame.cpp: (WebCore::Frame::markedTextUnderlines): Ditto.
32307         * page/Frame.h: Ditto.
32308         * page/FramePrivate.h: Ditto.
32309         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start): Ditto.
32310         * rendering/InlineTextBox.h: Ditto.
32311         * rendering/InlineTextBox.cpp:
32312         (WebCore::InlineTextBox::paint): Ditto.
32313         (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto.
32314         * rendering/RenderContainer.h: Ditto.
32315         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::lineBoxRects): Ditto.
32316         * rendering/RenderInline.h: Ditto.
32317         * rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): Ditto.
32318         * rendering/RenderObject.h: Ditto.
32319         * rendering/RenderObject.cpp:
32320         (WebCore::RenderObject::lineBoxRects): Ditto.
32321         (WebCore::RenderObject::absoluteRects): Ditto.
32322         (WebCore::RenderObject::absoluteBoundingBoxRect): Ditto.
32323         (WebCore::RenderObject::addDashboardRegions): Ditto.
32324         (WebCore::RenderObject::collectDashboardRegions): Ditto.
32325         * rendering/RenderStyle.h: Ditto.
32326         * rendering/RenderStyle.cpp:
32327         (WebCore::RenderStyle::initialDashboardRegions): Ditto.
32328         (WebCore::RenderStyle::noneDashboardRegions): Ditto.
32329         * rendering/RenderText.h: Ditto.
32330         * rendering/RenderText.cpp:
32331         (WebCore::RenderText::absoluteRects): Ditto.
32332         (WebCore::RenderText::lineBoxRects): Ditto.
32333         * rendering/RenderView.h: Ditto.
32334         * rendering/RenderView.cpp: (WebCore::RenderView::absoluteRects): Ditto.
32336         * bridge/mac/FrameMac.mm:
32337         (WebCore::FrameMac::attributedString): Updated to use Vector and changed to not
32338         depend on getNSFont on a Font.
32339         (WebCore::FrameMac::fontForSelection): Changed to not depend on Font::getNSFont.
32340         (WebCore::FrameMac::fontAttributesForSelectionStart): Ditto.
32341         (WebCore::convertAttributesToUnderlines): Updated to use Vector.
32342         (WebCore::FrameMac::setMarkedTextRange): Ditto.
32343         (WebCore::FrameMac::dashboardRegionsDictionary): Ditto.
32345         * bridge/mac/WebCoreAXObject.mm:
32346         (boundingBoxRect): Updated to use Vector.
32347         (AXAttributeStringSetStyle): Changed to not depend on Font::getNSFont.
32349         * bridge/mac/WebCoreStringTruncator.mm: Updated includes.
32350         * page/Settings.h: Ditto.
32351         * platform/mac/WebCoreTextRenderer.mm: Ditto.
32352         * rendering/EllipsisBox.cpp: Ditto.
32354         * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
32355         Updated to use a Vector that we iterate in reverse order instead of a linked list
32356         that we reverse by prepending elements instead of adding to the end.
32357         * editing/InsertParagraphSeparatorCommand.cpp:
32358         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
32360         * loader/DocLoader.h: Removed unneeded include of DeprecatedPtrList.h.
32362         * platform/Font.h: Moved TextStyle to a separate header. Removed Font::getNSFont.
32363         * platform/Font.cpp: Changed to use const instead of #define.
32364         (WebCore::Font::width): Overloaded this so we don't have a default parameter, which
32365         eliminates the need to have TextStyle defined to compiler the Font.h header.
32367         * platform/TextStyle.h: Added.
32369         * platform/FontData.h: Added a forward declaration of ATSUStyle so this header
32370         can stand alone.
32372         * platform/FontFallbackList.h: Tweaks.
32373         * platform/FontFallbackList.cpp: Tweaks.
32375         * platform/FontFamily.h: Removed unneeded NSString declaration. Simplified class by
32376         using Shared and RefPtr, which resulted in removing many explicit functions.
32377         * platform/FontFamily.cpp: More of the same.
32379         * platform/GlyphBuffer.h: Removed unneeded MAX_GLYPH_EXPANSION and GLYPH_BUFFER_SIZE
32380         macros.
32382         * platform/GlyphMap.h: Removed unneeded include of GlyphBuffer.h, which was included
32383         only for the typedef of Glyph; there's no reason to not just repeat that typedef here
32384         since C++ allows multiple typedefs if they match. Renamed the cGlyphPageSize constant
32385         to GlyphPage::size.
32386         * platform/GlyphMap.cpp: Changed NO_BREAK_SPACE and ZERO_WIDTH_SPACE macros into
32387         constants. Updated for cGlyphPageSize change.
32388         * platform/mac/GlyphMapMac.cpp: Updated for cGlyphPageSize change.
32390         * platform/GlyphWidthMap.h: Removed unneeded include of GlyphBuffer.h, which was included
32391         only for the typedef of Glyph; there's no reason to not just repeat that typedef here
32392         since C++ allows multiple typedefs if they match. Renamed the cGlyphWidthPageSize constant
32393         to GlyphWidthPage::size.
32394         * platform/GlyphWidthMap.cpp: Updated for cGlyphWidthPageSize change.
32396         * platform/GraphicsContext.h: Removed unneeded include of Font.h. Changed drawText
32397         function to use overloading instead of default parameters to allow TextStyle to be optional.
32398         This cuts the dependency on TextStyle.
32399         * platform/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): Added overload.
32401         * platform/Image.h: Removed unneeded forward declaration of IntSize.
32403         * platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters):
32404         Changed to not depend on Font::getNSFont.
32405         * platform/mac/ListBoxMac.mm: (-[WebCoreTableView fontChanged]): Ditto.
32406         * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
32407         Ditto.
32408         * rendering/RenderPopupMenuMac.mm:
32409         (WebCore::RenderPopupMenuMac::showPopup): Ditto.
32410         (WebCore::RenderPopupMenuMac::addGroupLabel): Ditto.
32411         (WebCore::RenderPopupMenuMac::addOption): Ditto.
32413         * platform/mac/FontDataMac.mm: Fixed includes. Converted a bunch of macros to be
32414         constants and inline functions instead.
32416         * platform/mac/FontMac.mm: Fixed includes.
32417         * platform/mac/PopUpButtonMac.mm: Ditto.
32418         * rendering/RenderMenuList.cpp: Ditto.
32419         * rendering/RenderTextControl.cpp: Ditto.
32421         * platform/mac/WebCoreSystemInterface.h: Fixes so this header stands alone and is
32422         compatible with all 4 of C, ObjC, C++, ObjC++.
32424 2006-09-05  Darin Fisher  <darin@chromium.org>
32426         Reviewed/landed by aroben.
32428         Fixes bug 10743: Windows build is busted.
32430         * WebCore.vcproj/WebCore/WebCore.vcproj:
32431         * bridge/win/FrameWin.h:
32432         * platform/ResourceLoaderInternal.h:
32433         * platform/TextEncodingRegistry.cpp:
32434         * platform/win/ResourceLoaderWin.cpp:
32435         (WebCore::ResourceLoaderWndProc):
32436         (WebCore::ResourceLoader::start):
32437         * platform/win/TemporaryLinkStubs.cpp:
32438         (FrameWin::markMisspellings):
32439         (FrameWin::shouldChangeSelection):
32440         (FrameWin::respondToChangedSelection):
32441         (FrameWin::respondToChangedContents):
32442         (RenderThemeWin::adjustMenuListStyle):
32444 2006-09-05  Darin Adler  <darin@apple.com>
32446         - some quick build fixes
32448         * bridge/mac/WebCoreAXObject.mm: Remove use of WebCore::UChar.
32449         * bridge/mac/WebCoreFrameBridge.mm: Ditto. Also remove include
32450         of CharsetNames.h.
32451         * css/CSSGrammar.y: Remove use of WebCore::UChar.
32452         * platform/UChar.h: Back out WebCore::UChar for now.
32454 2006-09-05  Darin Adler  <darin@apple.com>
32456         Reviewed by Alexey.
32458         - http://bugs.webkit.org/show_bug.cgi?id=10728
32459           text encodings should work without a numeric ID
32461         - includes a fix for http://bugs.webkit.org/show_bug.cgi?id=10681
32462           REGRESSION: Reproducible crash at Wikipedia
32464         - fixed a bug where link elements would not set the charset properly for
32465           CSS stylesheets they loaded
32467         - converted DeprecatedString code paths that are related to decoding web
32468           pages to use String instead, to ensure that conversion back and forth won't
32469           hurt performance
32471         Test: fast/encoding/css-link-charset.html
32472         Test: fast/forms/form-data-encoding-normalization-overrun.html
32474         Coverage for encoding issues is pretty good, so we probably don't need more
32475         tests to land this. Our existing tests did find issues with this patch while
32476         it was under development. And I suppose it would be nice to have even more tests.
32478         * platform/TextEncoding.h:
32479         * platform/TextEncoding.cpp:
32480         (WebCore::addEncodingName): Added. Used to build up the set used by isJapanese.
32481         (WebCore::TextEncoding::TextEncoding): Removed boolean "eight bit only" parameter and
32482         added an overload for String as well as const char*. Simplified because now the only
32483         data member is m_name -- calls the registry's atomicCanonicalTextEncodingName function
32484         to make the name canonical (resolve aliases) and atomic (use a single pointer for each
32485         encoding name so we can compare and hash efficiently).
32486         (WebCore::TextEncoding::decode): Renamed from toUnicode. Just a simple wrapper on top
32487         of TextDecoder that can be used when the data to decode is all present at once.
32488         (WebCore::TextEncoding::encode): Renamed from fromUnicode. Handles the normalization and
32489         then uses the registry to get a codec to handle the rest.
32490         (WebCore::TextEncoding::usesVisualOrdering): New implementation that compares with the
32491         name of the only encoding that uses visual ordering. We blur the concepts a bit so that
32492         we treat the visual ordering and logical ordering variations as two separate encodings.
32493         (WebCore::TextEncoding::isJapanese): New implementation that uses a set to efficiently
32494         determine if an encoding is Japanese.
32495         (WebCore::TextEncoding::backslashAsCurrencySymbol): New implementation that compares
32496         with the names of the two encodings that have the strange backslash.
32497         (WebCore::TextEncoding::closest8BitEquivalent): Added. Replaces the old "eight bit only"
32498         boolean parameter to the constructor.
32499         (WebCore::ASCIIEncoding): Added.
32500         (WebCore::Latin1Encoding): Added.
32501         (WebCore::UTF16BigEndianEncoding): Added.
32502         (WebCore::UTF16LittleEndianEncoding): Added.
32503         (WebCore::UTF8Encoding): Added.
32504         (WebCore::WindowsLatin1Encoding): Added.
32506         * platform/TextEncodingRegistry.h: Added.
32507         * platform/TextEncodingRegistry.cpp: Added. Keeps a table of all the character set
32508         aliases and names and another of all the codecs and parameters for each name.
32510         * platform/TextDecoder.h: Added.
32511         * platform/TextDecoder.cpp: Added. Contains logic to look for a BOM and hand the data
32512         to the proper codec, based on code that used to be in both the ICU and Mac codecs.
32514         * platform/StreamingTextDecoder.h: Renamed class to TextCodec. We'll rename
32515         the files in a later check-in. Moved creation functions into TextEncodingRegistry.h.
32516         Added typedefs of the registrar function types so classes derived from this one
32517         can use them without including the TextEncodingRegistry header. Renamed toUnicode
32518         and fromUnicode to decode and encode. Changed the parameter and return types so that
32519         the parameters are pointers to the data and the return types are String and CString.
32520         * platform/StreamingTextDecoder.cpp:
32521         (WebCore::TextCodec::appendOmittingBOM): Added. Helper function used by multiple
32522         classes derived from this one.
32524         * platform/TextCodecLatin1.h: Added.
32525         * platform/TextCodecLatin1.cpp: Added. Contains logic to handle encoding and decoding
32526         Windows Latin-1, based on code that used to be in both the ICU and Mac codecs.
32528         * platform/TextCodecUTF16.h: Added.
32529         * platform/TextCodecUTF16.cpp: Added. Contains logic to handle encoding and decoding
32530         UTF-16, based on code that used to be in both the ICU and Mac codecs.
32532         * platform/StreamingTextDecoderICU.h: Renamed class to TextCodecICU. We'll rename
32533         the files in a later check-in. Removed all the functions having to do with handling
32534         BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
32535         because that's superseded by the registry. Added registry hook functions.
32536         * platform/StreamingTextDecoderICU.cpp:
32537         (WebCore::TextCodecICU::registerEncodingNames): Added. Registers all encodings that
32538         ICU can handle with the "IANA" standard. Also includes a special case for a particular
32539         type of encoding for Hebrew that uses logical ordering. Also includes aliases that are
32540         not in ICU but that were historically known to WebKit for encodings that ICU handles. 
32541         (WebCore::newTextCodecICU): Added. Used by registerCodecs.
32542         (WebCore::TextCodecICU::registerCodecs): Added. Registers codecs for the same encodings
32543         as above.
32544         (WebCore::TextCodecICU::TextCodecICU): Much simplified since this now only handles the
32545         actual ICU encoding and decoding.
32546         (WebCore::TextCodecICU::~TextCodecICU): Renamed.
32547         (WebCore::TextCodecICU::releaseICUConverter): Changed to be a const member function.
32548         (WebCore::TextCodecICU::createICUConverter): Changed to be a const member function and
32549         to check if the cached converter can be reused in a simpler way.
32550         (WebCore::TextCodecICU::decode): Updated for changes to types.
32551         (WebCore::TextCodecICU::encode): Updated for changes to types, and removed normalization
32552         since this is now handled by the caller.
32554         * platform/mac/StreamingTextDecoderMac.h: Renamed class to TextCodecMac. We'll rename
32555         the files in a later check-in. Removed all the functions having to do with handling
32556         BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
32557         because that's superseded by the registry. Added registry hook functions.
32558         * platform/mac/StreamingTextDecoderMac.cpp:
32559         (WebCore::TextCodecMac::registerEncodingNames): Added. Registers encodings based on
32560         the charset table generated by the make-charset-table.pl perl script.
32561         (WebCore::newTextCodecMac): Added. Used by registerCodecs.
32562         (WebCore::TextCodecMac::registerCodecs): Added. Registers codecs for the same encodings
32563         as above.
32564         (WebCore::TextCodecMac::TextCodecMac): Much simplified since this now only handles the
32565         actual TEC/CF encoding and decoding.
32566         (WebCore::TextCodecMac::~TextCodecMac): Renamed.
32567         (WebCore::TextCodecMac::releaseTECConverter): Changed to be a const member function.
32568         (WebCore::TextCodecMac::createTECConverter): Changed to be a const member function.
32569         (WebCore::TextCodecMac::decode): Updated for changes to types.
32570         (WebCore::TextCodecMac::encode): Updated for changes to types, and removed normalization
32571         since this is now handled by the caller.
32573         * platform/mac/mac-encodings.txt: Removed most of the names in this file. This now
32574         only includes encodings where we want to use Mac OS X Carbon Text Encoding Converter,
32575         which is only encodings that are not supported by ICU.
32576         * platform/make-charset-table.pl: Removed flags from output. We don't use them any more.
32577         * platform/CharsetData.h: Changed from a platform-independent header into a
32578         Macintosh-specific one. A later patch should move this and rename it. Also
32579         subsumes ExtraCFEncodings.h.
32581         * WebCore.xcodeproj/project.pbxproj: Added new files. Changed the prefix on the
32582         "make character sets" rule to be kTextEncoding instead of kCFStringEncoding.
32584         * loader/Decoder.h: Change the default encoding parameter to the constructor to be
32585         a TextEncoding object. Renamed setEncodingName to setEncoding, and made it take a
32586         TextEncoding for the encoding. Removed the encodingName and visuallyOrdered functions,
32587         since TextEncoding supports both directly in a straightforward way. Changed both
32588         decode and flush functions to return String instead of DeprecatedString. Added a
32589         number of private functions to factor this class a bit more so it's easier to read.
32590         Got rid of a number of redundant data members. Changed the buffer to a Vector<char>.
32591         * loader/Decoder.cpp:
32592         (WebCore::Decoder::determineContentType): Added. Used by constructor to determine
32593         the content type based on the passed-in MIME type.
32594         (WebCore::Decoder::defaultEncoding): Added. Used by constructor to determine the
32595         default encoding based on the passed in default and the content type.
32596         (WebCore::Decoder::Decoder): Changed to use the functions above. Also renamed
32597         m_reachedBody to m_checkedForHeadCharset.
32598         (WebCore::Decoder::setEncoding): Renamed and changed to take an encoding rather
32599         than an encoding name.
32600         (WebCore::Decoder::checkForBOM): Factored out of decode.
32601         (WebCore::Decoder::checkForCSSCharset): Factored out of decode.
32602         (WebCore::Decoder::checkForHeadCharset): Factored out of decode.
32603         (WebCore::Decoder::detectJapaneseEncoding): Factored out of decode.
32604         (WebCore::Decoder::decode): Refactored so it's no longer one huge function.
32605         Changed to use the new Vector<char> and the new API for TextDecoder.
32606         (WebCore::Decoder::flush): Added code to empty out the buffer. Not an issue in
32607         practice since we don't re-use the decoder after flushing it.
32609         * platform/UChar.h: Added. Has the type named WebCore::UChar that we'll be switching
32610         to. We'll switch away from the ICU ::UChar type, because we don't want to be so
32611         closely tied to ICU -- include this instead of <unicode/umachine.h>.
32613         * platform/PlatformString.h:
32614         * platform/String.cpp:
32615         (WebCore::String::latin1): Updated for changes to TextEncoding.
32616         (WebCore::String::utf8): Ditto.
32617         (WebCore::String::newUninitialized): Added. Gives a way to create a String and
32618         then write directly into its buffer.
32620         * platform/StringImpl.h: Changed return value for charactersWithNullTermination to
32621         be a const UChar*. While it's true that this function changes the underlying
32622         StringImpl, the characters still shouldn't be modified with the returned pointer.
32623         * platform/StringImpl.cpp:
32624         (WebCore::StringImpl::charactersWithNullTermination): Updated for change above.
32625         (WebCore::StringImpl::newUninitialized): Added. Gives a way to create a StringImpl
32626         and then write directly into its buffer.
32628         * platform/CString.h:
32629         * platform/CString.cpp: (WebCore::CString::newUninitialized): Added. Gives a way
32630         to create a CString and then write directly into its buffer.
32632         * bridge/mac/WebCoreFrameBridge.h: Removed textEncoding method, and replaced
32633         +[WebCoreFrameBridge stringWithData:textEncoding:] with
32634         -[WebCoreFrameBridge stringWithData:] to avoid having to pass text encoding
32635         IDs around.
32636         * bridge/mac/WebCoreFrameBridge.mm:
32637         (-[WebCoreFrameBridge setEncoding:userChosen:]): Removed now-unneeded conversion
32638         to DeprecatedString.
32639         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
32640         Ditto.
32641         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): Ditto.
32642         (-[WebCoreFrameBridge referrer]): Removed now-unneeded call to getNSString.
32643         (-[WebCoreFrameBridge stringWithData:]): Added. Asks the document's decoder
32644         what its encoding is, and decodes using that.
32645         (+[WebCoreFrameBridge stringWithData:textEncodingName:]): Simplified so it
32646         no longer involved a text encoding ID number.
32647         (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
32648         Changed to use UChar instead of DeprecatedChar.
32649         (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): Removed
32650         now-unneeded conversion to DeprecatedString.
32651         (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Ditto.
32653         * html/HTMLFormElement.cpp:
32654         (WebCore::encodeCString): Changed parameter to CString.
32655         (WebCore::HTMLFormElement::formData): Updated code for improvements to TextEncoding.
32657         * loader/CachedCSSStyleSheet.h:
32658         * loader/CachedCSSStyleSheet.cpp:
32659         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Fixed mistake where the
32660         decoder was created without passing in the character set. Also changed from
32661         DeprecatedString to String.
32662         (WebCore::CachedCSSStyleSheet::setCharset): More of the same.
32664         * bindings/js/kjs_window.h: (KJS::ScheduledAction::ScheduledAction): Changed
32665         to use String instead of DeprecatedString, UChar instead of DeprecatedChar,
32666         CString instead of DeprecatedCString, etc.
32667         * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
32668         * bridge/mac/FrameMac.h: Ditto.
32669         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::isCharacterSmartReplaceExempt):
32670         Ditto.
32671         * bridge/mac/WebCoreAXObject.mm:
32672         (-[WebCoreAXObject helpText]): Ditto.
32673         (-[WebCoreAXObject value]): Ditto.
32674         (-[WebCoreAXObject accessibilityDescription]): Ditto.
32675         (-[WebCoreAXObject doAXStringForTextMarkerRange:]): Ditto.
32676         * bridge/mac/WebCoreEncodings.mm: (+[WebCoreEncodings decodeData:]): Ditto.
32677         Also fixed code that does a deref without a ref to use RefPtr instead.
32678         * bridge/mac/WebCoreScriptDebugger.mm:
32679         (-[WebCoreScriptCallFrame evaluateWebScript:]): Ditto.
32680         * bridge/mac/WebCoreSettings.mm:
32681         (-[WebCoreSettings setDefaultTextEncoding:]): Ditto.
32682         * css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent): Ditto.
32683         * css/cssparser.cpp: (WebCore::CSSParser::lex): Ditto.
32684         * dom/Document.h:
32685         * dom/Document.cpp:
32686         (WebCore::Document::setCharset): Ditto.
32687         (WebCore::Document::write): Ditto.
32688         (WebCore::Document::determineParseMode): Ditto.
32689         * dom/ProcessingInstruction.cpp:
32690         (WebCore::ProcessingInstruction::checkStyleSheet): Ditto.
32691         * dom/XMLTokenizer.h:
32692         * dom/XMLTokenizer.cpp:
32693         (WebCore::shouldAllowExternalLoad): Ditto.
32694         (WebCore::createStringParser): Ditto.
32695         (WebCore::XMLTokenizer::write): Ditto.
32696         (WebCore::toString): Ditto.
32697         (WebCore::handleElementAttributes): Ditto.
32698         (WebCore::XMLTokenizer::startElementNs): Ditto.
32699         (WebCore::XMLTokenizer::endElementNs): Ditto.
32700         (WebCore::XMLTokenizer::characters): Ditto.
32701         (WebCore::XMLTokenizer::processingInstruction): Ditto.
32702         (WebCore::XMLTokenizer::cdataBlock): Ditto.
32703         (WebCore::XMLTokenizer::comment): Ditto.
32704         (WebCore::XMLTokenizer::internalSubset): Ditto.
32705         (WebCore::getXHTMLEntity): Ditto.
32706         (WebCore::externalSubsetHandler): Ditto.
32707         (WebCore::XMLTokenizer::initializeParserContext): Ditto.
32708         (WebCore::XMLTokenizer::notifyFinished): Ditto.
32709         (WebCore::xmlDocPtrForString): Ditto.
32710         (WebCore::parseXMLDocumentFragment): Ditto.
32711         (WebCore::attributesStartElementNsHandler): Ditto.
32712         (WebCore::parseAttributes): Ditto.
32713         * html/FormDataList.h:
32714         * html/FormDataList.cpp:
32715         (WebCore::FormDataList::appendString): Ditto. Also changed to call the
32716         encoding function by its new name and with new parameters.
32717         (WebCore::FormDataList::appendFile): Ditto.
32718         * html/HTMLDocument.h:
32719         * html/HTMLDocument.cpp:
32720         (WebCore::parseDocTypePart): Ditto.
32721         (WebCore::containsString): Ditto.
32722         (WebCore::parseDocTypeDeclaration): Ditto.
32723         (WebCore::HTMLDocument::determineParseMode): Ditto.
32724         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Ditto.
32725         * html/HTMLScriptElement.cpp:
32726         (WebCore::HTMLScriptElement::parseMappedAttribute): Ditto.
32727         * html/HTMLTokenizer.h:
32728         * html/HTMLTokenizer.cpp:
32729         (WebCore::HTMLTokenizer::scriptHandler): Ditto.
32730         (WebCore::HTMLTokenizer::parseTag): Ditto.
32731         (WebCore::HTMLTokenizer::write): Ditto.
32732         (WebCore::HTMLTokenizer::finish): Ditto.
32733         (WebCore::parseHTMLDocumentFragment): Ditto.
32734         * loader/Cache.h:
32735         * loader/Cache.cpp:
32736         (WebCore::Cache::requestStyleSheet): Ditto.
32737         (WebCore::Cache::requestScript): Ditto.
32738         * loader/CachedResource.h: Ditto.
32739         * loader/CachedScript.h:
32740         * loader/CachedScript.cpp:
32741         (WebCore::CachedScript::CachedScript): Ditto.
32742         (WebCore::CachedScript::ref): Ditto.
32743         (WebCore::CachedScript::deref): Ditto.
32744         (WebCore::CachedScript::setCharset): Ditto.
32745         (WebCore::CachedScript::data): Ditto.
32746         (WebCore::CachedScript::checkNotify): Ditto.
32747         * loader/CachedXBLDocument.h:
32748         * loader/CachedXBLDocument.cpp:
32749         (WebCore::CachedXBLDocument::setCharset): Ditto.
32750         * loader/CachedXSLStyleSheet.h:
32751         * loader/CachedXSLStyleSheet.cpp:
32752         (WebCore::CachedXSLStyleSheet::setCharset): Ditto.
32753         * loader/DocLoader.cpp:
32754         (WebCore::DocLoader::requestStyleSheet): Ditto.
32755         (WebCore::DocLoader::requestScript): Ditto.
32756         * loader/DocLoader.h: Ditto.
32757         * loader/FormData.h:
32758         * loader/FormData.cpp:
32759         (WebCore::FormData::FormData): Ditto.
32760         (WebCore::FormData::appendFile): Ditto.
32761         (WebCore::FormData::flattenToString): Ditto.
32762         * page/Frame.h:
32763         * page/FramePrivate.h:
32764         * page/Frame.cpp:
32765         (WebCore::UserStyleSheetLoader::setStyleSheet): Ditto.
32766         (WebCore::getString): Ditto.
32767         (WebCore::Frame::replaceContentsWithScriptResult): Ditto.
32768         (WebCore::Frame::executeScript): Ditto.
32769         (WebCore::Frame::clear): Ditto.
32770         (WebCore::Frame::write): Ditto.
32771         (WebCore::Frame::endIfNotLoading): Ditto.
32772         (WebCore::Frame::baseTarget): Ditto.
32773         (WebCore::Frame::scheduleRedirection): Ditto.
32774         (WebCore::Frame::scheduleLocationChange): Ditto.
32775         (WebCore::Frame::scheduleHistoryNavigation): Ditto.
32776         (WebCore::Frame::changeLocation): Ditto.
32777         (WebCore::Frame::redirectionTimerFired): Ditto.
32778         (WebCore::Frame::encoding): Ditto.
32779         (WebCore::Frame::submitForm): Ditto.
32780         (WebCore::Frame::referrer): Ditto.
32781         (WebCore::Frame::isCharacterSmartReplaceExempt): Ditto.
32782         (WebCore::Frame::setEncoding): Ditto.
32783         * page/Settings.h: Ditto.
32784         * platform/SegmentedString.h: Ditto.
32785         * platform/SegmentedString.cpp: Ditto.
32786         * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString): Ditto.
32787         * xml/XSLTProcessor.cpp:
32788         (WebCore::transformTextStringToXHTMLDocumentString): Ditto.
32789         (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
32790         * xml/xmlhttprequest.h:
32791         * xml/xmlhttprequest.cpp:
32792         (WebCore::XMLHttpRequest::open): Ditto.
32793         (WebCore::XMLHttpRequest::send): Ditto.
32794         (WebCore::XMLHttpRequest::receivedData): Ditto.
32796         * platform/DeprecatedString.cpp:
32797         (WebCore::DeprecatedString::fromUtf8): Updated for changes to TextEncoding.
32798         (WebCore::DeprecatedString::utf8): Ditto.
32800         * platform/KURL.h:
32801         * platform/KURL.cpp:
32802         (WebCore::KURL::KURL): Updated to overload based on presence or absence of
32803         TextEncoding rather than having a default.
32804         (WebCore::KURL::init): Moved body of constructor in here. Updated to use
32805         the new TextEncoding interface.
32806         (WebCore::KURL::decode_string): Updated to overload based on presence or
32807         absence of TextEncoding rather than having a default. Updated to use
32808         the new TextEncoding interface.
32809         (WebCore::encodeRelativeString): Updated to use the new TextEncoding interface.
32811         * platform/Font.cpp: (WebCore::WidthIterator::normalizeVoicingMarks): Fixed
32812         code to use U_ZERO_ERROR instead of a typecast.
32814         * bindings/js/kjs_proxy.h: Removed unneeded declaration of DeprecatedString.
32815         * platform/GraphicsContext.h: Ditto.
32817         * platform/GraphicsContext.cpp: Removed unneeded include of "DeprecatedString.h".
32818         * rendering/break_lines.cpp: Ditto.
32819         * xml/XMLSerializer.cpp: Ditto.
32821         * platform/mac/FontDataMac.mm: Removed unneeded include of <unicode/unorm.h>.
32823         * platform/CharsetNames.h: Emptied out this file. A later patch could remove it.
32824         * platform/CharsetNames.cpp: Ditto.
32825         * platform/mac/ExtraCFEncodings.h: Ditto.
32827 2006-09-05  Nikolas Zimmermann  <zimmermann@kde.org>
32829         Reviewed by eseidel.  Landed by eseidel.
32831         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10490
32833         -> Remove all SVGAnimated* usage from ksvg2.
32834         This is all done using a set of macros which live in svg/SVGElement.h
32835         (ANIMATED_PROPERTY_DECLARATIONS / ANIMATED_PROPERTY_DEFINITIONS).
32836         Transform all properties to this new concept using Eric ruby script.
32838         -> Replace all usages of "property()->baseVal()" with "propertyBaseValue()".
32839         -> Replace all usages of "property()->setBaseVal()" with "setPropertyBaseValue()".
32841         -> Add "virtual const SVGElement* contextElement() const".
32842         This concept allows to access the document (needed to access the SVGDocumentExtensions)
32843         from lowest-base-classes like SVGURIReference / SVGExternalResourcesRequired etc.
32845         These classes contain this contextElement() function as pure virtual functions.
32846         The topmost classes (like SVGCircleElement) implement this function with "return this".
32848         -> Move default value initialization to constructors.
32849         As the lazy_create usage, which was involved in default property initialization,
32850         has been removed, we need to do the initialization in the constructor.
32851         
32852         This forces us to fix the SVGLength class, as calling viewportElement() from the
32853         constructor does not work. This SVGLength cleanup is one of the next things to fix.
32855         * bindings/scripts/CodeGeneratorJS.pm:
32856         * kcanvas/RenderForeignObject.cpp:
32857         (WebCore::RenderForeignObject::translationForAttributes):
32858         * kcanvas/RenderSVGImage.cpp:
32859         (WebCore::RenderSVGImage::paint):
32860         (WebCore::RenderSVGImage::relativeBBox):
32861         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
32862         (WebCore::RenderSVGImage::translationForAttributes):
32863         * kcanvas/RenderSVGText.cpp:
32864         (WebCore::RenderSVGText::translationForAttributes):
32865         * ksvg2/misc/KSVGTimeScheduler.cpp:
32866         (WebCore::SVGTimer::notifyAll):
32867         * ksvg2/misc/SVGDocumentExtensions.cpp:
32868         * ksvg2/misc/SVGDocumentExtensions.h:
32869         (WebCore::SVGDocumentExtensions::baseValueMap):
32870         (WebCore::SVGDocumentExtensions::baseValue):
32871         (WebCore::SVGDocumentExtensions::setBaseValue):
32872         (WebCore::SVGDocumentExtensions::hasBaseValue):
32873         (WebCore::String):
32874         (WebCore::bool):
32875         (WebCore::double):
32876         * ksvg2/misc/SVGImageLoader.cpp:
32877         (WebCore::SVGImageLoader::updateFromElement):
32878         * ksvg2/svg/SVGAElement.cpp:
32879         (WebCore::SVGAElement::parseMappedAttribute):
32880         (WebCore::SVGAElement::defaultEventHandler):
32881         * ksvg2/svg/SVGAElement.h:
32882         (WebCore::SVGAElement::contextElement):
32883         * ksvg2/svg/SVGAnimateColorElement.h:
32884         (WebCore::SVGAnimateColorElement::contextElement):
32885         * ksvg2/svg/SVGAnimateElement.h:
32886         (WebCore::SVGAnimateElement::contextElement):
32887         * ksvg2/svg/SVGAnimateTransformElement.cpp:
32888         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
32889         (WebCore::SVGAnimateTransformElement::initialMatrix):
32890         * ksvg2/svg/SVGAnimateTransformElement.h:
32891         (WebCore::SVGAnimateTransformElement::contextElement):
32892         * ksvg2/svg/SVGCircleElement.cpp:
32893         (SVGCircleElement::SVGCircleElement):
32894         (SVGCircleElement::parseMappedAttribute):
32895         (SVGCircleElement::toPathData):
32896         (SVGCircleElement::pushAttributeContext):
32897         * ksvg2/svg/SVGCircleElement.h:
32898         (WebCore::SVGCircleElement::contextElement):
32899         * ksvg2/svg/SVGClipPathElement.cpp:
32900         (SVGClipPathElement::SVGClipPathElement):
32901         (SVGClipPathElement::parseMappedAttribute):
32902         (SVGClipPathElement::canvasResource):
32903         * ksvg2/svg/SVGClipPathElement.h:
32904         (WebCore::SVGClipPathElement::contextElement):
32905         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
32906         (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
32907         (SVGComponentTransferFunctionElement::parseMappedAttribute):
32908         (SVGComponentTransferFunctionElement::transferFunction):
32909         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
32910         * ksvg2/svg/SVGCursorElement.cpp:
32911         (SVGCursorElement::SVGCursorElement):
32912         (SVGCursorElement::parseMappedAttribute):
32913         * ksvg2/svg/SVGCursorElement.h:
32914         (WebCore::SVGCursorElement::contextElement):
32915         * ksvg2/svg/SVGDefsElement.h:
32916         (WebCore::SVGDefsElement::contextElement):
32917         * ksvg2/svg/SVGElement.h:
32918         * ksvg2/svg/SVGEllipseElement.cpp:
32919         (WebCore::SVGEllipseElement::SVGEllipseElement):
32920         (WebCore::SVGEllipseElement::parseMappedAttribute):
32921         (WebCore::SVGEllipseElement::toPathData):
32922         (WebCore::SVGEllipseElement::pushAttributeContext):
32923         * ksvg2/svg/SVGEllipseElement.h:
32924         (WebCore::SVGEllipseElement::contextElement):
32925         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
32926         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
32927         (WebCore::SVGExternalResourcesRequired::parseMappedAttribute):
32928         * ksvg2/svg/SVGExternalResourcesRequired.h:
32929         * ksvg2/svg/SVGFEBlendElement.cpp:
32930         (SVGFEBlendElement::SVGFEBlendElement):
32931         (SVGFEBlendElement::parseMappedAttribute):
32932         (SVGFEBlendElement::filterEffect):
32933         * ksvg2/svg/SVGFEBlendElement.h:
32934         (WebCore::SVGFEBlendElement::contextElement):
32935         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
32936         (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
32937         (SVGFEColorMatrixElement::parseMappedAttribute):
32938         (SVGFEColorMatrixElement::filterEffect):
32939         * ksvg2/svg/SVGFEColorMatrixElement.h:
32940         (WebCore::SVGFEColorMatrixElement::contextElement):
32941         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
32942         (SVGFEComponentTransferElement::SVGFEComponentTransferElement):
32943         (SVGFEComponentTransferElement::parseMappedAttribute):
32944         (SVGFEComponentTransferElement::filterEffect):
32945         * ksvg2/svg/SVGFEComponentTransferElement.h:
32946         (WebCore::SVGFEComponentTransferElement::contextElement):
32947         * ksvg2/svg/SVGFECompositeElement.cpp:
32948         (SVGFECompositeElement::SVGFECompositeElement):
32949         (SVGFECompositeElement::parseMappedAttribute):
32950         (SVGFECompositeElement::filterEffect):
32951         * ksvg2/svg/SVGFECompositeElement.h:
32952         (WebCore::SVGFECompositeElement::contextElement):
32953         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
32954         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
32955         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
32956         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
32957         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
32958         (WebCore::SVGFEDiffuseLightingElement::contextElement):
32959         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
32960         (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
32961         (SVGFEDisplacementMapElement::parseMappedAttribute):
32962         (SVGFEDisplacementMapElement::filterEffect):
32963         * ksvg2/svg/SVGFEDisplacementMapElement.h:
32964         (WebCore::SVGFEDisplacementMapElement::contextElement):
32965         * ksvg2/svg/SVGFEDistantLightElement.cpp:
32966         (WebCore::SVGFEDistantLightElement::lightSource):
32967         * ksvg2/svg/SVGFEFloodElement.cpp:
32968         (SVGFEFloodElement::parseMappedAttribute):
32969         (SVGFEFloodElement::filterEffect):
32970         * ksvg2/svg/SVGFEFloodElement.h:
32971         (WebCore::SVGFEFloodElement::contextElement):
32972         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
32973         (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
32974         (SVGFEGaussianBlurElement::parseMappedAttribute):
32975         (SVGFEGaussianBlurElement::filterEffect):
32976         * ksvg2/svg/SVGFEGaussianBlurElement.h:
32977         (WebCore::SVGFEGaussianBlurElement::contextElement):
32978         * ksvg2/svg/SVGFEImageElement.cpp:
32979         (SVGFEImageElement::SVGFEImageElement):
32980         (SVGFEImageElement::parseMappedAttribute):
32981         * ksvg2/svg/SVGFEImageElement.h:
32982         (WebCore::SVGFEImageElement::contextElement):
32983         * ksvg2/svg/SVGFELightElement.cpp:
32984         (SVGFELightElement::SVGFELightElement):
32985         (SVGFELightElement::parseMappedAttribute):
32986         * ksvg2/svg/SVGFELightElement.h:
32987         * ksvg2/svg/SVGFEMergeElement.cpp:
32988         (SVGFEMergeElement::SVGFEMergeElement):
32989         (SVGFEMergeElement::filterEffect):
32990         * ksvg2/svg/SVGFEMergeElement.h:
32991         (WebCore::SVGFEMergeElement::contextElement):
32992         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
32993         (SVGFEMergeNodeElement::parseMappedAttribute):
32994         * ksvg2/svg/SVGFEMergeNodeElement.h:
32995         (WebCore::SVGFEMergeNodeElement::contextElement):
32996         * ksvg2/svg/SVGFEOffsetElement.cpp:
32997         (SVGFEOffsetElement::SVGFEOffsetElement):
32998         (SVGFEOffsetElement::parseMappedAttribute):
32999         (SVGFEOffsetElement::filterEffect):
33000         * ksvg2/svg/SVGFEOffsetElement.h:
33001         (WebCore::SVGFEOffsetElement::contextElement):
33002         * ksvg2/svg/SVGFEPointLightElement.cpp:
33003         (WebCore::SVGFEPointLightElement::lightSource):
33004         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
33005         (SVGFESpecularLightingElement::SVGFESpecularLightingElement):
33006         (SVGFESpecularLightingElement::parseMappedAttribute):
33007         (SVGFESpecularLightingElement::filterEffect):
33008         * ksvg2/svg/SVGFESpecularLightingElement.h:
33009         (WebCore::SVGFESpecularLightingElement::contextElement):
33010         * ksvg2/svg/SVGFESpotLightElement.cpp:
33011         (WebCore::SVGFESpotLightElement::lightSource):
33012         * ksvg2/svg/SVGFETileElement.cpp:
33013         (SVGFETileElement::parseMappedAttribute):
33014         (SVGFETileElement::filterEffect):
33015         * ksvg2/svg/SVGFETileElement.h:
33016         (WebCore::SVGFETileElement::contextElement):
33017         * ksvg2/svg/SVGFETurbulenceElement.cpp:
33018         (SVGFETurbulenceElement::SVGFETurbulenceElement):
33019         (SVGFETurbulenceElement::parseMappedAttribute):
33020         (SVGFETurbulenceElement::filterEffect):
33021         * ksvg2/svg/SVGFETurbulenceElement.h:
33022         (WebCore::SVGFETurbulenceElement::contextElement):
33023         * ksvg2/svg/SVGFilterElement.cpp:
33024         (SVGFilterElement::SVGFilterElement):
33025         (SVGFilterElement::parseMappedAttribute):
33026         (SVGFilterElement::canvasResource):
33027         * ksvg2/svg/SVGFilterElement.h:
33028         (WebCore::SVGFilterElement::contextElement):
33029         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
33030         (SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
33031         (SVGFilterPrimitiveStandardAttributes::~SVGFilterPrimitiveStandardAttributes):
33032         (SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
33033         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
33034         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
33035         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
33036         * ksvg2/svg/SVGFitToViewBox.cpp:
33037         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
33038         (WebCore::SVGFitToViewBox::parseViewBox):
33039         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
33040         (WebCore::SVGFitToViewBox::parseMappedAttribute):
33041         * ksvg2/svg/SVGFitToViewBox.h:
33042         * ksvg2/svg/SVGForeignObjectElement.cpp:
33043         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
33044         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
33045         * ksvg2/svg/SVGForeignObjectElement.h:
33046         (WebCore::SVGForeignObjectElement::isValid):
33047         (WebCore::SVGForeignObjectElement::contextElement):
33048         * ksvg2/svg/SVGGElement.h:
33049         (WebCore::SVGGElement::contextElement):
33050         * ksvg2/svg/SVGGradientElement.cpp:
33051         (SVGGradientElement::SVGGradientElement):
33052         (SVGGradientElement::parseMappedAttribute):
33053         (SVGGradientElement::rebuildStops):
33054         * ksvg2/svg/SVGGradientElement.h:
33055         * ksvg2/svg/SVGHelper.cpp:
33056         (WebCore::SVGHelper::PercentageOfViewport):
33057         * ksvg2/svg/SVGImageElement.cpp:
33058         (SVGImageElement::SVGImageElement):
33059         (SVGImageElement::parseMappedAttribute):
33060         (SVGImageElement::haveLoadedRequiredResources):
33061         * ksvg2/svg/SVGImageElement.h:
33062         (WebCore::SVGImageElement::contextElement):
33063         * ksvg2/svg/SVGLangSpace.h:
33064         * ksvg2/svg/SVGLength.cpp:
33065         * ksvg2/svg/SVGLineElement.cpp:
33066         (SVGLineElement::SVGLineElement):
33067         (SVGLineElement::parseMappedAttribute):
33068         (SVGLineElement::toPathData):
33069         (SVGLineElement::pushAttributeContext):
33070         * ksvg2/svg/SVGLineElement.h:
33071         (WebCore::SVGLineElement::contextElement):
33072         * ksvg2/svg/SVGLinearGradientElement.cpp:
33073         (SVGLinearGradientElement::SVGLinearGradientElement):
33074         (SVGLinearGradientElement::parseMappedAttribute):
33075         (SVGLinearGradientElement::buildGradient):
33076         * ksvg2/svg/SVGLinearGradientElement.h:
33077         (WebCore::SVGLinearGradientElement::contextElement):
33078         * ksvg2/svg/SVGMarkerElement.cpp:
33079         (WebCore::SVGMarkerElement::SVGMarkerElement):
33080         (WebCore::SVGMarkerElement::parseMappedAttribute):
33081         (WebCore::SVGMarkerElement::setOrientToAuto):
33082         (WebCore::SVGMarkerElement::setOrientToAngle):
33083         (WebCore::SVGMarkerElement::canvasResource):
33084         * ksvg2/svg/SVGMarkerElement.h:
33085         (WebCore::SVGMarkerElement::contextElement):
33086         * ksvg2/svg/SVGMaskElement.cpp:
33087         (WebCore::SVGMaskElement::SVGMaskElement):
33088         (WebCore::SVGMaskElement::attributeChanged):
33089         (WebCore::SVGMaskElement::parseMappedAttribute):
33090         (WebCore::SVGMaskElement::drawMaskerContent):
33091         * ksvg2/svg/SVGMaskElement.h:
33092         (WebCore::SVGMaskElement::contextElement):
33093         * ksvg2/svg/SVGPathElement.cpp:
33094         (WebCore::SVGPathElement::SVGPathElement):
33095         * ksvg2/svg/SVGPathElement.h:
33096         (WebCore::SVGPathElement::isValid):
33097         (WebCore::SVGPathElement::contextElement):
33098         * ksvg2/svg/SVGPatternElement.cpp:
33099         (WebCore::SVGPatternElement::SVGPatternElement):
33100         (WebCore::SVGPatternElement::parseMappedAttribute):
33101         (WebCore::SVGPatternElement::pushAttributeContext):
33102         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
33103         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
33104         (WebCore::SVGPatternElement::notifyAttributeChange):
33105         (WebCore::SVGPatternElement::getCTM):
33106         * ksvg2/svg/SVGPatternElement.h:
33107         (WebCore::SVGPatternElement::contextElement):
33108         * ksvg2/svg/SVGPolyElement.h:
33109         (WebCore::SVGPolyElement::contextElement):
33110         * ksvg2/svg/SVGRadialGradientElement.cpp:
33111         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
33112         (WebCore::SVGRadialGradientElement::~SVGRadialGradientElement):
33113         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
33114         (WebCore::SVGRadialGradientElement::buildGradient):
33115         * ksvg2/svg/SVGRadialGradientElement.h:
33116         (WebCore::SVGRadialGradientElement::contextElement):
33117         * ksvg2/svg/SVGRectElement.cpp:
33118         (WebCore::SVGRectElement::SVGRectElement):
33119         (WebCore::SVGRectElement::parseMappedAttribute):
33120         (WebCore::SVGRectElement::toPathData):
33121         (WebCore::SVGRectElement::pushAttributeContext):
33122         * ksvg2/svg/SVGRectElement.h:
33123         (WebCore::SVGRectElement::contextElement):
33124         * ksvg2/svg/SVGSVGElement.cpp:
33125         (WebCore::SVGSVGElement::SVGSVGElement):
33126         (WebCore::SVGSVGElement::~SVGSVGElement):
33127         (WebCore::SVGSVGElement::viewport):
33128         (WebCore::SVGSVGElement::parseMappedAttribute):
33129         (WebCore::SVGSVGElement::getCTM):
33130         (WebCore::SVGSVGElement::getScreenCTM):
33131         (WebCore::SVGSVGElement::createRenderer):
33132         * ksvg2/svg/SVGSVGElement.h:
33133         (WebCore::SVGSVGElement::contextElement):
33134         * ksvg2/svg/SVGScriptElement.h:
33135         (WebCore::SVGScriptElement::contextElement):
33136         * ksvg2/svg/SVGSetElement.h:
33137         (WebCore::SVGSetElement::contextElement):
33138         * ksvg2/svg/SVGStopElement.cpp:
33139         (SVGStopElement::SVGStopElement):
33140         (SVGStopElement::parseMappedAttribute):
33141         * ksvg2/svg/SVGStopElement.h:
33142         * ksvg2/svg/SVGStylable.h:
33143         * ksvg2/svg/SVGStyledElement.cpp:
33144         * ksvg2/svg/SVGStyledElement.h:
33145         * ksvg2/svg/SVGStyledTransformableElement.cpp:
33146         (SVGStyledTransformableElement::SVGStyledTransformableElement):
33147         (SVGStyledTransformableElement::parseMappedAttribute):
33148         * ksvg2/svg/SVGStyledTransformableElement.h:
33149         * ksvg2/svg/SVGSwitchElement.cpp:
33150         * ksvg2/svg/SVGSwitchElement.h:
33151         (WebCore::SVGSwitchElement::contextElement):
33152         * ksvg2/svg/SVGSymbolElement.h:
33153         (WebCore::SVGSymbolElement::contextElement):
33154         * ksvg2/svg/SVGTRefElement.cpp:
33155         (SVGTRefElement::updateReferencedText):
33156         * ksvg2/svg/SVGTRefElement.h:
33157         (WebCore::SVGTRefElement::contextElement):
33158         * ksvg2/svg/SVGTSpanElement.h:
33159         (WebCore::SVGTSpanElement::contextElement):
33160         * ksvg2/svg/SVGTextContentElement.cpp:
33161         (SVGTextContentElement::SVGTextContentElement):
33162         (SVGTextContentElement::parseMappedAttribute):
33163         * ksvg2/svg/SVGTextContentElement.h:
33164         * ksvg2/svg/SVGTextElement.cpp:
33165         (WebCore::SVGTextElement::SVGTextElement):
33166         (WebCore::SVGTextElement::parseMappedAttribute):
33167         * ksvg2/svg/SVGTextElement.h:
33168         (WebCore::SVGTextElement::contextElement):
33169         * ksvg2/svg/SVGTextPositioningElement.cpp:
33170         (SVGTextPositioningElement::SVGTextPositioningElement):
33171         (SVGTextPositioningElement::parseMappedAttribute):
33172         * ksvg2/svg/SVGTextPositioningElement.h:
33173         * ksvg2/svg/SVGTransformable.cpp:
33174         * ksvg2/svg/SVGTransformable.h:
33175         * ksvg2/svg/SVGURIReference.cpp:
33176         (SVGURIReference::parseMappedAttribute):
33177         * ksvg2/svg/SVGURIReference.h:
33178         * ksvg2/svg/SVGUseElement.cpp:
33179         (SVGUseElement::SVGUseElement):
33180         (SVGUseElement::parseMappedAttribute):
33181         (SVGUseElement::closeRenderer):
33182         * ksvg2/svg/SVGUseElement.h:
33183         (WebCore::SVGUseElement::contextElement):
33184         * ksvg2/svg/SVGViewElement.h:
33185         (WebCore::SVGViewElement::contextElement):
33187 2006-09-05  Eric Seidel  <eric@webkit.org>
33189         Reviewed by aroben.
33191         Speed up path parsing by removing string copies.
33192         http://bugs.webkit.org/show_bug.cgi?id=10722
33193         
33194         Tests already cover path parsing.
33196         * ksvg2/svg/SVGFitToViewBox.cpp:
33197         (WebCore::SVGFitToViewBox::parseViewBox):
33198         * ksvg2/svg/svgpathparser.cpp:
33199         (WebCore::skipOptionalSpaces): Added.
33200         (WebCore::skipOptionalSpacesOrComma): Added.
33201         (WebCore::parseCoord):
33202         (WebCore::SVGPolyParser::parsePoints):
33203         (WebCore::SVGPathParser::parseSVG):
33205 2006-09-05  Sam Weinig  <sam.weinig@gmail.com>
33207         Reviewed by Tim H.
33209         Patch for http://bugs.webkit.org/show_bug.cgi?id=10742
33210         More Objective-C DOM auto-generation cleanup
33211         
33212         - Factor out implementation type-getters into their own function 
33213           and standardize naming as was done for type-makers (ie. HTML 
33214           and CSS prefixing for method names).
33216         * bindings/objc/DOMCSS.mm:
33217         (-[DOMCSSStyleDeclaration getPropertyShorthand:]):
33218         (-[DOMCSSStyleDeclaration isPropertyImplicit:]):
33219         (-[DOMCSSStyleDeclaration _CSSStyleDeclaration]):
33220         * bindings/objc/DOMHTML.mm:
33221         (-[DOMHTMLTableCaptionElement _HTMLTableCaptionElement]):
33222         (-[DOMHTMLTableSectionElement _HTMLTableSectionElement]):
33223         (-[DOMHTMLTableElement _HTMLTableElement]):
33224         (-[DOMHTMLTableCellElement _HTMLTableCellElement]):
33225         (-[DOMHTMLEmbedElement _HTMLEmbedElement]):
33226         (-[DOMHTMLEmbedElement align]):
33227         (-[DOMHTMLEmbedElement setAlign:]):
33228         (-[DOMHTMLEmbedElement height]):
33229         (-[DOMHTMLEmbedElement setHeight:]):
33230         (-[DOMHTMLEmbedElement name]):
33231         (-[DOMHTMLEmbedElement setName:]):
33232         (-[DOMHTMLEmbedElement src]):
33233         (-[DOMHTMLEmbedElement setSrc:]):
33234         (-[DOMHTMLEmbedElement type]):
33235         (-[DOMHTMLEmbedElement setType:]):
33236         (-[DOMHTMLEmbedElement width]):
33237         (-[DOMHTMLEmbedElement setWidth:]):
33238         * bindings/objc/DOMInternal.h:
33239         * bindings/scripts/CodeGeneratorObjC.pm:
33240         * bridge/mac/WebCoreFrameBridge.mm:
33241         (-[WebCoreFrameBridge setTypingStyle:withUndoAction:]):
33242         (-[WebCoreFrameBridge applyStyle:withUndoAction:]):
33243         (-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]):
33244         (-[WebCoreFrameBridge selectionStartHasStyle:]):
33245         (-[WebCoreFrameBridge selectionHasStyle:]):
33247 2006-09-05  Adele Peterson  <adele@apple.com>
33249         Reviewed by Adam.
33251         Removed dead code for password field.
33253         * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
33254         * platform/mac/WebCoreTextField.h:
33255         * platform/mac/WebCoreTextField.mm:
33257 2006-09-05  Justin Garcia  <justin.garcia@apple.com>
33259         Reviewed by thatcher
33260         
33261         Setup for <rdar://problem/4344550> Misspellings aren't marked after undo delete
33262         
33263         Fixes:
33264         <http://bugs.webkit.org/show_bug.cgi?id=6498>
33265         SelectionController's setters should notify delegates of selection changes
33266         
33267         Moved setSelection from Frame to SelectionController.
33268         I haven't moved any of the work that's done as a result of a 
33269         Selection change to SelectionController yet.
33270         Make fewer uses of SelectionControllers.  They're now only used for 
33271         the Frame's selection, the Page's drag caret, and functions that
33272         need to do Selection expansion.
33274         * bindings/js/kjs_window.cpp:
33275         (KJS::Selection::getValueProperty):
33276         (KJS::Selection::toString):
33277         (KJS::SelectionFunc::callAsFunction):
33278         * bridge/mac/FrameMac.h:
33279         * bridge/mac/FrameMac.mm:
33280         (WebCore::FrameMac::advanceToNextMisspelling):
33281         (WebCore::FrameMac::dispatchCPPEvent):
33282         (WebCore::FrameMac::fontForSelection):
33283         (WebCore::FrameMac::baseWritingDirectionForSelectionStart):
33284         (WebCore::FrameMac::markMisspellingsInAdjacentWords):
33285         (WebCore::FrameMac::markMisspellings):
33286         (WebCore::FrameMac::respondToChangedSelection):
33287         (WebCore::FrameMac::shouldChangeSelection):
33288         (WebCore::FrameMac::shouldDeleteSelection):
33289         (WebCore::FrameMac::respondToChangedContents):
33290         * bridge/mac/PageMac.mm:
33291         (WebCore::Page::Page):
33292         * bridge/mac/WebCoreAXObject.mm:
33293         (-[WebCoreAXObject accessibilityAttributeValue:]):
33294         (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
33295         (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
33296         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
33297         (-[WebCoreAXObject doSetAXSelectedTextMarkerRange:]):
33298         * bridge/mac/WebCoreFrameBridge.mm:
33299         (-[WebCoreFrameBridge isSelectionEditable]):
33300         (-[WebCoreFrameBridge isSelectionRichlyEditable]):
33301         (-[WebCoreFrameBridge selectionState]):
33302         (-[WebCoreFrameBridge deselectText]):
33303         (-[WebCoreFrameBridge selectedAttributedString]):
33304         (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
33305         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
33306         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
33307         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:verticalDistance:]):
33308         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
33309         (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
33310         (-[WebCoreFrameBridge selectedDOMRange]):
33311         (-[WebCoreFrameBridge selectNSRange:]):
33312         (-[WebCoreFrameBridge selectedNSRange]):
33313         (-[WebCoreFrameBridge selectionAffinity]):
33314         (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
33315         (-[WebCoreFrameBridge setSelectionToDragCaret]):
33316         (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
33317         (-[WebCoreFrameBridge moveDragCaretToPoint:]):
33318         (-[WebCoreFrameBridge removeDragCaret]):
33319         (-[WebCoreFrameBridge dragCaretDOMRange]):
33320         (-[WebCoreFrameBridge isDragCaretRichlyEditable]):
33321         (-[WebCoreFrameBridge editableDOMRangeForPoint:]):
33322         (-[WebCoreFrameBridge ensureSelectionVisible]):
33323         (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]):
33324         * bridge/win/PageWin.cpp:
33325         (WebCore::Page::Page):
33326         * dom/Document.cpp:
33327         (WebCore::Document::updateSelection):
33328         (WebCore::Document::clearSelectionIfNeeded):
33329         (WebCore::Document::notifyBeforeNodeRemoval):
33330         * dom/Element.cpp:
33331         (WebCore::Element::updateFocusAppearance):
33332         * editing/EditCommand.cpp:
33333         (WebCore::EditCommand::EditCommand):
33334         * editing/JSEditor.cpp:
33335         * editing/ModifySelectionListLevel.cpp:
33336         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
33337         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
33338         * editing/Selection.cpp:
33339         (WebCore::Selection::setBase):
33340         (WebCore::Selection::setExtent):
33341         * editing/Selection.h:
33342         (WebCore::Selection::extent):
33343         * editing/SelectionController.cpp:
33344         (WebCore::SelectionController::SelectionController):
33345         (WebCore::SelectionController::moveTo):
33346         (WebCore::SelectionController::setSelection):
33347         (WebCore::SelectionController::nodeWillBeRemoved):
33348         (WebCore::SelectionController::modify):
33349         (WebCore::SelectionController::clear):
33350         (WebCore::SelectionController::setBase):
33351         (WebCore::SelectionController::setExtent):
33352         * editing/SelectionController.h:
33353         * editing/TypingCommand.cpp:
33354         (WebCore::TypingCommand::insertText):
33355         (WebCore::TypingCommand::deleteKeyPressed):
33356         (WebCore::TypingCommand::forwardDeleteKeyPressed):
33357         * editing/VisiblePosition.cpp:
33358         (WebCore::VisiblePosition::caretRect):
33359         * editing/VisiblePosition.h:
33360         * html/HTMLInputElement.cpp:
33361         (WebCore::HTMLInputElement::defaultEventHandler):
33362         * page/Frame.cpp:
33363         (WebCore::Frame::selectedText):
33364         (WebCore::Frame::hasSelection):
33365         (WebCore::Frame::selectionController):
33366         (WebCore::Frame::dragCaretController):
33367         (WebCore::Frame::notifyRendererOfSelectionChange):
33368         (WebCore::Frame::invalidateSelection):
33369         (WebCore::Frame::clearCaretRectIfNeeded):
33370         (WebCore::Frame::setFocusNodeIfNeeded):
33371         (WebCore::Frame::selectionLayoutChanged):
33372         (WebCore::Frame::caretBlinkTimerFired):
33373         (WebCore::Frame::paintCaret):
33374         (WebCore::Frame::paintDragCaret):
33375         (WebCore::Frame::isPointInsideSelection):
33376         (WebCore::Frame::selectClosestWordFromMouseEvent):
33377         (WebCore::Frame::handleMousePressEventDoubleClick):
33378         (WebCore::Frame::handleMousePressEventTripleClick):
33379         (WebCore::Frame::handleMousePressEventSingleClick):
33380         (WebCore::Frame::handleMouseMoveEvent):
33381         (WebCore::Frame::handleMouseReleaseEvent):
33382         (WebCore::Frame::selectAll):
33383         (WebCore::Frame::selectContentsOfNode):
33384         (WebCore::Frame::shouldChangeSelection):
33385         (WebCore::Frame::shouldDeleteSelection):
33386         (WebCore::Frame::isSelectionInPasswordField):
33387         (WebCore::Frame::appliedEditing):
33388         (WebCore::Frame::unappliedEditing):
33389         (WebCore::Frame::reappliedEditing):
33390         (WebCore::Frame::computeAndSetTypingStyle):
33391         (WebCore::Frame::applyStyle):
33392         (WebCore::Frame::applyParagraphStyle):
33393         (WebCore::Frame::selectionListState):
33394         (WebCore::Frame::selectionHasStyle):
33395         (WebCore::Frame::selectionComputedStyle):
33396         (WebCore::Frame::selectFrameElementInParentIfFullySelected):
33397         (WebCore::Frame::currentForm):
33398         (WebCore::Frame::revealSelection):
33399         (WebCore::Frame::centerSelectionInVisibleArea):
33400         (WebCore::Frame::styleForSelectionStart):
33401         (WebCore::Frame::setSelectionFromNone):
33402         (WebCore::Frame::findString):
33403         * page/Frame.h:
33404         * page/FramePrivate.h:
33405         (WebCore::FramePrivate::FramePrivate):
33406         * page/FrameView.cpp:
33407         (WebCore::FrameView::clear):
33408         * page/Page.cpp:
33409         (WebCore::Page::dragCaretController):
33410         * page/Page.h:
33411         * rendering/RenderBlock.cpp:
33412         (WebCore::RenderBlock::paintCaret):
33413         * rendering/RenderLayer.cpp:
33414         (WebCore::RenderLayer::autoscroll):
33415         * rendering/RenderTextControl.cpp:
33416         (WebCore::RenderTextControl::selectionStart):
33417         (WebCore::RenderTextControl::selectionEnd):
33418         (WebCore::RenderTextControl::setSelectionRange):
33419         (WebCore::RenderTextControl::selectionChanged):
33420         * rendering/RenderTreeAsText.cpp:
33421         (WebCore::writeSelection):
33423 2006-09-05  Adele Peterson  <adele@apple.com>
33425         Reviewed by Adam.
33427         Let the engine draw the focus ring for styled menu lists.
33429         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::supportsFocusRing): Added case for MenulistButtonAppearance.
33431 2006-09-05  Adele Peterson  <adele@apple.com>
33433         Reviewed by Adam.
33435         - Fix for <rdar://problem/4706463> REGRESSION: Must click twice on <select> elements for menu to show
33437         * rendering/RenderPopupMenuMac.h:
33438         * rendering/RenderPopupMenuMac.mm:
33439         (WebCore::RenderPopupMenuMac::showPopup): Moved call to dismiss popup into hidePopup method.
33440          Now calls RenderMenuList::hidePopup which will update the m_popupIsVisible flag on the menu list before hiding the popup.
33441         (WebCore::RenderPopupMenuMac::hidePopup): Added.
33443 2006-09-05  Sam Weinig  <sam.weinig@gmail.com>
33445         Reviewed by Tim H.
33447         Patch for http://bugs.webkit.org/show_bug.cgi?id=10738
33448         Consolidate the Objective-C DOM Bindings Internal files into DOMInternal.h
33450         - Consolidate DOMHTMLInternal.h, DOMCSSInternal.h, DOMEventsInternal.h,
33451           DOMViewsInternal.h and DOMXPathInternal.h into DOMInternal.h.
33453         - Rename the "type-makers" (used to make a binding from an implementation 
33454           type) so that all the HTML ones begin with the prefix HTML.  Did the same
33455           for the CSS.
33457         - Auto-generate a couple more methods from DOMExtensions.h.
33459         - Various cleanups of the Objective-C auto-generation code.
33461         * WebCore.xcodeproj/project.pbxproj:
33462         * bindings/objc/DOM.mm:
33463         (-[DOMDocument createCSSStyleDeclaration]):
33464         * bindings/objc/DOMCSS.mm:
33465         (+[DOMCSSRuleList _CSSRuleListWith:]):
33466         (+[DOMCSSRule _CSSRuleWith:]):
33467         (+[DOMCSSStyleDeclaration _CSSStyleDeclarationWith:]):
33468         (+[DOMCSSValue _CSSValueWith:]):
33469         (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:]):
33470         (-[DOMDocument getComputedStyle::]):
33471         (-[DOMDocument getMatchedCSSRules::]):
33472         * bindings/objc/DOMCSSInternal.h: Removed.
33473         * bindings/objc/DOMEvents.mm:
33474         * bindings/objc/DOMEventsInternal.h: Removed.
33475         * bindings/objc/DOMEventsNonstandard.mm:
33476         * bindings/objc/DOMExtensions.h:
33477         * bindings/objc/DOMHTML.mm:
33478         (+[DOMHTMLCollection _HTMLCollectionWith:]):
33479         (+[DOMHTMLOptionsCollection _HTMLOptionsCollectionWith:]):
33480         (+[DOMHTMLElement _HTMLElementWith:]):
33481         (+[DOMHTMLFormElement _HTMLFormElementWith:]):
33482         (+[DOMHTMLTableCaptionElement _HTMLTableCaptionElementWith:]):
33483         (+[DOMHTMLTableSectionElement _HTMLTableSectionElementWith:]):
33484         (+[DOMHTMLTableElement _HTMLTableElementWith:]):
33485         (+[DOMHTMLTableCellElement _HTMLTableCellElementWith:]):
33486         * bindings/objc/DOMHTMLAppletElement.mm:
33487         * bindings/objc/DOMHTMLDocument.mm:
33488         (-[DOMHTMLDocument body]):
33489         (-[DOMHTMLDocument images]):
33490         (-[DOMHTMLDocument applets]):
33491         (-[DOMHTMLDocument links]):
33492         (-[DOMHTMLDocument forms]):
33493         (-[DOMHTMLDocument anchors]):
33494         * bindings/objc/DOMHTMLInternal.h: Removed.
33495         * bindings/objc/DOMHTMLOptionElement.mm:
33496         (-[DOMHTMLOptionElement form]):
33497         * bindings/objc/DOMInternal.h:
33498         * bindings/objc/DOMRGBColor.mm:
33499         (setWrapperForRGB):
33500         (-[DOMRGBColor red]):
33501         (-[DOMRGBColor green]):
33502         (-[DOMRGBColor blue]):
33503         (-[DOMRGBColor alpha]):
33504         * bindings/objc/DOMUtility.mm:
33505         (KJS::ScriptInterpreter::createObjcInstanceForValue):
33506         * bindings/objc/DOMViews.mm:
33507         (-[DOMAbstractView WebCore::]):
33508         (-[DOMAbstractView _initWithAbstractView:WebCore::]):
33509         (+[DOMAbstractView _abstractViewWith:WebCore::]):
33510         * bindings/objc/DOMViewsInternal.h: Removed.
33511         * bindings/objc/DOMXPath.mm:
33512         * bindings/objc/DOMXPathInternal.h: Removed.
33513         * bindings/objc/PublicDOMInterfaces.h:
33514         * bindings/scripts/CodeGeneratorObjC.pm:
33515         * bridge/mac/WebCoreFrameBridge.mm:
33516         (-[WebCoreFrameBridge typingStyle]):
33517         * html/HTMLAnchorElement.idl:
33518         * html/HTMLAreaElement.idl:
33519         * html/HTMLImageElement.idl:
33520         * html/HTMLInputElement.idl:
33521         * html/HTMLLinkElement.idl:
33523 2006-09-05  Steve Falkenburg  <sfalken@apple.com>
33525         Conditionalize new DOM headers for ObjC only
33527         * DerivedSources.make:
33529 2006-09-04  Alexey Proskuryakov  <ap@nypop.com>
33531         Reviewed by Darin.
33533         http://bugs.webkit.org/show_bug.cgi?id=10716
33534         XMLHttpRequest.responseText is null if HTTP response is empty
33536         Extended existing tests:
33537         - http/tests/xmlhttrequest/zero-length-response.html
33538         - http/tests/xmlhttrequest/zero-length-response-sync.html
33540         * xml/xmlhttprequest.cpp:
33541         (WebCore::XMLHttpRequest::XMLHttpRequest): Initialize responseText to an empty string.
33542         (WebCore::XMLHttpRequest::open): Reset responseText to an empty string.
33543         * bindings/js/JSXMLHttpRequest.cpp:
33544         (KJS::JSXMLHttpRequest::getValueProperty): Return null rather than undefined
33545         for nil responseXML.
33547 2006-09-04  Timothy Hatcher  <timothy@apple.com>
33549         Reviewed by Darin.
33551         Bug 10714: ObjC autogeneration needs safe-guards against easily modifying the public API
33552         http://bugs.webkit.org/show_bug.cgi?id=10714
33553         
33554         - New PublicDOMInterfaces.h file is consulted when generating
33555           the ObjC DOM files. All public DOM class interfaces, properties
33556           and methods need to be in this file. Anything not in the file will
33557           be generated into the appropriate private header file. During
33558           generation if something changed or is missing in the public API
33559           a build error will occur. New interfaces added to the IDLs files
33560           will now not automatically be reflected in the public ObjC API.
33561           Methods commented out in PublicDOMInterfaces.h are pending public
33562           and will be uncommented once approved.
33564         - Removed most of the Exclude=ObjC uses from the IDL files. This
33565           attribute was mostly used to prevent changes to the public headers.
33567         - Make a new parameter name if the original conflicts with a property name.
33569         - Simplified the generation code for dealing with exceptions.
33571         - Moved file opens to WriteData. Files are unlinked before
33572           being opened to work around a Leopard file truncation bug.
33574         - Fixed #imports for DOMImplementation to be DOMDOMImplementation.h
33576         * WebCore.xcodeproj/project.pbxproj:
33577         * bindings/objc/DOMCSS.h:
33578         * bindings/objc/DOMCore.h:
33579         * bindings/objc/DOMExtensions.h:
33580         * bindings/objc/DOMHTMLInternal.h:
33581         * bindings/objc/DOMPrivate.h:
33582         * bindings/objc/PublicDOMInterfaces.h: Added.
33583         * bindings/scripts/CodeGeneratorObjC.pm:
33584         * dom/Document.idl:
33585         * dom/Element.idl:
33586         * dom/NamedNodeMap.idl:
33587         * dom/ProcessingInstruction.idl:
33588         * html/HTMLAnchorElement.idl:
33589         * html/HTMLAreaElement.idl:
33590         * html/HTMLBodyElement.idl:
33591         * html/HTMLButtonElement.idl:
33592         * html/HTMLImageElement.idl:
33593         * html/HTMLInputElement.idl:
33594         * html/HTMLLabelElement.idl:
33595         * html/HTMLLegendElement.idl:
33596         * html/HTMLLinkElement.idl:
33597         * html/HTMLOptionsCollection.idl:
33598         * html/HTMLPreElement.idl:
33599         * html/HTMLStyleElement.idl:
33600         * html/HTMLTextAreaElement.idl:
33602 2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
33604         Reviewed by Tim H.
33606         Continue fixing the build, I forgot this in my previous patch!
33608         * platform/qt/PathQt.cpp:
33609         (WebCore::Path::apply):
33611 2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
33613         Reviewed by Tim H.
33615         Fix build on Qt/Linux.
33617         * CMakeLists.txt:
33618         * platform/qt/PathQt.cpp:
33619         (WebCore::Path::transform):
33621 2006-09-04  Alexey Proskuryakov  <ap@nypop.com>
33623         Reviewed by Darin.
33625         http://bugs.webkit.org/show_bug.cgi?id=10676
33626         @charset rules not accessible via DOM
33628         Test: fast/encoding/css-charset-dom.html
33630         * WebCore.xcodeproj/project.pbxproj: Added CSSCharsetRule.cpp
33631         * bindings/js/kjs_css.cpp:
33632         (KJS::DOMCSSStyleSheet::getValueProperty):
33633         Separated Rules and CssRules, since now they behave differently.
33635         * css/CSSCharsetRule.h: Make the constructor take an encoding.
33636         * css/CSSCharsetRule.cpp: Added.
33638         * css/CSSGrammar.y: Create CSSStylesheetRules as necessary.
33640         * css/CSSRuleList.cpp:
33641         (WebCore::CSSRuleList::CSSRuleList):
33642         * css/CSSRuleList.h:
33643         * css/CSSStyleSheet.cpp:
33644         (WebCore::CSSStyleSheet::cssRules):
33645         * css/CSSStyleSheet.h:
33646         Skip charset rules in IE compatibility mode.
33648         * css/StyleBase.h:
33649         (WebCore::StyleBase::isCharsetRule): Fixed a typo.
33651         * css/cssparser.cpp:
33652         (WebCore::CSSParser::createCharsetRule):
33653         * css/cssparser.h:
33654         Added createCharsetRule().
33656 2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
33658         Reviewed by Darin.
33660         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10644
33661         Let FrameQt operate on a FrameQtClient, just like Win/Mac handle it.
33663         * CMakeLists.txt:
33664         * platform/qt/FrameQt.cpp:
33665         (WebCore::FrameQt::FrameQt):
33666         (WebCore::FrameQt::~FrameQt):
33667         (WebCore::FrameQt::openURL):
33668         (WebCore::FrameQt::submitForm):
33669         (WebCore::FrameQt::urlSelected):
33670         * platform/qt/FrameQt.h:
33671         * platform/qt/FrameQtClient.cpp: Added.
33672         (WebCore::FrameQtClientDefault::FrameQtClientDefault):
33673         (WebCore::FrameQtClientDefault::~FrameQtClientDefault):
33674         (WebCore::FrameQtClientDefault::setFrame):
33675         (WebCore::FrameQtClientDefault::openURL):
33676         (WebCore::FrameQtClientDefault::submitForm):
33677         (WebCore::FrameQtClientDefault::receivedResponse):
33678         (WebCore::FrameQtClientDefault::receivedData):
33679         (WebCore::FrameQtClientDefault::receivedAllData):
33680         * platform/qt/FrameQtClient.h: Added.
33681         (WebCore::FrameQtClient::~FrameQtClient):
33683 2006-09-04  Eric Seidel  <eric@webkit.org>
33685         Reviewed by andersca.
33687         Clean-up style and spacing.
33688         http://bugs.webkit.org/show_bug.cgi?id=10724
33689         No tests needed, no functional changes.
33691         * ksvg2/svg/svgpathparser.cpp:
33692         (WebCore::parseCoord):
33693         (WebCore::SVGPolyParser::parsePoints):
33694         (WebCore::SVGPathParser::parseSVG):
33695         (WebCore::SVGPathParser::calculateArc):
33696         (WebCore::SVGPathParser::svgLineToHorizontal):
33697         (WebCore::SVGPathParser::svgLineToVertical):
33698         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
33699         (WebCore::SVGPathParser::svgCurveToQuadratic):
33700         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
33701         (WebCore::SVGPathParser::svgArcTo):
33703 2006-09-04  Rob Buis  <buis@kde.org>
33705         Reviewed by Eric.
33707         http://bugs.webkit.org/show_bug.cgi?id=6546
33708         clipPath data does not respect transforms
33710         Get the transform from the dom element and adjust
33711         the clip path with it.
33713         * ksvg2/svg/SVGClipPathElement.cpp:
33714         (SVGClipPathElement::canvasResource):
33716 2006-09-04  Rob Buis  <buis@kde.org>
33718         Reviewed by Eric.
33720         This code should have gone in as part of:
33721         http://bugs.webkit.org/show_bug.cgi?id=10696
33722         It addresses the comments there, also we use double instead
33723         of float now in calculations.
33725         * platform/Path.cpp:
33726         (WebCore::Path::createRoundedRectangle):
33727         (WebCore::Path::createRectangle):
33728         (WebCore::Path::createEllipse):
33729         (WebCore::Path::createCircle):
33731 2006-09-03  Sam Weinig  <sam.weinig@gmail.com>
33733         Reviewed by Darin and Tim H.
33735         - patch for http://bugs.webkit.org/show_bug.cgi?id=10711
33736           Auto-generate the Objective-C DOM Stylesheet bindings
33738           Auto-generates DOMMediaList, DOMStyleSheet, and DOMStyleSheetList.
33740         * DerivedSources.make:
33741         * WebCore.xcodeproj/project.pbxproj:
33742         * bindings/objc/DOMCSS.mm:
33743         (+[DOMStyleSheet _styleSheetWith:]):
33744         (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
33745         * bindings/objc/DOMCSSInternal.h:
33746         * bindings/objc/DOMInternal.h:
33747         * bindings/objc/DOMObject.mm:
33748         (-[DOMObject sheet]):
33749         * bindings/objc/DOMPrivate.h:
33750         * bindings/objc/DOMStylesheets.h:
33751         * bindings/objc/DOMUtility.mm:
33752         (KJS::ScriptInterpreter::createObjcInstanceForValue):
33753         * bindings/scripts/CodeGeneratorObjC.pm:
33754         * css/StyleSheet.idl: Added.
33755         * css/StyleSheetList.idl: Added.
33757 2006-09-03  Rob Buis  <buis@kde.org>
33759         Reviewed by Darin.
33761         http://bugs.webkit.org/show_bug.cgi?id=10696
33762         RenderPathQuartz and RenderPathQt should not be needed
33764         Cleanup of code related to RenderPath.
33766         * CMakeLists.txt:
33767         * WebCore.xcodeproj/project.pbxproj:
33768         * kcanvas/KCanvasCreator.cpp:
33769         * kcanvas/KCanvasCreator.h:
33770         * kcanvas/RenderPath.cpp:
33771         (WebCore::):
33772         (WebCore::DrawMarkersData::DrawMarkersData):
33773         (WebCore::drawMarkerWithData):
33774         (WebCore::updateMarkerDataForElement):
33775         (WebCore::drawStartAndMidMarkers):
33776         (WebCore::RenderPath::drawMarkersIfNeeded):
33777         * kcanvas/RenderPath.h:
33778         * kcanvas/device/KRenderingDevice.h:
33779         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
33780         * kcanvas/device/qt/KRenderingDeviceQt.h:
33781         * kcanvas/device/qt/RenderPathQt.cpp:
33782         (WebCore::RenderPath::strokeContains):
33783         (WebCore::RenderPath::strokeBBox):
33784         * kcanvas/device/qt/RenderPathQt.h:
33785         * kcanvas/device/quartz/KCanvasItemQuartz.h:
33786         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
33787         (WebCore::RenderPath::strokeBBox):
33788         (WebCore::RenderPath::strokeContains):
33789         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
33790         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
33791         * kcanvas/device/quartz/QuartzSupport.h:
33792         * ksvg2/svg/SVGAElement.cpp:
33793         * ksvg2/svg/SVGCircleElement.cpp:
33794         (SVGCircleElement::toPathData):
33795         * ksvg2/svg/SVGEllipseElement.cpp:
33796         (WebCore::SVGEllipseElement::toPathData):
33797         * ksvg2/svg/SVGFEImageElement.cpp:
33798         * ksvg2/svg/SVGGElement.cpp:
33799         * ksvg2/svg/SVGImageElement.cpp:
33800         * ksvg2/svg/SVGLineElement.cpp:
33801         (SVGLineElement::toPathData):
33802         * ksvg2/svg/SVGMarkerElement.cpp:
33803         * ksvg2/svg/SVGPathElement.cpp:
33804         * ksvg2/svg/SVGPatternElement.cpp:
33805         * ksvg2/svg/SVGPolygonElement.cpp:
33806         * ksvg2/svg/SVGPolylineElement.cpp:
33807         * ksvg2/svg/SVGRectElement.cpp:
33808         (WebCore::SVGRectElement::toPathData):
33809         * ksvg2/svg/SVGSVGElement.cpp:
33810         * ksvg2/svg/SVGStyledElement.cpp:
33811         (WebCore::SVGStyledElement::createRenderer):
33812         * ksvg2/svg/SVGSwitchElement.cpp:
33813         * ksvg2/svg/SVGTextElement.cpp:
33814         * ksvg2/svg/SVGUseElement.cpp:
33815         * platform/Path.h:
33816         (WebCore::):
33817         * platform/cg/PathCG.cpp:
33818         (WebCore::CGPathToCFStringApplierFunction):
33819         (WebCore::CGPathApplierToPathApplier):
33820         (WebCore::Path::apply):
33821         (WebCore::Path::transform):
33822         * platform/qt/PathQt.cpp:
33823         (WebCore::Path::apply):
33825 2006-09-03  Timothy Hatcher  <timothy@apple.com>
33827         Reviewed by Darin.
33829         Bug 10685: ObjC DOM should have no unnamed parameters
33830         http://bugs.webkit.org/show_bug.cgi?id=10685
33832         - The ObjC code generation script now outputs parameter prefixes
33833           for methods that have more than 1 parameter. This prefix is simply
33834           the parameter name. Some parameter names have been changed in the IDL
33835           files to produce better prefixes. If an extended attribute of "ObjCPrefix"
33836           exists on a parameter we will use that for the prefix.
33838         - A backwards compatible version of the method is placed in a
33839           category with a deprecation macro for 10.5 and later. This step only
33840           happens if the IDL extended attribute "OldStyleObjC" is defined.
33841           All new functions in IDL should not get this attribute.
33843         - Made the $interfaceMethodSelector regex in IDLStructure.pm allow "=" so 
33844           parameter extended attributes can have values.
33846         - Moved RemoveExcludedAttributesAndFunctions to CodeGenerator.pm
33847           so it can be shared between the two generators.
33848           
33849         - Removed the die when we encounter a getter that uses exceptions.
33850           Sam Weinig added support for this in an earlier change.
33852         - Check if $ENV{"MACOSX_DEPLOYMENT_TARGET"} is defined before we compare.
33853           This caused a perl warning when generating on other platforms.
33855         - The ObjC generation will not happen on platforms other than Mac OS.
33856           This is determined by the "OS" env variable Xcode sets. This check
33857           is in the DerivedSources.make.
33859         - Added a way to skip generation if the constructor of the specific
33860           generator returns undef. Not used yet.
33862         - Many cleanup tweaks in CodeGeneratorObjC.pm.
33864         - Removed IDL and CSS files from the project's resource copy phase,
33865           these do no need to be in WebCore's resources. 
33867         * DerivedSources.make
33868         * WebCore.xcodeproj/project.pbxproj
33869         * bindings/scripts/CodeGenerator.pm
33870         * bindings/scripts/CodeGeneratorJS.pm
33871         * bindings/scripts/CodeGeneratorObjC.pm
33872         * bindings/scripts/IDLStructure.pm
33873         * css/CSSMediaRule.idl
33874         * css/CSSPrimitiveValue.idl
33875         * css/CSSStyleDeclaration.idl
33876         * css/CSSStyleSheet.idl
33877         * dom/CharacterData.idl
33878         * dom/DOMImplementation.idl
33879         * dom/Document.idl
33880         * dom/Element.idl
33881         * dom/KeyboardEvent.idl
33882         * dom/MouseEvent.idl
33883         * dom/MutationEvent.idl
33884         * dom/NamedNodeMap.idl
33885         * dom/UIEvent.idl
33886         * html/HTMLCanvasElement.idl
33887         * html/HTMLSelectElement.idl
33888         * ksvg2/bindings/idl/svg/SVGLengthList.idl
33889         * ksvg2/bindings/idl/svg/SVGNumberList.idl
33890         * ksvg2/bindings/idl/svg/SVGPointList.idl
33891         * ksvg2/bindings/idl/svg/SVGStringList.idl
33892         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl
33893         * ksvg2/bindings/idl/svg/SVGTransformList.idl
33894         * ksvg2/svg/SVGSVGElement.idl
33895         * page/DOMWindow.idl
33897 2006-09-03  Alexey Proskuryakov  <ap@nypop.com>
33899         Reviewed by Tim H.
33901         http://bugs.webkit.org/show_bug.cgi?id=10693
33902         Convert JavaScript arrays to AppleScript lists
33904         Test: fast/AppleScript/array.html
33906         * bridge/mac/WebCoreFrameBridge.mm:
33907         (aeDescFromJSValue): Added a case for ArrayInstance.
33909 2006-09-03  Alexey Proskuryakov  <ap@nypop.com>
33911         Reviewed by Eric.
33913         http://bugs.webkit.org/show_bug.cgi?id=10697
33914         REGRESSION (r16175): Errors in incremental decoding of UTF-8
33916         Tests:
33917         - http/tests/incremental/slow-utf8-html.pl
33918         - fast/encoding/charset-invalid.html
33920         * loader/Decoder.cpp:
33921         (Decoder::Decoder): Ensure that we have a valid encoding. Get its name via TextEncoding, to match
33922         the logic in setEncodingName().
33923         (Decoder::setEncodingName): Only set m_encodingName if the encoding is valid. Rely on TextEncoding
33924         constructor to lowercase it if necessary.
33925         (Decoder::decode): Use setEncodingName() to apply encoding from BOM. Don't try to ensure the
33926         validity of encoding - it is enforced by class constructor and setEncodingName().
33928 2006-09-02  Sam Weinig  <sam.weinig@gmail.com>
33930         Reviewed by Tim H.
33932         - patch for http://bugs.webkit.org/show_bug.cgi?id=10684
33933           Auto-generate the Objective-C DOM CSS bindings
33935           Auto-generates DOMCSSCharsetRule, DOMCSSFontFaceRule, DOMCSSImportRule,
33936           DOMCSSMediaRule, DOMCSSPageRule, DOMCSSPrimitiveValue, DOMCSSRule,
33937           DOMCSSRuleList, DOMCSSStyleDeclaration, DOMCSSStyleRule, DOMCSSStyleSheet,
33938           DOMCSSUnknownRule, DOMCSSValue, DOMCSSValueList, DOMCounter, and DOMRect.
33940           Splits DOMRGBColor into its own files.
33942         * DerivedSources.make:
33943         * WebCore.xcodeproj/project.pbxproj:
33944         * bindings/objc/DOMCSS.h:
33945         * bindings/objc/DOMCSS.mm:
33946         (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
33947         (+[DOMCSSPrimitiveValue _valueWith:]):
33948         * bindings/objc/DOMCSSInternal.h:
33949         * bindings/objc/DOMExtensions.h:
33950         * bindings/objc/DOMInternal.h:
33951         * bindings/objc/DOMRGBColor.h: Added.
33952         * bindings/objc/DOMRGBColor.mm: Added.
33953         (getWrapperForRGB):
33954         (setWrapperForRGB):
33955         (removeWrapperForRGB):
33956         (-[DOMRGBColor dealloc]):
33957         (-[DOMRGBColor finalize]):
33958         (-[DOMRGBColor red]):
33959         (-[DOMRGBColor green]):
33960         (-[DOMRGBColor blue]):
33961         (-[DOMRGBColor alpha]):
33962         (-[DOMRGBColor color]):
33963         (-[DOMRGBColor _initWithRGB:WebCore::]):
33964         (+[DOMRGBColor _RGBColorWithRGB:WebCore::]):
33965         * bindings/scripts/CodeGeneratorObjC.pm:
33966         * css/CSSCharsetRule.idl: Added.
33967         * css/CSSFontFaceRule.idl: Added.
33968         * css/CSSImportRule.idl: Added.
33969         * css/CSSMediaRule.idl: Added.
33970         * css/CSSPageRule.idl: Added.
33971         * css/CSSRule.idl:
33972         * css/CSSStyleDeclaration.idl:
33973         * css/CSSStyleRule.idl: Added.
33974         * css/CSSStyleSheet.idl: Added.
33975         * css/CSSUnknownRule.idl: Added.
33976         * css/CSSValue.idl:
33977         * css/MediaList.idl:
33978         * css/RGBColor.idl: Added.
33979         * css/Rect.idl:
33980         * css/RectImpl.h:
33982 2006-09-02  Graham Dennis  <graham.dennis@gmail.com>
33984         Reviewed by Justin.
33985         
33986         http://bugs.webkit.org/show_bug.cgi?id=10579
33987         AppleStyleCommand::applyBlockStyle crash
33989         * editing/ApplyStyleCommand.cpp:
33990         (WebCore::ApplyStyleCommand::applyBlockStyle): Prevent a crash by
33991         making sure that the 'beyondEnd' node is after the start node.
33993 2006-09-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
33995         Reviewed by Tim H.
33997         Bug 10454: Unix bakefile fixes
33998         http://bugs.webkit.org/show_bug.cgi?id=10454
34000         * WebCoreSources.bkl:
34001         * platform/gdk/RenderPopupMenuGdk.cpp:
34002         (WebCore::RenderPopupMenuGdk::RenderPopupMenuGdk):
34003         * platform/gdk/RenderPopupMenuGdk.h:
34004         * platform/gdk/RenderThemeGdk.cpp:
34005         (WebCore::RenderThemeGdk::createPopupMenu):
34006         (WebCore::RenderThemeGdk::systemFont):
34007         * platform/gdk/RenderThemeGdk.h:
34008         * platform/gdk/TemporaryLinkStubs.cpp:
34009         * webcore-base.bkl:
34011 2006-09-02  Adele Peterson  <adele@apple.com>
34013         Reviewed by Anders.
34015         - Fix for http://bugs.webkit.org/show_bug.cgi?id=10667
34016           Password: Double-click should select-all to avoid exposing word boundaries
34018         Test: fast/forms/password-doubleclick-selection.html
34020         * editing/visible_units.cpp:
34021         (WebCore::previousBoundary): When searching for boundaries in renderers that use the textSecurity property, 
34022          convert characters in strings to alpha-numeric characters (in this case, all 'x's) so that every character
34023          isn't treated as a punctuation boundary.
34024         (WebCore::nextBoundary): ditto.
34025         * editing/TextIterator.cpp: (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Updated to use the renderer's 
34026           string instead of the node value.  This matches the base class implementation of handleTextNode.
34028         Code cleanup.
34029         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): 
34030           Avoid unnecessary check for password field case if the smart replace condition is false.
34031         * page/Frame.cpp: (WebCore::Frame::mayCopy): Removed duplicate code.  Calls isSelectionInPasswordField now.
34032         * rendering/RenderText.cpp: (WebCore::RenderText::setText): Updated formatting.
34034 2006-09-01  David Hyatt  <hyatt@apple.com>
34036         Fix for 10682, refine the FOUC paint suppression logic so that it
34037         is only triggered when FOUC would really have occurred.
34039         Reviewed by aroben
34041         * css/cssstyleselector.cpp:
34042         (WebCore::CSSStyleSelector::styleForElement):
34043         * dom/Document.cpp:
34044         (WebCore::Document::Document):
34045         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
34046         (WebCore::Document::updateStyleSelector):
34047         * dom/Document.h:
34048         (WebCore::Document::haveStylesheetsLoaded):
34049         (WebCore::Document::):
34050         (WebCore::Document::didLayoutWithPendingStylesheets):
34051         * rendering/RenderBlock.cpp:
34052         (WebCore::RenderBlock::paintChildren):
34053         * rendering/RenderLayer.cpp:
34054         (WebCore::RenderLayer::paintLayer):
34056 2006-09-01  Darin Fisher  <darin@chromium.org>
34058         Reviewed by Darin. Updated/landed by Adam.
34060         Fixes http://bugs.webkit.org/show_bug.cgi?id=10553
34061         Windows build fixes
34063         * WebCore.vcproj/WebCore/WebCore.vcproj:
34064         * WebCore.vcproj/WebCore/build-generated-files.sh:
34065         * bridge/win/FrameWin.h:
34066         * bridge/win/PageWin.cpp:
34067         (WebCore::Page::Page):
34068         * platform/win/FontWin.cpp:
34069         * platform/win/TemporaryLinkStubs.cpp:
34070         (FrameWin::registerCommandForUndo):
34071         (FrameWin::canPaste):
34072         (FrameWin::issuePasteAndMatchStyleCommand):
34073         (WebCore::screenDepthPerComponent):
34074         (WebCore::screenIsMonochrome):
34075         (FrameWin::overrideMediaType):
34076         (FrameWin::saveDocumentState):
34077         (FrameWin::respondToChangedContents):
34078         (FrameWin::handledOnloadEvents):
34079         (FrameWin::createPlugin):
34080         (FrameWin::objectContentType):
34081         (Path::contains):
34082         (TextField::TextField):
34083         (RenderPopupMenuWin::hidePopup):
34084         (RenderThemeWin::paintMenuList):
34085         (RenderThemeWin::adjustMenuListStyle):
34086         (CString::CString):
34087         (CString::data):
34088         * platform/win/WidgetWin.cpp:
34089         * rendering/RenderPopupMenuWin.h:
34091 2006-09-01  Brady Eidson  <beidson@apple.com>
34093         Reviewed by Tim Omernick
34095         Added an SQLDatabase logging channel.  Changed all SQLDatabase and SQLStatement errors to use this new channel.
34096         Also, as a popular request from other contributers, added a log for all prepare(), step(), finalize(), and reset()s
34097         Also, fixed a grammar error in my previous ChangeLog entry.
34099         * bridge/mac/WebCorePageBridge.mm:
34100         (initializeLoggingChannelsIfNecessary): Initialize the new channel
34101         * loader/icon/SQLDatabase.cpp:
34102         (WebCore::SQLDatabase::setBusyTimeout): Use SQLDatabase logging channel
34103         (WebCore::SQLDatabase::setBusyHandler): ditto
34104         (WebCore::SQLDatabase::clearAllTables): ditto
34105         (WebCore::SQLDatabase::runVacuumCommand): ditto
34106         * loader/icon/SQLStatement.cpp:
34107         (WebCore::SQLStatement::prepare): Added a log
34108         (WebCore::SQLStatement::step): ditto
34109         (WebCore::SQLStatement::finalize): ditto
34110         (WebCore::SQLStatement::reset): ditto
34111         (WebCore::SQLStatement::getColumnBlob): Use SQLDatabase logging channel
34112         (WebCore::SQLStatement::returnTextResults): ditto
34113         (WebCore::SQLStatement::returnTextResults16): ditto
34114         (WebCore::SQLStatement::returnIntResults): ditto
34115         (WebCore::SQLStatement::returnInt64Results): ditto
34116         (WebCore::SQLStatement::returnDoubleResults): ditto
34117         * platform/Logging.cpp:
34118         (WebCore::): Added new logging channel
34119         * platform/Logging.h: ditto
34121 2006-09-01  Adele Peterson  <adele@apple.com>
34123         Reviewed by Tim Omernick.
34125         - Fix for http://bugs.webkit.org/show_bug.cgi?id=6990
34126         Switch to use new text field implementation for <input type="password">
34128         * css/html4.css: Give input[password] the same style properties as normal text fields.
34129         * html/HTMLInputElement.cpp: Removed checks for TextFieldAppearance.
34130         (WebCore::HTMLInputElement::selectionStart):
34131         (WebCore::HTMLInputElement::selectionEnd):
34132         (WebCore::HTMLInputElement::setSelectionStart):
34133         (WebCore::HTMLInputElement::setSelectionEnd):
34134         (WebCore::HTMLInputElement::select):
34135         (WebCore::HTMLInputElement::setSelectionRange):
34136         (WebCore::HTMLInputElement::createRenderer):
34137         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField):
34139 2006-09-01  Brady Eidson  <beidson@apple.com>
34141         Reviewed by John (though Sarge reviewed a previous patch of mine in an attempt to review this one)
34143         Added some constants for SQL Result Codes to SQLDatabase.h
34144         This way, users of SQLDatabase can access all necessary SQLite functionality
34145         without having access to sqlite3.h.
34146         Also reordered some files in the xcodeproj and some #includes
34148         * WebCore.xcodeproj/project.pbxproj:  Reordered some files 
34149         * loader/icon/IconDataCache.cpp:
34150         (WebCore::IconDataCache::writeToDatabase): Use our new result codes
34151         * loader/icon/IconDatabase.cpp:
34152         (WebCore::IconDatabase::sharedIconDatabase): Use our new result codes
34153         (WebCore::IconDatabase::retainIconForPageURL): Use our new result codes
34154         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Use our new result codes
34155         (WebCore::IconDatabase::addIconForIconURLQuery): Use our new result codes
34156         (WebCore::IconDatabase::hasIconForIconURLQuery): Use our new result codes
34157         * loader/icon/SQLDatabase.cpp:
34158         (WebCore::SQLDatabase::lastError): Moved from header to eliminate dependency on sqlite3.h in header
34159         (WebCore::SQLDatabase::lastErrorMsg): Ditto
34160         * loader/icon/SQLDatabase.h: Removed #include <sqlite3.h>
34161         * loader/icon/SQLStatement.cpp: Added #include <sqlite3.h>
34162         * loader/icon/SQLStatement.h: Removed #include <sqlite3.h>
34164 2006-09-01  David Hyatt  <hyatt@apple.com>
34166         Fix for 10680, contrained flexbox is not shrinking flexible children
34167         properly.  (Fixing in case it's hit by the file upload control.)
34169         Reviewed by aroben
34171         Adding 026.html to fast/flexbox.
34173         * rendering/RenderFlexibleBox.cpp:
34174         (WebCore::RenderFlexibleBox::allowedChildFlex):
34176 2006-09-01  Nikolas Zimmermann  <zimmermann@kde.org>
34178         Reviewed by eseidel.  Landed by eseidel.
34180         Implement support for multiple parents in the SVG idls.
34182         For class "FooBar" go through all parents recursively,
34183         collect their attributes & functions & constants and
34184         add them directly into the class "FooBar".
34186         (Note: It is NOT enabled by default for now - still some things related to SVGAnimated* need to be solved first)
34188         * bindings/scripts/CodeGenerator.pm:
34189         * bindings/scripts/CodeGeneratorJS.pm:
34190         * bindings/scripts/generate-bindings.pl:
34192 2006-09-02  Nikolas Zimmermann  <zimmermann@kde.org>
34194         Reviewed by hyatt.  Landed by eseidel.
34196         Fix build on Linux.
34198         * CMakeLists.txt: Add platform/CString.cpp.
34199         * platform/qt/FrameQt.cpp: Correct repsondToChangedContents() signature
34200         * platform/qt/FrameQt.h:: Correct respondToChangedContents() signature
34202 2006-09-01  Darin Adler  <darin@apple.com>
34204         Reviewed by Brady.
34206         - a few small tweaks to the icon database bridge
34208         * bridge/mac/WebCoreIconDatabaseBridge.h: Removed unnecessary declarations.
34209         Renamed sharedBridgeInstance to sharedInstance.
34210         * bridge/mac/WebCoreIconDatabaseBridge.mm: Put functions inside WebCore namespace.
34211         (WebCore::IconDatabase::loadIconFromURL): Updated for sharedInstance namespace.
34213 2006-09-01  Timothy Hatcher  <timothy@apple.com>
34215         Reviewed by Darin.
34217         <rdar://problem/4651318> REGRESSION: can't drag library items to widget in Dashcode
34218         <rdar://problem/4701626> REGRESSION: Unit Converter widget doesn't work convert data in its fields
34220         jsNull should not be returned as NSNull because existing applications do not
34221         expect that return value. Return as nil for backwards compatibility.
34223         * bindings/objc/WebScriptObject.mm:
34224         (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
34226 2006-09-01  Alexey Proskuryakov  <ap@nypop.com>
34228         Release build fix.
34230         * loader/Decoder.cpp:
34231         (Decoder::Decoder): Use String::latin1().
34233 2006-09-01  Alexey Proskuryakov  <ap@nypop.com>
34235         Reviewed by Eric.
34237         - http://bugs.webkit.org/show_bug.cgi?id=5620
34238         Should only honor encoding from <meta> in HTML
34240         - http://bugs.webkit.org/show_bug.cgi?id=9783
34241         An XML declaration without an explicit encoding incorrectly triggers
34242         UTF-8 encoding in an HTML document
34244         - http://bugs.webkit.org/show_bug.cgi?id=10155
34245         CSS2: @charset is not supported
34246         
34247         * loader/Decoder.cpp:
34248         (Decoder::Decoder): Decoder now knows what kind of content it is decoding.
34249         Also, the browser default encoding can now be passed directly to the constructor,
34250         to streamline the logic.
34251         (Decoder::decode): Add support for @charset, differentiate between HTML and XML.
34252         (Decoder::setEncodingName): Style cleanup.
34253         (Decoder::encodingName): Ditto.
34254         (Decoder::flush): Ditto.
34255         * loader/Decoder.h:
34256         (WebCore::Decoder::):
34258         * bridge/mac/WebCoreEncodings.mm: Pass a content type of text/html to Decoder.
34260         * loader/CachedCSSStyleSheet.cpp:
34261         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
34262         (WebCore::CachedCSSStyleSheet::setCharset):
34263         (WebCore::CachedCSSStyleSheet::data):
34264         * loader/CachedCSSStyleSheet.h:
34265         Use Decoder instead of TextEncoding::toUnicode() to enable @charset support.
34267         * loader/CachedXBLDocument.cpp:
34268         (WebCore::CachedXBLDocument::CachedXBLDocument): Pass a content type.
34269         * loader/CachedXSLStyleSheet.cpp:
34270         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): Ditto.
34271         (WebCore::CachedXSLStyleSheet::data): Flush the decoder to be safe.
34273         * page/Frame.cpp:
34274         (WebCore::Frame::write): Pass a content type and a default encoding to 
34275         the Decoder.
34276         * xml/XSLTProcessor.cpp:
34277         (WebCore::XSLTProcessor::createDocumentFromSource): Pass the output document
34278         MIME type.
34279         * xml/xmlhttprequest.cpp:
34280         (WebCore::XMLHttpRequest::receivedData): Ditto.
34282 2006-09-01  Adele Peterson  <adele@apple.com>
34284         Reviewed by John.
34286         - Fix for http://bugs.webkit.org/show_bug.cgi?id=10580
34287           Password: New secure text field allows non-Roman text entry
34289         * bridge/mac/FrameMac.mm:
34290         (WebCore::FrameMac::setSecureKeyboardEntry): Enable and disable Roman keyboards when switching in and out of this mode.
34291         (WebCore::FrameMac::isSecureKeyboardEntry): Changed secureKeyboardEntry to isSecureKeyboardEntry.
34292         * bridge/mac/FrameMac.h: ditto.
34293         * page/Frame.cpp: (WebCore::Frame::setIsActive): ditto.
34294         * page/Frame.h: (WebCore::Frame::isSecureKeyboardEntry): ditto.
34296 2006-09-01  Adele Peterson  <adele@apple.com>
34298         Reviewed by John.
34300         - Fix for http://bugs.webkit.org/show_bug.cgi?id=10665
34301           Password: Disable smartReplace for new password fields
34303         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
34304           Don't smart replace when the selection being replaced is in a password field.
34306 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
34308         Reviewed by Tim H.
34310         - patch for http://bugs.webkit.org/show_bug.cgi?id=10669
34311           Auto-generate the remaining Objective-C HTML DOM bindings
34312           
34313           Auto-generates DOMHTMLAnchorElement, DOMHTMLAreaElement,
34314           DOMHTMLBaseFontElement, DOMHTMLFontElement, DOMHTMLFrameElement,
34315           DOMHTMLFrameSetElement, DOMHTMLHRElement, DOMHTMLIFrameElement,
34316           DOMHTMLImageElement, DOMHTMLMapElement, DOMHTMLModElement,
34317           DOMHTMLObjectElement, DOMHTMLParamElement, DOMHTMLScriptElement,
34318           DOMHTMLTableCaptionElement, DOMHTMLTableCellElement,
34319           DOMHTMLTableColElement, DOMHTMLTableElement, DOMHTMLTableRowElement,
34320           and DOMHTMLTableSectionElement.  
34322           Splits DOMHTMLAppletElement and DOMHTMLOptionElement into their own 
34323           files.
34325         * DerivedSources.make:
34326         * WebCore.xcodeproj/project.pbxproj:
34327         * bindings/objc/DOM.mm:
34328         * bindings/objc/DOMExtensions.h:
34329         * bindings/objc/DOMHTML.h:
34330         * bindings/objc/DOMHTML.mm:
34331         (-[DOMHTMLAnchorElement absoluteLinkURL]):
34332         (-[DOMHTMLImageElement altDisplayString]):
34333         (-[DOMHTMLImageElement absoluteImageURL]):
34334         (-[DOMHTMLImageElement WebCore::]):
34335         (-[DOMHTMLObjectElement absoluteImageURL]):
34336         (-[DOMHTMLObjectElement WebCore::]):
34337         (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
34338         (-[DOMHTMLTableCaptionElement _tableCaptionElement]):
34339         (+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
34340         (-[DOMHTMLTableSectionElement _tableSectionElement]):
34341         (+[DOMHTMLTableElement _tableElementWith:]):
34342         (-[DOMHTMLTableElement _tableElement]):
34343         (+[DOMHTMLTableCellElement _tableCellElementWith:]):
34344         (-[DOMHTMLTableCellElement _tableCellElement]):
34345         * bindings/objc/DOMHTMLAppletElement.h: Added.
34346         * bindings/objc/DOMHTMLAppletElement.mm: Added.
34347         (-[DOMHTMLAppletElement WebCore::]):
34348         (-[DOMHTMLAppletElement align]):
34349         (-[DOMHTMLAppletElement setAlign:]):
34350         (-[DOMHTMLAppletElement alt]):
34351         (-[DOMHTMLAppletElement setAlt:]):
34352         (-[DOMHTMLAppletElement archive]):
34353         (-[DOMHTMLAppletElement setArchive:]):
34354         (-[DOMHTMLAppletElement code]):
34355         (-[DOMHTMLAppletElement setCode:]):
34356         (-[DOMHTMLAppletElement codeBase]):
34357         (-[DOMHTMLAppletElement setCodeBase:]):
34358         (-[DOMHTMLAppletElement height]):
34359         (-[DOMHTMLAppletElement setHeight:]):
34360         (-[DOMHTMLAppletElement hspace]):
34361         (-[DOMHTMLAppletElement setHspace:]):
34362         (-[DOMHTMLAppletElement name]):
34363         (-[DOMHTMLAppletElement setName:]):
34364         (-[DOMHTMLAppletElement object]):
34365         (-[DOMHTMLAppletElement setObject:]):
34366         (-[DOMHTMLAppletElement vspace]):
34367         (-[DOMHTMLAppletElement setVspace:]):
34368         (-[DOMHTMLAppletElement width]):
34369         (-[DOMHTMLAppletElement setWidth:]):
34370         * bindings/objc/DOMHTMLInternal.h:
34371         * bindings/objc/DOMHTMLOptionElement.h: Added.
34372         * bindings/objc/DOMHTMLOptionElement.mm: Added.
34373         (-[DOMHTMLOptionElement WebCore::]):
34374         (-[DOMHTMLOptionElement form]):
34375         (-[DOMHTMLOptionElement defaultSelected]):
34376         (-[DOMHTMLOptionElement setDefaultSelected:]):
34377         (-[DOMHTMLOptionElement text]):
34378         (-[DOMHTMLOptionElement index]):
34379         (-[DOMHTMLOptionElement disabled]):
34380         (-[DOMHTMLOptionElement setDisabled:]):
34381         (-[DOMHTMLOptionElement label]):
34382         (-[DOMHTMLOptionElement setLabel:]):
34383         (-[DOMHTMLOptionElement selected]):
34384         (-[DOMHTMLOptionElement setSelected:]):
34385         (-[DOMHTMLOptionElement value]):
34386         (-[DOMHTMLOptionElement setValue:]):
34387         * bindings/objc/DOMPrivate.h:
34388         * bindings/scripts/CodeGeneratorObjC.pm:
34390 2006-08-31  Alice Liu  <alice.liu@apple.com>
34392         Reviewed by Darin.
34394         Fixed <rdar://problem/4463870> Switch to use new text field implementation for <isindex>
34396         * bindings/objc/DOMHTML.mm:
34397         (-[DOMHTMLInputElement _isTextField]):
34398         moved isindex from the list of nonTextInputTypes to the list of textInputTypes
34399         * css/html4.css:
34400         added isindex to certain rules that applied to input fields
34401         * html/HTMLInputElement.cpp:
34402         (WebCore::HTMLInputElement::canHaveSelection):
34403         (WebCore::HTMLInputElement::selectionStart):
34404         (WebCore::HTMLInputElement::selectionEnd):
34405         (WebCore::HTMLInputElement::setSelectionStart):
34406         (WebCore::HTMLInputElement::setSelectionEnd):
34407         (WebCore::HTMLInputElement::select):
34408         (WebCore::HTMLInputElement::setSelectionRange):
34409         (WebCore::HTMLInputElement::createRenderer):
34410         for the 8 methods above, moved the case for isindex to the same case as text
34411         * html/HTMLInputElement.h:
34412         (WebCore::HTMLInputElement::isNonWidgetTextField):
34413         added isindex to this test
34414         * html/HTMLIsIndexElement.idl:
34415         HTMLIsIndexElement inherits from HTMLInputElement
34416         * rendering/RenderLineEdit.cpp:
34417         (WebCore::RenderLineEdit::RenderLineEdit):
34418         removed the case for isindex since we changed the renderer type from a RenderLineEdit
34419         to a RenderTextControl in WebCore::HTMLInputElement::createRenderer()
34421 2006-08-31  David Harrison  <harrison@apple.com>
34423         Reviewed by Adele.
34425         <rdar://problem/4708119> REGRESSION: Cannot observe an AXTextField element directly
34427         ... and most of
34428         <rdar://problem/4708022> REGRESSION: TextRange-based attributes are missing from text fields
34429         <rdar://problem/4709515> REGRESSION: Expose text areas
34431         Remaining work for those two bugs in new bugs:
34433         <rdar://problem/4712101> Support NSAccessibilityVisibleCharacterRangeAttribute for AXTextField and AXTextArea elements
34434         <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
34435         <rdar://problem/4712125> Support setting NSAccessibilitySelectedTextAttribute for AXTextField and AXTextArea elements
34437         * bridge/AXObjectCache.h:
34438         (WebCore::AXObjectCache::postNotificationToElement):
34439         * bridge/mac/AXObjectCacheMac.mm:
34440         (WebCore::AXObjectCache::postNotification):
34441         (WebCore::AXObjectCache::postNotificationToElement):
34442         Removed postNotificationToTopWebArea.
34443         postNotification now posts to input element or top web area, as appropriate.
34444         postNotificationToElement posts to the specified element itself.
34445         
34446         * bridge/mac/FrameMac.h:
34447         * bridge/mac/FrameMac.mm:
34448         (WebCore::FrameMac::respondToChangedContents):
34449         Take a selection.  Pass the starting position's renderer to postNotification so that postNotification can post to the appropriate input element, if any.
34450         
34451         * bridge/mac/WebCoreAXObject.h:
34452         * bridge/mac/WebCoreAXObject.mm:
34453         (-[WebCoreAXObject isWebArea]):
34454         (-[WebCoreAXObject isAnchor]):
34455         (-[WebCoreAXObject isTextRange]):
34456         New convenience methods.
34457         
34458         (-[WebCoreAXObject role]):
34459         (-[WebCoreAXObject roleDescription])        
34460         (-[WebCoreAXObject value]):
34461         (-[WebCoreAXObject accessibilityDescription]):
34462         Support AXTextField and AXTextArea.
34464         (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
34465         Register AXTextField and AXTextArea elements so notifications to them can be observed.
34466         
34467         (-[WebCoreAXObject accessibilityIsIgnored]):
34468         Use new convenience method isWebArea.
34470         (-[WebCoreAXObject accessibilityAttributeNames]):
34471         Simplify the array creation.
34472         Add text range support.
34473        
34474         (-[WebCoreAXObject accessibilityAttributeValue:]):
34475         Add text range support.
34476        
34477         (-[WebCoreAXObject canSetFocusAttribute]):
34478         (-[WebCoreAXObject canSetValueAttribute]):
34479         (-[WebCoreAXObject canSetTextRangeAttributes]):
34480         New convenience methods.
34481         
34482         (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
34483         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
34484         Add text range support.
34486         (-[WebCoreAXObject observableObject]):
34487         New to locate text field or text area to notify.
34488         
34489         * dom/Document.cpp:
34490         (WebCore::Document::updateSelection):
34491         Post AXSelectedTextChanged notification with new selection's start node.
34492         postNotification will send it to the input element, if there is one, or the top WebArea.
34493         
34494         (WebCore::Document::implicitClose):
34495         Use postNotificationToElement now that it acts like the old postNotification.
34496         
34497         * page/Frame.h:
34498         * page/Frame.cpp:
34499         (WebCore::Frame::appliedEditing):
34500         (WebCore::Frame::unappliedEditing):
34501         (WebCore::Frame::reappliedEditing):
34502         Pass the selection of interest to respondToChangedContents.
34503         
34504         * page/FrameView.cpp:
34505         (WebCore::FrameView::layout):
34506         Use postNotificationToElement now that it acts like the old postNotification.
34508 2006-08-31  Adele Peterson  <adele@apple.com>
34510         Reviewed by Darin.
34512         WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10666
34513         Password: Disallow Spelling, Font, Speech, and Writing Direction context menu
34515         * bridge/mac/WebCoreFrameBridge.h:
34516         * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge isSelectionInPasswordField]): Added.
34517         * page/Frame.cpp: (WebCore::Frame::isSelectionInPasswordField): Added.
34518         * page/Frame.h:
34520 2006-08-31  Anders Carlsson  <acarlsson@apple.com>
34522         Reviewed by Tim O, Hyatt.
34524         * WebCore.xcodeproj/project.pbxproj:
34525         Add KURLCFNet.cpp
34526         
34527         * platform/KURL.h:
34528         Get rid of include, add KURL constructor that takes a CFURLRef.
34529         
34530         * platform/PlatformString.h:
34531         * platform/StringImpl.h:
34532         Get rid of include.
34533         
34534         * platform/cf/KURLCFNet.cpp:
34535         (WebCore::KURL::KURL):
34536         Add constructor.
34537         
34538         * platform/cf/ResourceLoaderCFNet.cpp:
34539         Fix includes.
34540         
34541         * platform/cf/StringCF.cpp:
34542         (WebCore::String::createCFString):
34543         Move this here from PlatformString.h
34544         
34545         * platform/cf/StringImplCF.cpp:
34546         (WebCore::StringImpl::createCFString):
34547         Fix cast.
34548         
34549         * platform/mac/KURLMac.mm:
34550         Move createCFURL() to KURLCFNet.cpp
34552 2006-08-31 Dave Hyatt <hyatt@apple.com>
34554         Make ScrollBar.cpp suitable for compiling on Windows by removing the #import.
34556         Reviewed by adam
34558         * platform/ScrollBar.cpp:
34560 2006-08-31  Brady Eidson  <beidson@apple.com>
34562         Reviewed by John
34564         Cleaned up my last patch after further considerations
34566         * loader/icon/IconDatabase.cpp:
34567         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Uses the new checkForDanglingPageURLs to check
34568           for and fix danglers.  Does so in all builds (changed from debug only in my last patch)
34569         (WebCore::IconDatabase::syncDatabase): Uses the new checkForDanglingPageURLs to check for danglers
34570         (WebCore::IconDatabase::checkForDanglingPageURLs): This checks and, if asked via an arg, prunes the dangling pageURLs
34571         * loader/icon/IconDatabase.h:
34573 2006-08-31  Anders Carlsson  <acarlsson@apple.com>
34575         Reviewed by Maciej.
34577         Add CString. CString is a simple, null-terminated byte buffer that supports data
34578         sharing. Its main use is to be a better const char*.
34579         
34580         Also add latin1 and utf8 methods to String which returns CStrings.
34581         
34582         * platform/CString.cpp: Added.
34583         (WebCore::CString::CString):
34584         (WebCore::CString::init):
34585         (WebCore::CString::data):
34586         (WebCore::CString::length):
34587         (WebCore::CString::deprecatedCString):
34588         * platform/CString.h: Added.
34589         (WebCore::CStringBuffer::CStringBuffer):
34590         (WebCore::CStringBuffer::data):
34591         (WebCore::CStringBuffer::length):
34592         (WebCore::CString::CString):
34593         (WebCore::CString::operator const char*):
34594         (WebCore::CString::isNull):
34595         * platform/PlatformString.h:
34596         * platform/String.cpp:
34597         (WebCore::String::latin1):
34598         (WebCore::String::utf8):
34600 2006-08-31  Brady Eidson  <beidson@apple.com>
34602         Reviewed by Hyatt
34604         Previously mentioned ASSERT was hit right away by folks, as we first need to bring their old icon.db into consistency
34605         Changed the ASSERT to a LOG_ERROR and added a method for debug builds to bring a DB back together.
34607         * loader/icon/IconDatabase.cpp:
34608         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Check for the danglers and prune them out
34609         (WebCore::IconDatabase::syncDatabase): Check for the danglers and log the error
34610         (WebCore::IconDatabase::pruneDanglingPageURLs): Prune the danglers
34611         * loader/icon/IconDatabase.h:
34613 2006-08-31  Brady Eidson  <beidson@apple.com>
34615         Reviewed by Hyatt
34617         Fixed an error where an Icon's IconID could change without the change being reflected in the PageURL table,
34618         causing icons to be pruned before their time and pages to lose their icons.  This is because I misunderstood
34619         how SQLite handles the "ON CONFLICT REPLACE" condition, which is to delete the row and re-insert instead of 
34620         perform an update.  Also added an assertion to make sure this doesn't happen again.
34622         * loader/icon/IconDataCache.cpp:
34623         (WebCore::IconDataCache::writeToDatabase): Instead of one INSERT relying on SQLites conflict handling, broke
34624           this into an UPDATE attempt followed by the initial INSERT
34625         * loader/icon/IconDatabase.cpp:
34626         (WebCore::IconDatabase::createDatabaseTables): Slight tweak to the database schema to prevent this from happening
34627           in the future.  Note this change will not cause incompatibility with the current schema, therefore I didn't update
34628           the official database version number
34629         (WebCore::IconDatabase::syncDatabase): Added an ASSERT to look for this condition in the future
34630         * loader/icon/SQLDatabase.cpp:
34631         (WebCore::SQLDatabase::lastChanges): Added this SQLite accessor to see if an UPDATE command actually changed a row
34632         * loader/icon/SQLDatabase.h: Ditto
34634 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
34636         Reviewed by Tim H.
34638         - patch for http://bugs.webkit.org/show_bug.cgi?id=10653
34639           Auto-generate another 20 Objective-C DOM HTML bindings
34641           Auto-generates DOMHTMLBRElement, DOMHTMLButtonElement, DOMHTMLDListElement, 
34642           DOMHTMLDirectoryElement, DOMHTMLDivElement, DOMHTMLFieldSetElement, 
34643           DOMHTMLHeadingElement, DOMHTMLInputElement, DOMHTMLLIElement, DOMHTMLLabelElement,
34644           DOMHTMLLegendElement, DOMHTMLMenuElement, DOMHTMLOListElement, DOMHTMLOptGroupElement,
34645           DOMHTMLParagraphElement, DOMHTMLPreElement, DOMHTMLQuoteElement, DOMHTMLSelectElement,
34646           DOMHTMLTextAreaElement, and DOMHTMLUListElement.
34648         * DerivedSources.make:
34649         * WebCore.xcodeproj/project.pbxproj:
34650         * bindings/objc/DOM.mm:
34651         * bindings/objc/DOMExtensions.h:
34652         * bindings/objc/DOMHTML.h:
34653         * bindings/objc/DOMHTML.mm:
34654         (-[DOMHTMLInputElement altDisplayString]):
34655         (-[DOMHTMLInputElement absoluteImageURL]):
34656         (-[DOMHTMLInputElement WebCore::]):
34657         (-[DOMHTMLInputElement _rectOnScreen]):
34658         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
34659         (-[DOMHTMLInputElement _selectedRange]):
34660         (-[DOMHTMLInputElement _setAutofilled:]):
34661         * bindings/objc/DOMHTMLInternal.h:
34662         * bindings/objc/DOMPrivate.h:
34663         * bindings/scripts/CodeGeneratorObjC.pm:
34665 2006-08-31  Adele Peterson  <adele@apple.com>
34667         Reviewed by John Sullivan.
34669         Removing use of SPI in favor of Carbon API to enable and disable secure event input.
34671         * WebCore.exp: Removed wkSecureEventInput and wkSetSecureEventInput.
34672         * platform/mac/WebCoreSystemInterface.h: ditto.
34673         * platform/mac/WebCoreSystemInterface.mm: ditto.
34675         * bridge/mac/FrameMac.mm:
34676         (WebCore::FrameMac::setSecureKeyboardEntry): Uses EnableSecureEventInput and DisableSecureEventInput.
34677         (WebCore::FrameMac::secureKeyboardEntry): Uses IsSecureEventInputEnabled.
34679 2006-08-30  Brady Eidson  <beidson@apple.com>
34681         Reviewed by "common sense" (and Maciej)
34683         Fixed two logging typos
34685         * loader/icon/IconDatabase.cpp:
34686         (WebCore::IconDatabase::syncDatabase):
34688 2006-08-30  Adele Peterson  <adele@apple.com>
34690         Adding missing nil check for focus node.
34692         * page/Frame.cpp: (WebCore::Frame::setIsActive):
34694 2006-08-30  Adele Peterson  <adele@apple.com>
34696         Reviewed by Hyatt.
34698         WebCore part of fix for  http://bugs.webkit.org/show_bug.cgi?id=10575
34699         Enable secure input mode for new password fields
34701         * WebCore.exp: Added wkSetSecureEventInput and wkSecureEventInput.
34702         * platform/mac/WebCoreSystemInterface.h: ditto.
34703         * platform/mac/WebCoreSystemInterface.mm: ditto.
34705         * page/Frame.cpp: (WebCore::Frame::setIsActive): Enables and disables secure keyboard entry based on whether the frame becomes active.
34706         * bridge/mac/FrameMac.h:
34707         * bridge/mac/FrameMac.mm:
34708         (WebCore::FrameMac::setSecureKeyboardEntry): Added. Calls wkSetSecureEventInput.
34709         (WebCore::FrameMac::secureKeyboardEntry): Added. Calls wkSecureEventInput.
34710         * html/HTMLInputElement.cpp:
34711         (WebCore::HTMLInputElement::dispatchFocusEvent): For password fields, enable secure keyboard entry.
34712         (WebCore::HTMLInputElement::dispatchBlurEvent): For password fields, disable secure keyboard entry.
34713         * page/Frame.h:
34714         (WebCore::Frame::setSecureKeyboardEntry):
34715         (WebCore::Frame::secureKeyboardEntry):
34717 2006-08-30  Darin Adler  <darin@apple.com>
34719         Reviewed by Tim Hatcher.
34721         - eliminated the need for UsesPassRefPtr in IDL files
34722         - got rid of the category mechanism for ObjC generated DOM headers
34723           (after discussions with Tim H where we decided it's not needed)
34724         - simplified use of macro inside ObjC generated code
34726         * ForwardingHeaders/wtf/GetPtr.h: Added.
34728         * bindings/scripts/CodeGeneratorObjC.pm: Removed code to handle
34729         categories. Eliminated use of DOM_cast since that's for the protection
34730         of human programmers -- the script won't make mistakes that it needs
34731         to catch. Changed macro to always be named IMPL instead of incorporating
34732         the class name. Use WTF::getPtr to extract the pointer, and removed the
34733         code that uses .get() to extract the pointer in the PassRefPtr case.
34735         * dom/Attr.idl: Removed all uses of UsesPassRefPtr and ObjCCatagory.
34736         * dom/DOMImplementation.idl: Ditto.
34737         * dom/Document.idl: Ditto.
34738         * dom/Element.idl: Ditto.
34739         * dom/NamedNodeMap.idl: Ditto.
34740         * html/HTMLDocument.idl: Ditto.
34741         * html/HTMLElement.idl: Ditto.
34742         * html/HTMLFormElement.idl: Ditto.
34743         * html/HTMLMapElement.idl: Ditto.
34744         * html/HTMLSelectElement.idl: Ditto.
34745         * html/HTMLTableElement.idl: Ditto.
34746         * html/HTMLTableRowElement.idl: Ditto.
34747         * html/HTMLTableSectionElement.idl: Ditto.
34749 2006-08-30  Brady Eidson  <beidson@apple.com>
34751         Reviewed by John
34753         <rdar://problem/4707718> - Instead of faking the user out with an in-memory icon database if their 
34754         ~/Library/Safari/Icons is unwritable, we'll actually fail to open the icon database and the app will
34755         run as if it was disabled via a preference.
34756         Also took the opportunity to change some ASSERTS() to reasonable behavior
34758         * bridge/mac/WebCoreIconDatabaseBridge.mm:
34759         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]): NSLog on failure so the user has a chance to figure 
34760           out there's a problem.
34761         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
34762         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]): From here on, just replaced ASSERTS() with reasonable behavior
34763         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
34764         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
34765         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
34766         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
34767         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
34768         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
34769         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
34770         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
34771         * loader/icon/IconDatabase.cpp:
34772         (WebCore::IconDatabase::open): If we fail to open, return false 
34773         (WebCore::IconDatabase::~IconDatabase): cleanup better
34774         * loader/icon/IconDatabase.h:
34776 2006-08-30  David Harrison  <harrison@apple.com>
34778         Reviewed by John Sullivan.
34780         <rdar://problem/4708007> REGRESSION: text field inside a webpage no longer has settable AXValueAttribute
34781         <rdar://problem/4707479> REGRESSION: controls inside a webpage no longer have settable AXFocusedAttribute
34783         * bridge/mac/WebCoreAXObject.mm:
34784         (-[WebCoreAXObject canSetFocusAttribute]):
34785         (-[WebCoreAXObject canSetValueAttribute]):
34786         New utility methods.  Text fields and buttons are focusable.
34787         Text fields can have their value set. We need not make
34788         popupbutton value settable because AppKit does not.
34789         
34790         (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
34791         Call new utility methods.
34792         
34793         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
34794         Set focus for text field or button.
34795         Set value for text field.
34796         
34797 2006-08-30  David Hyatt  <hyatt@apple.com>
34799         Fix for bugs 9000 and 10606.  Add code to suppress painting when
34800         a FOUC situation would otherwise occur.  There will still typically be
34801         a flash to white, but at least the wrong content won't show.
34803         Reviewed by darin
34805         * dom/Document.cpp:
34806         (WebCore::Document::Document):
34807         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
34808         (WebCore::Document::preferredStylesheetSet):
34809         (WebCore::Document::selectedStylesheetSet):
34810         (WebCore::Document::setSelectedStylesheetSet):
34811         (WebCore::Document::stylesheetLoaded):
34812         (WebCore::Document::updateStyleSelector):
34813         * dom/Document.h:
34814         (WebCore::Document::haveStylesheetsLoaded):
34815         * rendering/RenderBlock.cpp:
34816         (WebCore::RenderBlock::paintChildren):
34817         * rendering/RenderLayer.cpp:
34818         (WebCore::RenderLayer::paintLayer):
34819         (WebCore::isSubframe):
34820         (WebCore::RenderLayer::hitTest):
34821         * rendering/RenderView.cpp:
34822         (WebCore::RenderView::repaintViewRectangle):
34824 2006-08-31  Nikolas Zimmermann  <zimmermann@kde.org>
34826          Reviewed by Eric. Landed by rwlbuis.
34828          Apply Rob's fixes in RenderPathQt too -> unbreak build.
34830          * kcanvas/RenderPath.h: Some style cleanups.
34831          * kcanvas/device/qt/RenderPathQt.cpp:
34832          (WebCore::RenderPathQt::strokeContains):
34833          * kcanvas/device/qt/RenderPathQt.h:
34835 2006-08-30  Sam Weinig  <sam.weinig@gmail.com>
34836         Reviewed by Tim H.
34838         - patch for http://bugs.webkit.org/show_bug.cgi?id=10640
34839           Auto-generate 10 more Objective-C DOM HTML bindings
34841           Auto-generates DOMHTMLBaseElement, DOMHTMLBodyElement, DOMHTMLHeadElement,
34842           DOMHTMLHtmlElement, DOMHTMLIsIndexElement, DOMHTMLLinkElement,
34843           DOMHTMLMetaElement, DOMHTMLStyleElement and DOMHTMLTitleElement.
34845           Splits DOMHTMLDocument into it's own files.
34847         * DerivedSources.make:
34848         * WebCore.xcodeproj/project.pbxproj:
34849         * bindings/objc/DOM.mm:
34850         * bindings/objc/DOMExtensions.h:
34851         * bindings/objc/DOMHTML.h:
34852         * bindings/objc/DOMHTML.mm:
34853         * bindings/objc/DOMHTMLDocument.h: Added.
34854         * bindings/objc/DOMHTMLDocument.mm: Added.
34855         (-[DOMHTMLDocument WebCore::]):
34856         (-[DOMHTMLDocument title]):
34857         (-[DOMHTMLDocument setTitle:]):
34858         (-[DOMHTMLDocument referrer]):
34859         (-[DOMHTMLDocument domain]):
34860         (-[DOMHTMLDocument URL]):
34861         (-[DOMHTMLDocument body]):
34862         (-[DOMHTMLDocument setBody:]):
34863         (-[DOMHTMLDocument images]):
34864         (-[DOMHTMLDocument applets]):
34865         (-[DOMHTMLDocument links]):
34866         (-[DOMHTMLDocument forms]):
34867         (-[DOMHTMLDocument anchors]):
34868         (-[DOMHTMLDocument cookie]):
34869         (-[DOMHTMLDocument setCookie:]):
34870         (-[DOMHTMLDocument open]):
34871         (-[DOMHTMLDocument close]):
34872         (-[DOMHTMLDocument write:]):
34873         (-[DOMHTMLDocument writeln:]):
34874         (-[DOMHTMLDocument getElementById:]):
34875         (-[DOMHTMLDocument getElementsByName:]):
34876         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
34877         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
34878         * bindings/objc/DOMHTMLInternal.h:
34879         * bindings/scripts/CodeGeneratorObjC.pm:
34880         * html/HTMLDocument.idl:
34882 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
34884         Reviewed by eseidel.
34886         Use QColor <-> Color conversion operator, instead of faking it.
34888         * platform/qt/FontQt.cpp:
34889         (WebCore::Font::drawGlyphs):
34890         * platform/qt/GraphicsContextQt.cpp:
34891         (WebCore::GraphicsContext::fillRect):
34893 2006-08-30  Rob Buis  <buis@kde.org>
34895         Reviewed by Eric.
34897         http://bugs.webkit.org/show_bug.cgi?id=10586
34898         pointer-events has issues when things are not stroked/filled
34900         Add a param to fillContains/strokeContains to indicate
34901         whether we still want hit testing when there is no fill/stroke.
34903         * kcanvas/RenderPath.cpp:
34904         (WebCore::RenderPath::fillContains):
34905         (WebCore::RenderPath::nodeAtPoint):
34906         * kcanvas/RenderPath.h:
34907         * kcanvas/device/quartz/KCanvasItemQuartz.h:
34908         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
34909         (WebCore::KCanvasItemQuartz::strokeContains):
34911 2006-08-29  Justin Garcia  <justin.garcia@apple.com>
34913         Reviewed by harrison
34914         
34915         <rdar://problem/4700297>
34916         REGRESSION: After replacing a misspelled word in a sentence, the selection extends to end of current line
34918         * editing/ReplaceSelectionCommand.cpp:
34919         (WebCore::ReplaceSelectionCommand::doApply): Rebalance whitespace
34920         around insertionPos before insertion because the content might 
34921         cause a collapse, e.g. inserting <div>foo</div> at hello^ world.
34922         * editing/htmlediting.cpp:
34923         (WebCore::rebalanceWhitespaceInTextNode): Rebalance with all nbsps
34924         for simplicity, we can produce sequences of regular spaces and
34925         nbsps on serialization (10636).
34927 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
34929         Reviewed by eseidel.
34931         The old solution was slow & does not work correctly.
34932         Move the QString -> DeprecatedString conversion into
34933         DeprectedString.cpp, to be able to access allocateHandle().
34935         * platform/DeprecatedString.cpp:
34936         (WebCore::DeprecatedString::DeprecatedString):
34937         * platform/qt/StringQt.cpp:
34939 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
34941         Reviewed/landed by Adam.
34943         Implement containsCharacters() / determinePitch() functions.
34945         * platform/qt/FontDataQt.cpp:
34946         (WebCore::FontData::containsCharacters):
34947         (WebCore::FontData::determinePitch):
34949 2006-08-30  Brady Eidson  <beidson@apple.com>
34951         Reviewed by Darin's rubberstamp
34953         We apparently have a fancy delateAllValues() helper for HashMap/Sets - I'll use that instead
34955         * WebCore.xcodeproj/project.pbxproj:
34956         * loader/icon/IconDatabase.cpp:
34957         (WebCore::IconDatabase::removeAllIcons):
34959 2006-08-29  waylonis  <waylonis@google.com>
34961         Reviewed, tweaked by ggaren.
34962         
34963         - Changed to use ExecState on current context rather than global.
34964           Part of the fix for http://bugs.webkit.org/show_bug.cgi?id=10114
34965         * bindings/objc/WebScriptObject.mm:
34966         (+[WebScriptObject throwException:]):
34967         (-[WebScriptObject setException:]):
34969 2006-08-30  Adele Peterson  <adele@apple.com>
34971         Reviewed by Darin.
34973         - WebCore part of fix for:
34974         http://bugs.webkit.org/show_bug.cgi?id=10576
34975         Disallow copy from new password fields
34977         * page/Frame.cpp: (WebCore::Frame::mayCopy): Added. Checks to see if the selection is within a password field.
34978         * page/Frame.h: Added mayCopy.
34980         * bridge/mac/FrameMac.h:
34981         * bridge/mac/FrameMac.mm:
34982         (WebCore::FrameMac::handleMouseMoveEvent): Checks mayCopy before starting a drag.
34983         (WebCore::FrameMac::mayDHTMLCut): Renamed to match the bridge method.  This also checks mayCopy now.
34984         (WebCore::FrameMac::mayDHTMLCopy): ditto.
34985         (WebCore::FrameMac::tryDHTMLCut): ditto.
34986         (WebCore::FrameMac::tryDHTMLCopy): ditto.
34987         (WebCore::FrameMac::mayDHTMLPaste): Renamed to match the bridge function.
34988         (WebCore::FrameMac::tryDHTMLPaste): ditto.
34989         * bridge/mac/WebCoreFrameBridge.h:
34990         * bridge/mac/WebCoreFrameBridge.mm:
34991         (-[WebCoreFrameBridge mayCopy]): Calls the renamed method on frame.
34992         (-[WebCoreFrameBridge mayDHTMLCut]): ditto.
34993         (-[WebCoreFrameBridge mayDHTMLCopy]): ditto.
34994         (-[WebCoreFrameBridge mayDHTMLPaste]): ditto.
34995         (-[WebCoreFrameBridge tryDHTMLCut]): ditto.
34996         (-[WebCoreFrameBridge tryDHTMLCopy]): ditto.
34997         (-[WebCoreFrameBridge tryDHTMLPaste]): ditto.
34999         * css/html4.css: Added !important to the -webkit-text-security property for password fields.
35001 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
35003         Reviewed by Tim H.
35005         Commit KDE related tweaks, to be able to
35006         differentiate between a Qt-only or a KDE build.
35008         * CMakeLists.txt: Move global variables up to trunk/CMakeLists.txt.
35009                           Also rename USE_WEBKIT_SVG_SUPPORT to WEBKIT_USE_SVG_SUPPORT.
35011 2006-08-30  Timothy Hatcher  <timothy@apple.com>
35013         Rubber-stamped by Brady.
35015         Fix for the generated headers to make the build work
35016         during "installhdrs" builds. Also export DOM headers
35017         using the #import <WebCore/DOM*.h> syntax.
35019         * WebCore.xcodeproj/project.pbxproj:
35020         * bindings/scripts/CodeGeneratorObjC.pm:
35022 2006-08-29  Brady Eidson  <beidson@apple.com>
35024         Reviewed by Kevin Decker (Sarge)
35026         <rdar://problem/4678414> - New IconDB needs to delete icons when asked
35027         <rdar://problem/4707718> - If user's Icon directory is unwritable, Safari will crash at startup
35029         * bridge/mac/WebCoreIconDatabaseBridge.h:
35030         * bridge/mac/WebCoreIconDatabaseBridge.mm:
35031         (-[WebCoreIconDatabaseBridge removeAllIcons]):  Added
35032         * loader/icon/IconDatabase.cpp:
35033         (WebCore::IconDatabase::open): If DB file is not writeable, create an in-memory DB for this session
35034         (WebCore::IconDatabase::close): Use new deleteAllPreparedStatements()
35035         (WebCore::IconDatabase::removeAllIcons): Actually implemented
35036         (WebCore::IconDatabase::deleteAllPreparedStatements): Added for convinience/consistency
35037         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Use new SQLDatabase::clearAllTables()
35038         * loader/icon/IconDatabase.h:
35039         * loader/icon/SQLDatabase.cpp:
35040         (WebCore::SQLDatabase::clearAllTables): Moved this from IconDatabase as it actually belongs here
35041         (WebCore::SQLDatabase::vacuum): Added
35042         * loader/icon/SQLDatabase.h:
35043         (WebCore::SQLDatabase::path): changed name from getPath()
35045 2006-08-29  Brady Eidson  <beidson@apple.com>
35047         Reviewed by Alice
35049         Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification
35050         This is a win on the iBench
35052         * bridge/mac/WebCoreIconDatabaseBridge.h:
35053         * bridge/mac/WebCoreIconDatabaseBridge.mm:
35054         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
35055         * loader/icon/IconDatabase.cpp:
35056         (WebCore::IconDatabase::setIconURLForPageURL):
35057         * loader/icon/IconDatabase.h:
35059 2006-08-29  Alice Liu  <alice.liu@apple.com>
35061         Reviewed by Brady.
35063         Fixed <rdar://problem/4702021> REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar
35065         * platform/mac/ScreenMac.mm:
35066         (WebCore::flipScreenRect):
35067         reverted the one line in this method back to what it was before r15765.  This changed caused window.screenY to be incorrect.  
35069 2006-08-29  Darin Adler  <darin@apple.com>
35071         Reviewed by Hyatt.
35073         - fix <rdar://problem/4701494> REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector)
35075         The bug was that we would return "none" for computed style properties when they were
35076         exactly "-1px".
35078         Test: fast/css/computed-style-negative-top.html
35080         * css/CSSComputedStyleDeclaration.cpp:
35081         (WebCore::valueForLength): Moved special case for "undefined length" out of here.
35082         (WebCore::valueForMaxLength): Moved it into here.
35083         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use valueForMaxLength
35084         only for max-height and max-width.
35086 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
35088         Reviewed by eseidel.
35090         Add path-related SVG JavaScript bindings to generation.
35092         * CMakeLists.txt:
35094 2006-08-29  Eric Seidel  <eric@webkit.org>
35096         Reviewed by kevin.
35098         Re-enable path-related SVG JavaScript bindings.
35099         http://bugs.webkit.org/show_bug.cgi?id=10623
35100         Split all SVGPathSeg*.idl files into Abs and Rel pieces.
35101         Move all SVGPath*.idl files into ksvg2/svg
35103         * DerivedSources.make:
35104         * WebCore.xcodeproj/project.pbxproj:
35105         * bindings/scripts/CodeGeneratorJS.pm: Special case Abs and Rel header includes
35106         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Removed.
35107         * ksvg2/bindings/idl/svg/SVGPathElement.idl: Removed.
35108         * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Removed.
35109         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Removed.
35110         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Removed.
35111         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Removed.
35112         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Removed.
35113         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Removed.
35114         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Removed.
35115         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Removed.
35116         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Removed.
35117         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Removed.
35118         * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Removed.
35119         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Removed.
35120         * ksvg2/ksvg.h: move SVGPathSegment enum
35121         * ksvg2/svg/SVGPathElement.cpp: move SVGPathSegment enum
35122         (WebCore::SVGPathElement::toPathData):
35123         * ksvg2/svg/SVGPathSeg.cpp:
35124         (WebCore::SVGPathSeg::SVGPathSeg):
35125         * ksvg2/svg/SVGPathSeg.h:
35126         (WebCore::SVGPathSeg::):
35127         * ksvg2/svg/SVGPathSegArcAbs.idl: Added.
35128         * ksvg2/svg/SVGPathSegArcRel.idl: Added.
35129         * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Added.
35130         * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Added.
35131         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Added.
35132         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Added.
35133         * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Added.
35134         * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Added.
35135         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Added.
35136         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Added.
35137         * ksvg2/svg/SVGPathSegLinetoAbs.idl: Added.
35138         * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Added.
35139         * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Added.
35140         * ksvg2/svg/SVGPathSegLinetoRel.idl: Added.
35141         * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Added.
35142         * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Added.
35143         * ksvg2/svg/SVGPathSegMovetoAbs.idl: Added.
35144         * ksvg2/svg/SVGPathSegMovetoRel.idl: Added.
35146 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
35148         Reviewed by Eric, landed by Anders.
35150         Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
35152         Finish Unity merging. Remove libcurl usage, in favour of KIO.
35153         This makes the regression testing fly! IO processing is way faster now.
35155         * CMakeLists.txt:
35156         * platform/ResourceLoaderInternal.h:
35157         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
35158         * platform/qt/FrameQt.cpp:
35159         (WebCore::FrameQt::openURL):
35160         (WebCore::FrameQt::submitForm):
35161         (WebCore::FrameQt::urlSelected):
35162         (WebCore::FrameQt::createEmptyDocument):
35163         (WebCore::FrameQt::receivedData):
35164         (WebCore::FrameQt::receivedAllData):
35165         * platform/qt/FrameQt.h:
35166         * platform/qt/ResourceLoaderCurl.cpp: Removed.
35167         * platform/qt/ResourceLoaderManager.cpp:
35168         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
35169         (WebCore::ResourceLoaderManager::~ResourceLoaderManager):
35170         (WebCore::ResourceLoaderManager::self):
35171         (WebCore::ResourceLoaderManager::slotData):
35172         (WebCore::ResourceLoaderManager::slotMimetype):
35173         (WebCore::ResourceLoaderManager::slotResult):
35174         (WebCore::ResourceLoaderManager::remove):
35175         (WebCore::ResourceLoaderManager::add):
35176         * platform/qt/ResourceLoaderManager.h:
35177         * platform/qt/ResourceLoaderQt.cpp: Added.
35178         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
35179         (WebCore::ResourceLoader::~ResourceLoader):
35180         (WebCore::ResourceLoader::start):
35181         (WebCore::ResourceLoader::cancel):
35182         (WebCore::ResourceLoader::assembleResponseHeaders):
35183         (WebCore::ResourceLoader::retrieveCharset):
35184         (WebCore::ResourceLoader::receivedResponse):
35186 2006-08-29  Timothy Hatcher  <timothy@apple.com>
35188         Reviewed by Eric.
35190         Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes
35191         http://bugs.webkit.org/show_bug.cgi?id=10632
35193         Generate @property when MACOSX_DEPLOYMENT_TARGET is >= 10.5.
35194         This is backwards compatible with the getter/setter methods.
35195         Generate setter arguments with a "new" prefix to avoid the property
35196         name conflict warning. Also removes some whitespace and the comments
35197         that we added to the headers. This makes the headers look like what we ship now.
35199         * bindings/objc/DOMCSS.mm:
35200         (-[DOMDocument getComputedStyle::]): renamed a local variable to avoid the property name conflict.
35201         (-[DOMDocument getMatchedCSSRules::]): ditto.
35202         * bindings/scripts/CodeGeneratorObjC.pm: generate @property in the headers.
35204 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
35206         Reviewed and landed by Anders.
35208         Fix time calculation, by using a correct calculation. Calling time()
35209         returns a number of seconds, aka. an integer. Fix it by using gettimeofday().
35210         Patch originally proposed by Ronan Meneu <rmeneu@origyn.fr>
35212         * platform/qt/SystemTimeQt.cpp:
35213         (WebCore::currentTime):
35215 2006-08-29  Sam Weinig  <sam.weinig@gmail.com>
35217         Reviewed by Tim H.
35219         - patch for http://bugs.webkit.org/show_bug.cgi?id=10628
35220           Auto-generate the remaining Objective-C DOM bindings
35222           Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
35223           and DOMHTMLOptionsCollection, and lays groundwork for the rest of the 
35224           HTML DOM bindings by adding/fixing the appropriate IDL's and updating
35225           the CodeGeneratorObjC.pm build script.
35227         * DerivedSources.make:
35228         * WebCore.xcodeproj/project.pbxproj:
35229         * bindings/objc/DOM.mm:
35230         * bindings/objc/DOMExtensions.h:
35231         * bindings/objc/DOMHTML.h:
35232         * bindings/objc/DOMHTML.mm:
35233         * bindings/objc/DOMHTMLInternal.h:
35234         * bindings/scripts/CodeGeneratorObjC.pm:
35235         * html/HTMLAnchorElement.idl:
35236         * html/HTMLAreaElement.idl:
35237         * html/HTMLBaseFontElement.idl:
35238         * html/HTMLBodyElement.idl:
35239         * html/HTMLButtonElement.idl:
35240         * html/HTMLCollection.idl: Added.
35241         * html/HTMLDocument.idl:
35242         * html/HTMLElement.idl:
35243         * html/HTMLFormElement.idl:
35244         * html/HTMLFrameElement.idl: Added.
35245         * html/HTMLFrameSetElement.idl: Added.
35246         * html/HTMLIFrameElement.idl: Added.
35247         * html/HTMLImageElement.idl:
35248         * html/HTMLInputElement.idl:
35249         * html/HTMLLabelElement.idl:
35250         * html/HTMLLegendElement.idl:
35251         * html/HTMLLinkElement.idl:
35252         * html/HTMLMapElement.idl:
35253         * html/HTMLObjectElement.idl: Added.
35254         * html/HTMLOptionsCollection.idl:
35255         * html/HTMLPreElement.idl:
35256         * html/HTMLSelectElement.idl: Added.
35257         * html/HTMLStyleElement.idl:
35258         * html/HTMLTableCaptionElement.idl: Added.
35259         * html/HTMLTableCellElement.idl: Added.
35260         * html/HTMLTableColElement.idl: Added.
35261         * html/HTMLTableElement.idl: Added.
35262         * html/HTMLTableRowElement.idl: Added.
35263         * html/HTMLTableSectionElement.idl: Added.
35264         * html/HTMLTextAreaElement.idl:
35266 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
35268         Reviewed and landed by ap.
35270         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10629.
35271         Drawing convex polygons is broken in the Qt platform.
35273         * platform/qt/GraphicsContextQt.cpp:
35274         (WebCore::GraphicsContext::drawConvexPolygon):
35276 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
35278         Reviewed by Eric.
35280         Implementing font hashing properly, fixes weird crashes in HashMap.
35282         * platform/qt/FontPlatformData.h:
35283         * platform/qt/FontPlatformDataQt.cpp:
35284         (WebCore::FontPlatformData::FontPlatformData):
35285         (WebCore::FontPlatformData::hash):
35287 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
35289         Reviewed by ggaren.
35291         Fix scrollbars to reappear after the first layouting.
35293         * platform/qt/ScrollViewQt.cpp:
35294         (WebCore::ScrollView::suppressScrollBars):
35296 2006-08-29  Anders Carlsson  <acarlsson@apple.com>
35298         Reviewed by Darin and Geoff.
35300         Move the CF String functions to separate files in platform/cf.
35301         Also, move the files in platform/cfnet to platform/cf.
35303         * WebCore.xcodeproj/project.pbxproj:
35304         * platform/PlatformString.h:
35305         * platform/StringImpl.h:
35306         * platform/cf/StringCF.cpp: Added.
35307         (WebCore::String::String):
35308         * platform/cf/StringImplCF.cpp: Added.
35309         (WebCore::StringImpl::createCFString):
35310         * platform/cfnet/KURLCFNet.cpp: Removed.
35311         * platform/cfnet/ResourceLoaderCFNet.cpp: Removed.
35312         * platform/mac/StringImplMac.mm:
35313         * platform/mac/StringMac.mm:
35315 2006-08-29  Geoffrey Garen  <ggaren@apple.com>
35317         Rolling out a change I included by accident in my last commit.
35318         
35319         * bridge/mac/FrameMac.mm:
35320         (WebCore::FrameMac::passMouseDownEventToWidget):
35321         * platform/mac/SharedTimerMac.cpp:
35322         (WebCore::setSharedTimerFireTime):
35324 2006-08-28  Geoffrey Garen  <ggaren@apple.com>
35326         Reviewed by Maciej.
35327         
35328         Added support for experimental CFNetwork-based loader (not turned on yet).
35329         
35330         While I was there, I did the following platform cleanup:
35331         - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the
35332           USE(CFNETWORK) idiom.
35333         - Removed some #includes of windows.h in platform-independent headers.
35334         - Changed #ifdef __APPLE__ to PLATFORM(MAC)
35335         - Fixed some build bustage, including case-sensitive filesystem bustage.
35337         * loader/loader.cpp:
35338         (WebCore::Loader::receivedAllData):
35339         * platform/Cursor.h:
35340         * platform/KURL.h:
35341         * platform/ResourceLoader.h:
35342         * platform/ResourceLoaderClient.h:
35343         * platform/ResourceLoaderInternal.h:
35344         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
35345         * platform/cfnet/KURLCFNet.cpp: Added.
35346         (WebCore::KURL::createCFURL):
35347         * platform/cfnet/ResourceLoaderCFNet.cpp: Added.
35348         (WebCore::willSendRequest):
35349         (WebCore::didReceiveChallenge):
35350         (WebCore::didCancelChallenge):
35351         (WebCore::didReceiveResponse):
35352         (WebCore::didReceiveData):
35353         (WebCore::didFinishLoading):
35354         (WebCore::didFail):
35355         (WebCore::willCacheResponse):
35356         (WebCore::addHeadersFromString):
35357         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
35358         (WebCore::ResourceLoader::~ResourceLoader):
35359         (WebCore::arrayFromFormData):
35360         (WebCore::emptyPerform):
35361         (WebCore::runLoaderThread):
35362         (WebCore::ResourceLoader::start):
35363         (WebCore::ResourceLoader::cancel):
35364         * platform/win/CursorWin.cpp:
35366 2006-08-28  Justin Garcia  <justin.garcia@apple.com>
35368         Reviewed by harrison
35369         
35370         <rdar://problem/4700341>
35371         REGRESSION: In new mail message, caret isn't placed at end of line after redoing typing
35373         * editing/ReplaceSelectionCommand.cpp:
35374         (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME.
35375         * page/Frame.cpp:
35376         (WebCore::Frame::reappliedEditing): Restore the endingSelection(), not the startingSelection().
35378 2006-08-28  Tim Omernick  <timo@apple.com>
35380         Reviewed by John Sullivan.
35382         Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
35383         <http://bugs.webkit.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
35384         in Firefox
35386         No test cases added, since this is essentially a leak fix.
35388         A brief history of NPP_GetValue(), NPObjects, and reference counting.
35390         Earlier versions of WebKit incorrectly interpreted the NPRuntime reference counting rules.  We failed to take
35391         into account the fact that plug-ins are required to retain NPObjects before returning them.  This creates several
35392         classes of interesting plug-ins:
35394         1) Plug-ins tested in WebKit and other browsers.  These plug-ins may have WebKit-specific workarounds to not retain
35395            the returned NPObject, thus avoiding the memory leak in WebKit.
35397         2) Plug-ins tested only in other browsers.  These plug-ins must already retain their NPObjects, since other browsers
35398            implemented the NPRuntime retain/release rules correctly.  These plug-ins likely work in WebKit, but probably leak
35399            NPObjects since WebKit adds its own retain in addition to the plug-in's retain.
35401         3) Plug-ins tested only in WebKit, that fail to retain their NPObjects before returning them.
35402            Such plug-ins are guaranteed to crash in other browsers due to the missing expected retain.  These plug-ins
35403            work in older WebKits because WebKit did not expect the plug-in to retain the NPObject.  Now that our retain
35404            rules match other browsers, these plug-ins may crash due to the difference in retain/release behavior.  We could
35405            potentially detect that situation and correct it here, but I consider it a bug that the plug-in did not follow the
35406            documented NPRuntime reference counting rules.  Furthermore, it is extremely unlikely that someone would develop
35407            a Netscape plug-in and test it *only* in WebKit.  The entire purpose of creating a Netscape plugin is so that it
35408            works in all browsers!
35410         4) Plug-ins tested only in WebKit, that properly retain their NPObjects before returning them.
35411            These plug-ins probably work in other browsers, and leak their NPObjects in older WebKits because of WebKit's
35412            extra retain.  A developer of this type of plug-in is probably unaware of the NPObject leak.  A more savvy developer
35413            would create a plug-in that fits into category #1.
35414         
35415         I am changing our NPP_GetValue() behavior to match Firefox and other browsers -- the plug-in is now expected to retain the
35416         returned NPObject, and the browser is expected to release it when done.  This means that plug-ins in category #3 need to be
35417         changed so that they don't crash in Safari.  However, such plug-ins already crash in every other browser, so I do not feel that
35418         this needs to be handled specifically by WebKit.
35420         * bridge/mac/FrameMac.mm:
35421         Changed -pluginScriptableObject to -createPluginScriptableObject to make clearer the contract that the method must return a
35422         retained NPObject.  Also changed it to return an actual NPObject* instead of a void*.  There is only one caller of this method,
35423         and only one implementor.  Using void* here is a needless abstraction.  It's an NPObject*!  Admit it!
35424         (WebCore::getInstanceForView):
35425         Release the NPObject after creating the bindings instance.  This is the actual bug fix.
35427 2006-08-28  Alice Liu  <alice.liu@apple.com>
35429         Reviewed by Geoff.
35431         Fixed <rdar://problem/4548537> Document.domain and other attributes are blank for an iframe created with document.write
35433         * dom/Document.cpp:
35434         (WebCore::Document::open):
35435         set the document's url to the parent's url and re-located the code that does this to occur before calling the frame's didExplicitOpen()
35436         * page/Frame.cpp:
35437         (WebCore::Frame::didExplicitOpen):
35438         set the frame's url to the document's url
35440 2006-08-28  Brady Eidson  <beidson@apple.com>
35442         Reviewed by Adele and Adam
35444         Added an optimization to return early if there's no replacements to be made
35446         * platform/StringImpl.cpp:
35447         (WebCore::StringImpl::replace):
35449 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
35451         Reviewed and landed by ap.
35453         Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
35454         Provide stub implementation of RenderPopupMenuQt.
35456         * CMakeLists.txt:
35457         * platform/qt/RenderPopupMenuQt.cpp: Added.
35458         (WebCore::RenderPopupMenuQt::RenderPopupMenuQt):
35459         (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt):
35460         (WebCore::RenderPopupMenuQt::clear):
35461         (WebCore::RenderPopupMenuQt::populate):
35462         (WebCore::RenderPopupMenuQt::showPopup):
35463         (WebCore::RenderPopupMenuQt::hidePopup):
35464         (WebCore::RenderPopupMenuQt::addSeparator):
35465         (WebCore::RenderPopupMenuQt::addGroupLabel):
35466         (WebCore::RenderPopupMenuQt::addOption):
35467         * platform/qt/RenderPopupMenuQt.h: Added.
35468         * platform/qt/RenderThemeQt.cpp:
35469         (WebCore::RenderThemeQt::systemFont):
35470         (WebCore::RenderThemeQt::createPopupMenu):
35472 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
35474         Reviewed and landed by ap.
35476         Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
35477         Offer QString -> DeprecatedString conversion.
35479         * platform/DeprecatedString.h:
35480         * platform/qt/StringQt.cpp:
35481         (WebCore::DeprecatedString::DeprecatedString):
35483 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
35485         Reviewed by Tim Hatcher.
35486         
35487         Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
35489         * platform/qt/RenderThemeQt.cpp:
35490         (WebCore::RenderThemeQt::systemFont):
35491         Remove annoying notImplemented() usage in systemFont()
35493 2006-08-28  David Harrison  <harrison@apple.com>
35495         Reviewed by Darin.
35497         <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute
35499         * bridge/mac/WebCoreAXObject.mm:
35500         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
35501         Add AXStyleTextMarkerRangeForTextMarker.
35502         
35503         (startOfStyleRange):
35504         (endOfStyleRange):
35505         Return first/last VisiblePosition in range having the same style has the specified VisiblePosition.
35507         (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
35508         Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
35509         
35510         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
35511         Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.
35513 2006-08-28  David Harrison  <harrison@apple.com>
35515         Reviewed by Darin.
35517         <rdar://problem/4517383> Hide all images used for spacing purpose in AX
35519         * bridge/mac/WebCoreAXObject.mm:
35520         (-[WebCoreAXObject accessibilityIsIgnored]):
35521         Check for one-dimensional image
35522         Check whether rendered image was stretched from one-dimensional file image
35524 2006-08-27  Brady Eidson  <beidson@apple.com>
35526         Reviewed by Maciej
35528         Rewrote StringImpl::replace(UChar, StringImpl*)
35530         * platform/StringImpl.cpp:
35531         (WebCore::StringImpl::replace):
35533 2006-08-27  Sam Weinig  <sam.weinig@gmail.com>
35535         Reviewed by Tim H.
35537         - patch for http://bugs.webkit.org/show_bug.cgi?id=4624
35538           WebCore needs autogenerated Obj-C DOM bindings
35540           First round of auto-generated Objective C DOM bindings, starting
35541           with the DOM Core.
35543         * DerivedSources.make:
35544         * WebCore.xcodeproj/project.pbxproj:
35545         * bindings/objc/DOM.mm:
35546         (-[DOMNode description]):
35547         (-[DOMNode KJS::Bindings::]):
35548         (-[DOMNode dispatchEvent:]):
35549         (-[DOMNamedNodeMap _initWithNamedNodeMap:]):
35550         (+[DOMNamedNodeMap _namedNodeMapWith:]):
35551         (-[DOMNodeList _initWithNodeList:]):
35552         (+[DOMNodeList _nodeListWith:]):
35553         (-[DOMImplementation _initWithDOMImplementation:]):
35554         (+[DOMImplementation _DOMImplementationWith:]):
35555         (-[DOMImplementation _DOMImplementation]):
35556         (+[DOMDocumentFragment _documentFragmentWith:]):
35557         (-[DOMDocumentFragment _fragment]):
35558         (-[DOMDocument createCSSStyleDeclaration]):
35559         (+[DOMDocument _documentWith:]):
35560         (-[DOMDocument _document]):
35561         (-[DOMDocument _ownerElement]):
35562         (+[DOMAttr _attrWith:]):
35563         (-[DOMAttr _attr]):
35564         (+[DOMDocumentType _documentTypeWith:WebCore::]):
35565         (-[DOMDocumentType WebCore::]):
35566         (+[DOMText _textWith:WebCore::]):
35567         (+[DOMComment _commentWith:WebCore::]):
35568         (+[DOMCDATASection _CDATASectionWith:WebCore::]):
35569         (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]):
35570         (+[DOMEntityReference _entityReferenceWith:WebCore::]):
35571         * bindings/objc/DOMCSS.h:
35572         * bindings/objc/DOMCSS.mm:
35573         * bindings/objc/DOMCore.h:
35574         * bindings/objc/DOMEvents.h:
35575         * bindings/objc/DOMEvents.mm:
35576         * bindings/objc/DOMExtensions.h:
35577         * bindings/objc/DOMHTML.mm:
35578         (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
35579         * bindings/objc/DOMHTMLInternal.h:
35580         * bindings/objc/DOMImplementationFront.h:
35581         * bindings/objc/DOMInternal.h:
35582         * bindings/objc/DOMNode.h: Added.
35583         * bindings/objc/DOMNode.mm: Added.
35584         (-[DOMNode dealloc]):
35585         (-[DOMNode finalize]):
35586         (-[DOMNode nodeName]):
35587         (-[DOMNode nodeValue]):
35588         (-[DOMNode setNodeValue:]):
35589         (-[DOMNode nodeType]):
35590         (-[DOMNode parentNode]):
35591         (-[DOMNode childNodes]):
35592         (-[DOMNode firstChild]):
35593         (-[DOMNode lastChild]):
35594         (-[DOMNode previousSibling]):
35595         (-[DOMNode nextSibling]):
35596         (-[DOMNode attributes]):
35597         (-[DOMNode ownerDocument]):
35598         (-[DOMNode insertBefore::]):
35599         (-[DOMNode replaceChild::]):
35600         (-[DOMNode removeChild:]):
35601         (-[DOMNode appendChild:]):
35602         (-[DOMNode hasChildNodes]):
35603         (-[DOMNode cloneNode:]):
35604         (-[DOMNode normalize]):
35605         (-[DOMNode isSupported::]):
35606         (-[DOMNode namespaceURI]):
35607         (-[DOMNode prefix]):
35608         (-[DOMNode setPrefix:]):
35609         (-[DOMNode localName]):
35610         (-[DOMNode hasAttributes]):
35611         (-[DOMNode isSameNode:]):
35612         (-[DOMNode isEqualNode:]):
35613         (-[DOMNode isDefaultNamespace:]):
35614         (-[DOMNode lookupPrefix:]):
35615         (-[DOMNode lookupNamespaceURI:]):
35616         (-[DOMNode textContent]):
35617         (-[DOMNode setTextContent:]):
35618         (-[DOMNode boundingBox]):
35619         (-[DOMNode lineBoxRects]):
35620         * bindings/objc/DOMObject.h: Added.
35621         * bindings/objc/DOMObject.mm: Added.
35622         (-[DOMObject init]):
35623         (-[DOMObject dealloc]):
35624         (-[DOMObject finalize]):
35625         (-[DOMObject copyWithZone:]):
35626         (-[DOMObject sheet]):
35627         * bindings/objc/DOMPrivate.h:
35628         * bindings/objc/DOMRange.h:
35629         * bindings/objc/DOMStylesheets.h:
35630         * bindings/objc/DOMTraversal.h:
35631         * bindings/objc/DOMViews.h:
35632         * bindings/objc/DOMViews.mm:
35633         * bindings/objc/DOMXPath.h:
35634         * bindings/objc/DOMXPath.mm:
35635         * bindings/scripts/CodeGenerator.pm:
35636         * bindings/scripts/CodeGeneratorJS.pm:
35637         * bindings/scripts/CodeGeneratorObjC.pm: Added.
35638         * dom/Attr.idl:
35639         * dom/CDATASection.idl: Added.
35640         * dom/Comment.idl: Added.
35641         * dom/DOMImplementation.idl:
35642         * dom/Document.idl:
35643         * dom/Element.idl:
35644         * dom/EntityReference.idl: Added.
35645         * dom/NamedNodeMap.idl: Added.
35646         * dom/NodeList.idl: Added.
35647         * dom/ProcessingInstruction.idl:
35649 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
35651         Reviewed by Tim H.
35653         Fix crash in LayoutTests/css1/font_properties/font.html,
35654         by implementing FontData::smallCapsFontData.
35656         * platform/qt/FontDataQt.cpp:
35657         (WebCore::FontData::platformDestroy):
35658         (WebCore::FontData::smallCapsFontData):
35660 2006-08-27  Brady Eidson  <beidson@apple.com>
35662         Reviewed by Maciej
35664         Plugged a leak in StringImpl::replace()
35666         * platform/StringImpl.cpp:
35667         (WebCore::StringImpl::replace):
35669 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
35671         Reviewed and landed by Anders.
35673         Remove most annoying notImplemented() usages and
35674         implement some missing ScrollViewQt functions.
35675         Much nicer output when invoking run-webkit-tests.
35677         * platform/qt/FrameQt.cpp:
35678         (WebCore::FrameQt::saveDocumentState):
35679         (WebCore::FrameQt::restoreDocumentState):
35680         (WebCore::FrameQt::clearUndoRedoOperations):
35681         (WebCore::FrameQt::partClearedInBegin):
35682         * platform/qt/ResourceLoaderManager.cpp:
35683         (WebCore::headerCallback):
35684         (WebCore::ResourceLoaderManager::downloadTimerCallback):
35685         * platform/qt/ScrollViewQt.cpp:
35686         (WebCore::ScrollView::updateContents):
35687         (WebCore::ScrollView::suppressScrollBars):
35688         (WebCore::ScrollView::setStaticBackground):
35689         (WebCore::ScrollView::addChild):
35690         (WebCore::ScrollView::removeChild):
35691         * platform/qt/TemporaryLinkStubs.cpp:
35692         (WebCore::historyContains):
35693         (WebCore::CheckCacheObjectStatus):
35694         (WebCore::CheckIfReloading):
35695         (loadResourceIntoArray):
35696         (WebCore::PlugInInfoStore::supportsMIMEType):
35698 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
35700         Reviewed and landed by Anders.
35702         Fix Qt build (add SVGMetaDataElement.cpp to build system)
35704         * CMakeLists.txt:
35706 2006-08-27  Eric Seidel  <eric@webkit.org>
35708         Reviewed by andersca.
35710         No logic changes.  Just cleanup.
35712         * ksvg2/svg/SVGAngle.cpp:
35713         (SVGAngle::SVGAngle):
35714         (SVGAngle::unitType):
35715         (SVGAngle::valueAsString):
35716         (SVGAngle::newValueSpecifiedUnits):
35717         (SVGAngle::convertToSpecifiedUnits):
35718         * ksvg2/svg/SVGAngle.h:
35719         * ksvg2/svg/SVGLength.cpp:
35720         (WebCore::SVGLength::unitType):
35721         (WebCore::SVGLength::newValueSpecifiedUnits):
35722         (WebCore::SVGLength::convertToSpecifiedUnits):
35723         (WebCore::SVGLength::updateValue):
35724         (WebCore::SVGLength::updateValueInSpecifiedUnits):
35725         * ksvg2/svg/SVGLength.h:
35726         * platform/BitmapImage.cpp: Removed.
35727         * platform/BitmapImage.h: Removed.
35729 2006-08-27  Brady Eidson  <beidson@apple.com>
35731         Reviewed by Anders
35733         -Changed all of the commonly used queries to keep around pre-prepared statements and bind
35734         their arguments instead of constructing a new, messy, string appended statement each time
35735         -Changed some code in pruneUnretainedIconsOnStartup regarding transactions
35737         * loader/icon/IconDatabase.cpp:
35738         (WebCore::IconDatabase::IconDatabase): Initializers
35739         (WebCore::IconDatabase::close): Wipe all the preprepared statements
35740         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions
35741         (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery()
35742         (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment
35743         (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding
35744         (WebCore::IconDatabase::timeStampForIconURLQuery): ditto
35745         (WebCore::IconDatabase::iconURLForPageURLQuery): ditto
35746         (WebCore::IconDatabase::forgetPageURLQuery): ditto
35747         (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto
35748         (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto
35749         (WebCore::IconDatabase::addIconForIconURLQuery): ditto
35750         (WebCore::IconDatabase::hasIconForIconURLQuery): ditto
35751         * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements
35752         * loader/icon/SQLStatement.h:
35753         (WebCore::SQLStatement::database): Added
35755 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
35757         Reviewed by Eric.
35759         Fix switch logic.
35761         * platform/qt/ScrollViewQt.cpp:
35762         (WebCore::ScrollView::setHScrollBarMode):
35763         (WebCore::ScrollView::setVScrollBarMode):
35765 2006-08-27  Rob Buis  <buis@kde.org>
35767         Reviewed by Eric.
35769         http://bugs.webkit.org/show_bug.cgi?id=10557
35770         KCanvasPath should be replace by platform/Path
35772         Refactoring out the KCanvasPath class.
35774         * CMakeLists.txt:
35775         * WebCore.xcodeproj/project.pbxproj:
35776         * kcanvas/KCanvasCreator.cpp:
35777         (WebCore::KCanvasCreator::createRoundedRectangle):
35778         (WebCore::KCanvasCreator::createRectangle):
35779         (WebCore::KCanvasCreator::createEllipse):
35780         (WebCore::KCanvasCreator::createCircle):
35781         (WebCore::KCanvasCreator::createLine):
35782         * kcanvas/KCanvasCreator.h:
35783         * kcanvas/KCanvasPath.cpp: Removed.
35784         * kcanvas/KCanvasPath.h: Removed.
35785         * kcanvas/KCanvasResources.cpp:
35786         (WebCore::operator<<):
35787         (WebCore::KCanvasResource::clients):
35788         (WebCore::KCanvasResource::invalidate):
35789         (WebCore::KCanvasClipper::addClipData):
35790         * kcanvas/KCanvasResources.h:
35791         (WebCore::KCClipData::windRule):
35792         (WebCore::KCClipDataList::KCClipDataList):
35793         (WebCore::KCClipDataList::addPath):
35794         * kcanvas/KCanvasTreeDebug.cpp:
35795         (WebCore::operator<<):
35796         * kcanvas/RenderPath.cpp:
35797         (WebCore::RenderPath::fillContains):
35798         (WebCore::RenderPath::relativeBBox):
35799         (WebCore::RenderPath::setPath):
35800         (WebCore::RenderPath::path):
35801         (WebCore::RenderPath::paint):
35802         (WebCore::RenderPath::nodeAtPoint):
35803         * kcanvas/RenderPath.h:
35804         * kcanvas/device/KRenderingDevice.h:
35805         * kcanvas/device/KRenderingFillPainter.cpp:
35806         (WebCore::KRenderingFillPainter::fillRule):
35807         (WebCore::KRenderingFillPainter::setFillRule):
35808         * kcanvas/device/KRenderingFillPainter.h:
35809         * kcanvas/device/qt/KCanvasClipperQt.cpp:
35810         (WebCore::KCanvasClipperQt::applyClip):
35811         * kcanvas/device/qt/KCanvasPathQt.cpp: Removed.
35812         * kcanvas/device/qt/KCanvasPathQt.h: Removed.
35813         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
35814         (WebCore::KRenderingDeviceContextQt::addPath):
35815         (WebCore::KRenderingDeviceContextQt::setFillRule):
35816         (WebCore::KRenderingDeviceQt::createItem):
35817         * kcanvas/device/qt/KRenderingDeviceQt.h:
35818         * kcanvas/device/qt/RenderPathQt.cpp:
35819         (WebCore::RenderPathQt::drawMarkersIfNeeded):
35820         (WebCore::RenderPathQt::strokeContains):
35821         (WebCore::getPathStroke):
35822         (WebCore::RenderPathQt::strokeBBox):
35823         * kcanvas/device/qt/RenderPathQt.h:
35824         * kcanvas/device/quartz/KCanvasItemQuartz.h:
35825         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
35826         (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded):
35827         (WebCore::KCanvasItemQuartz::strokeBBox):
35828         (WebCore::KCanvasItemQuartz::strokeContains):
35829         * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed.
35830         * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed.
35831         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
35832         (WebCore::KCanvasClipperQuartz::applyClip):
35833         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
35834         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
35835         (WebCore::KRenderingDeviceContextQuartz::addPath):
35836         (WebCore::KRenderingDeviceQuartz::createItem):
35837         * kcanvas/device/quartz/QuartzSupport.h:
35838         * kcanvas/device/quartz/QuartzSupport.mm:
35839         (WebCore::scratchContext):
35840         (WebCore::strokeBoundingBox):
35841         (WebCore::pathContainsPoint):
35842         * ksvg2/css/SVGCSSParser.cpp:
35843         (WebCore::CSSParser::parseSVGValue):
35844         * ksvg2/css/SVGCSSStyleSelector.cpp:
35845         (WebCore::CSSStyleSelector::applySVGProperty):
35846         * ksvg2/css/SVGRenderStyle.h:
35847         (WebCore::SVGRenderStyle::InheritedFlags::):
35848         * ksvg2/css/SVGRenderStyleDefs.h:
35849         * ksvg2/misc/KCanvasRenderingStyle.cpp:
35850         (WebCore::KSVGPainterFactory::fillPainter):
35851         * ksvg2/svg/SVGCircleElement.cpp:
35852         (SVGCircleElement::toPathData):
35853         * ksvg2/svg/SVGCircleElement.h:
35854         * ksvg2/svg/SVGClipPathElement.cpp:
35855         (SVGClipPathElement::canvasResource):
35856         * ksvg2/svg/SVGEllipseElement.cpp:
35857         (WebCore::SVGEllipseElement::toPathData):
35858         * ksvg2/svg/SVGEllipseElement.h:
35859         * ksvg2/svg/SVGGradientElement.cpp:
35860         (SVGGradientElement::notifyAttributeChange):
35861         * ksvg2/svg/SVGImageElement.cpp:
35862         * ksvg2/svg/SVGLineElement.cpp:
35863         (SVGLineElement::toPathData):
35864         * ksvg2/svg/SVGLineElement.h:
35865         * ksvg2/svg/SVGMaskElement.cpp:
35866         * ksvg2/svg/SVGPathElement.cpp:
35867         (WebCore::SVGPathElement::toPathData):
35868         * ksvg2/svg/SVGPathElement.h:
35869         * ksvg2/svg/SVGPatternElement.cpp:
35870         (WebCore::SVGPatternElement::notifyClientsToRepaint):
35871         * ksvg2/svg/SVGPolygonElement.cpp:
35872         (SVGPolygonElement::toPathData):
35873         * ksvg2/svg/SVGPolygonElement.h:
35874         * ksvg2/svg/SVGPolylineElement.cpp:
35875         (SVGPolylineElement::toPathData):
35876         * ksvg2/svg/SVGPolylineElement.h:
35877         * ksvg2/svg/SVGRectElement.cpp:
35878         (WebCore::SVGRectElement::toPathData):
35879         * ksvg2/svg/SVGRectElement.h:
35880         * ksvg2/svg/SVGStyledElement.cpp:
35881         (WebCore::SVGStyledElement::createRenderer):
35882         * ksvg2/svg/SVGStyledElement.h:
35883         (WebCore::SVGStyledElement::toPathData):
35884         * ksvg2/svg/SVGTextContentElement.cpp:
35885         * ksvg2/svg/SVGTextElement.cpp:
35886         * platform/Path.h:
35887         (WebCore::):
35888         (WebCore::Path::setWindingRule):
35889         (WebCore::Path::windingRule):
35890         * platform/cg/PathCG.cpp:
35891         (WebCore::Path::contains):
35892         (WebCore::Path::isEmpty):
35893         (WebCore::CGPathToCFStringApplierFunction):
35894         (WebCore::CFStringFromCGPath):
35895         (WebCore::Path::debugString):
35896         * platform/qt/FrameQt.cpp:
35897         (WebCore::FrameQt::openURL):
35898         * platform/qt/PathQt.cpp:
35899         (WebCore::Path::contains):
35900         (WebCore::Path::isEmpty):
35901         (WebCore::Path::debugString):
35903 2006-08-26  Eric Seidel  <eric@webkit.org>
35905         Reviewed by hyatt.
35907         pointer-events attribute does not work.
35908         http://bugs.webkit.org/show_bug.cgi?id=10415
35910         * kcanvas/RenderPath.cpp:
35911         (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic
35912         (WebCore::RenderPath::nodeAtPoint): respect pointer-events property
35913         * kcanvas/RenderPath.h:
35914         (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules):
35915         * ksvg2/css/SVGCSSParser.cpp:
35916         (WebCore::CSSParser::parseSVGValue):
35917         * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value
35918         (WebCore::SVGPaint::SVGPaint):
35919         (WebCore::SVGPaint::paintType):
35920         (WebCore::SVGPaint::uri):
35921         (WebCore::SVGPaint::setUri):
35922         (WebCore::SVGPaint::setPaint):
35923         * ksvg2/svg/SVGPaint.h:
35925 2006-08-27  Rob Buis  <buis@kde.org>
35927         Reviewed by Eric.
35929         http://bugs.webkit.org/show_bug.cgi?id=10558
35930         SVG should have support for <metadata> element
35932         Add support for metadata tag.
35934         * DerivedSources.make:
35935         * WebCore.xcodeproj/project.pbxproj:
35936         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
35937         * ksvg2/svg/SVGMetadataElement.cpp: Added.
35938         (SVGMetadataElement::SVGMetadataElement):
35939         (SVGMetadataElement::~SVGMetadataElement):
35940         * ksvg2/svg/SVGMetadataElement.h: Added.
35941         * ksvg2/svg/SVGMetadataElement.idl: Added.
35942         * ksvg2/svg/svgtags.in:
35944 2006-08-26  Nikolas Zimmermann  <zimmermann@kde.org>
35946         Reviewed by Eric.
35948         Daily Qt build fixes :-)
35950         * platform/qt/GraphicsContextQt.cpp:
35951         (WebCore::GraphicsContext::drawConvexPolygon):
35952         * platform/qt/ImageQt.cpp:
35953         (WebCore::Image::initPlatformData):
35954         (WebCore::Image::invalidatePlatformData):
35955         (WebCore::Image::loadPlatformResource):
35957 2006-08-26  David Hyatt  <hyatt@apple.com>
35959         Fix the ifdef in Path.h to be CG.
35961         * platform/Path.h:
35963 2006-08-26  David Hyatt  <hyatt@apple.com>
35965         Fix Mac build bustage (lots of float/int confusion).  I am not sure
35966         whether rounding was desired or not... this is just a band-aid to get
35967         the build working again.
35969         * rendering/RenderThemeMac.mm:
35970         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
35971         (WebCore::RenderThemeMac::paintMenuListButton):
35972         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
35974 2006-08-25  David Hyatt  <hyatt@apple.com>
35976         More refactoring of image to disentangle graphics (e.g., Cairo) from
35977         platform (e.g., Windows).
35979         * WebCore.vcproj/WebCore/WebCore.vcproj:
35980         Add ImageWin to project.
35982         * loader/Cache.cpp:
35983         (WebCore::Cache::init):
35984         * loader/icon/IconDataCache.cpp:
35985         (WebCore::IconDataCache::loadImageFromResource):
35986         Renamed loadResource to loadPlatformResource to try to make it more clear
35987         that this call is implemented on each OS (and not by graphics libraries).
35989         * platform/Image.cpp:
35990         (WebCore::Image::Image):
35991         (WebCore::Image::~Image):
35992         (WebCore::Image::invalidateData):
35993         (WebCore::Image::size):
35994         (WebCore::Image::setData):
35995         (WebCore::Image::setNativeData):
35996         Fix up the PDF code to not be considered platform data any more, since
35997         PDF rendering is not for a specific OS.
35999         Renamed the methods that set OS-specific data (like NSImage) to PlatformData
36000         instead of NativeData.
36002         * platform/Image.h:
36003         Shifted the PDF members into CG defines.  Made CGImageRef a CG define.
36004         Renamed methods to reflect that they are OS-specific and not
36005         graphics-library-specific.
36006        
36007         * platform/cairo/ImageCairo.cpp:
36008         Removed the platform data methods.  Other platforms besides Windows that
36009         use Cairo will need to account for this change by adding these methods
36010         to their OS Image***.cpp file.
36012         * platform/cg/ImageCG.cpp:
36013         (WebCore::Image::drawTiled):
36014         Add FIXMEs to the wkpattern stuff.
36016         * platform/cg/PDFDocumentImage.cpp:
36017         Shouldn't have #imports in .cpp.
36019         * platform/mac/ImageMac.mm:
36020         (WebCore::Image::initPlatformData):
36021         (WebCore::Image::invalidatePlatformData):
36022         (WebCore::Image::loadPlatformResource):
36023         (WebCore::Image::getTIFFRepresentation):
36024         Add the platform data initializers to the Mac Image file.   Move the
36025         TIFF representation there as well, since this is only used by Mac code.
36027         * platform/win/ImageWin.cpp: Added.
36028         (WebCore::Image::initPlatformData):
36029         (WebCore::Image::invalidatePlatformData):
36030         (WebCore::Image::loadPlatformResource):
36031         (WebCore::Image::supportsType):
36032         Similar work for Windows.  Add stubs for possible future HBITMAP returns
36033         in the platform data methods.
36035         * rendering/RenderLayer.cpp:
36036         (WebCore::RenderLayer::paintResizeControl):
36037         * rendering/RenderThemeMac.mm:
36038         (WebCore::RenderThemeMac::paintResizeControl):
36039         loadResource -> loadPlatformResource
36041 2006-08-26  Adam Roben  <aroben@apple.com>
36043         Rubber-stamped by Adele.
36045         Fixed build.
36047         * platform/cairo/GraphicsContextCairo.cpp:
36048         (WebCore::GraphicsContext::drawConvexPolygon):
36050 2006-08-25  Adele Peterson  <adele@apple.com>
36052         Patch by Francisco, Reviewed by me.
36054         Preparation for switch to new text field implementation of password field.
36056         Added -webkit-text-security property.
36058         Tests: updated fast/css/computed-style-expected.txt
36060         * css/CSSPropertyNames.in: Added -webkit-text-security.
36061         * css/CSSComputedStyleDeclaration.cpp:
36062         (WebCore::):
36063         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity.
36064         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto.
36065         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
36066         * css/html4.css: Added style for password field to use -webkit-text-security.
36068         * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use.
36069         (WebCore::HTMLInputElement::selectionStart):
36070         (WebCore::HTMLInputElement::selectionEnd):
36071         (WebCore::HTMLInputElement::setSelectionStart):
36072         (WebCore::HTMLInputElement::setSelectionEnd):
36073         (WebCore::HTMLInputElement::select):
36074         (WebCore::HTMLInputElement::setSelectionRange):
36075         (WebCore::HTMLInputElement::createRenderer):
36076         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password.
36078         * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace 
36079          characters with one character, like a bullet.
36080         * platform/StringImpl.h:
36082         * rendering/RenderStyle.cpp:
36083         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity.
36084         (WebCore::RenderStyle::diff): Added case for textSecurity.
36085         * rendering/RenderStyle.h:
36086         (WebCore::):
36087         (WebCore::RenderStyle::textSecurity): Added.
36088         (WebCore::RenderStyle::setTextSecurity): Added.
36089         (WebCore::RenderStyle::initialTextSecurity): Added.
36090         * rendering/RenderText.cpp:
36091         (WebCore::RenderText::setStyle): Added case for textSecurity.
36092         (WebCore::RenderText::setText): ditto.
36094 2006-08-25  Adele Peterson  <adele@apple.com>
36096         Reviewed by Hyatt.
36098         Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
36100         Tests:   fast/forms/select-baseline.html
36101                  fast/borders/borderRadiusInvalidColor.html
36102         updated: fast/forms/select-style-expected.txt and more...
36104         * css/html4.css: Added style rules for styled select elements.
36106         * platform/GraphicsContext.h: Added argument for antialiasing.
36107         * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
36108         * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
36110         * rendering/RenderObject.cpp:
36111         (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
36112         (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code 
36113          (any callers that set this to true were already ensuring that their color was valid).
36114          Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
36115         (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
36116         (WebCore::RenderObject::paintOutline): ditto.
36117         * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
36118         * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.
36120         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
36121           Added case for when there's no children to check for hasLineIfEmpty.
36122         * rendering/RenderBlock.h:
36123         * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
36124         * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
36125         * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
36126         * rendering/RenderFlexibleBox.cpp:
36127         (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
36128         (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.
36130         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
36131         * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
36132          immediately after painting the background.
36134         * rendering/RenderTheme.cpp:
36135         (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
36136         For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
36137         to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
36138         (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function, 
36139          so the arrow control will draw at the right time (after the background).
36140         (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
36141         (WebCore::RenderTheme::paintBorderOnly): ditto.
36142         (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
36143         (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
36144         * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.
36146         * rendering/RenderThemeMac.h:
36147         * rendering/RenderThemeMac.mm:
36148         (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
36149         (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
36150         (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
36151         (WebCore::TopGradientInterpolate): Added.
36152         (WebCore::BottomGradientInterpolate): Added.
36153         (WebCore::MainGradientInterpolate): Added.
36154         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added.  Draws gradients for styled popup menu button appearance.
36155         (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
36156         (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.
36158 2006-08-25  Brady Eidson  <beidson@apple.com>
36160         Reviewed by Adam
36162         Changed some time()-related code to be more platform independent
36164         * loader/icon/IconDatabase.cpp:
36165         (WebCore::IconDatabase::isIconExpiredForIconURL):
36166         (WebCore::IconDatabase::getOrCreateIconDataCache):
36167         (WebCore::IconDatabase::setIconDataForIconURL):
36169 2006-08-25  David Harrison  <harrison@apple.com>
36171         Reviewed by Geoff.
36173         <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute
36175         * bridge/mac/WebCoreAXObject.mm:
36176         (labelForElement):
36177         New. Returns the HTMLLabelElement, if any, for the specified Element.
36178         
36179         (-[WebCoreAXObject title]):
36180         For input elements, return the innerHTML() of the labelForElement().
36182 2006-08-25  Brady Eidson  <beidson@apple.com>
36184         Reviewed by Tim Hatcher
36186         Changed some debugging-only code to be more platform independent
36188         * WebCore.xcodeproj/project.pbxproj:
36189         * loader/icon/IconDatabase.cpp:
36190         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
36191         (WebCore::IconDatabase::syncDatabase):
36193 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
36195         Reviewed/landed by Adam.
36197         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10561
36198         Qt platform build fixes.
36200         * platform/qt/FrameQt.h:
36201         * platform/qt/ScreenQt.cpp:
36202         (WebCore::qwidgetForPage):
36203         (WebCore::screenRect):
36204         (WebCore::screenDepth):
36205         (WebCore::usableScreenRect):
36206         * platform/qt/TemporaryLinkStubs.cpp:
36207         (WebCore::screenDepthPerComponent):
36208         (WebCore::screenIsMonochrome):
36209         * platform/qt/WidgetQt.cpp:
36211 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
36213         Reviewed/landed by Adam.
36215         Finally fix font caching. WebKit+Qt now works
36216         out of the box without any further patches :-)
36218         * platform/qt/FontDataQt.cpp:
36219         (WebCore::FontData::platformDestroy):
36220         * platform/qt/FontPlatformData.h:
36221         * platform/qt/FontPlatformDataQt.cpp:
36222         (WebCore::FontPlatformData::FontPlatformData):
36223         (WebCore::FontPlatformData::isFixedPitch):
36224         (WebCore::FontPlatformData::font):
36225         (WebCore::FontPlatformData::fontPtr):
36226         (WebCore::FontPlatformData::hash):
36227         (WebCore::FontPlatformData::operator==):
36229 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
36231         Reviewed/landed by Adam.
36233         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10559
36234         Confirm to WebKit style guide - last fixes :-)
36236         * platform/ResourceLoaderClient.h:
36237         * platform/qt/ComboBoxQt.cpp:
36238         * platform/qt/FrameQt.cpp:
36239         (WebCore::doScroll):
36240         (WebCore::FrameQt::FrameQt):
36241         (WebCore::FrameQt::openURL):
36242         (WebCore::FrameQt::submitForm):
36243         (WebCore::FrameQt::setTitle):
36244         (WebCore::FrameQt::passSubframeEventToSubframe):
36245         (WebCore::FrameQt::registerCommandForUndo):
36246         (WebCore::FrameQt::registerCommandForRedo):
36247         (WebCore::FrameQt::keyEvent):
36248         (WebCore::FrameQt::setFrameGeometry):
36249         * platform/qt/GlyphMapQt.cpp:
36250         (WebCore::GlyphMap::fillPage):
36251         * platform/qt/GraphicsContextQt.cpp:
36252         (WebCore::toQtCompositionMode):
36253         (WebCore::toQtLineCap):
36254         (WebCore::toQtLineJoin):
36255         (WebCore::TextShadow::TextShadow):
36256         (WebCore::GraphicsContextPlatformPrivate::p):
36257         * platform/qt/ImageQt.cpp:
36258         (WebCore::FrameData::clear):
36259         (WebCore::Image::supportsType):
36260         * platform/qt/IntSizeQt.cpp:
36261         * platform/qt/LineEditQt.cpp:
36262         * platform/qt/ListBoxQt.cpp:
36263         * platform/qt/PageQt.cpp:
36264         (WebCore::Page::windowRect):
36265         * platform/qt/PathQt.cpp:
36266         (WebCore::Path::~Path):
36267         * platform/qt/ResourceLoaderCurl.cpp:
36268         (WebCore::ResourceLoader::assembleResponseHeaders):
36269         (WebCore::ResourceLoader::retrieveCharset):
36270         (WebCore::ResourceLoader::receivedResponse):
36271         * platform/qt/ResourceLoaderManager.cpp:
36272         (WebCore::headerCallback):
36273         (WebCore::ResourceLoaderManager::downloadTimerCallback):
36274         (WebCore::ResourceLoaderManager::add):
36275         * platform/qt/ScreenQt.cpp:
36276         (WebCore::screenRect):
36277         (WebCore::usableScreenRect):
36278         * platform/qt/ScrollViewQt.cpp:
36279         (WebCore::ScrollView::ScrollView):
36280         (WebCore::ScrollView::~ScrollView):
36281         (WebCore::ScrollView::setParentWidget):
36282         (WebCore::ScrollView::addChild):
36283         * platform/qt/SharedTimerQt.cpp:
36284         (WebCore::setSharedTimerFiredFunction):
36285         * platform/qt/SharedTimerQt.h:
36286         (WebCore::SharedTimerQt::SharedTimerQt):
36287         (WebCore::SharedTimerQt::fire):
36288         * platform/qt/SystemTimeQt.cpp:
36289         (WebCore::currentTime):
36290         * platform/qt/TextEditQt.cpp:
36291         (WebCore::PlatformTextEdit::setParentWidget):
36292         (WebCore::PlatformTextEdit::text):
36293         (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
36295 2006-08-24  David Harrison  <harrison@apple.com>
36297         Reviewed by Justin.
36299         Follow up for...
36300         <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
36302         Fix bug I introduced in r15959.
36303         
36304         * bridge/mac/WebCoreAXObject.mm:
36305         (-[WebCoreAXObject accessibilityAttributeValue:]):
36306         Use topDocument in case we are in a subframe (we want the start/end of the overall page).
36308 2006-08-24  Brady Eidson  <beidson@apple.com>
36310         Reviewed by Alice
36312         Fixed my previous checkin, which was pruning the users entire icon db on startup everytime
36314         * loader/icon/IconDatabase.cpp:
36315         (WebCore::IconDatabase::retainIconForPageURL): Bind the PageURL to argument 1, as SQL bindings
36316           are indexed to 1, not 0
36318 2006-08-24  Geoffrey Garen  <ggaren@apple.com>
36320         Reviewed by Darin.
36322         Frame refactoring: changed FrameView clients so they no longer assume that
36323         FrameViews are Widgets that can tell you things about the platform, in 
36324         preparation for divorcing FrameViews from heavy-weight Widgets altogether.
36326         This patch makes Page, rather than Widget, responsible for answering
36327         questions about the screen (scale factor, color depth, etc.). Refactoring 
36328         aside, I think this makes more sense, since (a) the screen has nothing to do 
36329         with any particular widget and (b) Page was already half-responsible for
36330         answering those questions, anyway.
36332         Plus some random Windows build fix goodness.
36334         Layout tests still pass.
36336 2006-08-24  Timothy Hatcher  <timothy@apple.com>
36338         Reviewed by Hyatt.
36340         Allow changing the background color WebCore draws under transparent page backgrounds.
36341         No automated way to test. All tests pass, no performance regression.
36343         * bridge/mac/WebCoreFrameBridge.h:
36344         * bridge/mac/WebCoreFrameBridge.mm:
36345         (-[WebCoreFrameBridge setBaseBackgroundColor:]):
36346         * page/FrameView.cpp:
36347         (WebCore::FrameViewPrivate::FrameViewPrivate):
36348         (WebCore::FrameView::baseBackgroundColor):
36349         (WebCore::FrameView::setBaseBackgroundColor):
36350         * page/FrameView.h:
36351         * rendering/RenderBox.cpp:
36352         (WebCore::RenderBox::paintBackgroundExtended):
36353         * rendering/RenderView.cpp:
36354         (WebCore::RenderView::paintBoxDecorations):
36356 2006-08-24  Darin Adler  <darin@apple.com>
36358         Reviewed by Justin.
36360         - fix http://bugs.webkit.org/show_bug.cgi?id=10169
36361           REGRESSION: NativeTextArea: Text dragged from <input type=text> to textarea disappears
36362         - eliminate the EditCommandPtr class from editing; use PassRefPtr and RefPtr instead
36363         - other editing-related cleanup
36365         Test: fast/forms/drag-into-textarea.html
36367         * bridge/mac/FrameMac.h: Changed EditCommandPtr parameters to use PassRefPtr<EditCommand> instead.
36368         * bridge/win/FrameWin.h: Ditto.
36369         * bridge/mac/FrameMac.mm:
36370         (WebCore::FrameMac::registerCommandForUndoOrRedo): Ditto.
36371         (WebCore::FrameMac::registerCommandForUndo): Ditto.
36372         (WebCore::FrameMac::registerCommandForRedo): Ditto.
36374         * bridge/mac/WebCoreFrameBridge.mm:
36375         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
36376         Use applyCommand instead of EditCommandPtr. Also remove now-unneeded document parameter.
36377         (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): Ditto.
36378         (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): Ditto.
36380         * editing/AppendNodeCommand.h: Removed document parameter from constructor. Changed new child
36381         parameter to be a PassRefPtr. Reversed order of child and parent parameters.
36382         * editing/AppendNodeCommand.cpp:
36383         (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
36384         (WebCore::AppendNodeCommand::doApply): Ditto.
36385         (WebCore::AppendNodeCommand::doUnapply): Ditto.
36387         * editing/ApplyStyleCommand.h: Removed document parameter from constructor.
36388         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto.
36390         * editing/BreakBlockquoteCommand.h: Removed unneeded include of DeprecatedPtrList.h.
36391         * editing/BreakBlockquoteCommand.cpp: Moved the include of DeprecatedPtrList.h here.
36392         (WebCore::BreakBlockquoteCommand::doApply): Changed code to construct a Selection explicitly
36393         since setEndingSelection is no longer overloaded for Position.
36395         * editing/CompositeEditCommand.h: Added isFirstCommand function. Changed m_cmds from
36396         a DeprecatedValueList<EditCommandPtr> to a Vector<RefPtr<EditCommand>> and renamed it
36397         m_commands and made both doUnapply and doReapply private.
36398         * editing/CompositeEditCommand.cpp:
36399         (WebCore::CompositeEditCommand::doUnapply): Rewrote to use m_commands.
36400         (WebCore::CompositeEditCommand::doReapply): Ditto.
36401         (WebCore::CompositeEditCommand::applyCommandToComposite): Removed code to explicitly set up
36402         starting and ending selection -- now done inside setParent. Rewrote to use m_commands.
36403         (WebCore::CompositeEditCommand::applyStyle): Changed to not use EditCommandPtr.
36404         (WebCore::CompositeEditCommand::applyStyledElement): Ditto.
36405         (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
36406         (WebCore::CompositeEditCommand::insertParagraphSeparator): Ditto.
36407         (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
36408         (WebCore::CompositeEditCommand::appendNode): Ditto.
36409         (WebCore::CompositeEditCommand::removeNode): Ditto.
36410         (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
36411         (WebCore::CompositeEditCommand::splitTextNode): Ditto.
36412         (WebCore::CompositeEditCommand::splitElement): Ditto.
36413         (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
36414         (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
36415         (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
36416         (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
36417         (WebCore::CompositeEditCommand::inputText): Ditto.
36418         (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
36419         (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
36420         (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
36421         (WebCore::CompositeEditCommand::deleteSelection): Ditto.
36422         (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
36423         (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Also fixed a bug where the code
36424         would not remove an empty attribute -- will not come up in practice, but wrong in theory.
36425         (WebCore::CompositeEditCommand::setNodeAttribute): Changed to not use EditCommandPtr.
36426         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto.
36427         (WebCore::CompositeEditCommand::deleteInsignificantText): Rewrote to use a for loop.
36428         (WebCore::CompositeEditCommand::moveParagraphs): Changed to not use EditCommandPtr.
36429         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Changed code to construct a
36430         Selection explicitly since setEndingSelection is no longer overloaded for Position.
36431         (WebCore::createBlockPlaceholderElement): Collapsed this code so that the
36432         block placeholder class string is no longer spread across multiple functions.
36433         Perhaps we can get rid of this altogether at some point.
36435         * editing/DeleteFromTextNodeCommand.h: Removed unneeded document parameter from one constructor.
36436         Also removed unneeded destructor.
36437         * editing/DeleteFromTextNodeCommand.cpp:
36438         (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Ditto.
36440         * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor.
36441         * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.
36443         * editing/EditCommand.h: Removed ECommandState, isCompositeStep(), parent(), state(), setState(),
36444         and most overloads of setStartingSelection() and setEndingSelection(). Made document() protected
36445         and non-virtual. Made setStartingSelection() setEndingSelection(), and styleAtPosition() protected.
36446         Made doApply(), doUnapply(), and doReapply() private. Added startingRootEditableElement(),
36447         endingRootEditableElement(), m_startingRootEditableElement, and m_endingRootEditableElement, which
36448         are needed so we can determine which editable elements an editing operation affects. Changed setParent()
36449         and m_parent to use CompositeEditCommand instead of EditCommand. Removed EditCommandPtr. Added
36450         applyCommand() function that's convenient to use on a newly-created command.
36451         * editing/EditCommand.cpp:
36452         (WebCore::EditCommand::EditCommand): Removed initialization for m_state, and added it for starting
36453         and ending root editable elements.
36454         (WebCore::EditCommand::apply): Simplified check for top level by just checking m_parent. Removed
36455         code to assert and set m_start. Eliminated use of EditCommandPtr.
36456         (WebCore::EditCommand::unapply): Ditto.
36457         (WebCore::EditCommand::reapply): Ditto.
36458         (WebCore::EditCommand::setStartingSelection): Changed to set root editable element too. Also made this
36459         not change the starting selection of the parent unless this is the first command in the parent -- didn't
36460         make sense the way it was.
36461         (WebCore::EditCommand::setEndingSelection): Changed to set root editable element too.
36462         (WebCore::EditCommand::setParent): Added code to set the starting and ending selection on the child
36463         based on the ending selection of the parent, formerly done by callers.
36464         (WebCore::applyCommand): Added.
36466         * editing/FormatBlockCommand.h: Tweaked formatting.
36467         * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Ditto.
36468         * editing/InsertLineBreakCommand.h: Ditto.
36469         * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
36471         * editing/IndentOutdentCommand.cpp:
36472         (WebCore::IndentOutdentCommand::splitTreeToNode): Removed use of EditCommandPtr.
36473         (WebCore::IndentOutdentCommand::outdentParagraph): Updated for change to list type enum.
36474         (WebCore::IndentOutdentCommand::outdentRegion): Removed use of EditCommandPtr.
36476         * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor.
36477         * editing/InsertIntoTextNodeCommand.cpp:
36478         (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto.
36480         * editing/InsertListCommand.h: Renamed EListType to EList, and took the "Type" suffix off
36481         the constants.
36482         * editing/InsertListCommand.cpp:
36483         (WebCore::InsertListCommand::InsertListCommand): Ditto.
36484         (WebCore::InsertListCommand::doApply): Ditto.
36486         * editing/InsertNodeBeforeCommand.h: Removed unneeded document parameter from constructor
36487         and changed the parameter of the node to insert to a PassRefPtr.
36488         * editing/InsertNodeBeforeCommand.cpp:
36489         (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Ditto.
36491         * editing/InsertParagraphSeparatorCommand.cpp:
36492         (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr.
36494         * editing/InsertTextCommand.h: Changed insertTab to take const Position&.
36495         * editing/InsertTextCommand.cpp:
36496         (WebCore::InsertTextCommand::input): Ditto.
36497         (WebCore::InsertTextCommand::insertTab): Ditto.
36499         * editing/JSEditor.h: Tweaked formatting and names.
36500         * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr.
36502         * editing/JoinTextNodesCommand.h: Removed unneeeded document pointer
36503         * editing/JoinTextNodesCommand.cpp:
36504         (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): Ditto.
36505         * editing/MergeIdenticalElementsCommand.h: Ditto.
36506         * editing/MergeIdenticalElementsCommand.cpp:
36507         (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Ditto.
36509         * editing/ModifySelectionListLevel.h: Changed EListType to be named Type and be a member of
36510         IncreaseSelectionListLevelCommand. Also changed m_listElement to be a RefPtr<Node>.
36511         * editing/ModifySelectionListLevel.cpp:
36512         (WebCore::getStartEndListChildren): Changed parameters to be references instead of pointers.
36513         (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
36514         Changed to use Type instead of EListType.
36515         (WebCore::canIncreaseListLevel): Changed parameters to be references instead of pointers.
36516         (WebCore::IncreaseSelectionListLevelCommand::doApply): Updated for change to canIncreaseListLevel.
36517         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): Ditto.
36518         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
36519         Changed to not use EditCommandPtr.
36520         (WebCore::canDecreaseListLevel): Changed parameters to be references instead of pointers.
36521         (WebCore::DecreaseSelectionListLevelCommand::doApply): Updated for change to canDecreaseListLevel.
36522         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): Ditto.
36523         (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Changed to not use
36524         EditCommandPtr.
36526         * editing/MoveSelectionCommand.h: Removed unnecessary document parameter and changed the fragment
36527         parameter to be a PassRefPtr.
36528         * editing/MoveSelectionCommand.cpp:
36529         (WebCore::MoveSelectionCommand::MoveSelectionCommand): Ditto.
36530         (WebCore::MoveSelectionCommand::doApply): Got rid of use of EditCommandPtr.
36532         * editing/RebalanceWhitespaceCommand.h: Removed unnecessary document parameter.
36533         * editing/RebalanceWhitespaceCommand.cpp:
36534         (WebCore::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): Ditto.
36535         (WebCore::RebalanceWhitespaceCommand::doApply): Got rid of use of EditCommandPtr.
36537         * editing/RemoveCSSPropertyCommand.h: Tweaked formatting.
36539         * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter.
36540         * editing/RemoveNodeAttributeCommand.cpp:
36541         (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto.
36543         * editing/RemoveNodeCommand.h: Removed unnecessary document parameter.
36544         * editing/RemoveNodeCommand.cpp:
36545         (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto.
36547         * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter.
36548         * editing/RemoveNodePreservingChildrenCommand.cpp:
36549         (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto.
36551         * editing/ReplaceSelectionCommand.h: Change fragment parameter to a PassRefPtr.
36552         * editing/ReplaceSelectionCommand.cpp:
36553         (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
36554         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Ditto.
36555         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
36556         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
36558         * editing/Selection.h: Changed SEL_DEFAULT_AFFINITY to be a constant rather than
36559         a macro. Added constructors that take visible positions. Changed setBase and
36560         setExtent to take const Position& for better efficiency.
36561         * editing/Selection.cpp:
36562         (WebCore::Selection::Selection): Removed unnecessary double initialization of m_state
36563         and m_baseIsFirst in existing constructors. Added VisiblePosition-based constructors.
36565         * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter.
36566         * editing/SetNodeAttributeCommand.cpp:
36567         (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto.
36569         * editing/SplitElementCommand.h: Removed unnneeded document parameter.
36570         * editing/SplitElementCommand.cpp:
36571         (WebCore::SplitElementCommand::SplitElementCommand): Ditto.
36573         * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter.
36574         * editing/SplitTextNodeCommand.cpp:
36575         (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto.
36577         * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter.
36578         * editing/SplitTextNodeContainingElementCommand.cpp:
36579         (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto.
36581         * editing/TypingCommand.h: Replaced uses of EditCommandPtr with EditCommand*.
36582         Renamed openForMoveTyping() with isOpenForMoreTyping().
36583         * editing/TypingCommand.cpp:
36584         (WebCore::TypingCommand::deleteKeyPressed): Updated to remove use of EditCommandPtr.
36585         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
36586         (WebCore::TypingCommand::insertText): Ditto.
36587         (WebCore::TypingCommand::insertLineBreak): Ditto.
36588         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): Ditto.
36589         (WebCore::TypingCommand::insertParagraphSeparator): Ditto.
36590         (WebCore::TypingCommand::isOpenForMoreTypingCommand): Ditto.
36591         (WebCore::TypingCommand::closeTyping): Ditto.
36592         (WebCore::TypingCommand::typingAddedToOpenCommand): Ditto.
36593         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Ditto.
36595         * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter.
36596         * editing/WrapContentsInDummySpanCommand.cpp:
36597         (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto.
36599         * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of
36600         unsigned short.
36602         * page/Frame.h: Changed lastEditCommand() to return an EditCommand* and changed
36603         appliedEditing(), unappliedEditing(), reappliedEditing(), registerCommandForUndo(),
36604         and registerCommandForRedo() to take PassRefPtr<EditCommand>.
36605         * page/FramePrivate.h: Changed m_lastEditCommand to be a RefPtr<EditCommand>.
36606         * page/Frame.cpp:
36607         (WebCore::Frame::didOpenURL): Fixed for change to m_lastEditCommand.
36608         (WebCore::Frame::setFocusNodeIfNeeded): Call the rootEditableElement function
36609         from Selection to simplify the code.
36610         (WebCore::Frame::selectAll): Ditto.
36611         (WebCore::Frame::lastEditCommand): Updated for change to m_lastEditCommand.
36612         (WebCore::dispatchEditableContentChangedEvents): Added. This sends an event to
36613         both of the root editable elements involved in a change -- the start selection
36614         might be in a different element than the end selection.
36615         (WebCore::Frame::appliedEditing): Changed to call dispatchEditableContentChangedEvents,
36616         and to do it before setting the ending selection. Also update to use PassRefPtr instead
36617         of EditCommandPtr and change the order of setting m_lastEditCommand since passing it
36618         to registerCommandForUndo will take ownership and set it to 0.
36619         (WebCore::Frame::unappliedEditing): Ditto.
36620         (WebCore::Frame::reappliedEditing): Ditto.
36621         (WebCore::Frame::computeAndSetTypingStyle): Updated for removal of EditCommandPtr.
36622         (WebCore::Frame::applyStyle): Ditto.
36623         (WebCore::Frame::applyParagraphStyle): Ditto.
36625         * platform/gdk/FrameGdk.h: Updated for above changes.
36626         * platform/gdk/TemporaryLinkStubs.cpp: Updated for above changes.
36627         * platform/win/TemporaryLinkStubs.cpp: Updated for above changes.
36629 2006-08-24  Brady Eidson  <beidson@apple.com>
36631         Reviewed by Alice
36633         <rdar://problem/4697973> - Unacceptable delay on startup
36634         <rdar://problem/4690949> - Need to correctly prune unretained pageurls and icons on startup
36636         This patch was started by me and finished by Mark Rowe - we now special case all retains during
36637         startup into one huge sql transaction.  Also we track PageURL retains instead of IconURLs so pruning works right.
36638         Testing with reasonable sets of bookmarks/history (3000), startup time is neglibile.  Testing with a huge set of 
36639         bookmarks (40,000), startup has a noticable delay, but reasonable, and is inline with shipping safari which also 
36640         has a noticeable delay.
36642         * loader/icon/IconDatabase.cpp:
36643         (WebCore::IconDatabase::IconDatabase):
36644         (WebCore::IconDatabase::open): adding an initialStartupTransaction and pageRetainStatement
36645         (WebCore::IconDatabase::close): do cleanup on the initialStartupSQL stuff
36646         (WebCore::IconDatabase::retainIconForPageURL): Track initial PageURL retains in the temporary table
36647         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
36648         (WebCore::IconDatabase::retainIconURL): We no longer special case this on startup
36649         (WebCore::IconDatabase::releaseIconURL): We no longer special case this on startup
36650         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Handle the big transaction correctly and quickly
36651         (WebCore::IconDatabase::syncDatabase): Change the timing log message
36652         * loader/icon/IconDatabase.h:
36653         * loader/icon/SQLStatement.cpp:
36654         (WebCore::SQLStatement::bindText16): Added this - for reusing commonly used statements by just rebinding parameters.
36655         * loader/icon/SQLStatement.h:
36657 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36659         Reviewed/landed by Adam.
36661         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
36662         WebKit should have Qt platform support
36664         * CMakeLists.txt:
36665             Remove KCanvasMatrix.cpp because it no longer exists
36666             Remove platform/qt/test
36667         * platform/FloatSize.h:
36668         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
36669         * platform/image-decoders/gif/GIFImageDecoder.cpp:
36670         * platform/image-decoders/gif/GIFImageReader.cpp:
36671         * platform/image-decoders/ico/ICOImageDecoder.cpp:
36672         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
36673         * platform/image-decoders/png/PNGImageDecoder.cpp:
36674         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
36675             Added PLATFORM(QT) hooks in the image-decoders/, as they also need
36676             to work for Qt, not only for Cairo.
36677         * platform/qt/qt-encodings.txt: Added (required for build).
36679 2006-08-24  Adam Roben  <aroben@apple.com>
36681         Fixing a typo from last patch.
36683         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
36684         (WebCore::KRenderingPaintServerQt::setPenProperties):
36686 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36688         Reviewed/landed by Adam.
36690         Final cleanup to conform to WebKit coding style!
36692         * kcanvas/device/qt/KCanvasClipperQt.cpp:
36693         (WebCore::KCanvasClipperQt::applyClip):
36694         * kcanvas/device/qt/KCanvasClipperQt.h:
36695         * kcanvas/device/qt/KCanvasPathQt.cpp:
36696         * kcanvas/device/qt/KCanvasPathQt.h:
36697         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
36698         * kcanvas/device/qt/KRenderingDeviceQt.h:
36699         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
36700         (WebCore::KRenderingPaintServerLinearGradientQt::KRenderingPaintServerLinearGradientQt):
36701         (WebCore::KRenderingPaintServerRadialGradientQt::KRenderingPaintServerRadialGradientQt):
36702         * kcanvas/device/qt/KRenderingPaintServerGradientQt.h:
36703         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
36704         (WebCore::KRenderingPaintServerPatternQt::KRenderingPaintServerPatternQt):
36705         * kcanvas/device/qt/KRenderingPaintServerPatternQt.h:
36706         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
36707         (WebCore::KRenderingPaintServerQt::setPenProperties):
36708         * kcanvas/device/qt/KRenderingPaintServerQt.h:
36709         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
36710         (WebCore::KRenderingPaintServerSolidQt::KRenderingPaintServerSolidQt):
36711         (WebCore::KRenderingPaintServerSolidQt::renderPath):
36712         * kcanvas/device/qt/KRenderingPaintServerSolidQt.h:
36713         * kcanvas/device/qt/RenderPathQt.cpp:
36714         * kcanvas/device/qt/RenderPathQt.h:
36715         * platform/qt/AffineTransformQt.cpp:
36716         * platform/qt/BrowserExtensionQt.cpp:
36717         * platform/qt/BrowserExtensionQt.h:
36718         * platform/qt/ColorQt.cpp:
36719         (WebCore::Color::Color):
36720         * platform/qt/ComboBoxQt.cpp:
36721         (WebCore::PlatformComboBox::PlatformComboBox):
36722         (WebCore::PlatformComboBox::~PlatformComboBox):
36723         (WebCore::PlatformComboBox::setParentWidget):
36724         (WebCore::PlatformComboBox::appendGroupLabel):
36725         * platform/qt/CookieJarQt.cpp:
36726         * platform/qt/CursorQt.cpp:
36727         (WebCore::Cursors::Cursors::self):
36728         * platform/qt/FloatPointQt.cpp:
36729         * platform/qt/FloatRectQt.cpp:
36730         * platform/qt/FontCacheQt.cpp:
36731         (WebCore::FontCache::getSimilarFontPlatformData):
36732         (WebCore::FontCache::createFontPlatformData):
36733         * platform/qt/FontDataQt.cpp:
36734         * platform/qt/FontPlatformData.h:
36735         * platform/qt/FontPlatformDataQt.cpp:
36736         * platform/qt/FontQt.cpp:
36737         (WebCore::Font::operator QFont):
36738         (WebCore::Font::drawComplexText):
36739         (WebCore::Font::floatWidthForComplexText):
36740         * platform/qt/FrameQt.cpp:
36741         (WebCore::FrameQt::openURL):
36742         (WebCore::FrameQt::submitForm):
36743         (WebCore::FrameQt::urlSelected):
36744         (WebCore::FrameQt::keyEvent):
36745         * platform/qt/FrameQt.h:
36746         * platform/qt/GlyphMapQt.cpp:
36747         * platform/qt/GraphicsContextQt.cpp:
36748         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
36749         (WebCore::GraphicsContext::GraphicsContext):
36750         (WebCore::GraphicsContext::drawConvexPolygon):
36751         (WebCore::GraphicsContext::setFocusRingClip):
36752         (WebCore::GraphicsContext::clip):
36753         * platform/qt/ImageQt.cpp:
36754         (WebCore::Image::draw):
36755         (WebCore::Image::drawTiled):
36756         * platform/qt/ImageSourceQt.cpp:
36757         * platform/qt/IntPointQt.cpp:
36758         * platform/qt/IntRectQt.cpp:
36759         * platform/qt/IntSizeQt.cpp:
36760         * platform/qt/LineEditQt.cpp:
36761         (WebCore::PlatformLineEdit::PlatformLineEdit):
36762         (WebCore::PlatformLineEdit::~PlatformLineEdit):
36763         (WebCore::PlatformLineEdit::setParentWidget):
36764         (WebCore::PlatformLineEdit::addSearchResult):
36765         * platform/qt/ListBoxQt.cpp:
36766         (WebCore::ListBox::ListBox):
36767         (WebCore::ListBox::~ListBox):
36768         (WebCore::ListBox::setParentWidget):
36769         * platform/qt/PageQt.cpp:
36770         (WebCore::Page::windowRect):
36771         (WebCore::Page::setWindowRect):
36772         * platform/qt/PathQt.cpp:
36773         (WebCore::Path::addArc):
36774         * platform/qt/PlatformKeyboardEventQt.cpp:
36775         (WebCore::windowsKeyCodeForKeyEvent):
36776         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
36777         * platform/qt/PlatformMouseEventQt.cpp:
36778         * platform/qt/RenderThemeQt.cpp:
36779         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
36780         (WebCore::RenderThemeQt::applyTheme):
36781         (WebCore::RenderThemeQt::paintButton):
36782         (WebCore::RenderThemeQt::paintTextField):
36783         * platform/qt/ResourceLoaderCurl.cpp:
36784         (WebCore::ResourceLoader::assembleResponseHeaders):
36785         (WebCore::ResourceLoader::retrieveCharset):
36786         (WebCore::ResourceLoader::receivedResponse):
36787         * platform/qt/ResourceLoaderManager.cpp:
36788         (WebCore::ResourceLoaderManager::add):
36789         * platform/qt/ResourceLoaderManager.h:
36790         * platform/qt/ScreenQt.cpp:
36791         * platform/qt/ScrollViewCanvasQt.cpp:
36792         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
36793         * platform/qt/ScrollViewCanvasQt.h:
36794         * platform/qt/ScrollViewQt.cpp:
36795         * platform/qt/SharedTimerQt.cpp:
36796         * platform/qt/SharedTimerQt.h:
36797         (WebCore::SharedTimerQt::inst):
36798         * platform/qt/StringQt.cpp:
36799         * platform/qt/SystemTimeQt.cpp:
36800         * platform/qt/TemporaryLinkStubs.cpp:
36801         * platform/qt/TextEditQt.cpp:
36802         (WebCore::PlatformTextEdit::PlatformTextEdit):
36803         (WebCore::PlatformTextEdit::~PlatformTextEdit):
36804         (WebCore::PlatformTextEdit::setParentWidget):
36805         * platform/qt/WidgetQt.cpp:
36806         (WebCore::Widget::setQWidget):
36808 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36810         Reviewed and landed by Anders.
36812         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
36813         WebKit should have Qt platform support
36815         * CMakeLists.txt:
36816         * platform/qt/FrameQt.cpp: Added.
36817         (WebCore::doScroll):
36818         (WebCore::FrameView::isFrameView):
36819         (WebCore::FrameQt::FrameQt):
36820         (WebCore::FrameQt::init):
36821         (WebCore::FrameQt::~FrameQt):
36822         (WebCore::FrameQt::openURL):
36823         (WebCore::FrameQt::submitForm):
36824         (WebCore::FrameQt::urlSelected):
36825         (WebCore::FrameQt::userAgent):
36826         (WebCore::FrameQt::runJavaScriptAlert):
36827         (WebCore::FrameQt::runJavaScriptConfirm):
36828         (WebCore::FrameQt::locationbarVisible):
36829         (WebCore::FrameQt::setTitle):
36830         (WebCore::FrameQt::createFrame):
36831         (WebCore::FrameQt::passWheelEventToChildWidget):
36832         (WebCore::FrameQt::passSubframeEventToSubframe):
36833         (WebCore::FrameQt::objectContentType):
36834         (WebCore::FrameQt::createPlugin):
36835         (WebCore::FrameQt::passMouseDownEventToWidget):
36836         (WebCore::FrameQt::menubarVisible):
36837         (WebCore::FrameQt::personalbarVisible):
36838         (WebCore::FrameQt::statusbarVisible):
36839         (WebCore::FrameQt::toolbarVisible):
36840         (WebCore::FrameQt::createEmptyDocument):
36841         (WebCore::FrameQt::markedTextRange):
36842         (WebCore::FrameQt::incomingReferrer):
36843         (WebCore::FrameQt::mimeTypeForFileName):
36844         (WebCore::FrameQt::markMisspellingsInAdjacentWords):
36845         (WebCore::FrameQt::markMisspellings):
36846         (WebCore::FrameQt::lastEventIsMouseUp):
36847         (WebCore::FrameQt::saveDocumentState):
36848         (WebCore::FrameQt::restoreDocumentState):
36849         (WebCore::FrameQt::openURLRequest):
36850         (WebCore::FrameQt::scheduleClose):
36851         (WebCore::FrameQt::unfocusWindow):
36852         (WebCore::FrameQt::focusWindow):
36853         (WebCore::FrameQt::overrideMediaType):
36854         (WebCore::FrameQt::addMessageToConsole):
36855         (WebCore::FrameQt::runJavaScriptPrompt):
36856         (WebCore::FrameQt::getEmbedInstanceForWidget):
36857         (WebCore::FrameQt::getObjectInstanceForWidget):
36858         (WebCore::FrameQt::getAppletInstanceForWidget):
36859         (WebCore::FrameQt::registerCommandForUndo):
36860         (WebCore::FrameQt::registerCommandForRedo):
36861         (WebCore::FrameQt::clearUndoRedoOperations):
36862         (WebCore::FrameQt::issueUndoCommand):
36863         (WebCore::FrameQt::issueRedoCommand):
36864         (WebCore::FrameQt::issueCutCommand):
36865         (WebCore::FrameQt::issueCopyCommand):
36866         (WebCore::FrameQt::issuePasteCommand):
36867         (WebCore::FrameQt::issuePasteAndMatchStyleCommand):
36868         (WebCore::FrameQt::issueTransposeCommand):
36869         (WebCore::FrameQt::respondToChangedSelection):
36870         (WebCore::FrameQt::respondToChangedContents):
36871         (WebCore::FrameQt::shouldChangeSelection):
36872         (WebCore::FrameQt::partClearedInBegin):
36873         (WebCore::FrameQt::canGoBackOrForward):
36874         (WebCore::FrameQt::handledOnloadEvents):
36875         (WebCore::FrameQt::canPaste):
36876         (WebCore::FrameQt::canRedo):
36877         (WebCore::FrameQt::canUndo):
36878         (WebCore::FrameQt::print):
36879         (WebCore::FrameQt::shouldInterruptJavaScript):
36880         (WebCore::FrameQt::keyEvent):
36881         (WebCore::FrameQt::receivedResponse):
36882         (WebCore::FrameQt::receivedData):
36883         (WebCore::FrameQt::receivedAllData):
36884         (WebCore::FrameQt::setFrameGeometry):
36885         * platform/qt/FrameQt.h: Added.
36886         * platform/qt/ScrollViewCanvasQt.cpp: Added.
36887         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
36888         (WebCore::ScrollViewCanvasQt::paintEvent):
36889         (WebCore::ScrollViewCanvasQt::sizeHint):
36890         (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
36891         (WebCore::ScrollViewCanvasQt::mousePressEvent):
36892         (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
36893         (WebCore::ScrollViewCanvasQt::keyPressEvent):
36894         (WebCore::ScrollViewCanvasQt::keyReleaseEvent):
36895         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
36896         * platform/qt/ScrollViewCanvasQt.h: Added.
36897         * platform/qt/ScrollViewQt.cpp:
36898         (WebCore::ScrollView::setParentWidget):
36900 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36902         Reviewed by ap.
36904         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
36905         WebKit should have Qt platform support
36907         * platform/qt/FontCacheQt.cpp: Added.
36908         (WebCore::FontCache::platformInit):
36909         (WebCore::FontCache::getFontDataForCharacters):
36910         (WebCore::FontCache::getSimilarFontPlatformData):
36911         (WebCore::FontCache::getLastResortFallbackFont):
36912         (WebCore::FontCache::createFontPlatformData):
36913         * platform/qt/FontDataQt.cpp: Added.
36914         (WebCore::FontData::platformInit):
36915         (WebCore::FontData::platformDestroy):
36916         (WebCore::FontData::smallCapsFontData):
36917         (WebCore::FontData::containsCharacters):
36918         (WebCore::FontData::determinePitch):
36919         (WebCore::FontData::platformWidthForGlyph):
36920         * platform/qt/FontPlatformData.h: Added.
36921         * platform/qt/FontPlatformDataQt.cpp: Added.
36922         (WebCore::FontPlatformData::FontPlatformData):
36923         (WebCore::FontPlatformData::operator=):
36924         (WebCore::FontPlatformData::~FontPlatformData):
36925         (WebCore::FontPlatformData::isFixedPitch):
36926         (WebCore::FontPlatformData::setFont):
36927         (WebCore::FontPlatformData::font):
36928         (WebCore::FontPlatformData::hash):
36929         (WebCore::FontPlatformData::operator==):
36930         * platform/qt/FontQt.cpp: Added.
36931         (WebCore::Font::operator QFont):
36932         (WebCore::Font::drawGlyphs):
36933         (WebCore::Font::drawComplexText):
36934         (WebCore::Font::floatWidthForComplexText):
36935         * platform/qt/GlyphMapQt.cpp: Added.
36936         (WebCore::GlyphMap::fillPage):
36938 2006-08-24  David Harrison  <harrison@apple.com>
36940         Reinstate r15966 because layout test changes are correct.
36942         <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
36944         * editing/TextIterator.cpp:
36945         (WebCore::TextIterator::advance):
36947 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36949         Reviewed by ap.
36951         http://bugs.webkit.org/show_bug.cgi?id=10467
36952         WebKit should have Qt platform support (Part II)
36954         Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
36955         Use AffineTransform everywhere instead.
36957         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
36958         (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
36959         (WebCore::KRenderingDeviceContextQt::concatCTM):
36960         (WebCore::KRenderingDeviceContextQt::ctm):
36961         * kcanvas/device/qt/KRenderingDeviceQt.h:
36962         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
36963         (WebCore::KRenderingPaintServerLinearGradientQt::setup):
36964         (WebCore::KRenderingPaintServerRadialGradientQt::setup):
36966 2006-08-24  Rob Buis  <buis@kde.org>
36968         Reviewed by Darin.
36970         http://bugs.webkit.org/show_bug.cgi?id=10524
36971         svg transform: comma delimiting breaks display
36973         Properly parse transforms which use ',' as seperators.
36975         * ksvg2/svg/SVGTransformable.cpp:
36976         (SVGTransformable::parseTransformAttribute):
36978 2006-08-23  Darin Adler  <darin@apple.com>
36980         Reviewed by Maciej.
36982         - added an assert to make it slightly easier to debug the common case of
36983           calling document() on a node of 0
36985         * dom/Node.h: (WebCore::Node::document): ASSERT(this).
36987 2006-08-23  David Hyatt  <hyatt@apple.com>
36989         Refactor Cairo and CoreGraphics to use platform ifdefs.  This patch
36990         separates the graphics engines from their respective platforms and replaces
36991         #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).
36993         Reviewed by darin
36995         * WebCore.xcodeproj/project.pbxproj:
36996         * platform/AffineTransform.h:
36997         * platform/Color.h:
36998         * platform/Cursor.h:
36999         * platform/FloatPoint.h:
37000         * platform/FloatRect.h:
37001         * platform/FloatSize.h:
37002         * platform/Font.h:
37003         * platform/FontData.h:
37004         * platform/GlyphBuffer.h:
37005         (WebCore::GlyphBuffer::glyphAt):
37006         (WebCore::GlyphBuffer::advanceAt):
37007         (WebCore::GlyphBuffer::add):
37008         * platform/GraphicsContext.h:
37009         * platform/Image.h:
37010         * platform/ImageSource.h:
37011         * platform/IntPoint.h:
37012         * platform/IntRect.h:
37013         * platform/IntSize.h:
37014         * platform/ResourceLoader.h:
37015         * platform/ResourceLoaderClient.h:
37016         * platform/Widget.h:
37017         * platform/cairo/GraphicsContextCairo.cpp:
37018         * platform/cairo/ImageCairo.cpp:
37019         * platform/cairo/ImageSourceCairo.cpp:
37020         * platform/cg/AffineTransformCG.cpp:
37021         * platform/cg/FloatPointCG.cpp: Added.
37022         * platform/cg/FloatRectCG.cpp: Added.
37023         * platform/cg/FloatSizeCG.cpp: Added.
37024         * platform/cg/GraphicsContextCG.cpp:
37025         (WebCore::GraphicsContext::GraphicsContext):
37026         (WebCore::GraphicsContext::~GraphicsContext):
37027         (WebCore::GraphicsContext::setFocusRingClip):
37028         (WebCore::GraphicsContext::clearFocusRingClip):
37029         (WebCore::GraphicsContext::platformContext):
37030         (WebCore::GraphicsContext::drawRect):
37031         (WebCore::GraphicsContext::drawLine):
37032         * platform/cg/GraphicsContextPlatformPrivate.h: Added.
37033         (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
37034         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
37035         * platform/cg/ImageCG.cpp: Added.
37036         (WebCore::Image::drawTiled):
37037         * platform/cg/ImageSourceCG.cpp: Added.
37038         * platform/cg/IntPointCG.cpp: Added.
37039         * platform/cg/IntRectCG.cpp: Added.
37040         * platform/cg/IntSizeCG.cpp: Added.
37041         * platform/cg/PDFDocumentImage.cpp: Added.
37042         (WebCore::PDFDocumentImage::adjustCTM):
37043         * platform/cg/PDFDocumentImage.h: Added.
37044         * platform/cg/PathCG.cpp:
37045         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
37046         * platform/image-decoders/gif/GIFImageDecoder.cpp:
37047         * platform/image-decoders/gif/GIFImageReader.cpp:
37048         * platform/image-decoders/ico/ICOImageDecoder.cpp:
37049         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
37050         * platform/image-decoders/png/PNGImageDecoder.cpp:
37051         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
37052         * platform/mac/FloatPointMac.mm:
37053         * platform/mac/FloatRectMac.mm:
37054         * platform/mac/FloatSizeMac.mm:
37055         * platform/mac/GraphicsContextMac.mm:
37056         * platform/mac/ImageMac.mm:
37057         * platform/mac/ImageSourceMac.cpp: Removed.
37058         * platform/mac/IntPointMac.mm:
37059         * platform/mac/IntRectMac.mm:
37060         * platform/mac/IntSizeMac.mm:
37061         * platform/mac/PDFDocumentImage.h: Removed.
37062         * platform/mac/PDFDocumentImage.mm: Removed.
37064 2006-08-23  David Hyatt  <hyatt@apple.com>
37066         Remove the ifdef for platform scrollbars vs. engine scrollbars until
37067         engine scrollbars actually exist.
37069         * platform/ScrollBar.h:
37070         (WebCore::ScrollBar::hasPlatformScrollBars):
37072 2006-08-23  Justin Garcia  <justin.garcia@apple.com>
37074         Reviewed by harrison
37075         
37076         Removed the poorly named next/previousVisiblePosition
37077         and use next/previousCandidate and next/previousVisuallyDistinctCandidate.
37078         Removed the unused VisiblePosition::maxOffset()
37080         * editing/VisiblePosition.cpp:
37081         (WebCore::VisiblePosition::next):
37082         (WebCore::VisiblePosition::previous):
37083         (WebCore::VisiblePosition::canonicalPosition):
37084         * editing/VisiblePosition.h: 
37086 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
37088         Reviewed by Alexey. Landed by rwlbuis.
37090         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37091         WebKit should have Qt platform support (Part II)
37093         * platform/qt/GraphicsContextQt.cpp: Added.
37094         (WebCore::toQtCompositionMode):
37095         (WebCore::toQtLineCap):
37096         (WebCore::toQtLineJoin):
37097         (WebCore::TransparencyLayer::TransparencyLayer):
37098         (WebCore::TransparencyLayer::cleanup):
37099         (WebCore::TextShadow::TextShadow):
37100         (WebCore::TextShadow::isNull):
37101         (WebCore::GraphicsContextPlatformPrivate::p):
37102         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
37103         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
37104         (WebCore::GraphicsContext::GraphicsContext):
37105         (WebCore::GraphicsContext::~GraphicsContext):
37106         (WebCore::GraphicsContext::platformContext):
37107         (WebCore::GraphicsContext::savePlatformState):
37108         (WebCore::GraphicsContext::restorePlatformState):
37109         (WebCore::GraphicsContext::drawRect):
37110         (WebCore::adjustLineToPixelBounderies):
37111         (WebCore::GraphicsContext::drawLine):
37112         (WebCore::GraphicsContext::drawEllipse):
37113         (WebCore::GraphicsContext::drawArc):
37114         (WebCore::GraphicsContext::drawConvexPolygon):
37115         (WebCore::GraphicsContext::fillRect):
37116         (WebCore::GraphicsContext::addClip):
37117         (WebCore::GraphicsContext::drawFocusRing):
37118         (WebCore::GraphicsContext::setFocusRingClip):
37119         (WebCore::GraphicsContext::clearFocusRingClip):
37120         (WebCore::GraphicsContext::drawLineForText):
37121         (WebCore::GraphicsContext::drawLineForMisspelling):
37122         (WebCore::GraphicsContext::roundToDevicePixels):
37123         (WebCore::GraphicsContext::setShadow):
37124         (WebCore::GraphicsContext::clearShadow):
37125         (WebCore::GraphicsContext::beginTransparencyLayer):
37126         (WebCore::GraphicsContext::endTransparencyLayer):
37127         (WebCore::GraphicsContext::clearRect):
37128         (WebCore::GraphicsContext::strokeRect):
37129         (WebCore::GraphicsContext::setLineWidth):
37130         (WebCore::GraphicsContext::setLineCap):
37131         (WebCore::GraphicsContext::setLineJoin):
37132         (WebCore::GraphicsContext::setMiterLimit):
37133         (WebCore::GraphicsContext::setAlpha):
37134         (WebCore::GraphicsContext::setCompositeOperation):
37135         (WebCore::GraphicsContext::clip):
37136         (WebCore::GraphicsContext::translate):
37137         (WebCore::GraphicsContext::rotate):
37138         (WebCore::GraphicsContext::scale):
37139         (WebCore::GraphicsContext::addInnerRoundedRectClip):
37140         (WebCore::GraphicsContext::addRoundedRectClip):
37141         (WebCore::GraphicsContext::createRenderingDeviceContext):
37142         * platform/qt/ImageQt.cpp: Added.
37143         (WebCore::FrameData::clear):
37144         (WebCore::Image::initNativeData):
37145         (WebCore::Image::destroyNativeData):
37146         (WebCore::Image::invalidateNativeData):
37147         (WebCore::Image::loadResource):
37148         (WebCore::Image::supportsType):
37149         (WebCore::Image::draw):
37150         (WebCore::Image::drawTiled):
37151         (WebCore::Image::checkForSolidColor):
37152         * platform/qt/ImageSourceQt.cpp: Added.
37153         (WebCore::createDecoder):
37154         (WebCore::ImageSource::ImageSource):
37155         (WebCore::ImageSource::~ImageSource):
37156         (WebCore::ImageSource::initialized):
37157         (WebCore::ImageSource::setData):
37158         (WebCore::ImageSource::isSizeAvailable):
37159         (WebCore::ImageSource::size):
37160         (WebCore::ImageSource::repetitionCount):
37161         (WebCore::ImageSource::frameCount):
37162         (WebCore::ImageSource::createFrameAtIndex):
37163         (WebCore::ImageSource::frameDurationAtIndex):
37164         (WebCore::ImageSource::frameHasAlphaAtIndex):
37166 2006-08-23  Brady Eidson  <beidson@apple.com>
37168         Reviewed by Adele
37170         Moved default URL icon from WebKit to WebCore
37172         * Resources/urlIcon.tiff: Added.
37173         * WebCore.xcodeproj/project.pbxproj:
37174         * loader/icon/IconDataCache.cpp:
37175         (WebCore::IconDataCache::loadImageFromResource):
37176         * loader/icon/IconDataCache.h:
37177         * loader/icon/IconDatabase.cpp:
37178         (WebCore::IconDatabase::IconDatabase):
37179         (WebCore::IconDatabase::defaultIcon):
37180         * loader/icon/IconDatabase.h:
37182 2006-08-23  Adam Roben  <aroben@apple.com>
37184         Reviewed by Darin, Adele.
37186         Some popup refactoring/cleanup.
37188         * html/HTMLSelectElement.cpp:
37189         (WebCore::HTMLSelectElement::defaultEventHandler):
37190         * rendering/RenderMenuList.cpp:
37191         (WebCore::RenderMenuList::RenderMenuList):
37192         (WebCore::RenderMenuList::~RenderMenuList):
37193         (WebCore::RenderMenuList::showPopup):
37194         (WebCore::RenderMenuList::hidePopup):
37195         * rendering/RenderMenuList.h:
37196         (WebCore::RenderMenuList::popup):
37197         (WebCore::RenderMenuList::popupIsVisible):
37198         * rendering/RenderPopupMenu.h:
37199         * rendering/RenderPopupMenuMac.h:
37200         (WebCore::RenderPopupMenuMac::hidePopup):
37202 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
37204         Reviewed by Anders. Landed by rwlbuis.
37206         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37207         WebKit should have Qt platform support
37209         * platform/qt/ResourceLoaderCurl.cpp: Added.
37210         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
37211         (WebCore::ResourceLoader::~ResourceLoader):
37212         (WebCore::ResourceLoader::start):
37213         (WebCore::ResourceLoader::cancel):
37214         (WebCore::ResourceLoader::assembleResponseHeaders):
37215         (WebCore::ResourceLoader::retrieveCharset):
37216         (WebCore::ResourceLoader::receivedResponse):
37217         * platform/qt/ResourceLoaderManager.cpp: Added.
37218         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
37219         (WebCore::ResourceLoaderManager::get):
37220         (WebCore::ResourceLoaderManager::useSimpleTransfer):
37221         (WebCore::writeCallback):
37222         (WebCore::headerCallback):
37223         (WebCore::ResourceLoaderManager::downloadTimerCallback):
37224         (WebCore::ResourceLoaderManager::remove):
37225         (WebCore::ResourceLoaderManager::add):
37226         (WebCore::ResourceLoaderManager::cancel):
37227         * platform/qt/ResourceLoaderManager.h: Added.
37228         * platform/qt/StringQt.cpp: Added.
37229         (WebCore::String::String):
37230         (WebCore::String::operator QString):
37231         (WebCore::DeprecatedString::operator QString):
37233 2006-08-23  Brady Eidson  <beidson@apple.com>
37235         Reviewed by Maciej
37237         Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries
37239         * WebCore.xcodeproj/project.pbxproj: Reordered some files
37240         * loader/icon/IconDataCache.cpp: Use the new escapeSQLString()
37241         (WebCore::IconDataCache::writeToDatabase):
37242         * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout
37243         (WebCore::IconDatabase::retainIconURL):
37244         (WebCore::IconDatabase::releaseIconURL):
37245         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
37246         (WebCore::IconDatabase::establishIconIDForIconURL):
37247         (WebCore::imageDataForIconURLQuery):
37248         (WebCore::timeStampForIconURLQuery):
37249         (WebCore::iconURLForPageURLQuery):
37250         (WebCore::forgetPageURLQuery):
37251         (WebCore::setIconIDForPageURLQuery):
37252         (WebCore::getIconIDForIconURLQuery):
37253         (WebCore::addIconForIconURLQuery):
37254         (WebCore::hasIconForIconURLQuery):
37255         * loader/icon/SQLDatabase.h:
37256         (WebCore::escapeSQLString): Added
37258 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
37260         Reviewed by Brady.
37262         - assorted style cleanup of icon loader code:
37263         
37264         - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
37265         - split headers to be one per class, to match impl files
37266         - made files that are purely local in IconDatabase.cpp static
37267         - make each impl file include config.h as first header (and no config.h includes in other headers)
37268         - avoid multiple copies of Vector<unsigned char> for image data
37270         * WebCore.xcodeproj/project.pbxproj:
37271         * loader/icon/IconDataCache.cpp:
37272         * loader/icon/IconDataCache.h: Added.
37273         (WebCore::):
37274         (WebCore::IconDataCache::getTimestamp):
37275         (WebCore::IconDataCache::setTimestamp):
37276         (WebCore::IconDataCache::getIconURL):
37277         * loader/icon/IconDatabase.cpp:
37278         (WebCore::IconDatabase::imageDataForIconURL):
37279         (WebCore::IconDatabase::iconForPageURL):
37280         (WebCore::pageURLTableIsEmptyQuery):
37281         (WebCore::imageDataForIconURLQuery):
37282         (WebCore::timeStampForIconURLQuery):
37283         (WebCore::iconURLForPageURLQuery):
37284         (WebCore::forgetPageURLQuery):
37285         (WebCore::setIconIDForPageURLQuery):
37286         (WebCore::getIconIDForIconURLQuery):
37287         (WebCore::addIconForIconURLQuery):
37288         (WebCore::hasIconForIconURLQuery):
37289         * loader/icon/IconDatabase.h:
37290         * loader/icon/SQLDatabase.cpp:
37291         * loader/icon/SQLDatabase.h:
37292         * loader/icon/SQLStatement.cpp:
37293         (WebCore::SQLStatement::getColumnBlobAsVector):
37294         * loader/icon/SQLStatement.h: Added.
37295         (WebCore::SQLStatement::isPrepared):
37296         (WebCore::SQLStatement::prepareAndStep):
37297         (WebCore::SQLStatement::lastError):
37298         (WebCore::SQLStatement::lastErrorMsg):
37299         * loader/icon/SQLTransaction.cpp:
37300         * loader/icon/SQLTransaction.h: Added.
37302 2006-08-22  Brady Eidson  <beidson@apple.com>
37304         Reviewed by Maciej
37306         The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon
37307         As such, I'm renaming it to IconDataCache.
37308         Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the 
37309         TimeStamp when an icon is created or the data is changed.
37310         IconDataCache now has a method to write itself *to* a given database, instead of read itself from one.
37311         IconDatabase schema changes to have the timestamp set manually instead of via a trigger.
37312         The overall purpose of this change is to cache the timestamp, killing off a very common SQL query.
37314         * WebCore.xcodeproj/project.pbxproj: Renamed a file
37315         * loader/icon/IconDataCache.cpp: Added.
37316         (IconDataCache::IconDataCache):
37317         (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data
37318         (IconDataCache::manuallySetImageData): Delete the old image and create the new one
37319         (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB
37320         (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data
37321         * loader/icon/IconDatabase.cpp:
37322         (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version)
37323         (WebCore::IconDatabase::iconForPageURL): 
37324         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying
37325         (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate
37326         (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write
37327         (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate
37328         * loader/icon/IconDatabase.h:
37329         (WebCore::IconDataCache::getTimestamp):
37330         (WebCore::IconDataCache::setTimestamp):
37331         * loader/icon/SiteIcon.cpp: Removed.
37334 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
37336         Reviewed by harrison
37337         
37338         <http://bugs.webkit.org/show_bug.cgi?id=10449>
37339         REGRESSION(r15918): drag-into-marker.html failing
37341         * editing/ReplaceSelectionCommand.cpp:
37342         (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
37343         in a list item.
37345 2006-08-22  Brady Eidson  <beidson@apple.com>
37347         Reviewed by Kevin
37349         Added a check in getTIFFRepresentation to not proceed if the frame count is zero
37350         This is an error condition that was handled gracefully before - in certain circumstances
37351         the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
37352         or invalid data.  This small change bails out before that call if that call will definitely fail
37354         * platform/mac/ImageMac.mm:
37355         (WebCore::Image::getTIFFRepresentation):
37357 2006-08-22  David Harrison  <harrison@apple.com>
37359         Backed out my last change (r15966) because it broke lots of layout tests.
37361         * editing/TextIterator.cpp:
37362         (WebCore::TextIterator::advance):
37364 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
37366         Reviewed by Anders.
37368         - added some SPI indirections to support the following in WebKit/Loader:
37369             - pull more WebDataSource code into WebFrameLoader
37370             - make WebMainResourceLoader not depend on WebKit or on SPI
37372         * WebCore.exp:
37373         * WebCore.xcodeproj/project.pbxproj:
37374         * platform/mac/WebCoreSystemInterface.h:
37375         * platform/mac/WebCoreSystemInterface.mm:
37377 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
37379         Reviewed by harrison
37381         <rdar://problem/4052343&4052343&4426622> Mail hung on paste text
37382         
37383         * editing/ReplaceSelectionCommand.cpp:
37384         (WebCore::isInterchangeNewlineNode):
37385         (WebCore::isInterchangeConvertedSpaceSpan):
37386         (WebCore::ReplacementFragment::ReplacementFragment):
37387         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and
37388         remove them and remove style nodes and style spans which were only contributing redundant styles.
37389         (WebCore::ReplaceSelectionCommand::doApply):
37390         * editing/ReplaceSelectionCommand.h:
37392 2006-08-22  David Harrison  <harrison@apple.com>
37394         Reviewed by Darin.
37396         <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole
37398         This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.
37400         Test case added:
37401         * manual-tests/inline-input-marking.html: Added.
37402         Check that underlining of the inline input hole does not obscure the glyphs.
37403         
37404         * rendering/InlineTextBox.cpp:
37405         (WebCore::InlineTextBox::paintMarkedTextUnderline):
37406         Position underline at bottom of text box.
37407         Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px.
37409 2006-08-22  Rob Buis  <buis@kde.org>
37411         Reviewed by Eric.
37413         http://bugs.webkit.org/show_bug.cgi?id=10402
37414         REPRO: SVG crashes inside gradient code
37416         Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.
37418         * ksvg2/svg/SVGGradientElement.cpp:
37419         (SVGGradientElement::notifyAttributeChange):
37420         (SVGGradientElement::resourceNotification):
37422 2006-08-22  David Harrison  <harrison@apple.com>
37424         Reviewed by John.
37426         <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange
37428         * bridge/mac/WebCoreAXObject.mm:
37429         (headingLevel):
37430         (-[WebCoreAXObject headingLevel]):
37431         (-[WebCoreAXObject isHeading]):
37432         New. Heading level is per the tag (h1 == 1, h2 == 2, etc.)
37433         
37434         (-[WebCoreAXObject role]):
37435         (-[WebCoreAXObject roleDescription]):
37436         Add role and roleDescription for headings.
37437         
37438         (-[WebCoreAXObject value]):
37439         Value is the headingLevel.
37440         
37441         (AXAttributeStringSetHeadingLevel):
37442         (AXAttributedStringAppendText):
37443         Put text's heading level (if applicable) in the attributes.
37444         
37445 2006-08-22  David Harrison  <harrison@apple.com>
37447         Reviewed by John.
37449         <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
37451         Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too.
37452         
37453         * editing/TextIterator.cpp:
37454         (WebCore::TextIterator::advance):
37455         Include controls.
37457 2006-08-22  David Harrison  <harrison@apple.com>
37459         Reviewed by Maciej.
37461         <rdar://problem/4407336> Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker
37463         * bridge/mac/WebCoreAXObject.mm:
37464         (-[WebCoreAXObject textMarkerRange]):
37465         Use 0 and maxDeepOffset(), instead of caretMinOffset() and caretMaxRenderedOffset().
37466         Check for VisiblePositions being equal.  If so, adjust end one to its next().
37467         That happens with, e.g., buttons.
37469 2006-08-22  Rob Buis  <buis@kde.org>
37471         Reviewed by Eric.
37473         http://bugs.webkit.org/show_bug.cgi?id=10491
37474         KCanvasMatrix removal
37476         Remove KCanvasMatrix from project, using AffineTransform instead.
37478         * WebCore.xcodeproj/project.pbxproj:
37479         * kcanvas/KCanvasMatrix.cpp: Removed.
37480         * kcanvas/KCanvasMatrix.h: Removed.
37481         * kcanvas/KCanvasResources.cpp:
37482         (WebCore::KCanvasMarker::draw):
37483         * kcanvas/KCanvasResources.h:
37484         * kcanvas/RenderForeignObject.cpp:
37485         * kcanvas/RenderPath.h:
37486         * kcanvas/RenderSVGContainer.cpp:
37487         (WebCore::RenderSVGContainer::viewportTransform):
37488         (WebCore::RenderSVGContainer::getAspectRatio):
37489         * kcanvas/RenderSVGContainer.h:
37490         * kcanvas/RenderSVGText.cpp:
37491         * kcanvas/device/KRenderingDevice.h:
37492         * kcanvas/device/KRenderingPaintServerGradient.cpp:
37493         (WebCore::KRenderingPaintServerGradient::gradientTransform):
37494         (WebCore::KRenderingPaintServerGradient::setGradientTransform):
37495         (WebCore::KRenderingPaintServerGradient::externalRepresentation):
37496         * kcanvas/device/KRenderingPaintServerGradient.h:
37497         * kcanvas/device/KRenderingPaintServerPattern.cpp:
37498         (WebCore::KRenderingPaintServerPattern::patternTransform):
37499         (WebCore::KRenderingPaintServerPattern::setPatternTransform):
37500         (WebCore::KRenderingPaintServerPattern::externalRepresentation):
37501         * kcanvas/device/KRenderingPaintServerPattern.h:
37502         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
37503         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
37504         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
37505         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
37506         (WebCore::KRenderingDeviceContextQuartz::concatCTM):
37507         (WebCore::KRenderingDeviceContextQuartz::ctm):
37508         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
37509         (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
37510         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
37511         (WebCore::KRenderingPaintServerPatternQuartz::setup):
37512         * kcanvas/device/quartz/QuartzSupport.mm:
37513         * ksvg2/misc/KCanvasRenderingStyle.h:
37514         * ksvg2/svg/SVGAnimateTransformElement.cpp:
37515         * ksvg2/svg/SVGAnimateTransformElement.h:
37516         * ksvg2/svg/SVGLinearGradientElement.cpp:
37517         (SVGLinearGradientElement::buildGradient):
37518         * ksvg2/svg/SVGPatternElement.cpp:
37519         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
37520         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
37521         (WebCore::SVGPatternElement::notifyAttributeChange):
37522         * ksvg2/svg/SVGPatternElement.h:
37523         * ksvg2/svg/SVGRadialGradientElement.cpp:
37524         (WebCore::SVGRadialGradientElement::buildGradient):
37526 2006-08-22  Rob Buis  <buis@kde.org>
37528         Reviewed by Eric.
37530         http://bugs.webkit.org/show_bug.cgi?id=10405
37531         REPRO: SVG Maze crashes in RenderPath code
37533         Do not render a path when it is empty so maze15.svg does not crash anymore.
37534         Also get rid of a runtime warning issued by CGContextGetPathBoundingBox.
37536         * kcanvas/RenderPath.cpp:
37537         (WebCore::RenderPath::paint):
37538         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
37539         (WebCore::KCanvasPathQuartz::strokeBoundingBox):
37541 2006-08-21  Brady Eidson  <beidson@apple.com>
37543         Reviewed by Maciej
37545         <rdar://4690949> - New IconDB: Need to prune unretained icons on startup
37547         Added a flag to track whether or not the initial pruning has taken place on startup
37548         If that flag is not set, IconURL retain counts will be tracked in a temporary db table
37549         in addition to the in-memory hash.  Then when the timer fires after initial retains
37550         are complete, we prune those icons not in the retain table, prune dangling PageURL
37551         references, delete the temporary table, and set the flag - and carry on as normal
37553         * loader/icon/IconDatabase.cpp:
37554         (WebCore::IconDatabase::IconDatabase): initialize the flag
37555         (WebCore::IconDatabase::open): changed the schema of the temporary table
37556         (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up
37557         (WebCore::IconDatabase::releaseIconURL): ditto
37558         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then
37559           wipe all the PageURLs who no longer point to a valid IconURL
37560         * loader/icon/IconDatabase.h:
37562 2006-08-21  Alexey Proskuryakov  <ap@nypop.com>
37564         Reviewed by Eric.
37566         http://bugs.webkit.org/show_bug.cgi?id=10419
37567         XSLTProcessor transformToFragment fails because of an XML declaration
37569         Test: fast/xsl/transformToFragment-XML-declaration.html
37571         * xml/XSLTProcessor.cpp:
37572         (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.
37574 2006-08-21  David Harrison  <harrison@apple.com>
37576         Reviewed by Justin.
37578         <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
37580         Added support for the NSAccessibilityMisspelledTextAttribute.
37581         
37582         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
37583         is not possible.  See following bug...
37584             <rdar://problem/4256882> Need automated testing support for accessibility APIs
37586         * bridge/mac/WebCoreAXObject.mm:
37587         Lots of trivial formatting in many methods.
37588         
37589         (-[WebCoreAXObject accessibilityAttributeValue:]):
37590         Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of
37591         of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling
37592         attribute.
37594         (WebCore::AXAttributeStringSetSpelling): 
37595         New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.
37597         (-[WebCoreAXObject AXAttributedStringAppendText:]):
37598         Added call to AXAttributeStringSetSpelling.
37599         
37600         * editing/visible_units.cpp:
37601         (WebCore::startOfDocument):
37602         (WebCore::endOfDocument):
37603         Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*,
37604         so a previously existing VisiblePosition is not required.
37605         
37606         * editing/visible_units.h:
37607         Declare new forms of startOfDocument and endOfDocument.
37609 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
37611         Reviewed by Eric.
37613         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37614         WebKit should have Qt platform support
37616         * platform/qt/TemporaryLinkStubs.cpp: Added.
37617         (JavaAppletWidget::JavaAppletWidget):
37618         (Font::selectionRectForComplexText):
37619         (Font::offsetForPositionForComplexText):
37620         (WebCore::refreshPlugins):
37621         (WebCore::focusRingColor):
37622         (Image::drawTiled):
37623         (WebCore::TextField::selectAll):
37624         (WebCore::TextField::addSearchResult):
37625         (WebCore::TextField::selectionStart):
37626         (WebCore::TextField::hasSelectedText):
37627         (WebCore::TextField::selectedText):
37628         (WebCore::TextField::setAutoSaveName):
37629         (WebCore::TextField::checksDescendantsForFocus):
37630         (WebCore::TextField::setSelection):
37631         (WebCore::TextField::setMaxResults):
37632         (WebCore::TextField::edited):
37633         (WebCore::TextField::focusPolicy):
37634         (WebCore::TextField::TextField):
37635         (WebCore::TextField::~TextField):
37636         (WebCore::TextField::setFont):
37637         (WebCore::TextField::setAlignment):
37638         (WebCore::TextField::setWritingDirection):
37639         (WebCore::TextField::maxLength):
37640         (WebCore::TextField::setMaxLength):
37641         (WebCore::TextField::text):
37642         (WebCore::TextField::setText):
37643         (WebCore::TextField::cursorPosition):
37644         (WebCore::TextField::setCursorPosition):
37645         (WebCore::TextField::setEdited):
37646         (WebCore::TextField::setReadOnly):
37647         (WebCore::TextField::setPlaceholderString):
37648         (WebCore::TextField::setColors):
37649         (WebCore::TextField::sizeForCharacterWidth):
37650         (WebCore::TextField::baselinePosition):
37651         (WebCore::TextField::setLiveSearch):
37652         (WebCore::Slider::Slider):
37653         (WebCore::Slider::sizeHint):
37654         (WebCore::Slider::~Slider):
37655         (WebCore::Slider::setValue):
37656         (WebCore::Slider::setMaxValue):
37657         (WebCore::Slider::setMinValue):
37658         (WebCore::Slider::setFont):
37659         (WebCore::Slider::value):
37660         (WebCore::Slider::focusPolicy):
37661         (WebCore::ScrollBar::ScrollBar):
37662         (WebCore::ScrollBar::setSteps):
37663         (WebCore::ScrollBar::scroll):
37664         (WebCore::ScrollBar::setValue):
37665         (WebCore::ScrollBar::setKnobProportion):
37666         (WebCore::PlatformScrollBar::PlatformScrollBar):
37667         (WebCore::PlatformScrollBar::~PlatformScrollBar):
37668         (WebCore::PlatformScrollBar::width):
37669         (WebCore::PlatformScrollBar::height):
37670         (WebCore::PlatformScrollBar::setEnabled):
37671         (WebCore::PlatformScrollBar::paint):
37672         (WebCore::PlatformScrollBar::setScrollBarValue):
37673         (WebCore::PlatformScrollBar::setKnobProportion):
37674         (WebCore::PlatformScrollBar::setRect):
37675         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
37676         (WebCore::CheckCacheObjectStatus):
37677         (WebCore::CheckIfReloading):
37678         (WebCore::ServeSynchronousRequest):
37679         (WebCore::historyContains):
37680         (WebCore::submitButtonDefaultLabel):
37681         (WebCore::inputElementAltText):
37682         (WebCore::resetButtonDefaultLabel):
37683         (WebCore::defaultLanguage):
37684         (WebCore::findNextSentenceFromIndex):
37685         (WebCore::findSentenceBoundary):
37686         (WebCore::findNextWordFromIndex):
37687         (WebCore::findWordBoundary):
37688         (Frame::setNeedsReapplyStyles):
37689         (WebCore::screenDepthPerComponent):
37690         (WebCore::screenIsMonochrome):
37691         (WebCore::searchableIndexIntroduction):
37692         (WebCore::setFocusRingColorChangeFunction):
37693         (FrameView::updateBorder):
37694         (loadResourceIntoArray):
37695         (PlugInInfoStore::createPluginInfoForPluginAtIndex):
37696         (PlugInInfoStore::pluginCount):
37697         (WebCore::PlugInInfoStore::supportsMIMEType):
37698         (FileButton::FileButton):
37699         (FileButton::click):
37700         (FileButton::sizeForCharacterWidth):
37701         (FileButton::focusPolicy):
37702         (FileButton::frameGeometry):
37703         (FileButton::setFilename):
37704         (FileButton::baselinePosition):
37705         (FileButton::setFrameGeometry):
37706         (FileButton::setDisabled):
37707         (WebCore::supportedKeySizes):
37708         (WebCore::signedPublicKeyAndChallengeString):
37710 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
37712         Reviewed by Maciej.
37714         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37715         WebKit should have Qt platform support
37717         * platform/qt/CursorQt.cpp: Added.
37718         (WebCore::Cursor::Cursor):
37719         (WebCore::Cursor::~Cursor):
37720         (WebCore::Cursor::operator=):
37721         (WebCore::Cursors::Cursors::self):
37722         (WebCore::moveCursor):
37723         (WebCore::crossCursor):
37724         (WebCore::handCursor):
37725         (WebCore::iBeamCursor):
37726         (WebCore::waitCursor):
37727         (WebCore::helpCursor):
37728         (WebCore::eastResizeCursor):
37729         (WebCore::northResizeCursor):
37730         (WebCore::northEastResizeCursor):
37731         (WebCore::northWestResizeCursor):
37732         (WebCore::southResizeCursor):
37733         (WebCore::southEastResizeCursor):
37734         (WebCore::southWestResizeCursor):
37735         (WebCore::westResizeCursor):
37736         (WebCore::northSouthResizeCursor):
37737         (WebCore::eastWestResizeCursor):
37738         (WebCore::northEastSouthWestResizeCursor):
37739         (WebCore::northWestSouthEastResizeCursor):
37740         (WebCore::columnResizeCursor):
37741         (WebCore::rowResizeCursor):
37742         * platform/qt/RenderThemeQt.cpp: Added.
37743         (WebCore::RenderThemeQt::RenderThemeQt):
37744         (WebCore::RenderThemeQt::supportsHover):
37745         (WebCore::RenderThemeQt::paintCheckbox):
37746         (WebCore::RenderThemeQt::paintRadio):
37747         (WebCore::theme):
37748         (WebCore::RenderThemeQt::isControlStyled):
37749         (WebCore::RenderThemeQt::controlSupportsTints):
37750         (WebCore::RenderThemeQt::systemFont):
37751         (WebCore::RenderThemeQt::createPopupMenu):
37752         (WebCore::RenderThemeQt::addIntrinsicMargins):
37753         (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo):
37754         (WebCore::RenderThemeQt::setCheckboxSize):
37755         (WebCore::RenderThemeQt::setRadioSize):
37756         (WebCore::RenderThemeQt::supportsFocus):
37757         (WebCore::RenderThemeQt::applyTheme):
37758         (WebCore::RenderThemeQt::adjustButtonStyle):
37759         (WebCore::RenderThemeQt::paintButton):
37760         (WebCore::RenderThemeQt::adjustTextFieldStyle):
37761         (WebCore::RenderThemeQt::paintTextField):
37763 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
37765         Reviewed by Maciej.
37767         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37768         WebKit should have Qt platform support
37770         * platform/qt/SharedTimerQt.cpp: Added.
37771         (WebCore:setSharedTimerFiredFunction):
37772         (WebCore::setSharedTimerFireTime):
37773         (WebCore::stopSharedTimer):
37774         * platform/qt/SharedTimerQt.h: Added.
37775         (WebCore::SharedTimerQt::SharedTimerQt):
37776         (WebCore::SharedTimerQt::~SharedTimerQt):
37777         (WebCore::SharedTimerQt::inst):
37778         (WebCore::SharedTimerQt::fire):
37779         * platform/qt/SystemTimeQt.cpp: Added.
37780         (WebCore::currentTime):
37782 2006-08-21  Brady Eidson  <beidson@apple.com>
37784         Reviewed by John
37786         -Defers writing to the database via a timer and handles starting the timer
37787          intelligently
37789         * loader/icon/IconDatabase.cpp:
37790         (WebCore::IconDatabase::IconDatabase):
37791         (WebCore::IconDatabase::open): Don't start the update timer by default
37792         (WebCore::IconDatabase::close): Call syncDatabase()
37793         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Call syncDatabase()
37794         (WebCore::IconDatabase::setIconURLForPageURL): Setup the cached url, but defer the DB call
37795         (WebCore::IconDatabase::setIconURLForPageURLInDatabase): Actually commit the url to the DB
37796         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
37797         (WebCore::IconDatabase::updateDatabase): The updateTimer calls this, which just calls syncDatabase()
37798         (WebCore::IconDatabase::syncDatabase): Add and remove pending pageURLs and iconURLs, and stop the updateTimer
37799         * loader/icon/IconDatabase.h:
37801 2006-08-21  Alexey Proskuryakov  <ap@nypop.com>
37803         Reviewed by Eric.
37805         - http://bugs.webkit.org/show_bug.cgi?id=10429
37806           XSLTProcessor.transformToFragment crashes if the owner document is empty
37808         Test: fast/js/xslt-fragment-in-empty-doc.html
37810         * dom/XMLTokenizer.cpp:
37811         (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty.
37813 2006-08-21  Brady Eidson  <beidson@apple.com>
37815         Reviewed by Anders
37817         -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
37818          In the near future, we'll also have timer-based deferred *addition* of database records
37819         -Keep retain/release counts in a hash instead of a DB table
37820         -Keep only one hash record for the SiteIcons
37821         -Renamed some methods for clarity
37823         * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
37824         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
37825         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
37826         * loader/icon/IconDatabase.cpp:
37827         (WebCore::IconDatabase::IconDatabase):
37828         (WebCore::IconDatabase::open): Added new timer setup
37829         (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
37830         (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
37831         (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
37832         (WebCore::IconDatabase::retainIconURL): Added
37833         (WebCore::IconDatabase::releaseIconURL): Added
37834         (WebCore::IconDatabase::forgetPageURL):  Added
37835         (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
37836         (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
37837         (WebCore::IconDatabase::setIconURLForPageURL):
37838         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
37839         (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
37840         (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
37841         * loader/icon/IconDatabase.h: Added multiple stuffs
37843 2006-08-21  Brady Eidson  <beidson@apple.com>
37845         Reviewed by Maciej's rubberstamp
37847         Removed stale file references from the Xcode.proj
37849         * WebCore.xcodeproj/project.pbxproj:
37851 2006-08-20  Nikolas Zimmermann  <zimmermann@kde.org>
37853         Reviewed by Maciej. Landed by rwlbuis.
37855         Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10463
37856         WebKit should have Qt platform support
37858         Removing HelperQt.h usage by creating appropriate operators
37859         constructor in some of the platform classes, as suggested by Darin.
37861         * CMakeLists.txt:
37862         * platform/DeprecatedString.h:
37863         * platform/Font.h:
37864         * platform/PlatformString.h:
37865         * platform/qt/ComboBoxQt.cpp:
37866         (WebCore::PlatformComboBox::appendItem):
37867         (WebCore::PlatformComboBox::appendGroupLabel):
37868         (WebCore::PlatformComboBox::setFont):
37869         * platform/qt/LineEditQt.cpp:
37870         (WebCore::PlatformLineEdit::setFont):
37871         (WebCore::PlatformLineEdit::setText):
37872         (WebCore::PlatformLineEdit::text):
37873         (WebCore::PlatformLineEdit::selectedText):
37874         * platform/qt/ListBoxQt.cpp:
37875         (WebCore::ListBox::setFont):
37876         (WebCore::ListBox::appendItem):
37877         * platform/qt/PlatformKeyboardEventQt.cpp:
37878         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
37879         * platform/qt/ScrollViewQt.cpp:
37880         * platform/qt/StringQt.cpp: Added.
37881         (WebCore::String::String):
37882         (WebCore::String::operator QString):
37883         (WebCore::DeprecatedString::operator QString):
37884         * platform/qt/TextEditQt.cpp:
37885         * platform/qt/WidgetQt.cpp:
37886         (WebCore::Widget::setFont):
37888 2006-08-18  Steve Falkenburg  <sfalken@apple.com>
37890         Rubber stamped by adele.
37891         
37892         Fix call to WebFormDelegate's textFieldDidBeginEditing.
37894         * rendering/RenderTextControl.cpp:
37895         (WebCore::RenderTextControl::subtreeHasChanged):
37897 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
37899         Reviewed by Eric. Landed by rwlbuis.
37901         Next chunk of the implementation for:
37902         http://bugs.webkit.org/show_bug.cgi?id=10467
37904         WebKit should have Qt platform support
37906         * platform/qt/KeyboardCodes.h: Added.
37907         * platform/qt/PlatformKeyboardEventQt.cpp: Added.
37908         (WebCore::keyIdentifierForQtKeyCode):
37909         (WebCore::windowsKeyCodeForKeyEvent):
37910         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
37911         * platform/qt/PlatformMouseEventQt.cpp: Added.
37912         (WebCore::):
37913         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
37915 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
37917         Reviewed by Eric. Landed by rwlbuis.
37919         Next chunk of the implementation for:
37920         http://bugs.webkit.org/show_bug.cgi?id=10467
37922         WebKit should have Qt platform support
37924         * platform/qt/AffineTransformQt.cpp: Added.
37925         (WebCore::AffineTransform::AffineTransform):
37926         (WebCore::AffineTransform::setMatrix):
37927         (WebCore::AffineTransform::map):
37928         (WebCore::AffineTransform::mapRect):
37929         (WebCore::AffineTransform::isIdentity):
37930         (WebCore::AffineTransform::m11):
37931         (WebCore::AffineTransform::m12):
37932         (WebCore::AffineTransform::m21):
37933         (WebCore::AffineTransform::m22):
37934         (WebCore::AffineTransform::dx):
37935         (WebCore::AffineTransform::dy):
37936         (WebCore::AffineTransform::reset):
37937         (WebCore::AffineTransform::scale):
37938         (WebCore::AffineTransform::rotate):
37939         (WebCore::AffineTransform::translate):
37940         (WebCore::AffineTransform::shear):
37941         (WebCore::AffineTransform::det):
37942         (WebCore::AffineTransform::invert):
37943         (WebCore::AffineTransform::operator QMatrix):
37944         (WebCore::AffineTransform::operator==):
37945         (WebCore::AffineTransform::operator*=):
37946         (WebCore::AffineTransform::operator*):
37947         * platform/qt/BrowserExtensionQt.cpp: Added.
37948         (WebCore::BrowserExtensionQt::BrowserExtensionQt):
37949         (WebCore::BrowserExtensionQt::canRunModal):
37950         (WebCore::BrowserExtensionQt::createNewWindow):
37951         (WebCore::BrowserExtensionQt::canRunModalNow):
37952         (WebCore::BrowserExtensionQt::runModal):
37953         (WebCore::BrowserExtensionQt::goBackOrForward):
37954         (WebCore::BrowserExtensionQt::historyURL):
37955         (WebCore::BrowserExtensionQt::setTypedIconURL):
37956         (WebCore::BrowserExtensionQt::setIconURL):
37957         (WebCore::BrowserExtensionQt::getHistoryLength):
37958         * platform/qt/BrowserExtensionQt.h: Added.
37959         * platform/qt/CookieJarQt.cpp: Added.
37960         (WebCore::setCookies):
37961         (WebCore::cookies):
37962         (WebCore::cookiesEnabled):
37963         * platform/qt/PageQt.cpp: Added.
37964         (WebCore::rootWindowForFrame):
37965         (WebCore::Page::windowRect):
37966         (WebCore::Page::setWindowRect):
37967         * platform/qt/PathQt.cpp: Added.
37968         (WebCore::Path::Path):
37969         (WebCore::Path::~Path):
37970         (WebCore::Path::operator=):
37971         (WebCore::Path::contains):
37972         (WebCore::Path::translate):
37973         (WebCore::Path::boundingRect):
37974         (WebCore::Path::moveTo):
37975         (WebCore::Path::addLineTo):
37976         (WebCore::Path::addQuadCurveTo):
37977         (WebCore::Path::addBezierCurveTo):
37978         (WebCore::Path::addArcTo):
37979         (WebCore::Path::closeSubpath):
37980         (WebCore::Path::addArc):
37981         (WebCore::Path::addRect):
37982         (WebCore::Path::addEllipse):
37983         (WebCore::Path::clear):
37984         * platform/qt/ScreenQt.cpp: Added.
37985         (WebCore::screenRect):
37986         (WebCore::screenDepth):
37987         (WebCore::usableScreenRect):
37990 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
37992         Reviewed by Eric. Landed by rwlbuis.
37994         First chunk of the implementation for:
37995         http://bugs.webkit.org/show_bug.cgi?id=10467
37997         WebKit should have Qt platform support
37999         * platform/qt/ComboBoxQt.cpp: Added.
38000         (WebCore::PlatformComboBox::PlatformComboBox):
38001         (WebCore::PlatformComboBox::~PlatformComboBox):
38002         (WebCore::PlatformComboBox::setParentWidget):
38003         (WebCore::PlatformComboBox::clear):
38004         (WebCore::PlatformComboBox::appendItem):
38005         (WebCore::PlatformComboBox::appendGroupLabel):
38006         (WebCore::PlatformComboBox::appendSeparator):
38007         (WebCore::PlatformComboBox::setCurrentItem):
38008         (WebCore::PlatformComboBox::sizeHint):
38009         (WebCore::PlatformComboBox::frameGeometry):
38010         (WebCore::PlatformComboBox::setFrameGeometry):
38011         (WebCore::PlatformComboBox::baselinePosition):
38012         (WebCore::PlatformComboBox::setFont):
38013         (WebCore::PlatformComboBox::focusPolicy):
38014         (WebCore::PlatformComboBox::itemSelected):
38015         (WebCore::PlatformComboBox::setWritingDirection):
38016         (WebCore::PlatformComboBox::populate):
38017         (WebCore::PlatformComboBox::populateMenu):
38018         * platform/qt/LineEditQt.cpp: Added.
38019         (WebCore::PlatformLineEdit::PlatformLineEdit):
38020         (WebCore::PlatformLineEdit::~PlatformLineEdit):
38021         (WebCore::PlatformLineEdit::setParentWidget):
38022         (WebCore::PlatformLineEdit::setColors):
38023         (WebCore::PlatformLineEdit::setAlignment):
38024         (WebCore::PlatformLineEdit::setCursorPosition):
38025         (WebCore::PlatformLineEdit::cursorPosition):
38026         (WebCore::PlatformLineEdit::setEdited):
38027         (WebCore::PlatformLineEdit::edited):
38028         (WebCore::PlatformLineEdit::setFont):
38029         (WebCore::PlatformLineEdit::setMaxLength):
38030         (WebCore::PlatformLineEdit::maxLength):
38031         (WebCore::PlatformLineEdit::setReadOnly):
38032         (WebCore::PlatformLineEdit::isReadOnly):
38033         (WebCore::PlatformLineEdit::setText):
38034         (WebCore::PlatformLineEdit::text):
38035         (WebCore::PlatformLineEdit::setWritingDirection):
38036         (WebCore::PlatformLineEdit::selectAll):
38037         (WebCore::PlatformLineEdit::hasSelectedText):
38038         (WebCore::PlatformLineEdit::selectionStart):
38039         (WebCore::PlatformLineEdit::selectedText):
38040         (WebCore::PlatformLineEdit::setSelection):
38041         (WebCore::PlatformLineEdit::sizeForCharacterWidth):
38042         (WebCore::PlatformLineEdit::baselinePosition):
38043         (WebCore::PlatformLineEdit::focusPolicy):
38044         (WebCore::PlatformLineEdit::checksDescendantsForFocus):
38045         (WebCore::PlatformLineEdit::setLiveSearch):
38046         (WebCore::PlatformLineEdit::setAutoSaveName):
38047         (WebCore::PlatformLineEdit::setMaxResults):
38048         (WebCore::PlatformLineEdit::setPlaceholderString):
38049         (WebCore::PlatformLineEdit::addSearchResult):
38050         * platform/qt/ListBoxQt.cpp: Added.
38051         (WebCore::ListBox::ListBox):
38052         (WebCore::ListBox::~ListBox):
38053         (WebCore::ListBox::setParentWidget):
38054         (WebCore::ListBox::sizeForNumberOfLines):
38055         (WebCore::ListBox::setSelectionMode):
38056         (WebCore::ListBox::clear):
38057         (WebCore::ListBox::doneAppendingItems):
38058         (WebCore::ListBox::setSelected):
38059         (WebCore::ListBox::isSelected):
38060         (WebCore::ListBox::setEnabled):
38061         (WebCore::ListBox::isEnabled):
38062         (WebCore::ListBox::setWritingDirection):
38063         (WebCore::ListBox::focusPolicy):
38064         (WebCore::ListBox::checksDescendantsForFocus):
38065         (WebCore::ListBox::clearCachedTextRenderers):
38066         (WebCore::ListBox::setFont):
38067         (WebCore::ListBox::appendItem):
38068         * platform/qt/ScrollViewQt.cpp: Added.
38069         (WebCore::ScrollView::ScrollView):
38070         (WebCore::ScrollView::~ScrollView):
38071         (WebCore::ScrollView::setParentWidget):
38072         (WebCore::ScrollView::updateContents):
38073         (WebCore::ScrollView::visibleWidth):
38074         (WebCore::ScrollView::visibleHeight):
38075         (WebCore::ScrollView::visibleContentRect):
38076         (WebCore::ScrollView::setContentsPos):
38077         (WebCore::ScrollView::resizeContents):
38078         (WebCore::ScrollView::contentsX):
38079         (WebCore::ScrollView::contentsY):
38080         (WebCore::ScrollView::contentsWidth):
38081         (WebCore::ScrollView::contentsHeight):
38082         (WebCore::ScrollView::viewportToContents):
38083         (WebCore::ScrollView::contentsToViewport):
38084         (WebCore::ScrollView::scrollOffset):
38085         (WebCore::ScrollView::scrollBy):
38086         (WebCore::ScrollView::hScrollBarMode):
38087         (WebCore::ScrollView::vScrollBarMode):
38088         (WebCore::ScrollView::suppressScrollBars):
38089         (WebCore::ScrollView::setHScrollBarMode):
38090         (WebCore::ScrollView::setVScrollBarMode):
38091         (WebCore::ScrollView::setScrollBarsMode):
38092         (WebCore::ScrollView::setStaticBackground):
38093         (WebCore::ScrollView::addChild):
38094         (WebCore::ScrollView::removeChild):
38095         (WebCore::ScrollView::scrollPointRecursively):
38096         (WebCore::ScrollView::inWindow):
38097         * platform/qt/TextEditQt.cpp: Added.
38098         (WebCore::PlatformTextEdit::PlatformTextEdit):
38099         (WebCore::PlatformTextEdit::~PlatformTextEdit):
38100         (WebCore::PlatformTextEdit::setParentWidget):
38101         (WebCore::PlatformTextEdit::setColors):
38102         (WebCore::PlatformTextEdit::setAlignment):
38103         (WebCore::PlatformTextEdit::setLineHeight):
38104         (WebCore::PlatformTextEdit::setCursorPosition):
38105         (WebCore::PlatformTextEdit::getCursorPosition):
38106         (WebCore::PlatformTextEdit::setFont):
38107         (WebCore::PlatformTextEdit::setReadOnly):
38108         (WebCore::PlatformTextEdit::isReadOnly):
38109         (WebCore::PlatformTextEdit::setDisabled):
38110         (WebCore::PlatformTextEdit::isDisabled):
38111         (WebCore::PlatformTextEdit::hasSelectedText):
38112         (WebCore::PlatformTextEdit::setText):
38113         (WebCore::PlatformTextEdit::text):
38114         (WebCore::PlatformTextEdit::textWithHardLineBreaks):
38115         (WebCore::PlatformTextEdit::focusPolicy):
38116         (WebCore::PlatformTextEdit::setWordWrap):
38117         (WebCore::PlatformTextEdit::wordWrap):
38118         (WebCore::PlatformTextEdit::setScrollBarModes):
38119         (WebCore::PlatformTextEdit::setWritingDirection):
38120         (WebCore::PlatformTextEdit::selectionStart):
38121         (WebCore::PlatformTextEdit::selectionEnd):
38122         (WebCore::PlatformTextEdit::setSelectionStart):
38123         (WebCore::PlatformTextEdit::setSelectionEnd):
38124         (WebCore::PlatformTextEdit::selectAll):
38125         (WebCore::PlatformTextEdit::setSelectionRange):
38126         (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
38127         (WebCore::PlatformTextEdit::checksDescendantsForFocus):
38128         * platform/qt/WidgetQt.cpp: Added.
38129         (WebCore::WidgetPrivate::WidgetPrivate):
38130         (WebCore::WidgetPrivate::~WidgetPrivate):
38131         (WebCore::Widget::Widget):
38132         (WebCore::Widget::~Widget):
38133         (WebCore::Widget::setClient):
38134         (WebCore::Widget::client):
38135         (WebCore::Widget::frameGeometry):
38136         (WebCore::Widget::hasFocus):
38137         (WebCore::Widget::setFocus):
38138         (WebCore::Widget::clearFocus):
38139         (WebCore::Widget::font):
38140         (WebCore::Widget::setFont):
38141         (WebCore::Widget::setCursor):
38142         (WebCore::Widget::show):
38143         (WebCore::Widget::hide):
38144         (WebCore::Widget::setQWidget):
38145         (WebCore::Widget::qwidget):
38146         (WebCore::Widget::setParentWidget):
38147         (WebCore::Widget::parentWidget):
38148         (WebCore::Widget::setFrameGeometry):
38149         (WebCore::Widget::mapFromGlobal):
38150         (WebCore::Widget::scaleFactor):
38151         (WebCore::Widget::lockDrawingFocus):
38152         (WebCore::Widget::unlockDrawingFocus):
38153         (WebCore::Widget::paint):
38154         (WebCore::Widget::enableFlushDrawing):
38155         (WebCore::Widget::isEnabled):
38156         (WebCore::Widget::setIsSelected):
38157         (WebCore::Widget::disableFlushDrawing):
38158         (WebCore::Widget::setEnabled):
38159         (WebCore::Widget::focusPolicy):
38161 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
38163         Reviewed by Eric. Landed by rwlbuis.
38165         First chunk of the implementation for:
38166         http://bugs.webkit.org/show_bug.cgi?id=10467
38168         WebKit should have Qt platform support
38170         * platform/qt/ColorQt.cpp: Added.
38171         (WebCore::Color::Color):
38172         (WebCore::Color::operator QColor):
38173         * platform/qt/FloatPointQt.cpp: Added.
38174         (WebCore::FloatPoint::FloatPoint):
38175         (WebCore::FloatPoint::operator QPointF):
38176         * platform/qt/FloatRectQt.cpp: Added.
38177         (WebCore::FloatRect::FloatRect):
38178         (WebCore::FloatRect::operator QRectF):
38179         * platform/qt/IntPointQt.cpp: Added.
38180         (WebCore::IntPoint::IntPoint):
38181         (WebCore::IntPoint::operator QPoint):
38182         * platform/qt/IntRectQt.cpp: Added.
38183         (WebCore::IntRect::IntRect):
38184         (WebCore::IntRect::operator QRect):
38185         * platform/qt/IntSizeQt.cpp: Added.
38186         (WebCore::IntSize::IntSize):
38187         (WebCore::IntSize::operator QSize):
38189  2006-08-18  Nikolas Zimmermann  <zimmermann@kde.org>
38191          Reviewed by Eric. Landed by rwlbuis.
38193          Fixes: http://bugs.webkit.org/show_bug.cgi?id=10470
38194          The Qt platform needs a KCanvas device.
38196          * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
38197          (WebCore::KCanvasClipperQt::applyClip):
38198          * kcanvas/device/qt/KCanvasClipperQt.h: Added.
38199          (WebCore::KCanvasClipperQt::KCanvasClipperQt):
38200          * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
38201          (WebCore::KCanvasPathQt::KCanvasPathQt):
38202          (WebCore::KCanvasPathQt::~KCanvasPathQt):
38203          (WebCore::KCanvasPathQt::isEmpty):
38204          (WebCore::KCanvasPathQt::moveTo):
38205          (WebCore::KCanvasPathQt::lineTo):
38206          (WebCore::KCanvasPathQt::curveTo):
38207          (WebCore::KCanvasPathQt::closeSubpath):
38208          (WebCore::KCanvasPathQt::boundingBox):
38209          (WebCore::KCanvasPathQt::strokeBoundingBox):
38210          (WebCore::KCanvasPathQt::strokeContainsPoint):
38211          (WebCore::KCanvasPathQt::containsPoint):
38212          * kcanvas/device/qt/KCanvasPathQt.h: Added.
38213          (WebCore::KCanvasPathQt::qtPath):
38214          * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
38215          (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
38216          (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
38217          (WebCore::KRenderingDeviceContextQt::concatCTM):
38218          (WebCore::KRenderingDeviceContextQt::ctm):
38219          (WebCore::KRenderingDeviceContextQt::mapFromVisual):
38220          (WebCore::KRenderingDeviceContextQt::mapToVisual):
38221          (WebCore::KRenderingDeviceContextQt::clearPath):
38222          (WebCore::KRenderingDeviceContextQt::addPath):
38223          (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
38224          (WebCore::KRenderingDeviceContextQt::painter):
38225          (WebCore::KRenderingDeviceContextQt::pathBBox):
38226          (WebCore::KRenderingDeviceContextQt::setFillRule):
38227          (WebCore::KRenderingDeviceContextQt::fillPath):
38228          (WebCore::KRenderingDeviceContextQt::strokePath):
38229          (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
38230          (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
38231          (WebCore::KRenderingDeviceQt::popContext):
38232          (WebCore::KRenderingDeviceQt::pushContext):
38233          (WebCore::KRenderingDeviceQt::qtContext):
38234          (WebCore::KRenderingDeviceQt::contextForImage):
38235          (WebCore::KRenderingDeviceQt::stringForPath):
38236          (WebCore::KRenderingDeviceQt::createResource):
38237          (WebCore::KRenderingDeviceQt::createPaintServer):
38238          (WebCore::KRenderingDeviceQt::createFilterEffect):
38240 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
38242         Reviewed by Eric. Landed by rwlbuis.
38244         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10466
38245         WebKit should have Qt platform support.
38247         * platform/Color.h:
38248         * platform/Cursor.h:
38249         (WebCore::Cursor::Cursor):
38250         * platform/FloatPoint.h:
38251         * platform/FloatRect.h:
38252         * platform/GlyphBuffer.h:
38253         (WebCore::GlyphBuffer::glyphAt):
38254         (WebCore::GlyphBuffer::advanceAt):
38255         (WebCore::GlyphBuffer::add):
38256         * platform/GraphicsContext.h:
38257         * platform/ImageSource.h:
38258         * platform/IntPoint.h:
38259         * platform/IntRect.h:
38260         * platform/IntSize.h:
38261         * platform/ListBox.h:
38262         * platform/Path.h:
38263         * platform/PlatformKeyboardEvent.h:
38264         * platform/PlatformMouseEvent.h:
38265         * platform/ResourceLoader.h:
38266         * platform/ResourceLoaderClient.h:
38267         * platform/ResourceLoaderInternal.h:
38268         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
38269         * platform/ScrollView.h:
38270         * platform/Widget.h:
38272 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
38274         Reviewed by Eric. Landed by rwlbuis.
38276         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10465
38277         General WebKit Linux build fixes.
38279         * kcanvas/KCanvasFilters.cpp:
38280         (WebCore::operator<<):
38281         * kcanvas/RenderSVGImage.cpp:
38282         * ksvg2/css/SVGCSSStyleSelector.cpp:
38283         * ksvg2/svg/SVGAnimateColorElement.cpp:
38284         * ksvg2/svg/SVGMaskElement.cpp:
38285         * ksvg2/svg/SVGPatternElement.cpp:
38286         * page/Frame.h:
38287         * rendering/RenderStyle.h:
38288         (WebCore::RenderStyle::deleteBindingURIs):
38289         * xml/DOMParser.cpp:
38291 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
38293         Reviewed by Eric. Landed by rwlbuis.
38295         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10464
38296         Offer a cmake build system for Qt platform.
38298         * CMakeLists.txt: Added.
38300 2006-08-17  David Harrison  <harrison@apple.com>
38302         Reviewed by John Sullivan.
38304         <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
38306         Accessorized RenderMenuList objects.
38307         
38308         * bridge/mac/WebCoreAXObject.mm:
38309         (-[WebCoreAXObject mouseButtonListener]):
38310         Trivial formatting.
38311         
38312         (-[WebCoreAXObject actionElement]):
38313         Return the HTMLSelectElement.
38314         
38315         (-[WebCoreAXObject firstChild]):
38316         (-[WebCoreAXObject lastChild]):
38317         (-[WebCoreAXObject previousSibling]):
38318         (-[WebCoreAXObject nextSibling]):
38319         (-[WebCoreAXObject parentObject]):
38320         (-[WebCoreAXObject parentObjectUnignored]):
38321         (-[WebCoreAXObject isAttachment]):
38322         (-[WebCoreAXObject attachmentView]):
38323         Trivial formatting.
38325         (-[WebCoreAXObject role]):
38326         Return NSAccessibilityPopUpButtonRole.
38328         (-[WebCoreAXObject subrole]):
38329         Trivial formatting.
38330         
38331         (-[WebCoreAXObject roleDescription]):
38332         Return NSAccessibilityPopUpButtonRole.
38333         
38334         (-[WebCoreAXObject textUnderElement]):
38335         Trivial formatting.
38337         (-[WebCoreAXObject value]):
38338         Return the RenderMenuList::text().
38339         
38340         (-[WebCoreAXObject position]):
38341          Trivial formatting.
38343         (-[WebCoreAXObject accessibilityIsIgnored]):
38344         - Ignore popup menu items because AppKit does.
38345         - Remove redundant check for buttonTag (earlier isControl() check suffices).
38346         
38347         (-[WebCoreAXObject accessibilityAttributeNames]):
38348         (-[WebCoreAXObject accessibilityActionNames]):
38349         (-[WebCoreAXObject accessibilityAttributeValue:]):
38350         Trivial formatting.
38351         
38352         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
38353         Removed old debugging code that is no longer needed.
38354         Trivial formatting.
38355         
38356         (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
38357         (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
38358         (-[WebCoreAXObject removeAXObjectID]):
38359         Trivial formatting.
38360         
38361         * html/HTMLSelectElement.cpp:
38362         (WebCore::HTMLSelectElement::accessKeyAction):
38363         Call click() instead of focus().
38364         
38365         * rendering/RenderMenuList.cpp:
38366         (WebCore::RenderMenuList::text):
38367         Added for easy access to popup's current text.
38368         
38369         * rendering/RenderMenuList.h:
38370         (WebCore::RenderMenuList::isMenuList):
38371         * rendering/RenderObject.h:
38372         (WebCore::RenderObject::isMenuList):
38373         Added so popups can be identified.
38375 2006-08-17  David Harrison  <harrison@apple.com>
38377         Reviewed by Maciej.
38379         <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
38381         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
38382         is not possible.  See following bug...
38383             <rdar://problem/4256882> Need automated testing support for accessibility APIs
38385         * bridge/mac/AXObjectCacheMac.mm:
38386         (WebCore::AXObjectCache::visiblePositionForTextMarker):
38387         Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.
38389 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
38391         Reviewed by Anders.
38393         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10447
38394         AffineTransform should be multi-platform compatible
38396         * platform/AffineTransform.h:
38397         * platform/cg/AffineTransformCG.cpp:
38398         (WebCore::AffineTransform::m11):
38399         (WebCore::AffineTransform::m12):
38400         (WebCore::AffineTransform::m21):
38401         (WebCore::AffineTransform::m22):
38402         (WebCore::AffineTransform::dx):
38403         (WebCore::AffineTransform::dy):
38405 2006-08-16  David Hyatt  <hyatt@apple.com>
38407         Fix an issue with CSS2 system fonts where they did not respect text
38408         zoom.  This was most visible with the new control fonts used for form
38409         controls (they stopped swapping between small/mini/regular as you zoomed).
38411         Reviewed by beth
38413         * css/cssstyleselector.cpp:
38414         (WebCore::CSSStyleSelector::applyProperty):
38416 2006-08-15  Justin Garcia  <justin.garcia@apple.com>
38418         Reviewed by thatcher
38419         
38420         First part of fix for:
38421         <rdar://problem/4384589>
38422         Mail hung on paste text
38423         
38424         Fixes:
38425         <http://bugs.webkit.org/show_bug.cgi?id=8592>
38426         Extra line left after deleting whitespace:pre text
38427         <rdar://problem/4128080> Paste as HTML does not yield equivalent style
38428         <rdar://problem/4046469> Box styles on first element aren't copied/pasted
38429         Copy/paste of arstechnica.com
38430         
38431         Here's how we avoid adding redundant style information on paste: insert 
38432         the fragment and do a test rendering, save away style information for 
38433         every node in the fragment, remove all style information from the fragment, 
38434         remove the fragment, insert it into the appropriate place in the document, 
38435         then restore only those styles gathered during the test insertion that aren't
38436         redundant.  Restoring the styles in this way results in an ApplyStyleCommand 
38437         and a layout for nearly every inserted node.  
38438         Instead we want to insert the fragment into the document without removing the 
38439         style information, then mark style nodes and inline style declarations for 
38440         removal if they are redundant, and sweep to remove them.  This means that we 
38441         can't rely on ReplacementFragment::wasBlock anymore, because blocks will now 
38442         have style spans around them.  This patch removes the use of wasBlock in 
38443         ReplaceSelectionCommand.
38444         
38445         * editing/CompositeEditCommand.cpp:
38446         (WebCore::CompositeEditCommand::moveParagraphs): Added code
38447         to remove the line placeholder left after a move from preserveNewline text.
38448         * editing/DeleteSelectionCommand.cpp:
38449         (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if 
38450         we're deleting a paragraph in preserveNewline text.
38451         * editing/JSEditor.cpp: Pass true to prevent nesting.
38452         * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
38453         (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
38454         (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
38455         (WebCore::RenderingInfo::RenderingInfo): Ditto.
38456         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
38457         (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
38458         merging rules into one method.
38459         (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
38460         (WebCore::ReplaceSelectionCommand::shouldMerge):
38461         (WebCore::ReplaceSelectionCommand::doApply): 
38462         Don't do nesting prevention when pasting into an empty paragraph, this
38463         fixes 4046469, the common cause of paste fidelity bugs, but needs
38464         to be tweaked a little because this can lead to margin/border build-up
38465         on repeated copy/pastes.
38466         Don't track startPos in addition to insertionPos.  It was never used.
38467         Fixed a bug where a fragment starting with an interchange newline would
38468         cause content to be put outside of an editable region when pasting at the 
38469         very end of it.
38470         Adjust insertionPos before insertion (not during) and do not consult wasBlock
38471         to decide whether or not to do so.
38472         Changed the way we do the start merge: insert the fragment, then stich 
38473         paragraphs together, in the same way that we do the end merge.  This 
38474         doesn't require wasBlock and fixes bugs.
38475         Replaced some uses of insertionPos with endOfInsertedContent.
38476         Fixed a bug in the expansion of the last incoming br (a "collapsed" br
38477         is one where !isStartOfParagraph([br,0])).
38478         Removed the special case code that did the end merge for the preserveNewline 
38479         case, since this patch fixes the moveParagraph bug in the preserveNewline case.
38480         Removed some unused variables.
38481         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was 
38482         holding a line open should always be displaced by inserted content, unless 
38483         the inserted content ends with a br.
38484         (WebCore::ReplaceSelectionCommand::updateNodesInserted):
38485         * editing/ReplaceSelectionCommand.h:
38486         (WebCore::RenderingInfo::style):
38487         * editing/markup.cpp:
38488         (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
38489         annotate is true (when we're creating markup for the pasteboard).
38491 2006-08-16  John Sullivan  <sullivan@apple.com>
38493         Reviewed by Brady Eidson
38494         
38495         - fixed <rdar://problem/4637156> underlines appearing in white selection text
38497         * rendering/InlineFlowBox.cpp:
38498         (WebCore::InlineFlowBox::paintDecorations):
38499         bail out if phase is PaintPhaseSelection and forceWhiteText is true
38501 2006-08-16  Brady Eidson  <beidson@apple.com>
38503         Reviewed by John
38505         Updated the DB version number and added a helpful comment explaining its meaning
38507         * loader/icon/IconDatabase.cpp:
38509 2006-08-16  Brady Eidson  <beidson@apple.com>
38511         Reviewed by Maciej
38513         Major refactoring of new iconDB:
38514         -Instead of private browsing being handled by in-memory tables, it's now handled
38515          by a separate in-memory database with the same table names.  This allows us to 
38516          re-use the same SQL on either the main or private-browsing database
38517         -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
38518          "Query" that take a database as the method's argument so the same language can run on
38519          both private and main tables
38520         -Now that we have two DBs, moved the retain/release count to the m_mainDB
38521         -While I was at it, updated the schema to combine the Icon and IconResource table - cuts 
38522          down on some high-usage, low value queries which were too expensive
38523         -Ditched the _url -> url convention for escaping urls for SQL.  Now its url and escapedURL
38524         -Pruned tons of unused methods from previous revisions
38526      * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used 
38527         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
38528         * loader/icon/IconDatabase.cpp:
38529         (WebCore::IconDatabase::IconDatabase): Updated initializer list
38530         (WebCore::IconDatabase::open): Sets up both databases
38531         (WebCore::IconDatabase::close): Closes both databases
38532         (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
38533         (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
38534         (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
38535         (WebCore::IconDatabase::createDatabaseTables): Ditto
38536         (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
38537         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
38538         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
38539         (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
38540         (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes 
38541         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
38542         (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet
38543         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler
38544         (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup
38545         (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto
38546         (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function
38547         (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup
38548         (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change
38549         (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
38550         (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function
38551         (WebCore::IconDatabase::~IconDatabase):
38552         (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query
38553         (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query
38554         (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query
38555         (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query
38556         (WebCore::forgetPageURLQuery): Self-explanatory SQL query
38557         (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query
38558         (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query
38559         (WebCore::addIconForIconURLQuery): Self-explanatory SQL query
38560         (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query
38561      * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments
38562         (WebCore::IconDatabase::isOpen):  Changed our meaning of "isOpen" to reflect the 2 databases
38564 2006-08-15  Jonas Witt <jonas.witt@gmail.com>
38566         Reviewed by Darin.
38568         - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
38569           http://bugs.webkit.org/show_bug.cgi?id=9736
38571         * bindings/objc/DOMEvents.mm:
38572         (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
38573         * bindings/objc/DOMEventsNonstandard.mm:
38574         (-[DOMWheelEvent initWheelEvent:::::::::::]):
38575         * bindings/objc/DOMPrivate.h:
38577         - added an initializer for the WheelEvent
38579         * dom/WheelEvent.cpp:
38580         (WebCore::WheelEvent::initWheelEvent):
38581         * dom/WheelEvent.h:
38583 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
38585         Reviewed by Tim H.
38587         Build fix:  DWARF and -gfull are incompatible with symbol separation.
38589         * WebCore.xcodeproj/project.pbxproj:
38591 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
38593         Reviewed by Tim H.
38595         http://bugs.webkit.org/show_bug.cgi?id=10394
38596         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
38598         * WebCore.xcodeproj/project.pbxproj:
38600 2006-08-15  Geoffrey Garen  <ggaren@apple.com>
38602         Reviewed by Darin.
38603         
38604         - This patch reworks a previous fix for <rdar://problem/3524912> repro 
38605         crash in KHTMLParser::parseToken, due to parser's current element being 
38606         destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
38607         leaks.
38608         
38609         The previous solutions caused a ~2% performance regression on iBench HTML,
38610         due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
38611         for a total win of ~3% vs current TOT.
38612         
38613         We can merge this fix to the branch to fix <rdar://problem/4661982> 
38614         (crash in KHTMLParser::popBlock).
38615         
38616         The solution here is:
38617         (1) Don't let the parser ref document nodes -- that causes leaks.
38618         (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when 
38619         moving a node between stacks or to/from 'current', rather than deref'ing
38620         and then ref'ing again, simply move the node, along with its refcount, to
38621         its new location, and overwrite its old location.
38623         * WebCore.xcodeproj/project.pbxproj:
38624         * html/HTMLParser.cpp:
38625         (WebCore::HTMLStackElem::HTMLStackElem):
38626         (WebCore::HTMLStackElem::derefNode):
38627         (WebCore::HTMLParser::HTMLParser):
38628         (WebCore::HTMLParser::setCurrent):
38629         (WebCore::HTMLParser::insertNode):
38630         (WebCore::HTMLParser::popNestedHeaderTag):
38631         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
38632         (WebCore::HTMLParser::reopenResidualStyleTags):
38633         (WebCore::HTMLParser::pushBlock):
38634         (WebCore::HTMLParser::popBlock):
38635         (WebCore::HTMLParser::popOneBlockCommon):
38636         (WebCore::HTMLParser::popOneBlock):
38637         (WebCore::HTMLParser::moveOneBlockToStack):
38638         * html/HTMLParser.h:
38640 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
38642         Reviewed by Tim H.
38644         http://bugs.webkit.org/show_bug.cgi?id=10384
38645         Bug 10384: Switch to DWARF for Release configuration
38647         * WebCore.xcodeproj/project.pbxproj:
38649 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
38651         Reviewed by Hyatt.
38652         Tweaked and landed by Darin.
38654         http://bugs.webkit.org/show_bug.cgi?id=10399
38655         Bug 10399: RenderTextArea is unused
38657         * WebCore.vcproj/WebCore/WebCore.vcproj:
38658         * WebCore.xcodeproj/project.pbxproj:
38659         * WebCoreSources.bkl:
38660         Removed RenderTextArea source files.
38662         * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
38663         * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
38665         * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
38667         * platform/TextBox.h: Removed.
38668         * platform/mac/TextBoxMac.mm: Removed.
38669         * platform/mac/WebCoreTextArea.h: Removed.
38670         * platform/mac/WebCoreTextArea.mm: Removed.
38671         * rendering/RenderTextArea.cpp: Removed.
38672         * rendering/RenderTextArea.h: Removed.
38674 2006-08-15  Brady Eidson  <beidson@apple.com>
38676         Reviewed by THE OTHER Maciej...
38678         Two small fixes -
38679         1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
38680         2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
38681         null dereference later
38683         * bridge/mac/WebCoreIconDatabaseBridge.mm:
38684         (-[WebCoreIconDatabaseBridge retainIconForURL:]):  Changed IconDatabase method name
38685         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):  ditto
38686         * loader/icon/IconDatabase.cpp:
38687         (WebCore::IconDatabase::retainIconForPageURL):  Name change
38688         (WebCore::IconDatabase::releaseIconForPageURL):  ditto
38689         (WebCore::IconDatabase::setIconURLForPageURL):  Added the null site-icon check when changing a PageURL's iconURL
38690         * loader/icon/IconDatabase.h:  Some renames
38692 2006-08-14  Eric Seidel  <eric@webkit.org>
38694         Reviewed by mjs.
38696         <mask>, <marker>, <pattern> inside <defs> do not work
38697         http://bugs.webkit.org/show_bug.cgi?id=6548
38699         * ksvg2/svg/SVGDefsElement.cpp:
38700         (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file
38701         (WebCore::SVGDefsElement::isValid): moved to .cpp file
38702         (WebCore::SVGDefsElement::rendererIsNeeded): Added.
38703         (WebCore::SVGDefsElement::createRenderer): Added.
38704         * ksvg2/svg/SVGDefsElement.h:
38705         * ksvg2/svg/SVGGElement.cpp:
38706         (WebCore::SVGGElement::SVGGElement): adjusted spacing
38707         (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing
38708         (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing
38710 2006-08-14  Eric Seidel  <eric@webkit.org>
38712         Reviewed by darin and mjs.
38713         
38714         Add better SVGLoad event support.
38715         http://bugs.webkit.org/show_bug.cgi?id=6010
38716         There will still need to be additional support added for <link> and <script> elements.
38717         Not all of the error -> loaded -> error transition cases work yet.
38719         * dom/EventTargetNode.cpp:
38720         (WebCore::EventTargetNode::dispatchGenericEvent):
38721         * html/HTMLImageLoader.cpp:
38722         (WebCore::HTMLImageLoader::dispatchLoadEvent):
38723         * html/HTMLImageLoader.h:
38724         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
38725         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
38726         * ksvg2/misc/SVGImageLoader.cpp:
38727         (WebCore::SVGImageLoader::SVGImageLoader):
38728         (WebCore::SVGImageLoader::dispatchLoadEvent):
38729         * ksvg2/misc/SVGImageLoader.h:
38730         * ksvg2/svg/SVGAElement.cpp:
38731         (WebCore::SVGAElement::parseMappedAttribute):
38732         * ksvg2/svg/SVGAnimatedBoolean.h:
38733         * ksvg2/svg/SVGElement.cpp:
38734         (WebCore::SVGElement::SVGElement):
38735         (WebCore::SVGElement::parseMappedAttribute):
38736         (WebCore::SVGElement::haveLoadedRequiredResources):
38737         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
38738         (WebCore::SVGElement::closeRenderer):
38739         * ksvg2/svg/SVGElement.h:
38740         (WebCore::SVGElement::rendererIsNeeded):
38741         (WebCore::svg_dynamic_cast):
38742         * ksvg2/svg/SVGExternalResourcesRequired.h:
38743         * ksvg2/svg/SVGImageElement.cpp:
38744         (SVGImageElement::SVGImageElement):
38745         (SVGImageElement::haveLoadedRequiredResources):
38746         * ksvg2/svg/SVGImageElement.h:
38747         * ksvg2/svg/SVGSVGElement.cpp:
38748         (WebCore::SVGSVGElement::parseMappedAttribute):
38749         * ksvg2/svg/SVGScriptElement.cpp:
38750         (WebCore::SVGScriptElement::SVGScriptElement):
38751         (WebCore::SVGScriptElement::parseMappedAttribute):
38752         (WebCore::SVGScriptElement::executeScript):
38753         * xml/xmlhttprequest.cpp:
38754         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
38756 2006-08-14  Anders Carlsson  <acarlsson@apple.com>
38758         Reviewed by Maciej.
38760         http://bugs.webkit.org/show_bug.cgi?id=10393
38761         Autogenerate NodeIterator and TreeWalker.
38762         
38763         * DerivedSources.make:
38764         * WebCore.xcodeproj/project.pbxproj:
38765         Add new files.
38766         
38767         * bindings/js/JSNodeIteratorCustom.cpp: Added.
38768         (WebCore::JSNodeIterator::mark):
38769         * bindings/js/JSTreeWalkerCustom.cpp: Added.
38770         (WebCore::JSTreeWalker::mark):
38771         
38772         * bindings/js/kjs_traversal.cpp:
38773         * bindings/js/kjs_traversal.h:
38774         Remove implementations of DOMNodeIterator and DOMTreeWalker.
38776         * bindings/scripts/CodeGeneratorJS.pm:
38777         Add "CustomMarkFunction" attribute for classes where mark() needs to be overridden.
38778         
38779         * bindings/objc/DOM.mm:
38780         (-[DOMNodeIterator detach]):
38781         * dom/NodeIterator.cpp:
38782         (WebCore::NodeIterator::detach):
38783         * dom/NodeIterator.h:
38784         Get rid of exception in detach, it isn't used at all and this function can't throw an exception according to the spec.
38785         * dom/NodeIterator.idl: Added.
38786         * dom/TreeWalker.idl: Added.
38788 2006-08-14  Brady Eidson  <beidson@apple.com>
38790         Reviewed by John
38792         The changes are plentiful, but small, mostly to improve performance
38793         1) Add a bool flag to SiteIcon to stop it from querying the database over and over
38794         2) Added a pageURL->iconURL hashmap to cache database results, as an optimization
38795         3) Fix a bug in setIconURLForPageURL code where the pageURL would still point to an old icon
38796         4) Added isIconURLRetained() to optimize the retain count check
38797         5) Prune old, unused code
38799         * loader/icon/IconDatabase.cpp:
38800         (WebCore::IconDatabase::imageDataForIconID): Removed unused code
38801         (WebCore::IconDatabase::imageDataForIconURL): Removed unused code
38802         (WebCore::IconDatabase::imageDataForPageURL): Removed unused code
38803         (WebCore::IconDatabase::isIconExpiredForIconURL): Removed LOG msg
38804         (WebCore::IconDatabase::isIconExpiredForPageURL): Removed LOG msg
38805         (WebCore::IconDatabase::iconURLForPageURL): Added a hashmap cache to avoid common queries
38806         (WebCore::IconDatabase::releaseIconForURL): Changed to is isRetained() instead of retainCount()
38807         (WebCore::IconDatabase::isIconURLRetained): Added - we don't care about the actual retain count
38808           for an icon so much as whether or not it is retained
38809         (WebCore::IconDatabase::setIconURLForPageURL): If the new and old iconURLs are the same, skip the
38810           SQLite code
38811         * loader/icon/IconDatabase.h:  Added new methods/variables
38812         * loader/icon/SiteIcon.cpp:
38813         (SiteIcon::SiteIcon): Added a flag so it only queries the database for icon data once
38814         (SiteIcon::getImage): Ditto
38816 2006-08-14  David Hyatt  <hyatt@apple.com>
38818         Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.
38820         Reviewed by ggaren
38822         Added fast/parser/bad-xml-slash.html
38824         * html/HTMLTokenizer.cpp:
38825         (WebCore::HTMLTokenizer::parseTag):
38827 2006-08-14  Darin Adler  <darin@apple.com>
38829         Reviewed by John Sullivan.
38831         - fix http://bugs.webkit.org/show_bug.cgi?id=10204
38832           REGRESSION: title tag parsing problem breaks Travelocity and Google Analytics pages
38834         Test: fast/parser/title-error-test.html
38836         * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Fixed an error
38837         handling case that was skipping until a </style> tag in code that was shared
38838         between both <title> and <style>. Also rearranged the code a tiny bit.
38840 2006-08-14  Darin Adler  <darin@apple.com>
38842         Reviewed by Hyatt.
38844         - fixed some storage leaks
38845           (part of http://bugs.webkit.org/show_bug.cgi?id=10259)
38847         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start):
38848         Rearrange code so that "delete this" is called any time the function returns
38849         false -- ownership was inconsistent before.
38851         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode):
38852         Call deleteLineBoxWrapper even when documentBeingDestroyed() is true, because
38853         some of what it does has to be done during destruction. A little awkward since
38854         I preserved the order of operations. Perhaps we could structure this better later.
38856 2006-08-14  David Harrison  <harrison@apple.com>
38858         Reviewed by John Sullivan and Geoff Garen.
38860         <rdar://problem/3854950> AX Seed: Blackboard Learning Systems - frame names need to be put in AXDescription AXAttribute
38862         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
38863         is not possible.  See following bug...
38864             <rdar://problem/4256882> Need automated testing support for accessibility APIs
38866         * bridge/mac/WebCoreAXObject.mm:
38867         (-[WebCoreAXObject accessibilityDescription]):
38868         For a web area, return the name of the owning frame or iframe.
38869         
38870         (-[WebCoreAXObject accessibilityAttributeNames]):
38871         Advertize NSAccessibilityDescriptionAttribute.
38872         
38873         (-[WebCoreAXObject rendererForView:]):
38874         Clean up some old naming.
38876 2006-08-11  Anders Carlsson  <acarlsson@apple.com>
38878         Reviewed by Darin.
38880         http://bugs.webkit.org/show_bug.cgi?id=10353
38881         XMLSerializer and DOMParser should have real implementations
38882         
38883         Make real implementation files for DOMParser and XMLSerializer and wrap them
38884         using our bindings generation.
38885         
38886         * DerivedSources.make:
38887         * WebCore.xcodeproj/project.pbxproj:
38888         * bindings/js/JSDOMParser.cpp: Removed.
38889         * bindings/js/JSDOMParser.h: Removed.
38890         * bindings/js/JSXMLSerializer.cpp: Removed.
38891         * bindings/js/JSXMLSerializer.h: Removed.
38892         * bindings/js/kjs_window.cpp:
38893         (KJS::Window::getValueProperty):
38894         * bindings/js/kjs_window.h:
38895         (KJS::Window::):
38896         * page/DOMWindow.idl:
38897         * xml/DOMParser.cpp: Added.
38898         (WebCore::DOMParser::parseFromString):
38899         * xml/DOMParser.h: Added.
38900         * xml/DOMParser.idl: Added.
38901         * xml/XMLSerializer.cpp: Added.
38902         (WebCore::XMLSerializer::serializeToString):
38903         * xml/XMLSerializer.h: Added.
38904         * xml/XMLSerializer.idl: Added.
38906 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
38908         Reviewed by Brady.
38910         - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
38912         * WebCore.exp: export new functions
38913         * platform/mac/WebCoreSystemInterface.h: Added CFReadStream related functions
38914         * platform/mac/WebCoreSystemInterface.mm: ditto
38916 2006-08-13  Maks Orlovich  <maksim@kde.org>
38918         Reviewed (and tweaked a little) by Maciej.
38919         
38920         - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
38921         in a 1.2% speed improvement on JS iBench (and probably overall memory savings).
38923         The WebCore part of this is to expect only FunctionImp to have a scope, not all JSObjects.
38924         
38925         * bindings/js/kjs_events.cpp:
38926         (KJS::JSLazyEventListener::parseCode):
38928 2006-08-12  Eric Seidel  <eric@webkit.org>
38930         Reviewed by hyatt and mjs.
38932         Fix two missing null checks causing layout test crashes.
38934         * css/cssstyleselector.cpp:
38935         (WebCore::CSSStyleSelector::adjustRenderStyle): check e for null (null for pseudo styles)
38936         * kcanvas/RenderSVGContainer.cpp:
38937         (WebCore::RenderSVGContainer::requiresLayer): check parent()->element() for null
38940 2006-08-11  Eric Seidel  <eric@webkit.org>
38942         Reviewed by andersca.
38944         The outermost <svg> element needs to clip itself
38945         http://bugs.webkit.org/show_bug.cgi?id=5358
38947         * css/cssstyleselector.cpp:
38948         (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules
38949         * kcanvas/RenderSVGContainer.cpp:
38950         (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG
38951         (WebCore::RenderSVGContainer::paint):
38952         * kcanvas/device/KRenderingDevice.h:
38953         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods
38954         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods
38955         (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
38956         * ksvg2/svg/SVGPaint.cpp: spacing changes
38957         (WebCore::SVGPaint::SVGPaint): spacing cleanup
38958         * ksvg2/svg/SVGSVGElement.cpp:
38959         (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup
38960         * platform/GraphicsContext.h: Added concatCTM
38961         * platform/cg/GraphicsContextCG.cpp:
38962         (WebCore::GraphicsContext::concatCTM): Added.
38964 2006-08-11  Brady Eidson  <beidson@apple.com>
38966         Reviewed by Maciej
38968         Renamed a method/parameter for clarity and consistency, as well as some style
38969         cleanups and removing some ridiculously verbose log messages.
38970         Also added an _isEmpty method to the database and bridge for WebKit's use.
38971         Finally, added a central way for both WebKit and WebCore to get the icon database filename
38973         * bridge/mac/WebCoreIconDatabaseBridge.h:  Added _isEmpty and defaultDatabaseFilename
38974         * bridge/mac/WebCoreIconDatabaseBridge.mm:  Removed an unnecessary semicolon off most of these methods
38975         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
38976         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
38977         (-[WebCoreIconDatabaseBridge isOpen]):
38978         (-[WebCoreIconDatabaseBridge _isEmpty]):  Added
38979         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
38980         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
38981         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
38982         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
38983         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
38984         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
38985         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
38986         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
38987         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
38988         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
38989         (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
38990         (-[WebCoreIconDatabaseBridge defaultDatabaseFilename]):  Added
38992         * loader/icon/IconDatabase.cpp:
38993         (WebCore::IconDatabase::defaultDatabaseFilename):  Added
38994         (WebCore::IconDatabase::open):  
38995         (WebCore::IconDatabase::isEmpty):  Added
38996         (WebCore::IconDatabase::retainIconForURL):  Removed log message
38997         (WebCore::IconDatabase::releaseIconForURL):  Removed log message
38998         * loader/icon/IconDatabase.h: 
39000 2006-08-11  David Hyatt  <hyatt@apple.com>
39002         Eliminate RenderImageButton.
39004         Reviewed by darin
39006         * WebCore.xcodeproj/project.pbxproj:
39007         * bridge/mac/WebCoreAXObject.mm:
39008         (-[WebCoreAXObject isImageButton]):
39009         * html/HTMLInputElement.cpp:
39010         (WebCore::HTMLInputElement::createRenderer):
39011         * rendering/RenderImage.h:
39012         (WebCore::RenderImage::isImage):
39014 2006-08-11  Adele Peterson  <adele@apple.com>
39016         Reviewed by Brady.
39018         - Fix for <rdar://problem/4656274> 
39019         REGRESSION: option elements are selected when added regardless of "selected" property
39021         Test: fast/forms/option-constructor-selected.html
39023         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setOption):
39024         When adding an option element, check that the option element is selected before calling setSelectedIndex.
39026 2006-08-11  David Hyatt  <hyatt@apple.com>
39028         Fix for bug 10349, make sure to call setChanged when an anchor changes
39029         from not being a link to being a link (and vice versa).
39031         Test is in fast/dynamic/link-href-change.html
39033         Reviewed by darin
39035         * html/HTMLAnchorElement.cpp:
39036         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
39037         (WebCore::HTMLAnchorElement::parseMappedAttribute):
39038         * html/HTMLAnchorElement.h:
39039         * html/HTMLAreaElement.cpp:
39040         (WebCore::HTMLAreaElement::parseMappedAttribute):
39042 2006-08-09  Rob Buis  <buis@kde.org>
39044         Reviewed by Darin.
39046         Revert an over-optimization step that messed up the HashSet lookup.
39048         * dom/DOMImplementation.cpp:
39050 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
39052         Rubber stamped by tim
39054         Removed commented out code
39056         * kcanvas/RenderSVGImage.cpp:
39057         (WebCore::RenderSVGImage::paint):
39059 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
39061         Reviewed by geoff
39063         Fixed regression in SVG image layout
39064         (see bug #10346)
39066         * kcanvas/RenderSVGImage.cpp:
39067         (WebCore::RenderSVGImage::paint):
39069 2006-08-10  Anders Carlsson  <acarlsson@apple.com>
39071         Rubber-stamped by Maciej.
39073         Move xpath to xml.
39074         
39075         * DerivedSources.make:
39076         * WebCore.vcproj/WebCore/WebCore.vcproj:
39077         * WebCore.xcodeproj/project.pbxproj:
39078         * xpath/XPathEvaluator.cpp: Removed.
39079         * xpath/XPathEvaluator.h: Removed.
39080         * xpath/XPathEvaluator.idl: Removed.
39081         * xpath/XPathExpression.cpp: Removed.
39082         * xpath/XPathExpression.h: Removed.
39083         * xpath/XPathExpression.idl: Removed.
39084         * xpath/XPathNSResolver.cpp: Removed.
39085         * xpath/XPathNSResolver.h: Removed.
39086         * xpath/XPathNSResolver.idl: Removed.
39087         * xpath/XPathNamespace.cpp: Removed.
39088         * xpath/XPathNamespace.h: Removed.
39089         * xpath/XPathResult.cpp: Removed.
39090         * xpath/XPathResult.h: Removed.
39091         * xpath/XPathResult.idl: Removed.
39092         * xpath/impl/XPathExpressionNode.cpp: Removed.
39093         * xpath/impl/XPathExpressionNode.h: Removed.
39094         * xpath/impl/XPathFunctions.cpp: Removed.
39095         * xpath/impl/XPathFunctions.h: Removed.
39096         * xpath/impl/XPathGrammar.y: Removed.
39097         * xpath/impl/XPathParser.cpp: Removed.
39098         * xpath/impl/XPathParser.h: Removed.
39099         * xpath/impl/XPathPath.cpp: Removed.
39100         * xpath/impl/XPathPath.h: Removed.
39101         * xpath/impl/XPathPredicate.cpp: Removed.
39102         * xpath/impl/XPathPredicate.h: Removed.
39103         * xpath/impl/XPathStep.cpp: Removed.
39104         * xpath/impl/XPathStep.h: Removed.
39105         * xpath/impl/XPathUtil.cpp: Removed.
39106         * xpath/impl/XPathUtil.h: Removed.
39107         * xpath/impl/XPathValue.cpp: Removed.
39108         * xpath/impl/XPathValue.h: Removed.
39109         * xpath/impl/XPathVariableReference.cpp: Removed.
39110         * xpath/impl/XPathVariableReference.h: Removed.
39112 2006-08-10  David Harrison  <harrison@apple.com>
39114         Reviewed by John Sullivan.
39116         <rdar://problem/4600112> REGRESSION: VO no longer able to review text within an edit field on web pages
39118         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
39119         is not possible.  See following bug...
39120             <rdar://problem/4256882> Need automated testing support for accessibility APIs
39122         * bridge/mac/WebCoreAXObject.mm:
39123         (-[WebCoreAXObject value]):
39124         Add handling for text input fields.
39126 2006-08-09  Graham Dennis  <graham.dennis@gmail.com>
39128         Reviewed by Darin.
39130         - fix http://bugs.webkit.org/show_bug.cgi?id=10247
39131         REGRESSION: Unable to build webkit without SVG/XPATH
39133         * bindings/js/kjs_binding.cpp:
39134         (KJS::setDOMException):
39135         * bindings/js/kjs_dom.cpp:
39136         (KJS::toJS):
39137         * bindings/js/kjs_html.cpp:
39138         (KJS::HTMLElementFunction::callAsFunction):
39139         * bindings/js/kjs_proxy.cpp:
39140         * bindings/js/kjs_proxy.h:
39141         * bindings/objc/DOMInternal.h:
39142         * bindings/objc/DOMInternal.mm:
39143         (raiseDOMException):
39144         * bindings/objc/DOMXPath.mm:
39145         * bindings/objc/DOMXPathInternal.h:
39146         * bindings/scripts/CodeGeneratorJS.pm:
39147         * bridge/mac/WebCoreFrameBridge.mm:
39148         (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
39149         * css/CSSGrammar.y:
39150         * css/CSSStyleDeclaration.cpp:
39151         (WebCore::propertyID):
39152         * css/cssparser.cpp:
39153         (WebCore::CSSParser::parseValue):
39154         * css/cssparser.h:
39155         * css/cssstyleselector.cpp:
39156         (WebCore::CSSStyleSelector::loadDefaultStyle):
39157         (WebCore::CSSStyleSelector::applyProperty):
39158         * css/cssstyleselector.h:
39159         * dom/Document.cpp:
39160         (WebCore::Document::Document):
39161         (WebCore::Document::~Document):
39162         (WebCore::Document::createElementNS):
39163         (WebCore::Document::implicitClose):
39164         (WebCore::Document::recalcStyleSelector):
39165         (WebCore::Document::createEvent):
39166         * dom/Document.h:
39167         * dom/Document.idl:
39168         * dom/Node.cpp:
39169         (WebCore::Node::createRendererIfNeeded):
39170         * dom/Node.h:
39171         * dom/XMLTokenizer.cpp:
39172         (WebCore::XMLTokenizer::endElementNs):
39173         (WebCore::XMLTokenizer::insertErrorMessageBlock):
39174         * html/HTMLEmbedElement.cpp:
39175         * html/HTMLEmbedElement.h:
39176         * html/HTMLObjectElement.cpp:
39177         * html/HTMLObjectElement.h:
39178         * kcanvas/KCanvasCreator.cpp:
39179         * kcanvas/KCanvasCreator.h:
39180         * kcanvas/KCanvasFilters.cpp:
39181         * kcanvas/KCanvasFilters.h:
39182         * kcanvas/KCanvasImage.h:
39183         * kcanvas/KCanvasMatrix.cpp:
39184         * kcanvas/KCanvasMatrix.h:
39185         * kcanvas/KCanvasPath.cpp:
39186         * kcanvas/KCanvasPath.h:
39187         * kcanvas/KCanvasResourceListener.h:
39188         * kcanvas/KCanvasResources.cpp:
39189         * kcanvas/KCanvasResources.h:
39190         * kcanvas/KCanvasTreeDebug.cpp:
39191         * kcanvas/RenderForeignObject.cpp:
39192         * kcanvas/RenderForeignObject.h:
39193         * kcanvas/RenderPath.cpp:
39194         * kcanvas/RenderPath.h:
39195         * kcanvas/RenderSVGContainer.cpp:
39196         * kcanvas/RenderSVGContainer.h:
39197         * kcanvas/RenderSVGImage.cpp:
39198         * kcanvas/RenderSVGImage.h:
39199         * kcanvas/RenderSVGText.cpp:
39200         * kcanvas/RenderSVGText.h:
39201         * kcanvas/device/KRenderingDevice.cpp:
39202         * kcanvas/device/KRenderingDevice.h:
39203         * kcanvas/device/KRenderingFillPainter.cpp:
39204         * kcanvas/device/KRenderingFillPainter.h:
39205         * kcanvas/device/KRenderingPaintServer.h:
39206         * kcanvas/device/KRenderingPaintServerGradient.cpp:
39207         * kcanvas/device/KRenderingPaintServerGradient.h:
39208         * kcanvas/device/KRenderingPaintServerPattern.cpp:
39209         * kcanvas/device/KRenderingPaintServerPattern.h:
39210         * kcanvas/device/KRenderingPaintServerSolid.cpp:
39211         * kcanvas/device/KRenderingPaintServerSolid.h:
39212         * kcanvas/device/KRenderingStrokePainter.cpp:
39213         * kcanvas/device/KRenderingStrokePainter.h:
39214         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
39215         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
39216         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
39217         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
39218         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
39219         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
39220         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
39221         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
39222         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
39223         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
39224         * kcanvas/device/quartz/QuartzSupport.h:
39225         * kcanvas/device/quartz/QuartzSupport.mm:
39226         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
39227         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h:
39228         * ksvg2/css/SVGCSSParser.cpp:
39229         * ksvg2/css/SVGCSSStyleSelector.cpp:
39230         * ksvg2/css/SVGRenderStyle.cpp:
39231         * ksvg2/css/SVGRenderStyle.h:
39232         * ksvg2/css/SVGRenderStyleDefs.cpp:
39233         * ksvg2/css/SVGRenderStyleDefs.h:
39234         * ksvg2/ecma/GlobalObject.cpp:
39235         * ksvg2/ecma/GlobalObject.h:
39236         * ksvg2/events/JSSVGLazyEventListener.cpp:
39237         * ksvg2/events/JSSVGLazyEventListener.h:
39238         * ksvg2/events/SVGZoomEvent.cpp:
39239         * ksvg2/events/SVGZoomEvent.h:
39240         * ksvg2/ksvg.h:
39241         * ksvg2/misc/KCanvasRenderingStyle.cpp:
39242         * ksvg2/misc/KCanvasRenderingStyle.h:
39243         * ksvg2/misc/KSVGTimeScheduler.cpp:
39244         * ksvg2/misc/KSVGTimeScheduler.h:
39245         * ksvg2/misc/SVGDocumentExtensions.cpp:
39246         * ksvg2/misc/SVGDocumentExtensions.h:
39247         * ksvg2/misc/SVGImageLoader.cpp:
39248         * ksvg2/misc/SVGImageLoader.h:
39249         * ksvg2/svg/DOMList.h:
39250         * ksvg2/svg/SVGAElement.cpp:
39251         * ksvg2/svg/SVGAElement.h:
39252         * ksvg2/svg/SVGAngle.cpp:
39253         * ksvg2/svg/SVGAngle.h:
39254         * ksvg2/svg/SVGAnimateColorElement.cpp:
39255         * ksvg2/svg/SVGAnimateColorElement.h:
39256         * ksvg2/svg/SVGAnimateElement.cpp:
39257         * ksvg2/svg/SVGAnimateElement.h:
39258         * ksvg2/svg/SVGAnimateTransformElement.cpp:
39259         * ksvg2/svg/SVGAnimateTransformElement.h:
39260         * ksvg2/svg/SVGAnimatedAngle.cpp:
39261         * ksvg2/svg/SVGAnimatedAngle.h:
39262         * ksvg2/svg/SVGAnimatedBoolean.cpp:
39263         * ksvg2/svg/SVGAnimatedBoolean.h:
39264         * ksvg2/svg/SVGAnimatedColor.cpp:
39265         * ksvg2/svg/SVGAnimatedColor.h:
39266         * ksvg2/svg/SVGAnimatedEnumeration.cpp:
39267         * ksvg2/svg/SVGAnimatedEnumeration.h:
39268         * ksvg2/svg/SVGAnimatedInteger.cpp:
39269         * ksvg2/svg/SVGAnimatedInteger.h:
39270         * ksvg2/svg/SVGAnimatedLength.cpp:
39271         * ksvg2/svg/SVGAnimatedLength.h:
39272         * ksvg2/svg/SVGAnimatedLengthList.cpp:
39273         * ksvg2/svg/SVGAnimatedLengthList.h:
39274         * ksvg2/svg/SVGAnimatedNumber.cpp:
39275         * ksvg2/svg/SVGAnimatedNumber.h:
39276         * ksvg2/svg/SVGAnimatedNumberList.cpp:
39277         * ksvg2/svg/SVGAnimatedNumberList.h:
39278         * ksvg2/svg/SVGAnimatedPathData.cpp:
39279         * ksvg2/svg/SVGAnimatedPathData.h:
39280         * ksvg2/svg/SVGAnimatedPoints.cpp:
39281         * ksvg2/svg/SVGAnimatedPoints.h:
39282         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.cpp:
39283         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
39284         * ksvg2/svg/SVGAnimatedRect.cpp:
39285         * ksvg2/svg/SVGAnimatedRect.h:
39286         * ksvg2/svg/SVGAnimatedString.cpp:
39287         * ksvg2/svg/SVGAnimatedString.h:
39288         * ksvg2/svg/SVGAnimatedTemplate.h:
39289         * ksvg2/svg/SVGAnimatedTransformList.cpp:
39290         * ksvg2/svg/SVGAnimatedTransformList.h:
39291         * ksvg2/svg/SVGAnimationElement.cpp:
39292         * ksvg2/svg/SVGAnimationElement.h:
39293         * ksvg2/svg/SVGCircleElement.cpp:
39294         * ksvg2/svg/SVGCircleElement.h:
39295         * ksvg2/svg/SVGClipPathElement.cpp:
39296         * ksvg2/svg/SVGClipPathElement.h:
39297         * ksvg2/svg/SVGColor.cpp:
39298         * ksvg2/svg/SVGColor.h:
39299         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
39300         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
39301         * ksvg2/svg/SVGCursorElement.cpp:
39302         * ksvg2/svg/SVGCursorElement.h:
39303         * ksvg2/svg/SVGDOMImplementation.cpp:
39304         * ksvg2/svg/SVGDOMImplementation.h:
39305         * ksvg2/svg/SVGDefsElement.cpp:
39306         * ksvg2/svg/SVGDefsElement.h:
39307         * ksvg2/svg/SVGDescElement.cpp:
39308         * ksvg2/svg/SVGDescElement.h:
39309         * ksvg2/svg/SVGDocument.cpp:
39310         * ksvg2/svg/SVGDocument.h:
39311         * ksvg2/svg/SVGElement.cpp:
39312         * ksvg2/svg/SVGElement.h:
39313         * ksvg2/svg/SVGElementInstance.cpp:
39314         * ksvg2/svg/SVGElementInstance.h:
39315         * ksvg2/svg/SVGElementInstanceList.cpp:
39316         * ksvg2/svg/SVGElementInstanceList.h:
39317         * ksvg2/svg/SVGEllipseElement.cpp:
39318         * ksvg2/svg/SVGEllipseElement.h:
39319         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
39320         * ksvg2/svg/SVGExternalResourcesRequired.h:
39321         * ksvg2/svg/SVGFEBlendElement.cpp:
39322         * ksvg2/svg/SVGFEBlendElement.h:
39323         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
39324         * ksvg2/svg/SVGFEColorMatrixElement.h:
39325         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
39326         * ksvg2/svg/SVGFEComponentTransferElement.h:
39327         * ksvg2/svg/SVGFECompositeElement.cpp:
39328         * ksvg2/svg/SVGFECompositeElement.h:
39329         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
39330         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
39331         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
39332         * ksvg2/svg/SVGFEDisplacementMapElement.h:
39333         * ksvg2/svg/SVGFEDistantLightElement.cpp:
39334         * ksvg2/svg/SVGFEDistantLightElement.h:
39335         * ksvg2/svg/SVGFEFloodElement.cpp:
39336         * ksvg2/svg/SVGFEFloodElement.h:
39337         * ksvg2/svg/SVGFEFuncAElement.cpp:
39338         * ksvg2/svg/SVGFEFuncAElement.h:
39339         * ksvg2/svg/SVGFEFuncBElement.cpp:
39340         * ksvg2/svg/SVGFEFuncBElement.h:
39341         * ksvg2/svg/SVGFEFuncGElement.cpp:
39342         * ksvg2/svg/SVGFEFuncGElement.h:
39343         * ksvg2/svg/SVGFEFuncRElement.cpp:
39344         * ksvg2/svg/SVGFEFuncRElement.h:
39345         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
39346         * ksvg2/svg/SVGFEGaussianBlurElement.h:
39347         * ksvg2/svg/SVGFEImageElement.cpp:
39348         * ksvg2/svg/SVGFEImageElement.h:
39349         * ksvg2/svg/SVGFELightElement.cpp:
39350         * ksvg2/svg/SVGFELightElement.h:
39351         * ksvg2/svg/SVGFEMergeElement.cpp:
39352         * ksvg2/svg/SVGFEMergeElement.h:
39353         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
39354         * ksvg2/svg/SVGFEMergeNodeElement.h:
39355         * ksvg2/svg/SVGFEOffsetElement.cpp:
39356         * ksvg2/svg/SVGFEOffsetElement.h:
39357         * ksvg2/svg/SVGFEPointLightElement.cpp:
39358         * ksvg2/svg/SVGFEPointLightElement.h:
39359         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
39360         * ksvg2/svg/SVGFESpecularLightingElement.h:
39361         * ksvg2/svg/SVGFESpotLightElement.cpp:
39362         * ksvg2/svg/SVGFESpotLightElement.h:
39363         * ksvg2/svg/SVGFETileElement.cpp:
39364         * ksvg2/svg/SVGFETileElement.h:
39365         * ksvg2/svg/SVGFETurbulenceElement.cpp:
39366         * ksvg2/svg/SVGFETurbulenceElement.h:
39367         * ksvg2/svg/SVGFilterElement.cpp:
39368         * ksvg2/svg/SVGFilterElement.h:
39369         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
39370         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
39371         * ksvg2/svg/SVGFitToViewBox.cpp:
39372         * ksvg2/svg/SVGFitToViewBox.h:
39373         * ksvg2/svg/SVGForeignObjectElement.cpp:
39374         * ksvg2/svg/SVGForeignObjectElement.h:
39375         * ksvg2/svg/SVGGElement.cpp:
39376         * ksvg2/svg/SVGGElement.h:
39377         * ksvg2/svg/SVGGradientElement.cpp:
39378         * ksvg2/svg/SVGGradientElement.h:
39379         * ksvg2/svg/SVGHelper.cpp:
39380         * ksvg2/svg/SVGHelper.h:
39381         * ksvg2/svg/SVGImageElement.cpp:
39382         * ksvg2/svg/SVGImageElement.h:
39383         * ksvg2/svg/SVGLangSpace.cpp:
39384         * ksvg2/svg/SVGLangSpace.h:
39385         * ksvg2/svg/SVGLength.cpp:
39386         * ksvg2/svg/SVGLength.h:
39387         * ksvg2/svg/SVGLengthList.cpp:
39388         * ksvg2/svg/SVGLengthList.h:
39389         * ksvg2/svg/SVGLineElement.cpp:
39390         * ksvg2/svg/SVGLineElement.h:
39391         * ksvg2/svg/SVGLinearGradientElement.cpp:
39392         * ksvg2/svg/SVGLinearGradientElement.h:
39393         * ksvg2/svg/SVGList.h:
39394         * ksvg2/svg/SVGLocatable.cpp:
39395         * ksvg2/svg/SVGLocatable.h:
39396         * ksvg2/svg/SVGMarkerElement.cpp:
39397         * ksvg2/svg/SVGMarkerElement.h:
39398         * ksvg2/svg/SVGMaskElement.cpp:
39399         * ksvg2/svg/SVGMaskElement.h:
39400         * ksvg2/svg/SVGMatrix.cpp:
39401         * ksvg2/svg/SVGMatrix.h:
39402         * ksvg2/svg/SVGNumber.cpp:
39403         * ksvg2/svg/SVGNumber.h:
39404         * ksvg2/svg/SVGNumberList.cpp:
39405         * ksvg2/svg/SVGNumberList.h:
39406         * ksvg2/svg/SVGPaint.cpp:
39407         * ksvg2/svg/SVGPaint.h:
39408         * ksvg2/svg/SVGPathElement.cpp:
39409         * ksvg2/svg/SVGPathElement.h:
39410         * ksvg2/svg/SVGPathSeg.cpp:
39411         * ksvg2/svg/SVGPathSeg.h:
39412         * ksvg2/svg/SVGPathSegArc.cpp:
39413         * ksvg2/svg/SVGPathSegArc.h:
39414         * ksvg2/svg/SVGPathSegClosePath.cpp:
39415         * ksvg2/svg/SVGPathSegClosePath.h:
39416         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
39417         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
39418         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
39419         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
39420         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
39421         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
39422         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
39423         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
39424         * ksvg2/svg/SVGPathSegLineto.cpp:
39425         * ksvg2/svg/SVGPathSegLineto.h:
39426         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
39427         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
39428         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
39429         * ksvg2/svg/SVGPathSegLinetoVertical.h:
39430         * ksvg2/svg/SVGPathSegList.cpp:
39431         * ksvg2/svg/SVGPathSegList.h:
39432         * ksvg2/svg/SVGPathSegMoveto.cpp:
39433         * ksvg2/svg/SVGPathSegMoveto.h:
39434         * ksvg2/svg/SVGPatternElement.cpp:
39435         * ksvg2/svg/SVGPatternElement.h:
39436         * ksvg2/svg/SVGPoint.cpp:
39437         * ksvg2/svg/SVGPoint.h:
39438         * ksvg2/svg/SVGPointList.cpp:
39439         * ksvg2/svg/SVGPointList.h:
39440         * ksvg2/svg/SVGPolyElement.cpp:
39441         * ksvg2/svg/SVGPolyElement.h:
39442         * ksvg2/svg/SVGPolygonElement.cpp:
39443         * ksvg2/svg/SVGPolygonElement.h:
39444         * ksvg2/svg/SVGPolylineElement.cpp:
39445         * ksvg2/svg/SVGPolylineElement.h:
39446         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
39447         * ksvg2/svg/SVGPreserveAspectRatio.h:
39448         * ksvg2/svg/SVGRadialGradientElement.cpp:
39449         * ksvg2/svg/SVGRadialGradientElement.h:
39450         * ksvg2/svg/SVGRect.cpp:
39451         * ksvg2/svg/SVGRect.h:
39452         * ksvg2/svg/SVGRectElement.cpp:
39453         * ksvg2/svg/SVGRectElement.h:
39454         * ksvg2/svg/SVGSVGElement.cpp:
39455         * ksvg2/svg/SVGSVGElement.h:
39456         * ksvg2/svg/SVGScriptElement.cpp:
39457         * ksvg2/svg/SVGScriptElement.h:
39458         * ksvg2/svg/SVGSetElement.cpp:
39459         * ksvg2/svg/SVGSetElement.h:
39460         * ksvg2/svg/SVGStopElement.cpp:
39461         * ksvg2/svg/SVGStopElement.h:
39462         * ksvg2/svg/SVGStringList.cpp:
39463         * ksvg2/svg/SVGStringList.h:
39464         * ksvg2/svg/SVGStylable.cpp:
39465         * ksvg2/svg/SVGStylable.h:
39466         * ksvg2/svg/SVGStyleElement.cpp:
39467         * ksvg2/svg/SVGStyleElement.h:
39468         * ksvg2/svg/SVGStyledElement.cpp:
39469         * ksvg2/svg/SVGStyledElement.h:
39470         * ksvg2/svg/SVGStyledLocatableElement.cpp:
39471         * ksvg2/svg/SVGStyledLocatableElement.h:
39472         * ksvg2/svg/SVGStyledTransformableElement.cpp:
39473         * ksvg2/svg/SVGStyledTransformableElement.h:
39474         * ksvg2/svg/SVGSwitchElement.cpp:
39475         * ksvg2/svg/SVGSwitchElement.h:
39476         * ksvg2/svg/SVGSymbolElement.cpp:
39477         * ksvg2/svg/SVGSymbolElement.h:
39478         * ksvg2/svg/SVGTRefElement.cpp:
39479         * ksvg2/svg/SVGTRefElement.h:
39480         * ksvg2/svg/SVGTSpanElement.cpp:
39481         * ksvg2/svg/SVGTSpanElement.h:
39482         * ksvg2/svg/SVGTests.cpp:
39483         * ksvg2/svg/SVGTests.h:
39484         * ksvg2/svg/SVGTextContentElement.cpp:
39485         * ksvg2/svg/SVGTextContentElement.h:
39486         * ksvg2/svg/SVGTextElement.cpp:
39487         * ksvg2/svg/SVGTextElement.h:
39488         * ksvg2/svg/SVGTextPositioningElement.cpp:
39489         * ksvg2/svg/SVGTextPositioningElement.h:
39490         * ksvg2/svg/SVGTitleElement.cpp:
39491         * ksvg2/svg/SVGTitleElement.h:
39492         * ksvg2/svg/SVGTransform.cpp:
39493         * ksvg2/svg/SVGTransform.h:
39494         * ksvg2/svg/SVGTransformList.cpp:
39495         * ksvg2/svg/SVGTransformList.h:
39496         * ksvg2/svg/SVGTransformable.cpp:
39497         * ksvg2/svg/SVGTransformable.h:
39498         * ksvg2/svg/SVGURIReference.cpp:
39499         * ksvg2/svg/SVGURIReference.h:
39500         * ksvg2/svg/SVGUseElement.cpp:
39501         * ksvg2/svg/SVGUseElement.h:
39502         * ksvg2/svg/SVGViewElement.cpp:
39503         * ksvg2/svg/SVGViewElement.h:
39504         * ksvg2/svg/SVGZoomAndPan.cpp:
39505         * ksvg2/svg/SVGZoomAndPan.h:
39506         * ksvg2/svg/svgpathparser.cpp:
39507         * ksvg2/svg/svgpathparser.h:
39508         * page/DOMWindow.idl:
39509         * page/Frame.cpp:
39510         (WebCore::Frame::Frame):
39511         (WebCore::Frame::begin):
39512         (WebCore::Frame::pauseTimeouts):
39513         (WebCore::Frame::resumeTimeouts):
39514         * platform/GraphicsContext.h:
39515         * platform/cg/GraphicsContextCG.cpp:
39516         * rendering/RenderLayer.cpp:
39517         (WebCore::RenderLayer::isTransparent):
39518         * rendering/RenderObject.cpp:
39519         (WebCore::RenderObject::containingBlock):
39520         * rendering/RenderObject.h:
39521         * rendering/RenderStyle.cpp:
39522         (WebCore::RenderStyle::RenderStyle):
39523         (WebCore::RenderStyle::inheritFrom):
39524         (WebCore::RenderStyle::operator==):
39525         (WebCore::RenderStyle::inheritedNotEqual):
39526         (WebCore::RenderStyle::diff):
39527         * rendering/RenderStyle.h:
39528         * rendering/RenderTreeAsText.cpp:
39529         (WebCore::write):
39530         (WebCore::externalRepresentation):
39531         * xpath/XPathEvaluator.cpp:
39532         * xpath/XPathEvaluator.h:
39533         * xpath/XPathExpression.cpp:
39534         * xpath/XPathExpression.h:
39535         * xpath/XPathNSResolver.cpp:
39536         * xpath/XPathNSResolver.h:
39537         * xpath/XPathNamespace.cpp:
39538         * xpath/XPathNamespace.h:
39539         * xpath/XPathResult.cpp:
39540         * xpath/XPathResult.h:
39541         * xpath/impl/XPathExpressionNode.cpp:
39542         * xpath/impl/XPathExpressionNode.h:
39543         * xpath/impl/XPathFunctions.cpp:
39544         * xpath/impl/XPathFunctions.h:
39545         * xpath/impl/XPathGrammar.y:
39546         * xpath/impl/XPathParser.cpp:
39547         * xpath/impl/XPathParser.h:
39548         * xpath/impl/XPathPath.cpp:
39549         * xpath/impl/XPathPath.h:
39550         * xpath/impl/XPathPredicate.cpp:
39551         * xpath/impl/XPathPredicate.h:
39552         * xpath/impl/XPathStep.cpp:
39553         * xpath/impl/XPathStep.h:
39554         * xpath/impl/XPathUtil.cpp:
39555         * xpath/impl/XPathUtil.h:
39556         * xpath/impl/XPathValue.cpp:
39557         * xpath/impl/XPathValue.h:
39558         * xpath/impl/XPathVariableReference.cpp:
39559         * xpath/impl/XPathVariableReference.h:
39561         Change all #if SVG_SUPPORT to #ifdef SVG_SUPPORT and
39562         #if XPATH_SUPPORT to #ifdef XPATH_SUPPORT
39563         (except for one #if !SVG_SUPPORT to a #ifndef SVG_SUPPORT
39564         in RenderTreeAsText.cpp)
39566 2006-08-08  Rob Buis  <buis@kde.org>
39568         Reviewed by Darin.
39570         http://bugs.webkit.org/show_bug.cgi?id=10230
39571         SVGDOMImplementation should die (and be rolled into DOMImplementation)
39573         Delete SVGDOMImplementation and references to it. The
39574         svg specific functionality is now in DOMImplementation.
39576         * WebCore.xcodeproj/project.pbxproj:
39577         * dom/DOMImplementation.cpp:
39578         (WebCore::svgFeatureSet):
39579         (WebCore::DOMImplementation::hasFeature):
39580         (WebCore::DOMImplementation::createDocument):
39581         (WebCore::DOMImplementation::createSVGDocument):
39582         * dom/DOMImplementation.h:
39583         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Removed.
39584         * ksvg2/misc/KSVGTimeScheduler.cpp:
39585         * ksvg2/svg/SVGColor.cpp:
39586         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
39587         * ksvg2/svg/SVGDocument.cpp:
39588         (WebCore::SVGDocument::SVGDocument):
39589         * ksvg2/svg/SVGDocument.h:
39590         * ksvg2/svg/SVGElement.cpp:
39591         (WebCore::SVGElement::isSupported):
39592         * ksvg2/svg/SVGFEBlendElement.cpp:
39593         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
39594         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
39595         * ksvg2/svg/SVGFECompositeElement.cpp:
39596         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
39597         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
39598         * ksvg2/svg/SVGFEFloodElement.cpp:
39599         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
39600         * ksvg2/svg/SVGFELightElement.cpp:
39601         * ksvg2/svg/SVGFEMergeElement.cpp:
39602         * ksvg2/svg/SVGFEOffsetElement.cpp:
39603         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
39604         * ksvg2/svg/SVGFETileElement.cpp:
39605         * ksvg2/svg/SVGFETurbulenceElement.cpp:
39606         * ksvg2/svg/SVGGradientElement.cpp:
39607         * ksvg2/svg/SVGPatternElement.cpp:
39608         * ksvg2/svg/SVGPolyElement.cpp:
39609         * ksvg2/svg/SVGStopElement.cpp:
39610         * ksvg2/svg/SVGStyledElement.cpp:
39611         * ksvg2/svg/SVGStyledTransformableElement.cpp:
39612         * ksvg2/svg/SVGTests.cpp:
39613         (WebCore::SVGTests::isValid):
39614         * ksvg2/svg/SVGTransformable.cpp:
39615         * page/Frame.cpp:
39616         (WebCore::Frame::begin):
39618 2006-08-07  Brady Eidson  <beidson@apple.com>
39620         Reviewed by Anders and John
39622         Icons can now refresh when new data is sent from WebKit, both on disk and in memory
39624         * bridge/mac/WebCoreIconDatabaseBridge.h:
39625         * bridge/mac/WebCoreIconDatabaseBridge.mm:
39626         (WebCore::IconDatabase::loadIconFromURL):  Allows WebCore/Kit to kick off a load
39627         outside of any greater context
39628         (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
39629         (-[WebCoreIconDatabaseBridge isIconExpiredForPageURL:]): Allows WebKit
39630         to get whether or not an icon has expired
39632         * loader/icon/IconDatabase.cpp:
39633         (WebCore::IconDatabase::recreateDatabase): Changed database schema slightly
39634         (WebCore::IconDatabase::createPrivateTables): Changed database schema slightly
39635         (WebCore::IconDatabase::iconForPageURL): 
39636         (WebCore::IconDatabase::isIconExpiredForIconURL): Get if an icon has expired
39637         (WebCore::IconDatabase::isIconExpiredForPageURL): Get if an icon has expired
39638         (WebCore::IconDatabase::setIconDataForIconURL): Force a refresh of the in memory
39639         image when new icon data is loaded
39640         (WebCore::IconDatabase::setIconURLForPageURL): added a check for null iconID
39642         * loader/icon/IconDatabase.h: added/changed some methods
39643         * loader/icon/SiteIcon.cpp:
39644         (SiteIcon::getImage): simplified/removed debugging code
39645         (SiteIcon::manuallySetImageData): allow the image data to be changed when new icon
39646         data is loaded
39648 2006-08-05  Darin Adler  <darin@apple.com>
39650         Reviewed by Eric Seidel.
39652         - fix a storage leak
39654         * rendering/RenderView.cpp: (WebCore::RenderView::setSelection):
39655         Delete the values if we are going to exit without using the maps.
39656         Otherwise all the values leak.
39658 2006-08-05  Darin Adler  <darin@apple.com>
39660         Reviewed by Hyatt.
39662         - fix http://bugs.webkit.org/show_bug.cgi?id=10213
39663           REGRESSION: Crash in WebCore::RenderLayer::isTransparent involving <iframe> and <select>
39665         Test: fast/frames/iframe-option-crash.xhtml
39667         * rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
39668         Check for a nil renderer.
39670 2006-08-04  David Hyatt  <hyatt@apple.com>
39672         Fix for Radar bug #4644045, regression where dragging selection no longer
39673         works for floats contained inside layers.  I added an optimization to
39674         refine dirty rect checking for layers, and it incorrectly excluded floats
39675         from the paint bounds since PaintPhaseSelection was not considered when
39676         analyzing the floatRect().
39678         Reviewed by beth
39680         * rendering/RenderBlock.cpp:
39681         (WebCore::RenderBlock::paint):
39683 2006-08-04  David Hyatt  <hyatt@apple.com>
39685         Fix remove() so that it is equivalent to calling removeChild on the
39686         parent.  This involved moving three operations that remove did.
39688         (1) Move the accessibility object cache removal into the destroy methods,
39689         since this really should just happen when a render object is going away.
39691         (2) removeFromObjectLists shifted into removeChild, which means it will
39692         now be called more often (this is a correct change).  Note that there is
39693         also now a new guard on removeFromObjectLists so that it won't do any
39694         work unless the document is not being destroyed.
39696         (3) The big one.  deleteLineBoxWrapper was not getting called to clean up
39697         the line box tree.  This moved right into RenderContainer's removeChildNode so
39698         that it is now done even in the lowest level RenderContainer removal primitive.
39700         Reviewed by beth
39702         * rendering/RenderContainer.cpp:
39703         (WebCore::RenderContainer::removeChildNode):
39704         (WebCore::RenderContainer::removeChild):
39705         * rendering/RenderObject.cpp:
39706         (WebCore::RenderObject::removeFromObjectLists):
39707         (WebCore::RenderObject::destroy):
39708         * rendering/RenderObject.h:
39709         (WebCore::RenderObject::remove):
39710         * rendering/RenderWidget.cpp:
39711         (WebCore::RenderWidget::destroy):
39713 2006-08-04  David Hyatt  <hyatt@apple.com>
39715         Back out the fix for list marker crashes.  The actual bug here is that
39716         there is a confusing mismatch between remove() and removeChild() in the
39717         render tree.  remove() does a little bit of extra work that removeChild
39718         should be doing instead (so that remove() can just be a shorthand for
39719         removeChild).
39721         This conservative fix does not solve the remove/removeChild mismatch
39722         but instead just changes the list marker updating code to use remove
39723         instead.
39725         Reviewed by beth
39727         Test Case: fast/lists/dynamic-marker-crash.html
39729         * rendering/ListMarkerBox.cpp:
39730         * rendering/ListMarkerBox.h:
39731         * rendering/RenderListItem.cpp:
39732         (WebCore::RenderListItem::updateMarkerLocation):
39734 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
39736         Reviewed by Darin.
39738         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
39739           Make WebCore (and friends) compile with -Wshorten-64-to-32
39741           * Adds -Wshorten-64-to-32 flag to Xcode project.
39742           * Adds 'f' to float literals where expecting a float.
39743           * Use cosf() instead of cos() when assigning to a float.
39745         * WebCore.xcodeproj/project.pbxproj:
39746         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m:
39747         (+[WKDiffuseLightingFilter initialize]):
39748         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m:
39749         (-[WKDiscreteTransferFilter outputImage]):
39750         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m:
39751         (+[WKDisplacementMapFilter initialize]):
39752         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m:
39753         (+[WKSpecularLightingFilter initialize]):
39754         * kcanvas/device/quartz/filters/WKSpotLightFilter.m:
39755         (-[WKSpotLightFilter outputImage]):
39756         * kcanvas/device/quartz/filters/WKTableTransferFilter.m:
39757         (-[WKTableTransferFilter outputImage]):
39759 2006-08-03  David Hyatt  <hyatt@apple.com>
39761         Fix for bug 10229, don't bother trying to clear when no floats are
39762         present.  I suspect there's still a bug in the math that follows, but
39763         this fix is safer in that it just does the obvious thing (and doesn't
39764         compute any clearance if no floats are even around).
39766         Reviewed by maciej
39768         * ChangeLog:
39769         * rendering/RenderBlock.cpp:
39770         (WebCore::RenderBlock::getClearDelta):
39772 2006-08-03  Justin Garcia  <justin.garcia@apple.com>
39774         Reviewed by harrison
39775         
39776         <rdar://problem/4641033/4515463/4052426/4046570/4053718/4053724/4060115/4062858>
39777         Copy/Paste fidelity was bad.
39779         * editing/ApplyStyleCommand.cpp:
39780         (WebCore::ApplyStyleCommand::applyInlineStyle):
39781         * editing/markup.cpp:
39782         (WebCore::startMarkup): We were not adding non-inheritable styles
39783         to the markup for an element unless they were in the elements inline
39784         style declaration.
39786 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
39788         Reviewed by Darin.
39790         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
39791           Make WebCore compile with -Wundef
39793           * Adds -Wundef flag to Xcode project
39794           * Converts #ifs to #ifdef and #ifndefs where needed.
39795           * Replaces #ifdef WIN32 with #if PLATFORM(WIN_OS) or PLATFORM(WIN)
39796             (and in one instance in config.h with #if !COMPILER(MSVC))
39797           * Added #define YYMAXDEPTH 10000 in XPathGrammar.y and CSSGrammar.y
39798             to fix a warning from within Bison.
39799           * Cleaned up style a little in surrounding code.
39801         * WebCore.xcodeproj/project.pbxproj:
39802         * bridge/mac/WebCoreAXObject.mm:
39803         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
39804         * config.h:
39805         * css/CSSGrammar.y:
39806         * css/MediaFeatureNames.cpp:
39807         * css/MediaFeatureNames.h:
39808         * css/cssparser.cpp:
39809         * dom/ContainerNode.cpp:
39810         (WebCore::ContainerNode::setActive):
39811         * dom/Element.cpp:
39812         (WebCore::Element::attach):
39813         * dom/Element.h:
39814         * dom/EventNames.cpp:
39815         * dom/EventNames.h:
39816         * dom/NamedAttrMap.h:
39817         * dom/Position.cpp:
39818         * dom/QualifiedName.cpp:
39819         * dom/QualifiedName.h:
39820         * dom/Range.h:
39821         * dom/XMLTokenizer.cpp:
39822         (WebCore::XMLTokenizer::error):
39823         * html/HTMLTokenizer.cpp:
39824         (WebCore::HTMLTokenizer::scriptHandler):
39825         (WebCore::HTMLTokenizer::scriptExecution):
39826         (WebCore::HTMLTokenizer::parseTag):
39827         (WebCore::HTMLTokenizer::continueProcessing):
39828         (WebCore::HTMLTokenizer::write):
39829         (WebCore::HTMLTokenizer::timerFired):
39830         (WebCore::HTMLTokenizer::notifyFinished):
39831         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
39832         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
39833         * ksvg2/css/SVGRenderStyle.h:
39834         * ksvg2/css/SVGRenderStyleDefs.h:
39835         * ksvg2/scripts/make_names.pl:
39836         * loader/CachedResource.h:
39837         * loader/LoaderFunctions.h:
39838         * loader/loader.h:
39839         * page/Frame.cpp:
39840         * page/FrameTree.cpp:
39841         * page/FrameView.cpp:
39842         (WebCore::FrameView::clear):
39843         (WebCore::FrameView::layout):
39844         (WebCore::FrameView::layoutTimerFired):
39845         (WebCore::FrameView::scheduleRelayout):
39846         (WebCore::FrameView::unscheduleRelayout):
39847         * platform/AtomicString.cpp:
39848         * platform/AtomicString.h:
39849         * platform/Cursor.h:
39850         * platform/DeprecatedArray.h:
39851         * platform/DeprecatedString.cpp:
39852         (WebCore::allocateHandle):
39853         (WebCore::initializeHandleNodeBlock):
39854         (WebCore::freeHandle):
39855         * platform/FloatPoint.h:
39856         * platform/FloatRect.h:
39857         * platform/FloatSize.h:
39858         * platform/GraphicsContext.h:
39859         * platform/Image.h:
39860         * platform/IntPoint.h:
39861         * platform/IntRect.h:
39862         (WebCore::IntRect::inflateX):
39863         (WebCore::IntRect::inflateY):
39864         * platform/IntSize.h:
39865         * platform/PlatformKeyboardEvent.h:
39866         * platform/PlatformMouseEvent.h:
39867         * platform/PlatformString.h:
39868         * platform/ResourceLoader.h:
39869         * platform/ResourceLoaderInternal.h:
39870         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
39871         * platform/ScrollView.h:
39872         * platform/StaticConstructors.h:
39873         * platform/StreamingTextDecoderICU.cpp:
39874         (WebCore::StreamingTextDecoderICU::convert):
39875         * platform/StringImpl.h:
39876         * platform/Widget.h:
39877         * platform/mac/BlockExceptions.mm:
39878         * platform/mac/ColorMac.mm:
39879         (+[WebCoreControlTintObserver WebCore]):
39880         * platform/mac/FloatPointMac.mm:
39881         * platform/mac/FloatRectMac.mm:
39882         * platform/mac/FloatSizeMac.mm:
39883         * platform/mac/FontMac.mm:
39884         * platform/mac/GraphicsContextMac.mm:
39885         (WebCore::GraphicsContext::drawFocusRing):
39886         * platform/mac/IntPointMac.mm:
39887         * platform/mac/IntRectMac.mm:
39888         * platform/mac/IntSizeMac.mm:
39889         * platform/mac/WebCoreSystemInterface.h:
39890         * rendering/RenderBlock.h:
39891         * rendering/RenderTableCell.h:
39892         * rendering/bidi.cpp:
39893         (WebCore::appendRun):
39894         (WebCore::RenderBlock::layoutInlineChildren):
39895         * xml/XSLTProcessor.cpp:
39896         (WebCore::parseErrorFunc):
39897         * xpath/impl/XPathGrammar.y:
39899 2006-08-03  Adam Roben  <aroben@apple.com>
39901         Reviewed by Maciej and Beth.
39903         Fix use-after-dispose heap corruption bug.
39905         * rendering/ListMarkerBox.cpp:
39906         (WebCore::ListMarkerBox::destroy): Only call removeChild if we're not
39907         destroying the document
39909 2006-08-03  Adam Roben  <aroben@apple.com>
39911         Reviewed by Anders.
39913         - Fixed Windows build.
39915         * platform/Color.cpp:
39916         (WebCore::makeRGBAFromHSLA): Whitespace change
39917         * platform/win/TemporaryLinkStubs.cpp: Add new method stubs
39918         (PlatformScrollBar::PlatformScrollBar):
39919         (PlatformScrollBar::~PlatformScrollBar):
39920         (PlatformScrollBar::width):
39921         (PlatformScrollBar::height):
39922         (PlatformScrollBar::setEnabled):
39923         (PlatformScrollBar::paint):
39924         (PlatformScrollBar::setScrollBarValue):
39925         (PlatformScrollBar::setKnobProportion):
39926         (PlatformScrollBar::setRect):
39927         (ScrollBar::ScrollBar):
39928         (ScrollBar::scroll):
39929         (ScrollBar::setValue):
39931 2006-08-02  Justin Garcia  <justin.garcia@apple.com>
39933         Reviewed by mjs
39934         
39935         <http://bugs.webkit.org/show_bug.cgi?id=10225>
39936         GMail Editor: Change Hilite Color doesn't work
39938         * editing/JSEditor.cpp: Added support for execCommand("HiliteColor", ...).
39939         It's what GMail uses to implement text hiliting.  It's just a synonym for BackColor.
39940         * editing/SelectionController.cpp:
39941         (WebCore::SelectionController::nodeWillBeRemoved): Moved a comment
39942         a more appropriate place.
39944 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
39946         Reviewed by Adele and Darin.
39948         - fix http://bugs.webkit.org/show_bug.cgi?id=10177
39949           REGRESSION: Successfully dragging text into a disabled field
39951         Test: fast/forms/textfield-drag-into-disabled.html
39953         * rendering/RenderTextControl.cpp:
39954         (WebCore::RenderTextControl::createDivStyle): Changed to set -webkit-user-modify
39955         to read-only on the inner div if the control is disabled.       
39956         (WebCore::RenderTextControl::updateFromElement): Ditto.
39958 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
39960         Reviewed by Darin.
39962         - fix http://bugs.webkit.org/show_bug.cgi?id=10198
39963           REGRESSION: WebKit r15750 crashes while loading anthem.com
39965         Test: fast/overflow/generated-content-crash.html
39967         * rendering/RenderLayer.cpp:
39968         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Added a null check for
39969         the renderer's element. Generated content does not have an element and
39970         therefore does not need to maintain overflow status.
39972 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
39974         Reviewed by Anders.
39976         - fix http://bugs.webkit.org/show_bug.cgi?id=10202
39977           REGRESSION: Repro crash when loading an empty image document
39979         Test: fast/tokenizer/image-empty-crash.html
39981         * loader/ImageDocument.cpp:
39982         (WebCore::ImageTokenizer::stopParsing): Added null check for m_imageElement.
39983         (WebCore::ImageTokenizer::finish): Ditto.
39985 2006-08-03  Darin Adler  <darin@apple.com>
39987         Reviewed by Anders.
39989         - clean up "flip"-related code a tiny bit
39991         * platform/Screen.h: Removed redundant parameter names.
39992         * platform/mac/ScreenMac.mm:
39993         (WebCore::flipScreenRect): Changed to call flipScreenPoint so we only have one
39994         copy of the flipping code.
39995         (WebCore::flipScreenPoint): Fixed indentation.
39997         * bridge/mac/WebCoreFrameBridge.mm: (globalPoint): Removed type casts and
39998         simplified a bit.
40000         * platform/mac/PlatformMouseEventMac.mm: (WebCore::globalPositionForEvent):
40001         * platform/mac/WheelEventMac.mm: (WebCore::globalPositionForEvent):
40002         Removed unneeded local variable.
40004 2006-08-02  David Hyatt  <hyatt@apple.com>
40006         Abstract RenderLayer scrollbar creation and destruction so that there
40007         is a clean spot in which to drop in engine scrollbar stuff.
40009         Reviewed by timo
40011         * platform/ScrollBar.h:
40012         (WebCore::ScrollBar::hasPlatformScrollBars):
40013         * rendering/RenderLayer.cpp:
40014         (WebCore::RenderLayer::createScrollbar):
40015         (WebCore::RenderLayer::destroyScrollbar):
40016         (WebCore::RenderLayer::setHasHorizontalScrollbar):
40017         (WebCore::RenderLayer::setHasVerticalScrollbar):
40018         * rendering/RenderLayer.h:
40020 2006-08-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
40022         Reviewed by Darin.
40024         - fix http://bugs.webkit.org/show_bug.cgi?id=3438
40025           incorrect display of transparent 1x1 PNGs
40027         Test: fast/replaced/image-solid-color-with-alpha.html
40029         * platform/mac/ImageMac.mm:
40030         (WebCore::Image::checkForSolidColor): Changed to divide each color component
40031         by the alpha component. You need to do that since the bitmap context has
40032         premultiplied alpha but m_solidColor should be non-premultiplied.
40034 2006-08-02  Adam Roben  <aroben@apple.com>
40036         Reviewed by Brady.
40038         - Remove redundant #include
40040         * loader/loader.cpp:
40042 2006-07-31  Sam Weinig  <sam.weinig@gmail.com>
40044         Reviewed by Darin.
40046         - patch for http://bugs.webkit.org/show_bug.cgi?id=9955
40047         Colors scaled from [0, 1] range to [0, 255] incorrectly
40048         
40049         Fixes scaling issue and fixes Color to follow style guidelines.
40051         * css/cssstyleselector.cpp:
40052         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
40053         * platform/Color.cpp:
40054         (WebCore::calcHue):
40055         (WebCore::makeRGBAFromHSLA):
40056         (WebCore::Color::Color):
40057         (WebCore::Color::name):
40058         (WebCore::Color::setNamedColor):
40059         (WebCore::Color::light):
40060         (WebCore::Color::dark):
40061         (WebCore::blend):
40062         * platform/Color.h:
40063         (WebCore::Color::Color):
40064         (WebCore::Color::isValid):
40065         (WebCore::Color::red):
40066         (WebCore::Color::green):
40067         (WebCore::Color::blue):
40068         (WebCore::Color::alpha):
40069         (WebCore::Color::rgb):
40070         (WebCore::Color::setRGB):
40071         (WebCore::operator==):
40072         (WebCore::operator!=):
40073         * rendering/RenderObject.cpp:
40074         (WebCore::RenderObject::drawBorder):
40076 2006-07-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
40078         - fix http://bugs.webkit.org/show_bug.cgi?id=10158
40079           REGRESSION: Selection highlight is dark and opaque when solid-color images are used
40081         Reviewed by Darin.
40083         Pixel test: fast/backgrounds/solid-color-context-restore.html
40085         * platform/mac/ImageMac.mm:
40086         (WebCore::Image::draw): Added calls to preserve the graphics context
40087         around the painting of a solid color image.
40088         (WebCore::Image::drawTiled): Ditto.
40090 2006-07-31  Maciej Stachowiak  <mjs@apple.com>
40092         Rubber-stamped by Tim Hatcher.
40094         - renamed TransferJob to ResourceLoader
40096         * Projects/gdk/webcore-gdk.bkl:
40097         * WebCore.vcproj/WebCore/WebCore.vcproj:
40098         * WebCore.xcodeproj/project.pbxproj:
40099         * WebCoreSources.bkl:
40100         * bridge/mac/FrameMac.mm:
40101         * bridge/mac/WebCoreResourceLoaderImp.h:
40102         * bridge/mac/WebCoreResourceLoaderImp.mm:
40103         (-[WebCoreResourceLoaderImp redirectedToURL:]):
40104         (-[WebCoreResourceLoaderImp addData:]):
40105         (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
40106         * bridge/win/FrameWin.cpp:
40107         * dom/XMLTokenizer.cpp:
40108         (WebCore::openFunc):
40109         * loader/Cache.cpp:
40110         * loader/LoaderFunctions.h:
40111         * loader/loader.cpp:
40112         (WebCore::Loader::servePendingRequests):
40113         (WebCore::Loader::receivedAllData):
40114         (WebCore::Loader::receivedResponse):
40115         (WebCore::Loader::receivedData):
40116         (WebCore::Loader::cancelRequests):
40117         (WebCore::Loader::jobForRequest):
40118         * loader/loader.h:
40119         * loader/mac/LoaderFunctionsMac.mm:
40120         (WebCore::ServeSynchronousRequest):
40121         * platform/ResourceLoader.cpp: Added.
40122         (WebCore::ResourceLoader::ResourceLoader):
40123         (WebCore::ResourceLoader::isErrorPage):
40124         (WebCore::ResourceLoader::error):
40125         (WebCore::ResourceLoader::setError):
40126         (WebCore::ResourceLoader::queryMetaData):
40127         (WebCore::ResourceLoader::addMetaData):
40128         (WebCore::ResourceLoader::kill):
40129         (WebCore::ResourceLoader::url):
40130         (WebCore::ResourceLoader::postData):
40131         (WebCore::ResourceLoader::method):
40132         (WebCore::ResourceLoader::client):
40133         * platform/ResourceLoader.h: Added.
40134         (WebCore::ResourceLoader::getInternal):
40135         * platform/ResourceLoaderClient.h: Added.
40136         (WebCore::ResourceLoaderClient::~ResourceLoaderClient):
40137         (WebCore::ResourceLoaderClient::receivedRedirect):
40138         (WebCore::ResourceLoaderClient::receivedResponse):
40139         (WebCore::ResourceLoaderClient::receivedData):
40140         (WebCore::ResourceLoaderClient::receivedAllData):
40141         * platform/ResourceLoaderInternal.h: Added.
40142         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
40143         * platform/TransferJob.cpp: Removed.
40144         * platform/TransferJob.h: Removed.
40145         * platform/TransferJobClient.h: Removed.
40146         * platform/TransferJobInternal.h: Removed.
40147         * platform/gdk/FrameGdk.cpp:
40148         (WebCore::FrameGdk::openURL):
40149         (WebCore::FrameGdk::urlSelected):
40150         (WebCore::FrameGdk::receivedData):
40151         (WebCore::FrameGdk::receivedAllData):
40152         * platform/gdk/FrameGdk.h:
40153         * platform/gdk/ResourceLoaderCurl.cpp: Added.
40154         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
40155         (WebCore::ResourceLoader::~ResourceLoader):
40156         (WebCore::ResourceLoader::start):
40157         (WebCore::ResourceLoader::cancel):
40158         * platform/gdk/ResourceLoaderManager.cpp: Added.
40159         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
40160         (WebCore::ResourceLoaderManager::get):
40161         (WebCore::ResourceLoaderManager::useSimpleTransfer):
40162         (WebCore::writeCallback):
40163         (WebCore::ResourceLoaderManager::downloadTimerCallback):
40164         (WebCore::ResourceLoaderManager::remove):
40165         (WebCore::ResourceLoaderManager::add):
40166         (WebCore::ResourceLoaderManager::cancel):
40167         * platform/gdk/ResourceLoaderManager.h: Added.
40168         * platform/gdk/TemporaryLinkStubs.cpp:
40169         (WebCore::ServeSynchronousRequest):
40170         (WebCore::ResourceLoader::assembleResponseHeaders):
40171         (WebCore::ResourceLoader::retrieveCharset):
40172         * platform/gdk/TransferJobCurl.cpp: Removed.
40173         * platform/gdk/TransferJobManager.cpp: Removed.
40174         * platform/gdk/TransferJobManager.h: Removed.
40175         * platform/mac/ResourceLoaderMac.mm: Added.
40176         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
40177         (WebCore::ResourceLoader::~ResourceLoader):
40178         (WebCore::ResourceLoader::start):
40179         (WebCore::ResourceLoader::assembleResponseHeaders):
40180         (WebCore::ResourceLoader::retrieveCharset):
40181         (WebCore::ResourceLoader::setLoader):
40182         (WebCore::ResourceLoader::receivedResponse):
40183         (WebCore::ResourceLoader::cancel):
40184         * platform/mac/TransferJobMac.mm: Removed.
40185         * platform/win/ResourceLoaderWin.cpp: Added.
40186         (WebCore::addToOutstandingJobs):
40187         (WebCore::lookupResourceLoader):
40188         (WebCore::ResourceLoaderWndProc):
40189         (WebCore::initializeOffScreenResourceLoaderWindow):
40190         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
40191         (WebCore::ResourceLoader::~ResourceLoader):
40192         (WebCore::ResourceLoader::start):
40193         (WebCore::ResourceLoader::fileLoadTimer):
40194         (WebCore::ResourceLoader::cancel):
40195         * platform/win/ResourceLoaderWin.h: Added.
40196         * platform/win/TemporaryLinkStubs.cpp:
40197         (WebCore::ServeSynchronousRequest):
40198         (WebCore::ResourceLoader::assembleResponseHeaders):
40199         (WebCore::ResourceLoader::retrieveCharset):
40200         * platform/win/TransferJobWin.cpp: Removed.
40201         * platform/win/TransferJobWin.h: Removed.
40202         * xml/XSLTProcessor.cpp:
40203         (WebCore::docLoaderFunc):
40204         * xml/xmlhttprequest.cpp:
40205         (WebCore::XMLHttpRequest::send):
40206         (WebCore::XMLHttpRequest::receivedAllData):
40207         (WebCore::XMLHttpRequest::receivedRedirect):
40208         (WebCore::XMLHttpRequest::receivedData):
40209         * xml/xmlhttprequest.h:
40211 2006-07-31  Darin Adler  <darin@apple.com>
40213         Reviewed by Hyatt.
40215         - removed obsolete cell margin hack
40217         * rendering/RenderBox.cpp: (WebCore::RenderBox::calcVerticalMargins):
40218         Set top and bottom margins to 0 for table cells instead of -16384.
40219         No effect on layout (including layout tests).
40221         * css/CSSComputedStyleDeclaration.cpp:
40222         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
40223         Added a few comments about differences between this class and the
40224         what the CSS specification says about computed style.
40226 2006-07-31  Mark Rowe  <opendarwin.org@bdash.net.nz>
40228         Reviewed by Maciej.
40230         http://bugs.webkit.org/show_bug.cgi?id=9738
40231         Bug 9738: Unqualified :hover selector ignored in strict parsing mode
40233         * css/cssstyleselector.cpp:
40234         (WebCore::CSSStyleSelector::checkSelector): Restrict the :hover and :active
40235         exclusion based on onlyHoverActive to quirks mode.
40237 2006-07-31  David Hyatt  <hyatt@apple.com>
40239         Fix for bug 10179, digg.com scrolls slowly.  Improve fixed positioning
40240         and fixed backgrounds so that a count of them is kept on the FrameView.
40241         This allows us to switch slow scrolling on and off as these objects come
40242         and go.
40244         * css/cssstyleselector.cpp:
40245         (WebCore::CSSStyleSelector::adjustRenderStyle):
40246         (WebCore::CSSStyleSelector::applyProperty):
40247         * page/FrameView.cpp:
40248         (WebCore::FrameViewPrivate::reset):
40249         (WebCore::FrameView::layout):
40250         (WebCore::FrameView::useSlowRepaints):
40251         (WebCore::FrameView::setUseSlowRepaints):
40252         (WebCore::FrameView::addSlowRepaintObject):
40253         (WebCore::FrameView::removeSlowRepaintObject):
40254         * page/FrameView.h:
40255         * rendering/RenderBox.cpp:
40256         (WebCore::RenderBox::paintBackgroundExtended):
40257         * rendering/RenderObject.cpp:
40258         (WebCore::RenderObject::setStyle):
40259         * rendering/RenderView.cpp:
40260         (WebCore::RenderView::paintBoxDecorations):
40262 2006-07-31  David Hyatt  <hyatt@apple.com>
40264         Begin disentangling of scrollbar logic in preparation for engine-implemented
40265         scrollbars.  Split ScrollBar into two classes, an abstract base (still named
40266         ScrollBar) and a new PlatformScrollBar subclass.  This subclass is used only
40267         by platforms that want to continue to use a platform scrollbar (rather than
40268         the engine one).
40270         Reviewed by darin
40272         * WebCore.xcodeproj/project.pbxproj:
40273         * html/HTMLCanvasElement.h:
40274         * page/Frame.cpp:
40275         * platform/PlatformScrollBar.h: Added.
40276         (WebCore::PlatformScrollBar::isWidget):
40277         * platform/ScrollBar.h:
40278         (WebCore::ScrollBarClient::~ScrollBarClient):
40279         (WebCore::ScrollBar::~ScrollBar):
40280         (WebCore::ScrollBar::orientation):
40281         (WebCore::ScrollBar::value):
40282         (WebCore::ScrollBar::client):
40283         * platform/mac/PlatformScrollBarMac.mm: Added.
40284         (-[WebCoreScrollBar initWithPlatformScrollBar:]):
40285         (-[WebCoreScrollBar detachPlatformScrollBar]):
40286         (-[WebCoreScrollBar scroll:]):
40287         (-[WebCoreScrollBar widget]):
40288         (-[WebCoreScrollBar mouseDown:]):
40289         (WebCore::PlatformScrollBar::PlatformScrollBar):
40290         (WebCore::PlatformScrollBar::~PlatformScrollBar):
40291         (WebCore::PlatformScrollBar::setScrollBarValue):
40292         (WebCore::PlatformScrollBar::setKnobProportion):
40293         (WebCore::PlatformScrollBar::scrollbarHit):
40294         (WebCore::PlatformScrollBar::width):
40295         (WebCore::PlatformScrollBar::height):
40296         (WebCore::PlatformScrollBar::setRect):
40297         (WebCore::PlatformScrollBar::setEnabled):
40298         (WebCore::PlatformScrollBar::paint):
40299         * platform/mac/ScrollBarMac.mm: Removed.
40300         * platform/mac/WebCoreTextArea.mm:
40301         * rendering/RenderBlock.cpp:
40302         (WebCore::RenderBlock::isPointInScrollbar):
40303         * rendering/RenderFormElement.cpp:
40304         * rendering/RenderLayer.cpp:
40305         (WebCore::RenderLayer::horizontalScrollbarWidget):
40306         (WebCore::RenderLayer::verticalScrollbarWidget):
40307         (WebCore::RenderLayer::valueChanged):
40308         (WebCore::RenderLayer::setHasHorizontalScrollbar):
40309         (WebCore::RenderLayer::setHasVerticalScrollbar):
40310         (WebCore::RenderLayer::positionScrollbars):
40311         * rendering/RenderLayer.h:
40312         * rendering/RenderWidget.h:
40314 2006-07-31  Adele Peterson  <adele@apple.com>
40316         Reviewed by John and Anders.
40318         - Fix for <rdar://problem/4380576> onChange does not get called when field changed by return key
40320         Test: fast/forms/onchange-enter-submit.html
40322         Blur (which will fire onChange appropriately) before submitting a form when pressing Enter.
40323         This matches the sequence of events fired in WinIE.
40325         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
40326         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler):
40328 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
40330         Reviewed by Kevin.
40332         Moved string debug function outside of the WebCore namespace so that it's
40333         easier to call in the debugger. I will never doubt Darin again (x100).
40335         * platform/String.cpp:
40336         (string):
40338 2006-07-31  David Hyatt  <hyatt@apple.com>
40340         Partial fix for 5453.  Improve overflow so that when it changes
40341         dynamically from scroll/auto to hidden that we properly hide the
40342         scrollbars.  Also refine the dirty dashboard region updating so that
40343         it only happens if the scrollbars genuinely come and go.
40345         Also eliminate the extra repaint of the entire block.  This should not be
40346         necessary, since the scrollbars repaint themselves already and children
40347         will repaint already if they move.
40349         Reviewed by darin
40351         Adding test case from bug into fast/overflow/dynamic-hidden.html
40353         * rendering/RenderLayer.cpp:
40354         (WebCore::RenderLayer::setHasHorizontalScrollbar):
40355         (WebCore::RenderLayer::setHasVerticalScrollbar):
40356         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
40358 2006-07-31  Graham Dennis  <graham.dennis@gmail.com>
40360         Reviewed by justin
40361         
40362         <http://bugs.webkit.org/show_bug.cgi?id=9507>
40363         Empty style spans created in applyInlineStyle
40364         
40365         Improves paste fidelity because some of these empty font/style spans had a non-zero
40366         size and were messing up the layout of pasted content:
40367         <rdar://problem/4515463>
40368         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page   
40370         * editing/ApplyStyleCommand.cpp:
40371         (WebCore::ApplyStyleCommand::applyInlineStyle): Use the adjusted start node instead 
40372         of start.node().  Don't do any application if the endpoints are swapped.  Adjust
40373         endNode if the start node is a descendant of it, so that the pre-order traversal will
40374         terminate properly.
40376 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
40378         Reviewed by Darin.
40380         * platform/String.cpp:
40381         (WebCore::string): Added a debugging function to create a String from a
40382         const char*.
40384 2006-07-31  Anders Carlsson  <acarlsson@apple.com>
40386         * css/CSSPrimitiveValue.cpp:
40387         Fix windows build.
40389 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
40391         Reinstating my last change. Everything builds now.
40392         
40393 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
40395         Backing out my last change because it causes a build failure in some
40396         configurations. This seems to be the cleanest way to get svn to cooperate.
40398 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
40400         Reviewed by Maciej.
40402         Moved files around to make WebCore's structure clearer
40403         and easier to explain.
40405         DerivedSources/JS* -> bindings/js/DerivedSources/ (so JS* files
40406         show up when you search inside bindings/js/, but are marked, at
40407         the same time, as files that you should not edit manually)
40409         WebCore+SVG/DOMList.h -> ksvg2/svg/ (only files inside ksvg2/svg/
40410         use DOMList.h)
40412         icon -> loader/icon
40414         I tested that everything still builds.
40416 2006-07-30  Darin Adler  <darin@apple.com>
40418         Reviewed by Tim Hatcher.
40420         - some improvements for the benefit of the style pane of the inspector
40422         * css/CSSComputedStyleDeclaration.cpp: Removed background-position
40423         and border-spacing from the list of properties that show up in
40424         computed style, because of background-position-x, background-position-y,
40425         -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
40426         (WebCore::valueForLength): Added handling for undefinedLength, intrinsic,
40427         and min-intrinsic.
40428         (WebCore::primitiveValueFromLength): Removed code that would add a
40429         space to the string for no good reason.
40430         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a
40431         special case for a line clamp of -1, which should come back as "none"
40432         rather than an actual "-1".
40433         (WebCore::CSSComputedStyleDeclaration::length): Return 0 if the
40434         declaration has no corresponding node or no renderer.
40435         (WebCore::CSSComputedStyleDeclaration::item): Check against length()
40436         so that the two stay consistent rather than using a constant.
40438         * css/CSSPrimitiveValue.cpp:
40439         (WebCore::isCSSTokenizerIdentifier): Added.
40440         (WebCore::isCSSTokenizerURL): Added.
40441         (WebCore::quoteString): Added.
40442         (WebCore::quoteStringIfNeeded): Changed to quote strings in many more
40443         cases -- any cases where they would not parse in the CSS parser otherwise.
40444         The main case this affects is font names with spaces in them.
40445         (WebCore::quoteURLIfNeeded): Added.
40446         (WebCore::CSSPrimitiveValue::cssText): Use quoteURLIfNeeded in the case
40447         where we're making the text form of a URI.
40449         * css/tokenizer.flex: Whitespace tweaks to line things up better.
40451 2006-07-30  Eric Seidel  <eric@webkit.org>
40453         Reviewed by gramps!
40455         Remove some unused SVG code.
40457         * ksvg2/ecma/Ecma.cpp: Removed.
40458         * ksvg2/ecma/Ecma.h: Removed.
40459         * ksvg2/ecma/GlobalObject.cpp: remove a couple dead functions.
40460         * ksvg2/ecma/GlobalObject.h: add a comment about this dead code.
40461         * ksvg2/ecma/SVGLookup.h: Removed.
40463 2006-07-29  Darin Adler  <darin@apple.com>
40465         - Removed tabs from these source files that still had them.
40466           We don't use them; that way source files look fine in editors
40467           that have tabs set to 8 spaces or to 4 spaces.
40468         - Removed allow-tabs Subversion property from the files too.
40470         * bindings/objc/WebScriptObject.h:
40471         * bindings/objc/WebScriptObject.mm:
40472         * platform/FontData.cpp:
40474 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
40476         Reviewed by Darin.
40478         - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
40479           Adopt pedantic changes from the Unity project to improve 
40480           cross-compiler compatibility
40482           Changes include:
40483           * Removing trailing semicolon from namespace braces.
40484           * Removing trailing comma from last enum declaration.
40485           * Updating to match style guidelines.
40486           * Adding missing newline to the end of the file.
40487           * Turning on gcc warning for missing newline at the end of a source file
40488             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
40489           * Alphabetical sorting of Xcode source list files.
40490           * Use abs() function from <math.h> instead of ABS() macro.
40491           * Use C-style comments instead of C++ comments in files that might
40492             be included by either C or C++ files.
40493           * Use -numeric_limits<double>::infinity() instead of -HUGE_VAL.
40495         * WebCore+SVG/DOMList.h:
40496         * WebCore.xcodeproj/project.pbxproj:
40497         * WebCorePrefix.h:
40498         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
40499         * bindings/js/JSXSLTProcessor.h:
40500         * bindings/js/kjs_domnode.h:
40501         (KJS::DOMNode::):
40502         * bindings/objc/DOMCSS.h:
40503         (-[DOMCSSValue enum]):
40504         * bindings/objc/DOMCore.h:
40505         (-[DOMImplementation createDocument:::]):
40506         * bindings/objc/DOMEvents.h:
40507         (-[DOMOverflowEvent enum]):
40508         * bindings/objc/DOMRange.h:
40509         * bindings/objc/DOMTraversal.h:
40510         * bindings/objc/DOMXPath.h:
40511         (-[DOMXPathNSResolver lookupNamespaceURI:]):
40512         * bridge/mac/WebCoreFrameBridge.h:
40513         * bridge/mac/WebCoreKeyboardAccess.h:
40514         * css/makeprop:
40515         * css/makevalues:
40516         * dom/ChildNodeList.h:
40517         * dom/DocPtr.h:
40518         * dom/Document.h:
40519         (WebCore::Document::):
40520         * dom/DocumentMarker.h:
40521         (WebCore::DocumentMarker::):
40522         (WebCore::DocumentMarker::operator==):
40523         (WebCore::DocumentMarker::operator!=):
40524         * dom/EventTargetNode.h:
40525         * dom/KeyboardEvent.h:
40526         (WebCore::KeyboardEvent::):
40527         * dom/NameNodeList.h:
40528         (WebCore::NameNodeList::rootNodeChildrenChanged):
40529         * dom/QualifiedName.cpp:
40530         * editing/TypingCommand.h:
40531         (WebCore::TypingCommand::):
40532         * editing/UnlinkCommand.h:
40533         (WebCore::UnlinkCommand::editingAction):
40534         * html/FormDataList.h:
40535         (WebCore::FormDataListItem::FormDataListItem):
40536         (WebCore::FormDataList::appendData):
40537         * html/HTMLBlockquoteElement.h:
40538         * html/HTMLDivElement.h:
40539         * html/HTMLFormElement.h:
40540         * html/HTMLHRElement.h:
40541         * html/HTMLHeadingElement.h:
40542         * html/HTMLMarqueeElement.h:
40543         * html/HTMLParagraphElement.h:
40544         * html/HTMLPlugInElement.h:
40545         * html/HTMLPreElement.h:
40546         * html/HTMLTokenizer.h:
40547         (WebCore::HTMLTokenizer::State::):
40548         * icon/IconDatabase.cpp:
40549         * icon/SQLStatement.cpp:
40550         * kcanvas/KCanvasFilters.h:
40551         (WebCore::):
40552         (WebCore::KCanvasPoint3F::KCanvasPoint3F):
40553         (WebCore::KCanvasFilter::KCanvasFilter):
40554         (WebCore::KCanvasFilter::~KCanvasFilter):
40555         (WebCore::KCanvasFilterEffect::~KCanvasFilterEffect):
40556         (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
40557         (WebCore::KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix):
40558         (WebCore::KCLightSource::KCLightSource):
40559         (WebCore::KCDistantLightSource::KCDistantLightSource):
40560         (WebCore::KCPointLightSource::KCPointLightSource):
40561         (WebCore::KCSpotLightSource::KCSpotLightSource):
40562         (WebCore::KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting):
40563         (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
40564         (WebCore::KCanvasFEImage::KCanvasFEImage):
40565         (WebCore::KCanvasFESpecularLighting::KCanvasFESpecularLighting):
40566         * kcanvas/RenderSVGImage.h:
40567         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
40568         * ksvg2/css/SVGRenderStyle.h:
40569         (WebCore::SVGRenderStyle::InheritedFlags::):
40570         (WebCore::SVGRenderStyle::NonInheritedFlags::):
40571         * ksvg2/css/SVGRenderStyleDefs.h:
40572         (WebCore::):
40573         * ksvg2/events/SVGZoomEvent.h:
40574         * ksvg2/ksvg.h:
40575         (WebCore::):
40576         * ksvg2/misc/KCanvasRenderingStyle.h:
40577         * ksvg2/misc/SVGImageLoader.h:
40578         * ksvg2/scripts/make_names.pl:
40579         * ksvg2/svg/SVGAElement.h:
40580         * ksvg2/svg/SVGAngle.h:
40581         * ksvg2/svg/SVGAnimateColorElement.h:
40582         * ksvg2/svg/SVGAnimateElement.h:
40583         * ksvg2/svg/SVGAnimateTransformElement.h:
40584         * ksvg2/svg/SVGAnimatedAngle.h:
40585         * ksvg2/svg/SVGAnimatedBoolean.h:
40586         * ksvg2/svg/SVGAnimatedColor.h:
40587         * ksvg2/svg/SVGAnimatedEnumeration.h:
40588         * ksvg2/svg/SVGAnimatedInteger.h:
40589         * ksvg2/svg/SVGAnimatedLength.h:
40590         * ksvg2/svg/SVGAnimatedLengthList.h:
40591         * ksvg2/svg/SVGAnimatedNumber.h:
40592         * ksvg2/svg/SVGAnimatedNumberList.h:
40593         * ksvg2/svg/SVGAnimatedPathData.h:
40594         * ksvg2/svg/SVGAnimatedPoints.h:
40595         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
40596         * ksvg2/svg/SVGAnimatedRect.h:
40597         * ksvg2/svg/SVGAnimatedString.h:
40598         * ksvg2/svg/SVGAnimatedTemplate.h:
40599         * ksvg2/svg/SVGAnimatedTransformList.h:
40600         * ksvg2/svg/SVGAnimationElement.cpp:
40601         (SVGAnimationElement::calculateCurrentValueItem):
40602         (SVGAnimationElement::calculateRelativeTimePercentage):
40603         * ksvg2/svg/SVGAnimationElement.h:
40604         (WebCore::):
40605         * ksvg2/svg/SVGCircleElement.h:
40606         * ksvg2/svg/SVGClipPathElement.h:
40607         * ksvg2/svg/SVGColor.h:
40608         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
40609         * ksvg2/svg/SVGCursorElement.h:
40610         * ksvg2/svg/SVGDOMImplementation.h:
40611         * ksvg2/svg/SVGDefsElement.h:
40612         * ksvg2/svg/SVGDescElement.h:
40613         * ksvg2/svg/SVGDocument.h:
40614         * ksvg2/svg/SVGElement.h:
40615         (WebCore::SVGElement::rendererIsNeeded):
40616         (WebCore::svg_dynamic_cast):
40617         * ksvg2/svg/SVGElementInstance.h:
40618         * ksvg2/svg/SVGElementInstanceList.h:
40619         * ksvg2/svg/SVGEllipseElement.h:
40620         * ksvg2/svg/SVGExternalResourcesRequired.h:
40621         * ksvg2/svg/SVGFEBlendElement.h:
40622         * ksvg2/svg/SVGFEColorMatrixElement.h:
40623         * ksvg2/svg/SVGFEComponentTransferElement.h:
40624         * ksvg2/svg/SVGFECompositeElement.h:
40625         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
40626         * ksvg2/svg/SVGFEDisplacementMapElement.h:
40627         * ksvg2/svg/SVGFEDistantLightElement.h:
40628         * ksvg2/svg/SVGFEFloodElement.h:
40629         * ksvg2/svg/SVGFEFuncAElement.h:
40630         * ksvg2/svg/SVGFEFuncBElement.h:
40631         * ksvg2/svg/SVGFEFuncGElement.h:
40632         * ksvg2/svg/SVGFEFuncRElement.h:
40633         * ksvg2/svg/SVGFEGaussianBlurElement.h:
40634         * ksvg2/svg/SVGFEImageElement.h:
40635         * ksvg2/svg/SVGFELightElement.h:
40636         * ksvg2/svg/SVGFEMergeElement.h:
40637         * ksvg2/svg/SVGFEMergeNodeElement.h:
40638         * ksvg2/svg/SVGFEOffsetElement.h:
40639         * ksvg2/svg/SVGFEPointLightElement.h:
40640         * ksvg2/svg/SVGFESpecularLightingElement.h:
40641         * ksvg2/svg/SVGFESpotLightElement.h:
40642         * ksvg2/svg/SVGFETileElement.h:
40643         * ksvg2/svg/SVGFETurbulenceElement.h:
40644         * ksvg2/svg/SVGFilterElement.h:
40645         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
40646         * ksvg2/svg/SVGFitToViewBox.h:
40647         * ksvg2/svg/SVGForeignObjectElement.cpp:
40648         * ksvg2/svg/SVGForeignObjectElement.h:
40649         * ksvg2/svg/SVGGElement.h:
40650         * ksvg2/svg/SVGGradientElement.h:
40651         * ksvg2/svg/SVGHelper.h:
40652         (WebCore::):
40653         * ksvg2/svg/SVGImageElement.h:
40654         * ksvg2/svg/SVGLangSpace.h:
40655         * ksvg2/svg/SVGLength.h:
40656         * ksvg2/svg/SVGLengthList.h:
40657         * ksvg2/svg/SVGLineElement.h:
40658         * ksvg2/svg/SVGLinearGradientElement.h:
40659         * ksvg2/svg/SVGList.h:
40660         * ksvg2/svg/SVGLocatable.h:
40661         * ksvg2/svg/SVGMarkerElement.h:
40662         * ksvg2/svg/SVGMaskElement.h:
40663         * ksvg2/svg/SVGMatrix.h:
40664         * ksvg2/svg/SVGNumber.h:
40665         * ksvg2/svg/SVGNumberList.h:
40666         * ksvg2/svg/SVGPaint.h:
40667         * ksvg2/svg/SVGPathElement.h:
40668         * ksvg2/svg/SVGPathSeg.h:
40669         * ksvg2/svg/SVGPathSegArc.h:
40670         * ksvg2/svg/SVGPathSegClosePath.h:
40671         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
40672         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
40673         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
40674         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
40675         * ksvg2/svg/SVGPathSegLineto.h:
40676         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
40677         * ksvg2/svg/SVGPathSegLinetoVertical.h:
40678         * ksvg2/svg/SVGPathSegList.h:
40679         * ksvg2/svg/SVGPathSegMoveto.h:
40680         * ksvg2/svg/SVGPatternElement.h:
40681         * ksvg2/svg/SVGPoint.h:
40682         * ksvg2/svg/SVGPointList.h:
40683         * ksvg2/svg/SVGPolyElement.h:
40684         * ksvg2/svg/SVGPolygonElement.h:
40685         * ksvg2/svg/SVGPolylineElement.h:
40686         * ksvg2/svg/SVGPreserveAspectRatio.h:
40687         * ksvg2/svg/SVGRadialGradientElement.h:
40688         * ksvg2/svg/SVGRect.h:
40689         * ksvg2/svg/SVGRectElement.h:
40690         * ksvg2/svg/SVGSVGElement.h:
40691         * ksvg2/svg/SVGScriptElement.h:
40692         * ksvg2/svg/SVGSetElement.h:
40693         * ksvg2/svg/SVGStopElement.h:
40694         * ksvg2/svg/SVGStringList.h:
40695         * ksvg2/svg/SVGStylable.h:
40696         * ksvg2/svg/SVGStyleElement.h:
40697         * ksvg2/svg/SVGStyledElement.h:
40698         (WebCore::SVGStyledElement::rendererIsNeeded):
40699         (WebCore::SVGStyledElement::canvasResource):
40700         * ksvg2/svg/SVGStyledLocatableElement.h:
40701         * ksvg2/svg/SVGStyledTransformableElement.h:
40702         * ksvg2/svg/SVGSwitchElement.h:
40703         * ksvg2/svg/SVGSymbolElement.h:
40704         * ksvg2/svg/SVGTRefElement.h:
40705         * ksvg2/svg/SVGTSpanElement.h:
40706         * ksvg2/svg/SVGTests.h:
40707         * ksvg2/svg/SVGTextContentElement.h:
40708         * ksvg2/svg/SVGTextElement.h:
40709         * ksvg2/svg/SVGTextPositioningElement.h:
40710         * ksvg2/svg/SVGTitleElement.h:
40711         * ksvg2/svg/SVGTransform.h:
40712         * ksvg2/svg/SVGTransformList.h:
40713         * ksvg2/svg/SVGTransformable.h:
40714         * ksvg2/svg/SVGURIReference.h:
40715         * ksvg2/svg/SVGUseElement.h:
40716         * ksvg2/svg/SVGViewElement.h:
40717         * ksvg2/svg/SVGZoomAndPan.h:
40718         * ksvg2/svg/svgpathparser.h:
40719         * page/Frame.h:
40720         (WebCore::):
40721         * platform/AffineTransform.h:
40722         * platform/FontCache.cpp:
40723         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
40724         * platform/FontData.cpp:
40725         (WebCore::FontData::FontData):
40726         * platform/FontData.h:
40727         * platform/TextBox.h:
40728         (WebCore::TextBox::):
40729         * platform/Timer.cpp:
40730         (WebCore::TimerBase::heapPop):
40731         * platform/mac/FontCacheMac.mm:
40732         * platform/mac/GlyphMapMac.cpp:
40733         * platform/mac/WebFontCache.mm:
40734         (betterChoice):
40735         * rendering/DeprecatedRenderSelect.cpp:
40736         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
40737         * rendering/EllipsisBox.h:
40738         * rendering/RenderBR.h:
40739         (WebCore::RenderBR::renderName):
40740         (WebCore::RenderBR::width):
40741         * rendering/RenderBlock.h:
40742         (WebCore::):
40743         * rendering/RenderFlexibleBox.h:
40744         * rendering/RenderFlow.h:
40745         (WebCore::RenderFlow::RenderFlow):
40746         * rendering/RenderFrame.cpp:
40747         * rendering/bidi.h:
40748         * rendering/break_lines.cpp:
40750 2006-07-29  Rob Buis  <buis@kde.org>
40752         Reviewed by Geoff.
40754         http://bugs.webkit.org/show_bug.cgi?id=10151
40755         ghostmap XHTML + SVG fails due to javascript undefined exception
40757         Make sure document.URL works when called from a non-HTML document.
40759         * bindings/js/kjs_html.cpp:
40760         (KJS::JSHTMLDocument::getValueProperty):
40761         * bindings/js/kjs_html.h:
40762         (KJS::JSHTMLDocument::):
40763         * dom/Document.idl:
40765 2006-07-29  Mike Emmel  <mike.emmel@gmail.com>
40767         Reviewed and tweaked by Darin.
40769         - fixes for Linux build
40770           (still might not compile, since Darin tweaked but was unable to test).
40772         * WebCoreSources.bkl: Added some new sources, removed some obsolete ones.
40773         * Projects/gdk/webcore-gdk.bkl: Added RenderPopupMenuGdk.cpp
40775         * html/HTMLPlugInElement.h: Removed incorrect syntax with class name
40776         before ::.
40778         * platform/gdk/FrameGdk.h:
40779         * platform/gdk/FrameGdk.cpp: Updated parameters of constructor. Moved a couple stubs
40780         out of this file.
40781         * platform/gdk/RenderPopupMenuGdk.h: Added.
40782         * platform/gdk/RenderPopupMenuGdk.cpp: Added. Just a file full of empty stubs.
40783         * platform/gdk/RenderThemeGdk.h:
40784         * platform/gdk/RenderThemeGdk.cpp: (WebCore::RenderThemeGdk::createPopupMenu): Added.
40786         * platform/gdk/TemporaryLinkStubs.cpp: Add some new stubs.
40788 2006-07-29  Mark Rowe  <opendarwin.org@bdash.net.nz>
40790         Reviewed by Darin.
40792         http://bugs.webkit.org/show_bug.cgi?id=10022
40793         Bug 10022: REGRESSION: Crash in WebCore::XMLTokenizer::characters
40795         * dom/XMLTokenizer.cpp:
40796         (WebCore::XMLTokenizer::resumeParsing): If the write() call resulted in new callbacks being
40797         added, don't call through to end() just yet.
40799 2006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
40801         Reviewed by John Sullivan.
40803         - manual test for http://bugs.webkit.org/show_bug.cgi?id=9984
40804           ASSERTION FAILURE: _private->mouseDownEvent != nil
40805           (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
40807         * manual-tests/subview-click-assertion.html: Added.
40809 2006-07-29  Andrew Wellington  <proton@wiretapped.net>
40811         Reviewed by Darin.
40813         Fix for http://bugs.webkit.org/show_bug.cgi?id=8587 / <rdar://problem/4631844>
40814         REGRESSION: {display:list-item} items outside an ol or ul element don't number correctly
40816         * rendering/RenderListItem.cpp:
40817         (WebCore::enclosingList): If no real list element is found, use parent instead.
40818         (WebCore::previousListItem): Check list elements to see if they are list items -- the
40819         old code assumed that a list would never be a list item but this is entirely possible
40820         with CSS and especially with the new rule that means any DOM element could act as a list.
40822 2006-07-29  Alexey Proskuryakov  <ap@nypop.com>
40824         Reviewed by Darin.
40826         Fix http://bugs.webkit.org/show_bug.cgi?id=10147
40827         REGRESSION: custom attribute values set via javascript are not persistent
40829         Test: fast/dom/Element/setAttribute-case-insensitivity.html
40831         * dom/Element.cpp:
40832         (WebCore::Element::setAttribute): Use the lowercased localName for retrieving the old value, too.
40834 2006-07-28  Timothy Hatcher  <timothy@apple.com>
40836         Suggested by Darin.
40838         Moving the implementation of isContentEditable to the
40839         the WebPrivate category.
40841         * bindings/objc/DOM.mm:
40842         (-[DOMNode isContentEditable]):
40844 2006-07-28  Justin Garcia  <justin.garcia@apple.com>
40846         Reviewed by levi
40847         
40848         First part of:
40849         <rdar://problem/4515463>
40850         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
40851         
40852         Migrate to isBlock and enclosingBlock.
40853         Changed RendereringInfo::isBlock and ReplacementFragment::isBlock
40854         to wasBlock so that they don't conflict with isBlock and because
40855         it's more descriptive.
40857         * editing/ReplaceSelectionCommand.cpp:
40858         (WebCore::ReplacementFragment::mergeStartNode):
40859         (WebCore::ReplacementFragment::wasBlock):
40860         (WebCore::ReplacementFragment::saveRenderingInfo):
40861         (WebCore::ReplacementFragment::renderedBlocks):
40862         (WebCore::RenderingInfo::RenderingInfo):
40863         (WebCore::ReplaceSelectionCommand::shouldMergeStart):
40864         (WebCore::ReplaceSelectionCommand::doApply):
40865         * editing/ReplaceSelectionCommand.h:
40866         (WebCore::RenderingInfo::wasBlock):
40868 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
40870         Reviewed by levi
40871         
40872         More changes for:
40873         <rdar://problem/4242293>
40874         Poor paste fidelity of http://www.google.com/
40876         * editing/markup.cpp:
40877         (WebCore::needInterchangeNewlineAfter): Added.
40878         (WebCore::createMarkup): 
40879         Only add an interchangeNewline if we're annotating for interchange.  Can't test 
40880         this until we expose createMarkup in non-annotate mode (I'd expose Range::toHTML).
40881         Remove the FIXME about prepending the interchangeNewline before creating the rest 
40882         of the markup.  Its correct to surround the interchangeNewline in ancestors of the
40883         adjusted startNode.
40884         Fixed the check to see if an interchangeNewline is needed (!inSameBlock).  This would
40885         add an interchangeNewline for a selection that started before a table.
40886         Removed the workaround for the bug where markup for a table was not included when 
40887         selecting the contents of a table, since this change fixes the general problem of 
40888         markup for ancestors of the startNode being left out.
40889         Don't leave out ancestors of the startNode as we leave their subtrees.  Execute the
40890         code to include them even if we closed ancestors in the ancestorsToClose list.
40892 2006-07-28  Timothy Hatcher  <timothy@apple.com>
40894         Reviewed by John.
40896         Adding isContentEditable to DOMNode's private category. 
40898         * bindings/objc/DOMPrivate.h:
40900 2006-07-28  Alexey Proskuryakov  <ap@nypop.com>
40902         Rolling out http://bugs.webkit.org/show_bug.cgi?id=6010 because of failing layout tests.
40903         Add better SVGLoad event support.
40905         * dom/EventTargetNode.cpp:
40906         (WebCore::EventTargetNode::dispatchGenericEvent):
40907         * html/HTMLImageLoader.cpp:
40908         (WebCore::HTMLImageLoader::dispatchLoadEvent):
40909         * html/HTMLImageLoader.h:
40910         * ksvg2/misc/SVGImageLoader.cpp:
40911         (WebCore::SVGImageLoader::SVGImageLoader):
40912         * ksvg2/misc/SVGImageLoader.h:
40913         * ksvg2/svg/SVGAElement.cpp:
40914         (WebCore::SVGAElement::parseMappedAttribute):
40915         * ksvg2/svg/SVGAnimatedBoolean.h:
40916         * ksvg2/svg/SVGElement.cpp:
40917         (WebCore::SVGElement::SVGElement):
40918         (WebCore::SVGElement::parseMappedAttribute):
40919         * ksvg2/svg/SVGElement.h:
40920         (WebCore::SVGElement::adjustViewportClipping):
40921         (WebCore::SVGElement::closeRenderer):
40922         (WebCore::SVGElement::rendererIsNeeded):
40923         (WebCore::SVGElement::isClosed):
40924         (WebCore::svg_dynamic_cast):
40925         * ksvg2/svg/SVGExternalResourcesRequired.h:
40926         * ksvg2/svg/SVGImageElement.cpp:
40927         (SVGImageElement::SVGImageElement):
40928         * ksvg2/svg/SVGImageElement.h:
40929         * ksvg2/svg/SVGSVGElement.cpp:
40930         (WebCore::SVGSVGElement::parseMappedAttribute):
40931         * ksvg2/svg/SVGScriptElement.cpp:
40932         (SVGScriptElement::SVGScriptElement):
40933         (SVGScriptElement::parseMappedAttribute):
40934         (SVGScriptElement::executeScript):
40935         * xml/xmlhttprequest.cpp:
40936         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
40938 2006-07-28  Adele Peterson  <adele@apple.com>
40940         Rolling out http://bugs.webkit.org/show_bug.cgi?id=9753 because of failing layout tests.
40941         SVG with width and height 100% leaves room for scrollbar on the right.
40943         * kcanvas/RenderPath.cpp:
40944         * kcanvas/RenderPath.h:
40945         * kcanvas/RenderSVGContainer.cpp:
40946         (WebCore::RenderSVGContainer::layout):
40947         * ksvg2/svg/SVGCircleElement.cpp:
40948         * ksvg2/svg/SVGCircleElement.h:
40949         * ksvg2/svg/SVGEllipseElement.cpp:
40950         * ksvg2/svg/SVGEllipseElement.h:
40951         * ksvg2/svg/SVGLineElement.cpp:
40952         * ksvg2/svg/SVGLineElement.h:
40953         * ksvg2/svg/SVGRectElement.cpp:
40954         * ksvg2/svg/SVGRectElement.h:
40955         * ksvg2/svg/SVGStyledElement.h:
40957 2006-07-27  Eric Seidel  <eric@webkit.org>
40959         Reviewed by darin.
40960         
40961         Add better SVGLoad event support.
40962         http://bugs.webkit.org/show_bug.cgi?id=6010
40963         There will still need to be additional support added for <link> and <script> elements.
40964         Not all of the error -> loaded -> error transition cases work yet.
40966         * dom/EventTargetNode.cpp:
40967         (WebCore::EventTargetNode::dispatchGenericEvent):
40968         * html/HTMLImageLoader.cpp:
40969         (WebCore::HTMLImageLoader::dispatchLoadEvent):
40970         * html/HTMLImageLoader.h:
40971         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
40972         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
40973         * ksvg2/misc/SVGImageLoader.cpp:
40974         (WebCore::SVGImageLoader::SVGImageLoader):
40975         (WebCore::SVGImageLoader::dispatchLoadEvent):
40976         * ksvg2/misc/SVGImageLoader.h:
40977         * ksvg2/svg/SVGAElement.cpp:
40978         (WebCore::SVGAElement::parseMappedAttribute):
40979         * ksvg2/svg/SVGAnimatedBoolean.h:
40980         * ksvg2/svg/SVGElement.cpp:
40981         (WebCore::SVGElement::SVGElement):
40982         (WebCore::SVGElement::parseMappedAttribute):
40983         (WebCore::SVGElement::haveLoadedRequiredResources):
40984         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
40985         (WebCore::SVGElement::closeRenderer):
40986         * ksvg2/svg/SVGElement.h:
40987         (WebCore::SVGElement::rendererIsNeeded):
40988         (WebCore::svg_dynamic_cast):
40989         * ksvg2/svg/SVGExternalResourcesRequired.h:
40990         * ksvg2/svg/SVGImageElement.cpp:
40991         (SVGImageElement::SVGImageElement):
40992         (SVGImageElement::haveLoadedRequiredResources):
40993         * ksvg2/svg/SVGImageElement.h:
40994         * ksvg2/svg/SVGSVGElement.cpp:
40995         (WebCore::SVGSVGElement::parseMappedAttribute):
40996         * ksvg2/svg/SVGScriptElement.cpp:
40997         (WebCore::SVGScriptElement::SVGScriptElement):
40998         (WebCore::SVGScriptElement::parseMappedAttribute):
40999         (WebCore::SVGScriptElement::executeScript):
41000         * xml/xmlhttprequest.cpp:
41001         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
41003 2006-07-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41005         Reviewed by Anders.
41007         - http://bugs.webkit.org/show_bug.cgi?id=10135
41008           Cleanup: remove useless parameters from RenderObject::position()
41010         No test possible (no functionality change)
41012         * rendering/RenderBox.cpp:
41013         (WebCore::RenderBox::position):
41014         * rendering/RenderBox.h:
41015         * rendering/RenderObject.h:
41016         (WebCore::RenderObject::position):
41017         * rendering/RenderTableRow.h:
41018         (WebCore::RenderTableRow::position):
41019         * rendering/RenderTableSection.h:
41020         (WebCore::RenderTableSection::position):
41021         * rendering/RenderText.cpp:
41022         (WebCore::RenderText::position):
41023         * rendering/RenderText.h:
41024         * rendering/bidi.cpp:
41025         (WebCore::RenderBlock::constructLine):
41026         (WebCore::RenderBlock::computeVerticalPositionsForLine):
41028 2006-07-27  Rob Buis  <buis@kde.org>
41030         Reviewed by Maciej.
41032         http://bugs.webkit.org/show_bug.cgi?id=9753
41033         SVG with width and height 100% leaves room for scrollbar on the right.
41035         Relayout children of svg containers, except svg shapes that do not depend on percentages.
41037         * kcanvas/RenderPath.cpp: (WebCore::RenderPath::hasPercentageValues):
41038         * kcanvas/RenderPath.h:
41039         * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
41040         * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::hasPercentageValues):
41041         * ksvg2/svg/SVGCircleElement.h:
41042         * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::hasPercentageValues):
41043         * ksvg2/svg/SVGEllipseElement.h:
41044         * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::hasPercentageValues):
41045         * ksvg2/svg/SVGLineElement.h:
41046         * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::hasPercentageValues):
41047         * ksvg2/svg/SVGRectElement.h:
41048         * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::hasPercentageValues):
41050 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
41052         Reviewed by levi
41053         
41054         <rdar://problem/4242293>
41055         Poor paste fidelity of http://www.google.com/
41057         * editing/ApplyStyleCommand.cpp:
41058         (WebCore::ApplyStyleCommand::applyInlineStyle):  Fixed crasher with nil-check.
41059         * editing/markup.cpp:
41060         (WebCore::startMarkup): Style information wasn't added to an element if it had
41061         attributes but no style attribute.
41063 2006-07-27  Alexander Kellett  <lypanov@kde.org>
41065         Reviewed by Darin.
41067         - fix for http://bugs.webkit.org/show_bug.cgi?id=9867
41068           REGRESSION: code that modifies form element in Firefox modifies form attribute in WebKit
41070         * bindings/scripts/CodeGeneratorJS.pm: add new attribute - HasOverridingNameGetter
41071         * html/HTMLFormElement.idl:
41073 2006-07-27  Rob Buis  <buis@kde.org>
41075         Reviewed by Anders.
41077         http://bugs.webkit.org/show_bug.cgi?id=8992
41078         Some HTML DOM attributes have incorrect types
41080         Adjust idl and dom source code for HTMLImageElement and
41081         HTMLBaseFontElement to choose correct type for
41082         HTMLImageElement::border and HTMLBaseFontElement::size
41083         attributes.
41085         * html/HTMLBaseFontElement.cpp:
41086         (WebCore::HTMLBaseFontElement::size):
41087         (WebCore::HTMLBaseFontElement::setSize):
41088         * html/HTMLBaseFontElement.h:
41089         * html/HTMLBaseFontElement.idl:
41090         * html/HTMLImageElement.cpp:
41091         (WebCore::HTMLImageElement::border):
41092         (WebCore::HTMLImageElement::setBorder):
41093         * html/HTMLImageElement.h:
41094         * html/HTMLImageElement.idl:
41096 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
41098         Reviewed by levi
41099         
41100         <rdar://problem/4628409>
41101         Safari crashes in CompositeEditCommand::removeBlockPlaceholder entering text in a web page form
41103         * editing/CompositeEditCommand.cpp:
41104         (WebCore::CompositeEditCommand::removeBlockPlaceholder): 
41105         A script on the page shrinks the textarea down to zero rows just
41106         before insertion.  That gives the shadow div a zero height, removing
41107         [div, 0] as a candidate for a VisiblePosition.  Then 
41108         InsertTextCommand::input() tries to create a VisiblePosition from 
41109         [div, 0] and fails.  A nil check is a quick fix.  Another might
41110         be to make positions where there is a caret selection candidates.
41111         Another might be to make any [div, 0] where div is a shadow div inside
41112         a form element a candidate.
41114 2006-07-27  Graham Dennis  <graham.dennis@gmail.com>
41116         Reviewed by Darin.
41118         - fix for http://bugs.webkit.org/show_bug.cgi?id=10094
41119           Japanese characters improperly rendering in TOT
41120           
41121         Test: fast/encoding/denormalised-voiced-japanese-chars.html
41123         * platform/Font.cpp:
41124         (WebCore::WidthIterator::advance): pass currentCharacter to normalizeVoicingMarks
41125         (WebCore::WidthIterator::normalizeVoicingMarks): turn the currentCharacter variable
41126         into an argument as WidthIterator::advance doesn't update m_currentCharacter while
41127         looping
41129 2006-07-27  Eric Seidel  <eric@webkit.org>
41131         Reviewed by ap.
41133         Complex entities seem to fail on TOT
41134         http://bugs.webkit.org/show_bug.cgi?id=6390
41135         Use an alternative work-around to an XML Entity parsing bug.
41137         * dom/XMLTokenizer.cpp:
41138         (WebCore::XMLTokenizer::write):
41139         (WebCore::hackAroundLibXMLEntityBug): added.
41140         (WebCore::startElementNsHandler):
41141         (WebCore::endElementNsHandler):
41142         (WebCore::charactersHandler):
41143         (WebCore::processingInstructionHandler):
41144         (WebCore::cdataBlockHandler):
41145         (WebCore::commentHandler):
41146         (WebCore::getEntityHandler):
41148 2006-07-27  Rob Buis  <buis@kde.org>
41150         Reviewed by Darin.
41152         http://bugs.webkit.org/show_bug.cgi?id=9938
41153         Fix viewBox issues in Hixie's test
41155         Do a more accurate and quicker job of parsing the viewBox
41156         attribute. Handle properly on negative width/height and
41157         invalid syntax in general.
41159         * ksvg2/svg/SVGFitToViewBox.cpp:
41160         (SVGFitToViewBox::parseViewBox):
41162 2006-07-27  Eric Seidel  <eric@webkit.org>
41164         Reviewed by ap.
41166         Enables getSVGDocument() support for HTMLObjectElement and HTMLEmbedElement
41167         http://bugs.webkit.org/show_bug.cgi?id=9237
41168         This patch does not try to autogenerate anything, but enables the SVG functionality.
41169         Also fix HTMLObjectElement vspace and hspace to be numbers instead of strings to match IE & Firefox.
41171         * bindings/js/kjs_dom.cpp:
41172         (KJS::toJS):
41173         * bindings/js/kjs_html.cpp:
41174         (KJS::JSHTMLElement::objectGetter):
41175         (KJS::HTMLElementFunction::callAsFunction):
41176         (KJS::JSHTMLElement::objectSetter):
41177         * bindings/js/kjs_html.h:
41178         (KJS::JSHTMLElement::):
41179         * dom/Document.h:
41180         (WebCore::Document::isSVGDocument):
41181         * html/HTMLEmbedElement.cpp:
41182         (WebCore::HTMLEmbedElement::contentDocument):
41183         (WebCore::HTMLEmbedElement::getSVGDocument):
41184         * html/HTMLEmbedElement.h:
41185         * html/HTMLObjectElement.cpp:
41186         (WebCore::HTMLObjectElement::HTMLObjectElement):
41187         (WebCore::HTMLObjectElement::getInstance):
41188         (WebCore::HTMLObjectElement::parseMappedAttribute):
41189         (WebCore::HTMLObjectElement::contentDocument):
41190         (WebCore::HTMLObjectElement::rendererIsNeeded):
41191         (WebCore::HTMLObjectElement::createRenderer):
41192         (WebCore::HTMLObjectElement::setCode):
41193         (WebCore::HTMLObjectElement::setArchive):
41194         (WebCore::HTMLObjectElement::setBorder):
41195         (WebCore::HTMLObjectElement::setCodeBase):
41196         (WebCore::HTMLObjectElement::setCodeType):
41197         (WebCore::HTMLObjectElement::setData):
41198         (WebCore::HTMLObjectElement::hspace):
41199         (WebCore::HTMLObjectElement::setHspace):
41200         (WebCore::HTMLObjectElement::setStandby):
41201         (WebCore::HTMLObjectElement::setType):
41202         (WebCore::HTMLObjectElement::setUseMap):
41203         (WebCore::HTMLObjectElement::vspace):
41204         (WebCore::HTMLObjectElement::setVspace):
41205         (WebCore::HTMLObjectElement::getSVGDocument):
41206         * html/HTMLObjectElement.h:
41207         * ksvg2/svg/SVGDocument.h:
41208         (WebCore::SVGDocument::isSVGDocument):
41209         * rendering/RenderWidget.h:
41210         (WebCore::RenderWidget::frameView):
41212 2006-07-26  Alexey Proskuryakov  <ap@nypop.com>
41214         Reviewed by Darin.
41216         Fix http://bugs.webkit.org/show_bug.cgi?id=9901
41217         XSLTProcessor cannot parse text nodes for INPUT ELEMENTS in an XSLT stylesheet
41219         Test: fast/js/xhtml-serialize.html
41221         * editing/markup.cpp:
41222         (WebCore::endMarkup): If the element has child nodes, write a closing tag even if it 
41223         is not permitted in HTML, to make it valid XML.
41225 2006-07-26  Alice Liu  <alice.liu@apple.com>
41227         Reviewed by John Sullivan (and Kevin and Timo).
41229         landing this patch for John et al.  
41230         Fixed <rdar://problem/4651380> REGRESSION (9A232->9A234): existing web clips don't render if you restart Dashboard
41232         * page/FrameView.cpp:
41233         (WebCore::FrameView::layout):
41234         moved the call to didFirstLayout to above the check for needsLayout
41235         because we need to call didFirstLayout for every webview, not just
41236         ones we think need layout.  
41238 2006-07-26  Justin Garcia  <justin.garcia@apple.com>
41240         Reviewed by darin
41241         
41242         <rdar://problem/4652788>
41243         REGRESSION: Can't change size or style of any text in message body
41245         * dom/Node.cpp:
41246         (WebCore::Node::isContentRichlyEditable): Mimic Node::isContentEditable.
41247         * html/HTMLElement.cpp:
41248         (WebCore::HTMLElement::isContentRichlyEditable): First check
41249         the frame for editability, then userModify, like what
41250         HTMLElement::isContentEditable() does.
41251         * html/HTMLElement.h:
41253 2006-07-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41255         Reviewed by ap.
41257         - fix debug-only information() string for table cells
41259         * rendering/RenderObject.cpp:
41260         (WebCore::RenderObject::information):
41262 2006-07-25  David Harrison  <harrison@apple.com>
41264         Reviewed by timo and Darin.
41266         <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
41267         
41268         * WebCore.xcodeproj/project.pbxproj:
41269         * bridge/mac/WebCoreFrameBridge.h:
41270         * bridge/mac/WebCoreFrameBridge.mm:
41271         (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
41272         Add matchStyle parameter for use by WebKit.
41274 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
41276         Reviewed by adele
41277         
41278         <rdar://problem/4649560>
41279         REGRESSION: Can't Select All when the body is contentEditable="true"
41281         * editing/VisiblePosition.cpp:
41282         (WebCore::VisiblePosition::canonicalPosition): Allow descent from a non-editable html
41283         element into an editable body as a convenience.
41285 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
41287         Reviewed by darin
41288         
41289         <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">
41291         * dom/Document.cpp:
41292         (WebCore::Document::inDesignMode): Removed some spaces.
41293         * page/Frame.cpp:
41294         (WebCore::Frame::applyEditingStyleToElement): Just add CSS properties needed for editing.
41295         (WebCore::Frame::removeEditingStyleFromElement): Made this a no-op, we'll remove
41296         it eventually.
41298 2006-07-25  David Kilzer  <ddkilzer@kilzer.net>
41300         Reviewed by Darin.
41302         - fix http://bugs.webkit.org/show_bug.cgi?id=9717
41303           Replace IDL ConvertUndefinedToTrue parameter attribute with Optional attribute
41305         No test added because there is no change in functionality.
41307         * bindings/js/kjs_binding.cpp: Removed valueToBooleanTreatUndefinedAsTrue() method.
41308         * bindings/js/kjs_binding.h: Ditto.
41309         * bindings/scripts/CodeGeneratorJS.pm: Removed support for ConvertUndefinedToTrue parameter attribute.
41310         * dom/Element.h: Set default value to true for scrollIntoView() and scrollIntoViewIfNeeded() arguments.
41311         * dom/Element.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
41312           Fixed name of scrollIntoViewIfNeeded() argument to match implementation.
41313         * page/DOMWindow.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
41315 2006-07-24  Dan Waylonis  <waylonis@google.com>
41317         Reviewed and tweaked a bunch by Darin.
41319         Test: plugins/bindings-test.html
41321         - fix http://bugs.webkit.org/show_bug.cgi?id=9902
41322           jsNull and NSNull not properly converted between JS and ObjC
41324         * bindings/objc/WebScriptObject.mm:
41325         (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
41326         Added case that converts jsNull to NSNull.
41328 2006-07-24  Darin Adler  <darin@apple.com>
41330         Reviewed by Adele and Justin.
41332         - fix <rdar://problem/4613616> REGRESSION: some spaces typed in <textarea> are posted as non-breaking spaces (9630)
41333           http://bugs.webkit.org/show_bug.cgi?id=9630
41334         - also fixes http://bugs.webkit.org/show_bug.cgi?id=9939
41335           REGRESSION: Pasting text into native text area with newline at end does not preserve newline
41336         - removed some uses of DeprecatedPtrList in the markup code
41338         Test: fast/forms/textarea-type-spaces.html
41339         Test: fast/forms/textarea-paste-newline.html
41341         * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithText:]):
41342         Updated call to pass a range -- in this case it is the range of the entire document,
41343         so this will not handle the whitespace properly.
41345         * bridge/mac/WebCoreFrameBridge.h: Added range context parameter to the
41346         documentFragmentWithText: method, so we can handle whitespace properly.
41347         * bridge/mac/WebCoreFrameBridge.mm:
41348         (-[WebCoreFrameBridge nodesFromList:]): Changed from DeprecatedPtrList to Vector.
41349         (-[WebCoreFrameBridge markupStringFromNode:nodes:]): Ditto.
41350         (-[WebCoreFrameBridge markupStringFromRange:nodes:]): Ditto.
41351         (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Added range context
41352         parameter -- pass it on to createFragmentFromText.
41353         (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): Changed from
41354         DeprecatedPtrList to Vector.
41355         (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
41356         Pass the range of the current selection as context when creating the fragment.
41358         * dom/Position.cpp: (WebCore::Position::inRenderedText): Replace range check with
41359         a call to the new containsCaretOffset function -- helps make the caret work right when
41360         it is past the end of the last line in a textarea.
41362         * editing/CompositeEditCommand.cpp:
41363         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Don't do anything if the
41364         style does not call for collapsing whitespace.
41365         (WebCore::CompositeEditCommand::rebalanceWhitespace): Call replaceWhitespaceAt
41366         to share code, including the new logic mentioned above.
41368         * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
41369         Use a text node instead of a break element when inserting and the style is preserveNewline.
41371         * editing/JSEditor.cpp: (WebCore::execRemoveFormat): Pass the selection range
41372         to createFragmentFromText.
41374         * editing/RebalanceWhitespaceCommand.cpp: (WebCore::RebalanceWhitespaceCommand::doApply):
41375         Assert that we're in a style that collapses whitespace. It's the caller's responsibility
41376         not to call otherwise.
41378         * editing/ReplaceSelectionCommand.h: Removed unused destructor, type, isSingleTextNode,
41379         isTreeFragment, m_type, and added a context parameter to inertFragmentForTestRendering.
41380         Also changed the constructor to take a selection rather than a pointer to the root
41381         editable element, replaced removeEndBRIfNeeded with shouldRemoveEndBR and removed an
41382         unused parameter from shouldMergeEnd.
41383         * editing/ReplaceSelectionCommand.cpp:
41384         (WebCore::ReplacementFragment::ReplacementFragment): Removed code to set up m_type.
41385         Compute root editable element from passed-in selection. Used the start of the selection
41386         as a base node for style purposes for the test rendering. Removed the special case
41387         "single text node" alternative to createFragmentFromText in the plain text case, since
41388         createFragmentFromText now handles that correctly.
41389         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Copy the whitespace
41390         property from the source location when creating a temporary element for test rendering.
41391         (WebCore::ReplacementFragment::shouldMergeEnd): Removed unneeded boolean
41392         parameter fragmentHadInterchangeNewlineAtEnd, which is always false.
41393         (WebCore::ReplaceSelectionCommand::doApply): Update for ReplacementFragment changes,
41394         change code to not remove end BR when it can be re-used instead, don't call the
41395         paragraph separator insertion when the position is at the start of a paragraph already,
41396         removed redundant computation of identical "next" value, removed unneeded boolean
41397         parameter to shouldMergeEnd, add case for merging when all we need to do is to delete
41398         a newline character, removed unneeded code to set insertionPos after all code that uses
41399         it, and  use spaces instead of non-breaking spaces when doing smart paste if the
41400         context is one where we do not collapse white space.
41401         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renamed and changed to return
41402         a boolean instead of doing the removal.
41404         * editing/markup.h: Use Vector instead of DeprecatedPtrList. Change the
41405         createFragmentFromText function to take a range for context instead of a document.
41406         * editing/markup.cpp:
41407         (WebCore::markup): Use Vector instead of DeprecatedPtrList.
41408         (WebCore::createMarkup): Ditto.
41409         (WebCore::createParagraphContentsFromString): Remove unneeded document parameter
41410         and changed a couple places to use isEmpty instead of comparing with "".
41411         (WebCore::createFragmentFromText): Given the new context parameter, if the context
41412         is one that preserves newlines, then use "\n" instead of <br> elements.
41413         (WebCore::createFragmentFromNodes): Use Vector instead of DeprecatedPtrList.
41415         * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText): Do not use <br>
41416         elements if the context of this node is one where we preserve newlines.
41418         * rendering/InlineTextBox.h:
41419         * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::containsCaretOffset):
41420         Added. Implements the appropriate rule for determining if a caret position is
41421         in this line or not. Returns true for both one line and the next in cases where
41422         affinity must be considered to determine which line the caret is on.
41424         * rendering/RenderText.h: Make atLineWrap no longer be a member function.
41425         * rendering/RenderText.cpp:
41426         (WebCore::atLineWrap): Remove special rule about preserveNewline and isLineBreak,
41427         which will no longer apply due to the new containsCaretOffset function logic.
41428         (WebCore::RenderText::caretRect): Use containsCaretOffset.
41429         (WebCore::RenderText::inlineBox): Ditto.
41431         * rendering/RenderTextControl.cpp:
41432         (WebCore::RenderTextControl::updateFromElement): Make a placeholder <br> element
41433         after calling setInnerText so that the last newline in the string has the effect
41434         we expect outside the HTML world (an additional line).
41435         (WebCore::RenderTextControl::setSelectionRange): Set granularity of the selection
41436         too. The layout tests caught this problem, which needs a better solution long term.
41437         (WebCore::RenderTextControl::text): Call textContent with the parameter false
41438         so it will not include newlines for <br> elements. Now the only <br> element
41439         that will ever be in the shadow DOM tree is the one to prevent collapsing, and
41440         that one should not show up in the text value.
41442         * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Took a rule
41443         that specifically called out the pre whitespace mode and made it work for all
41444         the modes that preserve newlines. This makes sure we get a last line box for
41445         text after the last "\n" even in cases where there is no <br> afterward.
41447         * editing/DeleteSelectionCommand.cpp:
41448         (WebCore::DeleteSelectionCommand::fixupWhitespace):
41449         * editing/InsertParagraphSeparatorCommand.cpp:
41450         (WebCore::InsertParagraphSeparatorCommand::doApply):
41451         Added assertions to make sure we don't do anything when we're not collapsing
41452         whitespace.
41454         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setDefaultValue):
41455         Changed to use Vector instead of DeprecatedPtrList.
41457         * editing/HTMLInterchange.cpp: Removed obsolete comment.
41459         * loader/Cache.h: Removed a stray include.
41461 2006-07-24  Adele Peterson  <adele@apple.com>
41463         Reviewed by Justin.
41465         - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails
41467         Test: * editing/style/apple-style-editable-mix.html
41469         * dom/Node.cpp: (WebCore::Node::isContentRichlyEditable): Doesn't need to check the editable root.  It now just
41470           checks the user modify property of its own renderer, since that is inherited.
41471         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): If the end position is in a table,
41472         Adjust the end node to the last descendant of the table, so we don't skip over any runs.
41474 2006-07-24  Darin Adler  <darin@apple.com>
41476         Reviewed by Hyatt.
41478         - implement String::createCFString
41480         * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.
41482         * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.
41484         * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
41485         and added the CFStringRef ones.
41486         * platform/mac/StringMac.mm: Added. Ditto.
41488 2006-07-24  David Hyatt  <hyatt@apple.com>
41490         Two bug fixes.
41492         (1) Make sure to mark positioned objects that depend on line position to
41493         mark themselves as needing layout when their line box placeholder gets
41494         repositioned.
41496         * rendering/RenderBox.cpp:
41497         (WebCore::RenderBox::position):
41498        
41499         (2) Improve highlighting to factor the inflation into overflow so that
41500         invalidation and repainting will work properly.
41502         * rendering/RootInlineBox.cpp:
41503         (WebCore::RootInlineBox::addHighlightOverflow):
41504         * rendering/RootInlineBox.h:
41505         * rendering/bidi.cpp:
41506         (WebCore::RenderBlock::layoutInlineChildren):
41508 2006-07-24  Anders Carlsson  <acarlsson@apple.com>
41510         Reviewed by Adele.
41512         <rdar://problem/4641824> REGRESSION: Wikipedia widget fails to complete a search after pressing return key
41513         
41514         * html/HTMLInputElement.cpp:
41515         (WebCore::HTMLInputElement::defaultEventHandler):
41516         Don't eat enter events for search fields that have no enclosing form; they need to be passed to AppKit so
41517         that onsearch can be invoked.
41518         
41519         * manual-tests/onsearch-enter.html: Added.
41521 2006-07-24  Dave MacLachlan  <dmaclach@mac.com>
41523         Reviewed by Darin and Alexey.
41524         
41525         Fix for: <http://bugs.webkit.org/show_bug.cgi?id=8425> 
41526         and <http://bugs.webkit.org/show_bug.cgi?id=6947>
41528         Test: svg/custom/non-opaque-filters.svg
41530         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
41531         (WebCore::KCanvasFilterQuartz::prepareFilter):
41532         We create an autorelease pool so we can control the deallocation of the
41533         CIContext that we're creating. The CIContext retains the CGContext that 
41534         you pass it internally so when the CIContext is released, the 
41535         CGContext is released as well.
41536         This is all fine and dandy unless you wrap the creation of the CIFilter
41537         with a pair of CGBegin/EndTransparencyLayer calls which swap the context
41538         out from underneath you. So if you start with context A, 
41539         CGBeginTransparencyLayer swaps it out and gives you B. You create a CIFilter
41540         with it and add a reference to B. CGEndTransparencyLayer swaps out B and
41541         gives you back A. Autorelease pool comes and cleans up the Filter, and calls
41542         release on A, but A never got the refcount in the first place. B did. BOOM!
41543         So we create a pool, then do a retain, then release the pool so that we 
41544         don't have to worry about the pool releasing it at a later time.
41545         See <rdar://problem/4647735> for reduction of CGEndTransparencyLayer case
41547 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41549         Reviewed by Hyatt.
41551         - fix http://bugs.webkit.org/show_bug.cgi?id=9669
41552           Incomplete repaint when changing an inline's border
41554         Test: fast/repaint/line-overflow.html
41556         * rendering/RenderBlock.h:
41557         * rendering/bidi.cpp:
41558         (WebCore::RenderBlock::layoutInlineChildren): Added repaintTop and repaintBottom
41559         variables to track the vertical edges of the area that changed, accounting for
41560         lines that were deleted, inserted or moved. Removed unnecessary updating of
41561         m_overflowHeight.
41562         (WebCore::RenderBlock::determineStartPosition): Removed unnecessary updating of
41563         m_overflowHeight.
41564         (WebCore::RenderBlock::determineEndPosition):
41565         (WebCore::RenderBlock::matchedEndLine): Added repaintTop and repaintBottom
41566         arguments, which this method updates to account for deleted lines.
41567         (WebCore::RenderBlock::checkLinesForOverflow): Removed outdated FIXME.
41569 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41571         Reviewed by Darin.
41573         - fix http://bugs.webkit.org/show_bug.cgi?id=10075
41574           REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages
41576         Test: fast/forms/select-visual-hebrew.html
41578         * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.
41580 2006-07-24  Alexey Proskuryakov  <ap@nypop.com>
41582         Reviewed by Darin.
41584         Fix http://bugs.webkit.org/show_bug.cgi?id=10009
41585         REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
41587         * page/Frame.cpp:
41588         (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
41589         claims it.
41591 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41593         Reviewed by Darin.
41595         - fix http://bugs.webkit.org/show_bug.cgi?id=10083
41596           REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing
41598         * rendering/RenderBlock.cpp:
41599         (WebCore::RenderBlock::positionForCoordinates): Added back change from the fix
41600         for bug 9312: For coordinates outside a replaced object, return the position
41601         just before (after) the element if the coordinates are above or to the left (below
41602         or to the right).
41604 2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
41606         Reviewed by maciej.
41608         Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
41609         http://bugs.webkit.org/show_bug.cgi?id=9686
41611         WebCore portion of the fix.
41613         * bridge/mac/WebCoreScriptDebugger.h:
41614         (-[WebScriptDebugger exceptionRaised:sourceId:line::]): Add delegate method.
41615         * bridge/mac/WebCoreScriptDebugger.mm:
41616         (WebCoreScriptDebuggerImp::exception): Call delegate method when an exception is raised.
41618 2006-07-23  Alice Liu  <alice.liu@apple.com>
41620         Reviewed by Adele.
41621         Actually Adele figured out how to fix the layout test failures.  Landing this patch for her.  Layout test failures exposed but not caused by  r15584 (my patch earlier today).
41623         * editing/visible_units.cpp:
41624         (WebCore::previousLinePosition):
41625         When setting selection endpoints, don't traverse down into nodes where editing would ignore its contents. Use the parent node instead.  
41626         (WebCore::nextLinePosition):
41627         same as above
41629 2006-07-23  David Harrison  <harrison@apple.com>
41631         Reviewed by timo.
41633         <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
41634         
41635         * Test: editing/deleting/delete-mixed-editable-content-001.html
41637         * editing/visible_units.cpp:
41638         (WebCore::startOfParagraph):
41639         Respect editable boundary the same way endOfParagraph does.
41641 2006-07-23  Beth Dakin  <bdakin@apple.com>
41643         Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
41645         Fix for <rdar://problem/4529398> WebCore crashes when pasting rich 
41646         text - WebCore::InlineBox::root()
41648         The initial rendering crash was due to a render object having a 
41649         stale reference to an inline box that had already been deleted and 
41650         then recreated in the exact same location in memory. (Crazy, I 
41651         know.) The situation seemed pretty specific to list markers 
41652         according to Hyatt according to Maciej, so that is what I patched 
41653         specifically. Fixing this crash unearthed a separate editing crash 
41654         where we were trying to insert a block into itself. I worked on 
41655         that with Maciej and Harrison, and Harrison came up with a fix.
41657         * editing/CompositeEditCommand.cpp:
41658         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic 
41659         node, insert the new block into the parent instead.
41660         * rendering/InlineBox.cpp:
41661         (WebCore::InlineBox::isChildOfParent): This function is for 
41662         posterity. It will help keep the linebox tree in check.
41663         * rendering/InlineBox.h:
41664         * rendering/InlineFlowBox.cpp:
41665         (WebCore::InlineFlowBox::addToLine): Added assert.
41666         (WebCore::InlineFlowBox::deleteLine): Added assert.
41667         * rendering/ListMarkerBox.cpp:
41668         (WebCore::ListMarkerBox::destroy): If this has a parent, call 
41669         removeChild on this.
41670         (WebCore::ListMarkerBox::operator delete):
41671         * rendering/ListMarkerBox.h:
41673 2006-07-23  Alice Liu  <alice.liu@apple.com>
41675         Reviewed by Darin.
41677         fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point
41679         * rendering/RenderBlock.cpp:
41680         (WebCore::RenderBlock::positionForCoordinates):
41681         removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
41682         * rendering/RenderTextControl.cpp:
41683         (WebCore::RenderTextControl::nodeAtPoint):
41684         added implementation
41685         * rendering/RenderTextControl.h:
41686         added function protocol
41688 2006-07-23  Adele Peterson  <adele@apple.com>
41690         Reviewed by Darin.
41692         Updating fix from last checkin.
41694         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
41695         Only tell the view about this flexbox if there isn't another flexbox already cached.
41697 2006-07-23  Adele Peterson  <adele@apple.com>
41699         Reviewed by Maciej.
41701         - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling
41703         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
41704         its first layout.
41705         * rendering/RenderFlexibleBox.cpp:
41706         (WebCore::RenderFlexibleBox::layoutBlock): ditto.
41707         (WebCore::RenderFlexibleBox::layoutVerticalBox): Let the view know if this flex box is doing its first pass at layout.
41709         * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): Caches a flexible box that's doing its first layout.
41710         * rendering/RenderView.h:
41711         (WebCore::RenderView::setFlexBoxInFirstLayout):
41712         (WebCore::RenderView::flexBoxInFirstLayout):
41714 2006-07-22  Alexey Proskuryakov  <ap@nypop.com>
41716         Reviewed by Darin.
41718         Fix http://bugs.webkit.org/show_bug.cgi?id=10038
41719         REGRESSION: Length of navigator.mimeTypes collection returns number of installed plugins, not number 
41720         of registered mime types
41722         * bindings/js/kjs_navigator.cpp:
41723         (KJS::MimeTypes::getValueProperty): Return the length of the mime types vector, not the plugins one.
41724         (KJS::MimeTypes::getOwnPropertySlot): Fixed another typo, which prevented MimeTypes::getValueProperty()
41725         from even being called.
41727 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
41729         Reviewed by Adele and Tim Omernick.
41731         <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field
41733         Couldn't figure out how to make layout test, here's a manual test:
41734         * manual-tests/remove-select-onchange.html: Added.
41735         
41736         * rendering/RenderMenuList.cpp:
41737         (WebCore::RenderMenuList::showPopup): Don't add the RenderPopupMenu to the render
41738         tree so it doesn't get destroyed if we do.
41739         
41740         The remaining changes are to let the RenderPopupMenu know its menu list w/o having
41741         to be in the render tree:
41742         
41743         * rendering/RenderPopupMenu.cpp:
41744         (WebCore::RenderPopupMenu::RenderPopupMenu):
41745         * rendering/RenderPopupMenu.h:
41746         (WebCore::RenderPopupMenu::menuList):
41747         * rendering/RenderPopupMenuMac.h:
41748         * rendering/RenderPopupMenuMac.mm:
41749         (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
41750         * rendering/RenderPopupMenuWin.h:
41751         (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
41752         * rendering/RenderTheme.h:
41753         * rendering/RenderThemeMac.h:
41754         * rendering/RenderThemeMac.mm:
41755         (WebCore::RenderThemeMac::createPopupMenu):
41756         * rendering/RenderThemeWin.cpp:
41757         (WebCore::RenderThemeWin::createPopupMenu):
41758         * rendering/RenderThemeWin.h:
41760 2006-07-21  Adele Peterson  <adele@apple.com>
41762         Reviewed by Darin.
41764         Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text
41766         Test: fast/forms/textarea-scrolled-endline-caret.html
41768         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
41769         When looking for the closest line box, take the scroll offset into account.
41771 2006-07-21  Tim Omernick  <timo@apple.com>
41773         Reviewed by Geoff & Maciej.
41775         <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6
41777         Geoff is working on a layout test for this.
41779         * bridge/mac/FrameMac.mm:
41780         (WebCore::FrameMac::focusWindow):
41781         (WebCore::FrameMac::unfocusWindow):
41782         Check for a NULL view.  The view can be NULL if the frame has not yet loaded any data.  This fixes the crash, but the behavior is still
41783         wrong -- we should focus the frame once it gets a view.  I've filed <rdar://problem/4645685> to track that.  It's not as urgent as this
41784         crasher.
41785         
41786 2006-07-21  Maciej Stachowiak  <mjs@apple.com>
41788         Reviewed by Darin.
41790         <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value
41792         * rendering/RenderTextControl.cpp:
41793         (WebCore::RenderTextControl::updateFromElement): Clear the undo
41794         chain when the text control contents have been set
41795         programmatically.
41796         * bridge/mac/FrameMac.mm:
41797         (WebCore::FrameMac::clearUndoRedoOperations): Before clearing undo
41798         stack, close all open undo groups and then open an equal number,
41799         since otherwise NSUndoManager ends up in an inconsistent state
41800         leading to uncaught ObjC exceptions.
41802 2006-07-21  Beth Dakin  <bdakin@apple.com>
41803         
41804         Reviewed by Darin.
41806         Just moving this assertion down a couple of lines. It was hitting 
41807         every time you try to print a page because we put it too early in 
41808         the function.
41810         * bridge/mac/WebCoreFrameBridge.mm:
41811         (-[WebCoreFrameBridge drawRect:]):
41813 2006-07-21  Justin Garcia  <justin.garcia@apple.com>
41815         Reviewed by levi
41816         
41817         <rdar://problem/4548238>
41818         REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window
41820         * editing/CompositeEditCommand.cpp:
41821         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 
41822         Moved from InsertParagraphSeparator.  Does its own typing style restoration.
41823         * editing/CompositeEditCommand.h:
41824         * editing/InsertParagraphSeparatorCommand.cpp:
41825         (WebCore::InsertParagraphSeparatorCommand::doApply): Call breakOutOfEmptyListItem.
41826         * editing/TypingCommand.cpp:
41827         (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyListItem if
41828         the endingSelection is at the start of an editable region.
41829         * editing/htmlediting.cpp:
41830         (WebCore::embeddedSublist): Moved from InsertParagraphSeparator.
41831         (WebCore::appendedSublist): Ditto.
41832         (WebCore::enclosingEmptyListItem): Ditto.
41833         * editing/htmlediting.h:
41835 === Safari-521.20 ===
41837 2006-07-21  Tim Omernick  <timo@apple.com>
41839         Reviewed by Beth Dakin & John Sullivan.
41841         <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]
41843         Beth is in the middle of making a layout test for this; she will land it soon.
41845         * platform/mac/ScrollBarMac.mm:
41846         (ScrollBar::~ScrollBar):
41847         Call Widget::removeFromSuperview() rather than -removeFromSuperview directly on the scroll bar view.
41848         Widget::removeFromSuperview() obeys the "mustStayInWindow" flag, which is set while tracking the mouse
41849         in view-based widgets to prevent their destruction while the tracking is in progress.
41850         I searched around WebCore and this is the only Widget subclass that directly removes its view rather
41851         than using removeFromSuperview().
41853 2006-07-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41855         Reviewed by Darin.
41857         - fix http://bugs.webkit.org/show_bug.cgi?id=9312
41858           REGRESSION: Selection bug in new text fields when selecting past the first letter
41860         Test: editing/selection/select-from-textfield-outwards.html
41862         * editing/Selection.cpp:
41863         (WebCore::Selection::adjustForEditableContent): Added code to handle the case
41864         where the selection starts (resp. ends) in the last (resp. first) visual position
41865         inside an editable root.
41866         * editing/htmlediting.cpp:
41867         (WebCore::comparePositions): Fixed the case of comparing a position inside a shadow
41868         tree with a position in the shadow ancestor.
41869         * rendering/RenderBlock.cpp:
41870         (WebCore::RenderBlock::positionForCoordinates): For coordinates outside a replaced
41871         object, return the position just before (after) the element if the coordinates are above or
41872         to the left (below or to the right).
41873         * rendering/RenderObject.cpp:
41874         (WebCore::RenderObject::caretMaxOffset): Changed to return 1 for replaced objects.
41875         * rendering/RenderText.cpp:
41876         (WebCore::RenderText::positionForCoordinates): Changed to return the last position
41877         in the lowest text box if the y coordinate is below all text boxes.
41879 2006-07-21  Geoffrey Garen  <ggaren@apple.com>
41881         Reviewed by Darin.
41882         
41883         - Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on 
41884         HousingMaps.com (Google Maps-based site)
41885         
41886         - Made style.filter undetectable, like document.all.
41887         
41888         Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
41889         which conflicts with IE's custom CSS attribute by the same name. Web programs 
41890         like the Google maps API test for style.filter, and assume it's the IE 
41891         style.filter if they find it, so we need to make style.filter undetectable 
41892         to avoid breaking them.
41893         
41894         An alternative solution would be to hotwire a delorean, go back in time,
41895         and beg the web standards makers to make standards that work on the web.
41897         * bindings/js/kjs_css.cpp:
41898         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
41900 2006-07-20  Justin Garcia  <justin.garcia@apple.com>
41902         Reviewed by john
41903         
41904         <rdar://problem/4641033>
41905         REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content
41906         
41907         * editing/markup.cpp:
41908         (WebCore::createMarkup): We surround the currently accumulated markup with markup 
41909         for ancestors of the startNode when the pre-order traversal leaves the trees rooted 
41910         at those ancestors.  We assumed that any ancestors of the current node not in the 
41911         ancestorsToClose list were those kind of ancestors.  But we don't add renderer-less 
41912         containers to the ancestorsToClose list.  So, we were incorrectly surrounding the 
41913         currently accumulated markup with markup for render-less containers.  Most of the
41914         content at apple.com was being put inside an <optgroup> inside a <select> element.  
41915         Then on Paste createContextualFragment would drop it.
41917 2006-07-21  Anders Carlsson  <acarlsson@apple.com>
41919         Reviewed by Geoff.
41921         * dom/Document.h:
41922         (WebCore::Document::):
41923         * dom/EventTargetNode.cpp:
41924         (WebCore::EventTargetNode::addEventListener):
41925         * page/FrameView.cpp:
41926         (WebCore::FrameView::layout):
41927         * rendering/RenderLayer.cpp:
41928         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
41929         Only dispatch overflowchanged events if overflowchanged event listeners have been registered on the document.
41931 2006-07-20  Anders Carlsson  <acarlsson@apple.com>
41933         Reviewed by Geoff.
41935         <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails
41937         * xml/XSLTProcessor.cpp:
41938         (WebCore::xsltParamArrayFromParameterMap):
41939         Turns out parameters never worked. String parameters need to be escaped so we create a transform context,
41940         add the parameters to it quoted and then use xsltApplyStylesheetUser which lets us pass the transform context to it.
41941         This also works around a bug in libxslt where a hash table isn't allocated.
41943 2006-07-20  Alice Liu  <alice.liu@apple.com>
41945         Reviewed by Tim Omernick.
41947         Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
41948         added manual test because there is no way to change the value of an <input type=file> via the DOM.  It's not supported because it's a security risk. 
41950         * manual-tests/remove-input-file-onchange.html: Added.
41951         * platform/mac/FileButtonMac.mm:
41952         (-[WebFileChooserButton chooseFilename:]):
41953         swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget 
41955 2006-07-20  Alice Liu  <alice.liu@apple.com>
41957         Reviewed by Adele.
41959         Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
41960         added a manual test because of the need to use AutoFill.
41962         * dom/Node.h:
41963         (WebCore::Node::aboutToUnload):
41964         added virtual function prototype
41965         * html/HTMLInputElement.cpp:
41966         (WebCore::HTMLInputElement::aboutToUnload):
41967         added implementation that sends textFieldDidEndEditing notification
41968         * html/HTMLInputElement.h:
41969         added virtual function prototype
41970         * manual-tests/input-type-file-autocomplete-frame-1.html: Added.
41971         * manual-tests/input-type-file-autocomplete-frame-2.html: Added.
41972         * manual-tests/input-type-file-autocomplete-refresh.html: Added.
41973         * page/Frame.cpp:
41974         (WebCore::Frame::stopLoading):
41975         before unloading, call aboutToUnload on the current focused node
41977 2006-07-20  Brady Eidson  <beidson@apple.com>
41979         Reviewed by Maciej
41981         fixed <rdar://problem/4611303> REGRESSION: repro crash in WebCore::EventTargetNode::dispatchWindowEvent at aeropostale.com
41982         There was an attempt to deref an EventListener that got cleaned up in GC.  Changing Document's EventListener list from 
41983         vanilla ptrs to refptrs to prevent GC, following EventTargetNode's proven example.
41985         * dom/Document.cpp:
41986         (WebCore::Document::Document):
41987         (WebCore::Document::clear):
41988         (WebCore::Document::handleWindowEvent):
41989         (WebCore::Document::getHTMLWindowEventListener):
41990         (WebCore::Document::removeHTMLWindowEventListener):
41991         (WebCore::Document::removeWindowEventListener):
41992         (WebCore::Document::hasWindowEventListener):
41993         Changed all of the list iterators to work with RefPtrs instead of vanilla ptrs
41995         * dom/Document.h:
41996         Changed the EventListener list to be a vanilla pointer list to a refptr list
41998 2006-07-20  John Sullivan  <sullivan@apple.com>
42000         Reviewed by Maciej
42002         - WebCore part of fix for:
42003         <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving 
42004         closing tabs after clicking in a web page
42005         
42006         * bridge/mac/WebCoreFrameBridge.h:
42007         (-[WebCoreFrameBridge textViewWasFirstResponderAtMouseDownTime:])
42008         renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
42009         * bridge/mac/FrameMac.mm:
42010         (WebCore::FrameMac::passMouseDownEventToWidget):
42011         updated for name change
42013 2006-07-19  Alexey Proskuryakov  <ap@nypop.com>
42015         Reviewed by Darin.
42017         Fix http://bugs.webkit.org/show_bug.cgi?id=8272
42018         Use of window.open & window.close can cause crash
42020         * platform/PlatformMouseEvent.h:
42021         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
42022         * platform/mac/PlatformMouseEventMac.mm:
42023         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
42024         The default constructor now creates a "zero" event, and a new one was added to create the "current" one.
42026         * bridge/mac/FrameMac.mm:
42027         (WebCore::FrameMac::handleMouseMoveEvent):
42028         * rendering/RenderFormElement.cpp:
42029         (WebCore::RenderFormElement::clicked): 
42030         Updated for the above changes.
42032         * platform/gdk/MouseEventGdk.cpp:
42033         * platform/gdk/TemporaryLinkStubs.cpp:
42034         (PlatformMouseEvent::PlatformMouseEvent):
42035         * platform/win/MouseEventWin.cpp:
42036         * platform/win/TemporaryLinkStubs.cpp:
42037         (PlatformMouseEvent::PlatformMouseEvent):
42038         Trying not to break other platforms.
42040         * manual-tests/invalid-mouse-event.html: Added.
42042 2006-07-20  Maciej Stachowiak  <mjs@apple.com>
42043         
42044         Reviewed by Anders.
42046         - delete line that I only commented in the last patch - meant to do this before landing
42048         * html/HTMLFrameElement.cpp:
42049         (WebCore::HTMLFrameElement::close): 
42051 2006-07-19  Maciej Stachowiak  <mjs@apple.com>
42053         Reviewed by Geoff.
42055         - fixed <rdar://problem/4634484> REGRESSION: Project Change Request form should have vertical scroll bar, but doesn't
42056         
42057         I couldn't figure out how to make an automated test case for this,
42058         or even a manual one. It seems to be timing-related in some way.
42060         * html/HTMLFrameElement.cpp:
42061         (WebCore::HTMLFrameElement::close): detach the child frame from
42062         its element, not the frame containing this element.
42064 2006-07-20  Anders Carlsson  <acarlsson@apple.com>
42066         Reviewed by Darin.
42068         * bridge/mac/FrameMac.mm:
42069         (WebCore::FrameMac::nextKeyViewInFrame):
42070         Hold a ref to the node in case it gets destroyed by an event handler.
42072 2006-07-19  Mark Rowe  <opendarwin.org@bdash.net.nz>
42074         Reviewed by Darin.
42076         http://bugs.webkit.org/show_bug.cgi?id=10021
42077         Bug 10021: REGRESSION: Stack overflow due to infinite recursion in 
42078         Image::checkForSolidColor
42080         * platform/Image.cpp:
42081         (WebCore::Image::cacheFrame): Don't call checkForSolidColor unless 
42082         the frame was decoded successfully.
42084 2006-07-19  Adele Peterson  <adele@apple.com>
42086         Reviewed by Maciej.
42088         - Fix for: 
42089         <rdar://problem/4422657> REGRESSION: member name field or password field should have focus after loading webmail.mac.com (7405)
42090         http://bugs.webkit.org/show_bug.cgi?id=7405
42092         <rdar://problem/4614181> REGRESSION: Crash in WebCore::RenderTextField::text() when quoting post at the Ars Technica forum (9707)
42093         http://bugs.webkit.org/show_bug.cgi?id=9707
42095         Needs an http test. (http://bugs.webkit.org/show_bug.cgi?id=10020)
42097         These bugs were both cases where focus() was called on an element which didn't have a renderer yet because stylesheets hadn't finished loading yet.
42098         Now, we detect this case and let setFocusNode be called.  And when the stylesheet finishes loading, and the element attaches, a timer will fire, 
42099         which will cause the correct selection & scrolling behavior to occur. 
42101         This fix removes selection and scrolling behavior from the focus method.  This code is now in a new method, updateFocusAppearance.
42102         updateFocusAppearance can now be called directly from focus(), but it can also be called when a timer fires.  This timer gets set
42103         up when an element attaches, and its already been focused by the focus method.  We have to use a timer, because updateFocusAppearance can cause
42104         a layout to happen, and we don't want that to happen in the middle of attach().
42106         * bindings/objc/DOM.mm: (-[DOMElement isFocused]): Added SPI for autofill.
42107         * bindings/objc/DOMPrivate.h:
42109         * dom/Element.cpp:
42110         (WebCore::Element::Element): Initializes timer and needFocusAppearanceUpdate bool.
42111         (WebCore::Element::attach): Checks needsFocusAppearanceUpdate, and if the node is focused, then starts the timer.
42112         (WebCore::Element::focus): Updated to check supportsFocus before calling setFocusNode, 
42113         and only requiring the element to be focusable now before updating focus appearance.
42114         (WebCore::Element::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
42115         (WebCore::Element::updateFocusAppearanceTimerFired): Stops the timer, and if the element is focusable, calls updateFocusAppearance.
42116         (WebCore::Element::stopUpdateFocusAppearanceTimer):  Cancels timer, and setsNeedsFocusAppearanceUpdate(false).
42117         (WebCore::Element::detach): Calls stopUpdateFocusAppearanceTimer.
42118         (WebCore::Element::blur): ditto.
42119         * dom/Element.h:
42120         (WebCore::Element::needsFocusAppearanceUpdate): Added so the timer only fires when focus() methods have caused an element to be focused.
42121         (WebCore::Element::setNeedsFocusAppearanceUpdate): Added so focus methods can set this flag.
42123         * dom/Node.h: (WebCore::Node::supportsFocus): Added.  Base class just calls isFocusable.
42124         * html/HTMLAnchorElement.h: Added supportsFocus.
42125         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::supportsFocus): Added. Checks for the case where stylesheets haven't loaded yet,
42126         so we can still focus the node without a renderer, and when it gets a renderer, we'll update the focus appearance.
42127         * html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::supportsFocus): ditto.
42128         * html/HTMLGenericFormElement.cpp: Removed include of Document.h since this is now in the header.
42130         * html/HTMLInputElement.cpp:
42131         (WebCore::HTMLInputElement::focus): Updated to check supportsFocus before calling setFocusNode, 
42132         and only requiring the element to be focusable now before updating focus appearance.
42133         (WebCore::HTMLInputElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
42134         * html/HTMLInputElement.h:
42136         * html/HTMLTextAreaElement.cpp:
42137         (WebCore::HTMLTextAreaElement::focus): Updated to check supportsFocus before calling setFocusNode, 
42138         and only requiring the element to be focusable now before updating focus appearance.
42139         (WebCore::HTMLTextAreaElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
42140         * html/HTMLTextAreaElement.h:
42142 2006-07-19  Justin Garcia  <justin.garcia@apple.com>
42144         Reviewed by levi
42145         
42146         <rdar://problem/4631972>
42147         REGRESSION: Mail crashes when pasting entire contents of http://www.apple.com/support/ into a new mail message
42149         * dom/Position.cpp:
42150         (WebCore::Position::upstream): Deployed isBlock and enclosingBlock.
42151         (WebCore::Position::downstream): Ditto.
42152         * editing/CompositeEditCommand.cpp:
42153         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Ditto.
42154         * editing/htmlediting.cpp:
42155         (WebCore::canHaveChildrenForEditing): Added !iframe.
42156         (WebCore::isBlock): Added, returns !node->renderer()->isInline()
42157         (WebCore::enclosingBlock): Added.
42158         * editing/htmlediting.h:
42160 2006-07-19  Anders Carlsson  <acarlsson@apple.com>
42162         Reviewed by Adele.
42164         <rdar://problem/4631272> REGRESSION: Crash tabbing out of hostname field at autorestore.apple.com
42165         
42166         * bridge/mac/FrameMac.mm:
42167         (WebCore::FrameMac::nextKeyViewInFrame):
42168         Take into account that focus handlers can cause a node's renderer to be destroyed.
42169         
42170 2006-07-19  David Hyatt  <hyatt@apple.com>
42172         Fix for 4638376.  The 1x1 solid color image optimization was broken when
42173         I re-architected image.  This patch restores the optimization for CG.  Cairo
42174         will still need the optimization.
42176         Reviewed by darin
42178         WARNING: NO TEST CASES ADDED OR CHANGED (need test cases still)
42180         * platform/Image.cpp:
42181         (WebCore::Image::Image):
42182         (WebCore::Image::invalidateData):
42183         (WebCore::Image::cacheFrame):
42184         * platform/Image.h:
42185         (WebCore::Image::setIsPDF):
42186         * platform/cairo/ImageCairo.cpp:
42187         (WebCore::Image::checkForSolidColor):
42188         * platform/mac/ImageMac.mm:
42189         (WebCore::Image::initNativeData):
42190         (WebCore::Image::invalidateNativeData):
42191         (WebCore::Image::checkForSolidColor):
42192         (WebCore::Image::draw):
42193         (WebCore::Image::drawTiled):
42195 2006-07-19  Justin Garcia  <justin.garcia@apple.com>
42197         Reviewed by levi
42198         
42199         <rdar://problem/4613519>
42200         REGRESSION: Pasting text in native text area inserts text one character before it should (9527)
42202         * editing/InsertParagraphSeparatorCommand.cpp:
42203         (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreakCommand instead of bailing
42204         if the enclosingBlockFlowElement doesn't have a parent.
42206 2006-07-19  David Harrison  <harrison@apple.com>
42208         Reviewed by Tim Hatcher.
42210         <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
42211         <rdar://problem/4062218> pasting in contents of web.apple.com strips off the <table> element from the first table
42212         
42213         Better patch than previous checkin.
42215         * test: editing/pasteboard/paste-table-003.html
42216         
42217         * editing/markup.cpp:
42218         (WebCore::createMarkup):
42219         Make sure to include the table when including a tbody.
42221 === Safari-521.19 ===
42223 2006-07-19  David Harrison  <harrison@apple.com>
42225         Reviewed by Tim Hatcher.
42227         <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
42229         No test case as this can only be reproduced through ObjC APIs.
42231         * editing/markup.cpp:
42232         (WebCore::createMarkup):
42233         Adjust the range for ancestor markup handling when main loop skips first node.
42235 2006-07-18  David Hyatt  <hyatt@apple.com>
42237         Fix for radar 4611287, make resizable text fields opt-in rather than
42238         opt-out.  Open source users will need to write the pref into their defaults
42239         to see the resizers on textareas now.
42241         Reviewed by mjs and adele
42243         * WebCore.xcodeproj/project.pbxproj:
42244         * bridge/mac/WebCoreSettings.mm:
42245         (-[WebCoreSettings setTextAreasAreResizable:]):
42246         * css/cssparser.cpp:
42247         (WebCore::CSSParser::parseValue):
42248         * css/cssstyleselector.cpp:
42249         (WebCore::CSSStyleSelector::applyProperty):
42250         * css/html4.css:
42252 2006-07-18  Anders Carlsson  <acarlsson@apple.com>
42254         Reviewed by Darin.
42256         http://bugs.webkit.org/show_bug.cgi?id=9959
42257         REGRESSION: iframes stop rendering after 200th one on successive reloads
42258         
42259         * html/HTMLFrameElement.cpp:
42260         (WebCore::HTMLFrameElement::attach):
42261         (WebCore::HTMLFrameElement::close):
42262         * html/HTMLIFrameElement.cpp:
42263         (WebCore::HTMLIFrameElement::insertedIntoDocument):
42264         (WebCore::HTMLIFrameElement::willRemove):
42265         Remove calls to incrementFrameCount and decrementFrameCount.
42266         
42267         * page/Frame.cpp:
42268         (WebCore::Frame::Frame):
42269         Call incrementFrameCount here.
42270         
42271         (WebCore::Frame::~Frame):
42272         Call disconnectOwnerElement.
42273         
42274         (WebCore::Frame::disconnectOwnerElement):
42275         Call decrementFrameCount here.
42276         
42277 2006-07-18  Alexey Proskuryakov  <ap@nypop.com>
42279         Reviewed by Darin.
42281         Fix http://bugs.webkit.org/show_bug.cgi?id=9013
42282         Let correct CSS custom cursor declarations parse
42284         * css/cssparser.cpp:
42285         (WebCore::CSSParser::parseValue): Ignore any values following a custom CSS cursor URI, instead of
42286         requiring that it is the only one in the list (which is actually illegal, according to the spec). 
42287         This is only a temporary hack, with a real implementation to follow in bug 6001/6002.
42289         * manual-tests/custom-cursors.html: Added a test for this issue.
42290         * manual-tests/resources/helpCursor.tiff: A cursor image used in the test.
42292 2006-07-18  Timothy Hatcher  <timothy@apple.com>
42294         Reviewed by Anders.
42295         
42296         <rdar://problem/4636216> NetNewsWire fails to launch on 9A224 - missing symbols
42297         
42298         WebCore needs to add -sub_library libobjc to maintain
42299         backwards compatibility with binaries linked with WebKit
42300         before JavaScriptCore moved out of WebKit.
42302         * WebCore.xcodeproj/project.pbxproj:
42304 2006-07-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
42306         Reviewed by Justin.
42308         - fix http://bugs.webkit.org/show_bug.cgi?id=9978
42309           REGRESSION (r12949-r12988): Clicking the first letter on a line places the caret at the end of the previous line
42311         Test: editing/selection/click-start-of-line.html
42313         * rendering/RenderText.cpp:
42314         (WebCore::RenderText::positionForCoordinates): Changed to return downstream
42315         affinity if the x coordinate is to the left of the middle of the first character
42316         in the text box.
42318 2006-07-18  Anders Carlsson  <acarlsson@apple.com>
42320         Reviewed by Darin.
42322         http://bugs.webkit.org/show_bug.cgi?id=9695
42323         <rdar://problem/4614085> 
42324         TOT REGRESSION: NativeTextArea: Text area does not respond to Cmd-UpArrow/Cmd-DownArrow (9695)
42325         
42326         * editing/SelectionController.cpp:
42327         (WebCore::SelectionController::modifyExtendingRightForward):
42328         (WebCore::SelectionController::modifyMovingRightForward):
42329         (WebCore::SelectionController::modifyExtendingLeftBackward):
42330         (WebCore::SelectionController::modifyMovingLeftBackward):
42331         If the caret is inside an editable region, the beginning/end of the document should actually be the
42332         beginning/end of the editable region.
42334 2006-07-17  Tim Omernick  <timo@apple.com>
42336         Reviewed by Maciej.
42338         <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
42339         by script
42341         * bridge/mac/WebCoreFrameBridge.h:
42342         * bridge/mac/WebCoreFrameBridge.mm:
42343         (-[WebCoreFrameBridge setProhibitsScrolling:]):
42344         * page/Frame.cpp:
42345         (WebCore::Frame::prohibitsScrolling):
42346         (WebCore::Frame::setProhibitsScrolling):
42347         * page/Frame.h:
42348         * page/FramePrivate.h:
42349         (WebCore::FramePrivate::FramePrivate):
42350         * page/FrameView.cpp:
42351         (WebCore::FrameView::scrollPointRecursively):
42352         (WebCore::FrameView::setContentsPos):
42353         * page/FrameView.h:
42354         * platform/ScrollView.h:
42356 2006-07-17  Maciej Stachowiak  <mjs@apple.com>
42358         Reviewed by Dave Harrison.
42359         
42360         - fixed <rdar://problem/4618089> Blot crashes when I paste in all the contents of http://www.apple.com/startpage/
42362         * editing/htmlediting.cpp:
42363         (WebCore::editingIgnoresContent):
42365 2006-07-17  Justin Garcia  <justin.garcia@apple.com>
42367         Reviewed by levi
42368         
42369         <rdar://problem/4621728>
42370         REGRESSION: Selecting by dragging down creates selection in wrong direction, with certain steps
42371         <rdar://problem/4604932>
42372         REGRESSION: Dragging too far left on a line will select all lines above it.
42374         No layout test because of 9980.
42376         * rendering/RenderBlock.cpp:
42377         (WebCore::RenderBlock::positionForCoordinates): Don't return positions inside editable roots
42378         for coordinates outside those roots, except for coordinates outside a document that is entirely 
42379         editable.
42381 2006-07-17  Timothy Hatcher  <timothy@apple.com>
42383         Reviewed by Darin.
42385         <rdar://problem/4635281> JSCanvasRenderingContext2D::drawImage needs to initialize the exception code to zero
42387         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
42388         (WebCore::JSCanvasRenderingContext2D::drawImage): initialize ec to zero
42389         * html/CanvasRenderingContext2D.cpp:
42390         (WebCore::CanvasRenderingContext2D::drawImage): initialize ec before earlier return
42392 2006-07-17  Timothy Hatcher  <timothy@apple.com>
42394         Reviewed by Maciej.
42396         <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
42398         Moves WebScriptObject and WebUndefined to WebCore.
42400         * WebCore.exp:
42401         * WebCore.xcodeproj/project.pbxproj:
42402         * bindings/objc/DOM.mm:
42403         * bindings/objc/DOMCore.h:
42404         * bindings/objc/DOMInternal.mm:
42405         * bindings/objc/DOMUtility.mm:
42406         * bindings/objc/WebScriptObject.mm: Added.
42407         (+[WebUndefined allocWithZone:]):
42408         (-[WebUndefined initWithCoder:]):
42409         (-[WebUndefined encodeWithCoder:]):
42410         (-[WebUndefined copyWithZone:]):
42411         * bindings/objc/WebScriptObjectPrivate.h: Added.
42412         * bridge/mac/FrameMac.mm:
42413         * bridge/mac/WebCoreScriptDebugger.mm:
42415 2006-07-17  David Hyatt  <hyatt@apple.com>
42417         Back out the fix for 5564, since it turns out font:x-small; is a pretty
42418         prominent IE-specific CSS hack.  Because Web sites rely on IE's incorrect
42419         font parsing as a means of also correcting IE's incorrect font size rules.
42421         This fixes Yahoo.com.
42423         Reviewed by darin
42425         * css/cssparser.cpp:
42426         (WebCore::CSSParser::parseFont):
42428 2006-07-17  Justin Garcia  <justin.garcia@apple.com>
42430         Reviewed by levi
42431         
42432         <rdar://problem/4618389> REGRESSION: After applying a link to the last word of a sentence, a new selection is created at the start of the sentence
42433         
42434         * dom/Document.cpp:
42435         (WebCore::Document::updateSelection):
42437 2006-07-17  Maciej Stachowiak  <mjs@apple.com>
42439         Reviewed by Beth.
42440         
42441         <rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard
42443         * html/HTMLInputElement.cpp:
42444         (WebCore::HTMLInputElement::setChecked):
42445         (WebCore::HTMLInputElement::preDispatchEventHandler):
42446         * html/HTMLInputElement.h:
42448 2006-07-16  David Kilzer  <ddkilzer@kilzer.net>
42450         Reviewed by Darin.
42452         - fix for http://bugs.webkit.org/show_bug.cgi?id=9954
42453           REGRESSION: document.dir should return empty string in <head>
42455         Test: fast/dom/document-dir-property.html
42457         * bindings/js/kjs_html.cpp:
42458         (KJS::JSHTMLDocument::getValueProperty): Return an empty string instead of an
42459         undefined value for an unset document.dir property.
42461 2006-07-16  David Kilzer  <ddkilzer@kilzer.net>
42463         Reviewed by Darin.
42465         * dom/NodeFilter.idl:
42466         Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
42467         * manual-tests/input-empty-on-focus.html:
42468         Removed "Property changes" that snuck in as part of the "apply patch" process.
42470 2006-07-16  Darin Adler  <darin@apple.com>
42472         Reviewed by John Sullivan.
42474         - fix http://bugs.webkit.org/show_bug.cgi?id=9943
42475           <rdar://problem/4590613>
42476           REGRESSION (Tiger-TOT): menus are offset to the right at http://movies.aol.com/movie-photo-bts/superman-returns
42478         The problem turns out to be the fact that body.offsetLeft is returning a non-zero value.
42479         I have no idea why the menus worked in Tiger Safari, because body.offsetLeft behavior has not changed.
42480         Presumably some other bug that we fixed had been compensating.
42482         Test: fast/html/body-offset-properties.html
42484         * rendering/RenderObject.cpp:
42485         (WebCore::RenderObject::offsetLeft): Always return 0 for any object without an offsetParent.
42486         (WebCore::RenderObject::offsetTop): Ditto.
42487         (WebCore::RenderObject::offsetParent): Return 0 for the body (treat as a special case).
42489 2006-07-16  Beth Dakin  <bdakin@apple.com>
42491         Reviewed by Maciej.
42493         Fix for <rdar://problem/4616595> REGRESSION: Problems with world 
42494         clock widget clock hand motion on 9A211 + 4604574
42496         The second hand on the widget was jiggling because the rotation was 
42497         messing up the use of the affine transformation matrix while 
42498         rounding to pixel boundaries in device space. We are mainly 
42499         concerned with rounding to pixel boundaries with the scale in mind, 
42500         so this patch extracts the scale to device space from the matrix, 
42501         and rounds to pixel boundaries using only the scale. This doesn't 
42502         seem like it is a perfect solution, but it definitely solves the 
42503         immediate problem. We will probably need to re-address what should 
42504         happen to avoid pixel cracks with rotations at non-integral scale 
42505         factors. 
42507         * platform/cg/GraphicsContextCG.cpp:
42508         (WebCore::GraphicsContext::roundToDevicePixels):
42510 2006-07-15  Darin Adler  <darin@apple.com>
42512         - fix mistake from fix for 8952 that was breaking layout tests
42514         * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
42515         Justin was right! I changed the behavior of the function by accident. Changed it
42516         back so that it doesn't blow away the selection on the DOM side in the case where
42517         it didn't before.
42519         I will write 100 times on the blackboard: "When Justin says something about editing,
42520         assume he is right."
42522 2006-07-15  Darin Adler  <darin@apple.com>
42524         - try to fix Windows build
42526         * WebCore.vcproj/WebCore/WebCore.vcproj: Added StreamingTextDecoderICU.cpp/h.
42528 2006-07-15  Darin Adler  <darin@apple.com>
42530         Reviewed by John Sullivan.
42532         - fix http://bugs.webkit.org/show_bug.cgi?id=8952
42533           <rdar://problem/4575185>
42534           REGRESSION: crash on drag of highlighted Google custom home page modules
42536         Test: fast/dynamic/move-node-with-selection.html
42538         * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
42539         Call updateRendering before calling clearSelection(), since it's important to do any
42540         work beforehand, and there are calls inside clearSelection that will indirectly do an
42541         updateRendering. Also change code to make fewer assumptions about object lifetime.
42543 2006-07-15  Darin Adler  <darin@apple.com>
42545         Reviewed by John Sullivan.
42547         - fix http://bugs.webkit.org/show_bug.cgi?id=8587
42548           <rdar://problem/4631844>
42549           REGRESSION: {display:list-item} on items outside an ol or ul element no longer causes incremental numbering
42551         Test: fast/lists/numeric-markers-outside-list.html
42553         * rendering/RenderListItem.cpp: (WebCore::previousListItem):
42554         Look for list items, even when we're outside any list.
42556 2006-07-15  Adele Peterson  <adele@apple.com>
42558         Reviewed by John.
42560         - Fix for <rdar://problem/4593970> REGRESSION (NativeTextField): autofill menu disappears after typing a 2nd character
42562         This was caused by composite editing commands, (like typing or pasting) that include a DeleteCommand, being
42563         interpreted by the form delegate as an actual delete.  This fix doesn't notify the form delegate if the deletion is
42564         part of an editing command to replace the selected text.
42566         * editing/DeleteSelectionCommand.h: Added m_replace to keep track of whether this deletion is 
42567           part of a composite command to replace the text being deleted.
42568         * editing/DeleteSelectionCommand.cpp:
42569         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize m_replace.
42570         (WebCore::DeleteSelectionCommand::doApply): Only notify the form delegate of the deletion if the text is not being replaced.
42571         * editing/CompositeEditCommand.h:
42572         * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteSelection): 
42573           Added replace argument to construct DeleteSelectionCommand.
42574           
42575         * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Call deleteSelection with replace argument.
42576         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): ditto.
42578 2006-07-15  Geoffrey Garen  <ggaren@apple.com>
42580         Reviewed by Maciej, tweaked to match Darin's patch.
42581         
42582         - Fixed <rdar://problem/4631837> REGRESSION: Reproducible crash on 
42583         FCKeditor demo (9911)
42584         
42585         * WebCore.xcodeproj/project.pbxproj:
42586         * bindings/js/kjs_html.cpp:
42587         (KJS::JSHTMLDocument::putValueProperty): Check for a null body element before
42588         forwarding the put request to it. I confirmed that no other parts of the 
42589         file use 'body' or 'bodyElement' without checking for null. 
42590         
42591         Also, use 'body' rather than 'bodyElement' because dir can bet set on 
42592         any element, not just HTMLBodyElement.
42594 2006-07-15  Darin Adler  <darin@apple.com>
42596         Reviewed by Adele.
42598         - fix http://bugs.webkit.org/show_bug.cgi?id=8871
42599           <rdar://problem/4575417>
42600           REGRESSION: Pressing Enter/Return in a text input removes the selected text
42602         - fix http://bugs.webkit.org/show_bug.cgi?id=9743
42603           <rdar://problem/4614228>
42604           REGRESSION: crash dispatching JavaScript-created keyboard event to input element
42606         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::doTextFieldCommandFromEvent):
42607         Add a null check to fix the crash, and a FIXME explaining why this is not necessarily
42608         enough for the future.
42610         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
42611         Consume Enter key keypress events even if the element is not in a form.
42613         * platform/mac/KeyEventMac.mm: (WebCore::keyIdentifierForKeyEvent): Added \n to the
42614         characters that turn into "Enter". Actual keyboard events always are \r or \003 on
42615         the Macintosh, but in layout tests we can use \n, and everything other than the
42616         code path here works, so worth fixing.
42618 2006-07-15  Darin Adler  <darin@apple.com>
42620         Reviewed by John Sullivan.
42622         - fix http://bugs.webkit.org/show_bug.cgi?id=9883
42623           <rdar://problem/4631821>
42624           REGRESSION: NativePopups don't work correctly in some forum software
42626         Test: fast/forms/select-selected.html
42628         * rendering/RenderMenuList.h:
42629         * rendering/RenderMenuList.cpp:
42630         (WebCore::RenderMenuList::updateFromElement): Added code to map the selected option
42631         index to a list index before using it to index into the list.
42632         (WebCore::RenderMenuList::showPopup): Added code to map the selection option index
42633         to a list index before passing it to the menu renderer.
42634         (WebCore::RenderMenuList::valueChanged): Added code to map the list index back to a
42635         option index before calling setSelectedIndex (that function takes an option index).
42637 2006-07-15  Darin Adler  <darin@apple.com>
42639         Reviewed by John Sullivan.
42641         - fix http://bugs.webkit.org/show_bug.cgi?id=9928
42642           REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
42644         * bindings/objc/DOM.mm:
42645         (-[DOMNode addEventListener:::]): Moved into DOMEventTarget category.
42646         (-[DOMNode removeEventListener:::]): Ditto.
42647         (-[DOMNode dispatchEvent:]): Ditto.
42649         * WebCore.xcodeproj/project.pbxproj: Allow Xcode to do its thing.
42651 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
42653         Reviewed by Anders.
42655         <rdar://problem/4632144> REGRESSION: table column tests failing as a result of very recent fix
42657         * rendering/RenderTable.cpp:
42658         (WebCore::RenderTable::addChild): columns and colgroups are valid children of a table too, not
42659         just table sections!
42661 2006-07-15  Anders Carlsson  <acarlsson@apple.com>
42663         Reviewed by Darin.
42665         http://bugs.webkit.org/show_bug.cgi?id=9866
42666         <rdar://problem/4631561>
42667         REGRESSION: Repro crash from mangleme using iframe, only from server.
42668         
42669         * html/HTMLIFrameElement.cpp:
42670         (WebCore::HTMLIFrameElement::attach):
42671         Add null check for contentFrame() since content frames won't be created for invalid URLs.        
42673 2006-07-14  Alexey Proskuryakov  <ap@nypop.com>
42675         Reviewed by Darin.
42677         Fix http://bugs.webkit.org/show_bug.cgi?id=4195
42678         REGRESSION: KOI8-U encoding no longer supported.
42680         Tests:
42681         * http/tests/misc/BOM-override.pl
42682         * http/tests/misc/BOM-override-script.html
42683         * fast/encoding/charset-koi8-u.html
42684         * fast/encoding/charset-x-nextstep.html
42686         Restored a TEC code path for encodings that are not supported by ICU (but which currently
42687         passes all layout tests even by itself with ICU disabled). A lot of refactoring is 
42688         still needed - most importantly, round-tripping encoding names via CFStringEncoding 
42689         makes little sense now.
42691         * WebCore.exp:
42692         * bridge/mac/WebCoreTextDecoder.h: Removed.
42693         * bridge/mac/WebCoreTextDecoder.mm: Removed.
42694         WebCoreTextDecoder was not used anywhere since WebTextView was moved into WebCore.
42696         * loader/Decoder.cpp:
42697         (Decoder::Decoder):
42698         (Decoder::setEncodingName):
42699         (Decoder::decode):
42700         Use StreamingTextDecoder::create().
42702         * platform/StreamingTextDecoder.cpp:
42703         (WebCore::StreamingTextDecoder::create):
42704         (WebCore::StreamingTextDecoder::~StreamingTextDecoder):
42705         * platform/StreamingTextDecoder.h:
42706         StreamingTextDecoder is just an abstract interface to implementations now.
42708         * platform/StreamingTextDecoderICU.cpp: Added.
42709         (WebCore::StreamingTextDecoderICU::StreamingTextDecoderICU):
42710         (WebCore::StreamingTextDecoderICU::~StreamingTextDecoderICU):
42711         (WebCore::StreamingTextDecoderICU::releaseICUConverter):
42712         (WebCore::StreamingTextDecoderICU::textEncodingSupported):
42713         (WebCore::StreamingTextDecoderICU::convertUTF16):
42714         (WebCore::StreamingTextDecoderICU::convertIfASCII):
42715         (WebCore::StreamingTextDecoderICU::createICUConverter):
42716         (WebCore::StreamingTextDecoderICU::appendOmittingBOM):
42717         (WebCore::StreamingTextDecoderICU::convertUsingICU):
42718         (WebCore::StreamingTextDecoderICU::convert):
42719         (WebCore::StreamingTextDecoderICU::toUnicode):
42720         (WebCore::StreamingTextDecoderICU::fromUnicode):
42721         * platform/StreamingTextDecoderICU.h: Added.
42722         Renamed from StreamingTextDecoder; added a way to tell whether the encoding is actually
42723         supported by the decoder; minor cleanup.
42725         * platform/TextEncoding.cpp:
42726         (WebCore::TextEncoding::effectiveEncoding): Moved from StreamingTextDecoder.
42727         (WebCore::TextEncoding::toUnicode): Use StreamingTextDecoder::create().
42728         (WebCore::TextEncoding::fromUnicode): Moved to StreamingTextDecoderICU.
42729         
42730         * platform/TextEncoding.h: Changed __APPLE__ to PLATFORM(MAC); added effectiveEncoding().
42732         * platform/mac/StreamingTextDecoderMac.cpp: Added.
42733         (WebCore::StreamingTextDecoderMac::StreamingTextDecoderMac):
42734         (WebCore::StreamingTextDecoderMac::~StreamingTextDecoderMac):
42735         (WebCore::StreamingTextDecoderMac::releaseTECConverter):
42736         (WebCore::StreamingTextDecoderMac::textEncodingSupported):
42737         (WebCore::StreamingTextDecoderMac::convertUTF16):
42738         (WebCore::StreamingTextDecoderMac::convertIfASCII):
42739         (WebCore::StreamingTextDecoderMac::createTECConverter):
42740         (WebCore::StreamingTextDecoderMac::appendOmittingBOM):
42741         (WebCore::StreamingTextDecoderMac::convertOneChunkUsingTEC):
42742         (WebCore::StreamingTextDecoderMac::convertUsingTEC):
42743         (WebCore::StreamingTextDecoderMac::convert):
42744         (WebCore::StreamingTextDecoderMac::toUnicode):
42745         (WebCore::StreamingTextDecoderMac::fromUnicode):
42746         * platform/mac/StreamingTextDecoderMac.h: Added.
42747         (WebCore::StreamingTextDecoderMac::convert):
42748         This is a TEC+CFString code path for decoding, basically restored from a year-old revision.
42750         * platform/mac/TextEncodingMac.cpp: Removed. Code moved to StreamingTextDecoderMac.
42752         * WebCore.xcodeproj/project.pbxproj:
42754 === Safari-521.17 ===
42756 2006-07-14  Timothy Hatcher  <timothy@apple.com>
42758         <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
42760         Made a DOMNode category in DOMEvents.h that lets DOMNode conform to the
42761         DOMEventTarget protocol that works with GCC 5412.
42763         Removed forward declarations of WebCoreWidgetHolder and imported WebCoreWidgetHolder.h.
42765         Removed all <Cocoa/Cocoa.h> and <Foundation/Foundation.h> imports in other headers,
42766         we import <Cocoa/Cocoa.h> in the prefix header for ObjC.
42768         * WebCore.xcodeproj/project.pbxproj:
42769         * bindings/objc/DOMCore.h:
42770         * bindings/objc/DOMEvents.h:
42771         * bridge/mac/FormDataMac.h:
42772         * bridge/mac/WebCoreAXObject.h:
42773         * bridge/mac/WebCoreCache.h:
42774         * bridge/mac/WebCoreEncodings.h:
42775         * bridge/mac/WebCoreFrameBridge.h:
42776         * bridge/mac/WebCoreFrameNamespaces.h:
42777         * bridge/mac/WebCoreJavaScript.h:
42778         * bridge/mac/WebCorePageBridge.h:
42779         * bridge/mac/WebCorePageState.h:
42780         * bridge/mac/WebCoreResourceLoader.h:
42781         * bridge/mac/WebCoreScriptDebugger.h:
42782         * bridge/mac/WebCoreSettings.h:
42783         * bridge/mac/WebCoreStringTruncator.h:
42784         * bridge/mac/WebCoreStringTruncator.mm:
42785         * bridge/mac/WebCoreTextDecoder.h:
42786         * bridge/mac/WebDashboardRegion.h:
42787         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
42788         * platform/mac/CookieJar.mm:
42789         * platform/mac/DeprecatedStringMac.mm:
42790         * platform/mac/FontDataMac.mm:
42791         * platform/mac/FoundationExtras.h:
42792         * platform/mac/TextBoundaries.mm:
42793         * platform/mac/WebCoreHistory.h:
42794         * platform/mac/WebCoreHistory.m:
42795         * platform/mac/WebCoreKeyGenerator.h:
42796         * platform/mac/WebCoreTextArea.h:
42797         * platform/mac/WebCoreTextField.h:
42798         * platform/mac/WebCoreTextRenderer.h:
42799         * platform/mac/WebCoreView.h:
42800         * platform/mac/WebCoreWidgetHolder.h:
42802 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
42804         Reviewed by Maciej.
42806         - Updated ScriptInterpreter to work with Interpreter ref-counting in 
42807         JavaScriptCore.
42809         (KJS::ScriptInterpreter::~ScriptInterpreter): Now protected to catch
42810         manual delete.
42812 2006-07-14  Anders Carlsson  <acarlsson@apple.com>
42814         Reviewed by Adele and Justin.
42816         http://bugs.webkit.org/show_bug.cgi?id=9658
42817         <rdar://problem/4613948>
42818         REGRESSION: Check Spelling does not work in textarea elements
42819         
42820         * bridge/mac/FrameMac.mm:
42821         (WebCore::FrameMac::advanceToNextMisspelling):
42822         Don't use setStartBefore or setEndAfter on the search range because for shadow trees, there
42823         is no notion of before and after. Instead, use setStart and setEnd and pass in the start and end
42824         indices respectively.
42825         
42826         * dom/Range.cpp:
42827         (WebCore::Range::checkNodeBA):
42828         Allow range operations on shadow trees.
42830         * manual-tests/form-element-spelling.html: Added.
42832 2006-07-14  Beth Dakin  <bdakin@apple.com>
42834         Reviewed by Hyatt.
42836         Fix for <rdar://problem/4621660> REGRESSION: Safari crashing in 
42837         WebCore::FrameView::updateOverflowStatus
42839         m_viewportRenderer is never initialized for framesets, and it 
42840         shouldn't be. So we just need to nil-check for it in 
42841         updateOverflowStatus() and return early.
42843         * page/FrameView.cpp:
42844         (WebCore::FrameView::updateOverflowStatus): Nil check.
42846 2006-07-14  Adele Peterson  <adele@apple.com>
42848         RS by Darin.
42850         Backing out fix for <rdar://problem/4604703> 
42851         REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field
42853         Darin had a better fix in WebKit for this.
42855         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
42857 2006-07-14  Adele Peterson  <adele@apple.com>
42859         Reviewed by Darin.
42861         - Fix for <rdar://problem/4614054> REGRESSION: Safari submits forms when the Return key is hit to complete inline inputs
42863         * page/Frame.h: (WebCore::Frame::inputManagerHasMarkedText): Added.
42864         * bridge/mac/FrameMac.h: ditto.
42865         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::inputManagerHasMarkedText): Added. Asks the input manager if there's marked text.
42866         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): For text fields, don't submit the form on Enter
42867         if the input manager says there's marked text.  I added this code for all text field paths.  For widgets, WebCoreTextField.mm
42868         has code to deal with this case.  But as we convert search, password, and isindex, they will need to do this check too.
42870 2006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
42872         Reviewed by Darin.
42874         - fix http://bugs.webkit.org/show_bug.cgi?id=9907
42875           REGRESSION (r15418): editing/pasteboard/paste-table-001 fails in pixel  mode
42877         * rendering/RenderText.cpp:
42878         (WebCore::RenderText::caretRect): Fixed the calculation of the max/min allowed caret
42879         position.
42881 2006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
42883         Reviewed by Darin.
42885         - fix http://bugs.webkit.org/show_bug.cgi?id=9905
42886           REGRESSION (r15404-r15415): Repro crash when pressing delete in an empty editable div
42888         Test: editing/deleting/delete-at-start-or-end.html
42890         * editing/TypingCommand.cpp:
42891         (WebCore::TypingCommand::deleteKeyPressed): Added null check.
42892         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
42894 2006-07-14  David Kilzer  <ddkilzer@kilzer.net>
42896         Reviewed by Geoffrey.
42898         - fix http://bugs.webkit.org/show_bug.cgi?id=9903
42899           Simplify logic in JSHTMLOptionsCollection::setLength() by using no-arg getNumber()
42901         No test cases since there is no change in functionality.
42903         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
42904         (WebCore::JSHTMLOptionsCollection::setLength):  Simplified logic by using the
42905         no-argument getNumber() method.
42907 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
42909         Reviewed by Adele.
42911         - Build fix: don't need BLOCK_OBJC_EXCEPTIONS because we already have
42912         one surrounding this function, and the nested one makes the compiler
42913         think our local variable is volatile (seems like a compiler bug to me).
42914         
42915         * bridge/mac/FrameMac.mm:
42916         (WebCore::FrameMac::sendContextMenuEvent):
42918 2006-07-14  Timothy Hatcher  <timothy@apple.com>
42920         Reviewed by Maciej.
42922         Make JavaScriptCore a public framework. Adjusted the paths.
42924         * WebCore.xcodeproj/project.pbxproj:
42926 2006-07-14  Maciej Stachowiak  <mjs@apple.com>
42928         Reviewed by Hyatt.
42930         - fixed <rdar://problem/4567031> REGRESSION: Crash at WebCore::RenderBlock::createLineBoxes (seems to be a security hole?)
42931         
42932         I also fixed all the similar crash / assertion failure cases I could think of.
42934         * dom/Node.cpp:
42935         (WebCore::Node::nextRendererWithSameParent): Helper function for some of the above.
42936         * dom/Node.h:
42937         * rendering/RenderTable.cpp:
42938         (WebCore::RenderTable::addChild): Don't allow inserting forms when not in
42939         an HTML document, since we don't need that quirk and because parsing won't
42940         do certain render tree fixups. Also watch out for case when inserting before
42941         the renderer of a misnested child.
42942         * rendering/RenderTableRow.cpp:
42943         (WebCore::RenderTableRow::addChild): ditto
42944         * rendering/RenderTableSection.cpp:
42945         (WebCore::RenderTableSection::addChild): ditto
42947 2006-07-13  Adele Peterson  <adele@apple.com>
42949         Reviewed by Maciej.
42951         - Fix for <rdar://problem/4604703> 
42952         REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field
42954         Test:
42955         * manual-tests/password-ctrl-click-lose-focus.html: Added.
42957         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
42958         If we're about to set a selection in the current view, make sure its the first responder.
42959         In this case, this will cause the password field to resign first responder at the right time.
42961 2006-07-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
42963         Reviewed by Hyatt.
42965         - fix http://bugs.webkit.org/show_bug.cgi?id=9670
42966           REGRESSION: RTL white-space:pre-wrap text is offset to the right
42968         Test: fast/text/international/rtl-white-space-pre-wrap.html
42970         * rendering/RenderText.cpp:
42971         (WebCore::RenderText::caretRect): Fixed LTR case and added the RTL case
42972         of clipping the caret position to the text box when the caret is after
42973         the trailing space of an autowrapped line.
42974         * rendering/bidi.cpp:
42975         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to truncate-
42976         to-fit the logically last text box if it contains the trailing spaces of an
42977         autowrapped line. 
42978         (WebCore::RenderBlock::bidiReorderLine): Remember the logically last text run.
42979         In the case of autowrapped text with white space that overflows beyond the line,
42980         the last text run is the one containing the overflowing white space.
42981         (WebCore::RenderBlock::findNextLineBreak): Split overflowing white space on a
42982         line that autowraps only after white space into a separate text run.
42984 2006-07-13  David Harrison  <harrison@apple.com>
42986         Reviewed by Dave Hyatt.
42988         <rdar://problem/4624203> -webkit-highlight should be behind images
42990         * rendering/RenderImage.cpp:
42991         (WebCore::RenderImage::paint):
42992         * rendering/RenderListMarker.cpp:
42993         (WebCore::RenderListMarker::paint):
42994         * rendering/RenderWidget.cpp:
42995         (WebCore::RenderWidget::paint):
42996         Call custom highlighter before painting the image, marker, or widget.
42998 2006-07-13  David Harrison  <harrison@apple.com>
43000         Reviewed by Justin and Levi.
43002         <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
43004         * Tests:
43005         editing/deleting/delete-by-word-001.html
43006         editing/deleting/delete-by-word-002.html
43008         * editing/TypingCommand.cpp:
43009         (WebCore::TypingCommand::deleteKeyPressed):
43010         (WebCore::TypingCommand::forwardDeleteKeyPressed):
43011         (WebCore::TypingCommand::doApply):
43012         * editing/TypingCommand.h:
43013         Delete and forward delete to use specified granularity.
43014         Undo of delete and forward delete to select what had been deleted (non-char granularity only).
43015         
43016         * page/Frame.cpp:
43017         (WebCore::Frame::setSelection):
43018         Close typing and end style even if selection is not changing.
43019         * page/Frame.h:
43020         Remove unused setSelection parameter keepTypingStyle.
43022 2006-07-12  Levi Weintraub  <lweintraub@apple.com>
43024         Reviewed by justin
43026         <rdar://problem/4622763> Deleting from beginning of paragraph following a table deletes rather than selects the table
43028         * editing/DeleteSelectionCommand.cpp:
43029         (WebCore::DeleteSelectionCommand::initializeStartEnd): Added selection expansion for HRs.
43030         (WebCore::DeleteSelectionCommand::initializePositionData): Now uses enclosingBlockFlowOrTableElement
43031         instead of enclosingBlockFlowElement.
43032         (WebCore::DeleteSelectionCommand::removeNode): Use to identify that we need a placeholder
43033         when the start or end block is removed.
43034         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Added check for canHaveChildrenForEditing
43035         to keep things like HRs from being given children.
43036         (WebCore::DeleteSelectionCommand::doApply): Switched to use member variable for needPlaceholder.
43037         * editing/DeleteSelectionCommand.h: Made needPlaceholder a member variable.
43038         * editing/TypingCommand.cpp:
43039         (WebCore::TypingCommand::deleteKeyPressed): Fixed selection bug for tables and open typing commands.
43040         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
43041         * editing/htmlediting.cpp:
43042         (WebCore::editingIgnoresContent): Added check for HRs, since it's not considered a widget.
43043         * editing/visible_units.cpp:
43044         (WebCore::startOfParagraph): Fix for HRs and tables.
43045         (WebCore::endOfParagraph): Ditto.
43047 2006-07-13  Alexey Proskuryakov  <ap@nypop.com>
43049         Reviewed by Darin.
43051         - fix http://bugs.webkit.org/show_bug.cgi?id=9880
43052           Memory leaks running DOM-Hanoi
43054         No change in behavior, thus no test included.
43056         * bridge/mac/FrameMac.mm:
43057         (WebCore::FrameMac::setStatusBarText): Use a local autorelease pool to release the temporaries - 
43058         the test runs non-stop, and the enclosing pool doesn't get a chance to be drained.
43060 2006-07-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
43062         Reviewed by Adele.
43064         - fix http://bugs.webkit.org/show_bug.cgi?id=9862
43065           REGRESSION: GMail: Crash in RenderView::repaintViewRectangle when spoofing as FF
43066         - see also <rdar://problem/4622407>
43068         Test: fast/frames/repaint-display-none-crash.html
43070         * rendering/RenderView.cpp:
43071         (WebCore::RenderView::repaintViewRectangle): Added null checking of the owner element's
43072         renderer, which can be null if the iframe is set to display:none.
43074 2006-07-12  Justin Garcia  <justin.garcia@apple.com>
43076         Reviewed by levi
43077         
43078         <rdar://problem/4509393>
43079         selected DOM range starts with <object>, 0 offset but selection should include the <object>
43081         * editing/ReplaceSelectionCommand.cpp:
43082         (WebCore::ReplaceSelectionCommand::shouldMergeStart): 
43083         Don't pull content out of a table cell.
43084         * editing/htmlediting.cpp:
43085         (WebCore::editingIgnoresContent): Added <select> nodes.
43086         (WebCore::rangeCompliantEquivalent): Convert [node, 0] positions to positionBeforeNode(node)
43087         for more types of nodes.
43088         * rendering/RenderContainer.cpp:
43089         (WebCore::RenderContainer::positionForCoordinates): 
43090         Fix a crasher when right clicking on an anonymous table.
43092 2006-07-12  John Sullivan  <sullivan@apple.com>
43094         Reviewed by Brady Eidson
43095         
43096         - fixed <rdar://problem/4611164> REGRESSION: Crash occurs when undoing a series of 
43097         misspelled words (WebCore::RenderObject::repaint(bool)
43099         * dom/Document.cpp:
43100         (WebCore::Document::removeMarkers):
43101         put (it - markers.begin()) in a local variable before altering markers, in every case where this was
43102         happening. One of the cases like this was fixed a while back, but other cases were
43103         either missed at that time or crept in since. 
43105 2006-07-13  Anders Carlsson  <acarlsson@apple.com>
43107         Reviewed by Justin.
43109         http://bugs.webkit.org/show_bug.cgi?id=9663
43110         REGRESSION (r14948-r14956): Selection in text field remains highlighted when the text field loses focus
43111         
43112         * dom/Document.cpp:
43113         (WebCore::Document::updateSelection):
43114         Don't return early if the selection is empty.
43116 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
43118         Reviewed by Adele.
43120         <rdar://problem/4614656> REGRESSION: onpaste() handlers don't run for textarea elements
43121         
43122         * bridge/mac/FrameMac.mm:
43123         (WebCore::FrameMac::dispatchCPPEvent):
43124         If the element is a shadow node, dispatch the event to its real parent.
43126         * manual-tests/textarea-onpaste.html: Added.
43128 2006-07-12  Beth Dakin  <bdakin@apple.com>
43130         Reviewed by Anders.
43132         Fix for layout test regressions after my check-in last night. Just 
43133         a silly mistake where I should have asked if we were NOT printing 
43134         instead of if we were in the listbox code.
43136         * WebCore.xcodeproj/project.pbxproj: Project file wars. Back to 
43137         XCode 2.3
43138         * platform/mac/ListBoxMac.mm:
43139         (itemTextRenderer): Inverted check.
43140         (groupLabelTextRenderer): Inverted check.
43142 2006-07-12  Darin Adler  <darin@apple.com>
43144         Reviewed by Maciej.
43146         - fix http://bugs.webkit.org/show_bug.cgi?id=9806
43147           <rdar://problem/4622622>
43148           REGRESSION: Large rowspan causes WebKit to call abort()
43150         Test: fast/table/large-rowspan-crash.html
43152         * rendering/RenderTableSection.cpp:
43153         (WebCore::RenderTableSection::ensureRows):
43154         Use sizeof(RowStruct) instead of sizeof(int).
43155         Clearly we'll need something better to solve this completely.
43156         I expect another smaller, but still huge, value will still cause a problem.
43158 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
43160         Reviewed by Maciej.
43162         <rdar://problem/4586665> REGRESSION: autorestore.apple.com: Crashes Safari in WebCore::Widget::client() const
43164         * bridge/mac/FrameMac.h:
43165         Add focusCallResultedInViewBeingCreated argument. 
43166         
43167         * bridge/mac/FrameMac.mm:
43168         (WebCore::FrameMac::nextKeyViewInFrame):
43169         If the call to focus() caused the node to get a native widget, set focusCallResultedInViewBeingCreated to true.
43170         
43171         (WebCore::FrameMac::nextKeyViewInFrameHierarchy):
43172         Don't reset the focus node if focusCallResultedInViewBeingCreated is true. Also, add magic to prevent setting
43173         a text field as the first responder if its field editor already is the current first responder.
43174         
43175         * page/FrameView.cpp:
43176         (WebCore::FrameView::handleMousePressEvent):
43177         In some cases, get the event target node again after dispatching the mouse event.
43179 2006-07-12  Beth Dakin  <bdakin@apple.com>
43181         Reviewed by Adele.
43183         Fix for <rdar://problem/4615765> Input[type='search' fields 
43184         initially render too large in Widgets
43186         Fundamentally, the problem here is that we were miscalculating 
43187         things because [NSGraphicsContext currentContextDrawingToScreen] 
43188         was evaluating to false when widgets first load. We only ever used 
43189         this check, however, to determine if we were printing or not, so it 
43190         should not have evaluated to false for loading in Dashbaord. 
43191         Instead, if we query the RenderView about whether or not we are 
43192         printing, we will get the right answer.
43194         No test case added since this appears only to affect Dashboard.
43196         * bridge/mac/WebCoreFrameBridge.mm:
43197         (-[WebCoreFrameBridge drawRect:]): Ask the RenderView if we are 
43198         printing instead. This is not part of the actual bug fix, but it 
43199         seems wise to get rid of all calls to [NSGraphicsContext 
43200         currentContextDrawingToScreen] when we are just trying to determine 
43201         if we are printing or not.
43202         * platform/mac/ListBoxMac.mm:
43203         (itemTextRenderer):This function now takes a boolean, isPrinting.
43204         (groupLabelTextRenderer): Same as above.
43205         (ListBox::sizeForNumberOfLines): Ask the RenderView if we are 
43206         printing.
43207         (-[WebCoreTableView drawRow:clipRect:]): Same as above.
43208         * platform/mac/PopUpButtonMac.mm:
43209         (PopUpButton::sizeHint): Same as above.
43210         * platform/mac/TextFieldMac.mm:
43211         (-[NSSearchFieldCell _addStringToRecentSearches:]):
43212         * rendering/RenderLineEdit.cpp: Same as above.
43214 2006-07-12  Adele Peterson  <adele@apple.com>
43216         Reviewed by Maciej.
43218         Fix for: http://bugs.webkit.org/show_bug.cgi?id=9813
43219         OPTION text can paint over select element's scrollbar
43221         Test: fast/forms/option-text-clip.html
43223         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::paintObject):
43224         When calculating the clip to apply to the button text, also consider padding.
43225         In the future, we may have separate renderers for the text part, and the arrow part
43226         of the control, and then the separation should be natural.  For now, we use padding.
43228 2006-07-11  David Kilzer  <ddkilzer@kilzer.net>
43230         Windows build fix.  Reviewed by NOBODY.
43232         * WebCore.vcproj/WebCore/WebCore.vcproj:  Added JSHTMLOptionsCollection.cpp/h
43233         and JSHTMLOptionsCollectionCuston.cpp.  VC++ Express realphabetized the file list.
43235 2006-07-11  Darin Adler  <darin@apple.com>
43237         Reviewed by Adele.
43239         - fix http://bugs.webkit.org/show_bug.cgi?id=9809
43240           <rdar://problem/4619515>
43241           focus ring fails to appear on select element after choosing item from popup
43243         - includes http://bugs.webkit.org/show_bug.cgi?id=9853
43244           improvements to select element, including some storage leak fixes
43246         * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::index): Use a const
43247         reference for the list items, so we don't have to copy a vector.
43248         * html/HTMLSelectElement.cpp:
43249         (WebCore::HTMLSelectElement::selectedIndex): Ditto.
43250         (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
43251         (WebCore::HTMLSelectElement::length): Ditto.
43252         (WebCore::HTMLSelectElement::remove): Ditto.
43253         (WebCore::HTMLSelectElement::value): Ditto.
43254         (WebCore::HTMLSelectElement::setValue): Ditto.
43255         (WebCore::HTMLSelectElement::stateValue): Ditto.
43256         (WebCore::HTMLSelectElement::restoreState): Ditto.
43257         (WebCore::HTMLSelectElement::appendFormData): Ditto.
43258         (WebCore::HTMLSelectElement::optionToListIndex): Ditto.
43259         (WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
43260         (WebCore::HTMLSelectElement::recalcListItems): Made const, with the appropriate
43261         fields mutable.
43262         (WebCore::HTMLSelectElement::reset): Use a const reference for
43263         the list items, so we don't have to copy the vector. Remove the call to
43264         setSelectionChanged for the RenderMenuList case.
43265         (WebCore::HTMLSelectElement::notifyOptionSelected): Ditto, on both counts.
43266         (WebCore::HTMLSelectElement::defaultEventHandler): Call focus() before showing
43267         the pop-up.
43268         * html/HTMLSelectElement.h: The RenderMenuList class is no longer a friend.
43269         Changed the listItems function to return a const reference to the vector so
43270         it no longer copies the vector. Removed the const_cast to the call to
43271         recalcListItems and changed it to a const member function. Made m_recalcListItems
43272         mutable.
43273         * rendering/DeprecatedRenderSelect.cpp:
43274         (WebCore::DeprecatedRenderSelect::updateFromElement): Removed an unnecessary call
43275         to recalcListItems, which is called automatically. Use a const reference for the
43276         list items so we don't have to copy a vector.
43277         (WebCore::DeprecatedRenderSelect::layout): Ditto.
43278         (WebCore::DeprecatedRenderSelect::selectionChanged): Ditto.
43279         (WebCore::DeprecatedRenderSelect::updateSelection): Ditto.
43280         * rendering/RenderMenuList.cpp:
43281         (WebCore::RenderMenuList::RenderMenuList): Updated for renamed data members.
43282         (WebCore::RenderMenuList::createInnerBlock): Ditto.
43283         (WebCore::RenderMenuList::addChild): Ditto.
43284         (WebCore::RenderMenuList::removeChild): Ditto.
43285         (WebCore::RenderMenuList::setStyle): Ditto. Also removed code to set the style
43286         on the pop-up menu, because it's created with the correct style and destroyed
43287         before it a style change could occur.
43288         (WebCore::RenderMenuList::updateFromElement): Rearranged code to compute the
43289         maximum width in a simpler fashion, and to not bother trying to maintain
43290         the "selected" flags on the elements, since the HTMLSelectElement class
43291         takes care of that. Store the width as an int. Call setText to set the text
43292         based on the selected element's option text.
43293         (WebCore::RenderMenuList::paintObject): Don't check m_inner when setting
43294         up the clip -- always set up the clip.
43295         (WebCore::RenderMenuList::calcMinMaxWidth): Use m_optionsWidth directly
43296         instead of calling ceilf on m_longestWidth.
43297         (WebCore::RenderMenuList::showPopup): Don't use m_popupMenu to store the
43298         menu -- instead keep the pointer in a local variable. Get the selected
43299         index from the HTMLSelectElement.
43300         (WebCore::RenderMenuList::valueChanged): Call HTMLSelectElement::setSelectedIndex
43301         to do most of the work.
43302         * rendering/RenderMenuList.h: Renamed m_inner to m_innerBlock. Removed
43303         m_popupMenu, m_size, m_selectionChanged, and m_selectedIndex. Renamed
43304         m_longestWidth to m_optionsWidth and changed it to be an int. Removed
43305         unneeded override of removeLeftoverAnonymousBoxes function. Removed
43306         unneeded selectionChanged, setSelectionChanged, updateSelection, and
43307         hasPopupMenu functions. Removed extra includes.
43308         * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate):
43309         Change to iterate the list items instead of iterating all children
43310         of the select node.
43311         * rendering/RenderPopupMenu.h: Renamed getRenderMenuList to menuList.
43312         * rendering/RenderPopupMenuMac.mm:
43313         (WebCore::RenderPopupMenuMac::populate): Moved code to clear and create
43314         the pop-up here from the caller. Removed an extra retain that would cause
43315         the NSPopUpButtonCell to leak.
43316         (WebCore::RenderPopupMenuMac::showPopup): Removed unnecessary code to
43317         create the pop-up, which is now in populate, and also the call to the
43318         clear function, for the same reason. Reorganized code to make it a bit
43319         more readable. Removed an unnecessary if to check if frame is nil.
43320         Used a RefPtr to make sure we don't make a call on a frame after it's
43321         deleted. As part of the reorganization fixed a problem where we'd retain
43322         the event and then return early without releasing it in one case.
43323         (WebCore::RenderPopupMenuMac::addSeparator): Tweaked a little.
43324         (WebCore::RenderPopupMenuMac::addGroupLabel): Grouped all the code to
43325         manage the NSMenu at the bottom of the function.
43326         (WebCore::RenderPopupMenuMac::addOption): Ditto.
43328 2006-07-11  Justin Garcia  <justin.garcia@apple.com>
43330         Reviewed by levi
43331         
43332         <rdar://problem/4620686>
43333         REGRESSION: Mispelling markers are still displayed when using the delete key to place caret into a misspelled word
43335         * bridge/mac/FrameMac.mm:
43336         (WebCore::FrameMac::respondToChangedSelection): Remove markers from newAdjacentWords 
43337         even if oldAdjacentWords is equal to newAdjacentWords.  This happens during a deletion.
43338         
43340 2006-07-11  Tim Omernick  <timo@apple.com>
43342         Reviewed by NOBODY (build fix)
43344         * bindings/objc/DOMPrivate.h:
43345         Don't @class NPObject; that breaks files that actually #import <JavaScriptCore/npruntime.h>, since the NPObject
43346         there is of a different type.
43347         Also clarified a highly misleading comment from my last commit.  I meant to clarify the comment
43348         before landing.
43350 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
43352         Reviewed by Geoff.
43354         http://bugs.webkit.org/show_bug.cgi?id=9635
43355         REGRESSION: Crash when adding to cart at <http://www.yemeksepeti.com/>
43356         
43357         * html/HTMLTokenizer.cpp:
43358         (WebCore::HTMLTokenizer::scriptHandler):
43359         Don't load external scripts if the parser is stopped.
43360         
43361         * manual-tests/open-close-tokenizer-crash.html: Added.
43362         * manual-tests/resources/empty-file.js: Added.
43363         * manual-tests/resources/open-close-tokenizer-crash.html: Added.
43364         Add manual test.
43366 2006-07-11  John Sullivan  <sullivan@apple.com>
43368         Reviewed by Kevin, Timo O, Brady, Darin, and Hyatt (whee!)
43370         - added support for creating a selection image with white text
43372         * rendering/RenderObject.h:
43373         (WebCore::):
43374         add PaintRestriction enum
43375         (WebCore::RenderObject::PaintInfo::PaintInfo):
43376         add forceWhiteText boolean to PaintInfo struct
43378         * page/FramePrivate.h:
43379         (WebCore::FramePrivate::FramePrivate):
43380         replaced m_selectionOnly bool with m_paintRestriction, which also handles forcing the
43381         text to white
43383         * page/Frame.cpp:
43384         (WebCore::Frame::paint):
43385         updated to use & pass m_paintRestriction where it used to use & pass just m_selectionOnly
43387         * bridge/mac/FrameMac.h:
43388         * bridge/mac/FrameMac.mm:
43389         (WebCore::FrameMac::selectionImage):
43390         now takes forceWhiteText parameter, stored in FramePrivate as part of PaintRestriction
43392         * bridge/mac/WebCoreFrameBridge.h:
43393         * bridge/mac/WebCoreFrameBridge.mm:
43394         (-[WebCoreFrameBridge selectionImageForcingWhiteText:]):
43395         renamed from selectionImage, now takes forceWhiteText parameter, which is passed
43396         down into Frame
43398         * rendering/RenderLayer.h:
43399         * rendering/RenderLayer.cpp:
43400         (WebCore::RenderLayer::paint):
43401         use a PaintRestriction value where we used to use a selectionOnly bool
43402         (WebCore::RenderLayer::paintLayer):
43403         ditto; also stores forceWhiteText in PaintInfo struct
43405         * kcanvas/KCanvasResources.cpp:
43406         (WebCore::KCanvasMarker::draw):
43407         updated for changed signature of PaintInfo constructor
43409         * ksvg2/svg/SVGMaskElement.cpp:
43410         (WebCore::SVGMaskElement::drawMaskerContent):
43411         ditto
43413         * ksvg2/svg/SVGPatternElement.cpp:
43414         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
43415         ditto
43417         * rendering/InlineTextBox.cpp:
43418         (WebCore::InlineTextBox::paint):
43419         paint with white text color if forceWhiteText is set in PaintInfo struct
43421 2006-07-11  Tim Omernick  <timo@apple.com>
43423         Reviewed by Anders.
43425         <http://bugs.webkit.org/show_bug.cgi?id=9843>:
43426         Give Netscape plug-ins access to their own DOM element
43428         * html/HTMLPlugInElement.h:
43429         Just import JSC headers on Mac.  The NPObject and Bindings::Instance stuff is only used on Mac anyway.
43430         Changed __APPLE__ to PLATFORM(MAC).
43431         Added m_NPObject ivar.
43432         * html/HTMLPlugInElement.cpp:
43433         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
43434         Initialize the NPObject.
43435         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
43436         Release the NPObject when the element is destroyed.
43437         (WebCore::HTMLPlugInElement::createNPObject):
43438         Creates an NPObject for the element.
43439         (WebCore::HTMLPlugInElement::getNPObject):
43440         Returns the NPObject for the element, creating and caching it if necessary.
43442         * html/HTMLAppletElement.h:
43443         Changed __APPLE__ to PLATFORM(MAC).
43444         * html/HTMLAppletElement.cpp:
43445         ditto
43446         * html/HTMLEmbedElement.h:
43447         ditto
43448         * html/HTMLEmbedElement.cpp:
43449         ditto
43450         * html/HTMLObjectElement.h:
43451         ditto
43452         * html/HTMLObjectElement.cpp:
43453         ditto
43455         * bindings/objc/DOMPrivate.h:
43456         Added -[DOMElement _NPObject].
43458         * bindings/objc/DOM.mm:
43459         (-[DOMElement _NPObject]):
43460         Returns the NPObject for the element.  Since this is only needed by the Netscape plug-in API, you can only get 
43461         the NPObject for applet, embed, and object elements.
43462         
43463 2006-07-11  Adele Peterson  <adele@apple.com>
43465         Reviewed by Hyatt.
43467         - Fix for http://bugs.webkit.org/show_bug.cgi?id=9861
43468         REGRESSION: Can't dynamically change list box to popup
43469         
43470         and updated fix for http://bugs.webkit.org/show_bug.cgi?id=9859
43471         REGRESSION: Can't dynamically change popup to list box
43473         The original fix for 9859 was in the renderer, and I think we can catch the change
43474         earlier in the element to detach and reattach.
43476         I also did some cleanup to remove the PopupButton code path from DeprecatedRenderSelect
43478         Test: fast/forms/select-change-listbox-to-popup.html
43480         * html/HTMLSelectElement.cpp:
43481         (WebCore::HTMLSelectElement::parseMappedAttribute): If the new attribute value is going to require us to change from listbox to popup or vice versa,
43482         and we're already attached, then detach and reattach to create the correct renderer.  If we're not attached, then we'll create the correct renderer
43483         when we attach.
43484         (WebCore::HTMLSelectElement::recalcStyle): Updated shouldUseMenuList since it no longer takes a RenderStyle.
43485         (WebCore::HTMLSelectElement::isKeyboardFocusable): ditto.
43486         (WebCore::HTMLSelectElement::isMouseFocusable): ditto.
43487         (WebCore::HTMLSelectElement::createRenderer): ditto.
43488         (WebCore::HTMLSelectElement::setRecalcListItems): ditto.
43489         (WebCore::HTMLSelectElement::reset): ditto.
43490         (WebCore::HTMLSelectElement::notifyOptionSelected): ditto.
43491         (WebCore::HTMLSelectElement::defaultEventHandler): ditto.
43493         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList):
43494         This method no longer takes a RenderStyle.  That was leftover from when we used to use the appearance
43495         to determine whether or not to use the new menu list implementation.
43497         * rendering/DeprecatedRenderSelect.h: Removed PopupButton code path.
43498         * rendering/DeprecatedRenderSelect.cpp:
43499         (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
43500         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
43501         (WebCore::DeprecatedRenderSelect::updateFromElement):
43502         (WebCore::DeprecatedRenderSelect::baselinePosition):
43503         (WebCore::DeprecatedRenderSelect::layout):
43504         (WebCore::DeprecatedRenderSelect::updateSelection):
43506         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
43507         Backed out previous fix since this is now done in HTMLSelectElement.
43509 2006-07-11  Adele Peterson  <adele@apple.com>
43511         Reviewed by Hyatt.
43513         Fix for http://bugs.webkit.org/show_bug.cgi?id=9859
43514         REGRESSION: Can't dynamically change popup to list box
43516         Test: fast/forms/select-change-popup-to-listbox.html
43518         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
43519         If the select element has the multiple property set, or has a size > 1, then it
43520         really should be a list box, so we detach and attach the element so it creates the
43521         correct type of renderer.
43523 2006-07-11  John Sullivan  <sullivan@apple.com>
43525         Reviewed by Beth Dakin and Tim Omernick
43527         - fixed <rdar://problem/4622794> HiDPI: dragging the selection in Safari can show pixel cracks 
43528         at non-integral scale factors
43530         * bridge/mac/FrameMac.mm:
43531         (WebCore::FrameMac::imageFromRect):
43532         round image rect in window coordinate space
43534 2006-07-10  Darin Adler  <darin@apple.com>
43536         Reviewed by Geoff.
43538         - fix http://bugs.webkit.org/show_bug.cgi?id=9811
43539           rdar://problem/4619572
43540           OPTION text contained in OPTGROUP appears at the wrong size
43542         * dom/Node.h:
43543         * dom/Node.cpp: (WebCore::Node::renderStyle): Made a const member function.
43544         The derived classes were overriding with const member functions, and I could
43545         change either this or the derived -- decided to do this.
43547 2006-07-10  Darin Adler  <darin@apple.com>
43549         Reviewed by Geoff.
43551         - fix http://bugs.webkit.org/show_bug.cgi?id=9810
43552           rdar://problem/4619534
43553           OPTGROUP label text is using the default font instead of Lucida Grande
43555         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize):
43556         Code wants the family name, but was calling fontName, which is not the same thing.
43557         Also removed the unneeded conversion to DeprecatedString.
43559 === Safari-521.16 ===
43561 2006-07-10  David Kilzer  <ddkilzer@kilzer.net>
43563         Reviewed by Darin.
43565         - fix http://bugs.webkit.org/show_bug.cgi?id=9179
43566           Implement select.options.add() method
43568         Tests:
43569         - fast/dom/select-selectedIndex-multiple.html
43570         - fast/dom/select-selectedIndex.html
43571         - fast/js/select-options-add.html
43573         * DerivedSources.make: Added JSHTMLOptionsCollection.h.
43574         * ForwardingHeaders/kjs/operations.h: Added.
43575         * WebCore.xcodeproj/project.pbxproj: Added new source files.
43576         * bindings/js/JSHTMLOptionsCollectionCustom.cpp: Added.
43577         (WebCore::JSHTMLOptionsCollection::length):
43578         (WebCore::JSHTMLOptionsCollection::setLength):
43579         (WebCore::JSHTMLOptionsCollection::indexSetter):
43580         * bindings/js/kjs_html.cpp: Removed JSHTMLOptionsCollection implementation.
43581         Renamed classes and methods for consistency.
43582         (KJS::JSHTMLElement::selectGetter):
43583         (KJS::JSHTMLElement::put):
43584         (KJS::JSHTMLElement::selectSetter):
43585         (KJS::JSHTMLCollection::JSHTMLCollection):
43586         (KJS::JSHTMLCollectionProtoFunc::callAsFunction):
43587         (KJS::getHTMLOptionsCollection):
43588         * bindings/js/kjs_html.h: Ditto.
43589         * bindings/scripts/CodeGeneratorJS.pm: Added support for HasCustomIndexSetter class attribute.
43590         Added support for Optional parameter attribute, which makes generated code assume overloaded
43591         implementation methods are available for a JavaScript function with optional arguments.  Changed
43592         local 'impl' variables to 'imp' so that impl() methods could be called without class designation.
43593         * html/HTMLOptionElement.idl: Added GenerateNativeConverter attribute.
43594         * html/HTMLOptionsCollection.cpp: Added methods used by generated JSHTMLOptionsCollection class.
43595         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
43596         (WebCore::HTMLOptionsCollection::add):
43597         (WebCore::HTMLOptionsCollection::selectedIndex):
43598         (WebCore::HTMLOptionsCollection::setSelectedIndex):
43599         (WebCore::HTMLOptionsCollection::setLength):
43600         * html/HTMLOptionsCollection.h: Ditto.
43601         * html/HTMLOptionsCollection.idl: Added.
43603 2006-07-10  David Harrison  <harrison@apple.com>
43605         Reviewed by Dave Hyatt.
43607         <rdar://problem/4602408> -webkit-highlight needs to support images and elements other than text
43609         * rendering/RenderBox.cpp:
43610         (WebCore::RenderBox::paintCustomHighlight):
43611         * rendering/RenderBox.h:
43612         Utility for subclasses.
43613         
43614         * rendering/RenderImage.cpp:
43615         (WebCore::RenderImage::paint):
43616         Custom highlight in front of images.
43617         
43618         * rendering/RenderListMarker.cpp:
43619         (WebCore::RenderListMarker::paint):
43620         Custom highlight in front of list markers.
43622         * rendering/RenderWidget.cpp:
43623         (WebCore::RenderWidget::paint):
43624         Custom highlight in front of objects.
43626 2006-07-10  David Hyatt  <hyatt@apple.com>
43628         <rdar://problem/4620557> REGRESSION: In a mail message, text isn't painted
43629         correctly after choosing Redo Typing
43631         Better fix for repainting issue with positioned objects when height
43632         changes.  Optimize when only a positioned child changes so that we don't
43633         incorrectly do normal flow layout.
43635         Reviewed by darin
43637         * WebCore.xcodeproj/project.pbxproj:
43638         * rendering/RenderBlock.cpp:
43639         (WebCore::RenderBlock::layoutBlock):
43640         * rendering/RenderFlexibleBox.cpp:
43641         (WebCore::RenderFlexibleBox::layoutBlock):
43642         * rendering/RenderTable.cpp:
43643         (WebCore::RenderTable::layout):
43644         * rendering/RenderView.cpp:
43645         (WebCore::RenderView::layout):
43646         * rendering/bidi.cpp:
43647         (WebCore::RenderBlock::layoutInlineChildren):
43649 2006-07-10  Adele Peterson  <adele@apple.com>
43651         Reviewed by Beth.
43653         - Fix for <rdar://problem/4621442> REGRESSION (NativePopup) : Popup menus aren't drawn correctly on page at orbitz.com; cheaptickets.com
43655         Test: fast/forms/select-style.html
43657         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
43658         Don't let popups be style-able for now.  We'll allow it later, when we
43659         have a good way to handle border & backgrounds and still having it look like a control.
43661 2006-07-10  Justin Garcia  <justin.garcia@apple.com>
43663         Reviewed by harrison
43664         
43665         <rdar://problem/4619260>
43666         9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
43667         <rdar://problem/4619841>
43668         REGRESSION: Dragging selection over input field results in a crash (WebCore::maxDeepOffset(WebCore::Node const*)
43670         * WebCore.xcodeproj/project.pbxproj:
43671         * editing/Selection.cpp:
43672         (WebCore::Selection::adjustForEditableContent): Iterate using next/previousVisuallyDistinctCandidate 
43673         instead of traverseNext/Previous node because we were skipping positions.  Jump out of shadow trees.  
43674         Migrate to isEditablePosition instead of isContentEditable.
43675         
43677 2006-07-10  Beth Dakin  <bdakin@apple.com>
43679         Reviewed by Adele.
43681         Shuffling comments around from my last check-in to make things read 
43682         more clearly.
43684         * page/DOMWindow.h:
43685         * page/DOMWindow.idl:
43687 2006-07-10  Beth Dakin  <bdakin@apple.com>
43689         Reviewed by Darin.
43691         Fix for <rdar://problem/4621095> The should be a way to 
43692         access the user interface scale factor through the DOM
43694         window.devicePixelRatio returns the user interface scale factor.
43696         * page/DOMWindow.cpp:
43697         (WebCore::DOMWindow::devicePixelRatio):
43698         * page/DOMWindow.h:
43699         * page/DOMWindow.idl:
43701 2006-07-10  Brady Eidson  <beidson@apple.com>
43703         Reviewed by Alexey
43705         Resolved the console error messages people got from the new DB even if they didn't have it enabled
43707         * icon/IconDatabase.cpp:
43708         (WebCore::IconDatabase::pruneUnreferencedIcons):
43709         (WebCore::IconDatabase::pruneUnretainedIcons):
43710         Added quick check to bail if the DB isn't open
43712 2006-07-10  David Harrison  <harrison@apple.com>
43714         Reviewed by Tim Hatcher
43716         Partial fix for...
43717         <rdar://problem/4619260> 9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
43718         
43719         * editing/Selection.cpp:
43720         (WebCore::Selection::adjustForEditableContent):
43721         Allow for node being 0.  This is a bandaid fix to prevent the crash.  It will still assert in a debug build.  See bug for more info.
43723 2006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
43725         Reviewed by Darin.
43727         - fix http://bugs.webkit.org/show_bug.cgi?id=9808
43728           REGRESSION: Incorrect layout (and ERROR) when forcing ATSU For All Text
43730         * manual-tests/ATSU-bad-layout.html: Added.
43731         * platform/mac/FontMac.mm:
43732         (WebCore::Font::floatWidthForComplexText): Return 0 immediately for empty runs.
43734 2006-07-10  Darin Adler  <darin@apple.com>
43736         - try to fix the no-SVG build
43738         * ksvg2/misc/SVGImageLoader.cpp: Move namespace brace inside the #if.
43740 2006-07-10  Darin Adler  <darin@apple.com>
43742         Reviewed by Anders.
43744         - fix http://bugs.webkit.org/show_bug.cgi?id=9833
43745           REGRESSION: Reproducible crash: RenderMenuList.cpp:58: failed assertion `!m_first'
43747         * manual-tests/empty-title-popup.html: Added.
43749         * rendering/RenderMenuList.h: Add createInnerBlock.
43750         * rendering/RenderMenuList.cpp:
43751         (WebCore::RenderMenuList::createInnerBlock): Factored out of addChild.
43752         (WebCore::RenderMenuList::addChild): Call createInnerBlock.
43753         (WebCore::RenderMenuList::setText): Changed parameter type.
43754         (WebCore::RenderMenuList::showPopup): Call createInnerBlock before calling
43755         the parent class's addChild.
43757 2006-07-10  Rob Buis  <buis@kde.org>
43759         Reviewed by Maciej via IRC.
43761         Make sure the attributes are calculated against viewport width value,
43762         as defined in the spec.  http://paste.lisp.org/display/22342
43764         * ksvg2/svg/SVGEllipseElement.cpp:
43765         (WebCore::SVGEllipseElement::rx): Changed LM_HEIGHT to LM_WIDTH.
43766         * ksvg2/svg/SVGLineElement.cpp:
43767         (SVGLineElement::x2): Ditto.
43769 2006-07-10  Beth Dakin  <bdakin@apple.com>
43771         Reviewed by Maciej.
43773         Fix for <rdar://problem/4610314> Support the CSS3 content property 
43774         for images
43776         This patch provides initial support for the CSS3 content property. 
43777         It lacks support for any content other than images, and only allows 
43778         content for elements that seemed safe for now.
43780         * css/cssstyleselector.cpp:
43781         (WebCore::CSSStyleSelector::applyProperty): Remove restrictions for 
43782         just :before and :after
43783         * html/HTMLBRElement.cpp:
43784         (WebCore::HTMLBRElement::createRenderer):
43785         * html/HTMLFrameSetElement.cpp:
43786         (WebCore::HTMLFrameSetElement::createRenderer):
43787         * html/HTMLImageElement.cpp:
43788         (WebCore::HTMLImageElement::createRenderer):
43789         * html/HTMLLegendElement.cpp:
43790         (WebCore::HTMLLegendElement::createRenderer):
43791         * rendering/RenderImage.cpp:
43792         (WebCore::RenderImage::RenderImage):
43793         (WebCore::RenderImage::setCachedImage): Don't allow the image to be 
43794         set this way if it was already set with the content property.
43795         * rendering/RenderImage.h:
43796         (WebCore::RenderImage::setIsAnonymousImage): Anonymous images are 
43797         those set through the content property.
43798         (WebCore::RenderImage::isAnonymousImage):
43799         * rendering/RenderObject.cpp:
43800         (WebCore::RenderObject::createObject): If there is content 
43801         specified, create a RenderImage with the content and initialize the 
43802         cached image to whatever was specified in the CSS.
43804 2006-07-10  Brady Eidson  <beidson@apple.com>
43806         Reviewed by NOBODY (Build Fix!)
43808         * icon/SiteIcon.cpp:
43809         (SiteIcon::getImage):
43810         Release build made an "unused variable" warning, which is, of course, an error.  fixed that.
43812 2006-07-10  Brady Eidson  <beidson@apple.com>
43814         Reviewed by Maciej
43816         SQLite Icon DB now fully replicates functionality of the old DB, including pruning to keep unused
43817         information out to keep down disk usage.  For now, it is still off by default, as the critical
43818         feature of importing old icons into the new DB is still unrealized.
43819         If you'd like to test, add #define ICONDEBUG to your WebKitPrefix.h
43821         * icon/IconDatabase.cpp:
43822         (WebCore::IconDatabase::IconDatabase):
43823         (WebCore::IconDatabase::open):
43824           -Sets up a timer for initial pruning
43825         (WebCore::IconDatabase::iconForPageURL):
43826           -Switched away from "dirty blob hack" as the problem is provisionally solved
43827         (WebCore::IconDatabase::retainIconForURL):
43828         (WebCore::IconDatabase::releaseIconForURL):
43829           -Same as found in WebKit
43830         (WebCore::IconDatabase::totalRetainCountForIconURL):
43831           -Adds up all retainers of icon
43832         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
43833           -Wipes an Icon table entry out
43834         (WebCore::IconDatabase::establishTemporaryIconIDForIconURL):
43835         (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
43836         (WebCore::IconDatabase::establishIconIDForIconURL):
43837         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
43838           -Added ability to get an iconID without creating a new one if a lookup is all
43839            that is genuinely wanted
43840         (WebCore::IconDatabase::pruneUnreferencedIcons):
43841         (WebCore::IconDatabase::pruneUnretainedIcons):
43842           -Called on a timer on DB startup to clean it out
43843         * icon/IconDatabase.h:
43844         * icon/SiteIcon.cpp:
43845         (SiteIcon::SiteIcon):
43846         (SiteIcon::~SiteIcon):
43847           -Deletes the image on deletion
43848         (SiteIcon::getImage):
43849           -Cut down on no-longer-necessary debug info
43851 2006-07-10  Anders Carlsson  <acarlsson@apple.com>
43853         Reviewed by Adele.
43855         http://bugs.webkit.org/show_bug.cgi?id=9245
43856         Quirksmode: Incorrect handling of disabled BUTTON elements
43858         * html/HTMLButtonElement.cpp:
43859         (WebCore::HTMLButtonElement::defaultEventHandler):
43860         Don't call prepareSubmit if the element is disabled.
43862         * html/HTMLInputElement.cpp:
43863         (WebCore::HTMLInputElement::defaultEventHandler):
43864         Don't call prepareSubmit if the element is disabled.
43866 2006-07-10  Darin Adler  <darin@apple.com>
43868         - try to fix Windows build
43870         * platform/win/TemporaryLinkStubs.cpp: Put a few functions in the WebCore namespace.
43871         * platform/gdk/TemporaryLinkStubs.cpp: Ditto.
43873 2006-07-10  Darin Adler  <darin@apple.com>
43875         Reviewed by Geoff.
43877         - fix failures seen in layout tests
43879         * bindings/js/kjs_dom.cpp: (KJS::toJS): Restore one of the few WebCore:: prefixes
43880         that really needed to be there -- because we have two classes named JSHTMLDocument
43881         at the moment! (One in KJS and one in WebCore namespace.)
43883 2006-07-10  Darin Adler  <darin@apple.com>
43885         - try to fix Windows build
43887         * rendering/RenderLayer.h: Correct a forward declaration of ScrollBar.
43889 2006-07-09  Adele Peterson  <adele@apple.com>
43891         Reviewed by Maciej.
43893         Fix for <rdar://problem/4463835> Switch to use new popup menu implementation for <select>
43895         * css/html4.css: Added style for new selects, and for list boxes.
43896         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Removed check for appearance so new popups can be styled.
43897    
43898         * rendering/RenderMenuList.cpp:
43899         (WebCore::RenderMenuList::setStyle): Removed padding.  This is now set by the theme.
43900         (WebCore::RenderMenuList::calcMinMaxWidth): Now takes minimum text size into account.
43901         * rendering/RenderMenuList.h: Removed baselinePosition since we're letting the theme calculate that.
43903         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlContainer): Added menuList as a ControlContainer, 
43904         so RenderThemeMac will compute its baseline.
43905         * rendering/RenderTheme.h: (WebCore::RenderTheme::minimumTextSize): Added.
43906         * rendering/RenderThemeMac.h: Added minimumTextSize, setPopupPaddingFromControlSize, popupButtonSizes, popupButtonMargins, popupButtonPadding.
43907         Removed sizeOfArrowControl. 
43908         * rendering/RenderThemeMac.mm:
43909         (WebCore::): Added enum for padding.
43910         (WebCore::RenderThemeMac::adjustRepaintRect): Now inflates rect to account for control shadow.
43911         (WebCore::RenderThemeMac::baselinePosition): Now calculates baseline for menulist.
43912         (WebCore::RenderThemeMac::popupButtonMargins): Tweaked values.
43913         (WebCore::RenderThemeMac::popupButtonSizes): Added.
43914         (WebCore::RenderThemeMac::popupButtonPadding): Added, so different padding can be set for different control sizes.
43915         (WebCore::RenderThemeMac::setPopupPaddingFromControlSize): Added.
43916         (WebCore::RenderThemeMac::paintMenuList): Now inflates rect to account for control shadow.
43917         (WebCore::RenderThemeMac::adjustMenuListStyle): Resets border, sets padding, sets control size.
43918         (WebCore::RenderThemeMac::setPopupButtonCellState): Removed unnecessary class name.
43919         (WebCore::RenderThemeMac::minimumTextSize): Added.
43921 2006-07-09  Darin Adler  <darin@apple.com>
43923         - add back "unused code" for plain text fields, still used by <isindex>!
43925         * platform/TextField.h:
43926         * platform/mac/TextFieldMac.mm:
43927         * platform/mac/WebCoreTextField.h:
43928         * platform/mac/WebCoreTextField.mm:
43929         * rendering/RenderLineEdit.cpp:
43931 2006-07-09  Darin Adler  <darin@apple.com>
43933         Reviewed by Tim Hatcher.
43935         - put more into the WebCore namespace
43936         - removed unused code for plain text fields
43938         Put more classes, class templates, enums, functions, and constants into
43939         the WebCore namespace, including all the headers in the platform directory.
43941         Removed lots of unneeded "WebCore::" qualifiers and "using" directives.
43943         Added some "WebCore::" qualifiers in a few places.
43945         Removed "uses WebCore::" in headers that we said we'd remove "when
43946         everything is in the WebCore namespace".
43948         * bindings/js/JSDOMParser.cpp:
43949         * bindings/js/JSHTMLElementWrapperFactory.cpp:
43950         * bindings/js/JSXSLTProcessor.cpp:
43951         * bindings/js/kjs_binding.cpp:
43952         * bindings/js/kjs_css.cpp:
43953         * bindings/js/kjs_dom.cpp:
43954         * bindings/js/kjs_dom.h:
43955         * bindings/js/kjs_events.cpp:
43956         * bindings/js/kjs_proxy.h:
43957         * bindings/js/kjs_window.h:
43958         * bindings/objc/DOM.mm:
43959         * bridge/History.h:
43960         * bridge/JavaAppletWidget.h:
43961         * bridge/mac/FormDataMac.h:
43962         * bridge/mac/FormDataMac.mm:
43963         * bridge/mac/WebCoreAXObject.mm:
43964         * bridge/mac/WebCoreEncodings.mm:
43965         * bridge/mac/WebCoreFrameBridge.h:
43966         * bridge/mac/WebCoreIconDatabaseBridge.mm:
43967         * bridge/mac/WebCorePageState.h:
43968         * bridge/mac/WebCoreScriptDebugger.mm:
43969         * bridge/mac/WebCoreSettings.h:
43970         * css/CSSGrammar.y:
43971         * css/CSSPageRule.cpp:
43972         * css/CSSPageRule.h:
43973         * css/MediaList.cpp:
43974         * css/cssstyleselector.h:
43975         * dom/Clipboard.h:
43976         * dom/Document.cpp:
43977         * dom/Document.h:
43978         * dom/EventTargetNode.h:
43979         * dom/Node.cpp:
43980         * dom/Node.h:
43981         * dom/Position.h:
43982         * dom/Range.cpp:
43983         * dom/XMLTokenizer.cpp:
43984         * editing/AppendNodeCommand.h:
43985         * editing/ApplyStyleCommand.cpp:
43986         * editing/BreakBlockquoteCommand.cpp:
43987         * editing/BreakBlockquoteCommand.h:
43988         * editing/CompositeEditCommand.cpp:
43989         * editing/CompositeEditCommand.h:
43990         * editing/CreateLinkCommand.h:
43991         * editing/DeleteFromTextNodeCommand.h:
43992         * editing/DeleteSelectionCommand.h:
43993         * editing/FormatBlockCommand.h:
43994         * editing/HTMLInterchange.cpp:
43995         * editing/HTMLInterchange.h:
43996         * editing/IndentOutdentCommand.h:
43997         * editing/InsertIntoTextNodeCommand.h:
43998         * editing/InsertLineBreakCommand.h:
43999         * editing/InsertListCommand.h:
44000         * editing/InsertNodeBeforeCommand.h:
44001         * editing/InsertTextCommand.cpp:
44002         * editing/InsertTextCommand.h:
44003         * editing/JSEditor.cpp:
44004         * editing/JSEditor.h:
44005         * editing/JoinTextNodesCommand.h:
44006         * editing/MergeIdenticalElementsCommand.cpp:
44007         * editing/MergeIdenticalElementsCommand.h:
44008         * editing/ModifySelectionListLevel.h:
44009         * editing/MoveSelectionCommand.h:
44010         * editing/RebalanceWhitespaceCommand.h:
44011         * editing/RemoveNodeAttributeCommand.h:
44012         * editing/RemoveNodeCommand.h:
44013         * editing/RemoveNodePreservingChildrenCommand.h:
44014         * editing/ReplaceSelectionCommand.h:
44015         * editing/SetNodeAttributeCommand.h:
44016         * editing/SplitElementCommand.cpp:
44017         * editing/SplitElementCommand.h:
44018         * editing/SplitTextNodeCommand.cpp:
44019         * editing/SplitTextNodeCommand.h:
44020         * editing/SplitTextNodeContainingElementCommand.h:
44021         * editing/TypingCommand.cpp:
44022         * editing/TypingCommand.h:
44023         * editing/UnlinkCommand.h:
44024         * editing/VisiblePosition.cpp:
44025         * editing/WrapContentsInDummySpanCommand.cpp:
44026         * editing/WrapContentsInDummySpanCommand.h:
44027         * editing/markup.cpp:
44028         * editing/markup.h:
44029         * html/HTMLAnchorElement.cpp:
44030         * html/HTMLBodyElement.cpp:
44031         * html/HTMLButtonElement.h:
44032         * html/HTMLCollection.h:
44033         * html/HTMLDocument.h:
44034         * html/HTMLEmbedElement.cpp:
44035         * html/HTMLFormElement.cpp:
44036         * html/HTMLFormElement.h:
44037         * html/HTMLFrameElement.cpp:
44038         * html/HTMLFrameSetElement.cpp:
44039         * html/HTMLKeygenElement.cpp:
44040         * html/HTMLLabelElement.cpp:
44041         * html/HTMLObjectElement.cpp:
44042         * html/HTMLObjectElement.h:
44043         * html/HTMLTableElement.cpp:
44044         * html/HTMLTablePartElement.cpp:
44045         * icon/IconDatabase.h:
44046         * kcanvas/KCanvasPath.h:
44047         * kcanvas/KCanvasResources.cpp:
44048         * kcanvas/KCanvasResources.h:
44049         * kcanvas/KCanvasTreeDebug.cpp:
44050         * kcanvas/KCanvasTreeDebug.h:
44051         * kcanvas/RenderSVGContainer.cpp:
44052         * kcanvas/RenderSVGText.h:
44053         * kcanvas/device/KRenderingPaintServer.h:
44054         * kcanvas/device/KRenderingPaintServerGradient.h:
44055         * kcanvas/device/KRenderingPaintServerSolid.cpp:
44056         * ksvg2/misc/SVGImageLoader.cpp:
44057         * ksvg2/svg/SVGElement.cpp:
44058         * ksvg2/svg/SVGElement.h:
44059         * ksvg2/svg/SVGForeignObjectElement.cpp:
44060         * ksvg2/svg/SVGForeignObjectElement.h:
44061         * ksvg2/svg/SVGImageElement.cpp:
44062         * ksvg2/svg/SVGPoint.h:
44063         * ksvg2/svg/SVGStylable.h:
44064         * ksvg2/svg/SVGTRefElement.cpp:
44065         * ksvg2/svg/SVGTRefElement.h:
44066         * ksvg2/svg/SVGTSpanElement.cpp:
44067         * ksvg2/svg/SVGTSpanElement.h:
44068         * ksvg2/svg/SVGTextElement.h:
44069         * ksvg2/svg/svgpathparser.cpp:
44070         * ksvg2/svg/svgpathparser.h:
44071         * loader/Cache.h:
44072         * loader/DocLoader.h:
44073         * loader/LoaderFunctions.h:
44074         * loader/mac/LoaderFunctionsMac.mm:
44075         * page/Frame.h:
44076         * page/FrameView.h:
44077         * page/Page.h:
44078         * page/Settings.h:
44079         * platform/AffineTransform.cpp:
44080         * platform/AffineTransform.h:
44081         * platform/Arena.cpp:
44082         * platform/Arena.h:
44083         * platform/CookieJar.h:
44084         * platform/DeprecatedCString.cpp:
44085         * platform/DeprecatedCString.h:
44086         * platform/DeprecatedPtrList.h:
44087         * platform/DeprecatedPtrListImpl.cpp:
44088         * platform/DeprecatedPtrListImpl.h:
44089         * platform/DeprecatedPtrQueue.h:
44090         * platform/DeprecatedString.cpp:
44091         * platform/DeprecatedString.h:
44092         * platform/DeprecatedStringList.cpp:
44093         * platform/DeprecatedStringList.h:
44094         * platform/DeprecatedValueList.h:
44095         * platform/DeprecatedValueListImpl.cpp:
44096         * platform/DeprecatedValueListImpl.h:
44097         * platform/FileButton.h:
44098         * platform/FloatPoint.h:
44099         * platform/FloatRect.h:
44100         * platform/FloatSize.h:
44101         * platform/FontData.h:
44102         * platform/FontFallbackList.h:
44103         * platform/GraphicsContext.h:
44104         * platform/IntPoint.h:
44105         * platform/IntRect.h:
44106         * platform/IntSize.h:
44107         * platform/KURL.cpp:
44108         * platform/KURL.h:
44109         * platform/ListBox.h:
44110         * platform/Logging.cpp:
44111         * platform/Logging.h:
44112         * platform/Pen.h:
44113         * platform/PopUpButton.h:
44114         * platform/RegularExpression.cpp:
44115         * platform/RegularExpression.h:
44116         * platform/SSLKeyGenerator.h:
44117         * platform/ScrollBar.h:
44118         * platform/SegmentedString.h:
44119         * platform/Shared.h:
44120         * platform/Slider.h:
44121         * platform/StringImpl.h:
44122         * platform/TextBox.h:
44123         * platform/TextField.h:
44124         * platform/TextStream.cpp:
44125         * platform/TextStream.h:
44126         * platform/TransferJob.h:
44127         * platform/TransferJobClient.h:
44128         * platform/Widget.h:
44129         * platform/cg/AffineTransformCG.cpp:
44130         * platform/mac/ClipboardMac.h:
44131         * platform/mac/ClipboardMac.mm:
44132         * platform/mac/DeprecatedStringListMac.mm:
44133         * platform/mac/FontCacheMac.mm:
44134         * platform/mac/KURLMac.mm:
44135         * platform/mac/ListBoxMac.mm:
44136         * platform/mac/PopUpButtonMac.mm:
44137         * platform/mac/SSLKeyGeneratorMac.mm:
44138         * platform/mac/TextBoxMac.mm:
44139         * platform/mac/TextFieldMac.mm:
44140         * platform/mac/WebCoreTextArea.h:
44141         * platform/mac/WebCoreTextArea.mm:
44142         * platform/mac/WebCoreTextField.h:
44143         * platform/mac/WebCoreTextField.mm:
44144         * rendering/DeprecatedRenderSelect.h:
44145         * rendering/RenderArena.cpp:
44146         * rendering/RenderArena.h:
44147         * rendering/RenderBlock.cpp:
44148         * rendering/RenderBox.cpp:
44149         * rendering/RenderContainer.cpp:
44150         * rendering/RenderFlexibleBox.cpp:
44151         * rendering/RenderFlow.cpp:
44152         * rendering/RenderLayer.cpp:
44153         * rendering/RenderLineEdit.cpp:
44154         * rendering/RenderObject.h:
44155         * rendering/RenderStyle.cpp:
44156         * rendering/RenderStyle.h:
44157         * rendering/RenderText.cpp:
44158         * rendering/RenderTextFragment.cpp:
44159         * rendering/RenderTheme.h:
44160         * rendering/RenderTreeAsText.cpp:
44161         * rendering/RenderTreeAsText.h:
44162         * rendering/RenderView.h:
44163         * rendering/bidi.h:
44164         * xml/XSLStyleSheet.cpp:
44165         * xml/XSLTProcessor.cpp:
44167 2006-07-09  Geoffrey Garen  <ggaren@apple.com>
44169         Reviewed by Beth.
44171         * bindings/js/kjs_window.cpp:
44172         (KJS::Window::clear): Garbage collect after reinitalizing the global
44173         object, not before, since the reinitialization tends to create garbage.
44175 2006-07-09  Timothy Hatcher  <timothy@apple.com>
44177         Reviewed by Darin.
44179         Bug 9820: Move new DOM API that has been through API review to public headers
44180         http://bugs.webkit.org/show_bug.cgi?id=9820
44182         * bindings/objc/DOM.mm:
44183         (-[DOMElement focus]):
44184         (-[DOMElement blur]):
44185         (-[DOMRange text]):
44186         (-[DOMRange _text]):
44187         * bindings/objc/DOMCSS.mm:
44188         (-[DOMRGBColor color]):
44189         (-[DOMRGBColor _color]):
44190         * bindings/objc/DOMCore.h:
44191         * bindings/objc/DOMEvents.h:
44192         * bindings/objc/DOMExtensions.h:
44193         * bindings/objc/DOMHTML.mm:
44194         (-[DOMHTMLElement titleDisplayString]):
44195         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
44196         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
44197         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
44198         (-[DOMHTMLDocument _createDocumentFragmentWithText:]):
44199         * bindings/objc/DOMPrivate.h:
44200         * bindings/objc/DOMXPath.h:
44201         * bindings/objc/DOMXPath.mm:
44203 2006-07-09  Beth Dakin  <bdakin@apple.com>
44205         Reviewed by Maciej.
44207         Fix for http://bugs.webkit.org/show_bug.cgi?id=9749 A 
44208         nested content editable div causes unnecessary screen redraws.
44209         
44210         We were repainting too much because we were deciding that we needed 
44211         a full layout because we didn't have a first line box. Our code 
44212         used to hold a lot of assumptions that positioned elements would 
44213         always have line boxes, but I fixed a few bugs a while back that 
44214         appeared because this assumption isn't true. This assumption was 
44215         also causing the extra redraws because the check meant that we 
44216         would decide to do a full layout for any positioned element that 
44217         did not have any line boxes in the first place. Maciej and I talked 
44218         about this, and we couldn't figure out why the check for line boxes 
44219         was part of determining if we need a full layout in the first 
44220         place. After hunting around the code, we decided to assume that 
44221         this check is antiquated. Removing it fixes the bug and doesn't 
44222         seem to break any layout tests. So, fingers crossed!
44224         Will add layout test so soon.
44226         * rendering/bidi.cpp:
44227         (WebCore::RenderBlock::layoutInlineChildren): Remove firstLineBox 
44228         check.
44230 2006-07-09  David Harrison  <harrison@apple.com>
44232         Reviewed by John Sullivan.
44234         <rdar://problem/4598149> Deleting the contents of a DOMRange and then inserting a node into it crashes in WebCore::Font::canUseGlyphCache
44236         Test: fast/dom/delete-contents.html
44237         
44238         * dom/Range.cpp:
44239         (WebCore::Range::processContents):
44241 2006-07-09  Darin Adler  <darin@apple.com>
44243         - another round of renaming; and KWQ is dead
44245         * WebCore.vcproj/WebCore/WebCore.vcproj: Remove paths for kwq and khtml directories.
44246         Move files to their new locations. Did rename.
44247         * WebCore.xcodeproj/project.pbxproj: Move files to their new locations. Did rename.
44248         * WebCoreSources.bkl: Did rename.
44249         * webcore-base.bkl: Removed kwq.
44251         * kwq/AccessibilityObjectCache.h: Removed.
44252         * kwq/AccessibilityObjectCache.mm: Removed.
44253         * kwq/FormDataMac.h: Removed.
44254         * kwq/FormDataMac.mm: Removed.
44255         * kwq/WebCoreAXObject.h: Removed.
44256         * kwq/WebCoreAXObject.mm: Removed.
44257         * kwq/WebCoreEditCommand.h: Removed.
44258         * kwq/WebCoreEditCommand.mm: Removed.
44259         * kwq/WebCorePageState.h: Removed.
44260         * kwq/WebCorePageState.mm: Removed.
44261         * kwq/WebCoreResourceLoaderImp.h: Removed.
44262         * kwq/WebCoreResourceLoaderImp.mm: Removed.
44264         * bridge/AXObjectCache.h: Added.
44265         * bridge/mac/AXObjectCacheMac.mm: Added.
44266         * bridge/mac/WebCoreAXObject.h: Added.
44267         * bridge/mac/WebCoreAXObject.mm: Added.
44269         * loader/CachedObject.cpp: Removed.
44270         * loader/CachedObject.h: Removed.
44271         * loader/CachedObjectClient.h: Removed.
44272         * loader/CachedObjectClientWalker.cpp: Removed.
44273         * loader/CachedObjectClientWalker.h: Removed.
44275         * loader/CachedResource.cpp: Added.
44276         * loader/CachedResource.h: Added.
44277         * loader/CachedResourceClient.h: Added.
44278         * loader/CachedResourceClientWalker.cpp: Added.
44279         * loader/CachedResourceClientWalker.h: Added.
44281         * bridge/mac/FrameMac.mm:
44282         * bridge/mac/WebCoreFrameBridge.mm:
44283         * css/CSSImageValue.h:
44284         * css/CSSImportRule.h:
44285         * dom/Document.cpp:
44286         * dom/Document.h:
44287         * dom/Notation.h:
44288         * dom/ProcessingInstruction.h:
44289         * dom/XMLTokenizer.cpp:
44290         * html/CanvasPattern.h:
44291         * html/HTMLDocument.h:
44292         * html/HTMLImageLoader.cpp:
44293         * html/HTMLImageLoader.h:
44294         * html/HTMLLinkElement.h:
44295         * html/HTMLScriptElement.cpp:
44296         * html/HTMLScriptElement.h:
44297         * html/HTMLTokenizer.cpp:
44298         * html/HTMLTokenizer.h:
44299         * kcanvas/KCanvasFilters.h:
44300         * ksvg2/svg/SVGCursorElement.cpp:
44301         * ksvg2/svg/SVGCursorElement.h:
44302         * ksvg2/svg/SVGFEImageElement.cpp:
44303         * ksvg2/svg/SVGFEImageElement.h:
44304         * loader/Cache.cpp:
44305         * loader/Cache.h:
44306         * loader/CachedCSSStyleSheet.cpp:
44307         * loader/CachedCSSStyleSheet.h:
44308         * loader/CachedImage.cpp:
44309         * loader/CachedImage.h:
44310         * loader/CachedScript.cpp:
44311         * loader/CachedScript.h:
44312         * loader/CachedXBLDocument.cpp:
44313         * loader/CachedXBLDocument.h:
44314         * loader/CachedXSLStyleSheet.cpp:
44315         * loader/CachedXSLStyleSheet.h:
44316         * loader/DocLoader.cpp:
44317         * loader/DocLoader.h:
44318         * loader/LoaderFunctions.h:
44319         * loader/Request.cpp:
44320         * loader/Request.h:
44321         * loader/loader.cpp:
44322         * loader/loader.h:
44323         * loader/mac/LoaderFunctionsMac.mm:
44324         * page/Frame.cpp:
44325         * page/FrameView.cpp:
44326         * platform/gdk/TemporaryLinkStubs.cpp:
44327         * platform/mac/ClipboardMac.h:
44328         * platform/win/TemporaryLinkStubs.cpp:
44329         * rendering/RenderBox.h:
44330         * rendering/RenderContainer.cpp:
44331         * rendering/RenderImage.cpp:
44332         * rendering/RenderImage.h:
44333         * rendering/RenderLayer.h:
44334         * rendering/RenderObject.cpp:
44335         * rendering/RenderObject.h:
44336         * rendering/RenderStyle.cpp:
44337         * rendering/RenderStyle.h:
44338         * xml/XSLImportRule.h:
44339         Did renaming.
44341         * platform/mac/can-convert.mm: Removed.
44343 2006-07-09  Anders Carlsson  <acarlsson@apple.com>
44345         Reviewed by Tim O.
44347         * WebCore.exp:
44348         Add wkPathFromFont.
44349         
44350         * platform/mac/FontDataMac.mm:
44351         (-[NSFont WebCore]):
44352         Use wkPathFromFont.
44353         
44354         * platform/mac/WebCoreSystemInterface.h:
44355         * platform/mac/WebCoreSystemInterface.mm:
44356         Declare wkPathFromFont.
44358 2006-07-09  Brady Eidson  <beidson@apple.com>
44360         Reviewed by Maciej
44362         Set the stage to remove the workaround for the SQLite BLOB corruption.  A few other small cleanups, and
44363         preparation for pruning unreferenced and unretained icons.
44365         * icon/IconDatabase.cpp:
44366         (WebCore::IconDatabase::recreateDatabase):  Added another trigger to assist in icon removal
44367         (WebCore::IconDatabase::deletePrivateTables):  Cleaned up logging messages
44368         (WebCore::IconDatabase::imageDataForIconID):  #ifdefed the blobbing hack for impending removal, use the real blob by default
44369         (WebCore::IconDatabase::imageDataForIconURL):  same
44370         (WebCore::IconDatabase::imageDataForPageURL):  same
44371         (WebCore::IconDatabase::pruneUnreferencedIcons):  Will delete any icons and their data that are not referenced
44372           by any PageURL
44373         * icon/IconDatabase.h:
44375         * icon/SQLDatabase.h:  Changed BlobAsVector to be unsigned char as thats the most reasonable type for
44376           a byte-buffer, and is what CFData expects
44377         * icon/SQLStatement.cpp:
44378         (WebCore::SQLStatement::getColumnBlobAsVector):
44380 2006-07-09  Darin Adler  <darin@apple.com>
44382         - move all but the last 12 files out of kwq directory
44383         - removed a few unused source files I discovered
44385         * WebCore.vcproj/WebCore/WebCore.vcproj: Update for new file locations.
44386         * WebCore.xcodeproj/project.pbxproj: Ditto.
44388         * bridge/mac/FrameMac.mm:
44389         * dom/Element.h:
44390         * html/HTMLImageLoader.cpp:
44391         * loader/Cache.cpp:
44392         * loader/Cache.h:
44393         * loader/CachedCSSStyleSheet.cpp:
44394         * loader/CachedCSSStyleSheet.h:
44395         * loader/CachedImage.cpp:
44396         * loader/CachedImage.h:
44397         * loader/CachedObject.h:
44398         * loader/CachedScript.cpp:
44399         * loader/CachedScript.h:
44400         * loader/CachedXBLDocument.cpp:
44401         * loader/CachedXBLDocument.h:
44402         * loader/CachedXSLStyleSheet.cpp:
44403         * loader/CachedXSLStyleSheet.h:
44404         * loader/DocLoader.cpp:
44405         * loader/DocLoader.h:
44406         * page/Frame.cpp:
44407         * page/Frame.h:
44408         * page/FramePrivate.h:
44409         * platform/gdk/TemporaryLinkStubs.cpp:
44410         * platform/win/TemporaryLinkStubs.cpp:
44411         * rendering/DeprecatedSlider.cpp:
44412         * rendering/RenderObject.h:
44413         * xml/xmlhttprequest.cpp:
44414         Updated includes as needed for file location changes. Changed
44415         CachePolicy uses to match new filename and enum names.
44417         * loader/CachedResource.cpp: Removed.
44418         * loader/CachedResource.h: Removed.
44419         * loader/CachedResourceClient.h: Removed.
44420         * loader/CachedResourceClientWalker.cpp: Removed.
44421         * loader/CachedResourceClientWalker.h: Removed.
44422         The above files were checked in by accident a while back. The rename of
44423         CachedObject to CachedResource is now reflected in do-webcore-rename,
44424         and will be done soon.
44426         * kwq/AffineTransform.cpp: Removed.
44427         * kwq/AffineTransform.h: Removed.
44428         * kwq/CacheControl.h: Removed.
44429         * kwq/DeprecatedPtrQueue.h: Removed.
44430         * kwq/FileButton.h: Removed.
44431         * kwq/FileButton.mm: Removed.
44432         * kwq/ListBox.h: Removed.
44433         * kwq/ListBox.mm: Removed.
44434         * kwq/LoaderFunctions.h: Removed.
44435         * kwq/LoaderFunctions.mm: Removed.
44436         * kwq/PopUpButton.h: Removed.
44437         * kwq/PopUpButton.mm: Removed.
44438         * kwq/SSLKeyGenerator.h: Removed.
44439         * kwq/SSLKeyGenerator.mm: Removed.
44440         * kwq/Settings.h: Removed.
44441         * kwq/TextBox.h: Removed.
44442         * kwq/TextBox.mm: Removed.
44443         * kwq/TextField.h: Removed.
44444         * kwq/TextField.mm: Removed.
44445         * kwq/WebCoreScrollBar.h: Removed.
44446         * kwq/WebCoreScrollBar.mm: Removed.
44447         * kwq/WebCoreSlider.h: Removed.
44448         * kwq/WebCoreSlider.mm: Removed.
44450         * loader/CachePolicy.h: Added.
44451         * loader/LoaderFunctions.h: Added.
44453         * loader/mac/LoaderFunctionsMac.mm: Added.
44455         * page/Settings.h: Added.
44457         * platform/AffineTransform.cpp: Added.
44458         * platform/AffineTransform.h: Added.
44459         * platform/DeprecatedPtrQueue.h: Added.
44460         * platform/FileButton.h: Added.
44461         * platform/ListBox.h: Added.
44462         * platform/PopUpButton.h: Added.
44463         * platform/SSLKeyGenerator.h: Added.
44464         * platform/ScrollBar.h: Added.
44465         * platform/Slider.h: Added.
44466         * platform/TextBox.h: Added.
44467         * platform/TextField.h: Added.
44469         * platform/cg/AffineTransformCG.cpp: Added.
44471         * platform/mac/FileButtonMac.mm: Added.
44472         * platform/mac/ListBoxMac.mm: Added.
44473         * platform/mac/PopUpButtonMac.mm: Added.
44474         * platform/mac/SSLKeyGeneratorMac.mm: Added.
44475         * platform/mac/ScrollBarMac.mm: Added.
44476         * platform/mac/ScrollBarMac.mm: Added.
44477         * platform/mac/SliderMac.mm: Added.
44478         * platform/mac/SliderMac.mm: Added.
44479         * platform/mac/TextBoxMac.mm: Added.
44480         * platform/mac/TextFieldMac.mm: Added.
44482 2006-07-09  Darin Adler  <darin@apple.com>
44484         - move 4 files out of kwq directory
44485         - make some minor project adjustments for the WebCore project
44487         * WebCore.xcodeproj/project.pbxproj: Link libsqlite3 the same way we do other
44488         libraries, rather than using a custom linker option. Moved the files from their
44489         old locations to the new ones. Removed "khtml" from the list of header search
44490         paths since that directory doesn't exist any more. Eliminated STYLE_LDFLAGS
44491         and just put -umbrella WebKit in OTHER_LDFLAGS in the Production configuration
44492         (was a leftover from "build styles" in Xcode 1). Changed to use EXPORTED_SYMBOLS_FILE
44493         instead of using -exported_symbols_list directly again now that Xcode has fixed the
44494         "strip twice" bug. Removed unneeded explicit SECTORDER_FLAGS = "" settings.
44495         Removed the explicit -Y,3 option now that Xcode does that by default.
44497         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed some obsolete uneeded files,
44498         many of which didn't exist any more. Moved the files from their old locations
44499         to the new ones.
44501         * WebCoreSources.bkl: Moved the files from their old locations to the new ones.
44503         * kwq/DeprecatedCString.cpp: Removed.
44504         * kwq/DeprecatedCString.h: Removed.
44505         * kwq/TextStream.cpp: Removed.
44506         * kwq/TextStream.h: Removed.
44507         * platform/DeprecatedCString.cpp: Added.
44508         * platform/DeprecatedCString.h: Added.
44509         * platform/TextStream.cpp: Added.
44510         * platform/TextStream.h: Added.
44512 2006-07-09  Darin Adler  <darin@apple.com>
44514         Rubber stamped by Maciej (kinda).
44516         - did the next pass of renaming (used do-webcore-rename script)
44517           this takes care of most of the remaining KWQ names (almost all)
44519         * WebCore+SVG/DOMList.h:
44520         * WebCore.vcproj/WebCore/WebCore.vcproj:
44521         * WebCore.xcodeproj/project.pbxproj:
44522         * WebCoreSources.bkl:
44523         * bindings/js/kjs_dom.cpp:
44524         * bindings/js/kjs_window.cpp:
44525         * bindings/objc/DOMHTML.mm:
44526         * bridge/mac/FrameMac.h:
44527         * bridge/mac/FrameMac.mm:
44528         * bridge/mac/WebCoreFrameBridge.mm:
44529         * bridge/mac/WebCoreSettings.h:
44530         * bridge/mac/WebCoreSettings.mm:
44531         * bridge/win/FrameWin.cpp:
44532         * css/CSSPrimitiveValue.cpp:
44533         * css/CSSValueKeywords.in:
44534         * css/MediaQueryEvaluator.cpp:
44535         * css/cssparser.cpp:
44536         * css/cssstyleselector.cpp:
44537         * css/cssstyleselector.h:
44538         * dom/CharacterData.cpp:
44539         * dom/CharacterData.h:
44540         * dom/Document.cpp:
44541         * dom/Element.cpp:
44542         * dom/Element.h:
44543         * dom/EventTargetNode.cpp:
44544         * dom/EventTargetNode.h:
44545         * dom/Node.cpp:
44546         * dom/Node.h:
44547         * dom/Position.cpp:
44548         * dom/ProcessingInstruction.cpp:
44549         * dom/QualifiedName.cpp:
44550         * dom/QualifiedName.h:
44551         * dom/XMLTokenizer.cpp: Added.
44552         * dom/xml_tokenizer.cpp: Removed.
44553         * dom/xml_tokenizer.h: Removed.
44554         * editing/EditAction.h:
44555         * editing/HTMLInterchange.cpp:
44556         * editing/HTMLInterchange.h:
44557         * editing/Selection.h:
44558         * editing/SelectionController.h:
44559         * editing/TextAffinity.h:
44560         * editing/TextIterator.cpp:
44561         * editing/TextIterator.h:
44562         * editing/VisiblePosition.h:
44563         * editing/htmlediting.cpp:
44564         * editing/markup.cpp:
44565         * editing/markup.h:
44566         * editing/visible_units.cpp:
44567         * editing/visible_units.h:
44568         * html/HTMLDocument.cpp:
44569         * html/HTMLFontElement.cpp:
44570         * html/HTMLInputElement.cpp:
44571         * html/HTMLKeygenElement.cpp:
44572         * html/HTMLSelectElement.h:
44573         * html/HTMLTextAreaElement.cpp:
44574         * html/HTMLTextFieldInnerElement.cpp:
44575         * html/HTMLTokenizer.cpp:
44576         * html/HTMLTokenizer.h:
44577         * kcanvas/KCanvasContainer.cpp: Removed.
44578         * kcanvas/KCanvasContainer.h: Removed.
44579         * kcanvas/KCanvasCreator.cpp:
44580         * kcanvas/KCanvasFilters.cpp:
44581         * kcanvas/KCanvasFilters.h:
44582         * kcanvas/KCanvasMatrix.cpp:
44583         * kcanvas/KCanvasMatrix.h:
44584         * kcanvas/KCanvasPath.cpp:
44585         * kcanvas/KCanvasPath.h:
44586         * kcanvas/KCanvasResources.cpp:
44587         * kcanvas/KCanvasResources.h:
44588         * kcanvas/KCanvasTreeDebug.cpp:
44589         * kcanvas/KCanvasTreeDebug.h:
44590         * kcanvas/RenderForeignObject.cpp:
44591         * kcanvas/RenderForeignObject.h:
44592         * kcanvas/RenderPath.cpp:
44593         * kcanvas/RenderPath.h:
44594         * kcanvas/RenderSVGContainer.cpp: Added.
44595         * kcanvas/RenderSVGContainer.h: Added.
44596         * kcanvas/RenderSVGImage.cpp:
44597         * kcanvas/RenderSVGImage.h:
44598         * kcanvas/RenderSVGText.cpp:
44599         * kcanvas/RenderSVGText.h:
44600         * kcanvas/device/KRenderingPaintServer.h:
44601         * kcanvas/device/KRenderingPaintServerGradient.cpp:
44602         * kcanvas/device/KRenderingPaintServerGradient.h:
44603         * kcanvas/device/KRenderingPaintServerPattern.cpp:
44604         * kcanvas/device/KRenderingPaintServerPattern.h:
44605         * kcanvas/device/KRenderingPaintServerSolid.cpp:
44606         * kcanvas/device/KRenderingPaintServerSolid.h:
44607         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
44608         * kcanvas/device/quartz/KCanvasItemQuartz.h:
44609         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
44610         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
44611         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
44612         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
44613         * ksvg2/css/CSSValueKeywords.in:
44614         * ksvg2/css/SVGRenderStyleDefs.cpp:
44615         * ksvg2/misc/KCanvasRenderingStyle.cpp:
44616         * ksvg2/misc/KSVGTimeScheduler.cpp:
44617         * ksvg2/svg/SVGAElement.cpp:
44618         * ksvg2/svg/SVGAnimateTransformElement.cpp:
44619         * ksvg2/svg/SVGAnimateTransformElement.h:
44620         * ksvg2/svg/SVGGElement.cpp:
44621         * ksvg2/svg/SVGHelper.cpp:
44622         * ksvg2/svg/SVGHelper.h:
44623         * ksvg2/svg/SVGImageElement.cpp:
44624         * ksvg2/svg/SVGLinearGradientElement.cpp:
44625         * ksvg2/svg/SVGMarkerElement.cpp:
44626         * ksvg2/svg/SVGMaskElement.cpp:
44627         * ksvg2/svg/SVGMatrix.cpp:
44628         * ksvg2/svg/SVGMatrix.h:
44629         * ksvg2/svg/SVGPatternElement.cpp:
44630         * ksvg2/svg/SVGRadialGradientElement.cpp:
44631         * ksvg2/svg/SVGSVGElement.cpp:
44632         * ksvg2/svg/SVGStyledElement.h:
44633         * ksvg2/svg/SVGStyledTransformableElement.cpp:
44634         * ksvg2/svg/SVGStyledTransformableElement.h:
44635         * ksvg2/svg/SVGSwitchElement.cpp:
44636         * ksvg2/svg/SVGTextElement.cpp:
44637         * ksvg2/svg/SVGTransformable.h:
44638         * ksvg2/svg/SVGUseElement.cpp:
44639         * kwq/AffineTransform.cpp: Added.
44640         * kwq/AffineTransform.h: Added.
44641         * kwq/DeprecatedCString.cpp: Added.
44642         * kwq/DeprecatedCString.h: Added.
44643         * kwq/DeprecatedPtrQueue.h: Added.
44644         * kwq/FileButton.h: Added.
44645         * kwq/FileButton.mm: Added.
44646         * kwq/FormDataMac.mm: Added.
44647         * kwq/KWQCString.cpp: Removed.
44648         * kwq/KWQCString.h: Removed.
44649         * kwq/KWQComboBox.h: Removed.
44650         * kwq/KWQComboBox.mm: Removed.
44651         * kwq/KWQEditCommand.h: Removed.
44652         * kwq/KWQEditCommand.mm: Removed.
44653         * kwq/KWQFileButton.h: Removed.
44654         * kwq/KWQFileButton.mm: Removed.
44655         * kwq/KWQFormData.h: Removed.
44656         * kwq/KWQFormData.mm: Removed.
44657         * kwq/KWQKHTMLSettings.h: Removed.
44658         * kwq/KWQKIOGlobal.h: Removed.
44659         * kwq/KWQKSSLKeyGen.h: Removed.
44660         * kwq/KWQKSSLKeyGen.mm: Removed.
44661         * kwq/KWQLineEdit.h: Removed.
44662         * kwq/KWQLineEdit.mm: Removed.
44663         * kwq/KWQListBox.h: Removed.
44664         * kwq/KWQListBox.mm: Removed.
44665         * kwq/KWQLoader.h: Removed.
44666         * kwq/KWQLoader.mm: Removed.
44667         * kwq/KWQPageState.h: Removed.
44668         * kwq/KWQPageState.mm: Removed.
44669         * kwq/KWQPtrQueue.h: Removed.
44670         * kwq/KWQResourceLoader.h: Removed.
44671         * kwq/KWQResourceLoader.mm: Removed.
44672         * kwq/KWQScrollBar.h: Removed.
44673         * kwq/KWQScrollBar.mm: Removed.
44674         * kwq/KWQSlider.h: Removed.
44675         * kwq/KWQSlider.mm: Removed.
44676         * kwq/KWQTextEdit.h: Removed.
44677         * kwq/KWQTextEdit.mm: Removed.
44678         * kwq/KWQTextStream.cpp: Removed.
44679         * kwq/KWQTextStream.h: Removed.
44680         * kwq/KWQWMatrix.cpp: Removed.
44681         * kwq/KWQWMatrix.h: Removed.
44682         * kwq/ListBox.h: Added.
44683         * kwq/ListBox.mm: Added.
44684         * kwq/LoaderFunctions.h: Added.
44685         * kwq/LoaderFunctions.mm: Added.
44686         * kwq/PopUpButton.h: Added.
44687         * kwq/PopUpButton.mm: Added.
44688         * kwq/SSLKeyGenerator.h: Added.
44689         * kwq/SSLKeyGenerator.mm: Added.
44690         * kwq/Settings.h: Added.
44691         * kwq/TextBox.h: Added.
44692         * kwq/TextBox.mm: Added.
44693         * kwq/TextField.h: Added.
44694         * kwq/TextField.mm: Added.
44695         * kwq/TextStream.cpp: Added.
44696         * kwq/TextStream.h: Added.
44697         * kwq/WebCoreEditCommand.h: Added.
44698         * kwq/WebCoreEditCommand.mm: Added.
44699         * kwq/WebCorePageState.h: Added.
44700         * kwq/WebCorePageState.mm: Added.
44701         * kwq/WebCoreResourceLoaderImp.h: Added.
44702         * kwq/WebCoreResourceLoaderImp.mm: Added.
44703         * kwq/WebCoreScrollBar.h: Added.
44704         * kwq/WebCoreScrollBar.mm: Added.
44705         * kwq/WebCoreSlider.h: Added.
44706         * kwq/WebCoreSlider.mm: Added.
44707         * loader/Cache.h:
44708         * loader/CachedCSSStyleSheet.cpp:
44709         * loader/CachedImage.cpp:
44710         * loader/CachedObject.h:
44711         * loader/CachedObjectClientWalker.h:
44712         * loader/CachedResource.h:
44713         * loader/CachedResourceClientWalker.h:
44714         * loader/CachedScript.h:
44715         * loader/CachedXBLDocument.h:
44716         * loader/Decoder.h:
44717         * loader/DocLoader.cpp:
44718         * loader/DocLoader.h:
44719         * loader/FormData.h:
44720         * loader/ImageDocument.cpp:
44721         * loader/PluginDocument.cpp:
44722         * loader/TextDocument.cpp:
44723         * loader/loader.cpp:
44724         * loader/loader.h:
44725         * page/Frame.cpp:
44726         * page/Frame.h:
44727         * page/FramePrivate.h:
44728         * page/Page.cpp:
44729         * page/Page.h:
44730         * platform/DeprecatedPtrList.h:
44731         * platform/DeprecatedPtrListImpl.cpp:
44732         * platform/DeprecatedPtrListImpl.h:
44733         * platform/DeprecatedString.cpp:
44734         * platform/DeprecatedString.h:
44735         * platform/DeprecatedStringList.cpp:
44736         * platform/DeprecatedStringList.h:
44737         * platform/DeprecatedValueList.h:
44738         * platform/DeprecatedValueListImpl.cpp:
44739         * platform/DeprecatedValueListImpl.h:
44740         * platform/FloatSize.h:
44741         * platform/Font.cpp:
44742         * platform/KURL.cpp:
44743         * platform/RegularExpression.cpp:
44744         * platform/RegularExpression.h:
44745         * platform/SegmentedString.h:
44746         * platform/StreamingTextDecoder.cpp:
44747         * platform/String.cpp:
44748         * platform/StringImpl.cpp:
44749         * platform/TextEncoding.cpp:
44750         * platform/TransferJob.cpp:
44751         * platform/TransferJob.h:
44752         * platform/TransferJobInternal.h:
44753         * platform/gdk/FrameGdk.cpp:
44754         * platform/gdk/TemporaryLinkStubs.cpp:
44755         * platform/mac/ClipboardMac.h:
44756         * platform/mac/ClipboardMac.mm:
44757         * platform/mac/CursorMac.mm:
44758         * platform/mac/DeprecatedStringMac.mm: Added.
44759         * platform/mac/FontCacheMac.mm:
44760         * platform/mac/FontMac.mm:
44761         * platform/mac/FoundationExtras.h:
44762         * platform/mac/ImageMac.mm:
44763         * platform/mac/KURLMac.mm:
44764         * platform/mac/MouseEventMac.mm: Removed.
44765         * platform/mac/QStringListMac.mm: Removed.
44766         * platform/mac/QStringMac.mm: Removed.
44767         * platform/mac/TransferJobMac.mm:
44768         * platform/mac/WebCoreTextArea.h:
44769         * platform/mac/WebCoreTextArea.mm:
44770         * platform/mac/WebCoreTextField.h:
44771         * platform/mac/WebCoreTextField.mm:
44772         * platform/mac/WidgetMac.mm:
44773         * platform/win/TemporaryLinkStubs.cpp:
44774         * rendering/DataRef.h:
44775         * rendering/DeprecatedRenderSelect.cpp:
44776         * rendering/DeprecatedRenderSelect.h:
44777         * rendering/DeprecatedSlider.cpp:
44778         * rendering/InlineFlowBox.cpp:
44779         * rendering/RenderApplet.cpp:
44780         * rendering/RenderBlock.cpp:
44781         * rendering/RenderBlock.h:
44782         * rendering/RenderContainer.cpp:
44783         * rendering/RenderFileButton.cpp:
44784         * rendering/RenderFlexibleBox.cpp:
44785         * rendering/RenderFlow.cpp:
44786         * rendering/RenderFormElement.cpp:
44787         * rendering/RenderFrameSet.cpp:
44788         * rendering/RenderFrameSet.h:
44789         * rendering/RenderImage.cpp:
44790         * rendering/RenderInline.cpp:
44791         * rendering/RenderLayer.cpp:
44792         * rendering/RenderLayer.h:
44793         * rendering/RenderLineEdit.cpp:
44794         * rendering/RenderListItem.cpp:
44795         * rendering/RenderListMarker.cpp:
44796         * rendering/RenderObject.cpp:
44797         * rendering/RenderObject.h:
44798         * rendering/RenderPartObject.cpp:
44799         * rendering/RenderReplaced.cpp:
44800         * rendering/RenderStyle.cpp: Added.
44801         * rendering/RenderStyle.h: Added.
44802         * rendering/RenderTable.cpp:
44803         * rendering/RenderTable.h:
44804         * rendering/RenderTableCell.cpp:
44805         * rendering/RenderTableCell.h:
44806         * rendering/RenderTableCol.cpp:
44807         * rendering/RenderTableCol.h:
44808         * rendering/RenderTableRow.cpp:
44809         * rendering/RenderTableSection.cpp:
44810         * rendering/RenderTableSection.h:
44811         * rendering/RenderText.cpp:
44812         * rendering/RenderText.h:
44813         * rendering/RenderTextArea.cpp:
44814         * rendering/RenderTextControl.cpp: Added.
44815         * rendering/RenderTextControl.h: Added.
44816         * rendering/RenderTextField.cpp: Removed.
44817         * rendering/RenderTextField.h: Removed.
44818         * rendering/RenderTheme.cpp:
44819         * rendering/RenderThemeMac.mm:
44820         * rendering/RenderTreeAsText.cpp:
44821         * rendering/RenderTreeAsText.h:
44822         * rendering/RenderView.cpp:
44823         * rendering/RenderWidget.cpp:
44824         * rendering/bidi.cpp:
44825         * rendering/render_style.cpp: Removed.
44826         * rendering/render_style.h: Removed.
44827         * xml/XSLStyleSheet.cpp:
44828         * xml/XSLTProcessor.cpp:
44829         * xml/xmlhttprequest.cpp:
44830         * xpath/impl/XPathParser.cpp:
44832 2006-07-09  Rob Buis  <buis@kde.org>
44834         Reviewed by Darin.
44836         http://bugs.webkit.org/show_bug.cgi?id=8251
44837         navigator.platform incorrect in WebKit.app on Intel Macs
44839         For navigator.platform return "MacIntel" for Intel processors, "MacPPC"
44840         otherwise.
44842         * bindings/js/kjs_navigator.cpp:
44843         (KJS::Navigator::getValueProperty):
44845 2006-07-08  Timothy Hatcher  <timothy@apple.com>
44847         Reviewed by Maciej.
44849         Bug 5312: comments aren't available via DOM
44850         http://bugs.webkit.org/show_bug.cgi?id=5312
44852         <rdar://problem/4564414> getting comments via DOM isn't working (5312)
44853         <rdar://problem/4545691> DOM_COMMENT node masking out real DOM elements
44855         * dom/Document.cpp:
44856         (WebCore::Document::removedLastRef): set m_documentElement to 0
44857         (WebCore::Document::childrenChanged): invalidate the document element we have cached in case it was replaced
44858         (WebCore::Document::documentElement): cache the first element as the document node if m_documentElement is 0
44859         * dom/Document.h: added m_documentElement
44860         * html/HTMLDocument.cpp: removed documentElement(), HTML documents just use Document's documentElement()
44861         * html/HTMLDocument.h: ditto
44862         * html/HTMLParser.cpp:
44863         (WebCore::HTMLParser::handleError): make a new HTML node is the document's firstChild is NULL or
44864         the firstChild is not a HTML element (like a comment)
44865         * html/HTMLTokenizer.cpp:
44866         (WebCore::HTMLTokenizer::parseComment): removed the #ifdef to include comment nodes
44868 2006-07-08  Anders Carlsson  <acarlsson@apple.com>
44870         Reviewed by Darin, tweaked slightly and landed by Maciej.
44872         http://bugs.webkit.org/show_bug.cgi?id=9787
44873         fast/frames tests failing (bad pointer to owner element) under MallocScribble
44874         
44875         * html/HTMLFrameElement.cpp:
44876         (WebCore::HTMLFrameElement::close):
44877         Disconnect the owner element of our frame.
44878         
44879         * html/HTMLIFrameElement.cpp:
44880         (WebCore::HTMLIFrameElement::attach):
44881         Don't call setFrame here.
44882         
44883         * html/HTMLPlugInElement.cpp:
44884         (WebCore::HTMLPlugInElement::detach):
44885         Disconnect the owner element of our frame.
44887         * html/HTMLPlugInElement.h:
44888         (WebCore::HTMLPlugInElement::setFrameName):        
44889         New function.
44890         
44891         * page/Frame.cpp:
44892         (WebCore::Frame::Frame):
44893         Don't call setFrame.
44894         
44895         (WebCore::Frame::~Frame):
44896         Null out the owner element.
44897         
44898         (WebCore::Frame::requestObject):
44899         When an object creates a child frame, assign it a name so it can be
44900         accessed from HTMLPlugInElement.
44901         
44902         * rendering/RenderPart.cpp:
44903         (WebCore::RenderPart::RenderPart):
44904         (WebCore::RenderPart::~RenderPart):
44905         * rendering/RenderPart.h:
44906         Get rid of setFrame.
44908 2006-07-08  Darin Adler  <darin@apple.com>
44910         Reviewed by Geoff.
44912         - better fix for http://bugs.webkit.org/show_bug.cgi?id=9622
44913           REGRESSION: showModalDialog returnValue ignored, function result is always "undefined"
44915         * bindings/js/kjs_window.cpp:
44916         (KJS::showModalDialog): Set the return value after returning from the function if the
44917         window is not cleared; this is a better way to handle the case where the window does
44918         not get cleared before returning, and handles some new cases created by slight changes
44919         in the latest Safari properly too.
44920         (KJS::Window::clear): Changed logic slightly so we always store the result of getDirect
44921         into the return value slot -- the old code left the storage untouched if it was 0.
44922         Also made it only overwrite the return value slot if it's 0.
44924         * bindings/js/kjs_proxy.h:
44925         * bindings/js/kjs_proxy.cpp:
44926         * bindings/js/kjs_window.h:
44927         * bindings/js/kjs_window.cpp:
44928         * page/Frame.cpp:
44929         Roll the previous fix out.
44931 2006-07-08  Darin Adler  <darin@apple.com>
44933         - try to fix Windows build
44935         * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing source files.
44937 === Safari-521.15 ===
44939 2006-07-07  Justin Garcia  <justin.garcia@apple.com>
44941         Reviewed by levi
44942         
44943         Fix Mail ToDo crashers.
44945         * dom/Range.cpp:
44946         (WebCore::Range::compareBoundaryPoints): Added an ASSERT that both
44947         containers are non-null and an early return.
44948         * editing/Selection.cpp:
44949         (WebCore::Selection::validate): Fix a dangling start/end.
44950         (WebCore::Selection::adjustForEditableContent): Added an early return if
44951         m_start or m_end are null.
44952         (WebCore::Selection::isContentEditable): Use isRichlyEditablePosition.
44953         (WebCore::Selection::isContentRichlyEditable): Ditto.
44954         * editing/Selection.h:
44955         * editing/VisiblePosition.cpp:
44956         (WebCore::VisiblePosition::next): Use the new highestEditableRoot.
44957         (WebCore::VisiblePosition::previous): Ditto.
44958         * editing/htmlediting.cpp:
44959         (WebCore::highestEditableRoot): Takes in a position.
44960         (WebCore::isEditablePosition): Added.
44961         (WebCore::isRichlyEditablePosition): Added.
44962         (WebCore::rootEditableElement): Added.
44963         (WebCore::nextCandidate): Moved and split out from nextVisiblePosition.
44964         (WebCore::nextVisuallyDistinctCandidate): Ditto.
44965         (WebCore::previousCandidate): Moved and split out from previousVisiblePosition.
44966         (WebCore::previousVisuallyDistinctCandidate): Ditto.
44967         (WebCore::firstEditablePositionAfterPositionInRoot): Iterate over positions,
44968         using nextVisuallyDistinctCandidate, skipping atomic nodes that are non-editable.
44969         (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
44970         * editing/htmlediting.h:
44971         * editing/visible_units.cpp:
44972         (WebCore::startOfWord): Added a FIXME.
44974 2006-07-07  Levi Weintraub  <lweintraub@apple.com>
44976         Reviewed by justin
44978         Allowed deletion typing commands to take in a granularity
44980         * bridge/mac/WebCoreFrameBridge.h: Pass granularity across the bridge
44981         * bridge/mac/WebCoreFrameBridge.mm: Ditto
44982         (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
44983         (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
44984         * editing/TypingCommand.cpp: Constructors take in a granularity
44985         (WebCore::TypingCommand::TypingCommand):
44986         (WebCore::TypingCommand::deleteKeyPressed):
44987         (WebCore::TypingCommand::forwardDeleteKeyPressed):
44988         * editing/TypingCommand.h: ditto
44989         * page/Frame.h: Fixed bug that shouldDeleteSelection wasn't virtual
44991 2006-07-07  Brady Eidson  <beidson@apple.com>
44993         Reviewed by Anders and Tim Hatcher
44995         Added an accessor to a SQLite config option to change its disk-syncing behavior.
44996         Used this accessor to significantly speed up writes to the Icon DB.
44998         * icon/IconDatabase.cpp:
44999         (WebCore::IconDatabase::open):  Disable full syncing to the SQLite db to speed up writes to the icondb
45001         * icon/SQLDatabase.cpp:
45002         (SQLDatabase::setFullsync):
45003         (SQLDatabase::setSynchronous):
45004         * icon/SQLDatabase.h:
45005         (WebCore::SQLDatabase::):  Added accessor to the SQLite config pragma "synchronous"
45007 2006-07-07  Darin Adler  <darin@apple.com>
45009         Reviewed by Maciej.
45011         - fixed a storage leak noticed by the buildbot
45013         * dom/Document.cpp: (WebCore::Document::removedLastRef):
45014         Call delete on the markers before clearing the map containing them.
45016 2006-07-08  Anders Carlsson  <acarlsson@apple.com>
45018         Reviewed by Brady.
45020         http://bugs.webkit.org/show_bug.cgi?id=9777
45021         Reproducible crash in Loading/Frames in ToT.
45022         
45023         The problem was that the renderpart destructor resets the frame's 
45024         owner element. For iframes, this should only be done when the element is 
45025         going to be removed from the document.
45026         
45027         * html/HTMLIFrameElement.cpp:
45028         (WebCore::HTMLIFrameElement::~HTMLIFrameElement):
45029         (WebCore::HTMLIFrameElement::willRemove):
45030         (WebCore::HTMLIFrameElement::removedFromDocument):
45031         (WebCore::HTMLIFrameElement::detach):        
45032         * html/HTMLIFrameElement.h:
45033         Remove the frame in willRemove instead.
45034         
45035         * rendering/RenderPart.cpp:
45036         (WebCore::RenderPart::RenderPart):
45037         (WebCore::RenderPart::~RenderPart):
45038         * rendering/RenderPart.h:
45039         Don't call setFrame(0) in the destructor when the element is an iframe element.
45041 2006-07-07  Darin Adler  <darin@apple.com>
45043         Reviewed by Anders.
45045         - fixed a storage leak noticed by the buildbot
45047         * page/FrameView.cpp: (WebCore::FrameViewPrivate::~FrameViewPrivate):
45048         Delete m_scheduledEvents.
45050 2006-07-07  Darin Adler  <darin@apple.com>
45052         Reviewed by Adele.
45054         - fixed a couple of storage leaks noticed by the buildbot
45056         * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach):
45057         Call deref on the style after calling setRenderStyle, since styleForRenderer
45058         returns us a "ref'd" RenderStyle object.
45059         * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): Ditto.
45061 2006-07-07  Darin Adler  <darin@apple.com>
45063         Reviewed by Adele.
45065         - fix some license mistakes
45067         * LICENSE-APPLE: Added more years of publication to the copyright here.
45069         * html/CanvasGradient.idl: Corrected license on this file. It had the wrong one.
45070         * html/CanvasPattern.idl: Ditto.
45071         * html/CanvasRenderingContext2D.idl: Ditto.
45072         * html/HTMLCanvasElement.idl: Ditto.
45074 2006-07-06  Levi Weintraub  <lweintraub@apple.com>
45076         Reviewed by justin
45078         Improved table editing: pressing delete directly before or after a table will now select
45079         the table first, then delete it, instead of just deleting it. Useful for when the table's
45080         existence is non-obvious.
45082         * bridge/mac/FrameMac.h: Added shouldDeleteSelection, which allows WebCore to trigger
45083         deletion editing deligates
45084         * bridge/mac/FrameMac.mm: ditto
45085         (WebCore::FrameMac::shouldDeleteSelection):
45086         * bridge/mac/WebCoreFrameBridge.h: ditto
45087         * editing/TypingCommand.cpp: Implemented check for a caret position next to a table, and
45088         subsequent selection (as opposed to removal)
45089         (WebCore::TypingCommand::deleteKeyPressed):
45090         (WebCore::TypingCommand::forwardDeleteKeyPressed):
45091         * page/Frame.cpp: shouldDeleteSelection added
45092         (WebCore::Frame::shouldDeleteSelection):
45093         * page/Frame.h: ditto
45095 2006-07-07  Sam Weinig  <sam.weinig@gmail.com>
45097         Reviewed by Eric.
45099         - fix http://bugs.webkit.org/show_bug.cgi?id=9768
45100           Split XSLImportRule out of XSLStyleSheet.* into separate 
45101           files (one class per file).
45103         * WebCore.xcodeproj/project.pbxproj:
45104         * xml/XSLImportRule.cpp: Added.
45105         (WebCore::XSLImportRule::XSLImportRule):
45106         (WebCore::XSLImportRule::parentStyleSheet):
45107         (WebCore::XSLImportRule::loadSheet):
45108         * xml/XSLImportRule.h: Added.
45109         * xml/XSLStyleSheet.cpp:
45110         * xml/XSLStyleSheet.h:
45112 2006-07-07  Anders Carlsson  <acarlsson@apple.com>
45114         Reviewed by Darin.
45116         http://bugs.webkit.org/show_bug.cgi?id=8300
45117         REGRESSION: First mouse click is randomly ignored when clicking on checkbox and radio buttons
45118         
45119         * css/html4.css:
45120         Set "-webkit-user-select: ignore" on radio buttons and check boxes .
45121         
45122 2006-07-07  Maciej Stachowiak  <mjs@apple.com>
45124         Reviewed by Tim Hatcher.
45126         - fix 20 Node leaks on fast/events tests - these should be the last ones
45128         * bindings/objc/DOMEvents.mm:
45129         (-[DOMEvent dealloc]): implement - deref the event!
45130         (-[DOMEvent finalize]): ditto
45132 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
45134         Reviewed by Tim Hatcher.
45136         - fix 26 Node leaks on fast/dom tests
45138         * dom/Document.cpp:
45139         (WebCore::Document::removedLastRef): delete tokenizer - if we are still parsing at this point, we don't
45140         want nodes held by the parser to keep the document alive.
45141         * html/HTMLParser.cpp:
45142         (WebCore::RefNonDocNodePtr::RefNonDocNodePtr): Smart pointer that acts like RefPtr for Node,
45143         but avoids refing document nodes to avoid cycles.
45144         (WebCore::RefNonDocNodePtr::~RefNonDocNodePtr):
45145         (WebCore::RefNonDocNodePtr::get):
45146         (WebCore::RefNonDocNodePtr::operator*):
45147         (WebCore::RefNonDocNodePtr::operator->):
45148         (WebCore::RefNonDocNodePtr::operator!):
45149         (WebCore::RefNonDocNodePtr::operator UnspecifiedBoolType):
45150         (WebCore::RefNonDocNodePtr::operator=):
45151         (WebCore::operator==):
45152         (WebCore::operator!=):
45153         (WebCore::HTMLStackElem): Use a RefNonDocNodePtr instead of RefPtr<Node>
45154         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Use a RefPtr here to avoid crashing
45156 2006-07-06  Adele Peterson  <adele@apple.com>
45158         Reviewed by Maciej.
45160         Fixed new popup control to open up when the spacebar and the up and down arrows are pressed.
45162         - Fixed http://bugs.webkit.org/show_bug.cgi?id=9762
45163         [Native pop up] Highlighted item text is black instead of white
45165         * html/HTMLSelectElement.cpp:
45166         (WebCore::HTMLSelectElement::isKeyboardFocusable): Added.
45167         (WebCore::HTMLSelectElement::isMouseFocusable): Added.
45168         (WebCore::HTMLSelectElement::defaultEventHandler): Updated to showPopup for up and down arrow keys and spacebar.
45169         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Made this const.
45170         * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate): Added FIXME.
45171         * rendering/RenderPopupMenuMac.mm:
45172         (WebCore::RenderPopupMenuMac::showPopup): Updated to save the NSEvent that triggers the popup, so we can send
45173         fake mouseUp and keyUp events when the NSMenu returns.
45174         (WebCore::RenderPopupMenuMac::addGroupLabel): Only set the NSForegroundColorAttributeName attribute if the text isn't black.
45175         Follow-up bug about other colors: http://bugs.webkit.org/show_bug.cgi?id=9769
45176         (WebCore::RenderPopupMenuMac::addOption): ditto.
45177         * bridge/mac/FrameMac.h: (WebCore::FrameMac::currentEvent): Returns the current NSEvent.
45179 2006-07-06  Justin Garcia  <justin.garcia@apple.com>
45181         Reviewed by levi
45182         
45183         <rdar://problem/4609184>
45184         Mail crashes at WebCore::Selection::adjustForEditableContent
45185         <rdar://problem/4609140>
45186         Crash at WebCore::Range::compareBoundaryPoints
45187         
45188         * editing/Selection.cpp:
45189         (WebCore::Selection::adjustForEditableContent):
45190         * editing/VisiblePosition.cpp:
45191         (WebCore::VisiblePosition::next): Moved code into a helper function.
45192         (WebCore::VisiblePosition::previous): Ditto.
45193         * editing/htmlediting.cpp:
45194         (WebCore::comparePositions): Moved from Selection.cpp.
45195         (WebCore::lowestEditableAncestor): Added.  Returns rootEditableElement
45196         for a node in editable content and the rootEditableElement for the first
45197         ancestor that's editable for a node in non-editable content.
45198         (WebCore::firstEditablePositionAfterPositionInRoot): 
45199         (WebCore::lastEditablePositionBeforePositionInRoot):
45200         * editing/htmlediting.h:
45202 2006-07-06  Anders Carlsson  <acarlsson@apple.com>
45204         Reviewed by Adele.
45206         http://bugs.webkit.org/show_bug.cgi?id=9528
45207         REGRESSION: arrow key skips '>' in Bugzilla replies due to '\n' in text nodes
45208         
45209         Patch by Darin, tweaked by Anders.
45210         
45211         * html/HTMLElement.cpp:
45212         (WebCore::HTMLElement::setInnerText):
45213         Convert newline characters to <br> elements. I've verified that what's done here is what WinIE does when setting innerText.
45214         
45215         (WebCore::HTMLElement::setOuterText):
45216         Fix comment.
45218         * rendering/RenderTextField.cpp:
45219         (WebCore::RenderTextField::textWithHardLineBreaks):
45220         Remove assert. m_div->firstChild() can be null now because setInnerText doesn't create
45221         text nodes for empty strings anymore.
45223 2006-07-06  Adele Peterson  <adele@apple.com>
45225         Reviewed by Tim Hatcher.
45227         - Speculative fix for <rdar://problem/4605532> unrepro crash at cnn.com after upgrading to 10.4.7 (but happening with 10.4.6 too)
45229         * page/FrameView.cpp: (WebCore::FrameView::layout): Ref's the view during layout, since a recalcStyle could cause the view to be deleted.
45230         If we get back from recalcStyle, and there's only one ref, return early since the the view will be deleted when we exit layout.
45231         * page/FrameView.h: (WebCore::FrameView::hasOneRef): Added.
45233 2006-07-06  Anders Carlsson  <acarlsson@apple.com>
45235         Reviewed by Maciej.
45237         <rdar://problem/4610891> Support overflow events
45238         
45239         * DerivedSources.make:
45240         Add generated sources.
45241         
45242         * WebCore.xcodeproj/project.pbxproj:
45243         Add new files.
45244         
45245         * bindings/js/kjs_events.cpp:
45246         (KJS::toJS):
45247         Support creating wrappers for overflow events..
45248         
45249         * bindings/objc/DOMEvents.h:
45250         * bindings/objc/DOMEvents.mm:
45251         (+[DOMEvent _eventWith:]):
45252         (-[DOMOverflowEvent _overflowEvent]):
45253         (-[DOMOverflowEvent orient]):
45254         (-[DOMOverflowEvent horizontalOverflow]):
45255         (-[DOMOverflowEvent verticalOverflow]):
45256         Add Objective-C wrapper for overflow events.
45257         
45258         * dom/Event.cpp:
45259         (WebCore::Event::isOverflowEvent):        
45260         * dom/Event.h:
45261         * dom/EventNames.h:
45262         * dom/OverflowEvent.cpp: Added.
45263         (WebCore::OverflowEvent::OverflowEvent):
45264         (WebCore::OverflowEvent::isOverflowEvent):
45265         * dom/OverflowEvent.h: Added.
45266         (WebCore::OverflowEvent::):
45267         (WebCore::OverflowEvent::orient):
45268         (WebCore::OverflowEvent::horizontalOverflow):
45269         (WebCore::OverflowEvent::verticalOverflow):
45270         * dom/OverflowEvent.idl: Added.
45271         Add overflow events.
45272         
45273         * page/FrameView.cpp:
45274         (WebCore::FrameViewPrivate::FrameViewPrivate):
45275         (WebCore::FrameView::applyOverflowToViewport):        
45276         (WebCore::FrameView::layout):
45277         Dispatch any scheduled events when layout is done.
45278         
45279         (WebCore::FrameView::scheduleEvent):
45280         New function which schedules an event.
45281         
45282         (WebCore::FrameView::updateOverflowStatus):
45283         Update overflow status for the viewport.
45284         
45285         (WebCore::FrameView::dispatchScheduledEvents):
45286         New function which dispatches all scheduled events.
45287         
45288         * page/FrameView.h:
45289         Add declarations.
45290         
45291         * rendering/RenderLayer.cpp:
45292         (WebCore::RenderLayer::RenderLayer):
45293         (WebCore::RenderLayer::updateOverflowStatus):
45294         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
45295         * rendering/RenderLayer.h:
45296         Schedule overflow events when overflow status changes.
45298 2006-07-06  Timothy Hatcher  <timothy@apple.com>
45300         Reviewed by Geoff.
45302         <rdar://problem/4610881> Expose scroll-related JS properties to ObjC DOM interface
45303         <rdar://problem/4519675> offsetLeft, offsetTop, offsetHeight, and offsetWidth
45304         properties are not exposed to ObjC
45306         * bindings/objc/DOMPrivate.h:
45307         * bindings/objc/DOMHTML.mm:
45308         (-[DOMHTMLElement offsetLeft]):
45309         (-[DOMHTMLElement offsetTop]):
45310         (-[DOMHTMLElement offsetWidth]):
45311         (-[DOMHTMLElement offsetHeight]):
45312         (-[DOMHTMLElement offsetParent]):
45313         (-[DOMHTMLElement clientWidth]):
45314         (-[DOMHTMLElement clientHeight]):
45315         (-[DOMHTMLElement scrollLeft]):
45316         (-[DOMHTMLElement setScrollLeft:]):
45317         (-[DOMHTMLElement scrollTop]):
45318         (-[DOMHTMLElement setScrollTop:]):
45319         (-[DOMHTMLElement scrollWidth]):
45320         (-[DOMHTMLElement scrollHeight]):
45322 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
45324         Reviewed by Adele.
45326         - fix 435 more layout tests Node leaks
45328         * editing/CompositeEditCommand.cpp:
45329         (WebCore::CompositeEditCommand::moveParagraphs): fix more instances of leaked DOM ranges
45331 2006-07-06  David Harrison  <harrison@apple.com>
45333         Reviewed by Geoff
45335         <rdar://problem/4565031> innerHTML of XMP tag returns special characters like '&gt;' instead of '>'
45337         Test: fast/innerHTML/006.html
45338        
45339         * editing/markup.cpp:
45340         (WebCore::startMarkup):
45341         (WebCore::createMarkup):
45342         Do not special quote content of XMP nodes.
45344 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
45346         - back out earlier leak fix, as it caused a crash on one of the fast/invalid layout tests
45348         * dom/Document.cpp:
45349         (WebCore::Document::removedLastRef):
45350         * html/HTMLParser.cpp:
45351         (WebCore::HTMLStackElem::HTMLStackElem):
45352         (WebCore::HTMLParser::popNestedHeaderTag):
45353         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
45354         (WebCore::HTMLParser::reopenResidualStyleTags):
45355         (WebCore::HTMLParser::popBlock):
45356         (WebCore::HTMLParser::popOneBlock):
45358 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
45360         Reviewed by Anders.
45362         - fix ~3000 Node leaks on the editing tests
45364         * editing/CompositeEditCommand.cpp:
45365         (WebCore::CompositeEditCommand::moveParagraphs): put a newly created Range in a RefPtr
45366         to avoid leaking it, as this leaks the whole document.
45368 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
45370         Reviewed by Anders.
45372         - fix 26 Node leaks on various fast/dom tests
45374         * dom/Document.cpp:
45375         (WebCore::Document::removedLastRef): Delete the tokenizer here, since if we are in mid-parse,
45376         the parser might hold refs on some of our children that have self-only refs.
45377         * html/HTMLParser.cpp:
45378         (WebCore::HTMLStackElem::HTMLStackElem): don't ref the node if it is a document to avoid ref cycles
45379         (WebCore::HTMLStackElem::~HTMLStackElem): ditto
45380         (WebCore::HTMLStackElem::node): changed interface a bit to support the above
45381         (WebCore::HTMLStackElem::setNode): ditto
45382         (WebCore::HTMLParser::popNestedHeaderTag): use new interface to HTMLStackElem
45383         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): ditto
45384         (WebCore::HTMLParser::reopenResidualStyleTags): ditto
45385         (WebCore::HTMLParser::popBlock): ditto
45386         (WebCore::HTMLParser::popOneBlock): ditto
45388 2006-07-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
45390         Reviewed by Adele.
45391         
45392         * rendering/RenderMenuList.h:
45393         (WebCore::RenderMenuList::createsAnonymousWrapper): This method replaces
45394         allowsReusingAnonymousChild() and has the opposite meaning.
45395         
45396 2006-07-05  Adele Peterson  <adele@apple.com>
45398         Build fixes.
45400         * WebCore.vcproj/WebCore/WebCore.vcproj:
45401         * platform/win/TemporaryLinkStubs.cpp:
45402         * rendering/RenderMenuList.cpp:
45403         (WebCore::RenderMenuList::calcMinMaxWidth):
45404         * rendering/RenderPopupMenuWin.h:
45405         (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
45406         * rendering/RenderThemeWin.cpp:
45408 2006-07-05  Maciej Stachowiak  <mjs@apple.com>
45410         Reviewed by Adele.
45412         - fix 308 Node leaks on the editing layout tests
45414         * dom/Document.cpp: (WebCore::Document::removedLastRef): Clear the markers once there
45415         are no real refs on the document, otherwise a self-only reference cycle w/ the document
45416         can occur.
45418 2006-07-05  Adele Peterson  <adele@apple.com>
45420         Reviewed by Maciej and Hyatt.
45422         Initial implementation of popup menu control.  This can be turned on by setting -webkit-appearance: menulist on a select element.
45424         * WebCore.xcodeproj/project.pbxproj: Added RenderMenuList.h, RenderMenuList.cpp, RenderPopupMenu.h, RenderPopupMenu.cpp, 
45425         RenderPopupMenuWin.h, RenderPopupMenuMac.h, RenderPopupMenuMac.mm, 
45426     
45427         * dom/Node.cpp:
45428         (WebCore::Node::renderStyle): Added. Returns the renderer's style.  If there's no renderer, returns's a RenderStyle that's kept by the node.
45429         This is important for HTMLOptGroupElement and HTMLOptionElement, which don't have renderers.
45430         (WebCore::Node::setRenderStyle): Added.
45431         * dom/Node.h:
45432         * dom/Element.cpp: (WebCore::Element::recalcStyle): Updated to use renderStyle so recalcStyle will work for HTMLOptionElements and HTMLOptGroupElements.
45433            
45434         * css/cssstyleselector.cpp: Updated to call renderStyle method on the node, so resolving style works on elements w/o renderers that cache style. 
45435         (WebCore::CSSStyleSelector::initForStyleResolve):
45436         (WebCore::CSSStyleSelector::locateCousinList):
45437         (WebCore::CSSStyleSelector::canShareStyleWithElement):
45438         (WebCore::CSSStyleSelector::locateSharedStyle):
45439         (WebCore::CSSStyleSelector::checkOneSelector):
45441         * css/html4.css: Removed display:none from options and optgroups, since we're now caching style for these elements.
45442         Added font-weight styles for option and optgroup.
45443         
45444         * html/HTMLOptGroupElement.h: Added m_style to keep track of a RenderStyle for the element, even though we aren't creating a renderer.
45445         This will allow us to honor style for optgroups and options for popup menus (and eventually list boxes too).
45446         (WebCore::HTMLOptGroupElement::rendererIsNeeded): Added.
45447         (WebCore::HTMLOptGroupElement::renderStyle): Added.
45448         * html/HTMLOptionElement.h: ditto.
45449         (WebCore::HTMLOptionElement::rendererIsNeeded): Added.
45450         (WebCore::HTMLOptionElement::renderStyle): Added.
45451         
45452         * html/HTMLOptGroupElement.cpp:
45453         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Initialize m_style.
45454         (WebCore::HTMLOptGroupElement::attach): Set the renderStyle.
45455         (WebCore::HTMLOptGroupElement::detach): Clear m_style.
45456         (WebCore::HTMLOptGroupElement::setRenderStyle): Added.
45457         (WebCore::HTMLOptGroupElement::groupLabelText): Added.
45458         * html/HTMLOptionElement.cpp: ditto.
45459         (WebCore::HTMLOptionElement::HTMLOptionElement):
45460         (WebCore::HTMLOptionElement::attach):
45461         (WebCore::HTMLOptionElement::detach):
45462         (WebCore::HTMLOptionElement::setRenderStyle):
45463         (WebCore::HTMLOptionElement::optionText):
45465         * html/HTMLSelectElement.cpp: Added code to use the new RenderMenuList if the appearance is set to MenuListAppearance, 
45466         and if we're not creating a list box renderer.
45467         (WebCore::HTMLSelectElement::recalcStyle):
45468         (WebCore::HTMLSelectElement::createRenderer):
45469         (WebCore::HTMLSelectElement::setRecalcListItems):
45470         (WebCore::HTMLSelectElement::reset):
45471         (WebCore::HTMLSelectElement::notifyOptionSelected):
45472         (WebCore::HTMLSelectElement::defaultEventHandler):
45473         * html/HTMLSelectElement.h:
45475         * WebCore.exp: Added _wkPopupMenu.
45476         * platform/mac/WebCoreSystemInterface.h: Added wkPopupMenu to get the NSMenu to pop up.
45477         * platform/mac/WebCoreSystemInterface.mm:
45479         * platform/win/TemporaryLinkStubs.cpp: Added stubs for RenderPopupMenuWin.
45480         (RenderPopupMenuWin::RenderPopupMenuWin):
45481         (RenderPopupMenuWin::~RenderPopupMenuWin):
45482         (RenderPopupMenuWin::clear):
45483         (RenderPopupMenuWin::populate):
45484         (RenderPopupMenuWin::showPopup):
45485         (RenderPopupMenuWin::addSeparator):
45486         (RenderPopupMenuWin::addGroupLabel):
45487         (RenderPopupMenuWin::addOption):
45488         * rendering/RenderPopupMenuWin.h: Added.
45490         * rendering/RenderPopupMenu.cpp: Added.
45491         (WebCore::RenderPopupMenu::RenderPopupMenu):
45492         (WebCore::RenderPopupMenu::~RenderPopupMenu):
45493         (WebCore::RenderPopupMenu::clear):
45494         (WebCore::RenderPopupMenu::populate): Walks the DOM tree, and adds separators, options, and group labels to the RenderPopupMenu.
45495         (WebCore::RenderPopupMenu::showPopup):
45496         (WebCore::RenderPopupMenu::addSeparator):
45497         (WebCore::RenderPopupMenu::addGroupLabel):
45498         (WebCore::RenderPopupMenu::addOption):
45499         * rendering/RenderPopupMenu.h: Added.
45500         (WebCore::RenderPopupMenu::renderName):
45501         (WebCore::RenderPopupMenu::getRenderMenuList):
45502         * rendering/RenderPopupMenuMac.h: Added.
45503         * rendering/RenderPopupMenuMac.mm: Added.
45504         (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
45505         (WebCore::RenderPopupMenuMac::~RenderPopupMenuMac):
45506         (WebCore::RenderPopupMenuMac::clear): Removes all items from the menu.
45507         (WebCore::RenderPopupMenuMac::populate): Disables menuChangedMessages before populating the menu.
45508         (WebCore::RenderPopupMenuMac::showPopup): Calculates the right position, and calls wkPopupMenu.
45509         (WebCore::RenderPopupMenuMac::addSeparator):
45510         (WebCore::RenderPopupMenuMac::addGroupLabel):
45511         (WebCore::RenderPopupMenuMac::addOption):
45512         
45513         * rendering/RenderMenuList.cpp: Added.
45514         (WebCore::RenderMenuList::RenderMenuList):
45515         (WebCore::RenderMenuList::addChild):
45516         (WebCore::RenderMenuList::removeChild):
45517         (WebCore::RenderMenuList::setStyle):
45518         (WebCore::RenderMenuList::updateFromElement): If the options have changed, iterate through the children to find the menu item with the widest text.
45519         Set the button text to the selected item's text.
45520         (WebCore::RenderMenuList::setText):
45521         (WebCore::RenderMenuList::paintObject):
45522         (WebCore::RenderMenuList::baselinePosition):
45523         (WebCore::RenderMenuList::calcMinMaxWidth):
45524         (WebCore::RenderMenuList::showPopup):
45525         (WebCore::RenderMenuList::layout):
45526         (WebCore::RenderMenuList::updateSelection):
45527         (WebCore::RenderMenuList::valueChanged):
45528         * rendering/RenderMenuList.h: Added.
45529         (WebCore::RenderMenuList::removeLeftoverAnonymousBoxes):
45530         (WebCore::RenderMenuList::allowsReusingAnonymousChild):
45531         (WebCore::RenderMenuList::canHaveChildren):
45532         (WebCore::RenderMenuList::renderName):
45533         (WebCore::RenderMenuList::setOptionsChanged):
45534         (WebCore::RenderMenuList::selectionChanged):
45535         (WebCore::RenderMenuList::setSelectionChanged):
45536         (WebCore::RenderMenuList::hasPopupMenu):
45538         * rendering/RenderTheme.cpp: Added cases for MenuListAppearance.
45539         (WebCore::RenderTheme::adjustStyle):
45540         (WebCore::RenderTheme::paint):
45541         (WebCore::RenderTheme::paintBorderOnly):
45542         (WebCore::RenderTheme::isControlStyled):
45543         (WebCore::RenderTheme::adjustMenuListStyle):
45544         (WebCore::RenderTheme::createPopupMenu): creates platform-specific RenderPopupMenu.
45545         * rendering/RenderTheme.h:
45546         (WebCore::RenderTheme::sizeOfArrowControl): Added. 
45547         (WebCore::RenderTheme::paintMenuList): Added.
45548         * rendering/RenderThemeMac.h:
45549         * rendering/RenderThemeMac.mm:
45550         (WebCore::RenderThemeMac::adjustRepaintRect):
45551         (WebCore::RenderThemeMac::paintMenuList):
45552         (WebCore::RenderThemeMac::adjustMenuListStyle):
45553         (WebCore::RenderThemeMac::setPopupButtonCellState):
45554         (WebCore::RenderThemeMac::createPopupMenu):
45555         (WebCore::RenderThemeMac::sizeOfArrowControl):
45556         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::createPopupMenu):
45557         * rendering/RenderThemeWin.h:
45559 2006-07-05  Brady Eidson  <beidson@apple.com>
45561         Reviewed by Tim Omernick.
45563         IconDatabase now respects private browsing via the use of in memory, temporary tables
45565         * bridge/mac/WebCoreIconDatabaseBridge.mm:
45566         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
45567         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]): Renamed WebCore::IconDatabase methods, changes reflected here
45569         * icon/IconDatabase.cpp:
45570         (WebCore::IconDatabase::clearDatabase):
45571         (WebCore::IconDatabase::deletePrivateTables):
45572         (WebCore::IconDatabase::imageDataForIconID):
45573         (WebCore::IconDatabase::imageDataForIconURL):
45574         (WebCore::IconDatabase::imageDataForPageURL):
45575         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
45576         (WebCore::IconDatabase::iconForPageURL):
45577         (WebCore::IconDatabase::iconURLForPageURL):
45578         (WebCore::IconDatabase::setIconDataForIconURL):
45579         (WebCore::IconDatabase::performSetIconDataForIconID):
45580         (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
45581         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
45582         (WebCore::IconDatabase::setHaveNoIconForIconURL):
45583         (WebCore::IconDatabase::setIconURLForPageURL):
45584         (WebCore::IconDatabase::performSetIconURLForPageURL):
45585         (WebCore::IconDatabase::hasIconForIconURL):
45586         -Some style/comment cleanups, but mainly putting private browsing handling in place
45588         * icon/IconDatabase.h:  Some methods added, others renamed, some comments added
45590         * icon/SQLStatement.cpp:
45591         (WebCore::SQLStatement::getColumnName):
45592         (WebCore::SQLStatement::getColumnName16):
45593         (WebCore::SQLStatement::getColumnText):
45594         (WebCore::SQLStatement::getColumnText16):
45595         -The above 4 had changes to return String() for empty results instead of "" as it's less expensive;
45597 2006-07-05  John Sullivan  <sullivan@apple.com>
45599         Reviewed by Darin and Adele.
45600         
45601         - fixed <rdar://problem/4609162> REGRESSION: When tabbing between links on a page, 
45602         the window doesn't scroll to link that's not in view
45604         * html/HTMLAnchorElement.cpp:
45605         * html/HTMLAnchorElement.h:
45606         removed HTMLAnchorElement::focus and HTMLAnchorElement::blur. 
45607         
45608         HTMLAnchorElement::focus just called document()->setFocusNode(). The scroll-to-reveal
45609         code used to be inside document()->setFocusNode(), but now it's in Element::focus, and this override
45610         was preventing that code from running.
45611         
45612         HTMLAnchorElement::blur was exactly the same implementation as Element::blur (and there aren't any
45613         other implementations of ::blur in the class hierarchy in between). This change has no practical
45614         effect, other than removing duplicate code.
45615         
45616         Adele and I think that it was an oversight not to remove these two methods on 12/20/05
45617         these methods were removed from HTMLButtonElementImpl and HTMLInputElementImpl.
45619 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
45621         * bridge/win/FrameWin.cpp:
45622         (WebCore::FrameWin::FrameWin):
45623         * bridge/win/FrameWin.h:
45624         * platform/win/TemporaryLinkStubs.cpp:
45625         (FrameWin::createFrame):
45626         Fix Win32 build.
45628 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
45630         * WebCore.xcodeproj/project.pbxproj:
45631         Revert accidental change of debug format to DWARF.
45633 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
45635         Reviewed by Maciej.
45637         http://bugs.webkit.org/show_bug.cgi?id=3581
45638         iFrames set to display:none are Missing from frames array
45640         * bridge/mac/FrameMac.h:
45641         * bridge/mac/FrameMac.mm:
45642         (WebCore::FrameMac::FrameMac):
45643         (WebCore::FrameMac::createFrame):
45644         * bridge/mac/WebCoreFrameBridge.h:
45645         * bridge/mac/WebCoreFrameBridge.mm:
45646         (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
45647         (-[WebCoreFrameBridge installInFrame:]):
45648         Modify to pass the owner element instead of the owner renderer.        
45650         * dom/ContainerNode.cpp:
45651         (WebCore::ContainerNode::insertBefore):
45652         (WebCore::ContainerNode::replaceChild):
45653         (WebCore::ContainerNode::appendChild):
45654         Dispatch the node inserted events before attaching the nodes. This is what the
45655         tokenizer does.
45656         
45657         * html/HTMLFrameElement.cpp:
45658         (WebCore::HTMLFrameElement::openURL):
45659         (WebCore::HTMLFrameElement::attach):
45660         Pass the element to requestFrame.
45661         
45662         (WebCore::HTMLFrameElement::setLocation):
45663         Don't call attach/detach on an iframe.
45665         * html/HTMLIFrameElement.cpp:
45666         (WebCore::HTMLIFrameElement::insertedIntoDocument):
45667         Load the frame here (using openURL).
45668         
45669         (WebCore::HTMLIFrameElement::removedFromDocument):
45670         Call frameDetached.
45671         
45672         (WebCore::HTMLIFrameElement::attach):
45673         If there's a renderer, attach the content frame to it.
45674         
45675         (WebCore::HTMLIFrameElement::detach):
45676         Reset the renderer's frame.
45677         
45678         (WebCore::HTMLIFrameElement::openURL):
45679         Modify to request the frame.
45680         
45681         * html/HTMLIFrameElement.h:
45682         Add detach.
45683         
45684         * page/Frame.cpp:
45685         (WebCore::parentFromOwnerElement):
45686         (WebCore::Frame::Frame):
45687         (WebCore::Frame::~Frame):
45688         (WebCore::Frame::requestFrame):
45689         (WebCore::Frame::requestObject):
45690         (WebCore::Frame::loadSubframe):
45691         (WebCore::Frame::ownerElement):
45692         (WebCore::Frame::ownerRenderer):
45693         (WebCore::Frame::disconnectOwnerElement):
45694         * page/Frame.h:
45695         * page/FramePrivate.h:
45696         (WebCore::FramePrivate::FramePrivate):        
45697         * rendering/RenderPart.cpp:
45698         (WebCore::RenderPart::setFrame):
45699         Modify to keep an owner element around instead of the renderer. 
45700         
45701         * rendering/RenderPartObject.cpp:
45702         (WebCore::RenderPartObject::updateWidget):
45703         Don't do anything for iframes.
45705 2006-07-04  Kevin Ollivier  <kevino@theolliviers.com>
45707         Reviewed by Maciej, reworked a bit by Darin.
45709         Compile fixes for wx port / gcc 4.0.2
45710         
45711         * platform/PlatformString.h:
45712         * platform/StringImpl.h:
45713         Include CoreFoundation for CF-specific code.
45714         
45715         * dom/DocPtr.h:
45716         * doc/EventTargetNode.h:
45717         Silence warnings about 'extra tokens' after #endif on gcc 4.0.2.
45718         (Not an error but warnings appear frequently.)
45719         
45720         * WebCoreSources.bkl:
45721         * webcore-base.bkl:
45722         Synching ports sources file with TOT. Also, making sure SRCDIR variable
45723         overrides any previous values.
45724         
45725         * loader/ImageDocument.cpp:
45726         Use PLATFORM(MAC) for the parts that are specific to the Macintosh version,
45727         and move the Objective-C parts to another file.
45729         * loader/mac/ImageDocumentMac.h: Added.
45730         * loader/mac/ImageDocumentMac.mm: Added.
45732 2006-07-04  Sam Weinig  <sam.weinig@gmail.com>
45734         Build fix.
45736         * platform/Color.cpp:
45737         (WebCore::makeRGBAFromHSLA):
45739 2006-07-02  David Carson  <dacarson@gmail.com>
45741         Reviewed by Darin.
45742   
45743         - Added HSL color support as specified in CSS3 spec.
45744         http://bugs.webkit.org/show_bug.cgi?id=9506
45745         Added parsing support of hsl(h,s,l) and hsla(h,s,l,a)
45746         Added converting code to convert HSL to RGB
45748         * css/cssparser.cpp:
45749         (WebCore::CSSParser::parseColorParameters):
45750         Moved common code to parse RGB/RGBA values into it's
45751         own function. This code was duplicated in the parseColorFromValue()
45752         method.
45753         (WebCore::CSSParser::parseHSLParameters):
45754         Common code to parse HSL/HSLA values.
45755         (WebCore::CSSParser::parseColorFromValue):
45756         Moved RGB/RGBA parsing out to seperate function as the code was
45757         duplicated. 
45758         Added parsing support for hsl( and hsla(
45759         * css/cssparser.h:
45760         Added two new functions parseColorParameters() and 
45761         parseHSLParameters().
45762         * platform/Color.cpp:
45763         (WebCore::calcHue):
45764         Added Hue parameter to RGB color.
45765         (WebCore::makeRGBAFromHSLA):
45766         New function to convert HSLA to RGBA.
45767         * platform/Color.h:
45768         Added new functions makeRGBAFromHSLA() and calcHue().
45770 2006-07-02  Mike Emmel  <mike.emmel@gmail.com>
45772         Reviewed and landed by ggaren.
45774         * platform/gdk/TransferJobManager.cpp
45775         Fixed broken dowload logic
45776         * platform/gdk/ScrollViewGdk.cpp 
45777         Add comment that scrollbarSize is a temporary variable
45778         * Projects/gdk/webcore-gdk.bkl
45779         Defined NDEBUG build executable is miscompiled otherwise
45780         * WebCoreSources.bkl
45781         added icon/SiteIcon.cpp editing/IndentOutdentCommand.cpp 
45782         html/HTMLViewSourceDocument.cpp
45784 2006-07-02  Shawn Stricker  <kb1ibt@gmail.com>
45786         Reviewed by Timothy Hatcher.  Build fix for Linux.
45788         - fix http://bugs.webkit.org/show_bug.cgi?id=9684
45789           [GDK] multiple little fixes and a few new things for Templinkstubs
45791         * platform/gdk/ScrollViewGdk.cpp:
45792         (WebCore::ScrollView::setDrawable): Changed SCROLLBAR_SIZE to scrollbarSize.
45793         * platform/gdk/TemporaryLinkStubs.cpp:
45794         (Image::drawTiled): Added missing parameter to argument list.
45795         * platform/gdk/TransferJobManager.cpp:
45796         (WebCore::writeCallback): Added missing parenthesis to static_cast.
45798 2006-07-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
45800         Reviewed by Darin.
45802         - fix http://bugs.webkit.org/show_bug.cgi?id=9674
45803           REGRESSION (r15075): Blank or incomplete pages on digg.com
45805         Replaced the requestingScript state bit added in the fix for bug 9317
45806         with a m_requestingScript bool that is set before and restored
45807         after calling ref() on a CachedScript.
45808         
45809         Test: fast/tokenizer/nested-cached-scripts.html
45811         * html/HTMLTokenizer.cpp:
45812         (WebCore::HTMLTokenizer::HTMLTokenizer):
45813         (WebCore::HTMLTokenizer::begin):
45814         (WebCore::HTMLTokenizer::scriptHandler):
45815         (WebCore::HTMLTokenizer::notifyFinished):
45816         * html/HTMLTokenizer.h:
45817         (WebCore::HTMLTokenizer::State::):
45819 2006-07-01  David Kilzer  <ddkilzer@kilzer.net>
45821         Reviewed by NOBODY (build fix).
45823         * platform/gdk/TransferJobManager.cpp:
45824         (WebCore::writeCallback): Changed 'static_cat' to 'static_cast'.
45826 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
45828         Reviewed and worked over a lot by Darin.
45830         - check in first set of GDK-specific sources
45832         * platform/gdk/BrowserExtensionGdk.h: Added.
45833         * platform/gdk/CookieJarGdk.cpp: Added.
45834         * platform/gdk/CursorGdk.cpp: Added.
45835         * platform/gdk/FontCacheGdk.cpp: Added.
45836         * platform/gdk/FontDataGdk.cpp: Added.
45837         * platform/gdk/FontGdk.cpp: Added.
45838         * platform/gdk/FontPlatformData.h: Added.
45839         * platform/gdk/FontPlatformDataGdk.cpp: Added.
45840         * platform/gdk/FrameGdk.cpp: Added.
45841         * platform/gdk/FrameGdk.h: Added.
45842         * platform/gdk/GlyphMapGdk.cpp: Added.
45843         * platform/gdk/KeyEventGdk.cpp: Added.
45844         * platform/gdk/KeyboardCodes.h: Added.
45845         * platform/gdk/MouseEventGdk.cpp: Added.
45846         * platform/gdk/PageGdk.cpp: Added.
45847         * platform/gdk/RenderThemeGdk.cpp: Added.
45848         * platform/gdk/RenderThemeGdk.h: Added.
45849         * platform/gdk/ScreenGdk.cpp: Added.
45850         * platform/gdk/ScrollViewGdk.cpp: Added.
45851         * platform/gdk/SharedTimerLinux.cpp: Added.
45852         * platform/gdk/SystemTimeLinux.cpp: Added.
45853         * platform/gdk/TemporaryLinkStubs.cpp: Added.
45854         * platform/gdk/TransferJobCurl.cpp: Added.
45855         * platform/gdk/TransferJobManager.cpp: Added.
45856         * platform/gdk/TransferJobManager.h: Added.
45857         * platform/gdk/WheelEventGdk.cpp: Added.
45858         * platform/gdk/WidgetGdk.cpp: Added.
45859         * platform/gdk/gdk-encodings.txt: Added.
45861 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
45863         Reviewed by Darin.
45865         * WebCoreSources.bkl: Updated for recent file changes.
45867 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
45869         Reviewed and enhanced by Darin.
45871         Compilation fixes for Linux/Gdk.
45873         * WebCore/platform/FontData.h: Added forward declaration of a class.
45874         * WebCore/platform/cairo/GraphicsContextCairo.cpp: Fixed case on include.
45875         * WebCore/bindings/js/kjs_html.cpp: Added <math.h> include.
45877         * WebCore/css/maketokenizer: Fixed incorrect check for Linux that was
45878         already true even on Mac OS X. Added some additional includes and
45879         defines to the Linux extra generated code.
45881 2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
45883         Reviewed by Hyatt.
45885         - fix http://bugs.webkit.org/show_bug.cgi?id=7204
45886           float inserted in fixed height block via DOM not repainted
45888         Test: fast/repaint/float-move-during-layout.html
45890         * rendering/RenderBlock.cpp:
45891         (WebCore::RenderBlock::layoutBlockChildren):
45892         (WebCore::RenderBlock::repaintOverhangingFloats): Renamed repaintFloatingDescendants()
45893         to this and limited it to repainting overhanging floats. Added a boolean parameter that forces
45894         all descendant overhanging floats (that don't have their own layer) to paint.
45895         * rendering/RenderBlock.h:
45896         * rendering/RenderBox.cpp:
45897         (WebCore::RenderBox::repaintDuringLayoutIfMoved): Changed to paint all descendant
45898         floats.
45899         * rendering/RenderObject.cpp:
45900         (WebCore::RenderObject::repaintOverhangingFloats):
45901         * rendering/RenderObject.h:
45903 2006-06-30  Levi Weintraub  <lweintraub@apple.com>
45905         Reviewed by justin
45907         * editing/VisiblePosition.cpp: Removed is[Not]EqualIgnoringAffinity and made operator== use the logic that ignores affinity.
45908         * editing/VisiblePosition.h: Ditto.
45909         (WebCore::operator==):
45910         * editing/visible_units.cpp:
45911         (WebCore::isStartOfParagraph): Changed to compare VisiblePositions using ==.
45912         (WebCore::isEndOfParagraph): Ditto.
45913         (WebCore::isStartOfBlock): Ditto.
45914         (WebCore::isEndOfBlock): Ditto.
45916 === Safari-521.14 ===
45918 2006-06-30  Justin Garcia  <justin.garcia@apple.com>
45920         Reviewed by levi
45922         * editing/htmlediting.cpp:
45923         (WebCore::canHaveChildrenForEditing): Don't insert children into
45924         object tags while editing.
45926 2006-06-30  Justin Garcia  <justin.garcia@apple.com>
45928         Reviewed by harrison
45929         
45930         <rdar://problem/4598309
45931         Caret gets stuck when it hits non editable content within an editable body
45932         <http://bugs.webkit.org/show_bug.cgi?id=9510>
45933         Caret will jump out of an editable region
45934         
45935         * dom/Position.cpp:
45936         (WebCore::Position::upstream): Don't move into a new editable region so that 
45937         candidates that that straddle an editable/non-editable boundary will 
45938         correspond to different VisiblePositions.
45939         (WebCore::Position::downstream): Ditto.
45940         * editing/SelectionController.cpp:
45941         (WebCore::SelectionController::modifyMovingRightForward): Use VisiblePosition::next(true)
45942         (WebCore::SelectionController::modifyMovingLeftBackward): Use VisiblePosition::previous(true)
45943         * editing/VisiblePosition.cpp:
45944         (WebCore::VisiblePosition::next): Added code to jump to the next editable region as long
45945         as it has the same highest editable root.
45946         (WebCore::VisiblePosition::previous): Ditto.
45947         * editing/VisiblePosition.h:
45948         * editing/htmlediting.cpp:
45949         (WebCore::highestEditableRoot): Added, returns the highest editable root of a node if that
45950         node is in editable content, otherwise 0.
45951         * editing/htmlediting.h:
45953 2006-06-30  David Kilzer  <ddkilzer@kilzer.net>
45955         Reviewed by Darin.
45957         - Fix http://bugs.webkit.org/show_bug.cgi?id=9358
45958           REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer
45959           (value == constrainValue(value)) when deleting all text
45961         Test: editing/deleting/delete-all-text-in-text-field-assertion.html
45963         Bug 9661 filed to fix the follow-up issue:
45964         http://bugs.webkit.org/show_bug.cgi?id=9661
45965         textContent returns "\n" for a <br> even if it is collapsed
45967         * html/HTMLInputElement.cpp:
45968         (WebCore::HTMLInputElement::setValueFromRenderer): Work around "\n" value
45969         when all characters are deleted from a text field.
45971 2006-06-30  David Harrison  <harrison@apple.com>
45973         Reviewed by Tim Omernick
45975         <rdar://problem/4609481> Crash calling -[WebScriptObject valueForKey:] when JS disabled
45976         
45977         * bridge/mac/FrameMac.mm:
45978         (WebCore::FrameMac::executionContextForDOM):
45979         Early return if JS is not enabled.
45981 2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
45983         Reviewed by Tim H.
45985         - fix http://bugs.webkit.org/show_bug.cgi?id=9664
45986           REGRESSION (r15106): Crash in fast/events/mouseover-mouseout2.html
45988         * page/FrameView.cpp:
45989         (WebCore::FrameView::handleMouseMoveEvent): Added a check that oldSubframe is
45990         still a subframe of the view's frame before passing the event to it.
45992 2006-06-29  Timothy Hatcher  <timothy@apple.com>
45994         Reviewed by Darin.
45996         <rdar://problem/3694163> -[KWQPageState finalize] is incorrect; design change needed
45997         <rdar://problem/3694165> -[WebCoreFrameBridge finalize] is incorrect; design change needed
45999         Added close methods that need to be called before these
46000         objects can be released. This ensures proper tear-down under GC.
46002         * WebCore.xcodeproj/project.pbxproj:
46003         * bridge/mac/WebCoreFrameBridge.h:
46004         * bridge/mac/WebCoreFrameBridge.mm:
46005         (-[WebCoreFrameBridge dealloc]):
46006         (-[WebCoreFrameBridge finalize]):
46007         (-[WebCoreFrameBridge close]):
46008         * bridge/mac/WebCorePageBridge.h:
46009         * bridge/mac/WebCorePageBridge.mm:
46010         (-[WebCorePageBridge setMainFrame:]):
46011         (-[WebCorePageBridge dealloc]):
46012         (-[WebCorePageBridge finalize]):
46013         (-[WebCorePageBridge close]):
46014         (-[WebCorePageBridge mainFrame]):
46015         (-[WebCorePageBridge setGroupName:]):
46016         (-[WebCorePageBridge groupName]):
46017         * kwq/KWQPageState.h:
46018         * kwq/KWQPageState.mm:
46019         (-[KWQPageState dealloc]):
46020         (-[KWQPageState finalize]):
46021         (-[KWQPageState close]):
46023 2006-06-29  Sam Weinig  <sam.weinig@gmail.com>
46025         Reviewed by Hyatt.
46027         - test for http://bugs.webkit.org/show_bug.cgi?id=4874
46028         Table with absolute bottom positioning is positioned incorrectly
46030         Note: patch originally from Mitz, spruced up by Weinig.
46032         * rendering/RenderBox.cpp:
46033         (WebCore::RenderBox::calcAbsoluteVerticalValues):
46034         * rendering/RenderTable.cpp:
46035         (WebCore::RenderTable::layout):
46037 2006-06-29  Graham Dennis  <Graham.Dennis@gmail.com>
46039         Reviewed by Justin.
46041         - fix http://bugs.webkit.org/show_bug.cgi?id=9505
46042           moveParagraphContentsToNewBlockIfNecessary creates a new block outside the current position
46044         * editing/CompositeEditCommand.cpp:
46045         Added sanity checking to prevent modifying nodes outside of 
46046         where we should be
46047         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
46049 2006-06-29  Brady Eidson  <beidson@apple.com>
46051         Reviewed by Levi.
46053         In addition to a few small details, logging changes, and style cleanups, this is a stop-gap hack
46054         for a problem in SQLite's blob handling.  Querying for a blob in a void* form is reproducibly
46055         returning a corrupt buffer.  The temporary solution is to query for the blob as "quoted text" and
46056         manually convert the return string into a character buffer.
46058         * icon/IconDatabase.cpp:
46059         (WebCore::IconDatabase::recreateDatabase):
46060         (WebCore::IconDatabase::createPrivateTables):
46062         (WebCore::hexToUnsignedChar): These two functions are the text-to-character-data converters for the time being
46063         (WebCore::hexStringToVector):
46065         (WebCore::IconDatabase::imageDataForIconID):
46066         (WebCore::IconDatabase::imageDataForIconURL):
46067         (WebCore::IconDatabase::imageDataForPageURL):
46068         (WebCore::IconDatabase::iconForPageURL):
46069         (WebCore::IconDatabase::hasIconForIconURL):
46070         * icon/IconDatabase.h:  changes the icon data accessors to return a Vector<unsigned char> instead of void*
46072         * icon/SQLStatement.cpp:
46073         (WebCore::SQLStatement::columnCount):
46074         (WebCore::SQLStatement::getColumnBlob):
46075         * icon/SiteIcon.cpp:
46076         (SiteIcon::getImage):
46078 2006-06-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46080         Reviewed by Darin.
46082         - fix http://bugs.webkit.org/show_bug.cgi?id=9652
46083           Assertion failure when changing an RTL table cell to display:none
46085         Test: fast/table/rtl-cell-display-none-assert.html
46087         * rendering/RenderTableSection.cpp:
46088         (WebCore::RenderTableSection::layoutRows): Corrected the index used as
46089         the last index in the columnPos vector.
46091 2006-06-29  Darin Adler  <darin@apple.com>
46093         Reviewed by Anders.
46095         - fix http://bugs.webkit.org/show_bug.cgi?id=9622
46096           showModalDialog returnValue ignored, function result is always "undefined"
46098         * manual-tests/modal-dialog.html: Added.
46099         * manual-tests/show-modal-dialog-test.html: Added.
46101         * page/Frame.cpp: (WebCore::Frame::clear): Call KJSProxy::clear with the
46102         clearWindowProperties parameter instead of not calling it at all when
46103         clearWindowProperties is false.
46105         * bindings/js/kjs_proxy.h: Add boolean clearWindowProperties parameter.
46106         * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear): Pass clearWindowProperties
46107         variable through to Window::clear instead of not calling it at all.
46109         * bindings/js/kjs_window.h: Add boolean clearWindowProperties parameter.
46110         * bindings/js/kjs_window.cpp: (KJS::Window::clear): If clearWindowProperties
46111         is false, do only the returnValue work, not the rest of the work.
46113         * manual-tests/modal-dialog.html: Added.
46114         * manual-tests/show-modal-dialog-test.html: Added.
46116 2006-06-29  Beth Dakin  <bdakin@apple.com>
46118         Reviewed by Hyatt.
46120         Fix for <rdar://problem/4450615> Add composite mode to background 
46121         styles
46123         -webkit-background-composite will set a composite mode on a 
46124         background image.
46126         * css/CSSComputedStyleDeclaration.cpp:
46127         (WebCore::):
46128         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
46129         * css/CSSPropertyNames.in: Add -webkit-background-composite
46130         * css/CSSValueKeywords.in: Add all possible values (clear, copy, 
46131         source-over, source-in, source-out, source-atop, destination-over, 
46132         destination-in, destination-out, destination-atop, xor, plus-
46133         darker, highlight, and plus-lighter)
46134         * css/cssparser.cpp:
46135         (WebCore::CSSParser::parseValue):
46136         (WebCore::CSSParser::parseBackgroundProperty):
46137         * css/cssstyleselector.cpp:
46138         (WebCore::CSSStyleSelector::applyProperty):
46139         (WebCore::CSSStyleSelector::mapBackgroundComposite):
46140         * css/cssstyleselector.h:
46141         * platform/GraphicsContext.cpp:
46142         (WebCore::GraphicsContext::drawTiledImage):
46143         * platform/GraphicsContext.h: drawTiledImage() now takes a 
46144         composite operator.
46145         * platform/Image.h: drawTiled() now takes a composite operator.
46146         * platform/cairo/ImageCairo.cpp:
46147         (WebCore::Image::drawTiled): Set the composite operator.
46148         * platform/mac/ImageMac.mm:
46149         (WebCore::Image::drawTiled): Set the composite operator.
46150         * platform/win/TemporaryLinkStubs.cpp:
46151         (Image::drawTiled):
46152         * rendering/RenderBox.cpp:
46153         (WebCore::RenderBox::paintBackgroundExtended): Send the composite 
46154         operator in the render style over to the graphics context.
46155         * rendering/render_style.cpp:
46156         (WebCore::BackgroundLayer::BackgroundLayer):
46157         (WebCore::BackgroundLayer::operator=):
46158         (WebCore::BackgroundLayer::operator==):
46159         (WebCore::BackgroundLayer::fillUnsetProperties):
46160         (WebCore::BackgroundLayer::cullEmptyLayers):
46161         * rendering/render_style.h:
46162         (WebCore::BackgroundLayer::backgroundComposite):
46163         (WebCore::BackgroundLayer::isBackgroundCompositeSet):
46164         (WebCore::BackgroundLayer::setBackgroundComposite):
46165         (WebCore::BackgroundLayer::clearBackgroundComposite):
46166         (WebCore::RenderStyle::backgroundComposite):
46167         (WebCore::RenderStyle::initialBackgroundComposite):
46169 2006-06-29  David Kilzer  <ddkilzer@kilzer.net>
46171         Reviewed by Darin.
46173         http://bugs.webkit.org/show_bug.cgi?id=9649
46174         The no-svg build broke after r15091
46176         * bindings/objc/DOMInternal.h: Added #if XPATH_SUPPORT/#endif.
46177         * bindings/objc/DOMInternal.mm: Ditto.
46178         (raiseDOMException):
46179         * bindings/objc/DOMXPath.h: Ditto.
46180         * bindings/objc/DOMXPath.mm: Ditto.
46181         * bindings/objc/DOMXPathInternal.h: Ditto.
46183 2006-06-29  Anders Carlsson  <acarlsson@apple.com>
46185         Reviewed by Tim O.
46187         <rdar://problem/4599760> Objective-C XPath support
46188         
46189         * WebCore.xcodeproj/project.pbxproj:
46190         Add files.
46191         
46192         * bindings/objc/DOMInternal.h:
46193         * bindings/objc/DOMInternal.mm:
46194         (raiseDOMException):
46195         Handle XPath exceptions
46196         
46197         * bindings/objc/DOMXPath.h: Added.
46198         (-[DOMXPathNSResolver lookupNamespaceURI:]):
46199         * bindings/objc/DOMXPath.mm: Added.
46200         (-[DOMNativeXPathNSResolver dealloc]):
46201         (-[DOMNativeXPathNSResolver finalize]):
46202         (-[DOMNativeXPathNSResolver _xpathNSResolver]):
46203         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:]):
46204         (+[DOMNativeXPathNSResolver _xpathNSResolverWith:]):
46205         (-[DOMNativeXPathNSResolver lookupNamespaceURI:]):
46206         (-[DOMXPathResult dealloc]):
46207         (-[DOMXPathResult finalize]):
46208         (-[DOMXPathResult resultType]):
46209         (-[DOMXPathResult numberValue]):
46210         (-[DOMXPathResult stringValue]):
46211         (-[DOMXPathResult booleanValue]):
46212         (-[DOMXPathResult singleNodeValue]):
46213         (-[DOMXPathResult invalidIteratorState]):
46214         (-[DOMXPathResult snapshotLength]):
46215         (-[DOMXPathResult iterateNext]):
46216         (-[DOMXPathResult snapshotItem:]):
46217         (-[DOMXPathResult _xpathResult]):
46218         (-[DOMXPathResult _initWithXPathResult:]):
46219         (+[DOMXPathResult _xpathResultWith:]):
46220         (-[DOMXPathExpression evaluate:::]):
46221         (-[DOMXPathExpression _xpathExpression]):
46222         (-[DOMXPathExpression _initWithXPathExpression:]):
46223         (+[DOMXPathExpression _xpathExpressionWith:]):
46224         (-[DOMDocument createExpression::]):
46225         (-[DOMDocument createNSResolver:]):
46226         (-[DOMDocument evaluate:::::]):
46227         * bindings/objc/DOMXPathInternal.h: Added.
46228         Add Objective-C XPath API.
46230 2006-06-28  David Hyatt  <hyatt@apple.com>
46232         Add support for custom highlighting to paint at the root line box level
46233         (and to inflate the box it uses so that it can go outside the bounds of
46234         the line if necessary).
46236         Reviewed by harrison
46238         * bridge/mac/FrameMac.h:
46239         * bridge/mac/FrameMac.mm:
46240         (WebCore::FrameMac::customHighlightLineRect):
46241         (WebCore::FrameMac::paintCustomHighlight):
46242         * bridge/mac/WebCoreFrameBridge.h:
46243         * rendering/InlineTextBox.cpp:
46244         (WebCore::InlineTextBox::paintCustomHighlight):
46245         * rendering/RootInlineBox.cpp:
46246         (WebCore::RootInlineBox::paintCustomHighlight):
46247         (WebCore::RootInlineBox::paint):
46248         * rendering/RootInlineBox.h:
46250 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
46252         Reviewed by justin
46254         <rdar://problem/4592005> FormatBlock inserts in the wrong place, disregarding editable content
46255         <rdar://problem/4590763> FormatBlock for paragraph style doesn't work
46257         * dom/Node.cpp:
46258         (WebCore::Node::rootEditableElement): Return inline nodes
46259         * editing/FormatBlockCommand.cpp:
46260         (WebCore::FormatBlockCommand::doApply): Keep from inserting before editable content
46261         * editing/JSEditor.cpp: Support html braces (<>) around tag names
46263 2006-06-28  Justin Garcia  <justin.garcia@apple.com>
46265         Reviewed by levi
46266         
46267         svg/custom/text-hit-test.svg was failing
46269         * rendering/RenderContainer.cpp:
46270         (WebCore::RenderContainer::positionForCoordinates): Don't skip child
46271         renderers that have a height of 0 when looking for the closest child
46272         renderer, they may contain content that overflows.
46273         * rendering/RenderText.cpp:
46274         (WebCore::RenderText::positionForCoordinates): Fixed typos.
46276 2006-06-28  David Hyatt  <hyatt@apple.com>
46278         Make the view source document properly handle <script>.  We don't syntax
46279         highlight the JS yet, but it shows up properly now.
46281         Reviewed by john
46283         * WebCore.xcodeproj/project.pbxproj:
46284         * html/HTMLTokenizer.cpp:
46285         (WebCore::HTMLTokenizer::scriptHandler):
46287 2006-06-28  Timothy Hatcher  <timothy@apple.com>
46289         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
46291         * WebCore.xcodeproj/project.pbxproj:
46293 2006-06-28  Justin Garcia  <justin.garcia@apple.com>
46295         Reviewed by levi
46296         
46297         Fixed EditActions for InsertHorizontalRule and RemoveFormat.
46298         
46299         * editing/JSEditor.cpp:
46300         * editing/ReplaceSelectionCommand.cpp:
46301         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
46302         (WebCore::ReplaceSelectionCommand::editingAction):
46303         * editing/ReplaceSelectionCommand.h:
46305 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
46307          Build Fix. Reviewed by NOBODY
46309         * editing/IndentOutdentCommand.cpp:
46310         (WebCore::IndentOutdentCommand::indentRegion):
46312 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
46314         Reviewed by justin
46316         http://bugs.webkit.org/show_bug.cgi?id=7568
46317         Bug 7568: Implement Indent/Outdent
46319         * WebCore.vcproj/WebCore/WebCore.vcproj: Added IndentOutdentCommand.h/cpp
46320         * WebCore.xcodeproj/project.pbxproj: Ditto.
46321         * editing/IndentOutdentCommand.cpp: Added.
46322         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
46323         (WebCore::enclosingListOrBlockquote):
46324         (WebCore::IndentOutdentCommand::splitTreeToNode): Splits the DOM tree from a
46325         descendent node to an ending ancestor, duplicating nodes when necessary. Returns
46326         the last node split. Used to insert blockquotes at the topmost level.
46327         (WebCore::IndentOutdentCommand::indentRegion):
46328         (WebCore::IndentOutdentCommand::outdentParagraph):
46329         (WebCore::IndentOutdentCommand::outdentRegion):
46330         (WebCore::IndentOutdentCommand::doApply):
46331         * editing/IndentOutdentCommand.h: Added.
46332         (WebCore::IndentOutdentCommand::):
46333         * editing/JSEditor.cpp: Added the execCommands Indent and Outdent
46334         * editing/htmlediting.cpp:
46335         (WebCore::enclosingNodeWithTag): Finds the enclosing node with any specified tag.
46336         (WebCore::enclosingListChild): Added checks for nill and editable boundaries.
46337         (WebCore::outermostEnclosingListChild): Returns the highest ancestor list child.
46338         (WebCore::highestAncestor): Added.
46339         (WebCore::createElement): Changed the passed in string to a const reference.
46340         * editing/htmlediting.h:
46342 2006-06-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46344         Reviewed by Darin and Hyatt.
46346         - fix http://bugs.webkit.org/show_bug.cgi?id=9561
46347           REGRESSION: Content property on :before of button causes hang on click or hover
46349         Test: fast/forms/button-generated-content.html
46351         * rendering/RenderBlock.cpp:
46352         (WebCore::RenderBlock::setStyle):
46353         * rendering/RenderButton.cpp:
46354         (WebCore::RenderButton::updatePseudoChild): Added. Calls updatePseudoChildForObject()
46355         on the button itself or on its inner div, if it has one.
46356         * rendering/RenderButton.h:
46357         (WebCore::RenderButton::createsAnonymousWrapper): Added. Returns true.
46358         * rendering/RenderContainer.cpp:
46359         (WebCore::RenderContainer::pseudoChild): Added. Returns the child containing
46360         generated content of the requested type if there is one, or otherwise the
46361         child before/after which such generated content should come.
46362         (WebCore::RenderContainer::updatePseudoChild): Removed the child parameter and moved the guts
46363         of this method into updatePseudoChildForObject, which this method calls unless the object
46364         is an anonymous wrapper.
46365         (WebCore::RenderContainer::updatePseudoChildForObject): Added. Does the what
46366         updatePseudoChildForObject did previously, but fetches the pseudo style from
46367         the styledObject parameter.
46368         * rendering/RenderContainer.h:
46369         * rendering/RenderInline.cpp:
46370         (WebCore::RenderInline::setStyle):
46371         (WebCore::RenderInline::addChildToFlow):
46372         (WebCore::RenderInline::splitInlines):
46373         (WebCore::RenderInline::splitFlow):
46374         * rendering/RenderObject.h:
46375         (WebCore::RenderObject::createsAnonymousWrapper): Added. This method replaces
46376         allowsReusingAnonymousChild and returns the opposite of what that method used to
46377         return. Returns true if the object creates an anonymous child to contain all its
46378         other children.
46380 2006-06-27  Brady Eidson  <beidson@apple.com>
46382         Reviewed by Maciej
46384         Hookup the new semi-functional SQLite icon database.
46385         For now, it is living side-by-side with the old DB so one can compare the
46386         two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
46387         compile with ICONDEBUG #defined.
46389         * WebCore.xcodeproj/project.pbxproj:  Added file SiteIcon.cpp
46391         * bridge/mac/WebCoreIconDatabaseBridge.h:
46392         * bridge/mac/WebCoreIconDatabaseBridge.mm:
46393         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
46394         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
46395         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
46396         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
46398         * icon/IconDatabase.cpp:
46399         (WebCore::IconDatabase::isValidDatabase):
46400         (WebCore::IconDatabase::recreateDatabase):
46401         (WebCore::IconDatabase::createPrivateTables):
46402         (WebCore::IconDatabase::deletePrivateTables):
46403         (WebCore::IconDatabase::imageDataForIconID):
46404         (WebCore::IconDatabase::imageDataForIconURL):
46405         (WebCore::IconDatabase::imageDataForPageURL):
46406         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
46407         (WebCore::IconDatabase::iconForPageURL):
46408         (WebCore::IconDatabase::iconURLForURL):
46409         (WebCore::IconDatabase::setIconDataForIconURL):
46410         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
46411         (WebCore::IconDatabase::setHaveNoIconForIconURL):
46412         (WebCore::IconDatabase::setIconURLForPageURL):
46413         (WebCore::IconDatabase::hasIconForIconURL):
46414         * icon/IconDatabase.h:
46415         (WebCore::SiteIcon::getIconURL):
46416         (WebCore::IconDatabase::getPrivateBrowsingEnabled):
46417         
46418         * icon/SiteIcon.cpp: Added.
46419         (SiteIcon::SiteIcon):
46420         (SiteIcon::~SiteIcon):
46421         (SiteIcon::getImage):
46422         (SiteIcon::resetExpiration):
46423         (SiteIcon::getExpiration):
46425 2006-06-27  Rob Buis  <buis@kde.org>
46427         Reviewed by Darin.
46429         http://bugs.webkit.org/show_bug.cgi?id=9605
46430         REGRESSION: pageX and pageY are both 0 for events created with initMouseEvent
46432         Calculate pageX/pageY and clientX/clientY values when using initMouseEvent.
46434         * dom/MouseEvent.cpp:
46435         (WebCore::MouseEvent::initMouseEvent):
46436         * dom/MouseRelatedEvent.cpp:
46437         (WebCore::MouseRelatedEvent::initCoordinates):
46438         * dom/MouseRelatedEvent.h:
46440 2006-06-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46442         Reviewed by Maciej and Darin.
46444         - fix http://bugs.webkit.org/show_bug.cgi?id=9317
46445           REGRESSION: crash in HTML tokenizer at Japanese Apple support page
46447         Test: fast/tokenizer/write-unclosed-script.html
46449         * html/HTMLTokenizer.cpp:
46450         (WebCore::HTMLTokenizer::scriptHandler): Changed to reset the inScript flag
46451         and scriptCodeSize before possible script execution, but not afterwards.
46452         This way, if script execution write()s a <script> tag without closing it,
46453         the tokenizer is left in inScript state. Added code to set the requestingScript
46454         flag around the request for the cached script, to let notifiyFinished() know
46455         that it's being called under scriptHandler().
46456         (WebCore::HTMLTokenizer::scriptExecution): Removed code that saved and restored
46457         the inScript flag. This function is always entered now with inScript being false.
46458         (WebCore::HTMLTokenizer::notifyFinished): Changed to use the new requestingScript
46459         state flag instead of the inScript flag, which is always false now when entering
46460         this function.
46461         * html/HTMLTokenizer.h:
46462         Added the requestingScript state bit, used to tell notifyFinished() that it
46463         is being called under scriptHandler() (which happens when the script is already
46464         in cache).
46466 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
46468         Reviewed by levi
46470         * editing/JSEditor.cpp: Added RemoveFormat.
46472 2006-06-27  Kevin Decker    <kdecker@apple.com>
46474         Reviewed by brady.
46476         Fixed: <rdar://problem/4597679> TOT REGRESSION: popup blocker DOA
46477         
46478         Need to add window.open() support to DumpRenderTree before landing an actual layout test.
46480         * bindings/js/kjs_window.cpp: 
46481         (KJS::WindowFunc::callAsFunction): Because FrameTree::find() returns true for empty strings, 
46482         we must check for empty framenames. Otherwise, illegitimate window.open() calls with no name
46483         will pass right through the popup blocker.
46485 2006-06-28  Anders Carlsson  <acarlsson@apple.com>
46487         Reviewed by Darin.
46489         * css/CSSComputedStyleDeclaration.cpp:
46490         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
46491         Move FIXME comment here.
46492         
46493         * page/DOMWindow.cpp:
46494         (WebCore::DOMWindow::getComputedStyle):
46495         Don't do a null check on the renderer here. Everything's handled by 
46496         CSSComputedStyleDeclaration anyway.
46498 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
46500         Reviewed by darin
46502         * rendering/RenderContainer.cpp: Fixed #include formatting.
46504 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
46506         Reviewed by levi
46507         
46508         <rdar://problem/4599735> Clicking out of a table at the extremes of an editable document doesn't appear to work
46510         * rendering/RenderBlock.cpp:
46511         (WebCore::RenderBlock::positionForCoordinates): In the fall through case,
46512         where we can't find a child block that contains (x, y), pass to RenderFlow
46513         instead of the last visible child block.
46514         * rendering/RenderContainer.cpp:
46515         (WebCore::RenderContainer::positionForCoordinates): Don't pass to the closest 
46516         child renderer if this is a table and (x, y) is outside the table.  Return
46517         a VisiblePosition before or after the table.
46518         Fixed the code that finds the closest child renderer.
46520 2006-06-27  David Hyatt  <hyatt@apple.com>
46522         Preserve entity text in view source mode.  This patch doesn't highlight the
46523         the entities yet, but it at least prevents their resolution and removal.
46525         Reviewed by darin
46527         * WebCore.xcodeproj/project.pbxproj:
46528         * html/HTMLTokenizer.cpp:
46529         (WebCore::HTMLTokenizer::parseEntity):
46531 2006-06-27  Anders Carlsson  <acarlsson@apple.com>
46533         Reviewed by Geoff.
46535         http://bugs.webkit.org/show_bug.cgi?id=9623
46536         REGRESSION: getComputedStyle should do a relayout
46537         
46538         * page/DOMWindow.cpp:
46539         (WebCore::DOMWindow::getComputedStyle):
46540         Do a relayout.
46542 2006-06-27  Maciej Stachowiak  <mjs@apple.com>
46544         Reviewed by Adele
46546         - fixed <rdar://problem/4550473> Reproducible hang on www.digg.com
46547         
46548         * dom/NodeList.cpp:
46549         (WebCore::NodeList::recursiveItem): Make NodeList caching also
46550         work for backwards iteration - if the requested index is before
46551         the last cached, but closer to it than to the start of the list,
46552         then search backwards from there.
46553         (WebCore::NodeList::itemForwardsFromCurrent): Split this out as a
46554         helper method.
46555         (WebCore::NodeList::itemBackwardsFromCurrent): New helper, similar
46556         to the above.
46557         * dom/NodeList.h:
46559 2006-06-27  Brady Eidson  <beidson@apple.com>
46561         Reviewed by Levi
46563         Some SQLDatabase cleanup (style stuff) and enhancements
46565         * icon/SQLDatabase.cpp:
46566         (SQLDatabase::open):
46567         (SQLDatabase::executeCommand):
46568         (SQLDatabase::returnsAtLeastOneResult):  Accessor to see if this query returns results
46569         (SQLDatabase::lastInsertRowID):  Accessor for the rowid of the last insert
46570         * icon/SQLDatabase.h:
46571         (WebCore::SQLStatement::prepareAndStep):
46572         * icon/SQLStatement.cpp:
46573         (WebCore::SQLStatement::bindInt64):
46574         -All of the following used to require the user to manually prepare and step a statement
46575         before asking for the result.  Now it will prepare and step itself so you can use a temporary
46576         object to get a quick result
46577         (WebCore::SQLStatement::getColumnName):
46578         (WebCore::SQLStatement::getColumnName16):
46579         (WebCore::SQLStatement::getColumnText):
46580         (WebCore::SQLStatement::getColumnText16):
46581         (WebCore::SQLStatement::getColumnDouble):
46582         (WebCore::SQLStatement::getColumnInt):
46583         (WebCore::SQLStatement::getColumnInt64):
46584         (WebCore::SQLStatement::getColumnBlobAsVector):
46585         (WebCore::SQLStatement::getColumnBlob):
46587 2006-06-27  Ada Chan <adachan@apple.com>
46589         Reviewed by sfalken.
46591         Fixed build.
46593         * WebCore.vcproj/WebCore/WebCore.vcproj:
46595 2006-06-27  Beth Dakin  <bdakin@apple.com>
46597         Reviewed by Hyatt.
46599         Fix for <rdar://problem/4602635> Media queries must be extended to 
46600         address CSS pixel scaling factor
46602         * css/MediaFeatureNames.h: Add -webkit-device-pixel-ratio, -webkit-
46603         min-device-pixel-ratio, and -webkit-max-device-pixel-ratio to the 
46604         list of feature names.
46605         * css/MediaQueryEvaluator.cpp:
46606         (WebCore::cmpvalue): Added a version of cmpvalue that compares 
46607         floats.
46608         (WebCore::device_pixel_ratioMediaFeatureEval):
46609         (WebCore::min_device_pixel_ratioMediaFeatureEval):
46610         (WebCore::max_device_pixel_ratioMediaFeatureEval):
46612 2006-06-27  Darin Adler  <darin@apple.com>
46614         Reviewed by Geoff.
46616         - finish with http://bugs.webkit.org/show_bug.cgi?id=9606
46617           REGRESSION: some callers are still using clientX/Y to get pageX/Y
46619         * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize):
46620         Change to use pageX/Y, but this really doesn't matter since framesets
46621         can't be scrolled -- it's the frames that are scrolled. So this change
46622         has no user-visible effect, but it's still better this way.
46624 2006-06-27  Darin Adler  <darin@apple.com>
46626         Reviewed by Geoff.
46628         - fix 2/3 of http://bugs.webkit.org/show_bug.cgi?id=9606
46629           REGRESSION: some callers are still using clientX/Y to get pageX/Y
46631         Test: fast/events/anchor-image-scrolled-x-y.html
46632         Test: fast/events/input-image-scrolled-x-y.html
46634         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): Use pageX/Y.
46635         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
46637 2006-06-27  Brady Eidson  <beidson@apple.com>
46639         Reviewed by Maciej
46641         Added functionality to WebCore::Image to get multiple representations/sizes into TIFF data
46643         * platform/mac/ImageMac.mm:
46644         (WebCore::Image::getTIFFRepresentation):
46646 2006-06-26  David Hyatt  <hyatt@apple.com>
46648         Fix for 9538, support syntax highlighted HTML source.  Lots of loose
46649         ends still (script/style/comments/doctype/entities/accurate whitespace).
46651         Reviewed by darin
46653         * DerivedSources.make:
46654         * WebCore.xcodeproj/project.pbxproj:
46655         * bridge/mac/WebCoreFrameBridge.h:
46656         * bridge/mac/WebCoreFrameBridge.mm:
46657         (-[WebCoreFrameBridge setInViewSourceMode:]):
46658         (-[WebCoreFrameBridge inViewSourceMode]):
46659         * css/cssstyleselector.cpp:
46660         (WebCore::CSSStyleSelector::loadDefaultStyle):
46661         (WebCore::CSSStyleSelector::matchUARules):
46662         * css/cssstyleselector.h:
46663         * css/view-source.css: Added.
46664         * dom/Document.cpp:
46665         (WebCore::Document::implicitClose):
46666         * dom/xml_tokenizer.h:
46667         (WebCore::Tokenizer::Tokenizer):
46668         (WebCore::Tokenizer::~Tokenizer):
46669         (WebCore::Tokenizer::inViewSourceMode):
46670         (WebCore::Tokenizer::setInViewSourceMode):
46671         * html/HTMLAttributeNames.in:
46672         * html/HTMLFrameElement.cpp:
46673         (WebCore::HTMLFrameElement::init):
46674         (WebCore::HTMLFrameElement::parseMappedAttribute):
46675         (WebCore::HTMLFrameElement::attach):
46676         * html/HTMLFrameElement.h:
46677         (WebCore::HTMLFrameElement::viewSourceMode):
46678         * html/HTMLTokenizer.cpp:
46679         (WebCore::HTMLTokenizer::HTMLTokenizer):
46680         (WebCore::HTMLTokenizer::scriptHandler):
46681         (WebCore::HTMLTokenizer::scriptExecution):
46682         (WebCore::HTMLTokenizer::parseTag):
46683         (WebCore::HTMLTokenizer::continueProcessing):
46684         (WebCore::HTMLTokenizer::write):
46685         (WebCore::HTMLTokenizer::timerFired):
46686         (WebCore::HTMLTokenizer::end):
46687         (WebCore::HTMLTokenizer::processToken):
46688         (WebCore::HTMLTokenizer::notifyFinished):
46689         * html/HTMLTokenizer.h:
46690         * html/HTMLViewSourceDocument.cpp: Added.
46691         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
46692         (WebCore::HTMLViewSourceDocument::createTokenizer):
46693         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
46694         (WebCore::HTMLViewSourceDocument::addViewSourceAttribute):
46695         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
46696         * html/HTMLViewSourceDocument.h: Added.
46697         * page/Frame.cpp:
46698         (WebCore::Frame::begin):
46699         (WebCore::Frame::inViewSourceMode):
46700         (WebCore::Frame::setInViewSourceMode):
46701         * page/Frame.h:
46702         * page/FramePrivate.h:
46703         (WebCore::FramePrivate::FramePrivate):
46704         * rendering/RenderPartObject.cpp:
46705         (WebCore::RenderPartObject::updateWidget):
46707 2006-06-26  Anders Carlsson  <acarlsson@apple.com>
46709         Reviewed by Darin.
46711         http://bugs.webkit.org/show_bug.cgi?id=9031
46712         REGRESSION: Crash when closing tabs on newegg.com
46713         
46714         * page/Frame.cpp:
46715         (WebCore::Frame::pageDestroyed):        
46716         * page/Frame.h:
46717         Add new method which is invoked when the frame's page has been destroyed.
46718         Currently this function disassociates the JS Window object with the frame, 
46719         stopping any running JS timers.
46720         
46721         * page/Page.cpp:
46722         (WebCore::Page::~Page):
46723         Call pageDestroyed on all frames.
46725 2006-06-26  Rob Buis  <buis@kde.org>
46727         Reviewed and reworked by Darin.
46729         Code cleanup, calculate clientX/clientY in one central place.
46731         * dom/EventTargetNode.h:
46732         * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent):
46733         Renamed parameters to pageX/Y since they aren't clientX/Y values.
46734         Removed code to compute clientX/Y (was a bit confused in naming before),
46735         because that's now done inside MouseEvent.
46737         * dom/MouseEvent.h:
46738         * dom/MouseEvent.cpp:
46739         (WebCore::MouseEvent::MouseEvent): Removed clientX/Y parameters.
46740         (WebCore::MouseEvent::initMouseEvent): Added comments about problems I noticed.
46741         (WebCore::MouseEvent::which): Fixed comment that confusingly mentioned KHTML,
46742         when it was talking about the DOM standard.
46744         * dom/MouseRelatedEvent.h:
46745         * dom/MouseRelatedEvent.cpp:
46746         (WebCore::contentsX): Added helper function.
46747         (WebCore::contentsY): Ditto.
46748         (WebCore::MouseRelatedEvent::MouseRelatedEvent): Removed clientX/Y parameter,
46749         and added code to compute clientX/Y based on pageX/Y.
46750         (WebCore::MouseRelatedEvent::receivedTarget): Fixed comments.
46752         * dom/WheelEvent.h:
46753         * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): Removed clientX/Y
46754         parameter.
46756         * page/FrameView.cpp: (WebCore::FrameView::dispatchDragEvent): Removed the code
46757         to compute coordinates, and renamed the confusingly named clientPos (which was
46758         a page-relative position) to contentsPos.
46760 2006-06-25  David Carson  <dacarson@gmail.com>
46762         Reviewed and tweaked by Darin.
46764         - http://bugs.webkit.org/show_bug.cgi?id=9185
46765         REGRESSION: UserID field appears with an incorrect height 
46766         on americanexpresslogin page
46767         - Height and Width attribute only applies to IMAGE and HIDDEN
46768         types.
46770         * dom/NamedMappedAttrMap.h:
46771         (WebCore::NamedMappedAttrMap::getAttributeItem):
46772         Added to static_cast method.
46774         * html/HTMLInputElement.cpp:
46775         (WebCore::HTMLInputElement::setInputType):
46776         Update the style decl if input type has changed.
46777         (WebCore::HTMLInputElement::mapToEntry):
46778         Only Cache height and width if it is an IMAGE or HIDDEN
46779         (WebCore::HTMLInputElement::parseMappedAttribute):
46780         Check type before adding height and width style.
46781         (WebCore::HTMLInputElement::attach):
46782         Remove code for discarding width.
46784         * html/HTMLInputElement.h:
46785         (WebCore::HTMLInputElement::respectHeightAndWidthAttrs):
46786         New method added to report if this input type uses height & width.
46788 2006-06-25  David Kilzer  <ddkilzer@kilzer.net>
46790         Reviewed by Darin.
46792         - http://bugs.webkit.org/show_bug.cgi?id=9537
46793           REGRESSION: Reproducible crash in WebCore::RenderTextField::textWithHardLineBreaks()
46795         Test: fast/forms/textarea-hard-linewrap-empty.html
46797         * rendering/RenderTextField.cpp:
46798         (WebCore::RenderTextField::textWithHardLineBreaks): Added null check for
46799         m_div->firstChild()->renderer().
46801 2006-06-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46803         Reviewed by Darin.
46805         - fix http://bugs.webkit.org/show_bug.cgi?id=9388
46806           REGRESSION: outlines don't get erased when removed in some cases
46808         Test: fast/repaint/outline-shrinking.html
46810         * rendering/RenderObject.cpp:
46811         (WebCore::RenderObject::setStyle): Always repaint with the old style if the outline is
46812         becoming narrower, even if we are going to relayout.
46814 2006-06-25  Rob Buis  <buis@kde.org>
46816         Reviewed by Darin.
46818         Fix for http://bugs.webkit.org/show_bug.cgi?id=8707:
46819         event.clientX and event.clientY should be relative to the viewport, not the canvas
46821         Make sure clientX and clientY take into account the scroll offsets
46822         of the view.
46824         * dom/EventTargetNode.cpp:
46825         (WebCore::EventTargetNode::dispatchMouseEvent):
46826         * dom/MouseEvent.cpp:
46827         (WebCore::MouseEvent::MouseEvent):
46828         * dom/MouseEvent.h:
46829         * dom/MouseRelatedEvent.cpp:
46830         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
46831         (WebCore::MouseRelatedEvent::initCoordinates):
46832         * dom/MouseRelatedEvent.h:
46833         * dom/WheelEvent.cpp:
46834         (WebCore::WheelEvent::WheelEvent):
46835         * page/FrameView.cpp:
46836         (WebCore::FrameView::dispatchDragEvent):
46838 2006-06-25  Timothy Hatcher  <timothy@apple.com>
46840         Reviewed by Darin.
46842         Bug 9574: Drosera should show inline scripts within the original HTML
46843         http://bugs.webkit.org/show_bug.cgi?id=9574
46845         * Pass the starting line number and error message to the debugger.
46846         * Call parsedSource even if there was a script parse error so the
46847           debugger can show the parse error.
46848         * Pass NSURL objects to the ObjC delegate for the script URLs.
46850         * bridge/mac/WebCoreScriptDebugger.h:
46851         * bridge/mac/WebCoreScriptDebugger.mm:
46852         (toNSURL):
46853         (WebCoreScriptDebuggerImp::sourceParsed):
46855 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
46857         Build fix.  Reviewed by NOBODY.
46859         - Backed out patch for http://bugs.webkit.org/show_bug.cgi?id=8707
46860           event.clientX and event.clientY should be relative to the viewport, not the canvas
46862         * dom/EventTargetNode.cpp:
46863         (WebCore::EventTargetNode::dispatchMouseEvent):
46864         * dom/MouseEvent.cpp:
46865         (WebCore::MouseEvent::MouseEvent):
46866         * dom/MouseEvent.h:
46867         * dom/MouseRelatedEvent.cpp:
46868         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
46869         (WebCore::MouseRelatedEvent::initCoordinates):
46870         * dom/MouseRelatedEvent.h:
46871         * dom/WheelEvent.cpp:
46872         (WebCore::WheelEvent::WheelEvent):
46874 2006-06-24  Rob Buis  <buis@kde.org>
46876         Reviewed by Darin.
46878         Fix for http://bugs.webkit.org/show_bug.cgi?id=8707:
46879         event.clientX and event.clientY should be relative to the viewport, not the canvas
46881         Make sure clientX and clientY take into account the scroll offsets
46882         of the view.
46884         Test: fast/dom/window-xy-properties.html
46886         * dom/EventTargetNode.cpp:
46887         (WebCore::EventTargetNode::dispatchMouseEvent):
46888         * dom/MouseEvent.cpp:
46889         (WebCore::MouseEvent::MouseEvent):
46890         * dom/MouseEvent.h:
46891         * dom/MouseRelatedEvent.cpp:
46892         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
46893         (WebCore::MouseRelatedEvent::initCoordinates):
46894         * dom/MouseRelatedEvent.h:
46895         * dom/WheelEvent.cpp:
46896         (WebCore::WheelEvent::WheelEvent):
46898 2006-06-24  Rob Buis  <buis@kde.org>
46900         Reviewed by Darin.
46902         http://bugs.webkit.org/show_bug.cgi?id=9352
46903         Webkit doesn't respect stroke-width in SVG for smaller <circle>s
46905         Make sure the stroke path is set before applying gradient transforms.
46907         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
46908         (WebCore::KRenderingPaintServerGradientQuartz::setup):
46909         (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
46911 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
46913         Rubber-stamped by Eric.
46915         Add a -h (do not follow symlinks) option to ln in derived sources build script (without it,
46916         a symlink was created inside the source directory on second build).
46918         * WebCore.xcodeproj/project.pbxproj:
46920 2006-06-24  James G. Speth  <speth@end.com>
46922         Reviewed by Darin.  Copyrights tweaked by ddkilzer.
46923         
46924         Bug 8331: DOMNodeLists returned to Objective-C are not properly wrapped
46925         http://bugs.webkit.org/show_bug.cgi?id=8331
46926         
46927         DOMNodes were the only objects handled by createObjcInstanceForValue.
46928         now it handles all of these: DOMNode, DOMNodeList, DOMNamedNodeMap, DOMStyleSheetList,
46929         DOMStyleSheet, DOMMediaList, DOMCSSRuleList, DOMCSSRule, DOMCSSStyleDeclaration, and DOMCSSValue
46930         
46931         * WebCore.xcodeproj/project.pbxproj: added file DOMCSSInternal.h to project
46932         * bindings/js/kjs_css.cpp:
46933         (KJS::): changed ClassInfo for DOMCSSStyleSheet to have DOMStyleSheet as its parent class
46934         * bindings/objc/DOM.mm:
46935         (-[DOMDocumentType :]):  moved DOMNamedNodeMap (WebCoreInternal) interface to DOMInternal.h
46936         * bindings/objc/DOMCSS.mm: moved WebCoreInternal interfaces to DOMCSSInternal.h
46937         * bindings/objc/DOMCSSInternal.h: Added file, contains WebCoreInternal interface for CSS classes
46938         * bindings/objc/DOMInternal.h: added DOMNamedNodeMap (WebCoreInternal) interface
46939         * bindings/objc/DOMUtility.mm:
46940         (KJS::ScriptInterpreter::createObjcInstanceForValue): support for more classes
46942 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
46944         Reviewed by Timothy.
46946         * Info.plist: Fixed copyright to include 2003-2006.
46947         * manual-tests/NPN_Invoke/Info.plist: Added copyright statement.
46949 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46951         Reviewed by Darin, landed by ap.
46953         - fix http://bugs.webkit.org/show_bug.cgi?id=9547
46954           Resize corner does not track the mouse accurately
46956         Test: fast/css/resize-corner-tracking.html
46958         * page/FrameView.cpp:
46959         (WebCore::FrameView::handleMousePressEvent): Store the offset from the layer's
46960         resizing corner where dragging has started.
46961         (WebCore::FrameView::handleMouseMoveEvent): Pass the stored offset to the
46962         layer's resize method.
46963         * rendering/RenderLayer.cpp:
46964         (WebCore::RenderLayer::resize): Added an offset parameter, which is added to
46965         the mouse location.
46966         For objects that may have intrinsic margins applied to them,
46967         added code to lift the margins into the object's style in order to keep them
46968         constant.
46969         Changed to take the content size as the base size if the box-sizing property
46970         is content-box.
46971         (WebCore::RenderLayer::offsetFromResizeCorner): Added. Returns the offset of the
46972         given point from the corner that tracks the mouse when resizing.
46973         * rendering/RenderLayer.h:
46975 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46977         Reviewed by Darin, landed by ap.
46979         - fix http://bugs.webkit.org/show_bug.cgi?id=9316
46980           REGRESSION: text field width shrinks on first keystroke
46982         Test: fast/forms/floating-textfield-relayout.html
46984         * page/FrameView.cpp:
46985         (WebCore::FrameView::layoutRoot): Added. During subtree relayout, returns
46986         the subtree root. Otherwise returns 0.
46987         (WebCore::FrameView::layoutPending): Made const.
46988         * page/FrameView.h:
46989         * rendering/RenderBox.cpp:
46990         (WebCore::RenderBox::calcWidth): Added early return if this is the root
46991         of a subtree being laid out. 
46993 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46995         Reviewed by Hyatt.
46997         - fix http://bugs.webkit.org/show_bug.cgi?id=9531
46998           Pages that need only a horizontal scroll bar get a vertical one as well
47000         The change affects many existing tests.
47002         * page/FrameView.cpp:
47003         (WebCore::FrameView::layout): Mark the body renderer as needing layout if
47004         the view's height has changed and the body stretches to the view's height.
47005         * rendering/RenderBox.cpp:
47006         (WebCore::RenderBox::calcHeight):
47007         * rendering/RenderBox.h:
47008         (WebCore::RenderBox::stretchesToViewHeight): Added. Moved the logic for when
47009         the HTML block needs to stretch to the view's height from calcHeight() here.
47011 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
47013         Reviewed by Darin.
47015         - fix http://bugs.webkit.org/show_bug.cgi?id=7461
47016           Always encode the path part of an URI as UTF-8
47018         Test: http/tests/uri/utf8-path.html
47020         * platform/KURL.cpp:
47021         (encodeRelativeString): Always set pathEncoding to UTF-8.
47023 2006-06-24  Graham Dennis  <Graham.Dennis@gmail.com>
47025         Reviewed by Darin, landed by ap.
47026         
47027         - fix http://bugs.webkit.org/show_bug.cgi?id=9467
47028           TreeWalker/NodeIterator do not restrict the traversal
47029         
47030         Test: traversal/stay-within-root.html
47032         * dom/Node.cpp:
47033         (WebCore::Node::traversePreviousNode):
47034         * dom/Node.h:
47035         Add a stayWithin argument to traversePreviousNode just like the other
47036         traversal functions
47037         * dom/NodeIterator.cpp:
47038         (WebCore::NodeIterator::findNextNode):
47039         (WebCore::NodeIterator::findPreviousNode):
47040         Ensure that when moving forward or backward that the root node is not
47041         exited
47042         * dom/TreeWalker.cpp:
47043         (WebCore::TreeWalker::previousNode):
47044         (WebCore::TreeWalker::nextNode):
47045         Ditto
47046         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
47048 2006-06-24  Jonas Witt <jonas.witt@gmail.com>
47050         Reviewed by ggaren, landed by ap.
47052         - http://bugs.webkit.org/show_bug.cgi?id=9181
47053           Complete DOMUIEvent Obj-C API to reflect UIEvent
47055         * WebCore.exp: add new classes DOMKeyboardEvent and DOMWheelEvent to the exported 
47056           symbols list of WebCore.framework
47058         Updated DOMUIEvent to include all DOM Level 2 properties
47059         Added DOMKeyboardEvent (DOM Level 3)
47060         Added two non-W3C accessors (keyCode, charCode) of DOMKeyboardEvent to a separate file (DOMEventsNonstandard)
47061         Added DOMWheelEvent (non-W3C) in separate file (DOMEventsNonstandard)
47062         Added this file (DOMEventsNonstandard) to the build process
47064         * WebCore.xcodeproj/project.pbxproj:
47065         * bindings/objc/DOM.h:
47066         * bindings/objc/DOMEvents.h:
47067         * bindings/objc/DOMEvents.mm:
47068         (+[DOMEvent _eventWith:]):
47069         (-[DOMUIEvent _UIEvent]):
47070         (-[DOMUIEvent view]):
47071         (-[DOMUIEvent detail]):
47072         (-[DOMUIEvent initUIEvent:::::]):
47073         (-[DOMKeyboardEvent _keyboardEvent]):
47074         (-[DOMKeyboardEvent keyIdentifier]):
47075         (-[DOMKeyboardEvent keyLocation]):
47076         (-[DOMKeyboardEvent ctrlKey]):
47077         (-[DOMKeyboardEvent shiftKey]):
47078         (-[DOMKeyboardEvent altKey]):
47079         (-[DOMKeyboardEvent metaKey]):
47080         (-[DOMKeyboardEvent getModifierState:]):
47081         (-[DOMMouseEvent button]):
47082         * bindings/objc/DOMEventsNonstandard.mm: Added.
47083         (-[DOMWheelEvent _wheelEvent]):
47084         (-[DOMWheelEvent screenX]):
47085         (-[DOMWheelEvent screenY]):
47086         (-[DOMWheelEvent clientX]):
47087         (-[DOMWheelEvent clientY]):
47088         (-[DOMWheelEvent ctrlKey]):
47089         (-[DOMWheelEvent shiftKey]):
47090         (-[DOMWheelEvent altKey]):
47091         (-[DOMWheelEvent metaKey]):
47092         (-[DOMWheelEvent isHorizontal]):
47093         (-[DOMWheelEvent wheelDelta]):
47094         (-[DOMKeyboardEvent _keyboardEvent]):
47095         (-[DOMKeyboardEvent keyCode]):
47096         (-[DOMKeyboardEvent charCode]):
47097         * bindings/objc/DOMPrivate.h:
47099 2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
47101         Reviewed and landed by ap.
47103         - http://bugs.webkit.org/show_bug.cgi?id=9563
47104           Remove unused layoutSuppressed field and inLayout() method
47106         No test added because there is no change in functionality.
47108         * page/FrameView.cpp:
47109         (WebCore::FrameViewPrivate::reset):
47110         (WebCore::FrameView::layout):
47111         * page/FrameView.h:
47112         * rendering/RenderView.cpp:
47113         (WebCore::RenderView::layout):
47115 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
47117         Reviewed by Darin.
47119         - http://bugs.webkit.org/show_bug.cgi?id=8177
47120         Javascript search incredibly slow
47122         No change in functionality, thus no test.
47124         Use info sharing for named collections, too. Moved shared HTMLCollection infos from HTMLDocument 
47125         to Document.  Renamed collection types to use the preferred WebKit style. Replaced direct
47126         HTMLCollection creation with using accessors from Document in a few places.
47128         * bindings/objc/DOMHTML.mm:
47129         (-[DOMHTMLElement children]):
47130         (-[DOMHTMLDocument images]):
47131         (-[DOMHTMLDocument applets]):
47132         (-[DOMHTMLDocument links]):
47133         (-[DOMHTMLDocument forms]):
47134         (-[DOMHTMLDocument anchors]):
47135         (-[DOMHTMLMapElement areas]):
47136         (-[DOMHTMLTableSectionElement rows]):
47137         (-[DOMHTMLTableElement rows]):
47138         (-[DOMHTMLTableElement tBodies]):
47139         (-[DOMHTMLTableRowElement cells]):
47140         * dom/Document.cpp:
47141         (WebCore::Document::images):
47142         (WebCore::Document::applets):
47143         (WebCore::Document::embeds):
47144         (WebCore::Document::objects):
47145         (WebCore::Document::scripts):
47146         (WebCore::Document::links):
47147         (WebCore::Document::forms):
47148         (WebCore::Document::anchors):
47149         (WebCore::Document::all):
47150         (WebCore::Document::windowNamedItems):
47151         (WebCore::Document::documentNamedItems):
47152         (WebCore::Document::nameCollectionInfo):
47153         * dom/Document.h:
47154         (WebCore::Document::collectionInfo):
47155         * html/HTMLCollection.cpp:
47156         (WebCore::HTMLCollection::HTMLCollection):
47157         (WebCore::HTMLCollection::traverseNextItem):
47158         (WebCore::HTMLCollection::checkForNameMatch):
47159         (WebCore::HTMLCollection::updateNameCache):
47160         * html/HTMLCollection.h:
47161         (WebCore::HTMLCollection::):
47162         * html/HTMLDocument.h:
47163         * html/HTMLElement.cpp:
47164         (WebCore::HTMLElement::children):
47165         * html/HTMLMapElement.cpp:
47166         (WebCore::HTMLMapElement::areas):
47167         * html/HTMLNameCollection.h:
47168         * html/HTMLNameCollection.cpp:
47169         (WebCore::HTMLNameCollection::HTMLNameCollection):
47170         (WebCore::HTMLNameCollection::traverseNextItem):
47171         * html/HTMLFormCollection.cpp:
47172         * html/HTMLOptionsCollection.cpp:
47173         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
47174         * html/HTMLSelectElement.h:
47175         (WebCore::HTMLSelectElement::collectionInfo):
47176         * html/HTMLTableElement.cpp:
47177         (WebCore::HTMLTableElement::rows):
47178         (WebCore::HTMLTableElement::tBodies):
47179         * html/HTMLTableRowElement.cpp:
47180         (WebCore::HTMLTableRowElement::cells):
47181         * html/HTMLTableSectionElement.cpp:
47182         (WebCore::HTMLTableSectionElement::rows):
47183         * kwq/WebCoreAXObject.mm:
47184         (-[WebCoreAXObject accessibilityAttributeValue:]):
47185         * page/Frame.cpp:
47186         (WebCore::Frame::gotoAnchor):
47188 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
47190         Reviewed by Darin.
47192         - http://bugs.webkit.org/show_bug.cgi?id=9418
47193         WebKit will not build when Space exists in path
47195         * WebCore.xcodeproj/project.pbxproj: Enclose search paths in quotes; create symlinks to 
47196         avoid passing paths with spaces to make.
47198 2006-06-23  Tim Omernick  <timo@apple.com>
47200         Reviewed by Tim Hatcher.
47202         <rdar://problem/4560947> Leopard REGRESSION: Dragging to TileGame Widget is broken
47204         * page/FrameView.cpp:
47205         (WebCore::FrameView::updateDragAndDrop):
47206         Use the passed mouse event, instead of the "current" event.  There is no such thing as
47207         a "drag event".  Asking for the current event during a drag returns a weird system-
47208         internal event with an invalid mouse location.
47210 2006-06-23  Timothy Hatcher  <timothy@apple.com>
47212         Reviewed by Eric.
47214         Manual test added: cursor.html
47216         Bug 9560: should support new CSS3 cursor types to get more resizing directions
47217         http://bugs.webkit.org/show_bug.cgi?id=9560
47219         Adds support for ew-resize, ns-resize, nesw-resize, nwse-resize,
47220         col-resize and row-resize CSS3 cursor values.
47222         Also converted some of the cursor images to grayscale tiffs,
47223         some were RGB but had no color data.
47225         * Resources/eastResizeCursor.tiff:
47226         * Resources/eastWestResizeCursor.tiff: Added.
47227         * Resources/helpCursor.tiff:
47228         * Resources/moveCursor.tiff:
47229         * Resources/northEastResizeCursor.tiff:
47230         * Resources/northEastSouthWestResizeCursor.tiff: Added.
47231         * Resources/northResizeCursor.tiff:
47232         * Resources/northSouthResizeCursor.tiff: Added.
47233         * Resources/northWestResizeCursor.tiff:
47234         * Resources/northWestSouthEastResizeCursor.tiff: Added.
47235         * Resources/southEastResizeCursor.tiff:
47236         * Resources/southResizeCursor.tiff:
47237         * Resources/southWestResizeCursor.tiff:
47238         * Resources/textAreaResizeCorner.tiff:
47239         * Resources/waitCursor.tiff:
47240         * Resources/westResizeCursor.tiff:
47241         * WebCore.xcodeproj/project.pbxproj:
47242         * css/CSSComputedStyleDeclaration.cpp:
47243         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
47244         * css/CSSValueKeywords.in:
47245         * css/cssparser.cpp:
47246         (WebCore::CSSParser::parseValue):
47247         * manual-tests/cursor.html: Added.
47248         * page/FrameView.cpp:
47249         (WebCore::selectCursor):
47250         * platform/Cursor.h:
47251         * platform/mac/CursorMac.mm:
47252         (WebCore::northSouthResizeCursor):
47253         (WebCore::eastWestResizeCursor):
47254         (WebCore::northEastSouthWestResizeCursor):
47255         (WebCore::northWestSouthEastResizeCursor):
47256         (WebCore::columnResizeCursor):
47257         (WebCore::rowResizeCursor):
47258         * platform/win/CursorWin.cpp:
47259         (WebCore::northSouthResizeCursor):
47260         (WebCore::eastWestResizeCursor):
47261         (WebCore::northEastSouthWestResizeCursor):
47262         (WebCore::northWestSouthEastResizeCursor):
47263         (WebCore::columnResizeCursor):
47264         (WebCore::rowResizeCursor):
47265         * rendering/render_style.h: cursor needs 5 bits now
47267 2006-06-23  John Sullivan  <sullivan@apple.com>
47269         Reviewed by Tim Omernick
47270         
47271         - fixed <rdar://problem/4597685> stale rects for document markers can be left behind in certain cases
47273         * dom/Document.h:
47274         * dom/Document.cpp:
47275         (WebCore::Document::setRenderedRectForMarker):
47276         changed parameter from IntRect to const IntRect& at Darin's request
47277         (WebCore::Document::invalidateRenderedRectsForMarkersInRect):
47278         new method, tests whether the rendered rect for each marker intersects the
47279         passed rect. If so, sets the rendered rect back to the placeholder rect that
47280         means that the rect for this marker isn't known.
47281         
47282         * page/Frame.cpp:
47283         (WebCore::Frame::paint):
47284         call invalidateRenderedRectsForMarkersInRect on the rect we're about to paint.
47285         This ensures that old stale rects won't be preserved if the associated marker
47286         has moved such that it is out of the painted area.
47288 2006-06-23  Justin Garcia  <justin.garcia@apple.com>
47290         Reviewed by levi
47292         <rdar://problem/4527702>
47293         REGRESSION: Quote bars go away on first paragraph when I delete reply text
47295         * editing/DeleteSelectionCommand.cpp:
47296         (WebCore::DeleteSelectionCommand::mergeParagraphs):
47297         Add a rule for when to merge into empty blocks.
47299 === WebCore-521.13 ===
47301 2006-06-23  Patrick Beard  <beard@apple.com>
47303         Reviewed by Tim Hatcher.
47305         <rdar://problem/4223619> Safari crashed in -[NSFont __isSystemFont]
47306         CFRetain and CFRelease NSFont's when FontPlatformData has a reference.
47307         We only do this when GC is enabled for performance reasons.
47308         No tests possible.
47310         * platform/mac/FontPlatformData.h:
47311         (WebCore::FontPlatformData::FontPlatformData):
47312         (WebCore::FontPlatformData::~FontPlatformData):
47314 2006-06-23  Justin Garcia  <justin.garcia@apple.com>
47316         Reviewed by levi
47317         
47318         <http://bugs.webkit.org/show_bug.cgi?id=8074>
47319         Caret before/after block tables is too small
47320         <rdar://problem/4598331>
47321         right arrow out of a table shows cursor in a weird place
47323         * rendering/RenderBox.cpp:
47324         (WebCore::RenderBox::caretRect): Don't propagate to children, 
47325         VisiblePositions inside containers don't refer to children.
47326         Don't use the font height for tables.
47328 2006-06-23  Brady Eidson  <beidson@apple.com>
47330         Reviewed by Kevin.
47332         Added 64-bit String::number() functions
47334         * platform/PlatformString.h:
47335         * platform/String.cpp:
47336         (WebCore::String::number):
47338 2006-06-22  Mitz Pettel  <opendarwin.org@mitzpettel.com>
47340         Reviewed by Hyatt.
47342         - fix http://bugs.webkit.org/show_bug.cgi?id=9497
47343           REGRESSION: Incomplete repainting when scrolling thumbnails on Flickr
47345         Test: fast/repaint/clipped-relative.html
47347         * page/FrameView.cpp:
47348         (WebCore::FrameView::layout):
47349         * rendering/RenderBlock.cpp:
47350         (WebCore::RenderBlock::removePositionedObjects): Removed call to computeRepaintRects().
47351         Previously, it was needed to update the cached rects before RenderBox::setStyle()
47352         called updateLayerPositions().
47353         * rendering/RenderBox.cpp:
47354         (WebCore::RenderBox::setStyle): Changed to call updateLayerPositions() for a newly-
47355         created layer only if it does not need layout. Otherwise,  updateLayerPositions() will
47356         be called after layout. This saves a repaint in some cases.
47357         * rendering/RenderLayer.cpp:
47358         (WebCore::RenderLayer::checkForRepaintOnResize): Renamed computeRepaintRects() to
47359         this and deleted the code that cached the absolute position and repaint rects.
47360         (WebCore::RenderLayer::updateLayerPositions): Added code to cache the absolute
47361         position and repaint rects right after updating the layer's position.
47362         * rendering/RenderLayer.h:
47364 2006-06-22  Beth Dakin  <bdakin@apple.com>
47366         Reviewed by Maciej.
47368         Fix for <rdar://problem/4599015> REGRESSION: Hand on clock widget 
47369         don't appear at all
47371         This regression was caused by <rdar://problem/4567520> HIDPI: pixel 
47372         cracks in weather widget at 1.83 scaling
47374         * html/CanvasRenderingContext2D.cpp:
47375         (WebCore::CanvasRenderingContext2D::drawImage): Do the contains 
47376         check before rounding to integral device pixels.
47378 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
47380         Reviewed by John.
47382         <rdar://problem/4529334> REGRESSION: Can't configure RadarInMotion widget for U.S. locations on Leopard (Javascript errors)
47383         
47384         * dom/Document.cpp:
47385         (WebCore::Document::completeURL):
47386         Check if both the URL and base URL are empty instead of using URL() which returns "about:blank" if the URL is empty.
47387         
47388 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
47390         Reviewed by Maciej.
47392         <rdar://problem/4499675> Package Tracker widget always crashes in WebCore::Frame::jScriptEnabled() const + 0
47394         * html/HTMLParser.cpp:
47395         (WebCore::HTMLParser::noscriptCreateErrorCheck):
47396         (WebCore::HTMLParser::canvasCreateErrorCheck):
47397         (WebCore::HTMLParser::isInline):
47398         Add null-checks for document->frame() since it can be 0 for documents created using createHTMLDocument.
47400 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
47402         Reviewed by Maciej.
47404         <rdar://problem/4524840> Entities contained in DOCTYPE referenced DTD in XSLT source document are unknown
47405         
47406         * dom/xml_tokenizer.cpp:
47407         (WebCore::shouldAllowExternalLoad):
47408         Use correct path for the catalog.
47409         
47410         (WebCore::errorFunc):
47411         Add error function to keep parser errors from going to the console.
47412         
47413         (WebCore::XMLTokenizer::write):
47414         Remove if (0 &&)
47415         
47416         (WebCore::XMLTokenizer::end):
47417         Pass DocLoader to xmlDocPtrForString.
47418         
47419         (WebCore::xmlDocPtrForString):        
47420         * dom/xml_tokenizer.h:
47421         Add DocLoader argument to xmlDocPtrForString so external DTDs and entities can be loaded.
47422         
47423         * xml/XSLTProcessor.cpp:
47424         (WebCore::xmlDocPtrFromNode):
47425         Pass DocLoader to xmlDocPtrForString
47426         
47427 2006-06-21  David Hyatt  <hyatt@apple.com>
47429         Back out -webkit-overlay and just rename it back to overlay.
47431         Reviewed by darin
47433         * css/CSSComputedStyleDeclaration.cpp:
47434         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
47435         * css/CSSValueKeywords.in:
47436         * css/cssparser.cpp:
47437         (WebCore::CSSParser::parseValue):
47438         * css/cssstyleselector.cpp:
47439         (WebCore::CSSStyleSelector::applyProperty):
47441 2006-06-21  Justin Garcia  <justin.garcia@apple.com>
47443         Reviewed by levi
47445         * editing/DeleteSelectionCommand.cpp:
47446         (WebCore::DeleteSelectionCommand::initializePositionData): Fix a bug in the code
47447         to stop merges across table cells.
47448         (WebCore::DeleteSelectionCommand::mergeParagraphs): Move the code to stop merges
47449         across table cells to initializePositionData so that its changes to 
47450         m_mergeBlocksAfterDelete can take effect on the endingPosition.
47451         * editing/InsertParagraphSeparatorCommand.cpp:
47452         (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreak
47453         instead of splitting/cloning a table cell.
47455 2006-06-21  Beth Dakin  <bdakin@apple.com>
47457         Reviewed by John.
47459         Fix for <rdar://problem/3914965> Misspelled text underline doesn't 
47460         look right at non-standard scale factors
47462         * platform/mac/GraphicsContextMac.mm:
47463         (WebCore::GraphicsContext::drawLineForMisspelling): We need to call  
47464         into our previously-created SPI for pattern-drawing so that the 
47465         phase is right at all scale factors.
47467 2006-06-21  David Hyatt  <hyatt@apple.com>
47469         Fix for 7362, implement the CSS3 overflow-x and overflow-y properties.
47471         Reviewed by adele
47473         * WebCore.xcodeproj/project.pbxproj:
47474         * css/CSSComputedStyleDeclaration.cpp:
47475         (WebCore::):
47476         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
47477         * css/CSSPropertyNames.in:
47478         * css/cssparser.cpp:
47479         (WebCore::CSSParser::parseValue):
47480         * css/cssstyleselector.cpp:
47481         (WebCore::CSSStyleSelector::adjustRenderStyle):
47482         (WebCore::CSSStyleSelector::applyProperty):
47483         * page/FrameView.cpp:
47484         (WebCore::FrameView::applyOverflowToViewport):
47485         (WebCore::FrameView::layout):
47486         * rendering/RenderBlock.cpp:
47487         (WebCore::RenderBlock::layoutBlock):
47488         (WebCore::RenderBlock::determineHorizontalPosition):
47489         (WebCore::RenderBlock::layoutBlockChildren):
47490         (WebCore::RenderBlock::rightOffset):
47491         (WebCore::RenderBlock::rightmostPosition):
47492         (WebCore::RenderBlock::calcMinMaxWidth):
47493         * rendering/RenderBox.cpp:
47494         (WebCore::RenderBox::setStyle):
47495         (WebCore::RenderBox::contentWidth):
47496         (WebCore::RenderBox::contentHeight):
47497         (WebCore::RenderBox::sizesToIntrinsicWidth):
47498         (WebCore::RenderBox::calcHeight):
47499         (WebCore::RenderBox::calcPercentageHeight):
47500         * rendering/RenderFlexibleBox.cpp:
47501         (WebCore::RenderFlexibleBox::layoutBlock):
47502         * rendering/RenderLayer.cpp:
47503         (WebCore::RenderLayer::scrollToOffset):
47504         (WebCore::RenderLayer::shouldAutoscroll):
47505         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
47506         (WebCore::RenderLayer::styleChanged):
47507         * rendering/RenderLayer.h:
47508         * rendering/RenderObject.cpp:
47509         (WebCore::RenderObject::clientWidth):
47510         (WebCore::RenderObject::clientHeight):
47511         * rendering/RenderObject.h:
47512         (WebCore::RenderObject::hasAutoVerticalScrollbar):
47513         (WebCore::RenderObject::hasAutoHorizontalScrollbar):
47514         (WebCore::RenderObject::scrollsOverflow):
47515         (WebCore::RenderObject::scrollsOverflowX):
47516         (WebCore::RenderObject::scrollsOverflowY):
47517         (WebCore::RenderObject::includeVerticalScrollbarSize):
47518         (WebCore::RenderObject::includeHorizontalScrollbarSize):
47519         * rendering/RenderTextArea.cpp:
47520         (WebCore::RenderTextArea::setStyle):
47521         * rendering/RenderTextField.cpp:
47522         (WebCore::RenderTextField::createDivStyle):
47523         (WebCore::RenderTextField::calcHeight):
47524         (WebCore::RenderTextField::calcMinMaxWidth):
47525         * rendering/bidi.cpp:
47526         (WebCore::RenderBlock::layoutInlineChildren):
47527         * rendering/render_style.cpp:
47528         (WebCore::RenderStyle::diff):
47529         * rendering/render_style.h:
47530         (WebCore::):
47531         (WebCore::RenderStyle::NonInheritedFlags::operator==):
47532         (WebCore::RenderStyle::setBitDefaults):
47533         (WebCore::RenderStyle::overflowX):
47534         (WebCore::RenderStyle::overflowY):
47535         (WebCore::RenderStyle::setOverflowX):
47536         (WebCore::RenderStyle::setOverflowY):
47537         (WebCore::RenderStyle::initialOverflowX):
47538         (WebCore::RenderStyle::initialOverflowY):
47540 2006-06-21  Justin Garcia  <justin.garcia@apple.com>
47542         Reviewed by levi
47543         
47544         <rdar://problem/4590366>
47545         REGRESSION: Selection incorrectly paints gaps on TOT
47547         * dom/Document.cpp:
47548         (WebCore::Document::updateSelection): Use the leftmost candidate for the end of the
47549         selection and the rightmost candidate for the start of the selection.
47550         * dom/Position.cpp:
47551         (WebCore::Position::upstream): Cross line wraps so that we can use upstream/downstream
47552         to get to candidates before/after linewraps.
47553         (WebCore::Position::downstream):
47554         (WebCore::Position::inRenderedContent):
47555         * editing/DeleteSelectionCommand.cpp:
47556         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
47557         (WebCore::DeleteSelectionCommand::mergeParagraphs):
47558         * editing/InsertParagraphSeparatorCommand.cpp:
47559         (WebCore::InsertParagraphSeparatorCommand::doApply): 
47560         Ensure that the leftmost candidate is used.  We should sample the style from that one.
47561         When the block to insert is after a br, a br should be inserted even in strict mode.
47562         * editing/InsertTextCommand.cpp:
47563         (WebCore::InsertTextCommand::input): 
47564         Insert at the leftmost candidate, get rid of a use of trailingWhitespacePosition.
47565         Don't apply a style if its unnecessary.
47566         * editing/ReplaceSelectionCommand.cpp:
47567         (WebCore::ReplaceSelectionCommand::doApply): "pos" can be invalidated, don't use it.
47568         * editing/VisiblePosition.cpp:
47569         Renamed initDeepPosition and made it return the canonical position.
47570         (WebCore::VisiblePosition::init):
47571         (WebCore::VisiblePosition::canonicalPosition):
47572         * editing/VisiblePosition.h: 
47573         (WebCore::VisiblePosition::characterBefore): Added.
47574         * editing/visible_units.cpp:
47575         (WebCore::startOfParagraph):
47576         * rendering/InlineTextBox.cpp:
47577         (WebCore::InlineTextBox::selectionState): When a selection ends at a line wrap, it shouldn't extend
47578         onto the next line.
47580 2006-06-21  David Hyatt  <hyatt@apple.com>
47582         Reviewed and committed by Beth.
47584         Fix for <rdar://problem/4595337> Resizing a containing block 
47585         strictly vertically does not cause contained height:100% element to 
47586         also be resized.
47588         * rendering/RenderBlock.cpp:
47589         (WebCore::RenderBlock::layoutBlockChildren): Also layout if the 
47590         child's min or max height is a percent.
47592 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
47594         Reviewed by Geoff.
47596         http://bugs.webkit.org/show_bug.cgi?id=6058
47597         XMLTokenizer runs all <script> tags at once instead of as they're encountered
47598         
47599         * dom/xml_tokenizer.cpp:
47600         (WebCore::XMLTokenizer::XMLTokenizer):
47601         Initialize new members.
47602         
47603         (WebCore::XMLTokenizer::endElementNs):
47604         If we've encountered a script tag, execute the script here. If the script
47605         tag refers to an external resource, pause the parser while loading it.
47606         
47607         (WebCore::XMLTokenizer::end):
47608         Move code from finish() to here
47609         
47610         (WebCore::XMLTokenizer::finish):
47611         Only call end() if the parser isn't paused.
47612         
47613         (WebCore::XMLTokenizer::notifyFinished):
47614         Evaluate the script here and resume the parser.
47615         
47616         (WebCore::XMLTokenizer::resumeParsing):
47617         If finish() was called, call end() after writing all data.
47619 2006-06-21  Steve Falkenburg  <sfalken@apple.com>
47621         Fix build break
47623         * platform/win/TemporaryLinkStubs.cpp:
47624         (FrameWin::shouldInterruptJavaScript):
47626 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
47628         Move FrameWin::shouldInterruptJavaScript to TemporaryLinkStubs.cpp
47629         
47630         * bridge/win/FrameWin.cpp:
47631         * platform/win/TemporaryLinkStubs.cpp:
47632         (FrameWin::shouldInterruptJavaScript):
47634 2006-06-21  Ben Goodger <bengoodger@gmail.com>
47636         Reviewed by Maciej. 
47638         Fix for: http://bugs.webkit.org/show_bug.cgi?id=9523
47639         More Win32 build bustage.
47641         * WebCore.vcproj/WebCore/WebCore.vcproj:
47642         * bridge/win/FrameWin.cpp:
47643         (WebCore::FrameWin::shouldInterruptJavaScript):
47644         * bridge/win/FrameWin.h:
47646 2006-06-20  Adele Peterson  <adele@apple.com>
47648         Reviewed by Anders.
47650         Fix for: http://bugs.webkit.org/show_bug.cgi?id=8948
47651         Switch to use new text field implementation for <textarea>
47653         * css/html4.css:
47654         * html/HTMLTextAreaElement.cpp:
47655         (WebCore::HTMLTextAreaElement::selectionStart):
47656         (WebCore::HTMLTextAreaElement::selectionEnd):
47657         (WebCore::HTMLTextAreaElement::setSelectionStart):
47658         (WebCore::HTMLTextAreaElement::setSelectionEnd):
47659         (WebCore::HTMLTextAreaElement::select):
47660         (WebCore::HTMLTextAreaElement::setSelectionRange):
47661         (WebCore::HTMLTextAreaElement::createRenderer):
47662         (WebCore::HTMLTextAreaElement::appendFormData):
47663         (WebCore::HTMLTextAreaElement::isKeyboardFocusable):
47664         (WebCore::HTMLTextAreaElement::isMouseFocusable):
47665         (WebCore::HTMLTextAreaElement::focus):
47666         (WebCore::HTMLTextAreaElement::defaultEventHandler):
47667         (WebCore::HTMLTextAreaElement::updateValue):
47668         (WebCore::HTMLTextAreaElement::setValue):
47670 2006-06-20  Brady Eidson  <beidson@apple.com>
47672         Reviewed by Maciej
47674         Fixed capitalization mistake that I made, someone else fixed, then I accidentally made it go back to the old way
47676         * icon/SQLStatement.cpp:
47678 2006-06-20  Brady Eidson  <beidson@apple.com>
47680         Reviewed by Maciej.
47682         More changes/additions setting the stage for the major IconDatabase hookup.
47684         * WebCore.xcodeproj/project.pbxproj:  Added SQLTransaction.cpp
47686         * bridge/mac/WebCoreIconDatabaseBridge.h: Added call-throughs and translations to pass WebKit DB to WebCore DB
47687         * bridge/mac/WebCoreIconDatabaseBridge.mm:
47688         (+[WebCoreIconDatabaseBridge sharedBridgeInstance]):
47689         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
47690         (-[WebCoreIconDatabaseBridge iconForURL:withSize:]):
47691         (-[WebCoreIconDatabaseBridge iconURLForURL:]):
47692         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
47693         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
47694         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
47695         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
47696         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
47697         (-[WebCoreIconDatabaseBridge _setIconURL:forURL:]):
47698         (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
47700         * bridge/mac/WebCorePageBridge.mm: Added WebCore's IconDatabase logging channel to the user-prefs check
47701         (initializeLoggingChannelsIfNecessary):
47703         * icon/IconDatabase.cpp:  Added stubs and basic SQL usage to create the sqlite DB and respond to WebKit calls
47704         (WebCore::IconDatabase::IconDatabase):
47705         (WebCore::IconDatabase::open):
47706         (WebCore::IconDatabase::close):
47707         (WebCore::IconDatabase::isValidDatabase):
47708         (WebCore::IconDatabase::recreateDatabase):
47709         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
47710         (WebCore::IconDatabase::iconForURL):
47711         (WebCore::IconDatabase::iconURLForURL):
47712         (WebCore::IconDatabase::defaultIcon):
47713         (WebCore::IconDatabase::retainIconForURL):
47714         (WebCore::IconDatabase::releaseIconForURL):
47715         (WebCore::IconDatabase::setIconForIconURL):
47716         (WebCore::IconDatabase::setHaveNoIconForIconURL):
47717         (WebCore::IconDatabase::setIconURLForPageURL):
47718         (WebCore::IconDatabase::hasIconForIconURL):
47720         * icon/IconDatabase.h:  WebIcon will be an internal class used in IconDatabase but is not complete yet
47721         (WebCore::WebIcon::getExpiration):
47722         (WebCore::WebIcon::getTouch):
47724         * icon/SQLDatabase.cpp:  Added more SQLite convenience methods
47725         (SQLDatabase::setFullsync):
47726         (SQLDatabase::setBusyTimeout):
47727         (SQLDatabase::setBusyHandler):
47728         * icon/SQLDatabase.h:
47729         * icon/SQLStatement.cpp:
47730         (WebCore::SQLStatement::returnsAtLeastOneResult):
47732         * icon/SQLTransaction.cpp: Added basic commit/rollback support with this simple class
47733         (SQLTransaction::SQLTransaction):
47734         (SQLTransaction::~SQLTransaction):
47735         (SQLTransaction::begin):
47736         (SQLTransaction::commit):
47737         (SQLTransaction::rollback):
47739 2006-06-20  Adele Peterson  <adele@apple.com>
47741         Reviewed by Maciej.
47743         Fixes for:
47744         http://bugs.webkit.org/show_bug.cgi?id=8724
47745         REGRESSION: onSelect handler doesn't work for text fields
47747         http://bugs.webkit.org/show_bug.cgi?id=7676
47748         REGRESSION: Selection methods on new text fields don't work if text field is hidden
47750         http://bugs.webkit.org/show_bug.cgi?id=8867
47751         REGRESSION: selectionStart/End return 0 for input element once it no longer has focus
47753         Implemented onSelect for new text fields and textareas.  Also fixed selection restore
47754         behavior to better match other browsers and Safari 2.0 behavior.
47756         Tests:
47757         * fast/forms/input-selection-restore.html
47758         * fast/forms/input-selection-hidden.html
47759         * fast/forms/onselect-textarea.html
47760         * fast/forms/onselect-textfield.html
47762         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::cacheSelection): Added.
47763         * html/HTMLInputElement.cpp:
47764         (WebCore::HTMLInputElement::init): Initializes cached selection.
47765         (WebCore::HTMLInputElement::selectionStart): If this element doesn't have focus, return the cached selection value.
47766         (WebCore::HTMLInputElement::selectionEnd): ditto.
47767         (WebCore::HTMLInputElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
47769         * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::cacheSelection): Added.
47770         * html/HTMLTextAreaElement.cpp:
47771         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Initializes cached selection.
47772         (WebCore::HTMLTextAreaElement::selectionStart): If this element doesn't have focus, return the cached selection value.
47773         (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
47774         (WebCore::HTMLTextAreaElement::focus): If this is the first focus, set a caret at the end of the text.  Otherwise,
47775         restore the cached selection.  This matches other browsers' behavior.
47776         (WebCore::HTMLTextAreaElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
47778         * page/Frame.h: Added notifyRendererOfSelectionChange method. 
47779         * page/Frame.cpp:
47780         (WebCore::Frame::notifyRendererOfSelectionChange): Added.  Calls selectionChanged for text fields and textareas.  Forwards a userTriggered
47781         argument so selectionChanged knows whether or not to fire onSelect.
47782         (WebCore::Frame::setSelection): Calls notifyRendererOfSelectionChange(false).  This gets called for all selection changes, so the renderer
47783         can always update its cached selection values.
47784         (WebCore::Frame::handleMouseReleaseEvent): Calls notifyRendererOfSelectionChange(true) so onSelect will get fired when the user is done
47785         making a selection with the mouse.
47786         * bridge/mac/WebCoreFrameBridge.mm:
47787         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): Calls notifyRendererOfSelectionChange(true) so onSelect gets
47788         fired when the user makes a selection with the keyboard.
47789         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): ditto.
47791         * rendering/RenderTextField.h: Add userTriggered parameter to selectionChanged.
47792         * rendering/RenderTextField.cpp:
47793         (WebCore::RenderTextField::setSelectionRange): For visibility:hidden, cache the selection and 
47794         return early since we won't be able to actually set the selection.
47795         (WebCore::RenderTextField::selectionChanged): Caches the selection.  
47796         If the selection is a range, and its triggered by user action, then fire the onSelect event.
47798 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
47800         * bridge/win/FrameWin.cpp:
47801         (WebCore::shouldInterruptJavaScript):
47802         * bridge/win/FrameWin.h:
47803         Try fixing the Windows build.
47805 2006-06-20  Adele Peterson  <adele@apple.com>
47807         RS by Tim Hatcher.
47809         Renamed RenderSelect to DeprecatedRenderSelect to prepare for new popup menu and list menu implementations.
47810        
47811         * WebCore.xcodeproj/project.pbxproj:
47812         * html/HTMLOptionElement.h:
47813         * html/HTMLSelectElement.cpp:
47814         (WebCore::HTMLSelectElement::recalcStyle):
47815         (WebCore::HTMLSelectElement::createRenderer):
47816         (WebCore::HTMLSelectElement::setRecalcListItems):
47817         (WebCore::HTMLSelectElement::reset):
47818         (WebCore::HTMLSelectElement::notifyOptionSelected):
47819         * html/HTMLSelectElement.h:
47820         * rendering/DeprecatedRenderSelect.cpp: Added.
47821         (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
47822         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
47823         (WebCore::DeprecatedRenderSelect::setStyle):
47824         (WebCore::DeprecatedRenderSelect::updateFromElement):
47825         (WebCore::DeprecatedRenderSelect::baselinePosition):
47826         (WebCore::DeprecatedRenderSelect::calcMinMaxWidth):
47827         (WebCore::DeprecatedRenderSelect::layout):
47828         (WebCore::DeprecatedRenderSelect::valueChanged):
47829         (WebCore::DeprecatedRenderSelect::selectionChanged):
47830         (WebCore::DeprecatedRenderSelect::setOptionsChanged):
47831         (WebCore::DeprecatedRenderSelect::createListBox):
47832         (WebCore::DeprecatedRenderSelect::updateSelection):
47833         * rendering/DeprecatedRenderSelect.h: Added.
47834         (WebCore::DeprecatedRenderSelect::renderName):
47835         * rendering/RenderSelect.cpp: Removed.
47836         * rendering/RenderSelect.h: Removed.
47838 2006-06-20  Anders Carlsson  <acarlsson@apple.com>
47840         Reviewed by Geoff.
47842         http://bugs.webkit.org/show_bug.cgi?id=9509
47843         Would like a way to pause/resume XML parsing
47845         * dom/xml_tokenizer.cpp:
47846         (WebCore::PendingCallbacks::PendingCallbacks):
47847         (WebCore::PendingCallbacks::appendStartElementNSCallback):
47848         (WebCore::PendingCallbacks::appendEndElementNSCallback):
47849         (WebCore::PendingCallbacks::appendCharactersCallback):
47850         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
47851         (WebCore::PendingCallbacks::appendCDATABlockCallback):
47852         (WebCore::PendingCallbacks::appendCommentCallback):
47853         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
47854         (WebCore::PendingCallbacks::appendErrorCallback):
47855         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
47856         (WebCore::PendingCallbacks::isEmpty):
47857         (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
47858         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
47859         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
47860         (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
47861         (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
47862         (WebCore::PendingCallbacks::PendingCharactersCallback::call):
47863         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
47864         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
47865         (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
47866         (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
47867         (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
47868         (WebCore::PendingCallbacks::PendingCommentCallback::call):
47869         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
47870         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
47871         (WebCore::PendingCallbacks::):
47872         New classes which manage a list of pending SAX callbacks that have not yet
47873         been sent to the tokenizer.
47874         
47875         (WebCore::XMLTokenizer::XMLTokenizer):
47876         Initialize new member variables.
47877         
47878         (WebCore::XMLTokenizer::~XMLTokenizer):
47879         Delete PendingCallbacks object.
47880         
47881         (WebCore::XMLTokenizer::write):
47882         If the parser is paused, queue the data to be written.
47883         
47884         (WebCore::XMLTokenizer::startElementNs):
47885         (WebCore::XMLTokenizer::endElementNs):
47886         (WebCore::XMLTokenizer::characters):
47887         (WebCore::XMLTokenizer::error):
47888         (WebCore::XMLTokenizer::processingInstruction):
47889         (WebCore::XMLTokenizer::cdataBlock):
47890         (WebCore::XMLTokenizer::comment):
47891         (WebCore::XMLTokenizer::internalSubset):
47892         If the parser has been paused, queue the callbacks instead.
47894         (WebCore::XMLTokenizer::handleError):
47895         New function, called by both ::error and :PendingCallbacks::callAndRemoveFirstCallback
47896         
47897         (WebCore::XMLTokenizer::finish):
47898         (WebCore::XMLTokenizer::pauseParsing):
47899          Set m_parserPaused to true.
47900         
47901         (WebCore::XMLTokenizer::resumeParsing):
47902         Call the pending callbacks and then parse the pending source.
47903         
47904 2006-06-20  David Hyatt  <hyatt@apple.com>
47906         Don't send the custom highlighter callback when painting is disabled.
47908         Reviewed by harrison
47910         * WebCore.xcodeproj/project.pbxproj:
47911         * rendering/InlineTextBox.cpp:
47912         (WebCore::InlineTextBox::paint):
47914 2006-06-20  Anders Carlsson  <acarlsson@apple.com>
47916         Reviewed by John
47918         <rdar://problem/4592244> REGRESSION (417.9.3 - 420+): (some?) plain text files have all lines concatenated into one line
47919         
47920         * loader/TextDocument.cpp:
47921         (WebCore::TextTokenizer::checkBuffer):
47922         (WebCore::TextTokenizer::TextTokenizer):
47923         (WebCore::TextTokenizer::write):        
47924         (WebCore::TextTokenizer::finish):
47925         Add a text buffer which is used for translation of CR and CRLF to plain LF, 
47926         like the HTML tokenizer does.
47928 2006-06-20  Maciej Stachowiak  <mjs@apple.com>
47930         Reviewed by Eric.
47932         - fix crasher on one of the layout tests caused by my recent checkin
47934         * kcanvas/RenderSVGText.cpp:
47935         (WebCore::RenderSVGText::paint):
47937 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
47939         Reviewed by Darin.
47941         - http://bugs.webkit.org/show_bug.cgi?id=5499
47942         Page reload does not send any cache control headers
47944         Test: http/tests/misc/refresh-headers.php
47946         * bindings/js/kjs_window.cpp:
47947         (KJS::LocationFunc::callAsFunction): Call scheduleRefresh() for Location::Reload.
47949         * page/Frame.h: Add scheduleRefresh(). Don't derive from TransferJob or implement its methods - that was
47950         used only for storing response HTTP headers, which was an overkill.
47952         * page/FramePrivate.h: Replace TransferJob with a HashMap for storing response headers.
47954         * page/Frame.cpp:
47955         (WebCore::Frame::didOpenURL): Don't needlessly change d->m_cachePolicy. Don't create a TransferJob.
47956         (WebCore::Frame::stopLoading): Directly access the metadata map, instead of going through a TransferJob.
47957         (WebCore::Frame::receivedFirstData): Ditto.
47958         (WebCore::Frame::addMetaData): Ditto.
47959         (WebCore::Frame::scheduleRefresh): A new function that schedules a refresh, similarly to what
47960         scheduleRedirection() does.
47961         (WebCore::Frame::changeLocation): Set request.reload attribute based on the current cache policy.
47963 2006-06-19  Ben Goodger  <bengoodger@gmail.com>
47965         Reviewed by Darin.
47967         http://bugs.webkit.org/show_bug.cgi?id=9501
47968         Windows build fails with link error CharsetTable not defined
47970         * platform/make-charset-table.pl:
47971         (process_iana_charsets): Move test for equality to alias "None" until after
47972         normalization steps to ensure escape characters in the input data don't
47973         interfere with processing.  Convert nearby tabs to 4 spaces in this function.
47975 2006-06-18  Maciej Stachowiak  <mjs@apple.com>
47977         Reviewed by Darin.
47979         - fixed http://bugs.webkit.org/show_bug.cgi?id=9488
47980         "Animated GIFs do not respect transforms in SVG"
47981         
47982         http://bugs.webkit.org/show_bug.cgi?id=6946
47983         "SVG shows invalidation issues in WebKit"
47984         
47985         http://www.treebuilder.de/default.asp?file=441875.xml
47986         "Invalidation issues with "SVG 3d" demo"
47987         
47988         http://code.google.com/webstats/2005-12/pages.html
47989         "SVG text doesn't repaint correctly"
47991         * kcanvas/KCanvasContainer.cpp:
47992         (WebCore::KCanvasContainer::computeAbsoluteRepaintRect): Override base class, and apply
47993         appropriate transforms, so damage rects in transformed SVG content get propagated up properly.
47994         (WebCore::KCanvasContainer::getAbsoluteRepaintRect): note a FIXME; this method
47995         seems wrong.
47996         * kcanvas/KCanvasContainer.h: Prototype new method.
47998         * css/svg.css: Don't apply overflow:hidden to foreignObject, since that makes it a RenderLayer
47999         so it paints twice.
48000         * kcanvas/RenderForeignObject.cpp:
48001         (WebCore::RenderForeignObject::paint): Transform the damage rect before passing it down to HTML content,
48002         so everything paints that is supposed to. Also handle opacity here since we won't get layers.
48003         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
48004         appropriate transforms, so damage rects in HTML embedded in SVG get propagated up properly.
48005         (WebCore::RenderForeignObject::requiresLayer): Never use a RenderLayer.
48006         (WebCore::RenderForeignObject::layout): Make sure to dirty our previous bounds when layout
48007         changes, as by transform.
48008         * kcanvas/RenderForeignObject.h:
48010         * kcanvas/RenderSVGImage.cpp:
48011         (WebCore::RenderSVGImage::paint): Transform the damage rect when painting. Also handle opacity 
48012         here since we won't get layers.
48013         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
48014         appropriate transforms, so damage rects in SVG images  get propagated up properly.
48015         (WebCore::RenderSVGImage::translationForAttributes): New helper method, factored out of below.
48016         (WebCore::RenderSVGImage::translateForAttributes): Use above.
48017         (WebCore::RenderSVGImage::requiresLayer): Never use a RenderLayer.
48018         (WebCore::RenderSVGImage::layout): Make sure to properly dirty the old bounds, accounting
48019         for transforms.
48020         (WebCore::RenderSVGImage::relativeBBox): Correct bbox computation.
48021         * kcanvas/RenderSVGImage.h:
48023         * kcanvas/RenderSVGText.cpp:
48024         (WebCore::RenderSVGText::paint): Transform incoming damage rect. Handle opacity here since we
48025         won't get a layer.
48026         (WebCore::RenderSVGText::computeAbsoluteRepaintRect): Apply transforms.
48027         (WebCore::RenderSVGText::requiresLayer): Never use a RenderLayer.
48028         (WebCore::RenderSVGText::layout): Make sure to dirty the old bounds.
48030         * platform/cg/GraphicsContextCG.cpp:
48031         (WebCore::GraphicsContext::roundToDevicePixels): Instead of transforming rect to device space
48032         and back to user space, do this for the origin and lower right corner of the rect. Otherwise the
48033         rect will get inflated if user space is rotated or skewed.
48035         * kcanvas/RenderPath.cpp:
48036         (WebCore::RenderPath::layout): Make sure to dirty the old bounds.
48037         (WebCore::RenderPath::paint): Hhandle opacity here.
48038         
48039         Bonus fix:
48040         
48041         * kcanvas/RenderSVGImage.cpp:
48042         (WebCore::RenderSVGImage::nodeAtPoint): Fix hit testing. Wasn't applying the x/y
48043         attribute transform.
48045 2006-06-19  Sam Weinig  <sam.weinig@gmail.com>
48047         Reviewed by Darin.
48049         - fix for http://bugs.webkit.org/show_bug.cgi?id=9500
48050           Split dom2_eventsimpl.* into separate files (one class per file).
48052         * WebCore.xcodeproj/project.pbxproj:
48053         * bindings/js/kjs_binding.cpp:
48054         * bindings/js/kjs_dom.cpp:
48055         * bindings/js/kjs_events.cpp:
48056         * bindings/js/kjs_html.cpp:
48057         * bindings/js/kjs_window.cpp:
48058         * bindings/objc/DOM.mm:
48059         * bindings/objc/DOMEvents.mm:
48060         * bindings/objc/DOMInternal.mm:
48061         * bindings/scripts/CodeGeneratorJS.pm:
48062         * bridge/mac/FrameMac.mm:
48063         * dom/BeforeTextInsertedEvent.h:
48064         * dom/BeforeUnloadEvent.cpp: Added.
48065         * dom/BeforeUnloadEvent.h: Added.
48066         (WebCore::BeforeUnloadEvent::result):
48067         * dom/CharacterData.cpp:
48068         * dom/Clipboard.h: Added.
48069         (WebCore::Clipboard::~Clipboard):
48070         * dom/ClipboardEvent.cpp: Added.
48071         (WebCore::ClipboardEvent::ClipboardEvent):
48072         * dom/ClipboardEvent.h: Added.
48073         (WebCore::ClipboardEvent::clipboard):
48074         * dom/ContainerNode.cpp:
48075         * dom/Document.cpp:
48076         * dom/Event.cpp: Added.
48077         (WebCore::Event::Event):
48078         (WebCore::Event::initEvent):
48079         * dom/Event.h: Added.
48080         (WebCore::):
48081         (WebCore::Event::):
48082         (WebCore::Event::type):
48083         (WebCore::Event::target):
48084         (WebCore::Event::currentTarget):
48085         (WebCore::Event::setCurrentTarget):
48086         (WebCore::Event::eventPhase):
48087         (WebCore::Event::setEventPhase):
48088         (WebCore::Event::bubbles):
48089         (WebCore::Event::cancelable):
48090         (WebCore::Event::timeStamp):
48091         (WebCore::Event::stopPropagation):
48092         (WebCore::Event::propagationStopped):
48093         (WebCore::Event::defaultPrevented):
48094         (WebCore::Event::setDefaultHandled):
48095         (WebCore::Event::defaultHandled):
48096         (WebCore::Event::preventDefault):
48097         (WebCore::Event::setDefaultPrevented):
48098         (WebCore::Event::setCancelBubble):
48099         (WebCore::Event::getCancelBubble):
48100         (WebCore::Event::dispatched):
48101         * dom/EventTargetNode.cpp:
48102         * dom/KeyboardEvent.cpp: Added.
48103         (WebCore::KeyboardEvent::KeyboardEvent):
48104         (WebCore::KeyboardEvent::initKeyboardEvent):
48105         * dom/KeyboardEvent.h: Added.
48106         (WebCore::KeyboardEvent::):
48107         (WebCore::KeyboardEvent::keyIdentifier):
48108         (WebCore::KeyboardEvent::keyLocation):
48109         (WebCore::KeyboardEvent::altGraphKey):
48110         (WebCore::KeyboardEvent::keyEvent):
48111         * dom/MouseEvent.cpp: Added.
48112         (WebCore::MouseEvent::MouseEvent):
48113         (WebCore::MouseEvent::initMouseEvent):
48114         (WebCore::MouseEvent::isDragEvent):
48115         (WebCore::MouseEvent::toElement):
48116         (WebCore::MouseEvent::fromElement):
48117         * dom/MouseEvent.h: Added.
48118         (WebCore::MouseEvent::button):
48119         (WebCore::MouseEvent::relatedTarget):
48120         (WebCore::MouseEvent::clipboard):
48121         * dom/MouseRelatedEvent.cpp: Added.
48122         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
48123         * dom/MouseRelatedEvent.h: Added.
48124         (WebCore::MouseRelatedEvent::screenX):
48125         (WebCore::MouseRelatedEvent::screenY):
48126         (WebCore::MouseRelatedEvent::clientX):
48127         (WebCore::MouseRelatedEvent::clientY):
48128         (WebCore::MouseRelatedEvent::layerX):
48129         (WebCore::MouseRelatedEvent::layerY):
48130         (WebCore::MouseRelatedEvent::offsetX):
48131         (WebCore::MouseRelatedEvent::offsetY):
48132         (WebCore::MouseRelatedEvent::isSimulated):
48133         * dom/MutationEvent.cpp: Added.
48134         (WebCore::MutationEvent::MutationEvent):
48135         (WebCore::MutationEvent::initMutationEvent):
48136         * dom/MutationEvent.h: Added.
48137         (WebCore::MutationEvent::):
48138         (WebCore::MutationEvent::relatedNode):
48139         (WebCore::MutationEvent::prevValue):
48140         (WebCore::MutationEvent::newValue):
48141         (WebCore::MutationEvent::attrName):
48142         (WebCore::MutationEvent::attrChange):
48143         * dom/RegisteredEventListener.cpp: Added.
48144         (WebCore::RegisteredEventListener::RegisteredEventListener):
48145         (WebCore::operator==):
48146         * dom/RegisteredEventListener.h: Added.
48147         (WebCore::RegisteredEventListener::eventType):
48148         (WebCore::RegisteredEventListener::listener):
48149         (WebCore::RegisteredEventListener::useCapture):
48150         (WebCore::RegisteredEventListener::removed):
48151         (WebCore::RegisteredEventListener::setRemoved):
48152         (WebCore::operator!=):
48153         * dom/UIEvent.cpp: Added.
48154         (WebCore::UIEvent::UIEvent):
48155         (WebCore::UIEvent::initUIEvent):
48156         * dom/UIEvent.h: Added.
48157         (WebCore::UIEvent::view):
48158         (WebCore::UIEvent::detail):
48159         * dom/UIEventWithKeyState.h: Added.
48160         (WebCore::UIEventWithKeyState::UIEventWithKeyState):
48161         (WebCore::UIEventWithKeyState::ctrlKey):
48162         (WebCore::UIEventWithKeyState::shiftKey):
48163         (WebCore::UIEventWithKeyState::altKey):
48164         (WebCore::UIEventWithKeyState::metaKey):
48165         * dom/WheelEvent.cpp: Added.
48166         (WebCore::WheelEvent::WheelEvent):
48167         * dom/WheelEvent.h: Added.
48168         (WebCore::WheelEvent::isHorizontal):
48169         (WebCore::WheelEvent::wheelDelta):
48170         * dom/dom2_eventsimpl.cpp: Removed.
48171         * dom/dom2_eventsimpl.h: Removed.
48172         * editing/EditCommand.cpp:
48173         * editing/SelectionController.cpp:
48174         * html/HTMLAnchorElement.cpp:
48175         * html/HTMLButtonElement.cpp:
48176         * html/HTMLDocument.cpp:
48177         * html/HTMLElement.cpp:
48178         * html/HTMLFrameSetElement.cpp:
48179         * html/HTMLInputElement.cpp:
48180         * html/HTMLSelectElement.cpp:
48181         * html/HTMLTextAreaElement.cpp:
48182         * ksvg2/events/SVGZoomEvent.h:
48183         * ksvg2/svg/SVGAElement.cpp:
48184         * page/Frame.cpp:
48185         * page/FrameView.cpp:
48186         * platform/PlatformKeyboardEvent.h:
48187         * platform/PlatformMouseEvent.h:
48188         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
48189         * platform/PlatformWheelEvent.h:
48190         * platform/mac/ClipboardMac.h:
48191         * rendering/RenderFrameSet.cpp:
48192         * rendering/RenderLayer.cpp:
48193         * rendering/RenderObject.cpp:
48194         * rendering/RenderTextField.cpp:
48195         * xml/xmlhttprequest.cpp:
48197 2006-06-19  Darin Adler  <darin@apple.com>
48199         Reviewed by Brady.
48201         - removed a few empty/unused files Brady found by tracking down the nm error message
48203         * editing/VisibleRange.cpp: Removed.
48204         * editing/VisibleRange.h: Removed.
48205         * kcanvas/KCanvasImage.cpp: Removed.
48207         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed VisibleRange.cpp/h.
48208         * WebCore.xcodeproj/project.pbxproj: Removed VisibleRange.cpp/h and KCanvasImage.cpp.
48209         * WebCoreSources.bkl: Removed VisibleRange.cpp.
48211 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
48213         Reviewed by Darin.
48215         - http://bugs.webkit.org/show_bug.cgi?id=9492
48216         Fix or remove window.debug.
48218         It was only available in newly created windows, and became undefined after changing the URL
48219         or reloading. Let's try removing it; hopefully, no-one will notice.
48221         * bindings/js/kjs_proxy.cpp:
48222         (WebCore::KJSProxy::initScriptIfNeeded): Don't add window.debug.
48224 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
48226         Reviewed by Darin.
48228         - http://bugs.webkit.org/show_bug.cgi?id=8972
48229         REGRESSION: invalid UTF-8 sequences are not displayed
48231         Test: LayoutTests/fast/encoding/invalid-UTF-8.html
48233         * dom/xml_tokenizer.cpp:
48234         (WebCore::getXHTMLEntity): Properly null-terminate the result. This didn't matter
48235         before, because the garbage at the end was guaranteed to be invalid UTF-8, and was 
48236         omitted in appendOmittingUnwanted();
48238         * platform/StreamingTextDecoder.cpp:
48239         (WebCore::StreamingTextDecoder::appendOmittingBOM): Only omit BOM characters.
48240         Renamed back from appendOmittingUnwanted();
48242         (WebCore::StreamingTextDecoder::convertUsingICU):
48243         * platform/StreamingTextDecoder.h:
48244         Update for the above function renaming.
48246 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
48248         Reviewed by darin.
48250         http://bugs.webkit.org/show_bug.cgi?id=9498
48251         Remove dead code left in JSHTMLDocument::getOwnPropertySlot() from r14298 (Bug 7838)
48253         * bindings/js/kjs_html.cpp:
48254         (KJS::JSHTMLDocument::getOwnPropertySlot): Remove dead code.
48256 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
48258         Reviewed by ggaren.
48260         * manual-tests/redraw-page-cache-visited-links.html: Changed to use DOM mouse event.
48262 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
48264         Reviewed by ggaren.
48266         - Update a manual test for http://bugs.webkit.org/show_bug.cgi?id=9150
48267           DumpRenderTree should be able to keep URL history during runs
48269         * manual-tests/redraw-page-cache-visited-links.html: Added note about window.history hack.
48270         Fixed coordinates for mouse events.  Added call to keepWebHistory().
48271         * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added note about
48272         window.history hack.
48274 2006-06-17  Anders Carlsson  <acarlsson@apple.com>
48276         Reviewed by Geoff.
48278         * bindings/js/kjs_binding.cpp:
48279         (KJS::ScriptInterpreter::ScriptInterpreter):
48280         Set the default script timeout.
48281         
48282         (KJS::ScriptInterpreter::shouldInterruptScript):
48283         New function which asks the frame if the script should be interrupted.
48284         
48285         * bindings/js/kjs_binding.h:
48286                 
48287         * bindings/js/kjs_events.cpp:
48288         (KJS::JSAbstractEventListener::handleEvent):
48289         * bindings/js/kjs_proxy.cpp:
48290         (WebCore::KJSProxy::evaluate):
48291         Add calls to startTimeoutCheck/stopTimeoutCheck
48292         
48293         * bindings/js/kjs_window.cpp:
48294         (KJS::WindowFunc::callAsFunction):
48295         Add calls to pauseTimeoutCheck/unpauseTimeoutCheck 
48296         
48297         (KJS::ScheduledAction::execute):
48298         Add calls to startTimeoutCheck/stopTimeoutCheck
48299         
48300         * bridge/mac/FrameMac.h:
48301         * bridge/mac/FrameMac.mm:
48302         (WebCore::FrameMac::shouldInterruptJavaScript):
48303         New function which asks the bridge if the script should be interrupted.
48304         
48305         * bridge/mac/WebCoreFrameBridge.h:
48306         * page/Frame.h:
48307         Add function declarations.
48308         
48309 2006-06-17  Alexey Proskuryakov  <ap@nypop.com>
48311         Reviewed by ggaren.
48313         - http://bugs.webkit.org/show_bug.cgi?id=8131
48314         Some properties and methods of window and document objects cannot be converted to a string
48316         Most of the properties were already fixed, this just adds adds a prototype to window.debug.
48318         Test: fast/dom/everything-to-string.html
48320         * bindings/js/kjs_proxy.cpp:
48321         (WebCore::TestFunctionImp::TestFunctionImp): 
48322         (WebCore::KJSProxy::initScriptIfNeeded):
48324 2006-06-17  David Kilzer  <ddkilzer@kilzer.net>
48326         Reviewed by Maciej.
48328         - Fix capitalization issue for case-sensitive filesystems.
48330         * icon/SQLStatement.cpp: Change assertions.h to Assertions.h.
48332 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
48334         Reviewed by Hyatt.
48336         - fix http://bugs.webkit.org/show_bug.cgi?id=7395
48337           Table not properly re-flowed when floated div removed from layout
48339         Test: fast/block/float/table-relayout.html
48341         * rendering/RenderBlock.cpp:
48342         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): Added marking
48343         of children that use lineWidth.
48344         * rendering/RenderBlock.h: Added a FIXME.
48346 2006-06-17  Rob Buis  <buis@kde.org>
48348         Reviewed by Darin.
48350         Fix for http://bugs.webkit.org/show_bug.cgi?id=6282:
48351         Adding new Option with new Option(text, value, defaultSelected, selected) fails to update selectedIndex
48353         Update selectedIndex when a new option is added using javascript.
48355         * bindings/js/kjs_html.cpp:
48356         (KJS::JSHTMLSelectCollection::put):
48357         * html/HTMLSelectElement.cpp:
48358         (WebCore::HTMLSelectElement::setSelectedIndex):
48359         (WebCore::HTMLSelectElement::setOption):
48360         (WebCore::HTMLSelectElement::setLength):
48361         * html/HTMLSelectElement.h:
48363 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
48365         Reviewed by Darin.
48367         - test for http://bugs.webkit.org/show_bug.cgi?id=9466
48368           Assertion failure when dragging an image from the document into Safari's address bar
48370         * manual-tests/reset-initiatedDrag.html: Added.
48372 2006-06-16  David Kilzer  <ddkilzer@kilzer.net>
48374         Reviewed by darin.
48376         http://bugs.webkit.org/show_bug.cgi?id=9463
48377         REGRESSION (r14879): Assertion failure in CSSParser::sinkFloatingSelector()
48378         (m_floatingSelectors.contains(selector)) in some CSS tests
48380         * css/CSSGrammar.y: Create CSSSelector for FUNCTION using CSSParser::createFloatingSelector()
48381         instead of the bare constructor.
48383 2006-06-16  David Harrison  <harrison@apple.com>
48385         Reviewed by Hatcher.
48387         <rdar://problem/4565312> Mail has a weird drawing artifact with dotted red lines running across the window
48389         Problem was that revision lost a check to not draw the markers
48390         when paintingDisabled().   This led the markers to be drawn when
48391         the window deactivated, at which time the view happens to be flipped.
48393         It is similar but not the same as the Mail ToDo highlighting
48394         issue, which is due to the custom highlight method
48395         drawing when the focusView is nil.  Mail team knows this
48396         and has tested the fix.
48398         * platform/mac/GraphicsContextMac.mm:
48399         (WebCore::GraphicsContext::drawLineForMisspelling):
48400         Early return if paintingDisabled().
48402 2006-06-16  Adele Peterson  <adele@apple.com>
48404         Reviewed by Hyatt.
48406         Adjust padding of inner div so text lines up with text fields.
48407         Adjust height of textarea so it only leaves room for the horizontal
48408         scrollbar if overflow is set to scroll, or if overflow is set to
48409         auto and there's no word wrap.
48411         These changes will be tested by current layout tests when the
48412         new textarea implementation takes effect.
48414         * rendering/RenderTextField.cpp:
48415         (WebCore::RenderTextField::createDivStyle):
48416         (WebCore::RenderTextField::calcHeight):
48418 2006-06-16  John Sullivan  <sullivan@apple.com>
48420         Reviewed by Darin
48421         
48422         - fixed <rdar://problem/4590062> crash in marker code with particular set of steps on daringfireball.net
48424         * dom/Document.cpp:
48425         (WebCore::Document::addMarker):
48426         Store [it - markers.begin()] in a local variable before modifying markers, since modifying markers can
48427         change value of [it - markers.begin()].
48429 2006-06-16  Adele Peterson  <adele@apple.com>
48431         Reviewed by Alice.
48433         Added code to draw Cocoa-like border for textareas instead of just using CSS.
48435         * WebCore.exp:
48436         * css/html4.css: Sets a 1px solid border.
48437         * platform/mac/WebCoreSystemInterface.h:
48438         * platform/mac/WebCoreSystemInterface.mm:
48439         * rendering/RenderThemeMac.h: Formatting changes.
48440         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextArea):
48441         Uses new wkDrawBezeledTextArea to draw border.
48443 2006-06-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
48445         Reviewed by hyatt.
48447         - fix http://bugs.webkit.org/show_bug.cgi?id=9432
48448           REGRESSION: crash in capitalization code due to empty-string generated content
48450         Test: fast/text/capitalize-empty-generated-string.html
48452         * rendering/RenderText.cpp:
48453         (WebCore::RenderText::setText): Skip empty-string text renderers when
48454         looking for the previous character.
48456 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
48458         Reviewed by levi
48460         <http://bugs.webkit.org/show_bug.cgi?id=8637>
48461         REGRESSION (11-16-05): Selection gaps left behind after delete
48463         * editing/SelectionController.cpp:
48464         (WebCore::SelectionController::nodeWillBeRemoved): Invalidate the selection so that 
48465         selection gaps are invalidated.
48467 2006-06-15  Timothy Hatcher  <timothy@apple.com>
48469         Reviewed by Geoff and Darin.
48470         
48471         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
48473         * WebCore.xcodeproj/project.pbxproj:
48475 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
48477         Reviewed by harrison
48478         
48479         * editing/CompositeEditCommand.cpp:
48480         (WebCore::hasARenderedDescendant):
48481         (WebCore::CompositeEditCommand::prune): Ascend using the DOM
48482         (WebCore::CompositeEditCommand::moveParagraphs): Placeholder insertion
48483         during deletion is fixed, removing the fall back.
48485 2006-06-15  Nicholas Shanks  <contact@nickshanks.com>
48487         Reviewed by Hyatt, landed by Joost de Valk.
48489         Fix http://bugs.webkit.org/show_bug.cgi?id=3233
48491         Add support for the :lang pseudo-class.
48493         * css/CSSGrammar.y:
48494         * css/CSSSelector.cpp:
48495         (WebCore::CSSSelector::operator == ):
48496         * css/CSSSelector.h:
48497         (WebCore::CSSSelector::CSSSelector):
48498         * css/cssparser.cpp:
48499         (WebCore::CSSParser::lex):
48500         * css/cssstyleselector.cpp:
48501         (WebCore::CSSStyleSelector::checkOneSelector):
48502         * css/tokenizer.flex:
48504 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
48506         Reviewed by harrison
48507         
48508         <http://bugs.webkit.org/show_bug.cgi?id=9456>
48509         REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
48510         
48511         * page/Frame.cpp:
48512         (WebCore::Frame::findString): When comparing the found range with
48513         what's currently selected a) build a selection with the found
48514         range to remove collapsed whitespace and b) compare ranges 
48515         instead of selection objects to ignore the way that the 
48516         current selection was made (to ignore the base and extent).
48518 2006-06-15  David Kilzer  <ddkilzer@kilzer.net>
48520         Reviewed by mjs.
48522         http://bugs.webkit.org/show_bug.cgi?id=9382
48523         IDL files missing copyright/license headers
48525         Add Apple BSD license and copyright to IDL files.
48527         * ksvg2/bindings/idl/svg/GetSVGDocument.idl:
48528         * ksvg2/bindings/idl/svg/SVGAElement.idl:
48529         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl:
48530         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl:
48531         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl:
48532         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl:
48533         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl:
48534         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl:
48535         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl:
48536         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl:
48537         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl:
48538         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl:
48539         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl:
48540         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl:
48541         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl:
48542         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl:
48543         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl:
48544         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl:
48545         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl:
48546         * ksvg2/bindings/idl/svg/SVGCircleElement.idl:
48547         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl:
48548         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl:
48549         * ksvg2/bindings/idl/svg/SVGCursorElement.idl:
48550         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl:
48551         * ksvg2/bindings/idl/svg/SVGDefsElement.idl:
48552         * ksvg2/bindings/idl/svg/SVGDescElement.idl:
48553         * ksvg2/bindings/idl/svg/SVGElementInstance.idl:
48554         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl:
48555         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl:
48556         * ksvg2/bindings/idl/svg/SVGEvent.idl:
48557         * ksvg2/bindings/idl/svg/SVGException.idl:
48558         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl:
48559         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl:
48560         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl:
48561         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl:
48562         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl:
48563         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl:
48564         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl:
48565         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl:
48566         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl:
48567         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl:
48568         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl:
48569         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl:
48570         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl:
48571         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl:
48572         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl:
48573         * ksvg2/bindings/idl/svg/SVGFETileElement.idl:
48574         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl:
48575         * ksvg2/bindings/idl/svg/SVGFilterElement.idl:
48576         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl:
48577         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl:
48578         * ksvg2/bindings/idl/svg/SVGGElement.idl:
48579         * ksvg2/bindings/idl/svg/SVGGradientElement.idl:
48580         * ksvg2/bindings/idl/svg/SVGICCColor.idl:
48581         * ksvg2/bindings/idl/svg/SVGImageElement.idl:
48582         * ksvg2/bindings/idl/svg/SVGLangSpace.idl:
48583         * ksvg2/bindings/idl/svg/SVGLengthList.idl:
48584         * ksvg2/bindings/idl/svg/SVGLineElement.idl:
48585         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl:
48586         * ksvg2/bindings/idl/svg/SVGLocatable.idl:
48587         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl:
48588         * ksvg2/bindings/idl/svg/SVGNumberList.idl:
48589         * ksvg2/bindings/idl/svg/SVGPaint.idl:
48590         * ksvg2/bindings/idl/svg/SVGPathElement.idl:
48591         * ksvg2/bindings/idl/svg/SVGPathSeg.idl:
48592         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl:
48593         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl:
48594         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl:
48595         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl:
48596         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl:
48597         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl:
48598         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl:
48599         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl:
48600         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl:
48601         * ksvg2/bindings/idl/svg/SVGPathSegList.idl:
48602         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl:
48603         * ksvg2/bindings/idl/svg/SVGPatternElement.idl:
48604         * ksvg2/bindings/idl/svg/SVGPointList.idl:
48605         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl:
48606         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl:
48607         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl:
48608         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl:
48609         * ksvg2/bindings/idl/svg/SVGRectElement.idl:
48610         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl:
48611         * ksvg2/bindings/idl/svg/SVGScriptElement.idl:
48612         * ksvg2/bindings/idl/svg/SVGSetElement.idl:
48613         * ksvg2/bindings/idl/svg/SVGStopElement.idl:
48614         * ksvg2/bindings/idl/svg/SVGStringList.idl:
48615         * ksvg2/bindings/idl/svg/SVGStylable.idl:
48616         * ksvg2/bindings/idl/svg/SVGStyleElement.idl:
48617         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl:
48618         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl:
48619         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl:
48620         * ksvg2/bindings/idl/svg/SVGTests.idl:
48621         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl:
48622         * ksvg2/bindings/idl/svg/SVGTextElement.idl:
48623         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl:
48624         * ksvg2/bindings/idl/svg/SVGTitleElement.idl:
48625         * ksvg2/bindings/idl/svg/SVGTransformList.idl:
48626         * ksvg2/bindings/idl/svg/SVGTransformable.idl:
48627         * ksvg2/bindings/idl/svg/SVGURIReference.idl:
48628         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl:
48629         * ksvg2/bindings/idl/svg/SVGUseElement.idl:
48630         * ksvg2/bindings/idl/svg/SVGViewElement.idl:
48631         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl:
48632         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl:
48633         * ksvg2/svg/SVGAnimatedLength.idl:
48635 2006-06-14  Justin Garcia  <justin.garcia@apple.com>
48637         Reviewed by levi
48639         <rdar://problem/4439248>
48640         REGRESSION(412-417): [RTL] Serious problem with RTL signatures in Mail.app in 10.4.4 (7766)
48642         * editing/markup.cpp:
48643         (WebCore::renderedText): Use plainText so that we'll pull rendered text but in DOM order.
48645 2006-06-14  Levi Weintraub  <lweintraub@apple.com>
48647         Reviewed by justin
48649         <http://bugs.webkit.org/show_bug.cgi?id=7580>
48650         TinyMCE: Implement execCommand(formatBlock, ...)
48652         * WebCore.xcodeproj/project.pbxproj: Added FormatBlock.{h,cpp} to the project.
48653         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
48654         * bridge/mac/WebCoreFrameBridge.h: Added WebUndoActions
48655         * editing/CompositeEditCommand.cpp:
48656         (WebCore::CompositeEditCommand::moveParagraph): Added a preserveStyle bool.
48657         (WebCore::CompositeEditCommand::moveParagraphs): Ditto.  downstream() the start
48658         or else we'll move collapsed whitespace and uncollapse it.
48659         * editing/CompositeEditCommand.h:
48660         * editing/DeleteSelectionCommand.cpp:
48661         (WebCore::DeleteSelectionCommand::initializePositionData):
48662         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Don't update m_endingPosition
48663         because that's removeNode's responsibility.
48664         (WebCore::updatePositionForNodeRemoval): Added.
48665         (WebCore::DeleteSelectionCommand::removeNode): Turned removeFullySelectedNode into a virtual
48666         overload of removeNode so that we can update positions as we remove nodes.
48667         (WebCore::updatePositionForTextRemoval): Added.
48668         (WebCore::DeleteSelectionCommand::deleteTextFromNode):
48669         (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
48670         (WebCore::DeleteSelectionCommand::fixupWhitespace): Got rid of m_trailingWhitespaceValid
48671         since m_trailingWhitespace is always valid (we update it as we remove nodes).
48672         (WebCore::DeleteSelectionCommand::mergeParagraphs):
48673         (WebCore::DeleteSelectionCommand::doApply): Leading and trailing spaces should
48674         be fixed if they have collapsed before merging paragraphs.
48675         * editing/DeleteSelectionCommand.h:
48676         * editing/EditAction.h:
48677         (WebCore::):
48678         * editing/FormatBlockCommand.cpp: Added.
48679         (WebCore::FormatBlockCommand::FormatBlockCommand):
48680         (WebCore::FormatBlockCommand::modifyRange): Similar to InsertListCommand::modifyRange().
48681         (WebCore::FormatBlockCommand::doApply):
48682         * editing/FormatBlockCommand.h: Added.
48683         (WebCore::FormatBlockCommand::editingAction):
48684         * editing/InsertListCommand.h:
48685         (WebCore::InsertListCommand::editingAction):
48686         * editing/JSEditor.cpp:
48687         * editing/MergeIdenticalElementsCommand.cpp:
48688         (WebCore::MergeIdenticalElementsCommand::doApply):
48689         * editing/htmlediting.cpp:
48690         (WebCore::validBlockTag):
48691         (WebCore::createElement):
48692         * editing/htmlediting.h:
48694 2006-06-14  Maciej Stachowiak  <mjs@apple.com>
48696         Reviewed by Anders.
48698         - fixed <rdar://problem/4586051> 10.4.7 regression: 'Saved and recent' button on mapquest.com does not work
48700         * dom/EventTargetNode.cpp:
48701         (WebCore::EventTargetNode::dispatchWindowEvent):
48703 2006-06-14  David Hyatt  <hyatt@apple.com>
48705         Rename RenderSlider to DeprecatedSlider, so that I can start work on
48706         the new NSView-less slider.
48708         Reviewed by john
48710         * WebCore.vcproj/WebCore/WebCore.vcproj:
48711         * WebCore.xcodeproj/project.pbxproj:
48712         * html/HTMLInputElement.cpp:
48713         (WebCore::HTMLInputElement::createRenderer):
48714         * rendering/DeprecatedSlider.cpp: Added.
48715         (WebCore::DeprecatedSlider::DeprecatedSlider):
48716         (WebCore::DeprecatedSlider::calcMinMaxWidth):
48717         (WebCore::DeprecatedSlider::updateFromElement):
48718         (WebCore::DeprecatedSlider::valueChanged):
48719         * rendering/DeprecatedSlider.h: Added.
48720         (WebCore::DeprecatedSlider::renderName):
48721         * rendering/RenderSlider.cpp: Removed.
48722         * rendering/RenderSlider.h: Removed.
48724 2006-06-13  Geoffrey Garen  <ggaren@apple.com>
48726         Reviewed by Maciej.
48727         
48728         - Fixed <rdar://problem/4562192> Creating a new DOMHTMLDocument 
48729         appears challenging.
48730         
48731         - Added createHTMLDocument to Objc bindings, fixed up implementation
48732         to comply with the DOM 2 Candidate Recommendation in which is was defined.
48733         (It never made the final spec.) Also removed use of deprecatedString,
48734         to avoid unnecessary killing of puppies.
48736         * WebCore.xcodeproj/project.pbxproj:
48737         * bindings/objc/DOM.mm:
48738         (-[DOMImplementation createHTMLDocument:]):
48739         * bindings/objc/DOMPrivate.h:
48740         * dom/DOMImplementation.cpp:
48741         (WebCore::DOMImplementation::createDocument):
48742         (WebCore::DOMImplementation::createHTMLDocument):
48744 2006-06-13  Alice Liu  <alice.liu@apple.com>
48746         Reviewed by Adele.
48748         fixed <rdar://problem/4457902> HTMLSelectElement.remove() can't handle an option obj being passed to it, results in hang on http://www.ibc-solar.de/www_ibc/fst_solarmonitoring.jsp
48750         * bindings/js/kjs_html.cpp:
48751         (KJS::HTMLElementFunction::callAsFunction):
48752         support this by converting the argument to an options object
48753         before passing to remove()
48755 2006-06-13  Darin Adler  <darin@apple.com>
48757         Reviewed by Geoff.
48759         - fix <rdar://problem/4585333> Changing location for weather on yahoo.com home page redirects to another page
48761         This patch fixes a bug where the event listener cache does not distinguish
48762         HTML and non-HTML listeners. Incorrect behavior where stopPropagation also
48763         prevented default masked a case of this bug on the yahoo.com home page until
48764         we fixed bug 5180 on 2005-10-03.
48766         Test: fast/events/event-listener-html-non-html-confusion.html
48768         * bindings/js/kjs_window.h: Add additional listener maps for HTML event listeners.
48770         * bindings/js/kjs_window.cpp:
48771         (KJS::Window::~Window): Go through the additional maps when clearing the window object
48772         pointer in event listeners.
48773         (KJS::Window::getJSEventListener): Look in the HTML or non-HTML map depending on the
48774         argument passed.
48775         (KJS::Window::getJSUnprotectedEventListener): Ditto.
48777         * bindings/js/kjs_events.cpp:
48778         (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Add to either the HTML
48779         or non-HTML map depending on the argument passed.
48780         (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Remove from either the
48781         HTML or non-HTML map depending on whether the HTML flag is set.
48782         (KJS::JSEventListener::JSEventListener): More of the same.
48783         (KJS::JSEventListener::~JSEventListener): Ditto.
48784         (KJS::JSLazyEventListener::parseCode): Same thing here. In a lazy event listener there
48785         is not a listener at construction time, thus the code here to put the listener into a
48786         map needs the HTML vs. non-HTML logic.
48788 2006-06-13  Maciej Stachowiak  <mjs@apple.com>
48790         Reviewed by Darin.
48791         
48792         <rdar://problem/4583892> 10.4.7 regression: Hang occurs when attempting to load search results at mapquest.com
48794         * dom/EventTargetNode.cpp:
48795         (WebCore::EventTargetNode::dispatchGenericEvent): Don't allow
48796         "load" events to propagate up to the window. We need this quirk to
48797         avoid site hangs, because they depend on an old Mozilla bug.
48799 2006-06-13  Antti Koivisto  <koivisto@iki.fi>
48801         Reviewed by Hyatt.
48803         http://bugs.webkit.org/show_bug.cgi?id=9314
48804         Relative positioned block size doesnt update root layer size
48806         - take relative positioning into account in leftmost/rightmost/lowestPosition()
48807         - ignore zero width/height boxes in leftmost/rightmost/lowestPosition()
48808         - split relativePositionOffset() to x and y functions
48809         
48810         * rendering/RenderBox.cpp:
48811         (WebCore::RenderBox::absolutePosition):
48812         (WebCore::RenderBox::relativePositionOffsetX):
48813         (WebCore::RenderBox::relativePositionOffsetY):
48814         (WebCore::RenderBox::lowestPosition):
48815         (WebCore::RenderBox::rightmostPosition):
48816         (WebCore::RenderBox::leftmostPosition):
48817         * rendering/RenderBox.h:
48818         * rendering/RenderFlow.cpp:
48819         (WebCore::RenderFlow::lowestPosition):
48820         (WebCore::RenderFlow::rightmostPosition):
48821         (WebCore::RenderFlow::leftmostPosition):
48822         * rendering/RenderLayer.cpp:
48823         (WebCore::RenderLayer::updateLayerPosition):
48824         * rendering/RenderObject.cpp:
48825         (WebCore::RenderObject::offsetLeft):
48826         (WebCore::RenderObject::offsetTop):
48828 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
48830         Reviewed by Dave Hyatt.
48832         http://bugs.webkit.org/show_bug.cgi?id=9427
48833         xml-stylesheet processing instructions outside of the prolog should have no effect.
48835         * dom/ProcessingInstruction.cpp:
48836         (WebCore::ProcessingInstruction::checkStyleSheet):
48837         Remove todo comment.
48838         
48839         * dom/xml_tokenizer.cpp:
48840         (WebCore::XMLTokenizer::processingInstruction):
48841         Only check for style sheet if the root element hasn't yet been encountered.
48843 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
48845         Reviewed by Geoff.
48847         http://bugs.webkit.org/show_bug.cgi?id=9406
48848         REGRESSION: fix for bug 9390 broke two layout tests
48849         
48850         * loader/PluginDocument.cpp:
48851         (WebCore::PluginTokenizer::writeRawData):
48852         Call finished() after setting up the document structure so we'll emit onload events.
48854 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
48856         build fix -- forgot to svn add this file
48857         
48858         * ForwardingHeaders/kjs/SavedBuiltins.h: Added.
48860 2006-06-12  Brady Eidson  <beidson@apple.com>
48862         Reviewed by Maciej.
48864         Fixed a bug in append(char) and append(UChar) where our intended copy-on-write semantics was ignored!
48866         * platform/String.cpp:
48867         (WebCore::String::append):
48869 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
48871         Reviewed by TimO, Maciej.
48873         - WebCore part of merging InterpreterImp into Interpreter. No test
48874         because there's no behavior change.
48875         
48876         A substantive change here is that ScriptInterpreter::mark must now chain to
48877         Interpreter::mark, since Interpreter needs to mark the things that
48878         InterpreterImp used to mark.
48879         
48880         * WebCore.xcodeproj/project.pbxproj:
48881         * bindings/js/kjs_binding.cpp:
48882         * bindings/js/kjs_window.cpp:
48883         (KJS::Window::put):
48884         * bridge/mac/WebCoreFrameBridge.mm:
48885         * bridge/mac/WebCoreScriptDebugger.mm:
48886         (-[WebCoreScriptCallFrame evaluateWebScript:]):
48887         * kwq/KWQPageState.mm:
48889 2006-06-12  Brady Eidson <beidson@apple.com>
48891         Reviewed by Maciej.
48893         Changed String::ascii() to return a Vector<char> instead of const char*
48894         This allows us to use it "regularly" as the returned vector will destruct
48895         and not leak memory like the previous approach.
48896         We can now do a String.ascii().data() to get a char* buffer instead of 
48897         String.deprecatedString().ascii().  It doesn't improve the style much but
48898         dumping the memory-leak issue is a plus.
48900         * icon/IconDatabase.cpp:
48901         (WebCore::IconDatabase::open):
48902         (WebCore::IconDatabase::clearDatabase):
48903         * icon/SQLDatabase.cpp:
48904         (SQLDatabase::open):
48905         * icon/SQLStatement.cpp:
48906         (WebCore::SQLStatement::prepare):
48907         (WebCore::SQLStatement::step):
48908         (WebCore::SQLStatement::returnTextResults):
48909         (WebCore::SQLStatement::returnTextResults16):
48910         (WebCore::SQLStatement::returnIntResults):
48911         (WebCore::SQLStatement::returnInt64Results):
48912         (WebCore::SQLStatement::returnDoubleResults):
48913         In addition to the changes to the string classes, changed my database code over to the new
48914         preferred method.
48916         * platform/PlatformString.h:
48917         * platform/String.cpp:
48918         (WebCore::String::ascii):
48919         * platform/StringImpl.cpp:
48920         (WebCore::StringImpl::ascii):
48921         * platform/StringImpl.h:
48923 2006-06-12  Dave Hyatt <hyatt@apple.com>
48925         Add the notion of a selection foreground color to the engine for
48926         Win32.  Rename existing selectionColor methods to be
48927         selectionBackgroundColor instead.
48929         Change the 60% alpha blend rule for transparent selection to
48930         instead be a range from 60-80%, with less transparency being
48931         used as needed to ensure the transformed color more closely
48932         approximates the original operating system color when blended
48933         with a white background.
48935         Reviewed by mjs
48937         * platform/Color.cpp:
48938         (WebCore::blend):
48939         (WebCore::Color::blendWithWhite):
48940         * platform/Color.h:
48941         * rendering/InlineTextBox.cpp:
48942         (WebCore::InlineTextBox::paint):
48943         (WebCore::InlineTextBox::paintSelection):
48944         * rendering/RenderBlock.cpp:
48945         (WebCore::RenderBlock::fillHorizontalSelectionGap):
48946         (WebCore::RenderBlock::fillVerticalSelectionGap):
48947         (WebCore::RenderBlock::fillLeftSelectionGap):
48948         (WebCore::RenderBlock::fillRightSelectionGap):
48949         * rendering/RenderHTMLCanvas.cpp:
48950         (WebCore::RenderHTMLCanvas::paint):
48951         * rendering/RenderImage.cpp:
48952         (WebCore::RenderImage::paint):
48953         * rendering/RenderListMarker.cpp:
48954         (WebCore::RenderListMarker::paint):
48955         * rendering/RenderObject.cpp:
48956         (WebCore::RenderObject::selectionBackgroundColor):
48957         (WebCore::RenderObject::selectionForegroundColor):
48958         * rendering/RenderObject.h:
48959         * rendering/RenderTheme.cpp:
48960         (WebCore::RenderTheme::activeSelectionBackgroundColor):
48961         (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
48962         (WebCore::RenderTheme::platformActiveSelectionBackgroundColor):
48963         (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
48964         (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
48965         (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
48966         * rendering/RenderTheme.h:
48967         * rendering/RenderThemeMac.h:
48968         * rendering/RenderThemeMac.mm:
48969         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
48970         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
48971         * rendering/RenderThemeWin.cpp:
48972         (WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor):
48973         (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
48974         (WebCore::RenderThemeWin::platformActiveSelectionForegroundColor):
48975         (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
48976         * rendering/RenderThemeWin.h:
48977         * rendering/RenderWidget.cpp:
48978         (WebCore::RenderWidget::paint):
48980 2006-06-12  John Sullivan  <sullivan@apple.com>
48982         Reviewed by Darin Adler.
48983         
48984         * page/Frame.cpp:
48985         (WebCore::Frame::markAllMatchesForText):
48986         Do a "fake" paint here so that the rectangles for the text matches will have been
48987         computed by the time this method returns.
48989 2006-06-12  Brady Eidson  <beidson@apple.com>
48991         Reviewed by Levi and Tim Omernick.
48993         -Added a skeleton sqlite3 icon database file to IconDatabase
48994         -Added functionality to validate and recreate this icon.db file
48995         -Fixed some buggys in SQLDatabase.cpp
48997         * icon/IconDatabase.cpp:
48998         (WebCore::IconDatabase::open):
48999         (WebCore::IconDatabase::isValidDatabase):
49000         (WebCore::IconDatabase::clearDatabase):
49001         (WebCore::IconDatabase::recreateDatabase):
49002         * icon/IconDatabase.h:
49004         * icon/SQLStatement.cpp:
49005         (WebCore::SQLStatement::columnCount):
49006         (WebCore::SQLStatement::getColumnName):
49007         (WebCore::SQLStatement::getColumnName16):
49008         (WebCore::SQLStatement::getColumnText):
49009         (WebCore::SQLStatement::getColumnText16):
49010         (WebCore::SQLStatement::getColumnDouble):
49011         (WebCore::SQLStatement::getColumnInt):
49012         (WebCore::SQLStatement::getColumnInt64):
49013         (WebCore::SQLStatement::getColumnBlob):
49014         -Added checks to make sure we had a valid working sqlite3_statement as the sqlite3_*
49015         function calls weren't as error-tolerant as documentation advertised
49016         (maybe differences between the 3.3 docs I looked at and the 3.1.3 version installed on OSX)
49018 2006-06-12  Brady Eidson  <beidson@apple.com>
49020         Reviewed by Levi.
49022         -Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.  
49023         -Changed the base IconDatabase over to this new framework.
49025         * WebCore.xcodeproj/project.pbxproj:
49026         * bridge/mac/WebCoreIconDatabaseBridge.mm:
49027         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
49028             -By popular request, removed an annoying log message I'd accidentally left in
49030         * icon/IconDatabase.cpp:
49031         (WebCore::IconDatabase::IconDatabase):
49032         (WebCore::IconDatabase::open):
49033         (WebCore::IconDatabase::close):
49034         (WebCore::IconDatabase::~IconDatabase):
49035         * icon/IconDatabase.h:
49036         (WebCore::IconDatabase::isOpen):
49037             -Changed over IconDatabase from direct sqlite3_* calls to the new SQLDatabase calls
49039         * icon/SQLDatabase.cpp: Added.
49040         (SQLDatabase::SQLDatabase):
49041         (SQLDatabase::open):
49042         (SQLDatabase::close):
49043         (SQLDatabase::executeCommand):
49044         (SQLDatabase::tableExists):
49045         * icon/SQLDatabase.h: Added.
49046         (WebCore::SQLDatabase::isOpen):
49047         (WebCore::SQLDatabase::getPath):
49048         (WebCore::SQLDatabase::lastError):
49049         (WebCore::SQLDatabase::lastErrorMsg):
49050         (WebCore::SQLStatement::isPrepared):
49051         (WebCore::SQLStatement::lastError):
49052         (WebCore::SQLStatement::lastErrorMsg):
49053         * icon/SQLStatement.cpp: Added.
49054         (WebCore::SQLStatement::SQLStatement):
49055         (WebCore::SQLStatement::~SQLStatement):
49056         (WebCore::SQLStatement::prepare):
49057         (WebCore::SQLStatement::step):
49058         (WebCore::SQLStatement::finalize):
49059         (WebCore::SQLStatement::reset):
49060         (WebCore::SQLStatement::executeCommand):
49061         (WebCore::SQLStatement::bindBlob):
49062         (WebCore::SQLStatement::bindText):
49063         (WebCore::SQLStatement::columnCount):
49064         (WebCore::SQLStatement::getColumnName):
49065         (WebCore::SQLStatement::getColumnName16):
49066         (WebCore::SQLStatement::getColumnText):
49067         (WebCore::SQLStatement::getColumnText16):
49068         (WebCore::SQLStatement::getColumnDouble):
49069         (WebCore::SQLStatement::getColumnInt):
49070         (WebCore::SQLStatement::getColumnInt64):
49071         (WebCore::SQLStatement::getColumnBlob):
49072         (WebCore::SQLStatement::returnTextResults):
49073         (WebCore::SQLStatement::returnTextResults16):
49074         (WebCore::SQLStatement::returnIntResults):
49075         (WebCore::SQLStatement::returnInt64Results):
49076         (WebCore::SQLStatement::returnDoubleResults):
49077             -Initial checking of SQLDatabase framework
49079         * platform/PlatformString.h:
49080         * platform/String.cpp:
49081         (WebCore::String::String):
49082             -Added an explicit UChar* constructor to our string class as much of sqlite3's UTF16 handling is based on 
49083             null-terminated UTF16 which we didn't yet support.
49085 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
49087         Reviewed by Maciej.
49089         http://bugs.webkit.org/show_bug.cgi?id=9408
49090         Clean build fails with "make: *** No rule to make target `SVGElementFactory.cpp', needed by `all'. Stop"
49092         * DerivedSources.make: Fix clean builds.
49094 2006-06-11  Darin Adler  <darin@apple.com>
49096         - another try at fixing Windows
49098         * loader/CachedResource.h:
49099         * platform/cairo/GraphicsContextCairo.cpp:
49100         * platform/image-decoders/ImageDecoder.h:
49101         (WebCore::ImageDecoder::setData):
49102         * platform/image-decoders/gif/GIFImageDecoder.cpp:
49103         (WebCore::GIFImageDecoderPrivate::decode):
49104         (WebCore::GIFImageDecoder::setData):
49105         * platform/image-decoders/gif/GIFImageDecoder.h:
49106         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
49107         (WebCore::JPEGImageReader::decode):
49108         (WebCore::JPEGImageDecoder::setData):
49109         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
49110         * platform/image-decoders/png/PNGImageDecoder.cpp:
49111         (WebCore::PNGImageReader::decode):
49112         (WebCore::PNGImageDecoder::setData):
49113         * platform/image-decoders/png/PNGImageDecoder.h:
49114         s/DeprecatedByteArray/Vector<char>/
49116 2006-06-11  Darin Adler  <darin@apple.com>
49118         - try to fix Windows build
49120         * platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
49121         Use Vector<char> instead of DeprecatedByteArray.
49123         * platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
49124         Don't try to return 0 from a function that returns a Vector<char>.
49126 2006-06-11  Sam Weinig  <sam.weinig@gmail.com>
49128         Reviewed by Hyatt, tweaked quite a bit and landed by Darin.
49130         - Fix for http://bugs.webkit.org/show_bug.cgi?id=8039
49131           Remove use of DeprecatedArray in favor of new Vector class
49133         This removes most of the uses of DeprecatedArray and 
49134         DeprecatedByteArray, with the exception of DeprecatedCString.
49136         No test cases added because there is no change in
49137         functionality.
49139         * loader/CachedCSSStyleSheet.cpp:
49140         (WebCore::CachedCSSStyleSheet::data):
49141         * loader/CachedCSSStyleSheet.h:
49142         * loader/CachedImage.cpp:
49143         (WebCore::CachedImage::bufferData):
49144         (WebCore::CachedImage::data):
49145         (WebCore::CachedImage::checkNotify):
49146         (WebCore::CachedImage::shouldStopAnimation):
49147         * loader/CachedImage.h:
49148         * loader/CachedObject.cpp:
49149         (WebCore::CachedObject::bufferData):
49150         (WebCore::CachedObject::setExpireDate):
49151         * loader/CachedObject.h:
49152         (WebCore::CachedObject::setCharset):
49153         * loader/CachedScript.cpp:
49154         (WebCore::CachedScript::data):
49155         * loader/CachedScript.h:
49156         * loader/CachedXBLDocument.cpp:
49157         (WebCore::CachedXBLDocument::data):
49158         (WebCore::CachedXBLDocument::checkNotify):
49159         * loader/CachedXBLDocument.h:
49160         * loader/CachedXSLStyleSheet.cpp:
49161         (WebCore::CachedXSLStyleSheet::data):
49162         * loader/CachedXSLStyleSheet.h:
49163         * loader/Request.cpp:
49164         (WebCore::Request::Request):
49165         (WebCore::Request::~Request):
49166         * loader/Request.h:
49167         (WebCore::Request::buffer):
49168         (WebCore::Request::cachedObject):
49169         (WebCore::Request::docLoader):
49170         (WebCore::Request::isIncremental):
49171         (WebCore::Request::setIsIncremental):
49172         (WebCore::Request::isMultipart):
49173         (WebCore::Request::setIsMultipart):
49174         * loader/loader.cpp:
49175         (WebCore::crossDomain):
49176         (WebCore::Loader::Loader):
49177         (WebCore::Loader::load):
49178         (WebCore::Loader::servePendingRequests):
49179         (WebCore::Loader::receivedAllData):
49180         (WebCore::Loader::receivedResponse):
49181         (WebCore::Loader::receivedData):
49182         (WebCore::Loader::numRequests):
49183         (WebCore::Loader::cancelRequests):
49184         (WebCore::Loader::removeBackgroundDecodingRequest):
49185         (WebCore::Loader::jobForRequest):
49186         * platform/Image.cpp:
49187         (WebCore::Image::setData):
49188         * platform/Image.h:
49189         (WebCore::Image::dataBuffer):
49191         * css/cssstyleselector.cpp:
49192         (WebCore::CSSStyleSelector::init):
49193         (WebCore::CSSStyleSelector::matchRules):
49194         (WebCore::CSSStyleSelector::matchRulesForList):
49195         (WebCore::CSSStyleSelector::sortMatchedRules):
49196         (WebCore::CSSStyleSelector::initForStyleResolve):
49197         (WebCore::CSSStyleSelector::createStyleForElement):
49198         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
49199         * css/cssstyleselector.h:
49200         (WebCore::CSSStyleSelector::addMatchedRule):
49201         (WebCore::CSSStyleSelector::addMatchedDeclaration):
49202         * dom/xml_tokenizer.cpp:
49203         (WebCore::OffsetBuffer::OffsetBuffer):
49204         (WebCore::openFunc):
49205         * html/HTMLOptionElement.cpp:
49206         (WebCore::HTMLOptionElement::index):
49207         * html/HTMLSelectElement.cpp:
49208         (WebCore::HTMLSelectElement::selectedIndex):
49209         (WebCore::HTMLSelectElement::setSelectedIndex):
49210         (WebCore::HTMLSelectElement::length):
49211         (WebCore::HTMLSelectElement::remove):
49212         (WebCore::HTMLSelectElement::value):
49213         (WebCore::HTMLSelectElement::setValue):
49214         (WebCore::HTMLSelectElement::state):
49215         (WebCore::HTMLSelectElement::restoreState):
49216         (WebCore::HTMLSelectElement::appendFormData):
49217         (WebCore::HTMLSelectElement::optionToListIndex):
49218         (WebCore::HTMLSelectElement::listToOptionIndex):
49219         (WebCore::HTMLSelectElement::recalcListItems):
49220         (WebCore::HTMLSelectElement::reset):
49221         (WebCore::HTMLSelectElement::notifyOptionSelected):
49222         * html/HTMLSelectElement.h:
49223         (WebCore::HTMLSelectElement::listItems):
49224         * kwq/KWQLoader.h:
49225         * kwq/KWQLoader.mm:
49226         (KWQServeSynchronousRequest):
49227         * kwq/KWQTextStream.cpp:
49228         (QTextStream::operator<<):
49229         * kwq/KWQTextStream.h:
49230         * loader/FormData.cpp:
49231         (WebCore::FormData::flatten):
49232         (WebCore::FormData::flattenToString):
49233         * loader/FormData.h:
49234         (WebCore::FormDataElement::FormDataElement):
49235         * platform/DeprecatedString.cpp:
49236         * platform/DeprecatedString.h:
49237         * platform/IntPointArray.cpp: Removed.
49238         * platform/IntPointArray.h: Removed.
49239         * platform/TextEncoding.cpp:
49240         (WebCore::TextEncoding::toUnicode):
49241         * platform/TextEncoding.h:
49242         * platform/cairo/pixman/src/pixregion.c:
49243         * platform/cg/PathCG.cpp:
49244         (WebCore::Path::Path):
49245         * rendering/RenderObject.cpp:
49246         (WebCore::RenderObject::drawBorder):
49247         * rendering/RenderTable.h:
49248         (WebCore::RenderTable::colToEffCol):
49249         (WebCore::RenderTable::effColToCol):
49250         * rendering/RenderTableSection.cpp:
49251         (WebCore::RenderTableSection::ensureRows):
49252         (WebCore::RenderTableSection::addCell):
49253         (WebCore::RenderTableSection::setCellWidths):
49254         * rendering/RenderTableSection.h:
49255         * rendering/bidi.cpp:
49256         (WebCore::addMidpoint):
49257         (WebCore::RenderBlock::layoutInlineChildren):
49258         * rendering/render_form.cpp:
49259         (WebCore::RenderSelect::updateFromElement):
49260         (WebCore::RenderSelect::layout):
49261         (WebCore::RenderSelect::valueChanged):
49262         (WebCore::RenderSelect::selectionChanged):
49263         (WebCore::RenderSelect::updateSelection):
49264         * rendering/table_layout.cpp:
49265         (WebCore::FixedTableLayout::layout):
49266         * rendering/table_layout.h:
49267         * xml/XSLTProcessor.cpp:
49268         (WebCore::docLoaderFunc):
49269         * xml/xmlhttprequest.cpp:
49270         (WebCore::XMLHttpRequest::send):
49271         (WebCore::XMLHttpRequest::processSyncLoadResults):
49272         * xml/xmlhttprequest.h:
49274 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
49276         Reviewed by darin.
49278         http://bugs.webkit.org/show_bug.cgi?id=9394
49279         Fix no-SVG build
49281         * DerivedSources.make: Removed tabs. Create empty SVGElementFactory.cpp on no-svg build.
49282         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Added #if SVG_SUPPORT/#endif.
49283         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Ditto.
49284         * ksvg2/bindings/idl/svg/SVGAElement.idl: Add "Conditional=SVG" to all interfaces.
49285         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl: Ditto.
49286         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl: Ditto.
49287         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl: Ditto.
49288         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl: Ditto.
49289         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl: Ditto.
49290         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl: Ditto.
49291         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl: Ditto.
49292         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl: Ditto.
49293         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Ditto.
49294         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl: Ditto.
49295         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl: Ditto.
49296         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl: Ditto.
49297         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl: Ditto.
49298         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl: Ditto.
49299         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl: Ditto.
49300         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl: Ditto.
49301         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl: Ditto.
49302         * ksvg2/bindings/idl/svg/SVGCircleElement.idl: Ditto.
49303         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl: Ditto.
49304         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl: Ditto.
49305         * ksvg2/bindings/idl/svg/SVGCursorElement.idl: Ditto.
49306         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Ditto.
49307         * ksvg2/bindings/idl/svg/SVGDefsElement.idl: Ditto.
49308         * ksvg2/bindings/idl/svg/SVGDescElement.idl: Ditto.
49309         * ksvg2/bindings/idl/svg/SVGElementInstance.idl: Ditto.
49310         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl: Ditto.
49311         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl: Ditto.
49312         * ksvg2/bindings/idl/svg/SVGEvent.idl: Ditto.
49313         * ksvg2/bindings/idl/svg/SVGException.idl: Ditto.
49314         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl: Ditto.
49315         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl: Ditto.
49316         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl: Ditto.
49317         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl: Ditto.
49318         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl: Ditto.
49319         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl: Ditto.
49320         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl: Ditto.
49321         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl: Ditto.
49322         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl: Ditto.
49323         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl: Ditto.
49324         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl: Ditto.
49325         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl: Ditto.
49326         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl: Ditto.
49327         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl: Ditto.
49328         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl: Ditto.
49329         * ksvg2/bindings/idl/svg/SVGFETileElement.idl: Ditto.
49330         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl: Ditto.
49331         * ksvg2/bindings/idl/svg/SVGFilterElement.idl: Ditto.
49332         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl: Ditto.
49333         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl: Ditto.
49334         * ksvg2/bindings/idl/svg/SVGGElement.idl: Ditto.
49335         * ksvg2/bindings/idl/svg/SVGGradientElement.idl: Ditto.
49336         * ksvg2/bindings/idl/svg/SVGICCColor.idl: Ditto.
49337         * ksvg2/bindings/idl/svg/SVGImageElement.idl: Ditto.
49338         * ksvg2/bindings/idl/svg/SVGLangSpace.idl: Ditto.
49339         * ksvg2/bindings/idl/svg/SVGLengthList.idl: Ditto.
49340         * ksvg2/bindings/idl/svg/SVGLineElement.idl: Ditto.
49341         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl: Ditto.
49342         * ksvg2/bindings/idl/svg/SVGLocatable.idl: Ditto.
49343         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl: Ditto.
49344         * ksvg2/bindings/idl/svg/SVGNumberList.idl: Ditto.
49345         * ksvg2/bindings/idl/svg/SVGPaint.idl: Ditto.
49346         * ksvg2/bindings/idl/svg/SVGPathElement.idl: Ditto.
49347         * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Ditto.
49348         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Ditto.
49349         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Ditto.
49350         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Ditto.
49351         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Ditto.
49352         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Ditto.
49353         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Ditto.
49354         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Ditto.
49355         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Ditto.
49356         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Ditto.
49357         * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Ditto.
49358         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Ditto.
49359         * ksvg2/bindings/idl/svg/SVGPatternElement.idl: Ditto.
49360         * ksvg2/bindings/idl/svg/SVGPointList.idl: Ditto.
49361         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl: Ditto.
49362         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl: Ditto.
49363         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl: Ditto.
49364         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl: Ditto.
49365         * ksvg2/bindings/idl/svg/SVGRectElement.idl: Ditto.
49366         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl: Ditto.
49367         * ksvg2/bindings/idl/svg/SVGScriptElement.idl: Ditto.
49368         * ksvg2/bindings/idl/svg/SVGSetElement.idl: Ditto.
49369         * ksvg2/bindings/idl/svg/SVGStopElement.idl: Ditto.
49370         * ksvg2/bindings/idl/svg/SVGStringList.idl: Ditto.
49371         * ksvg2/bindings/idl/svg/SVGStylable.idl: Ditto.
49372         * ksvg2/bindings/idl/svg/SVGStyleElement.idl: Ditto.
49373         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl: Ditto.
49374         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl: Ditto.
49375         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl: Ditto.
49376         * ksvg2/bindings/idl/svg/SVGTests.idl: Ditto.
49377         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl: Ditto.
49378         * ksvg2/bindings/idl/svg/SVGTextElement.idl: Ditto.
49379         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl: Ditto.
49380         * ksvg2/bindings/idl/svg/SVGTitleElement.idl: Ditto.
49381         * ksvg2/bindings/idl/svg/SVGTransformList.idl: Ditto.
49382         * ksvg2/bindings/idl/svg/SVGTransformable.idl: Ditto.
49383         * ksvg2/bindings/idl/svg/SVGURIReference.idl: Ditto.
49384         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl: Ditto.
49385         * ksvg2/bindings/idl/svg/SVGUseElement.idl: Ditto.
49386         * ksvg2/bindings/idl/svg/SVGViewElement.idl: Ditto.
49387         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl: Ditto.
49388         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl: Ditto.
49389         * ksvg2/svg/SVGAngle.idl: Ditto.
49390         * ksvg2/svg/SVGAnimatedLength.idl: Ditto.
49391         * ksvg2/svg/SVGColor.idl: Ditto.
49392         * ksvg2/svg/SVGDocument.idl: Ditto.
49393         * ksvg2/svg/SVGElement.idl: Ditto.
49394         * ksvg2/svg/SVGEvent.idl: Ditto.
49395         * ksvg2/svg/SVGLength.idl: Ditto.
49396         * ksvg2/svg/SVGMatrix.idl: Ditto.
49397         * ksvg2/svg/SVGNumber.idl: Ditto.
49398         * ksvg2/svg/SVGPoint.idl: Ditto.
49399         * ksvg2/svg/SVGRect.idl: Ditto.
49400         * ksvg2/svg/SVGSVGElement.idl: Ditto.
49401         * ksvg2/svg/SVGTransform.idl: Ditto.
49403 2006-06-11  Anders Carlsson  <acarlsson@apple.com>
49405         Reviewed by Geoff.
49407         http://bugs.webkit.org/show_bug.cgi?id=9390
49408         Move full-frame plugins to WebCore
49409         
49410         * WebCore.vcproj/WebCore/WebCore.vcproj:
49411         * WebCore.xcodeproj/project.pbxproj:
49412         Add PluginDocument
49413         
49414         * bridge/mac/FrameMac.h:
49415         * bridge/mac/FrameMac.mm:
49416         (WebCore::FrameMac::redirectDataToPlugin):
49417         Call the bridge.
49418         
49419         * bridge/mac/WebCoreFrameBridge.h:
49420         * bridge/mac/WebCoreFrameBridge.mm:
49421         Add redirectDataToPlugin which is used to redirect incoming data
49422         to a plugin.
49423         
49424         * bridge/mac/WebCoreViewFactory.h:
49425         Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
49426         
49427         * dom/DOMImplementation.cpp:
49428         * dom/DOMImplementation.h:
49429         Get rid of createTextDocument and just create a text document explicitly when needed.
49430         
49431         * dom/Document.h:
49432         (WebCore::Document::isPluginDocument):
49433         * loader/PluginDocument.cpp: Added.
49434         (WebCore::PluginTokenizer::PluginTokenizer):
49435         (WebCore::PluginTokenizer::wantsRawData):
49436         (WebCore::PluginTokenizer::write):
49437         (WebCore::PluginTokenizer::createDocumentStructure):
49438         (WebCore::PluginTokenizer::writeRawData):
49439         (WebCore::PluginTokenizer::stopParsing):
49440         (WebCore::PluginTokenizer::finish):
49441         (WebCore::PluginTokenizer::isWaitingForScripts):
49442         (WebCore::PluginDocument::PluginDocument):
49443         (WebCore::PluginDocument::createTokenizer):
49444         * loader/PluginDocument.h: Added.
49445         (WebCore::PluginDocument::isPluginDocument):
49446         Add PluginDocument.
49447         
49448         * page/Frame.cpp:
49449         (WebCore::Frame::begin):
49450         Possibly create a plugin document.
49451         
49452         * page/Frame.h:
49453         (WebCore::Frame::redirectDataToPlugin):
49454         Add declaration.
49455         
49456         * platform/PlugInInfoStore.h:
49457         * platform/mac/PlugInInfoStoreMac.mm:
49458         (WebCore::PlugInInfoStore::supportsMIMEType):
49459         Ask WebCoreViewFactory if the MIME type is supported.
49461 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
49463         Reviewed by hyatt.
49465         - fix http://bugs.webkit.org/show_bug.cgi?id=9334
49466           Incomplete repaint when changing block from non-positioned to positioned
49468         Test: fast/repaint/static-to-positioned.html
49470         * rendering/RenderObject.cpp:
49471         (WebCore::RenderObject::setStyle): If changing from static to positioned, repaint
49472         as static.
49474 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
49476         Reviewed by hyatt.
49478         - fix http://bugs.webkit.org/show_bug.cgi?id=9193
49479           REGRESSION: setting an opacity on an element with an outline causes the outline to disappear completely
49481         Test: fast/layers/opacity-outline.html
49483         - fix repainting of layer children's outlines that extend beyond the layer
49485         Test: fast/repaint/layer-child-outline.html
49487         * rendering/RenderLayer.cpp:
49488         (WebCore::RenderLayer::intersectsDamageRect): Account for outlines.
49489         (WebCore::RenderLayer::absoluteBoundingBox): Ditto.
49490         * rendering/RenderObject.cpp:
49491         (WebCore::RenderObject::maximalOutlineSize): Changed to return the view's maximal
49492         outline size rather than 0 for PaintPhaseChildOutlines.
49494 2006-06-10  Steve Falkenburg  <sfalken@apple.com>
49496         Fix build break
49498         * platform/cairo/GraphicsContextCairo.cpp:
49499         * platform/win/TemporaryLinkStubs.cpp:
49500         (GraphicsContext::scale):
49502 2006-06-10  Geoffrey Garen  <ggaren@apple.com>
49504         - http://bugs.webkit.org/show_bug.cgi?id=8515
49505         Linux porting compile bug
49506         
49507         Fix by Mike Emmel, Reviewed by Darin.
49509         * Projects/gdk/webcore-gdk.bkl:
49510         * WebCoreSources.bkl:
49511         * css/maketokenizer:
49512         * html/HTMLCanvasElement.cpp:
49513         * html/HTMLImageElement.h:
49514         * icon/IconDatabase.cpp:
49515         * make-generated-sources.sh:
49516         * page/Frame.h:
49517         * page/FramePrivate.h:
49518         * platform/Cursor.h:
49519         * platform/FontData.h:
49520         (WebCore::FontData::getGlyphIndex):
49521         * platform/GlyphBuffer.h:
49522         (WebCore::GlyphBuffer::glyphAt):
49523         (WebCore::GlyphBuffer::advanceAt):
49524         (WebCore::GlyphBuffer::add):
49525         * platform/GraphicsContext.h:
49526         * platform/PlatformKeyboardEvent.h:
49527         * platform/PlatformMouseEvent.h:
49528         * platform/PlatformWheelEvent.h:
49529         * platform/ScrollView.h:
49530         * platform/TransferJob.h:
49531         (WebCore::TransferJob::getInternal):
49532         * platform/TransferJobInternal.h:
49533         (WebCore::TransferJobInternal::TransferJobInternal):
49534         * platform/Widget.h:
49535         * platform/cairo/GraphicsContextCairo.cpp:
49536         (WebCore::GraphicsContext::GraphicsContext):
49537         (WebCore::GraphicsContext::roundToDevicePixels):
49538         * webcore-base.bkl:
49539         * xpath/impl/XPathValue.cpp:
49541 2006-06-09  John Sullivan  <sullivan@apple.com>
49543         Reviewed by Tim Omernick and Dave Hyatt.
49545         WebCore support for computing but not highlighting rects for text matches.
49547         * dom/Document.h:
49548         added setRenderedRectForMarker() and renderedRectsForMarkers(), and redefined
49549         MarkerMap to be a hashtable of node -> (pair of vectors), one vector of markers
49550         and one vector of rects
49551         
49552         * dom/Document.cpp:
49553         (placeholderRectForMarker()):
49554         new function, returns a recognizable degenerate rect used until a real rect has been set
49555         (WebCore::Document::addMarker):
49556         Reworked for new MarkerMap data structure; now adds parallel placeholder rect
49557         along with marker
49558         (WebCore::Document::copyMarkers):
49559         Reworked for new MarkerMap data structure
49560         (WebCore::Document::removeMarkers):
49561         Reworked for new MarkerMap data structure; now removed corresponding rect along
49562         with marker
49563         (WebCore::Document::markersForNode):
49564         Reworked for new MarkerMap data structure
49565         (WebCore::Document::renderedRectsForMarkers):
49566         New method, returns an array of all non-placeholder rects for the given marker type
49567         (WebCore::Document::repaintMarkers):
49568         Reworked for new MarkerMap data structure
49569         (WebCore::Document::setRenderedRectForMarker):
49570         New method, sets the rendered rect for a given marker
49571         (WebCore::Document::shiftMarkers):
49572         Reworked for new MarkerMap data structure; resets rendered rects to placeholders.
49573         
49574         * rendering/InlineTextBox.cpp:
49575         (WebCore::InlineTextBox::paint):
49576         removed markedTextMatchesAreHighlighted guard; we always want to call paintTextMatchMarker
49577         now, but sometimes we will end up only computing the rect, not actually highlighting it.
49578         (Maybe some names should be improved here?)
49579         (WebCore::InlineTextBox::paintTextMatchMarker):
49580         Reorganized to move all the code that actually draws into a block that's guarded by
49581         markedTextMatchesAreHighlighted. The rest of the code computes where the highlight will
49582         go, and now we always use that computation in order to call setRenderedRectForMarker.
49584         * bridge/mac/WebCoreFrameBridge.h:
49585         * bridge/mac/WebCoreFrameBridge.mm:
49586         (-[WebCoreFrameBridge rectsForTextMatches]):
49587         New method, returns an array of NSValues representing NSRects. Gets them
49588         from Document::renderedRectsForMarkers
49589         
49590 2006-06-10  Anders Carlsson  <acarlsson@apple.com>
49592         Reviewed by Eric.
49594         * bindings/js/kjs_html.cpp:
49595         (KJS::JSHTMLElement::put):
49596         Call WebCore::JSHTMLElement::put so that autogenerated setters will work 
49597         for HTMLElement.
49599 2006-06-09  Geoffrey Garen  <ggaren@apple.com>
49601         - Build fix after last JSC check-in (oops!)
49602         
49603         * bridge/mac/WebCoreScriptDebugger.mm:
49604         (-[WebCoreScriptCallFrame scopeChain]):
49605         (-[WebCoreScriptCallFrame functionName]):
49606         (-[WebCoreScriptCallFrame evaluateWebScript:]):
49608 2006-06-09  David Hyatt  <hyatt@apple.com>
49610         Rename m_isFocused on the frame to m_isActive, since it isn't really
49611         about focus but is instead about whether or not the top-level window is
49612         active.
49614         Pull code that was incorrectly factored into Mac-only code out of FrameMac
49615         and back up into Frame.
49617         Reviewed by andersca
49619         * bridge/mac/FrameMac.h:
49620         * bridge/mac/FrameMac.mm:
49621         * page/Frame.cpp:
49622         (WebCore::Frame::setFocusNodeIfNeeded):
49623         (WebCore::Frame::isActive):
49624         (WebCore::Frame::setIsActive):
49625         * page/FramePrivate.h:
49626         (WebCore::FramePrivate::FramePrivate):
49628 2006-06-09  David Hyatt  <hyatt@apple.com>
49630         Rework selection coloring.  Rename displaysWithFocusAttributes
49631         to isActive.  Move the white-blending code onto the Color API to make
49632         it more convenient to mutate colors for selection blending.  Eliminate all
49633         the selection state from the GraphicsContext and move it to the RenderTheme.
49634         Implement both Win32 and Mac theme selection colors.
49636         Reviewed by sfalken
49638         * bridge/mac/FrameMac.h:
49639         * bridge/mac/FrameMac.mm:
49640         (WebCore::FrameMac::setIsActive):
49641         * bridge/mac/WebCoreFrameBridge.h:
49642         * bridge/mac/WebCoreFrameBridge.mm:
49643         (-[WebCoreFrameBridge drawRect:]):
49644         (-[WebCoreFrameBridge setIsActive:]):
49645         (-[WebCoreFrameBridge selectionColor]):
49646         * css/cssstyleselector.cpp:
49647         (WebCore::CSSStyleSelector::checkOneSelector):
49648         * page/Frame.cpp:
49649         (WebCore::Frame::isActive):
49650         (WebCore::Frame::setIsActive):
49651         * page/Frame.h:
49652         * platform/Color.cpp:
49653         (WebCore::blend):
49654         (WebCore::Color::blendWithWhite):
49655         * platform/Color.h:
49656         (WebCore::Color::hasAlpha):
49657         * platform/GraphicsContext.cpp:
49658         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
49659         * platform/GraphicsContext.h:
49660         * platform/mac/GraphicsContextMac.mm:
49661         * platform/win/TemporaryLinkStubs.cpp:
49662         (GraphicsContext::endTransparencyLayer):
49663         * rendering/InlineTextBox.cpp:
49664         (WebCore::InlineTextBox::paintSelection):
49665         * rendering/RenderBlock.cpp:
49666         (WebCore::RenderBlock::fillHorizontalSelectionGap):
49667         (WebCore::RenderBlock::fillVerticalSelectionGap):
49668         (WebCore::RenderBlock::fillLeftSelectionGap):
49669         (WebCore::RenderBlock::fillRightSelectionGap):
49670         * rendering/RenderHTMLCanvas.cpp:
49671         (WebCore::RenderHTMLCanvas::paint):
49672         * rendering/RenderImage.cpp:
49673         (WebCore::RenderImage::paint):
49674         * rendering/RenderListMarker.cpp:
49675         (WebCore::RenderListMarker::paint):
49676         * rendering/RenderListMarker.h:
49677         * rendering/RenderObject.cpp:
49678         (WebCore::RenderObject::selectionColor):
49679         * rendering/RenderObject.h:
49680         * rendering/RenderReplaced.cpp:
49681         * rendering/RenderReplaced.h:
49682         * rendering/RenderTheme.cpp:
49683         (WebCore::RenderTheme::activeSelectionColor):
49684         (WebCore::RenderTheme::inactiveSelectionColor):
49685         (WebCore::RenderTheme::platformActiveSelectionColor):
49686         (WebCore::RenderTheme::platformInactiveSelectionColor):
49687         * rendering/RenderTheme.h:
49688         * rendering/RenderThemeMac.h:
49689         * rendering/RenderThemeMac.mm:
49690         (WebCore::RenderThemeMac::platformActiveSelectionColor):
49691         (WebCore::RenderThemeMac::platformInactiveSelectionColor):
49692         * rendering/RenderThemeWin.cpp:
49693         (WebCore::RenderThemeWin::platformActiveSelectionColor):
49694         (WebCore::RenderThemeWin::platformInactiveSelectionColor):
49695         * rendering/RenderThemeWin.h:
49696         * rendering/RenderWidget.cpp:
49697         (WebCore::RenderWidget::paint):
49699 2006-06-09  Justin Garcia  <justin.garcia@apple.com>
49701         Reviewed by levi
49702         
49703         <rdar://problem/4549980>
49704         REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
49706         * bridge/mac/FrameMac.h: Moved findString to Frame.
49707         * bridge/mac/FrameMac.mm: Ditto.
49708         * bridge/mac/WebCoreFrameBridge.mm:
49709         (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:]): 
49710         Convert the NSString to a String.
49711         * editing/JSEditor.cpp: Added execCommand(FindString, ...)
49712         * editing/Selection.cpp: Added a constructor for Ranges
49713         (WebCore::Selection::Selection): 
49714         * editing/Selection.h:
49715         * page/Frame.cpp:
49716         (WebCore::Frame::findString): Moved from FrameMac.  Compare a selection created 
49717         using the found range with the current selection in case the current selection is
49718         the found range minus some collapsed whitespace on the edges.
49719         * page/Frame.h:
49721 2006-06-09  Steve Falkenburg  <sfalken@apple.com>
49723         Fix build break
49725         * WebCore.vcproj/WebCore/WebCore.vcproj:
49726         * css/MediaQueryEvaluator.cpp:
49727         * platform/win/TemporaryLinkStubs.cpp:
49728         (GraphicsContext::addRoundedRectClip):
49729         (GraphicsContext::addInnerRoundedRectClip):
49730         (WebCore::screenDepthPerComponent):
49731         (WebCore::screenIsMonochrome):
49733 2006-06-09  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
49735         Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth. 
49736         Landed by Beth.
49738         CSS3 Media Queries implementation.
49739         <http://bugs.webkit.org/show_bug.cgi?id=4127>
49741         * WebCore.xcodeproj/project.pbxproj:
49742         * bindings/js/kjs_css.cpp:
49743         (KJS::DOMMediaList::put):
49744         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
49745         * bindings/objc/DOMCSS.mm:
49746         (-[DOMMediaList setMediaText:]):
49747         (-[DOMMediaList deleteMedium:]):
49748         (-[DOMMediaList appendMedium:]):
49749         * css/CSSGrammar.y:
49750         * css/MediaFeatureNames.cpp: Added.
49751         (WebCore::MediaFeatureNames::init):
49752         * css/MediaFeatureNames.h: Added.
49753         * css/MediaList.cpp:
49754         (WebCore::MediaList::MediaList):
49755         (WebCore::MediaList::~MediaList):
49756         (WebCore::parseMediaDescriptor):
49757         (WebCore::MediaList::deleteMedium):
49758         (WebCore::MediaList::mediaText):
49759         (WebCore::MediaList::setMediaText):
49760         (WebCore::MediaList::item):
49761         (WebCore::MediaList::appendMedium):
49762         (WebCore::MediaList::appendMediaQuery):
49763         * css/MediaList.h:
49764         (WebCore::MediaList::MediaList):
49765         (WebCore::MediaList::length):
49766         (WebCore::MediaList::mediaQueries):
49767         * css/MediaQuery.cpp: Added.
49768         (WebCore::MediaQuery::MediaQuery):
49769         (WebCore::MediaQuery::~MediaQuery):
49770         (WebCore::MediaQuery::operator==):
49771         (WebCore::MediaQuery::cssText):
49772         * css/MediaQuery.h: Added.
49773         (WebCore::MediaQuery::):
49774         (WebCore::MediaQuery::restrictor):
49775         (WebCore::MediaQuery::expressions):
49776         (WebCore::MediaQuery::mediaType):
49777         (WebCore::MediaQuery::append):
49778         * css/MediaQueryEvaluator.cpp: Added.
49779         (WebCore::):
49780         (WebCore::MediaQueryEvaluator):
49781         (WebCore::MediaQueryEvaluator::~MediaQueryEvaluator):
49782         (WebCore::MediaQueryEvaluator::mediaTypeMatch):
49783         (WebCore::applyRestrictor):
49784         (WebCore::MediaQueryEvaluator::eval):
49785         (WebCore::parseAspectRatio):
49786         (WebCore::cmpvalue):
49787         (WebCore::numberValue):
49788         (WebCore::colorMediaFeatureEval):
49789         (WebCore::monochromeMediaFeatureEval):
49790         (WebCore::device_aspect_ratioMediaFeatureEval):
49791         (WebCore::gridMediaFeatureEval):
49792         (WebCore::device_heightMediaFeatureEval):
49793         (WebCore::device_widthMediaFeatureEval):
49794         (WebCore::heightMediaFeatureEval):
49795         (WebCore::widthMediaFeatureEval):
49796         (WebCore::min_colorMediaFeatureEval):
49797         (WebCore::max_colorMediaFeatureEval):
49798         (WebCore::min_monochromeMediaFeatureEval):
49799         (WebCore::max_monochromeMediaFeatureEval):
49800         (WebCore::min_device_aspect_ratioMediaFeatureEval):
49801         (WebCore::max_device_aspect_ratioMediaFeatureEval):
49802         (WebCore::min_heightMediaFeatureEval):
49803         (WebCore::max_heightMediaFeatureEval):
49804         (WebCore::min_widthMediaFeatureEval):
49805         (WebCore::max_widthMediaFeatureEval):
49806         (WebCore::min_device_heightMediaFeatureEval):
49807         (WebCore::max_device_heightMediaFeatureEval):
49808         (WebCore::min_device_widthMediaFeatureEval):
49809         (WebCore::max_device_widthMediaFeatureEval):
49810         (WebCore::createFunctionMap):
49811         * css/MediaQueryEvaluator.h: Added.
49812         * css/MediaQueryExp.cpp: Added.
49813         (WebCore::MediaQueryExp::MediaQueryExp):
49814         (WebCore::MediaQueryExp::~MediaQueryExp):
49815         * css/MediaQueryExp.h: Added.
49816         (WebCore::MediaQueryExp::mediaFeature):
49817         (WebCore::MediaQueryExp::value):
49818         (WebCore::MediaQueryExp::operator==):
49819         * css/StyleSheet.cpp:
49820         (WebCore::StyleSheet::setMedia):
49821         * css/cssparser.cpp:
49822         (WebCore::CSSParser::CSSParser):
49823         (WebCore::CSSParser::~CSSParser):
49824         (WebCore::CSSParser::setupParser):
49825         (WebCore::CSSParser::parseMediaQuery):
49826         (WebCore::CSSParser::createFloatingMediaQueryExp):
49827         (WebCore::CSSParser::sinkFloatingMediaQueryExp):
49828         (WebCore::CSSParser::createFloatingMediaQueryExpList):
49829         (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
49830         (WebCore::CSSParser::createFloatingMediaQuery):
49831         (WebCore::CSSParser::sinkFloatingMediaQuery):
49832         * css/cssparser.h:
49833         * css/cssstyleselector.cpp:
49834         (WebCore::CSSStyleSelector::CSSStyleSelector):
49835         (WebCore::CSSStyleSelector::init):
49836         (WebCore::CSSStyleSelector::~CSSStyleSelector):
49837         (WebCore::CSSStyleSelector::loadDefaultStyle):
49838         (WebCore::CSSStyleSelector::matchUARules):
49839         (WebCore::CSSStyleSelector::styleForElement):
49840         (WebCore::CSSStyleSelector::pseudoStyleForElement):
49841         (WebCore::CSSStyleSelector::updateFont):
49842         (WebCore::CSSStyleSelector::cacheBorderAndBackground):
49843         (WebCore::CSSStyleSelector::styleRulesForElement):
49844         (WebCore::CSSRuleSet::addRulesFromSheet):
49845         * css/cssstyleselector.h:
49846         * css/maketokenizer:
49847         * css/tokenizer.flex:
49848         * dom/DOMImplementation.cpp:
49849         (WebCore::DOMImplementation::createCSSStyleSheet):
49850         * html/HTMLLinkElement.cpp:
49851         (WebCore::HTMLLinkElement::process):
49852         (WebCore::HTMLLinkElement::setStyleSheet):
49853         * html/HTMLStyleElement.cpp:
49854         (WebCore::HTMLStyleElement::childrenChanged):
49855         * ksvg2/svg/SVGDOMImplementation.cpp:
49856         (SVGDOMImplementation::createCSSStyleSheet):
49857         * ksvg2/svg/SVGStyleElement.cpp:
49858         (WebCore::SVGStyleElement::childrenChanged):
49859         * page/Frame.cpp:
49860         (WebCore::Frame::Frame):
49861         * platform/Screen.h:
49862         * platform/mac/ScreenMac.mm:
49863         (WebCore::screenDepthPerComponent):
49864         (WebCore::screenIsMonochrome):
49866 2006-06-08  Levi Weintraub  <lweintraub@apple.com>
49868         Reviewed by justin
49869         
49870         <http://bugs.webkit.org/show_bug.cgi?id=4468>
49871         Implement execCommand(Insert{Un}OrderedList)
49873         * WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
49874         * dom/Position.cpp:
49875         (WebCore::hasRenderedNonAnonymousDescendantsWithHeight): 
49876         Added. A block with height is only a candidate if this is false.  This should fix the problems
49877         getting carets into empty blocks.
49878         (WebCore::Position::inRenderedContent):
49879         * editing/AppendNodeCommand.cpp:
49880         (WebCore::AppendNodeCommand::doApply):
49881         * editing/CompositeEditCommand.cpp:
49882         (WebCore::hasARenderedDescendant):
49883         (WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
49884         have a renderer with no descendants.  Fixed the pruning rule to avoid removing a node like this.
49885         (WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
49886         each other if they aren't already, as a convenience.
49887         (WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
49888         (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 
49889         * editing/CompositeEditCommand.h:
49890         * editing/DeleteSelectionCommand.cpp:
49891         (WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
49892         continue to happen until it is no longer possible.
49893         (WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
49894         wouldn't always avoid removing the start block.
49895         * editing/InsertListCommand.cpp: Added.
49896         (WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
49897         into a list.
49898         (WebCore::InsertListCommand::InsertListCommand):
49899         (WebCore::InsertListCommand::modifyRange):
49900         (WebCore::InsertListCommand::doApply):
49901         * editing/InsertListCommand.h: Added.
49902         (WebCore::InsertListCommand::):
49903         * editing/InsertNodeBeforeCommand.cpp:
49904         (WebCore::InsertNodeBeforeCommand::doApply):
49905         * editing/InsertParagraphSeparatorCommand.cpp:
49906         * editing/JSEditor.cpp:
49907         * editing/TextIterator.cpp:
49908         (WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the 
49909         iterator ends at the start of that node.
49910         * editing/VisiblePosition.cpp:
49911         (WebCore::VisiblePosition::next):
49912         (WebCore::VisiblePosition::previous):
49913         * editing/VisiblePosition.h: 
49914         Added a parameter to next/previous that can prevent them from leaving the current editable region.
49915         * editing/htmlediting.cpp:
49916         (WebCore::highestAncestor):
49917         (WebCore::enclosingList):
49918         (WebCore::enclosingListChild):
49919         (WebCore::outermostEnclosingList):
49920         (WebCore::createListItemElement):
49921         * editing/htmlediting.h:
49922         * page/Frame.cpp:
49923         (WebCore::Frame::selectionListState): Added.
49924         * page/Frame.h:
49926 2006-06-08  David Harrison  <harrison@apple.com>
49928         Reviewed by Geoff and John.
49930         <rdar://problem/4558879> -[DOMCSSPrimitiveValue setStringValue:] throws an exception (12)
49931         
49932         Problem was the primitive value was getting reset to a generic state before the parameter
49933         check that relies on that state.
49935         Test: fast/dom/setPrimitiveValue.html
49937         * css/CSSPrimitiveValue.cpp:
49938         (WebCore::CSSPrimitiveValue::setFloatValue):
49939         (WebCore::CSSPrimitiveValue::setStringValue):
49940         Move parameter checks ahead of call to cleanup().
49942 2006-06-08  Alice Liu  <alice.liu@apple.com>
49944         Reviewed by justin.
49946         - fixed <rdar://problem/4578115> support Range.isPointInRange
49947         - fixed <rdar://problem/4578123> support Range.comparePoint
49949         * dom/Range.cpp:
49950         (WebCore::Range::isPointInRange):
49951         added implementation
49952         (WebCore::Range::comparePoint):
49953         added implementation
49954         * dom/Range.h:
49955         added prototypes
49956         * dom/Range.idl:
49957         added bindings
49959 2006-06-08  Darin Adler  <darin@apple.com>
49961         Reviewed by justin.
49963         - fix http://bugs.webkit.org/show_bug.cgi?id=8616
49964           REGRESSION: TinyMCE: Crash on Undo
49966         * bridge/mac/WebCoreFrameBridge.mm:
49967         (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
49968         Changed to call nodeInfoAtPoint directly.
49969         (-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
49970         Also added code to convert coordinates so it works for points that are in nodes in subframes.
49972         * page/Frame.cpp:
49973         (WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
49974         endpoints in another document.
49975         (WebCore::Frame::setSelection): Ditto.
49977 2006-06-07  Justin Garcia  <justin.garcia@apple.com>
49979         Reviewed by levi
49980         
49981         Fixed some comments and removed an unused variable.
49983         * editing/CompositeEditCommand.cpp:
49984         (WebCore::CompositeEditCommand::removeBlockPlaceholder):
49985         Don't remove a br if it isn't at the start of a block, since
49986         it isn't really a "block placeholder".
49987         * editing/DeleteSelectionCommand.cpp:
49988         (WebCore::DeleteSelectionCommand::initializePositionData):
49989         (WebCore::DeleteSelectionCommand::mergeParagraphs):
49990         (WebCore::DeleteSelectionCommand::doApply):
49991         * editing/InsertLineBreakCommand.cpp:
49992         (WebCore::InsertLineBreakCommand::doApply):
49993         * editing/ReplaceSelectionCommand.cpp:
49994         (WebCore::ReplaceSelectionCommand::doApply):
49995         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
49996         * editing/htmlediting.cpp:
49998 2006-06-07  David Hyatt  <hyatt@apple.com>
50000         Add support for custom highlighting.  This is all ifdefed to be Mac-only.
50002         Reviewed by justin
50004         * WebCore.xcodeproj/project.pbxproj:
50005         * bridge/mac/FrameMac.h:
50006         * bridge/mac/FrameMac.mm:
50007         (WebCore::FrameMac::paintCustomHighlight):
50008         * bridge/mac/WebCoreFrameBridge.h:
50009         * platform/mac/ClipboardMac.h:
50010         * rendering/InlineTextBox.cpp:
50011         (WebCore::InlineTextBox::paint):
50012         (WebCore::InlineTextBox::paintCustomHighlight):
50013         * rendering/InlineTextBox.h:
50015 2006-06-07  Adele Peterson  <adele@apple.com>
50017         Reviewed by Hyatt 
50019         Added support for cross-platform resize property.
50021         * platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
50022         already cache this info when we handle mouse down and mouse up.
50023         * platform/mac/MouseEventMac.mm: ditto.
50024         * platform/win/TemporaryLinkStubs.cpp: ditto.
50026         * page/Frame.cpp:
50027         (WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
50028         * page/FrameView.cpp:
50029         (WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
50030         (WebCore::FrameView::mousePressed): Added.
50031         * page/FrameView.h: Added mousePressed.
50033         * rendering/RenderTheme.h: Removed paintResizeControl.
50034         Since its not dependent on the theme, the layer can just paint this.
50035         * rendering/RenderTheme.cpp: ditto.
50036         * rendering/RenderLayer.cpp:
50037         (WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
50038         (WebCore::RenderLayer::~RenderLayer): Deletes m_resizeCornerImage.
50039         (WebCore::RenderLayer::resize): Uses passed in event instead of creating a new one.
50040         (WebCore::RenderLayer::paintResizeControl): Now loads and paints the resize image.
50041         * rendering/RenderLayer.h: Added m_resizeCornerImage.  Important to have one per-layer for when we allow
50042         more customization.
50044         * platform/cairo/ImageCairo.cpp:
50045         (WebCore::Image::loadResource): Loads image resources.
50047 2006-06-07  David Hyatt  <hyatt@apple.com>
50049         Add support for a new property for custom highlighting.  This patch just
50050         adds support for the parsing of the property.  It doesn't do anything yet.
50052         Reviewed by beth
50054         * css/CSSComputedStyleDeclaration.cpp:
50055         (WebCore::):
50056         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50057         * css/CSSPropertyNames.in:
50058         * css/cssparser.cpp:
50059         (WebCore::CSSParser::parseValue):
50060         * css/cssstyleselector.cpp:
50061         (WebCore::CSSStyleSelector::applyProperty):
50062         * rendering/render_style.cpp:
50063         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
50064         (WebCore::StyleCSS3InheritedData::operator==):
50065         (WebCore::RenderStyle::diff):
50066         * rendering/render_style.h:
50067         (WebCore::RenderStyle::highlight):
50068         (WebCore::RenderStyle::setHighlight):
50069         (WebCore::RenderStyle::initialHighlight):
50071 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50073         Fix suggested by Rob Buis. Reviewed by Darin.
50075         - fix http://bugs.webkit.org/show_bug.cgi?id=9341
50076           REGRESSION: Repro crash caused by style="font:bold"
50078         Test: fast/css/font-shorthand-weight-only.html
50080         * css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
50081         made to fix bug 5564.
50083 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50085         Reviewed by Hyatt.
50087         - fix http://bugs.webkit.org/show_bug.cgi?id=9122
50088           REGRESSION: Incorrect vertical position for text fields in a "display: table" block
50090         Test: fast/table/text-field-baseline.html
50092         * rendering/RenderTableCell.cpp:
50093         (WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
50094         use their baseline.
50096 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50098         Reviewed by Hyatt (concept) and Darin (some coding details).
50100         - fix http://bugs.webkit.org/show_bug.cgi?id=4334
50101           REGRESSION: Flickering when css-hover should change opacity on floating elements
50103         Pixel test: fast/block/float/nopaint-after-layer-destruction.html
50105         * rendering/RenderBlock.cpp:
50106         (WebCore::RenderBlock::setPaintsFloatingObject): Added. Changes the noPaint flag
50107         in the block's FloatingObject for the given float and calls setChildNeedsLayout.
50108         * rendering/RenderBlock.h:
50109         * rendering/RenderBox.cpp:
50110         (WebCore::blockThatPaintsFloat): Added this helper function.
50111         (WebCore::RenderBox::setStyle): Added. Calls to setPaintsFloatingObject when a float
50112         gains or loses its layer.
50114 2006-06-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50116         Reviewed by Hyatt.
50118         - fix http://bugs.webkit.org/show_bug.cgi?id=9121
50119           REGRESSION: [Incremental Repaint] DHTML movement test failures
50121         Test (repaint): fast/repaint/containing-block-position-change.html
50123         * manual-tests/containing-block-position-chage.html: Added.
50124         * rendering/RenderBlock.cpp:
50125         (WebCore::RenderBlock::layoutBlock): Unrelated change: fixed typo from
50126         the RenderCanvas to RenderView rename.
50127         (WebCore::RenderBlock::removePositionedObject): Added a return immediately
50128         after removing the object.
50129         (WebCore::RenderBlock::removePositionedObjects): Added.
50130         * rendering/RenderBlock.h:
50131         * rendering/RenderObject.cpp:
50132         (WebCore::RenderObject::setStyle): Added code to remove absolutely positioned
50133         descendants from the positioned objects list of their current containing block
50134         when they are going to have a new one as a result of this block's position
50135         property changing. 
50136         * rendering/RenderObject.h:
50137         (WebCore::RenderObject::removePositionedObjects):
50139 2006-06-06  Justin Garcia  <justin.garcia@apple.com>
50141         Reviewed by levi
50143         * dom/Node.cpp:
50144         (WebCore::Node::firstDescendant): Added.
50145         * dom/Node.h:
50146         * dom/Range.cpp: Added a constructor that takes in Positions.
50147         (WebCore::Range::Range):
50148         * dom/Range.h:
50149         * editing/CompositeEditCommand.cpp:
50150         (WebCore::CompositeEditCommand::insertNodeAt): 
50151         Let this function insert children into empty containers.  
50152         Calls canHaveChildrenForEditing.
50153         (WebCore::CompositeEditCommand::appendNode): Assert that the parent canHaveChildrenForEditing.
50154         (WebCore::CompositeEditCommand::moveParagraph): Tell ReplaceSelectionCommand to select the 
50155         replacement so that moveParagraph's callers have a valid destination after the move.
50156         * editing/CompositeEditCommand.h: Moved removeFullySelectedNode to DeleteSelectionCommand,
50157         made deleteTextFromNode virtual so that DeleteSelectionCommand can update it's endingPosition.
50158         * editing/DeleteSelectionCommand.cpp:
50159         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): 
50160         Removed m_startNode, used a local variable.
50161         (WebCore::DeleteSelectionCommand::initializeStartEnd): Fixed special element expansion.
50162         (WebCore::DeleteSelectionCommand::initializePositionData): Compute the endingPosition up
50163         front and keep track of it as nodes and text are removed.
50164         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed use of m_startNode.
50165         (WebCore::DeleteSelectionCommand::removeFullySelectedNode): Moved from CompositeEditCommand.
50166         Update m_endingPosition as we remove nodes.
50167         (WebCore::DeleteSelectionCommand::deleteTextFromNode): 
50168         Update m_endingPosition as we delete text.
50169         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Retain the start block.  Cleaned up.
50170         (WebCore::DeleteSelectionCommand::mergeParagraphs): Recompute m_endingPosition since moveParagraph
50171         clobbers the old one.
50172         (WebCore::DeleteSelectionCommand::doApply): Fixed the logic for placeholder insertion after 
50173         deletion. Make the placeholder decision before we do special element expansion.
50174         * editing/DeleteSelectionCommand.h:
50175         * editing/InsertLineBreakCommand.cpp:
50176         (WebCore::InsertLineBreakCommand::doApply): Fixed a bug where an extra br was inserted and cleaned 
50177         up the code.
50178         * editing/InsertParagraphSeparatorCommand.cpp:
50179         (WebCore::InsertParagraphSeparatorCommand::doApply): Deletion of the current selection should do
50180         a merge (added a testcase).
50181         * editing/RebalanceWhitespaceCommand.cpp:
50182         (WebCore::RebalanceWhitespaceCommand::doUnapply): Remove/insert in a way that will trigger a layout.
50183         * editing/ReplaceSelectionCommand.cpp:
50184         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
50185         Merge even when the incoming fragment has interchange newlines (added a testcase).
50186         Merge when the selection being pasted into starts at the start of a block because not
50187         doing so would leave one or more hanging empty blocks.
50188         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
50189         Rebalance whitespace using rebalanceWhitespaceAt because rebalanceWhitespace requires
50190         a selection, and a selection can't be created until whitespace has been rebalanced.
50191         * editing/htmlediting.cpp:
50192         (WebCore::canHaveChildrenForEditing): Added.
50193         * editing/htmlediting.h:
50195 2006-06-06  Beth Dakin  <bdakin@apple.com>
50197         Reviewed by Maciej.
50199         Fix for <rdar://problem/4570475> Dashboard regions do not scale for 
50200         non-1.0 scale factors.
50202         No test cases added since this only affects non-1.0 resolution 
50203         scale factors.
50205         * platform/FloatRect.cpp:
50206         (WebCore::FloatRect::scale): Added new function that scales a 
50207         rect's origin and size by a given factor.
50208         * platform/FloatRect.h:
50209         * platform/IntRect.cpp:
50210         (WebCore::IntRect::scale): Same as above.
50211         * platform/IntRect.h:
50212         * rendering/RenderObject.cpp:
50213         (WebCore::RenderObject::addDashboardRegions): After the bounds and 
50214         clip rects on the Dashboard region have been calculated, get the 
50215         user space scale factor, and if it is not 1.0, scale the rects.
50217 2006-06-06  John Sullivan  <sullivan@apple.com>
50219         Reviewed by Darin Adler.
50220         
50221         - fixed <rdar://problem/4566087> REGRESSION (420+): Crash occurs while completing a find again query at 
50222         http://www.apple.com/ (RenderObject::repaint(bool))
50223         
50224         This wasn't a new problem in the code, but the recent use of DocumentMarkers for find results brought
50225         it to the surface.
50227         * dom/Document.h:
50228         Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained
50230         * dom/Document.cpp:
50231         (WebCore::Document::removeMarkers):
50232         Add a .get() to compensate for using RefPtr. Also, only repaint if this node actually had a marker
50233         removed.
50234         (WebCore::Document::repaintMarkers):
50235         Add a .get() to compensate for using RefPtr.
50237 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
50239         Reviewed by Darin.
50241         http://bugs.webkit.org/show_bug.cgi?id=9325
50242         clientWidth/clientHeight on document element in strict mode should return visible frame size
50243         
50244         * dom/Element.cpp:
50245         (WebCore::Element::clientWidth):
50246         (WebCore::Element::clientHeight):
50247         If we're the document element, and in strict mode, return the visible size of the frame.
50248         
50249 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
50251         Reviewed by John.
50253         * bridge/mac/WebCoreFrameBridge.h:
50254         * bridge/mac/WebCoreFrameBridge.mm:
50255         (-[WebCoreFrameBridge containsPlugins]):
50256         * page/Frame.cpp:
50257         (WebCore::Frame::containsPlugins):
50258         * page/Frame.h:
50259         Add containsPlugins function which returns whether a frame contains plugins
50260         or not.
50262 2006-06-05  Rob Buis  <buis@kde.org>
50264         Reviewed by mjs.
50266         http://bugs.webkit.org/show_bug.cgi?id=5564
50267         'font' shorthand parsing should be more tolerant in quirks mode
50269         When not in strict mode accept font property specifications
50270         lacking a font family part, like WinIE does.
50272         * css/cssparser.cpp:
50273         (WebCore::CSSParser::parseFont):
50275 2006-06-05  Beth Dakin  <bdakin@apple.com>
50277         Reviewed by Darin.
50279         Fix for <rdar://problem/4567520> Pixel cracks in weather widget at 
50280         1.83 scaling
50282         To prevent pixel cracks at non-integral scaling factors, before we 
50283         call into CG to draw an image, we have to convert the rect to 
50284         device space, round the origin and size to integers in device 
50285         space, and convert back to user space. 
50286         
50287         No test cases added since this only affects non-1.0 resolution 
50288         scale factors.
50290         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
50291         (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now 
50292         takes FloatRects.
50293         * html/CanvasPattern.cpp:
50294         (WebCore::patternCallback): Call roundToDevicePixels()
50295         * html/CanvasRenderingContext2D.cpp:
50296         (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now 
50297         takes FloatRects and call roundToDevicePixels()
50298         * html/CanvasRenderingContext2D.h: drawImage() now takes 
50299         FloatRects.
50300         * html/HTMLCanvasElement.cpp:
50301         (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
50302         * kcanvas/device/quartz/QuartzSupport.mm:
50303         (WebCore::debugDumpCGImageToFile): Same as above.
50304         * platform/GraphicsContext.h:
50305         * platform/cg/GraphicsContextCG.cpp:
50306         (WebCore::GraphicsContext::roundToDevicePixels): Takes care of 
50307         converting between coordinate spaces and rounding.
50308         (WebCore::GraphicsContext::drawLineForText):
50309         * platform/mac/ImageMac.mm: Call roundToDevicePixels()
50310         (WebCore::Image::draw): Same as above.
50311         (WebCore::drawPattern): Same as above.
50313 2006-06-05  Geoffrey Garen  <ggaren@apple.com>
50315         Reviewed by Darin.
50317         - http://bugs.webkit.org/show_bug.cgi?id=9310
50318         Add missing DOM prototypes and other DOM cleanup
50320         - Added the built-in object prototype to DOM objects that were missing it
50321         so that primitive operations like == work on them.
50322         
50323         - Removed dead EventConstructor class (it's autogenerated now)
50324         
50325         - Changed HTML collections to describe themselves as "[object Collection]",
50326         to match IE.
50327         
50328         - Made DOMCSSRule constructor private because JSCSSRule is the class
50329         to use.
50330         
50331         * bindings/js/JSHTMLOptionElementConstructor.cpp:
50332         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
50333         * bindings/js/kjs_css.cpp:
50334         (KJS::DOMStyleSheet::DOMStyleSheet):
50335         (KJS::DOMStyleSheetList::DOMStyleSheetList):
50336         (KJS::DOMCSSRule::DOMCSSRule):
50337         (KJS::DOMCSSValue::DOMCSSValue):
50338         (KJS::toJS):
50339         (KJS::DOMRGBColor::DOMRGBColor):
50340         (KJS::getDOMRGBColor):
50341         (KJS::DOMRect::DOMRect):
50342         * bindings/js/kjs_css.h:
50343         * bindings/js/kjs_dom.cpp:
50344         (KJS::DOMNodeList::DOMNodeList):
50345         (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
50346         (KJS::DOMExceptionConstructor::getOwnPropertySlot):
50347         (KJS::):
50348         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
50349         * bindings/js/kjs_dom.h:
50350         (KJS::DOMNamedNodesCollection::classInfo):
50351         * bindings/js/kjs_events.h:
50352         * bindings/js/kjs_html.cpp:
50353         (KJS::):
50355 2006-06-04  Darin Adler  <darin@apple.com>
50357         Reviewed by Maciej.
50359         - fix http://bugs.webkit.org/show_bug.cgi?id=9031
50360           REGRESSION: Crash when closing tabs on newegg.com
50361         - removed a no-longer-needed Win32-specific workaround (not reviewed)
50363         * bindings/js/kjs_window.cpp: Added include of <wtf/MathExtras.h>.
50364         (WebCore::floatFeature): Remove WIN32 ifdef around isnan.
50365         (WebCore::toJS): Add null checks.
50367 2006-06-04  Darin Adler  <darin@apple.com>
50369         Reviewed by Maciej.
50371         - fix http://bugs.webkit.org/show_bug.cgi?id=9176
50372           REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
50374         Test: fast/loader/link-no-URL.html
50376         * loader/Cache.h:
50377         * loader/Cache.cpp:
50378         (WebCore::Cache::updateCacheStatus): Removed the URL parameter. Instead get the URL
50379         from the cached object itself. Callers were passing in the wrong URL. When it was a
50380         null string, it caused the crash mentioned above. But in other cases it may have
50381         caused some other minor problems as well. Added an assert to catch cases where the
50382         URL is null (should never happen).
50383         (WebCore::Cache::requestImage): Changed call site to not pass URL.
50384         (WebCore::Cache::requestStyleSheet): Ditto.
50385         (WebCore::Cache::requestScript): Ditto.
50386         (WebCore::Cache::requestXSLStyleSheet): Ditto.
50387         (WebCore::Cache::requestXBLDocument): Ditto.
50389 2006-06-04  Darin Adler  <darin@apple.com>
50391         Reviewed by Adele.
50393         - fix http://bugs.webkit.org/show_bug.cgi?id=7291
50394           REGRESSION: delete key does not work in isIndex fields
50396         * platform/mac/WebCoreTextField.mm:
50397         (inputElement): Added. Helper function to get the Objective-C wrapper for an
50398         input element associated with a QTextEdit. Returns nil if the element is not
50399         an input element. The bug was caused by passing a non-input element to the
50400         delegate methods.
50401         (-[KWQTextFieldController controlTextDidBeginEditing:]): Use inputElement
50402         and don't make the delegate call at all if there is none. This happens only
50403         with isindex elements; it's not important to have auto-fill work with those.
50404         (-[KWQTextFieldController controlTextDidEndEditing:]): Ditto.
50405         (-[KWQTextFieldController controlTextDidChange:]): Ditto.
50406         (-[KWQTextFieldController control:textShouldEndEditing:]): Ditto.
50407         (-[KWQTextFieldController control:textView:doCommandBySelector:]): Ditto.
50408         (-[KWQTextFieldController textView:shouldHandleEvent:]): Ditto.
50410 2006-06-04  Darin Adler  <darin@apple.com>
50412         Reviewed by Anders.
50414         - fix http://bugs.webkit.org/show_bug.cgi?id=8995
50415           memory leak in XPath code -- seen in layout tests
50416         - fixed malloc error on exit due to SVGDOMImplementation destructor
50417         - attempted to fix the no-XPATH_SUPPORT build by adding an #if
50418         - changed around includes and header-file formatting in XPath code
50420         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
50421         generating the bindings for XPathNSResolver.
50423         * dom/DOMImplementation.h: Added a virtual destructor for the benefit of
50424         SVGDOMImplementation.
50425         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.
50427         * ksvg2/svg/SVGDOMImplementation.h: Reformatted a bit, removed unneeded declarations.
50428         * ksvg2/svg/SVGDOMImplementation.cpp:
50429         (SVGDOMImplementation::~SVGDOMImplementation): Remove commented-out code.
50430         (SVGDOMImplementation::createDocument): Remove a reference to KDOMView.
50432         * xpath/XPathExpression.cpp:
50433         (WebCore::XPathExpression::createExpression): Called release to avoid a tiny bit of
50434         reference count churn.
50435         (WebCore::XPathExpression::evaluate): Set exception code explicitly, because the code
50436         relies on it being 0 when the function succeeds.
50438         * xpath/XPathResult.cpp:
50439         (WebCore::InvalidatingEventListener::InvalidatingEventListener): Removed
50440         unneeded target node data member.
50441         (WebCore::XPathResult::XPathResult): Updated for enum name changes and
50442         InvalidatingEventListener name change. Added an assertion.
50444         * xpath/impl/XPathFunctions.h: Removed the FunctionLibrary class. Changed the parameter
50445         for createFunction to be a String instead of char*.
50446         * xpath/impl/XPathFunctions.cpp: Got rid of local implementation of "round", and
50447         used <wtf/MathExtras.h> instead. Also removed unused Interval::asString. Marked all
50448         the Interval functions inline.
50449         (WebCore::XPath::FunSubstring::doEvaluate): Use lround() instead of (long)round().
50450         (WebCore::XPath::FunLang::doEvaluate): Removed some unneeded temporary String variables.
50451         Use equalIgnoringCase() instead of calling lower() on two strings.
50452         (WebCore::XPath::createFunctionMap): Changed how this works so that it's all local to
50453         this function. Also removed a duplicate entry for the "last" function.
50454         (WebCore::XPath::createFunction): Changed from a member function to a separate function.
50455         Also changed so that if the args are not used in the function they are deleted.
50456         This was one of the sources of the storage leaks.
50458         * xpath/impl/XPathGrammar.y: Put XPATH_SUPPORT ifdef in. Replaced <num> with values of
50459         specific types (numop, eqop). Updated for name change from AxisType to Axis. Changed
50460         tokens that were declared as <str> but weren't actually using the string to be
50461         declared with no type (PLUS, MINUS, OR, AND, DOTDOT, SLASHSLASH). Replaced use of
50462         unregisterString, unregisterPredicateVector, and unregisterExpressionVector to
50463         call delete functions instead that both unregister and delete. Change call sites for
50464         createFunction to just use the String, removing the deprecatedString().latin1() call
50465         that is no longer needed. Added a call to unregisterParseNode that was missing in the
50466         "FilterExpr DescendantOrSelf RelativeLocationPath" production.
50468         * xpath/impl/XPathParser.h: Changed Token to hold a String, Step::Axis, NumericOp::Opcode,
50469         and EqTestOp::Opcode. The token ID number tells us which to use. Rearranged to put the private
50470         part of the Parser class last. Moved a number of private things inside the cpp file.
50471         * xpath/impl/XPathParser.cpp:
50472         (WebCore::XPath::charCat): Made this a separate function, instead of a static member.
50473         (WebCore::XPath::isAxisName): Ditto. Also put the global axis map inside the function,
50474         allowing use of a map instead of a map pointer.
50475         (WebCore::XPath::isNodeTypeName): Ditto.
50476         (WebCore::XPath::Parser::isOperatorContext): Made this const.
50477         (WebCore::XPath::Parser::makeTokenAndAdvance): Got rid of the "int" version of this.
50478         By using the actual types, we can safely use overload instead.
50479         (WebCore::XPath::Parser::lexString): Use substring() instead of deprecatedString().mid().
50480         (WebCore::XPath::Parser::lexNumber): Ditto.
50481         (WebCore::XPath::Parser::lexNCName): Changed to return a bool and a String instead of a
50482         Token. This avoids the hack of using a token value of "ERROR + 1" which I found quite
50483         confusing and is also a bit more explicit.
50484         (WebCore::XPath::Parser::lexQName): Ditto.
50485         (WebCore::XPath::Parser::nextTokenInternal): Changed to adapt to the changes above and
50486         to remove some unneeded else statements.
50487         (WebCore::XPath::Parser::lex): Changed the logic that sets up yylval to use the token ID
50488         to decide what the type is. This matches what the grammar expects, and removes the need
50489         for the token object to track which part of the value is good and the need to reserve 0
50490         to have a special meaning.
50491         (WebCore::XPath::Parser::parseStatement): Added code to delete the predicates and the
50492         expressions in the predicate and expression vectors. Before, we were only deleting
50493         the vectors. This was one of the sources of the storage leaks.
50494         (WebCore::XPath::Parser::deletePredicateVector): Renamed, and changed to delete
50495         the vector. However this does not delete the predicates in the vector.
50496         (WebCore::XPath::Parser::deleteExpressionVector): Renamed, and changed to delete
50497         the vector. However this does not delete the expressions in the vector.
50498         (WebCore::XPath::Parser::deleteString): Renamed, and changed to delete the string.
50500         * xpath/impl/XPathPredicate.h:
50501         * xpath/impl/XPathPredicate.cpp:
50502         (WebCore::XPath::NumericOp::NumericOp): Changed opcode from an int to an enum, and
50503         renamed to "opcode" instead of "opCode".
50504         (WebCore::XPath::NumericOp::doEvaluate): More of the same.
50505         (WebCore::XPath::EqTestOp::EqTestOp): Ditto.
50506         (WebCore::XPath::EqTestOp::doEvaluate): Ditto.
50507         (WebCore::XPath::LogicalOp::LogicalOp): Ditto.
50508         (WebCore::XPath::LogicalOp::shortCircuitOn): Ditto.
50509         (WebCore::XPath::Predicate::evaluate): Removed an unneeded "new".
50511         * xpath/impl/XPathStep.h:
50512         * xpath/impl/XPathStep.cpp: Renamed AxisType to Axis. Removed unused axisAsString
50513         function and default constructor.
50515         * xpath/impl/XPathValue.h: Renamed the type constants to have a Value suffix,
50516         instead of the underscore suffix used before on NodeVector and String.
50517         * xpath/impl/XPathValue.cpp: Updated for name change. Added asserts.
50519         * xpath/impl/XPathVariableReference.cpp: (WebCore::XPath::VariableReference::doEvaluate):
50520         Use a reference instead of a pointer.
50522         * xpath/XPathEvaluator.cpp:
50523         * xpath/XPathEvaluator.h:
50524         * xpath/XPathExpression.h:
50525         * xpath/XPathNSResolver.cpp:
50526         * xpath/XPathNSResolver.h:
50527         * xpath/XPathNamespace.cpp:
50528         * xpath/XPathNamespace.h:
50529         * xpath/XPathResult.h:
50530         * xpath/impl/XPathExpressionNode.cpp:
50531         * xpath/impl/XPathExpressionNode.h:
50532         * xpath/impl/XPathPath.cpp:
50533         * xpath/impl/XPathPath.h:
50534         * xpath/impl/XPathUtil.cpp:
50535         * xpath/impl/XPathUtil.h:
50536         * xpath/impl/XPathVariableReference.h:
50537         Reformatted and changed includes around; no substantive changes.
50539 2006-06-04  Sam Weinig  <sam.weinig@gmail.com>
50541         Reviewed by hyatt.
50543         - fix for http://bugs.webkit.org/show_bug.cgi?id=9213
50544           Absolutely positioned objects with relatively positioned inline 
50545           containing blocks are rendered incorrectly
50547         * rendering/RenderBox.cpp:
50548         (WebCore::RenderBox::containingBlockWidthForPositioned):
50549         (WebCore::RenderBox::containingBlockHeightForPositioned):
50550         (WebCore::RenderBox::calcAbsoluteHorizontal):
50551         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
50552         (WebCore::RenderBox::calcAbsoluteVertical):
50553         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
50554         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
50555         * rendering/RenderBox.h:
50557 2006-06-04  Anders Carlsson  <acarlsson@apple.com>
50559         Reviewed by Darin.
50561         http://bugs.webkit.org/show_bug.cgi?id=9035
50562         document.evaluate and createNSResolver miss on namespaced elements
50563         
50564         * xpath/XPathExpression.cpp:
50565         (WebCore::XPathExpression::createExpression):
50566         Pass the resolver to the parser.
50567         
50568         * xpath/XPathResult.cpp:
50569         (WebCore::XPathResult::iterateNext):
50570         Fix off-by-one error.
50571         
50572         * xpath/impl/XPathExpressionNode.h:
50573         (WebCore::XPath::EvaluationContext::EvaluationContext):
50574         Get rid of the resolver in the evaluation context.
50575         
50576         * xpath/impl/XPathGrammar.y:
50577         Fetch the resolver from the parser. Only return the local name.
50578         
50579         * xpath/impl/XPathParser.cpp:        
50580         (WebCore::XPath::Parser::parseStatement):
50581         * xpath/impl/XPathParser.h:
50582         (WebCore::XPath::Parser::resolver):
50583         Update to hold the resolver.
50584         
50585         * xpath/impl/XPathStep.cpp:
50586         (WebCore::XPath::Step::Step):
50587         If the parser has stored a namespace URI, set it.
50588         
50589         (WebCore::XPath::Step::nodeTestMatches):
50590         Check namespace URIs.
50591         
50592         * xpath/impl/XPathStep.h:
50593         Add m_namespaceURI.
50595 2006-06-03  Rob Buis  <buis@kde.org>
50597         Reviewed by mjs.  Tweaked and landed by ddkilzer.
50599         http://bugs.webkit.org/show_bug.cgi?id=7281
50600         With java disabled wrong information is displayed.
50602         Test: fast/replaced/applet-rendering-java-disabled.html
50604         Match WinIE, render applet content inline when java is
50605         disabled. 
50607         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RenderEmptyApplet.cpp and RenderEmptyApplet.h.
50608         * WebCore.xcodeproj/project.pbxproj: Ditto.
50609         * WebCoreSources.bkl: Ditto.
50610         * html/HTMLAppletElement.cpp:
50611         (WebCore::HTMLAppletElement::createRenderer):
50612         * rendering/RenderEmptyApplet.cpp: Removed.
50613         * rendering/RenderEmptyApplet.h: Removed.
50615 2006-06-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50617         Reviewed by Hyatt.
50619         - fix http://bugs.webkit.org/show_bug.cgi?id=9252
50620           REGRESSION: Very odd roll-over issues (content disappearing)
50622         Test: fast/dom/HTMLLinkElement/pending-stylesheet-count.html
50624         * html/HTMLLinkElement.cpp:
50625         (WebCore::HTMLLinkElement::~HTMLLinkElement): If the stylesheet was being
50626         loaded, call stylesheetLoaded() on the document, to keep the pending stylesheet
50627         count correct.
50629 2006-06-03  Darin Adler  <darin@apple.com>
50631         - fix Windows build
50633         * platform/Widget.h: Moved scaleFactor function out of Apple-specific
50634         section of the header into the common part.
50636 2006-06-03  Beth Dakin  <bdakin@apple.com>
50638         Reviewed by Darin.
50640         Fix for <rdar://problem/4537274> HiDPI: <canvas> needs to apply a 
50641         scale. <canvas> needs to scale itself along with whatever scale 
50642         factor is set on the window.
50644         * html/HTMLCanvasElement.cpp:
50645         (WebCore::HTMLCanvasElement::createDrawingContext): Get the scale 
50646         factor and use it to create a larger buffer and to scale the 
50647         CGContext.
50648         * platform/Widget.h: Provide a new function that returns the user 
50649         space scale factor.
50650         * platform/mac/WidgetMac.mm:
50651         (WebCore::Widget::scaleFactor): Get the scale factor from the 
50652         window and return it.
50653         * platform/win/WidgetWin.cpp:
50654         (WebCore::Widget::scaleFactor): Just return 1.0f for now.
50656 2006-06-03  Steve Falkenburg  <sfalken@apple.com>
50658         Reviewed by hyatt.
50660         Don't send empty referrers.  Fixes image load fail on Spinneret default content.
50662         * platform/win/TransferJobWin.cpp:
50663         (WebCore::TransferJob::start):
50665 2006-06-02  Adele Peterson  <adele@apple.com>
50667         Reviewed by Darin. 
50669         Windows theme for textareas.  Also made some formatting changes. 
50671         * rendering/RenderThemeWin.cpp:
50672         (WebCore::RenderThemeWin::supportsFocus):
50673         (WebCore::RenderThemeWin::getThemeData):
50674         (WebCore::RenderThemeWin::adjustButtonStyle):
50675         (WebCore::RenderThemeWin::adjustTextFieldStyle):
50676         (WebCore::RenderThemeWin::adjustTextAreaStyle):
50677         (WebCore::RenderThemeWin::paintTextArea):
50678         * rendering/RenderThemeWin.h:
50679         (WebCore::RenderThemeWin::supportsHover):
50681 2006-06-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
50683         Reviewed by Hyatt, checked in by Tim H.
50685         Explicitly run perl on *.pl files instead of relying
50686         on Windows shell figuring out which program to run for
50687         this extention.
50689         * DerivedSources.make:
50691 2006-06-02  David Carson  <dacarson@gmail.com>
50693         Reviewed by Hyatt, checked in by Tim H.
50695         fixes http://bugs.webkit.org/show_bug.cgi?id=9115
50696         Changed RenderLayer to only render layers that are not
50697         totally transparent.
50699         * rendering/RenderLayer.cpp
50700         (RenderLayer::paintLayer):
50701         Changed function to also check if the layer is totally transparent
50702         and if it is, don't bother painting it.
50704 2006-06-02  Rob Buis  <buis@kde.org>
50706         Reviewed by Hyatt, checked in by Tim H.
50708         http://bugs.webkit.org/show_bug.cgi?id=8223
50709         WebKit fails to update style on element via DOM
50711         Handle !important by detecting it and using a different code
50712         path from normal priority.
50714         * bindings/js/kjs_css.cpp:
50715         (KJS::DOMCSSStyleDeclaration::put):
50716         * css/CSSStyleDeclaration.cpp:
50717         (WebCore::CSSStyleDeclaration::setProperty):
50718         * css/CSSStyleDeclaration.h:
50720 2006-06-02  Darin Adler  <darin@apple.com>
50721         
50722         Reviewed by Geoff, checked in by Maciej.
50723         
50724         - fix http://bugs.webkit.org/show_bug.cgi?id=9236
50725         REGRESSION: focus method does not work on some elements before they are laid out
50726         
50727         * dom/Element.cpp: (WebCore::Element::focus): Do the updateLayout call before
50728         calling isFocusable, since isFocusable looks at the size of the renderer.
50729         
50730 2006-06-02  Steve Falkenburg  <sfalken@apple.com>
50732         Reviewed by darin.
50734         Platform hookup fixes
50736         * bridge/win/FrameWin.cpp:
50737         (WebCore::FrameWin::urlSelected):
50738         (WebCore::FrameWin::setTitle):
50739         (WebCore::FrameWin::setStatusBarText):
50740         * bridge/win/FrameWin.h:
50741         * platform/win/TemporaryLinkStubs.cpp:
50742         (FrameWin::overrideMediaType):
50743         * platform/win/TransferJobWin.cpp:
50744         (WebCore::TransferJobWndProc):
50745         (WebCore::TransferJob::start):
50746         (WebCore::TransferJob::fileLoadTimer):
50747         (WebCore::TransferJob::cancel):
50749 2006-06-02  RĂ©mi Zara  <remi_zara@mac.com>
50751         Reviewed by Hyatt.
50753         - fix http://bugs.webkit.org/show_bug.cgi?id=3379
50754           attr(X) does not work
50756         Test: fast/css-generated-content/016.html
50758         * css/cssstyleselector.cpp:
50759         (WebCore::CSSStyleSelector::canShareStyleWithElement): Don't share style
50760         if the unique bit is set.
50761         (WebCore::CSSStyleSelector::applyProperty): When applying the "attr" property,
50762         set the unique bit and add to m_selectorAttrs.
50764         * rendering/render_style.cpp: Did a lot of reformatting, and this one real change.
50765         (WebCore::RenderStyle::RenderStyle): Initialize m_unique to false.
50767         * rendering/render_style.h:
50768         (WebCore::RenderStyle::unique): Added. Returns value of m_unique.
50769         (WebCore::RenderStyle::setUnique): Added. Sets m_unique.
50771 2006-06-02  David Kilzer  <ddkilzer@kilzer.net>
50773         Reviewed by mjs.
50775         http://bugs.webkit.org/show_bug.cgi?id=9183
50776         Finish renaming of RenderCanvas to RenderView
50778         * rendering/RenderView.h: Changed renderName from "RenderCanvas" to "RenderView".
50780 2006-06-01  Darin Adler  <darin@apple.com>
50782         - try to fix Windows build
50784         * bridge/win/FrameWin.cpp: Added include of Decoder.h.
50786 2006-06-01  Darin Adler  <darin@apple.com>
50788         Reviewed by Maciej.
50790         - WebCore doesn't need to load WebKit images any more; removed code for that
50792         * WebCore.exp: Removed WebCoreImageRendererFactory.
50793         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRendererFactory.h/mm.
50794         * bridge/mac/WebCoreFrameBridge.mm: Removed include of WebCoreImageRendererFactory.h.
50795         * platform/mac/ImageMac.mm: Removed include of WebCoreImageRendererFactory.h.
50796         * platform/mac/WebCoreImageRendererFactory.h: Removed.
50797         * platform/mac/WebCoreImageRendererFactory.m: Removed.
50799 2006-06-01  Sam Weinig  <sam.weinig@gmail.com>
50801         Reviewed by Geoff, tweaked a bit by Darin.
50803         - http://bugs.webkit.org/show_bug.cgi?id=9064
50804           Split dom2_traversalimpl.* into separate files (one class per file).
50806         * WebCore.xcodeproj/project.pbxproj: Updated for new files.
50807         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
50809         * bindings/js/kjs_traversal.h:
50810         * bindings/scripts/CodeGeneratorJS.pm:
50811         * bindings/objc/DOM.mm:
50812         * dom/Document.cpp:
50813         * dom/Document.h:
50814         Updated includes.
50816         * dom/NodeFilter.cpp: Added.
50817         * dom/NodeFilter.h: Added.
50818         * dom/NodeFilterCondition.cpp: Added.
50819         * dom/NodeFilterCondition.h: Added.
50820         * dom/NodeIterator.cpp: Added.
50821         * dom/NodeIterator.h: Added.
50822         * dom/Traversal.cpp: Added.
50823         * dom/Traversal.h: Added.
50824         * dom/TreeWalker.cpp: Added.
50825         * dom/TreeWalker.h: Added.
50827         * dom/dom2_traversalimpl.cpp: Removed.
50828         * dom/dom2_traversalimpl.h: Removed.
50830 2006-06-01  David Carson  <dacarson@gmail.com>
50832         Reviewed by Maciej and Adele
50834         Fix for http://bugs.webkit.org/show_bug.cgi?id=8398
50835         REGRESSION: LABEL in OPTION element is clobbering display #TEXT
50836         Patch provided by Darin.
50837         
50838         * rendering/RenderSelect.cpp
50839         (RenderSelect::updateFromElement): 
50840         Changed to use the containing text by default, and not the label text
50842 2006-06-01  David Carson  <dacarson@gmail.com>
50844         Reviewed by Hyatt.
50846         Fix for http://bugs.webkit.org/show_bug.cgi?id=8646
50847         Correcting the value returned for window.screen.pixelDepth and
50848         window.screen.colorDepth
50849         
50850         * platform/mac/ScreenMac.mm
50851         (screenDepth): 
50852         Changed to return the BitsPerPixelFromDepth rather than the WindowDepth
50854 2006-06-01  Adele Peterson  <adele@apple.com>
50856         Reviewed by Maciej.
50858         Missed an initialization in my last checkin which caused too many
50859         resizers to be drawn.
50861         * rendering/render_style.cpp: (WebCore::resize):
50862         Initialize resize to RESIZE_NONE.
50864 2006-06-01  Dave Hyatt <hyatt@apple.com>
50866         Implement form POST using WinINet.  This code is crazy... CRAZY!
50868         * platform/TransferJobInternal.h:
50869         (WebCore::TransferJobInternal::TransferJobInternal):
50870         * platform/win/CookieJarWin.cpp:
50871         (WebCore::setCookies):
50872         (WebCore::cookies):
50873         * platform/win/TransferJobWin.cpp:
50874         (WebCore::TransferJobWndProc):
50875         (WebCore::TransferJob::start):
50877 2006-06-01  Adele Peterson  <adele@apple.com>
50879         Reviewed by Hyatt.
50881         Fix for http://bugs.webkit.org/show_bug.cgi?id=9216
50882         Implement CSS3 resize property
50884         * css/html4.css: Sets resize:both for textareas. This won't affect old-style textareas.
50886         * css/CSSPropertyNames.in: Added resize property.
50887         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Added case for CSS_PROP_RESIZE.
50888         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
50889         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): ditto.
50891         * rendering/render_style.cpp: (WebCore::StyleCSS3InheritedData): Initialize resize.
50892         * rendering/render_style.h:
50893         (WebCore::): Added EResize enum.
50894         (WebCore::RenderStyle::resize):
50895         (WebCore::RenderStyle::setResize):
50896         (WebCore::RenderStyle::initialResize):
50898         * page/FrameView.cpp:
50899         (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_resizeLayer to keep track of a layer that has begun resizing.
50900         (WebCore::FrameViewPrivate::reset): Reset m_resizeLayer.
50901         (WebCore::FrameView::handleMousePressEvent): If the mouse was pressed in a layer's resize control, then put the layer into resize mode.
50902         (WebCore::selectCursor): Updated so we get a pointer cursor for the resize control.
50903         (WebCore::FrameView::handleMouseMoveEvent): If there's a layer currently resizing, then tell the layer to continue resizing.
50904         (WebCore::FrameView::handleMouseReleaseEvent): If there's a layer currently resizing, then pull it out of resize mode.
50906         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isPointInScrollbar): Updated so the resize control isn't considered part of the scrollbar.
50907         * rendering/RenderLayer.cpp:
50908         (WebCore::RenderLayer::RenderLayer): Initialize m_inResizeMode
50909         (WebCore::RenderLayer::updateLayerPositions): Calls positionResizeControl.
50910         (WebCore::RenderLayer::resize): Added. Sets a new width and height based on the current mouse point.
50911         (WebCore::RenderLayer::isPointInResizeControl): Added.
50912         (WebCore::RenderLayer::positionResizeControl): Added.
50913         (WebCore::RenderLayer::positionScrollbars): Calls positionResizeControl.
50914         (WebCore::RenderLayer::paintScrollbars): Calls positionResizeControl.
50915         (WebCore::RenderLayer::paintResizeControl): Added.
50916         (WebCore::RenderLayer::paintLayer): Calls paintResizeControl.
50917         * rendering/RenderLayer.h: Added m_inResizeMode.
50918         (WebCore::RenderLayer::resizeControlRect):
50919         (WebCore::RenderLayer::setResizeControlRect):
50920         (WebCore::RenderLayer::inResizeMode): Added.
50921         (WebCore::RenderLayer::setInResizeMode): Added. 
50923         * platform/mac/ImageMac.mm: (WebCore::Image::loadResource): Moved code from WebImageRendererFactory.  Now loads images from WebCore's resources.
50924         WebImageRendererFactory is no longer used and should be removed.
50925         * Resources/missingImage.tiff: Added. Copied from WebKit.
50926         * WebCore.xcodeproj/project.pbxproj: Added missingImage.tiff
50927         * loader/Cache.cpp: (WebCore::Cache::init): Updated name from missing_image to missingImage.
50929         * rendering/RenderTheme.h:
50930         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paintResizeControl): Added.
50931         * rendering/RenderThemeMac.h:
50932         * rendering/RenderThemeMac.mm:
50933         (WebCore::RenderThemeMac::RenderThemeMac): Initialize resizeCornerImage.
50934         (WebCore::RenderThemeMac::paintResizeControl): Paints resizeCornerImage.
50936 2006-06-01  Brady Eidson  <beidson@apple.com>
50938         Reviewed by Maciej.
50940         Added the beginnings of sqlite-based code in a WebCore
50941         based version of the Icon Database.  Right now the code
50942         is very loosely hooked up through a Bridge and only
50943         creates an sqlite3 database.
50945         There are also changes to our String classes to allow appending
50946         a single character to a String without creating a temporary object.
50948         * WebCore.exp:
50949         -Added a symbol export
50951         * WebCore.xcodeproj/project.pbxproj:
50952         * bridge/mac/WebCoreIconDatabaseBridge.h: Added.
50953         * bridge/mac/WebCoreIconDatabaseBridge.mm: Added.
50954         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
50955         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
50956         (-[WebCoreIconDatabaseBridge isOpen]):
50957         -This class will eventually shadow WebIconDatabase but for now
50958         is a minimal interface to make the sql code live
50960         * icon: Added.
50961         * icon/IconDatabase.cpp: Added.
50962         -This class will eventually resemble WebIconDatabase but for now
50963         is minimal just to make the sql code live
50964         (WebCore::IconDatabase::sharedIconDatabase):
50965         (WebCore::IconDatabase::IconDatabase):
50966         (WebCore::IconDatabase::open):
50967         -This method calls a mkdir to make sure the target directory
50968         exists
50969         (WebCore::IconDatabase::close):
50970         (WebCore::IconDatabase::~IconDatabase):
50972         * icon/IconDatabase.h: Added.
50973         (WebCore::IconDatabase::isOpen):
50974         * platform/Logging.cpp:
50975         * platform/Logging.h:
50976         -Added an IconDatabase logging channel
50978         * platform/PlatformString.h:
50979         * platform/String.cpp:
50980         (WebCore::String::append):
50981         * platform/StringImpl.cpp:
50982         (WebCore::StringImpl::append):
50983         * platform/StringImpl.h:
50984         -Added append(char) and append(UChar) to allow appending a
50985         single character without creating a temporary object.  Required
50986         to facilitate manually adding a null character to a unicode 16
50987         string
50989 2006-06-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50991         Reviewed and landed by Anders.
50993         - fixed all places in the Canvas to RenderView rename patch where
50994           view() should have been changed to frameView().
50996         * kwq/WebCoreAXObject.mm:
50997         (-[WebCoreAXObject position]):
50998         (-[WebCoreAXObject accessibilityAttributeValue:]):
50999         * rendering/RenderBlock.cpp:
51000         (WebCore::RenderBlock::layoutBlock):
51001         * rendering/RenderBox.cpp:
51002         (WebCore::RenderBox::paintBackgroundExtended):
51003         * rendering/RenderTreeAsText.cpp:
51004         (externalRepresentation):
51006 2006-06-01  Geoffrey Garen  <ggaren@apple.com>
51008         Fix by Mitz. Reviewed, tweaked, tested, landed by me.
51010         - Fixed http://bugs.webkit.org/show_bug.cgi?id=9113
51011         REGRESSION (14581): XMLHttpRequest never calls onreadystatechange with 
51012         a readystate == 4
51013         
51014         An XMLHttpRequest must be added to the DOMObject cache so that its
51015         DOM implementation object can protect it, and by extension, its event
51016         listeners.
51017         
51018         This design seems slightly backwards to me -- the bindings should know
51019         about the DOM, not the other way around -- but I'm restoring it for
51020         now to fix the regression.
51021         
51022         * bindings/js/JSXMLHttpRequest.cpp:
51023         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
51024         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
51026 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
51028         * platform/KURL.cpp:
51029         (equalIgnoringRef):
51030         Whoops. Fix build.
51031         
51032 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
51034         Reviewed by Darin.
51036         http://bugs.webkit.org/show_bug.cgi?id=6309
51037         multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
51038         
51039         * bindings/js/kjs_window.cpp:
51040         (KJS::Location::put):
51041         Handle the case where the hash starts with a "#". Also, don't do anything if the previous and new hashes
51042         are equal.
51043         
51044         * bridge/BrowserExtension.h:
51045         * bridge/mac/BrowserExtensionMac.h:
51046         * bridge/mac/BrowserExtensionMac.mm:        
51047         (WebCore::BrowserExtensionMac::historyURL):
51048         * bridge/mac/WebCoreFrameBridge.h:
51049         * bridge/mac/WebCoreFrameBridge.mm:
51050         New function historyURL which returns the complete URL for a given item in the history.
51051         
51052         * page/Frame.cpp:
51053         (WebCore::Frame::scheduleLocationChange):        
51054         (WebCore::Frame::scheduleHistoryNavigation):
51055         If the URL of the new location only differs in the hash, don't schedule the load. Instead, load it
51056         directly.
51057         
51058         * platform/KURL.cpp:
51059         * platform/KURL.h:
51060         Add equalsIgnoringRef which returns whether two URLs are equal, ignoring the ref.
51062 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
51064         Reviewed by Maciej.
51066         http://bugs.webkit.org/show_bug.cgi?id=9212
51067         dispatchEvent13.html crashes under GuardMalloc
51069         * dom/EventTargetNode.cpp:
51070         (WebCore::EventTargetNode::addEventListener):
51071         (WebCore::EventTargetNode::removeEventListener):        
51072         (WebCore::EventTargetNode::handleLocalEvents):
51073         
51074         (WebCore::EventTargetNode::removeHTMLEventListener):
51075         (WebCore::EventTargetNode::getHTMLEventListener):
51076         * dom/EventTargetNode.h:
51077         Make the list of registered event listeners refcount the listeners
51078         by using a value list of RefPtr objects.
51079         
51080         Set removed flag to true in removeEventListener
51081         Only invoke event listeners if they don't have the removed flag.
51082         
51083         * dom/dom2_eventsimpl.cpp:
51084         (WebCore::RegisteredEventListener::RegisteredEventListener):
51085         * dom/dom2_eventsimpl.h:
51086         Make RegisteredEventListener refcounted.
51087         
51088         (WebCore::RegisteredEventListener::removed):
51089         (WebCore::RegisteredEventListener::setRemoved):
51090         Add removed flag and getter and setter
51092 2006-06-01  Justin Garcia  <justin.garcia@apple.com>
51094         Reviewed by harrison
51095         
51096         <rdar://problem/4567752> When forwarding a message, pressing TAB key to place caret in body actually selects the entire message instead
51098         * dom/Element.cpp:
51099         (WebCore::Element::focus):
51101 2006-06-01  David Kilzer  <ddkilzer@kilzer.net>
51103         Reviewed by darin.
51105         http://bugs.webkit.org/show_bug.cgi?id=9144
51106         Test for Bug 8079 (REGRESSION: Redraw from page cache does not show visited links)
51108         * manual-tests/redraw-page-cache-visited-links.html: Added.
51109         * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added.
51111 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
51113         Reviewed by Hyatt.
51115         - fix http://bugs.webkit.org/show_bug.cgi?id=9124
51116           Drop shadow obscures "add more stuff" bubble at live.com
51118         Test: fast/css/find-next-layer.html
51120         * rendering/RenderObject.cpp:
51121         (WebCore::RenderObject::findNextLayer): Fixed a bug where this function could reach
51122         two levels down in the layer tree and return 0.
51124 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
51126         Reviewed by Geoff.
51128         - http://bugs.webkit.org/show_bug.cgi?id=9109
51129           Remove bogus assertion in RenderBlock::tabWidth
51131         Changed the uninitialized value of m_tabWidth to -1 and removed the
51132         assertion that it cannot be 0.
51134         * rendering/RenderBlock.cpp:
51135         (WebCore:::RenderBlock::RenderBlock):
51136         (WebCore::RenderBlock::setStyle):
51137         * rendering/bidi.cpp:
51138         (WebCore::RenderBlock::tabWidth):
51140 2006-05-31  Sam Weinig  <sam.weinig@gmail.com>
51142         Reviewed by Hyatt.
51144         - fix for http://bugs.webkit.org/show_bug.cgi?id=9100
51145           Absolutely positioned replaced elements with all non-auto
51146           values are rendered incorrectly
51148         * rendering/RenderBox.cpp:
51149         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Add support for case when all values are specified.
51150         (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto
51152 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
51154         Reviewed by Hyatt.
51156         - fix http://bugs.webkit.org/show_bug.cgi?id=9012
51157           Row height not updated when cell heights change
51159         Test: fast/table/row-height-recalc.html
51161         * rendering/RenderTableCell.cpp:
51162         (WebCore::RenderTableCell::setStyle): Mark the section as needing recalculation
51163         if the height property changed.
51164         * rendering/RenderTableRow.cpp:
51165         (WebCore::RenderTableRow::setStyle): Ditto.
51166         * rendering/RenderTableSection.cpp:
51167         (WebCore::RenderTableSection::recalcCells): Initialize the grid row height
51168         to the height of the row element (like addChild() does).
51170 2006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
51172         Reviewed by Hyatt.
51174         - fix for http://bugs.webkit.org/show_bug.cgi?id=8969
51175           REGRESSION: typing in textfield repaints whole web page at gamefaqs.com
51177         No test possible (no functionality change)
51179         * dom/Document.cpp:
51180         (WebCore::Document::updateLayout): Changed to ensure that pending subtree
51181         layouts are performed too.
51182         * page/Frame.cpp:
51183         (WebCore::Frame::forceLayout): Force a full layout.
51184         * page/FrameView.cpp:
51185         (WebCore::FrameViewPrivate::reset):
51186         (WebCore::FrameView::layout): Changed to relayout only the subtree rooted
51187         at d->layoutRoot if it's non-zero and allowSubtree is true.
51188         (WebCore::FrameView::scheduleRelayout): Change pending subtree relayout into
51189         normal relayout by clearing d->layoutRoot and propagating needsLayout to the
51190         root. 
51191         (WebCore::FrameView::scheduleRelayoutOfSubtree): Added.
51192         * page/FrameView.h:
51193         * rendering/RenderObject.cpp:
51194         (WebCore::RenderObject::markContainingBlocksForLayout): Added scheduleRelayout
51195         parameter. FrameView passes false to force marking all the way to the root
51196         when turning a pending subtree relayout into a full relayout. Otherwise,
51197         marking stops at the first textField (or at the root) and
51198         relayout of the last object reached is scheduled.
51199         (WebCore::RenderObject::scheduleRelayout):
51200         * rendering/RenderObject.h:
51202 2006-05-31  Sam Weinig  <sam.weinig@gmail.com>
51204         Reviewed by Darin.
51206         patch for <http://bugs.webkit.org/show_bug.cgi?id=8910>
51207         Bug 8910: Various code cleanups in RenderBox
51208         
51209         Clean up with some slight optimizations.
51211         * rendering/RenderBox.cpp:
51212         (WebCore::RenderBox::contentWidth):
51213         (WebCore::RenderBox::contentHeight):
51214         (WebCore::RenderBox::setPos):
51215         (WebCore::RenderBox::calcWidth):
51216         (WebCore::RenderBox::calcWidthUsing):
51217         * rendering/RenderBox.h:
51219 2006-05-31  Sam Weinig  <sam.weinig@gmail.com>
51221         Reviewed by Hyatt.
51223         patch for <http://bugs.webkit.org/show_bug.cgi?id=8899>
51224         Bug 8899: Removes some unneeded code from RenderBox
51225         
51226         Removes the use of WidthType where not needed to simplify
51227         the code a little.
51228         
51229         * rendering/RenderBox.cpp:
51230         (WebCore::RenderBox::calcWidthUsing):
51231         (WebCore::RenderBox::sizesToIntrinsicWidth):
51232         (WebCore::RenderBox::calcReplacedWidth):
51233         (WebCore::RenderBox::calcReplacedWidthUsing):
51234         (WebCore::RenderBox::calcReplacedHeight):
51235         (WebCore::RenderBox::calcReplacedHeightUsing):
51236         * rendering/RenderBox.h:
51237         (WebCore::):
51238         (WebCore::RenderBox::renderName):
51239         * rendering/RenderImage.cpp:
51240         (WebCore::RenderImage::calcReplacedWidth):
51241         (WebCore::RenderImage::calcReplacedHeight):
51243 2006-05-31  Rob Buis  <buis@kde.org>
51245         Reviewed by Geoff.
51247         Fix for http://bugs.webkit.org/show_bug.cgi?id=8455
51248         selectedIndex for a select after a Form reset() has wrong value
51250         Make sure the list items are reset properly by selecting
51251         the first option in case no options have the selected attribute
51252         set.
51254         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::reset):
51256 2006-05-31  Rob Buis  <buis@kde.org>
51258         Reviewed by Geoff.
51260         Fix for http://bugs.webkit.org/show_bug.cgi?id=8024
51261         "Go" button (search) doesn't work at fifa.com (document.all.FormName)
51263         Allow input elements with name attributes as possible named
51264         items for document.all.
51266         * html/HTMLCollection.cpp:
51267         (WebCore::HTMLCollection::checkForNameMatch):
51268         (WebCore::HTMLCollection::updateNameCache):
51270 2006-05-31  Dave Hyatt <hyatt@apple.com>
51272         Adding stubs for BMP/ICO/XBM image decoders.  They don't
51273         do anything yet though.
51275         * WebCore.vcproj/WebCore/WebCore.vcproj:
51276         * platform/cairo/ImageSourceCairo.cpp:
51277         (WebCore::createDecoder):
51278         * platform/image-decoders/bmp: Added.
51279         * platform/image-decoders/bmp/BMPImageDecoder.cpp: Added.
51280         (WebCore::BMPImageDecoder::isSizeAvailable):
51281         (WebCore::BMPImageDecoder::frameBufferAtIndex):
51282         * platform/image-decoders/bmp/BMPImageDecoder.h: Added.
51283         * platform/image-decoders/ico: Added.
51284         * platform/image-decoders/ico/ICOImageDecoder.cpp: Added.
51285         (WebCore::ICOImageDecoder::isSizeAvailable):
51286         (WebCore::ICOImageDecoder::frameBufferAtIndex):
51287         * platform/image-decoders/ico/ICOImageDecoder.h: Added.
51288         * platform/image-decoders/xbm: Added.
51289         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Added.
51290         (WebCore::XBMImageDecoder::isSizeAvailable):
51291         (WebCore::XBMImageDecoder::frameBufferAtIndex):
51292         * platform/image-decoders/xbm/XBMImageDecoder.h: Added.
51294 2006-05-31  David Hyatt  <hyatt@apple.com>
51296         Fix for the gmail tab-focus-stealing bug.
51298         Reviewed by darin
51300         * bindings/js/kjs_window.cpp:
51301         (KJS::WindowFunc::callAsFunction):
51302         * bridge/mac/BrowserExtensionMac.mm:
51303         (WebCore::BrowserExtensionMac::createNewWindow):
51304         * bridge/mac/FrameMac.h:
51305         * bridge/mac/FrameMac.mm:
51306         (WebCore::FrameMac::focusWindow):
51307         (WebCore::FrameMac::unfocusWindow):
51308         * bridge/mac/WebCoreFrameBridge.h:
51309         * page/Frame.h:
51310         * platform/Widget.h:
51311         * platform/mac/WidgetMac.mm:
51312         * platform/win/TemporaryLinkStubs.cpp:
51313         (FrameWin::focusWindow):
51314         * platform/win/WidgetWin.cpp:
51316 2006-05-31  Beth Dakin  <bdakin@apple.com>
51318         Reviewed by Hyatt.
51320         Fix for http://bugs.webkit.org/show_bug.cgi?id=6755 CSS3: 
51321         Borders rounded with border-radius don't draw the roundings
51323         This patch does not draw all of the different border styles 
51324         perfectly, so I have filed a few followup bugs that I will 
51325         reference from this Bugzilla.
51327         * platform/GraphicsContext.h:
51328         * platform/cairo/GraphicsContextCairo.cpp:
51329         (WebCore::GraphicsContext::drawArc): drawArc() has different 
51330         parameters now, but mostly this needs to be implemented to match 
51331         the Mac side later.
51332         (WebCore::GraphicsContext::addRoundedRectClip): Just a stub. 
51333         Implement this later.
51334         (WebCore::GraphicsContext::addInnerRoundedRectClip): Just a stub. 
51335         Implement this later.
51336         * platform/cg/GraphicsContextCG.cpp:
51337         (WebCore::GraphicsContext::drawArc): drawArc() now handles drawing 
51338         elliptical arcs as well as circular arcs, it also takes a thickness 
51339         parameter to draw an arc of a given thickness and draws with the 
51340         appropriate pen style.
51341         (WebCore::GraphicsContext::addInnerRoundedRectClip): Adds a clip to 
51342         the inside of an arc instead of to the outside which is already 
51343         done by addRoundedClipRect()
51344         * rendering/RenderObject.cpp:
51345         (WebCore::RenderObject::drawBorderArc): Draws the border arcs in 
51346         the appropriate styles.
51347         (WebCore::RenderObject::paintBorder): Calls drawBorderArc() when 
51348         border arcs are needed.
51349         * rendering/RenderObject.h:
51351 2006-05-30  Eric Seidel  <eric@webkit.org>
51353         Reviewed by andersca.
51355         Add first-cut SVG JS bindings autogeneration.
51356         SVGSVGElement and various other support classes are generated.
51357         Various small style fixes.
51358         http://bugs.webkit.org/show_bug.cgi?id=4249
51360         * DerivedSources.make:
51361         * WebCore+SVG/RGBColor.cpp: Removed.
51362         * WebCore+SVG/RGBColor.h: Removed.
51363         * WebCore.xcodeproj/project.pbxproj:
51364         * bindings/js/JSHTMLElementWrapperFactory.cpp:
51365         (WebCore::createJSHTMLWrapper): renamed from createJSWrapper
51366         * bindings/js/JSHTMLElementWrapperFactory.h:
51367         * bindings/js/kjs_dom.cpp:
51368         (KJS::DOMNode::DOMNode):
51369         (KJS::DOMNode::toBoolean):
51370         (KJS::DOMNode::getOwnPropertySlot):
51371         (KJS::DOMNode::getValueProperty):
51372         (KJS::DOMNode::put):
51373         (KJS::DOMNode::putValueProperty):
51374         (KJS::DOMNode::toPrimitive):
51375         (KJS::DOMNode::toString):
51376         (KJS::DOMNodeProtoFunc::callAsFunction):
51377         (KJS::toEventTargetNode):
51378         (KJS::DOMEventTargetNode::getOwnPropertySlot):
51379         (KJS::DOMEventTargetNode::getValueProperty):
51380         (KJS::DOMEventTargetNode::put):
51381         (KJS::DOMEventTargetNode::putValueProperty):
51382         (KJS::DOMEventTargetNode::setListener):
51383         (KJS::DOMEventTargetNode::getListener):
51384         (KJS::DOMEventTargetNode::pushEventHandlerScope):
51385         (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
51386         (KJS::DOMNodeList::toPrimitive):
51387         (KJS::DOMNodeList::getValueProperty):
51388         (KJS::DOMNodeList::indexGetter):
51389         (KJS::DOMNodeList::nameGetter):
51390         (KJS::DOMNodeList::getOwnPropertySlot):
51391         (KJS::DOMNodeList::callAsFunction):
51392         (KJS::DOMNodeListFunc::callAsFunction):
51393         (KJS::toElement):
51394         (KJS::toDocumentType):
51395         (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
51396         (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
51397         (KJS::DOMNamedNodeMap::lengthGetter):
51398         (KJS::DOMNamedNodeMap::indexGetter):
51399         (KJS::DOMNamedNodeMap::nameGetter):
51400         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
51401         (KJS::toJS):
51402         (KJS::checkNodeSecurity):
51403         (KJS::getRuntimeObject):
51404         (KJS::DOMExceptionConstructor::getOwnPropertySlot):
51405         (KJS::DOMExceptionConstructor::getValueProperty):
51406         (KJS::getDOMExceptionConstructor):
51407         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
51408         (KJS::DOMNamedNodesCollection::lengthGetter):
51409         (KJS::DOMNamedNodesCollection::indexGetter):
51410         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
51411         * bindings/scripts/CodeGenerator.pm:
51412         * bindings/scripts/CodeGeneratorJS.pm:
51413         * dom/Document.cpp:
51414         (WebCore::Document::implicitClose):
51415         * dom/Element.h:
51416         * dom/StyledElement.h:
51417         * ksvg2/bindings/idl/svg/SVGAngle.idl: Removed.
51418         * ksvg2/bindings/idl/svg/SVGAnimatedLength.idl: Removed.
51419         * ksvg2/bindings/idl/svg/SVGColor.idl: Removed.
51420         * ksvg2/bindings/idl/svg/SVGDocument.idl: Removed.
51421         * ksvg2/bindings/idl/svg/SVGElement.idl: Removed.
51422         * ksvg2/bindings/idl/svg/SVGLength.idl: Removed.
51423         * ksvg2/bindings/idl/svg/SVGMatrix.idl: Removed.
51424         * ksvg2/bindings/idl/svg/SVGNumber.idl: Removed.
51425         * ksvg2/bindings/idl/svg/SVGPoint.idl: Removed.
51426         * ksvg2/bindings/idl/svg/SVGRect.idl: Removed.
51427         * ksvg2/bindings/idl/svg/SVGSVGElement.idl: Removed.
51428         * ksvg2/bindings/idl/svg/SVGTransform.idl: Removed.
51429         * ksvg2/bindings/idl/svg/kdomdefs.idl: Removed.
51430         * ksvg2/bindings/js: Added.
51431         * ksvg2/bindings/js/JSSVGNumber.cpp: Added.
51432         (WebCore::):
51433         (WebCore::JSSVGNumber::~JSSVGNumber):
51434         (WebCore::JSSVGNumber::getOwnPropertySlot):
51435         (WebCore::JSSVGNumber::getValue):
51436         (WebCore::getJSSVGNumber):
51437         * ksvg2/bindings/js/JSSVGNumber.h: Added.
51438         (WebCore::JSSVGNumber::JSSVGNumber):
51439         (WebCore::JSSVGNumber::classInfo):
51440         * ksvg2/bindings/js/JSSVGPoint.cpp: Added.
51441         (WebCore::):
51442         (WebCore::JSSVGPoint::~JSSVGPoint):
51443         (WebCore::JSSVGPoint::getOwnPropertySlot):
51444         (WebCore::JSSVGPoint::getValueProperty):
51445         (WebCore::getJSSVGPoint):
51446         (WebCore::toFloatPoint):
51447         * ksvg2/bindings/js/JSSVGPoint.h: Added.
51448         (WebCore::JSSVGPoint::JSSVGPoint):
51449         (WebCore::JSSVGPoint::classInfo):
51450         (WebCore::JSSVGPoint::):
51451         (WebCore::JSSVGPoint::impl):
51452         * ksvg2/bindings/js/JSSVGRect.cpp: Added.
51453         (WebCore::):
51454         (WebCore::JSSVGRect::~JSSVGRect):
51455         (WebCore::JSSVGRect::getOwnPropertySlot):
51456         (WebCore::JSSVGRect::getValueProperty):
51457         (WebCore::getJSSVGRect):
51458         (WebCore::toFloatRect):
51459         * ksvg2/bindings/js/JSSVGRect.h: Added.
51460         (WebCore::JSSVGRect::JSSVGRect):
51461         (WebCore::JSSVGRect::classInfo):
51462         (WebCore::JSSVGRect::):
51463         (WebCore::JSSVGRect::impl):
51464         * ksvg2/css/SVGCSSParser.cpp:
51465         (WebCore::CSSParser::parseSVGValue):
51466         * ksvg2/css/SVGCSSStyleSelector.cpp:
51467         (WebCore::CSSStyleSelector::applySVGProperty):
51468         * ksvg2/events/SVGZoomEvent.cpp:
51469         (SVGZoomEvent::SVGZoomEvent):
51470         (SVGZoomEvent::zoomRectScreen):
51471         (SVGZoomEvent::previousTranslate):
51472         (SVGZoomEvent::newTranslate):
51473         * ksvg2/events/SVGZoomEvent.h:
51474         * ksvg2/ksvg.h:
51475         (WebCore::):
51476         * ksvg2/misc/SVGDocumentExtensions.cpp:
51477         (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
51478         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
51479         (WebCore::SVGDocumentExtensions::addTimeContainer):
51480         (WebCore::SVGDocumentExtensions::removeTimeContainer):
51481         (WebCore::SVGDocumentExtensions::startAnimations):
51482         (WebCore::SVGDocumentExtensions::pauseAnimations):
51483         (WebCore::SVGDocumentExtensions::unpauseAnimations):
51484         * ksvg2/misc/SVGDocumentExtensions.h:
51485         * ksvg2/svg/SVGAElement.h:
51486         * ksvg2/svg/SVGAngle.h:
51487         (WebCore::SVGAngle::):
51488         * ksvg2/svg/SVGAngle.idl: Added.
51489         * ksvg2/svg/SVGAnimateColorElement.cpp:
51490         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
51491         (WebCore::SVGAnimateColorElement::handleTimerEvent):
51492         (WebCore::SVGAnimateColorElement::clampColor):
51493         * ksvg2/svg/SVGAnimateColorElement.h:
51494         * ksvg2/svg/SVGAnimateElement.cpp:
51495         (SVGAnimateElement::SVGAnimateElement):
51496         (SVGAnimateElement::handleTimerEvent):
51497         * ksvg2/svg/SVGAnimateElement.h:
51498         * ksvg2/svg/SVGAnimateTransformElement.cpp:
51499         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
51500         (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
51501         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
51502         (WebCore::SVGAnimateTransformElement::parseTransformValue):
51503         (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
51504         (WebCore::SVGAnimateTransformElement::initialMatrix):
51505         * ksvg2/svg/SVGAnimateTransformElement.h:
51506         * ksvg2/svg/SVGAnimatedLength.idl: Added.
51507         * ksvg2/svg/SVGAnimationElement.cpp:
51508         (SVGAnimationElement::closeRenderer):
51509         * ksvg2/svg/SVGAnimationElement.h:
51510         * ksvg2/svg/SVGCircleElement.h:
51511         * ksvg2/svg/SVGClipPathElement.h:
51512         * ksvg2/svg/SVGColor.cpp:
51513         (WebCore::SVGColor::SVGColor):
51514         (WebCore::SVGColor::rgbColor):
51515         (WebCore::SVGColor::setRGBColor):
51516         (WebCore::SVGColor::setRGBColorICCColor):
51517         (WebCore::SVGColor::setColor):
51518         (WebCore::SVGColor::color):
51519         * ksvg2/svg/SVGColor.h:
51520         (WebCore::SVGColor::):
51521         (WebCore::SVGColor::setRGBColor):
51522         * ksvg2/svg/SVGColor.idl: Added.
51523         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
51524         * ksvg2/svg/SVGCursorElement.h:
51525         * ksvg2/svg/SVGDefsElement.h:
51526         * ksvg2/svg/SVGDescElement.h:
51527         * ksvg2/svg/SVGDocument.idl: Added.
51528         * ksvg2/svg/SVGElement.cpp:
51529         (WebCore::SVGElement::SVGElement):
51530         (WebCore::SVGElement::isSupported):
51531         (WebCore::SVGElement::id):
51532         (WebCore::SVGElement::setId):
51533         (WebCore::SVGElement::xmlbase):
51534         (WebCore::SVGElement::setXmlbase):
51535         (WebCore::SVGElement::ownerSVGElement):
51536         (WebCore::SVGElement::viewportElement):
51537         (WebCore::SVGElement::tryGetAttribute):
51538         (WebCore::SVGElement::tryGetAttributeNS):
51539         (WebCore::SVGElement::childShouldCreateRenderer):
51540         * ksvg2/svg/SVGElement.h:
51541         * ksvg2/svg/SVGElement.idl: Added.
51542         * ksvg2/svg/SVGEllipseElement.h:
51543         * ksvg2/svg/SVGEvent.idl: Added.
51544         * ksvg2/svg/SVGFEBlendElement.h:
51545         * ksvg2/svg/SVGFEColorMatrixElement.h:
51546         * ksvg2/svg/SVGFEComponentTransferElement.h:
51547         * ksvg2/svg/SVGFECompositeElement.h:
51548         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
51549         * ksvg2/svg/SVGFEDistantLightElement.h:
51550         * ksvg2/svg/SVGFEFloodElement.h:
51551         * ksvg2/svg/SVGFEFuncAElement.h:
51552         * ksvg2/svg/SVGFEFuncBElement.h:
51553         * ksvg2/svg/SVGFEFuncGElement.h:
51554         * ksvg2/svg/SVGFEFuncRElement.h:
51555         * ksvg2/svg/SVGFEGaussianBlurElement.h:
51556         * ksvg2/svg/SVGFEImageElement.h:
51557         * ksvg2/svg/SVGFELightElement.h:
51558         * ksvg2/svg/SVGFEMergeElement.h:
51559         * ksvg2/svg/SVGFEMergeNodeElement.h:
51560         * ksvg2/svg/SVGFEOffsetElement.h:
51561         * ksvg2/svg/SVGFEPointLightElement.h:
51562         * ksvg2/svg/SVGFESpecularLightingElement.h:
51563         * ksvg2/svg/SVGFESpotLightElement.h:
51564         * ksvg2/svg/SVGFETileElement.h:
51565         * ksvg2/svg/SVGFETurbulenceElement.h:
51566         * ksvg2/svg/SVGFilterElement.h:
51567         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
51568         * ksvg2/svg/SVGForeignObjectElement.h:
51569         * ksvg2/svg/SVGGElement.h:
51570         * ksvg2/svg/SVGGradientElement.h:
51571         * ksvg2/svg/SVGHelper.cpp:
51572         (WebCore::SVGHelper::PercentageOfViewport):
51573         (WebCore::SVGHelper::ParseSeperatedList):
51574         * ksvg2/svg/SVGImageElement.h:
51575         * ksvg2/svg/SVGLength.h:
51576         (WebCore::SVGLength::):
51577         * ksvg2/svg/SVGLength.idl: Added.
51578         * ksvg2/svg/SVGLineElement.h:
51579         * ksvg2/svg/SVGLinearGradientElement.h:
51580         * ksvg2/svg/SVGLocatable.cpp:
51581         (SVGLocatable::getBBox):
51582         * ksvg2/svg/SVGLocatable.h:
51583         * ksvg2/svg/SVGMarkerElement.h:
51584         * ksvg2/svg/SVGMaskElement.h:
51585         * ksvg2/svg/SVGMatrix.cpp:
51586         (SVGMatrix::inverse):
51587         (SVGMatrix::rotateFromVector):
51588         * ksvg2/svg/SVGMatrix.h:
51589         * ksvg2/svg/SVGMatrix.idl: Added.
51590         * ksvg2/svg/SVGNumber.idl: Added.
51591         * ksvg2/svg/SVGPathElement.cpp:
51592         (WebCore::SVGPathElement::getPointAtLength):
51593         * ksvg2/svg/SVGPathElement.h:
51594         * ksvg2/svg/SVGPatternElement.cpp:
51595         (WebCore::SVGPatternElement::x):
51596         (WebCore::SVGPatternElement::y):
51597         (WebCore::SVGPatternElement::width):
51598         (WebCore::SVGPatternElement::height):
51599         (WebCore::SVGPatternElement::pushAttributeContext):
51600         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
51601         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
51602         (WebCore::SVGPatternElement::notifyClientsToRepaint):
51603         (WebCore::SVGPatternElement::notifyAttributeChange):
51604         (WebCore::SVGPatternElement::canvasResource):
51605         (WebCore::SVGPatternElement::getCTM):
51606         * ksvg2/svg/SVGPatternElement.h:
51607         * ksvg2/svg/SVGPoint.idl: Added.
51608         * ksvg2/svg/SVGPolyElement.h:
51609         * ksvg2/svg/SVGPolygonElement.h:
51610         * ksvg2/svg/SVGPolylineElement.h:
51611         * ksvg2/svg/SVGRadialGradientElement.h:
51612         * ksvg2/svg/SVGRect.idl: Added.
51613         * ksvg2/svg/SVGRectElement.h:
51614         * ksvg2/svg/SVGSVGElement.cpp:
51615         (WebCore::SVGSVGElement::SVGSVGElement):
51616         (WebCore::SVGSVGElement::~SVGSVGElement):
51617         (WebCore::SVGSVGElement::viewport):
51618         (WebCore::SVGSVGElement::currentTranslate):
51619         (WebCore::SVGSVGElement::unsuspendRedraw):
51620         (WebCore::SVGSVGElement::getIntersectionList):
51621         (WebCore::SVGSVGElement::getEnclosureList):
51622         (WebCore::SVGSVGElement::checkIntersection):
51623         (WebCore::SVGSVGElement::checkEnclosure):
51624         (WebCore::SVGSVGElement::createSVGNumber):
51625         (WebCore::SVGSVGElement::createSVGPoint):
51626         (WebCore::SVGSVGElement::createSVGRect):
51627         (WebCore::SVGSVGElement::pauseAnimations):
51628         (WebCore::SVGSVGElement::unpauseAnimations):
51629         (WebCore::SVGSVGElement::animationsPaused):
51630         (WebCore::SVGSVGElement::getCurrentTime):
51631         (WebCore::SVGSVGElement::setCurrentTime):
51632         * ksvg2/svg/SVGSVGElement.h:
51633         (WebCore::SVGSVGElement::timeScheduler):
51634         * ksvg2/svg/SVGSVGElement.idl: Added.
51635         * ksvg2/svg/SVGScriptElement.h:
51636         * ksvg2/svg/SVGSetElement.cpp:
51637         (WebCore::SVGSetElement::SVGSetElement):
51638         (WebCore::SVGSetElement::handleTimerEvent):
51639         * ksvg2/svg/SVGSetElement.h:
51640         * ksvg2/svg/SVGStopElement.h:
51641         * ksvg2/svg/SVGStyleElement.h:
51642         * ksvg2/svg/SVGStyledElement.h:
51643         * ksvg2/svg/SVGStyledLocatableElement.cpp:
51644         (SVGStyledLocatableElement::getBBox):
51645         * ksvg2/svg/SVGStyledLocatableElement.h:
51646         * ksvg2/svg/SVGStyledTransformableElement.cpp:
51647         (SVGStyledTransformableElement::getBBox):
51648         * ksvg2/svg/SVGStyledTransformableElement.h:
51649         * ksvg2/svg/SVGSwitchElement.h:
51650         * ksvg2/svg/SVGSymbolElement.h:
51651         * ksvg2/svg/SVGTRefElement.h:
51652         * ksvg2/svg/SVGTSpanElement.h:
51653         * ksvg2/svg/SVGTextContentElement.cpp:
51654         (SVGTextContentElement::getStartPositionOfChar):
51655         (SVGTextContentElement::getEndPositionOfChar):
51656         (SVGTextContentElement::getExtentOfChar):
51657         (SVGTextContentElement::getCharNumAtPosition):
51658         (SVGTextContentElement::parseMappedAttribute):
51659         * ksvg2/svg/SVGTextContentElement.h:
51660         * ksvg2/svg/SVGTextElement.cpp:
51661         (WebCore::SVGTextElement::getBBox):
51662         * ksvg2/svg/SVGTextElement.h:
51663         * ksvg2/svg/SVGTextPositioningElement.h:
51664         * ksvg2/svg/SVGTitleElement.h:
51665         * ksvg2/svg/SVGTransform.h:
51666         (WebCore::SVGTransform::):
51667         * ksvg2/svg/SVGTransform.idl: Added.
51668         * ksvg2/svg/SVGUseElement.h:
51669         * ksvg2/svg/SVGViewElement.h:
51670         * page/Frame.cpp:
51671         (WebCore::Frame::Frame):
51672         (WebCore::Frame::pauseTimeouts):
51673         (WebCore::Frame::resumeTimeouts):
51674         * platform/Color.h:
51675         * rendering/RenderBR.h:
51676         * rendering/RenderBox.h:
51677         (WebCore::RenderBox::renderName):
51678         * rendering/RenderCanvas.h:
51679         (WebCore::RenderCanvas::view):
51680         * rendering/RenderContainer.h:
51681         * rendering/RenderFlexibleBox.h:
51682         * rendering/RenderFlow.h:
51683         (WebCore::RenderFlow::RenderFlow):
51684         * rendering/RenderInline.h:
51685         * rendering/RenderTableSection.h:
51686         * rendering/RenderTextFragment.h:
51687         (WebCore::RenderTextFragment::contentString):
51688         * xml/xmlattrs.in: Added.
51690 2006-05-30  Geoffrey Garen  <ggaren@apple.com>
51692         Reviewed by Maciej.
51694         - Fixed <rdar://problem/4559720> window sizing: make javascript window 
51695         and screen sizing methods and properties work @ HIDPI
51696         
51697         The general approach here is to change some ints to floats, make 
51698         a few key functions that scale between WebView and window/screen 
51699         coordinates, and change other functions that work with screen 
51700         coordinates to use the scaling functions for their underlying 
51701         implementations.
51703         * manual-tests/window-open-features.html: Removed.
51704         * manual-tests/window-sizing.html: Added. More test coverage.
51706         * bindings/js/kjs_window.cpp: Changed ints to floats and IntRects to
51707         FloatRects, because window coordinates can be fractional when scaled 
51708         to WebView/DOM coordinates.
51709         (KJS::floatFeature):
51710         (KJS::showModalDialog):
51711         (KJS::Window::getValueProperty):
51712         (KJS::constrainToVisible):
51713         (KJS::WindowFunc::callAsFunction):
51714         * bridge/BrowserExtension.h:
51715         * bridge/mac/BrowserExtensionMac.mm:
51716         (WebCore::BrowserExtensionMac::createNewWindow): Removed custom scaling
51717         code and replaced with calls to Page::windowRect and 
51718         Page::setWindowRect. Renamed 'page' and 'bridge' to 'pageBridge' and
51719         'frameBridge,' respectively.
51720         * bridge/mac/PageMac.mm:
51721         (WebCore::Page::windowRect): Changed to use scaling
51722         (WebCore::Page::setWindowRect): ditto
51723         * bridge/mac/WebCoreFrameBridge.mm:
51724         (globalPoint):
51725         * page/Page.h:
51726         * platform/IntRect.h:
51727         * platform/Screen.h:
51728         * platform/mac/MouseEventMac.mm:
51729         (WebCore::globalPositionForEvent): Changed to use flipScreenPoint
51730         * platform/mac/ScreenMac.mm:
51731         (WebCore::flipScreenRect): New key function
51732         (WebCore::flipScreenPoint): New key function
51733         (WebCore::scaleScreenRectToView): New key function
51734         (WebCore::scaleViewRectToScreen): New key function
51735         (WebCore::screenRect): Changed to use scaling
51736         (WebCore::usableScreenRect): ditto
51738         Feeble attempt to preserve Windows build:
51739         
51740         * platform/win/ScreenWin.cpp:
51741         (WebCore::scaleScreenRectToWidget): stub -- doesn't actually scale
51742         (WebCore::scaleWidgetRectToScreen): ditto
51743         * bridge/win/PageWin.cpp:
51744         (WebCore::Page::Page):
51745         (WebCore::Page::widget):
51747 2006-05-30  David Hyatt  <hyatt@apple.com>
51749         Rename RenderCanvas to RenderView. Rename canvas(), isCanvas()
51750         to view(), isView().  Rename the frame view accessor on the old canvas
51751         from view() to frameView() (to avoid view()->view(), since that just looks
51752         stupid). :)
51754         Reviewed by andersca
51756         * WebCore.vcproj/WebCore/WebCore.vcproj:
51757         * WebCore.xcodeproj/project.pbxproj:
51758         * bindings/js/kjs_dom.cpp:
51759         * bindings/js/kjs_window.cpp:
51760         * bridge/mac/FrameMac.mm:
51761         * bridge/mac/WebCoreFrameBridge.mm:
51762         (-[WebCoreFrameBridge _setupRootForPrinting:]):
51763         (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
51764         (-[WebCoreFrameBridge selectionColor]):
51765         (-[WebCoreFrameBridge accessibilityTree]):
51766         * dom/Document.cpp:
51767         (WebCore::Document::attach):
51768         (WebCore::Document::updateSelection):
51769         (WebCore::Document::prepareMouseEvent):
51770         * editing/SelectionController.cpp:
51771         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
51772         * ksvg2/svg/SVGClipPathElement.cpp:
51773         (SVGClipPathElement::canvasResource):
51774         * ksvg2/svg/SVGFEFloodElement.cpp:
51775         (SVGFEFloodElement::filterEffect):
51776         * ksvg2/svg/SVGGradientElement.cpp:
51777         (SVGGradientElement::rebuildStops):
51778         * ksvg2/svg/SVGHelper.cpp:
51779         (SVGHelper::PercentageOfViewport):
51780         * ksvg2/svg/SVGPathElement.cpp:
51781         (WebCore::SVGPathElement::getPointAtLength):
51782         * ksvg2/svg/SVGSVGElement.cpp:
51783         (WebCore::SVGSVGElement::currentTranslate):
51784         * ksvg2/svg/SVGStyledElement.cpp:
51785         (WebCore::SVGStyledElement::view):
51786         (WebCore::SVGStyledElement::pushAttributeContext):
51787         * ksvg2/svg/SVGStyledElement.h:
51788         * kwq/WebCoreAXObject.mm:
51789         (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
51790         (-[WebCoreAXObject role]):
51791         (-[WebCoreAXObject value]):
51792         (-[WebCoreAXObject position]):
51793         (-[WebCoreAXObject accessibilityIsIgnored]):
51794         (-[WebCoreAXObject accessibilityAttributeNames]):
51795         (-[WebCoreAXObject topView]):
51796         (-[WebCoreAXObject accessibilityAttributeValue:]):
51797         * page/Frame.cpp:
51798         (WebCore::Frame::selectionRect):
51799         (WebCore::Frame::paint):
51800         (WebCore::Frame::adjustPageHeight):
51801         (WebCore::Frame::forceLayoutWithPageWidthRange):
51802         * page/FrameView.cpp:
51803         (WebCore::FrameView::adjustViewSize):
51804         (WebCore::FrameView::layout):
51805         * page/FrameView.h:
51806         * rendering/AutoTableLayout.cpp:
51807         (WebCore::shouldScaleColumns):
51808         * rendering/RenderBlock.cpp:
51809         (WebCore::RenderBlock::MarginInfo::MarginInfo):
51810         (WebCore::RenderBlock::isSelfCollapsingBlock):
51811         (WebCore::RenderBlock::layoutBlock):
51812         (WebCore::RenderBlock::paintChildren):
51813         (WebCore::RenderBlock::setSelectionState):
51814         (WebCore::RenderBlock::isSelectionRoot):
51815         (WebCore::RenderBlock::fillInlineSelectionGaps):
51816         (WebCore::RenderBlock::lowestPosition):
51817         (WebCore::RenderBlock::rightmostPosition):
51818         (WebCore::RenderBlock::leftmostPosition):
51819         (WebCore::RenderBlock::clearFloats):
51820         (WebCore::RenderBlock::nodeAtPoint):
51821         (WebCore::RenderBlock::calcBlocminMaxWidth):
51822         (WebCore::RenderBlock::inRootBlockContext):
51823         * rendering/RenderBox.cpp:
51824         (WebCore::RenderBox::setStyle):
51825         (WebCore::RenderBox::paintRootBoxDecorations):
51826         (WebCore::RenderBox::paintBackgroundExtended):
51827         (WebCore::RenderBox::calcHeight):
51828         (WebCore::RenderBox::calcPercentageHeight):
51829         (WebCore::RenderBox::availableHeightUsing):
51830         * rendering/RenderCanvas.cpp: Removed.
51831         * rendering/RenderCanvas.h: Removed.
51832         * rendering/RenderContainer.cpp:
51833         (WebCore::RenderContainer::removeChildNode):
51834         * rendering/RenderFileButton.cpp:
51835         (WebCore::RenderFileButton::RenderFileButton):
51836         * rendering/RenderFlow.cpp:
51837         (WebCore::RenderFlow::destroy):
51838         (WebCore::RenderFlow::paintLines):
51839         * rendering/RenderFrameSet.cpp:
51840         (WebCore::RenderFrameSet::layout):
51841         (WebCore::RenderFrameSet::userResize):
51842         (WebCore::RenderFrameSet::setResizing):
51843         * rendering/RenderImage.cpp:
51844         (WebCore::RenderImage::paint):
51845         * rendering/RenderLayer.cpp:
51846         (WebCore::RenderLayer::updateLayerPositions):
51847         (WebCore::RenderLayer::updateLayerPosition):
51848         (WebCore::RenderLayer::stackingContext):
51849         (WebCore::RenderLayer::enclosingPositionedAncestor):
51850         (WebCore::RenderLayer::convertToLayerCoords):
51851         (WebCore::RenderLayer::scrollToOffset):
51852         (WebCore::isSubframeCanvas):
51853         (WebCore::RenderLayer::intersectsDamageRect):
51854         * rendering/RenderLayer.h:
51855         (WebCore::RenderLayer::isStackingContext):
51856         * rendering/RenderListMarker.cpp:
51857         (WebCore::RenderListMarker::paint):
51858         * rendering/RenderObject.cpp:
51859         (WebCore::RenderObject::scroll):
51860         (WebCore::RenderObject::containingBlock):
51861         (WebCore::RenderObject::repaint):
51862         (WebCore::RenderObject::repaintRectangle):
51863         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
51864         (WebCore::RenderObject::draggableNode):
51865         (WebCore::RenderObject::selectionStartEnd):
51866         (WebCore::RenderObject::setStyle):
51867         (WebCore::RenderObject::viewRect):
51868         (WebCore::RenderObject::view):
51869         (WebCore::RenderObject::container):
51870         (WebCore::RenderObject::removeFromObjectLists):
51871         (WebCore::RenderObject::scheduleRelayout):
51872         (WebCore::RenderObject::imageChanged):
51873         (WebCore::RenderObject::maximalOutlineSize):
51874         * rendering/RenderObject.h:
51875         (WebCore::RenderObject::isRenderView):
51876         * rendering/RenderTextArea.cpp:
51877         (WebCore::RenderTextArea::RenderTextArea):
51878         * rendering/RenderThemeMac.mm:
51879         (WebCore::RenderThemeMac::paintCheckbox):
51880         (WebCore::RenderThemeMac::paintRadio):
51881         (WebCore::RenderThemeMac::paintButton):
51882         * rendering/RenderTreeAsText.cpp:
51883         (externalRepresentation):
51884         * rendering/RenderView.cpp: Added.
51885         (WebCore::RenderView::RenderView):
51886         (WebCore::RenderView::~RenderView):
51887         (WebCore::RenderView::calcHeight):
51888         (WebCore::RenderView::calcWidth):
51889         (WebCore::RenderView::calcMinMaxWidth):
51890         (WebCore::RenderView::layout):
51891         (WebCore::RenderView::absolutePosition):
51892         (WebCore::RenderView::paint):
51893         (WebCore::RenderView::paintBoxDecorations):
51894         (WebCore::RenderView::repaintViewRectangle):
51895         (WebCore::RenderView::getAbsoluteRepaintRect):
51896         (WebCore::RenderView::computeAbsoluteRepaintRect):
51897         (WebCore::RenderView::absoluteRects):
51898         (WebCore::RenderView::selectionRect):
51899         (WebCore::RenderView::setSelection):
51900         (WebCore::RenderView::clearSelection):
51901         (WebCore::RenderView::selectionStartEnd):
51902         (WebCore::RenderView::updateWidgetPositions):
51903         (WebCore::RenderView::addWidget):
51904         (WebCore::RenderView::removeWidget):
51905         (WebCore::RenderView::viewRect):
51906         (WebCore::RenderView::docHeight):
51907         (WebCore::RenderView::docWidth):
51908         (WebCore::RenderView::setBestTruncatedAt):
51909         * rendering/RenderView.h: Added.
51910         (WebCore::RenderView::renderName):
51911         (WebCore::RenderView::isRenderView):
51912         (WebCore::RenderView::frameView):
51913         * rendering/RenderWidget.cpp:
51914         (WebCore::RenderWidget::RenderWidget):
51915         (WebCore::RenderWidget::destroy):
51916         (WebCore::RenderWidget::updateWidgetPosition):
51917         * rendering/RenderWidget.h:
51918         (WebCore::RenderWidget::widget):
51919         * rendering/bidi.cpp:
51920         (WebCore::RenderBlock::layoutInlineChildren):
51922 2006-05-30  Tim Omernick  <timo@apple.com>
51924         Reviewed by Geoff.
51926         <rdar://problem/4567776> REGRESSION: window.open() links do not work at www.newarchery.com
51928         * bindings/js/kjs_window.cpp:
51929         (KJS::WindowFunc::callAsFunction):
51930         Set the URL in the ResourceRequest; otherwise, it'll be uninitialized and createNewWindow() will
51931         not be able to load the URL into a pre-existing frame.
51933 2006-05-30  Sam Weinig  <sam.weinig@gmail.com>
51935         Reviewed by Maciej, landed by Beth.
51937         - fix for http://bugs.webkit.org/show_bug.cgi?id=9137
51938           Children with percentage heights of absolutely positioned element 
51939           with height: auto and top and bottom non-auto does not lay out 
51940           correctly
51942         Adds special case.
51944         * rendering/RenderBox.cpp:
51945         (WebCore::RenderBox::calcPercentageHeight):
51946         (WebCore::RenderBox::calcReplacedHeightUsing):
51948 2006-05-30  Sam Weinig  <sam.weinig@gmail.com>
51950         Reviewed by Hyatt, landed by Beth.
51952         - Fix for http://bugs.webkit.org/show_bug.cgi?id=9085
51953           Absolutely positioned objects with 'height': auto and 'top': and
51954           'bottom': non-auto should not be content based
51956         * rendering/RenderBox.cpp:
51957         (WebCore::RenderBox::calcAbsoluteVertical):
51958         (WebCore::RenderBox::calcAbsoluteVerticalValues):
51959         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
51960         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
51962 2006-05-30  Eric Seidel  <eric@webkit.org>
51964         Reviewed by andersca.
51966         Small amount of svg-related code cleanup.
51967         No test case possible.
51969         * ksvg2/svg/SVGColor.h:
51970         * ksvg2/svg/SVGLength.cpp:
51971         (SVGLength::SVGLength):
51972         (SVGLength::value):
51973         * ksvg2/svg/SVGMarkerElement.cpp:
51974         * ksvg2/svg/SVGMatrix.cpp:
51975         (SVGMatrix::SVGMatrix):
51976         (SVGMatrix::copy):
51977         (SVGMatrix::postMultiply):
51978         (SVGMatrix::inverse):
51979         (SVGMatrix::postTranslate):
51980         (SVGMatrix::postScale):
51981         (SVGMatrix::postScaleNonUniform):
51982         (SVGMatrix::postRotate):
51983         (SVGMatrix::postRotateFromVector):
51984         (SVGMatrix::postFlipX):
51985         (SVGMatrix::postFlipY):
51986         (SVGMatrix::postSkewX):
51987         (SVGMatrix::postSkewY):
51988         (SVGMatrix::multiply):
51989         (SVGMatrix::translate):
51990         (SVGMatrix::scale):
51991         (SVGMatrix::scaleNonUniform):
51992         (SVGMatrix::rotate):
51993         (SVGMatrix::rotateFromVector):
51994         (SVGMatrix::flipX):
51995         (SVGMatrix::flipY):
51996         (SVGMatrix::skewX):
51997         (SVGMatrix::skewY):
51998         (SVGMatrix::setMatrix):
51999         (SVGMatrix::qmatrix):
52000         (SVGMatrix::removeScale):
52001         * ksvg2/svg/SVGMatrix.h:
52003 2006-05-30  Eric Seidel  <eric@webkit.org>
52005         Reviewed by andersca.
52007         Small amount of bindings-related code cleanup.
52008         No test case possible.
52010         * bindings/js/JSHTMLFormElementCustom.cpp:
52011         (WebCore::JSHTMLFormElement::nameGetter):
52012         * bindings/js/JSXMLSerializer.cpp:
52013         (WebCore::JSXMLSerializerConstructorImp::JSXMLSerializerConstructorImp):
52014         (WebCore::JSXMLSerializerConstructorImp::implementsConstruct):
52015         (WebCore::JSXMLSerializerConstructorImp::construct):
52016         (WebCore::):
52017         (WebCore::JSXMLSerializer::JSXMLSerializer):
52018         (WebCore::JSXMLSerializerProtoFunc::callAsFunction):
52019         * bindings/js/JSXMLSerializer.h:
52020         (WebCore::JSXMLSerializer::toBoolean):
52021         (WebCore::JSXMLSerializer::classInfo):
52022         (WebCore::JSXMLSerializer::):
52023         * bindings/js/kjs_window.cpp:
52024         (KJS::Window::getValueProperty):
52026 2006-05-27  Anders Carlsson  <acarlsson@apple.com>
52028         * bindings/js/JSHTMLElementWrapperFactory.cpp:
52029         Correct include file names.
52031 2006-05-26  Justin Garcia  <justin.garcia@apple.com>
52033         Reviewed by levi
52034         
52035         <rdar://problem/4564296> Mail crashes on Leopard9A184 when I attempt to compose a new message
52037         * dom/Position.cpp:
52038         (WebCore::Position::inRenderedContent):
52039         Removed a candidate at [html, 0].
52040         * editing/CreateLinkCommand.cpp:
52041         (WebCore::CreateLinkCommand::doApply): Added early return when there is no selection.
52042         * editing/InsertLineBreakCommand.cpp:
52043         (WebCore::InsertLineBreakCommand::doApply): Ditto.
52044         * editing/InsertTextCommand.cpp:
52045         (WebCore::InsertTextCommand::input): Ditto.
52046         * editing/Selection.cpp:
52047         (WebCore::Selection::validate): If visible positions can't be created from the endpoints, 
52048         then create a null selection.  Not doing this was making editing code think there was
52049         a valid, editable selection even though there wasn't.
52050         * editing/UnlinkCommand.cpp:
52051         (WebCore::UnlinkCommand::doApply): Early return.
52052         * editing/VisiblePosition.cpp:
52053         (WebCore::VisiblePosition::initDeepPosition): Special case the html/body element boundary.
52054         It looks like a non-editable/editable boundary since rootEditableElement stops at the body
52055         even if the html element is editable.
52057 2006-05-26  Adele Peterson  <adele@apple.com>
52059         Reviewed by Justin.
52061         Fixes a mistake in my last checkin.  Uses maxDeepOffset to get the end position for
52062         the textarea's inner div.
52064         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::textWithHardLineBreaks):
52066 2006-05-26  Adele Peterson  <adele@apple.com>
52068         Reviewed by Hyatt.
52070         Added support for wrap=hard for new textarea implementation.
52072         Tests: fast/forms/textarea-appearance-wrap.html
52074         * dom/Range.h: Added version of toString that will convert BRs to newlines.
52075         * dom/Range.cpp: (WebCore::Range::toString):
52076         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): 
52077           When in plain-text mode, and a white-space mode that doesn't collapse whitespace, create a fragment with one text node.
52078         * editing/visible_units.cpp:
52079         (WebCore::previousLinePosition): Subtract scroll offset so the absolute position for the containing block is correct.
52080         (WebCore::nextLinePosition): ditto.
52081         * rendering/RenderText.cpp:
52082         (WebCore::RenderText::positionForCoordinates): If the position is equal to the left edge of the box,
52083         make the affinity downstream so the position doesn't jump back to the previous line.
52084         (WebCore::RenderText::atLineWrap): The logic was reversed here in a recent change.
52085         If the box is not at a line break, then its at a line wrap.
52086         (WebCore::RenderText::caretRect): Only go to the next text box if its at a line wrap and the
52087          affinity is also downstream.  If its upstream, then the correct box is on the current line.
52088         (WebCore::RenderText::inlineBox): ditto.
52089         * rendering/RenderTextField.cpp:
52090         (WebCore::RenderTextField::updateFromElement): multi line controls don't need to check
52091          valueMatchesRenderer before updating the renderer.  For textareas, the renderer should always try to update.
52092          This matches our old textarea behavior.
52093         (WebCore::RenderTextField::text): Pass true to textContent so it converts BRs to newlines.
52094         (WebCore::RenderTextField::textWithHardLineBreaks): Iterate through the RootLineBoxes to find the soft wraps and replace them with newlines.
52096 2006-05-26  Anders Carlsson  <acarlsson@apple.com>
52098         Reviewed by Geoff.
52100         http://bugs.webkit.org/show_bug.cgi?id=9127
52101         Invoke capturing event listeners when AT_TARGET
52102         
52103         * dom/EventTargetNode.cpp:
52104         (WebCore::EventTargetNode::handleLocalEvents):    
52105         Invoke capturing event listeners for the AT_TARGET phase. This violates the
52106         DOM spec but it's what Mozilla does.
52107         
52108 2006-05-26  David Harrison  <harrison@apple.com>
52110         Reviewed by John Sullivan.
52112         <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
52113         
52114         * WebCore.vcproj/WebCore/WebCore.vcproj:
52115         * WebCore.xcodeproj/project.pbxproj:
52116         - Renamed ModifySelectionListLevelCommand .cpp and .h to ModifySelectionListLevel .cpp and .h
52117         
52118         * bridge/mac/WebCoreFrameBridge.h:
52119         * bridge/mac/WebCoreFrameBridge.mm:
52120         (-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
52121         (-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
52122         (-[WebCoreFrameBridge increaseSelectionListLevel]):
52123         (-[WebCoreFrameBridge decreaseSelectionListLevel]):
52124         - Call functions in IncreaseSelectionListLevelCommand or DecreaseSelectionListLevelCommand instead
52125         of ModifySelectionListLevelCommand.
52126         
52127         (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
52128         (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
52129         - Added.
52130         
52131         * editing/ModifySelectionListLevel.cpp: Added.
52132         - Renamed from ModifySelectionListLevelCommand.cpp
52133         - Made ModifySelectionListLevelCommand class into a useful base class for new
52134         classes IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand.
52135         
52136         (WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand):
52137         (WebCore::getStartEndListChildren):
52138         (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore):
52139         (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange):
52140         - ModifySelectionListLevelCommand is base class for IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand
52141         
52142         (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
52143         (WebCore::IncreaseSelectionListLevelCommand::listElement):
52144         (WebCore::canIncreaseListLevel):
52145         (WebCore::IncreaseSelectionListLevelCommand::doApply):
52146         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
52147         (WebCore::increaseSelectionListLevelWithType):
52148         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
52149         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered):
52150         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered):
52151         - Now a subclass of ModifySelectionListLevelCommand
52152         - Added Ordered and Unordered increaser functions
52153         - Increaser functions return the list element that the items were moved into
52154         
52155         (WebCore::DecreaseSelectionListLevelCommand::DecreaseSelectionListLevelCommand):
52156         (WebCore::canDecreaseListLevel):
52157         (WebCore::DecreaseSelectionListLevelCommand::doApply):
52158         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
52159         (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel):
52160         - No functional changes other than to become a subclass of ModifySelectionListLevelCommand
52162         * editing/ModifySelectionListLevel.h: Added.
52163         (WebCore::):
52164          - Renamed from ModifySelectionListLevelCommand.cpp
52165        
52166         * editing/ModifySelectionListLevelCommand.cpp: Removed.
52167         - Renamed to ModifySelectionListLevel.cpp
52168         
52169         * editing/ModifySelectionListLevelCommand.h: Removed.
52170         - Renamed to ModifySelectionListLevel.h
52172         * editing/htmlediting.cpp:
52173         (WebCore::createOrderedListElement):
52174         (WebCore::createUnorderedListElement):
52175         * editing/htmlediting.h:
52177 2006-05-26  Steve Falkenburg  <sfalken@apple.com>
52179         Reviewed by adele.
52181         Build fixes/tweaks
52183         * WebCore.vcproj/WebCore/WebCore.vcproj:
52184         * config.h:
52185         * ksvg2/scripts/make_names.pl:
52187 2006-05-26  Steve Falkenburg  <sfalken@apple.com>
52189         Reviewed by adele.
52191         Fix build
52193         * WebCore.vcproj/WebCore/WebCore.vcproj:
52194         * config.h:
52196 2006-05-25  Dave Hyatt <hyatt@apple.com>
52198         Change default font size for fixed pitch to 13 to match Safari
52199         on Mac (and every other browser on the planet too).
52201         Reviewed by adele
52203         * bridge/win/FrameWin.cpp:
52204         (WebCore::FrameWin::FrameWin):
52205         * platform/win/FontCacheWin.cpp:
52206         (WebCore::FontCache::getFontLinkInterface):
52208 2006-05-25  Alice Liu  <alice.liu@apple.com>
52210         Reviewed by Adele.
52212         * bindings/js/kjs_html.cpp:
52213         added bindings
52214         (KJS::HTMLElementFunction::callAsFunction):
52215         added case to handle namedItem for select elements
52216         * bindings/js/kjs_html.h:
52217         added enum value for bindings
52218         (KJS::JSHTMLElement::):
52219         * html/HTMLSelectElement.cpp:
52220         (WebCore::HTMLSelectElement::namedItem):
52221         implemented namedItem method
52222         * html/HTMLSelectElement.h:
52223         added prototype for namedItem method
52225 2006-05-25  Dave Hyatt <hyatt@apple.com>
52227         Make soft hyphens work on Win32 by special casing them
52228         along with normal hyphens.
52230         Reviewed by mjs
52232         * rendering/break_lines.cpp:
52233         (WebCore::nextBreakablePosition):
52235 2006-05-25  Dave Hyatt <hyatt@apple.com>
52237         Implement the fallback method containsCharacters for
52238         checking if a font has the necessary glyphs to be
52239         selected as a fallback choide.
52241         * platform/win/FontDataWin.cpp:
52242         (WebCore::FontData::containsCharacters):
52244 2006-05-25  Dave Hyatt <hyatt@apple.com>
52246         For now eliminate the logical scale factor from Cairo.
52247         This enables bitmap fonts like MS Sans Serif to work on
52248         Win32.
52250         * platform/cairo/cairo/src/cairo-win32-font.c:
52251         (cairo_win32_scaled_font_select_font):
52252         * platform/cairo/cairo/src/cairo-win32-private.h:
52253         * platform/cairo/font-bug-patch.txt: Removed.
52254         * platform/cairo/scale-removal.txt: Added.
52255         * platform/win/FontCacheWin.cpp:
52256         (WebCore::FontCache::createFontPlatformData):
52257         * platform/win/FontDataWin.cpp:
52258         (WebCore::FontData::smallCapsFontData):
52259         (WebCore::FontData::platformWidthForGlyph):
52260         * platform/win/FontPlatformData.h:
52261         * platform/win/GlyphMapWin.cpp:
52262         (WebCore::GlyphMap::fillPage):
52264 2006-05-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
52266         Reviewed by hyatt.  Landed by eseidel.
52268         - fix http://bugs.webkit.org/show_bug.cgi?id=8848
52269           TFOOT borders are copied to THEAD and TBODY
52271         Test: fast/table/border-collapsing/border-collapsing-head-foot.html
52273         * rendering/RenderTable.cpp:
52274         (WebCore::RenderTable::sectionAbove): Added.
52275         (WebCore::RenderTable::sectionBelow): Added.
52276         (WebCore::RenderTable::cellAbove): Changed to call sectionAbove.
52277         (WebCore::RenderTable::cellBelow): Changed to call sectionBelow.
52278         * rendering/RenderTable.h:
52279         * rendering/RenderTableCell.cpp:
52280         (WebCore::RenderTableCell::collapsedTopBorder): Changed to call sectionAbove.
52281         (WebCore::RenderTableCell::collapsedBottomBorder): Changed to call sectionBelow.
52283 2006-05-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
52285         Reviewed by hyatt.  Landed by eseidel.
52287         - fix http://bugs.webkit.org/show_bug.cgi?id=3297
52288           height property is not honored on table rows
52290         * rendering/RenderTableSection.cpp:
52291         (WebCore::RenderTableSection::addChild): Assign the row renderer to the
52292         grid row.
52293         (WebCore::RenderTableSection::calcRowHeight): Fix off-by-one index bug
52294         and add vertical spacing only for grid rows that have a renderer.
52295         (WebCore::RenderTableSection::recalcCells): Assign row renderers to
52296         grid rows.
52298 2006-05-25  Rob Buis  <buis@kde.org>
52300         Reviewed by darin.  Landed by eseidel.
52302         Fix for http://bugs.webkit.org/show_bug.cgi?id=5978
52303         WebKIt+SVG should use SVGDocumentImpl for image/svg+xml
52305         Make sure SVGDocument is created for standalone svg
52306         documents.
52308         * ksvg2/svg/SVGDOMImplementation.cpp:
52309         (SVGDOMImplementation::instance):
52310         (SVGDOMImplementation::createDocument):
52311         * ksvg2/svg/SVGDOMImplementation.h:
52312         * ksvg2/svg/SVGDocument.cpp:
52313         (WebCore::SVGDocument::SVGDocument):
52314         (WebCore::SVGDocument::~SVGDocument):
52315         * ksvg2/svg/SVGDocument.h:
52316         * ksvg2/svg/SVGTests.cpp:
52317         (WebCore::SVGTests::isValid):
52318         * ksvg2/svg/SVGTitleElement.cpp:
52319         * ksvg2/svg/SVGTitleElement.h:
52320         * page/Frame.cpp:
52321         (WebCore::Frame::begin):
52323 2006-05-25  Rob Buis  <buis@kde.org>
52325         Reviewed by darin.  Landed by eseidel.
52327         http://bugs.webkit.org/show_bug.cgi?id=5889
52328         HTMLNames.* should be generated using make_names.pl
52330         Use a patched make_names.pl to autogenerate HTMLNames.*
52332         * DerivedSources.make:
52333         * WebCore.xcodeproj/project.pbxproj:
52334         * html/HTMLNames.cpp: Removed.
52335         * html/HTMLNames.h: Removed.
52336         * html/HTMLTagNames.in: Added.
52337         * html/HTMLAttributeNames.in: Added.
52338         * ksvg2/scripts/make_names.pl:
52340 2006-05-25  Eric Seidel  <eric@webkit.org>
52342         Reviewed by andersca.
52344         Add "HasIndexGetter" support to bindings autogen system.
52345         http://bugs.webkit.org/show_bug.cgi?id=9057
52347         * DerivedSources.make:
52348         * WebCore.xcodeproj/project.pbxproj:
52349         * bindings/js/JSHTMLInputElementBase.cpp:
52350         * bindings/js/kjs_css.cpp:
52351         (KJS::toJS):
52352         * bindings/js/kjs_css.h:
52353         * bindings/js/kjs_dom.cpp:
52354         (KJS::DOMNamedNodeMap::getOwnPropertySlot):
52355         * bindings/scripts/CodeGeneratorJS.pm:
52356         * css/CSSValueList.idl: Added.
52358 2006-05-24  David Hyatt  <hyatt@apple.com>
52360         Implement font aliasing of family names for Courier/Courier New,
52361         Arial/Helvetica, and Times/Times New Roman.  This behavior matches
52362         WinIE and Firefox.
52364         Reviewed by maciej
52366         Test cases not really possible, since they would have to rely on people
52367         not having the fonts installed (so not having installed Office).
52369         * platform/FontCache.cpp:
52370         (WebCore::alternateFamilyName):
52371         (WebCore::FontCache::getCachedFontPlatformData):
52372         * platform/FontCache.h:
52373         * rendering/RenderContainer.cpp:
52374         (WebCore::RenderContainer::removeLeftoverAnonymousBoxes):
52376 === WebCore-521.11 ===
52378 2006-05-24  Justin Garcia  <justin.garcia@apple.com>
52380         Reviewed by levi
52381         
52382         <rdar://problem/4549610> REGRESSION: No initial cursor in Mail reply or Blot document
52383         <rdar://problem/4560698> Mail is very crashy in Leopard9A182, WebCore::Range::compareBoundaryPoints(WebCore::Node*, int, WebCore::Node*, int)
52385         * page/Frame.cpp:
52386         (WebCore::Frame::setSelectionFromNone): Find the body and stick a caret 
52387         in it.
52389 2006-05-24  Geoffrey Garen  <ggaren@apple.com>
52391         Rubber stamped by Anders.
52392         
52393         Removed meaningless 'dom::' prefix in IDL files.
52395         * dom/Range.idl:
52396         * html/CanvasRenderingContext2D.idl:
52397         * html/HTMLOptionElement.idl:
52399 2006-05-24  Geoffrey Garen  <ggaren@apple.com>
52401         Reviewed by andersca.
52402         
52403         - Fixed http://bugs.webkit.org/show_bug.cgi?id=9095
52404         regression: can't select by setting option.selected to true
52405         
52406         'text' and 'selected' were erroneously marked read-only for option elements.
52407         
52408         * html/HTMLOptionElement.idl:
52410 2006-05-24  Geoffrey Garen  <ggaren@apple.com>
52412         Reviewed by mjs.
52414         - WebCore half of fix for <rdar://problem/4557926> TOT REGRESSION: Crash
52415         occurs when attempting to view image in slideshow mode at
52416         http://d.smugmug.com/gallery/581716 ( KJS::IfNode::execute
52417         (KJS::ExecState*) + 312)
52419         On alternate threads, DOMObjects remain in the
52420         ScriptInterpreter's cache because they're not collected. So, they
52421         need an opportunity to mark their children.
52422         
52423         I'm not particularly happy with this solution because it fails to
52424         resolve many outstanding issues with the DOM object cache. Since none
52425         of those issues is a crasher or a serious compatibility concern,
52426         and since the behavior of other browsers is not much to go on in this
52427         case, I've filed <rdar://problem/4561439> about that, and I'm moving 
52428         on with my life.
52430         Also added functionality for testing garbage collection from inside
52431         DumpRenderTree.
52432         
52433         Also removed XMLHttpRequest from the DOM object cache because XMLHttpRequest
52434         objects aren't accessed through the DOM.
52435         
52436         Also added JS locking around access to some shared data structures in
52437         WebCoreJavaScript, even though it probably doesn't matter in practice.
52439         * bindings/js/JSXMLHttpRequest.cpp:
52440         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
52441         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
52442         * bindings/js/kjs_binding.cpp:
52443         (KJS::ScriptInterpreter::mark):
52444         * bindings/js/kjs_binding.h:
52445         * bridge/mac/WebCoreJavaScript.h:
52446         * bridge/mac/WebCoreJavaScript.mm:
52447         (collect):
52448         (+[WebCoreJavaScript objectCount]):
52449         (+[WebCoreJavaScript interpreterCount]):
52450         (+[WebCoreJavaScript protectedObjectCount]):
52451         (+[WebCoreJavaScript garbageCollect]):
52452         (+[WebCoreJavaScript garbageCollectOnAlternateThread:]):
52453         (+[WebCoreJavaScript shouldPrintExceptions]):
52454         (+[WebCoreJavaScript setShouldPrintExceptions:]):
52456 2006-05-24  Dave Hyatt <hyatt@apple.com>
52458         Fix the font cache corruption problems on Win32.  Move the
52459         native font destruction code out of FontPlatformData and
52460         into FontData.  Implement smallCaps.
52462         * platform/win/FontDataWin.cpp:
52463         (WebCore::FontData::platformDestroy):
52464         (WebCore::FontData::smallCapsFontData):
52465         * platform/win/FontPlatformDataWin.cpp:
52466         (WebCore::FontPlatformData::~FontPlatformData):
52468 2006-05-24  Anders Carlsson  <acarlsson@apple.com>
52470         Reviewed by Maciej.
52472         http://bugs.webkit.org/show_bug.cgi?id=9093
52473         Implement document.scripts
52474         
52475         * bindings/js/kjs_html.cpp:
52476         (KJS::JSHTMLDocument::getValueProperty):
52477         Return document.scripts() instead of a placeholder object.
52478         
52479         * dom/Document.cpp:
52480         (WebCore::Document::scripts):
52481         * dom/Document.h:
52482         Add Document::scripts.
52483         
52484         * html/HTMLCollection.cpp:
52485         (WebCore::HTMLCollection::traverseNextItem):
52486         * html/HTMLCollection.h:
52487         (WebCore::HTMLCollection::):
52488         Add scripts collection type which traverses all script elements.
52489         
52490 2006-05-24  Anders Carlsson  <acarlsson@apple.com>
52492         Reviewed by Geoff.
52494         http://bugs.webkit.org/show_bug.cgi?id=9092
52495         innerText is empty for elements without renderers
52497         * dom/Node.cpp:
52498         (WebCore::Node::textContent):
52499         * dom/Node.h:
52500         Add optional convertBRsToNewlines argument for textContent.
52501         
52502         * html/HTMLElement.cpp:
52503         (WebCore::HTMLElement::innerText):
52504         If the element doesn't have a renderer, return textContent.
52506 2006-05-24  Dave Hyatt <hyatt@apple.com>
52508         Fix a bug with the computation of the Cairo glyph offsets
52509         on the Win32 code path.
52511         * ChangeLog:
52512         * platform/GlyphBuffer.h:
52513         (WebCore::GlyphBuffer::add):
52514         * platform/win/FontWin.cpp:
52515         (WebCore::Font::drawGlyphs):
52517 2006-05-23  Dave Hyatt <hyatt@apple.com>
52519         Disable some code in Cairo that is attempting to clip
52520         runs of text to their glyph boundaries, since:
52522         (a) Why re-measure text again when I just gave you
52523         the glyph bounds anyway.
52524         (b) It gets the measurements wrong.
52526         * platform/GlyphBuffer.h:
52527         (WebCore::GlyphBuffer::add):
52528         * platform/cairo/cairo/src/cairo-surface-fallback.c:
52529         (_cairo_surface_fallback_show_glyphs):
52530         * platform/cairo/clipping-cleartype-font-bug-patch.txt: Added.
52531         * platform/win/FontWin.cpp:
52532         (WebCore::Font::drawGlyphs):
52534 2006-05-23  Timothy Hatcher  <timothy@apple.com>
52536         Reviewed by Eric.
52538         Remove the recent idl files from the WebCore target to prevent them
52539         from being copied into the framework resources.
52541         * WebCore.xcodeproj/project.pbxproj:
52543 2006-05-23  John Sullivan  <sullivan@apple.com>
52545         Reviewed by Justin Garcia and Levi Weintraub.
52546         
52547         - fixed Bug 9072: REGRESSION: Misspelling marker incorrect in editing/deleting/delete-and-undo.html
52549         * dom/Document.cpp:
52550         (WebCore::Document::removeMarkers):
52551         One more time to get this right, ugh. There is still one case where we don't want to advance the
52552         iterator, and that's when we remove a marker and do not insert a replacement marker. So I undid
52553         my previous patch, and added it++ to each of the two cases that insert a replacement marker. Now
52554         the layout tests pass even with the pixel tests enabled.
52556 2006-05-23  Dave Hyatt <hyatt@apple.com>
52558         Do an initial implementation of CookieJar on Win32.  No policy
52559         checking yet and the cookies are just always on.
52561         Reviewed by mjs
52563         * WebCore.vcproj/WebCore/WebCore.vcproj:
52564         * platform/win/CookieJarWin.cpp: Added.
52565         (WebCore::setCookies):
52566         (WebCore::cookies):
52567         (WebCore::cookiesEnabled):
52568         * platform/win/TemporaryLinkStubs.cpp:
52570 2006-05-23  Dave Hyatt <hyatt@apple.com>
52572         Fix the JS autogeneration for WebCore so that the hashtables
52573         are correct on Win32.
52575         Switch to using GetCharWidthI so that we can obtain widths
52576         for glyphs instead of having to obtain them from UChars.
52578         Reviewed by eric (autogeneration) and maciej (fonts)
52580         * bindings/scripts/CodeGeneratorJS.pm:
52581         * platform/Font.cpp:
52582         (WebCore::WidthIterator::advance):
52583         * platform/FontData.cpp:
52584         (WebCore::m_smallCapsFontData):
52585         (WebCore::FontData::widthForGlyph):
52586         * platform/FontData.h:
52587         * platform/mac/FontDataMac.mm:
52588         (-[NSFont WebCore]):
52589         * platform/win/FontDataWin.cpp:
52590         (WebCore::FontData::platformWidthForGlyph):
52592 2006-05-23  Levi Weintraub  <lweintraub@apple.com>
52594         Reviewed by Hyatt.
52596         Cleaned up changes to markup by adding the non-virtual
52597         nodeNamePreservingCase accessor function.
52599         * dom/Element.cpp:
52600         (WebCore::Element::nodeNamePreservingCase):
52601         * dom/Element.h:
52602         * editing/markup.cpp:
52603         (WebCore::startMarkup):
52604         (WebCore::endMarkup):
52606 2006-05-23  John Sullivan  <sullivan@apple.com>
52608         Reviewed by Anders Carlsson.
52610         * dom/Document.cpp:
52611         (WebCore::Document::removeMarkers):
52612         Fix to my previous checkin (which broke a layout test).
52613         Advance the iterator position every time through the loop; formerly it was not advanced in the 
52614         case where a marker was actually removed, causing an infinite loop in certain cases. Also
52615         modified a comment that was confusing the situation by falsely claiming that iterating over a 
52616         just-inserted node would always be OK.
52618 2006-05-23  Anders Carlsson  <acarlsson@apple.com>
52620         Reviewed by Maciej.
52622         http://bugs.webkit.org/show_bug.cgi?id=9017
52623         Weather2.css incorrectly treated as JavaScript file @ www.live.com
52624         
52625         * dom/Element.cpp:
52626         (WebCore::Element::getAttribute):
52627         (WebCore::Element::setAttribute):
52628         (WebCore::Element::removeAttribute):
52629         (WebCore::Element::getAttributeNode):
52630         (WebCore::Element::hasAttribute):
52631         Use new getAttributeItem method.
52632         
52633         * dom/NamedAttrMap.cpp:
52634         (WebCore::NamedAttrMap::getNamedItem):
52635         (WebCore::NamedAttrMap::removeNamedItem):
52636         Use new getAttributeItem method.
52637         
52638         (WebCore::NamedAttrMap::getAttributeItem):
52639         * dom/NamedAttrMap.h:
52640         New method which returns the attribute based on the nodeName.
52642 2006-05-22  Eric Seidel  <eric@webkit.org>
52644         Rubber-stamped by adele.
52646         * bindings/js/kjs_html.h: simple style cleanup.
52648 === WebCore-521.10 ===
52650 2006-05-22  John Sullivan  <sullivan@apple.com>
52652         Reviewed by Anders Carlsson.
52653         
52654         - fixed Bug 9038: Rework Document::TextMarker mechanism to not use deprecated data structures
52656         Changed Document::markersForNode and Document::MarkerMap to use Vector rather than 
52657         DeprecatedValueList and DeprecatedValueListIterator.
52658         
52659         * dom/Document.h:
52660         * dom/Document.cpp:
52661         (WebCore::Document::addMarker):
52662         (WebCore::Document::copyMarkers):
52663         (WebCore::Document::removeMarkers):
52664         (WebCore::Document::markersForNode):
52665         (WebCore::Document::repaintMarkers):
52666         (WebCore::Document::shiftMarkers):
52667         
52668         * rendering/InlineTextBox.cpp:
52669         (WebCore::InlineTextBox::paintAllMarkersOfType):
52671 2006-05-22  Levi Weintraub  <lweintraub@apple.com>
52673         Reviewed by Eric.
52674         
52675         - Fix for http://bugs.webkit.org/show_bug.cgi?id=8393
52676           <br>s created by createMarkup aren't valid xhtml
52677           Fixed uppered output from innerHTML
52679         * editing/markup.cpp:
52680         (WebCore::startMarkup):
52681         (WebCore::endMarkup):
52683 2006-05-21  Dave Hyatt <hyatt@apple.com>
52685         Fix Win32 bustage.   I forgot to add a bunch of files.
52686         Also tweak some existing functions a bit (just cleanup).
52688         * platform/FontCache.cpp:
52689         (WebCore::FontCache::getCachedFontPlatformData):
52690         (WebCore::FontCache::getFontData):
52691         * platform/FontCache.h:
52692         * platform/mac/FontCacheMac.mm:
52693         (WebCore::FontCache::createFontPlatformData):
52694         * platform/win/FontDataWin.cpp:
52695         (WebCore::FontData::platformDestroy):
52696         (WebCore::FontData::smallCapsFontData):
52698 2006-05-21  Adele Peterson  <adele@apple.com>
52700         Reviewed by Maciej.
52702         - Fix for http://bugs.webkit.org/show_bug.cgi?id=9016
52703         crash loading live.com in TreeShared::ref because accessing RenderTextField::text() can destroy the RenderTextField
52705         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::text):
52706         Reverting recent change to user innerText instead of textContent.  For textareas,
52707         we need a better solution than textContent that also takes newlines into account,
52708         but this should fix this crasher.
52710 2006-05-21  Anders Carlsson  <acarlsson@apple.com>
52712         Fix build.
52713         
52714         * ForwardingHeaders/wtf/MathExtras.h: Added.
52716 2006-05-20  Dave Hyatt <hyatt@apple.com>
52718         Switch on Cairo-based text rendering on Win32.  This is tracked
52719         by bug 9019.
52721         Reviewed by maciej
52723         * WebCore.vcproj/WebCore/WebCore.vcproj:
52724         * config.h:
52725         * platform/Font.cpp:
52726         (WebCore::WidthIterator::advance):
52727         (WebCore::WidthIterator::normalizeVoicingMarks):
52728         (WebCore::Font::width):
52729         * platform/Font.h:
52730         (WebCore::Font::isRoundingHackCharacter):
52731         * platform/FontCache.cpp:
52732         (WebCore::computeHash):
52733         (WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
52734         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
52735         (WebCore::FontDataCacheKeyTraits::deletedValue):
52736         (WebCore::FontDataCacheKeyTraits::emptyValue):
52737         * platform/FontData.cpp:
52738         (WebCore::m_smallCapsFontData):
52739         (WebCore::FontData::widthForGlyph):
52740         * platform/FontData.h:
52741         * platform/FontPlatformData.h: Removed.
52742         * platform/GlyphBuffer.h:
52743         (WebCore::GlyphBuffer::clear):
52744         (WebCore::GlyphBuffer::glyphs):
52745         (WebCore::GlyphBuffer::advances):
52746         (WebCore::GlyphBuffer::swap):
52747         (WebCore::GlyphBuffer::glyphAt):
52748         (WebCore::GlyphBuffer::advanceAt):
52749         (WebCore::GlyphBuffer::add):
52750         * platform/GlyphMap.cpp:
52751         (WebCore::GlyphMap::locatePage):
52752         * platform/cairo/cairo/src/cairo-win32-font.c:
52753         (cairo_win32_scaled_font_select_font):
52754         * platform/cairo/font-bug-patch.txt: Added.
52755         * platform/mac/FontDataMac.mm:
52756         (-[NSFont WebCore]):
52757         * platform/mac/FontPlatformData.h: Added.
52758         (WebCore::FontPlatformData::FontPlatformData):
52759         * platform/win/FontDataWin.cpp: Added.
52760         (WebCore::FontData::platformInit):
52761         (WebCore::FontData::platformDestroy):
52762         (WebCore::FontData::smallCapsFontData):
52763         (WebCore::FontData::containsCharacters):
52764         (WebCore::FontData::determinePitch):
52765         (WebCore::FontData::platformWidthForGlyph):
52766         * platform/win/FontPlatformDataWin.cpp:
52767         (WebCore::m_size):
52768         (WebCore::FontPlatformData::~FontPlatformData):
52769         * platform/win/FontWin.cpp:
52770         (WebCore::notImplemented):
52771         (WebCore::Font::drawGlyphs):
52772         (WebCore::Font::selectionRectForComplexText):
52773         (WebCore::Font::drawComplexText):
52774         (WebCore::Font::floatWidthForComplexText):
52775         (WebCore::Font::offsetForPositionForComplexText):
52777 2006-05-20  Alexey Proskuryakov  <ap@nypop.com>
52779         Reviewed by Darin.
52781         - http://bugs.webkit.org/show_bug.cgi?id=8991
52782           REGRESSION: missing or broken CSS custom cursors are displayed as 
52783           a missing image icon
52785         * page/FrameView.cpp:
52786         (WebCore::selectCursor): Fallback to CURSOR_AUTO if the image is an error image.
52787         * manual-tests/custom-cursors.html: Added.
52789 2006-05-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
52791         Reviewed and landed by ap.
52793         - fix http://bugs.webkit.org/show_bug.cgi?id=9009
52794           REGRESSION: ToT crash in WebCore at Zap2it
52796         Test: fast/table/empty-section-crash.html
52798         * rendering/RenderTableSection.cpp:
52799         (WebCore::RenderTableSection::paint): Return immediately if the section
52800         has 0 rows or 0 columns.
52802 2006-05-19  Levi Weintraub  <lweintraub@apple.com>
52804         Reviewed by justin.
52805         
52806         <http://bugs.webkit.org/show_bug.cgi?id=8931>
52807         Drag caret not painted for editable sub-frames
52808         
52809         Moved the drag caret out of Frame and into Page.
52810         Only the Frame that contains the drag caret will paint it.
52812         * editing/SelectionController.h:
52813         * page/Frame.cpp:
52814         (WebCore::Frame::dragCaret):
52815         (WebCore::Frame::setDragCaret):
52816         (WebCore::Frame::paintDragCaret):
52817         * page/FramePrivate.h:
52818         * page/Page.cpp:
52819         (WebCore::Page::dragCaret):
52820         (WebCore::Page::setDragCaret):
52821         * page/Page.h:
52823 2006-05-19  Alice Liu  <alice.liu@apple.com>
52825         Reviewed by Adele.
52827         * html/HTMLButtonElement.idl:
52828         added support for HTMLButtonElement.click()
52830 2006-05-19  Geoffrey Garen  <ggaren@apple.com>
52832         Reviewed by Eric.
52834         - Fixed non-autogenerated global constructors to match autogenerated
52835         ones and FF. (Found this bug while @ the GOOG.)
52837         (1) They're no longer read-only, so they can be overridden.
52838         (2) They now have the default object prototype, so they can do things 
52839         like 'toString' and 'valueOf', necessary for general functionality,
52840         including my layout test.
52841         (3) Their prototype properties are now enumerable and not read-only.
52842         
52843         * bindings/js/JSDOMParser.cpp:
52844         (KJS::DOMParserConstructorImp::DOMParserConstructorImp):
52845         * bindings/js/JSXMLHttpRequest.cpp:
52846         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
52847         * bindings/js/JSXMLHttpRequest.h:
52848         * bindings/js/JSXMLSerializer.cpp:
52849         (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
52850         * bindings/js/JSXSLTProcessor.cpp:
52851         (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
52852         * bindings/js/kjs_html.cpp:
52853         (KJS::OptionConstructorImp::OptionConstructorImp):
52854         (KJS::ImageConstructorImp::ImageConstructorImp):
52855         * bindings/js/kjs_window.cpp:
52857 2006-05-19  Anders Carlsson  <acarlsson@apple.com>
52859         Reviewed by Eric.
52861         http://bugs.webkit.org/show_bug.cgi?id=8983
52862         Autogenerate another 22 HTML classes
52863         
52864         Already covered by existing DOM tests.
52866         * DerivedSources.make:
52867         * WebCore.vcproj/WebCore/WebCore.vcproj:
52868         * WebCore.xcodeproj/project.pbxproj:
52869         Add new IDL files and generated sources.
52870         
52871         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
52872         (WebCore::JSCanvasRenderingContext2D::drawImage):
52873         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
52874         (WebCore::JSCanvasRenderingContext2D::createPattern):
52875         Use JSHTMLImageElement::info in inherits.
52876         
52877         * bindings/js/JSHTMLElementWrapperFactory.cpp:
52878         (WebCore::createJSWrapper):
52879         Add macros for the functions and the code to populate the hash set.
52880         
52881         * bindings/js/kjs_html.cpp:
52882         (KJS::):
52883         (KJS::JSHTMLElement::classInfo):
52884         (KJS::JSHTMLElement::accessors):
52885         (KJS::HTMLElementFunction::callAsFunction):
52886         * bindings/js/kjs_html.h:
52887         (KJS::JSHTMLElement::):
52888         Delete old cruft.
52889         
52890         * bindings/scripts/CodeGeneratorJS.pm:
52891         Add support for creating a JS object from a HTMLCollection.
52892         
52893         * html/HTMLAreaElement.idl: Added.
52894         * html/HTMLBRElement.idl: Added.
52895         * html/HTMLBaseFontElement.idl: Added.
52896         * html/HTMLBlockquoteElement.idl: Added.
52897         
52898         * html/HTMLBodyElement.cpp:
52899         (WebCore::HTMLBodyElement::scrollLeft):
52900         (WebCore::HTMLBodyElement::setScrollLeft):
52901         (WebCore::HTMLBodyElement::scrollTop):
52902         (WebCore::HTMLBodyElement::setScrollTop):
52903         (WebCore::HTMLBodyElement::scrollHeight):
52904         (WebCore::HTMLBodyElement::scrollWidth):        
52905         * html/HTMLBodyElement.h:
52906         Add new functions that used to be implemented in kjs_html.cpp
52907         
52908         * html/HTMLBodyElement.idl: Added.
52909         * html/HTMLFieldSetElement.idl: Added.
52910         * html/HTMLFontElement.idl: Added.
52911         * html/HTMLHRElement.idl: Added.
52912         * html/HTMLHeadingElement.idl: Added.
52913         * html/HTMLImageElement.idl: Added.
52914         * html/HTMLIsIndexElement.idl: Added.
52915         * html/HTMLLIElement.idl: Added.
52916         * html/HTMLLabelElement.idl: Added.
52917         * html/HTMLLegendElement.idl: Added.
52918         * html/HTMLMapElement.idl: Added.
52919         * html/HTMLMenuElement.idl: Added.
52920         * html/HTMLModElement.idl: Added.
52921         * html/HTMLParagraphElement.idl: Added.
52922         * html/HTMLParamElement.idl: Added.
52923         * html/HTMLPreElement.idl: Added.
52924         * html/HTMLQuoteElement.idl: Added.
52925         * html/HTMLScriptElement.idl: Added.
52927 2006-05-18  David Hyatt  <hyatt@apple.com>
52929         Turn off responding to font changes while running.  It doesn't work
52930         right anyway.
52932         Reviewed by darin
52934         * platform/FontCache.cpp:
52935         (WebCore::FontCache::getCachedFontPlatformData):
52936         * platform/FontCache.h:
52937         * platform/GlyphMap.h:
52938         (WebCore::GlyphMap::~GlyphMap):
52939         * platform/GlyphWidthMap.h:
52940         (WebCore::GlyphWidthMap::~GlyphWidthMap):
52941         * platform/mac/FontCacheMac.mm:
52942         (WebCore::FontCache::platformInit):
52944 2006-05-18  Darin Adler  <darin@apple.com>
52946         - try to fix the Windows build
52948         * platform/TextEncoding.h: Changed a ";" to a ",".
52949         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed
52950         JSCanvasRenderingContext2DBase.cpp and
52951         JSCanvasRenderingContext2DBase.h. Added
52952         JSCanvasRenderingContext2DCustom.cpp.
52954 2006-05-18  Sam Weinig  <sam.weinig@gmail.com>
52956         Reviewed by Hyatt.
52958         Fix for <http://bugs.webkit.org/show_bug.cgi?id=8896>
52959         Bug 8896: Absolutely positioned elements should use their parent's
52960         direction when left, right and width are auto in quirks mode.
52962         Use the parent's direction instead of the containing
52963         block's in quirks mode for absolute positioning to match
52964         WinIE.
52966         * rendering/RenderBox.cpp:
52967         (WebCore::RenderBox::calcAbsoluteHorizontal):
52968         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
52969         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
52970         * rendering/RenderBox.h:
52972 2006-05-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
52974         Reviewed and tweaked (way too much) by Darin.
52976         - fix http://bugs.webkit.org/show_bug.cgi?id=8937
52977           EncodingMap uses 0 as its empty value but 0 is a valid TextEncodingID
52979         * platform/CharsetNames.cpp:
52980         (WebCore::TextEncodingIDHashTraits::emptyValue): Added a non-zero empty value,
52981         InvalidEncoding, and used InvalidEncoding2 for the deleted value.
52982         (WebCore::buildCharsetMaps): Added an assertion that the deleted and empty
52983         values are not valid encodings.
52984         * platform/TextEncoding.h: Defined InvalidEncoding2.
52986 2006-05-18  David Hyatt  <hyatt@apple.com>
52988         Horrible glyph map performance regression fix.
52989         The initial page of the map was being rebuilt over and over again.
52991         Reviewed by andersca
52993         * platform/GlyphMap.cpp:
52994         (WebCore::GlyphMap::locatePage):
52995         * platform/GlyphWidthMap.cpp:
52996         (WebCore::GlyphWidthMap::locatePage):
52998 2006-05-18  Anders Carlsson  <acarlsson@apple.com>
53000         Reviewed by Darin.
53002         http://bugs.webkit.org/show_bug.cgi?id=8964
53003         Autogenerate more HTML classes
53004         
53005         * DerivedSources.make:
53006         * WebCore.xcodeproj/project.pbxproj:
53007         Add new files.
53008         
53009         * bindings/js/JSHTMLElementWrapperFactory.cpp:
53010         (WebCore::createAnchorWrapper):
53011         (WebCore::createAppletWrapper):
53012         (WebCore::createDivWrapper):
53013         (WebCore::createDirectoryWrapper):
53014         (WebCore::createDListWrapper):
53015         (WebCore::createHtmlWrapper):
53016         (WebCore::createOListWrapper):
53017         (WebCore::createUListWrapper):
53018         (WebCore::createJSWrapper):
53019         Add wrappers.
53020         
53021         * bindings/js/kjs_html.cpp:
53022         (KJS::):
53023         (KJS::JSHTMLElement::classInfo):
53024         (KJS::JSHTMLElement::accessors):
53025         (KJS::HTMLElementFunction::callAsFunction):
53026         * bindings/js/kjs_html.h:
53027         (KJS::JSHTMLElement::):
53028         Delete the old implementations.
53029         
53030         * html/HTMLAnchorElement.cpp:
53031         (WebCore::HTMLAnchorElement::hash):
53032         (WebCore::HTMLAnchorElement::host):
53033         (WebCore::HTMLAnchorElement::hostname):
53034         (WebCore::HTMLAnchorElement::pathname):
53035         (WebCore::HTMLAnchorElement::port):
53036         (WebCore::HTMLAnchorElement::protocol):
53037         (WebCore::HTMLAnchorElement::search):
53038         (WebCore::HTMLAnchorElement::text):
53039         * html/HTMLAnchorElement.h:
53040         Add some new accessor methods which used to be in kjs_html.cpp.
53041         
53042         * html/HTMLAnchorElement.idl: Added.
53043         * html/HTMLAppletElement.idl: Added.
53044         * html/HTMLDListElement.idl: Added.
53045         * html/HTMLDirectoryElement.idl: Added.
53046         * html/HTMLDivElement.idl: Added.
53047         * html/HTMLHtmlElement.idl: Added.
53048         * html/HTMLOListElement.idl: Added.
53049         * html/HTMLUListElement.idl: Added.
53051 2006-05-17  David Hyatt  <hyatt@apple.com>
53053         Convert the width map for glyphs into the same new HashMap-style as the
53054         glyph map for characters.
53056         * WebCore.xcodeproj/project.pbxproj:
53057         * platform/FontData.cpp:
53058         (WebCore::FontData::~FontData):
53059         (WebCore::FontData::widthForGlyph):
53060         * platform/FontData.h:
53061         * platform/GlyphWidthMap.cpp: Added.
53062         (WebCore::GlyphWidthMap::widthForGlyph):
53063         (WebCore::GlyphWidthMap::setWidthForGlyph):
53064         (WebCore::GlyphWidthMap::locatePage):
53065         * platform/GlyphWidthMap.h: Added.
53066         (WebCore::GlyphWidthMap::GlyphWidthMap):
53067         (WebCore::GlyphWidthMap::~GlyphWidthMap):
53068         (WebCore::GlyphWidthMap::GlyphWidthPage::widthForGlyph):
53069         (WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForGlyph):
53070         (WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForIndex):
53072 2006-05-17  David Hyatt  <hyatt@apple.com>
53074         Rename FontData.mm to FontData.cpp, since it has no obj-c in it.
53076         * WebCore.xcodeproj/project.pbxproj:
53077         * platform/FontData.cpp: Added.
53079 2006-05-17  David Hyatt  <hyatt@apple.com>
53081         Split FontData.mm into platform-specific and cross-platform pieces.
53083         Reviewed by andersca
53085         * WebCore.xcodeproj/project.pbxproj:
53086         * platform/FontData.h:
53087         (WebCore::FontData::xHeight):
53088         * platform/mac/FontData.mm:
53089         (WebCore::FontData::widthForGlyph):
53090         (WebCore::m_smallCapsFontData):
53091         (WebCore::FontData::~FontData):
53092         (WebCore::extendWidthMap):
53094 2006-05-17  John Sullivan  <sullivan@apple.com>
53096         Reviewed by Darin Adler
53097         
53098         Improvement to my previous patch, suggested by Darin
53100         * dom/Document.cpp:
53101         (WebCore::Document::repaintMarkers):
53102         new method, similar in structure to removeMarkers but just repaints each node that
53103         has a marker of the specified type
53104         * dom/Document.h:
53105         declare new method, and tweak style in related method declarations
53106         
53107         * page/Frame.cpp:
53108         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
53109         if the value changes, call repaintMarkers
53111 2006-05-17  Eric Seidel  <eseidel@apple.com>
53113         Reviewed by andersca.
53115         Autogenerate button, optgroup, option, input and textarea js bindings
53116         http://bugs.webkit.org/show_bug.cgi?id=8953
53118         * DerivedSources.make:
53119         * WebCore.xcodeproj/project.pbxproj:
53120         * bindings/js/JSHTMLElementWrapperFactory.cpp:
53121         (WebCore::createButtonWrapper):
53122         (WebCore::createInputWrapper):
53123         (WebCore::createOptGroupWrapper):
53124         (WebCore::createOptionWrapper):
53125         (WebCore::createTextAreaWrapper):
53126         (WebCore::createJSWrapper):
53127         * bindings/js/JSHTMLInputElementBase.cpp: Added.
53128         (WebCore::JSHTMLInputElementBaseProtoFunc::callAsFunction):
53129         (WebCore::):
53130         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
53131         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
53132         * bindings/js/JSHTMLInputElementBase.h: Added.
53133         (WebCore::JSHTMLInputElementBase::classInfo):
53134         (WebCore::JSHTMLInputElementBase::):
53135         (WebCore::JSHTMLInputElementBase::impl):
53136         * bindings/js/JSHTMLOptionElementConstructor.cpp: Added.
53137         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
53138         (WebCore::JSHTMLOptionElementConstructor::implementsConstruct):
53139         (WebCore::JSHTMLOptionElementConstructor::construct):
53140         * bindings/js/JSHTMLOptionElementConstructor.h: Added.
53141         * bindings/js/kjs_domnode.h:
53142         * bindings/js/kjs_html.cpp:
53143         (KJS::):
53144         (KJS::JSHTMLElement::classInfo):
53145         (KJS::JSHTMLElement::accessors):
53146         (KJS::JSHTMLElement::getOwnPropertySlot):
53147         (KJS::HTMLElementFunction::callAsFunction):
53148         (KJS::JSHTMLElement::put):
53149         (KJS::JSHTMLElement::htmlSetter):
53150         * bindings/js/kjs_html.h:
53151         (KJS::JSHTMLElement::):
53152         * bindings/js/kjs_window.cpp:
53153         (KJS::Window::getValueProperty):
53154         * bindings/scripts/CodeGeneratorJS.pm:
53155         * html/HTMLButtonElement.idl: Added.
53156         * html/HTMLInputElement.idl: Added.
53157         * html/HTMLOptGroupElement.idl: Added.
53158         * html/HTMLOptionElement.idl: Added.
53159         * html/HTMLTextAreaElement.idl: Added.
53161 2006-05-17  Adele Peterson  <adele@apple.com>
53163         Reviewed by Hyatt.
53165         First step for http://bugs.webkit.org/show_bug.cgi?id=8948
53166         Switch to use new text field implementation for <textarea>
53168         New textareas can be turned on by setting -webkit-appearance:textarea.
53170         Tests:
53171         * LayoutTests/fast/block/float/032.html - Updated results.
53173         * bridge/mac/FrameMac.h: Added textDidChangeinTextArea to send notification over the bridge to form delegate.
53174         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::textDidChangeInTextArea): ditto.
53175         * page/Frame.cpp: (WebCore::Frame::textDidChangeInTextArea): ditto.
53176         * page/Frame.h: ditto.
53178         * css/CSSValueKeywords.in: Added textarea.
53179         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Updates to check for textarea.
53180         * css/html4.css: Added style for textarea.  Leaved background-color and appearance values commented out.
53181         * rendering/render_style.h: (WebCore::): Added TextAreaAppearance.
53183         * rendering/RenderTheme.cpp:
53184         (WebCore::RenderTheme::adjustStyle): Updated for textarea.
53185         (WebCore::RenderTheme::paint): ditto.
53186         (WebCore::RenderTheme::paintBorderOnly): ditto.
53187         (WebCore::RenderTheme::isControlStyled): ditto.
53188         (WebCore::RenderTheme::supportsFocusRing): ditto.
53189         (WebCore::RenderTheme::adjustTextFieldStyle): ditto.
53190         (WebCore::RenderTheme::adjustTextAreaStyle): ditto.
53191         * rendering/RenderTheme.h: (WebCore::RenderTheme::paintTextArea): Added.
53192         * rendering/RenderThemeMac.h: Added adjustTextAreaStyle.
53193         Note- I didn't add a paintTextArea function for RenderThemeMac, since we can just paint the border 
53194         specified in html4.css to match the NSTextView border.  Added a paintTextArea function to the Windows
53195         theme can override that border.
53196         * rendering/RenderThemeMac.mm:
53197         (WebCore::RenderThemeMac::isControlStyled): Updated for textarea.
53198         (WebCore::RenderThemeMac::adjustTextAreaStyle): ditto.
53200         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::HTMLGenericFormElement):
53201         Moved m_valueMatchesRenderer and its setters and getters into this class so HTMLInputElement and
53202         HTMLTextArea can share.
53203         * html/HTMLGenericFormElement.h:
53204         (WebCore::HTMLGenericFormElement::valueMatchesRenderer): Added.
53205         (WebCore::HTMLGenericFormElement::setValueMatchesRenderer): Added.
53206         * html/HTMLInputElement.cpp:
53207         (WebCore::HTMLInputElement::init): Remove m_valueMatchesRenderer intialization.
53208         (WebCore::HTMLInputElement::isKeyboardFocusable): Updated spelling.
53209         (WebCore::HTMLInputElement::createRenderer): Pass multiLine bool to RenderTextField constructor.
53210         (WebCore::HTMLInputElement::parseMappedAttribute): Use setValueMatchesRenderer instead of m_valueMatchesRenderer.
53211         (WebCore::HTMLInputElement::detach): ditto.
53212         (WebCore::HTMLInputElement::setValue): ditto.
53213         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
53214         * html/HTMLInputElement.h: Remove setValueMatchesRenderer and valueMatchesRenderer and m_valueMatchesRenderer.
53215         * html/HTMLTextAreaElement.cpp:
53216         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Calls setValueMatchesRenderer to intialize m_valueMatchesRenderer.
53217         (WebCore::HTMLTextAreaElement::selectionStart): Uses appearance to determine which renderer to use.
53218         (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
53219         (WebCore::HTMLTextAreaElement::setSelectionStart): ditto.
53220         (WebCore::HTMLTextAreaElement::setSelectionEnd): ditto.
53221         (WebCore::HTMLTextAreaElement::select): ditto.
53222         (WebCore::HTMLTextAreaElement::setSelectionRange): ditto.
53223         (WebCore::HTMLTextAreaElement::createRenderer): ditto.
53224         (WebCore::HTMLTextAreaElement::appendFormData): ditto.
53225         (WebCore::HTMLTextAreaElement::updateValue): ditto.
53226         (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Added.
53227         (WebCore::HTMLTextAreaElement::isMouseFocusable): Added.
53228         (WebCore::HTMLTextAreaElement::focus): Added.
53229         (WebCore::HTMLTextAreaElement::defaultEventHandler): Added to forward events to the inner div.
53230         (WebCore::HTMLTextAreaElement::setValue): Calls setValueMatchesRenderer.
53231         * html/HTMLTextAreaElement.h: Added defaultEventHandler, isMouseFocusable, isKeyboardFocusable, and focus methods.
53232         Removed invalidateValue and m_valueMatchesRenderer since those are now handled in the base class.
53233         * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
53234         Updated to handle textareas.
53235         * rendering/RenderTextArea.cpp: (WebCore::RenderTextArea::valueChanged):
53236         Calls setValueMatchesRenderer(false) instead of invalidateValue.
53238         * rendering/RenderTextField.h: Changed to be a RenderFlexibleBox instead of a RenderBlock.
53239         This was necessary to get the inner div's height to grow and shrink with the size of the textarea.
53240         Added m_multiLine bool, and calcHeight, canHaveChildren, baselinePosition, isTextArea, textWithHardLineBreaks, selectionChanged.
53241         (WebCore::RenderTextField::canHaveChildren): Returns false now so that no renderer gets created for
53242         the textarea's child text node for its initial contents.
53243         (WebCore::RenderTextField::isTextField): Returns true if m_multiLine is false.
53244         (WebCore::RenderTextField::isTextArea): Returns true if m_multiLine is true.
53245         * rendering/RenderTextField.cpp:
53246         (WebCore::RenderTextField::RenderTextField):  Initializes m_multiLine.
53247         (WebCore::RenderTextField::~RenderTextField): Notifies HTMLTextAreaElement that the renderer is being destroyed so the value gets updated.
53248         (WebCore::RenderTextField::setStyle): Makes sure there's no overflow clip on the RenderTextField, since we're handling overflow on the inner div.
53249         (WebCore::RenderTextField::createDivStyle): Sets white-space, box-flex, overflow, word-wrap styles needed for text area.
53250         (WebCore::RenderTextField::updateFromElement): Updated for textarea elements.
53251         (WebCore::RenderTextField::setSelectionRange): Optimized caret case by checking to see if start is equal to end before calculating
53252         the same VisiblePosition twice.
53253         (WebCore::RenderTextField::subtreeHasChanged): Updated for textarea elements.
53254         (WebCore::RenderTextField::text): Use innerText so newlines are considered.
53255         (WebCore::RenderTextField::textWithHardLineBreaks): Added.  Not implemented yet. Just calls text method.
53256         (WebCore::RenderTextField::calcHeight): Added. Sets initial height based on specified number of rows, and then calls the base class.
53257         (WebCore::RenderTextField::baselinePosition): Added. Unlike text fields, textareas align to the bottom.
53258         (WebCore::RenderTextField::calcMinMaxWidth): Updated for textareas.
53259         (WebCore::RenderTextField::selectionChanged): Added. Not implemented yet.
53261 2006-05-17  David Hyatt  <hyatt@apple.com>
53263         Fix for 8954, separate the glyph map out into its own files and make it
53264         cross-platform.
53266         Reviewed by darin
53268         * WebCore.xcodeproj/project.pbxproj:
53269         * platform/Font.cpp:
53270         (WebCore::WidthIterator::advance):
53271         * platform/FontData.h:
53272         (WebCore::FontData::glyphDataForCharacter):
53273         (WebCore::FontData::setGlyphDataForCharacter):
53274         * platform/GlyphMap.cpp: Added.
53275         (WebCore::GlyphMap::glyphDataForCharacter):
53276         (WebCore::GlyphMap::setGlyphDataForCharacter):
53277         (WebCore::GlyphMap::locatePage):
53278         * platform/GlyphMap.h: Added.
53279         (WebCore::GlyphMap::GlyphMap):
53280         (WebCore::GlyphMap::~GlyphMap):
53281         (WebCore::GlyphMap::GlyphPage::glyphDataForCharacter):
53282         (WebCore::GlyphMap::GlyphPage::setGlyphDataForCharacter):
53283         (WebCore::GlyphMap::GlyphPage::setGlyphDataForIndex):
53284         * platform/mac/FontData.mm:
53285         (-[NSFont WebCore]):
53286         (WidthMap::m_ATSUMirrors):
53287         (WidthMap::FontData::~FontData):
53288         (WidthMap::FontData::xHeight):
53289         (WidthMap::FontData::platformInit):
53290         (WidthMap::extendWidthMap):
53291         * platform/mac/GlyphMapMac.cpp: Added.
53292         (WebCore::GlyphMap::fillPage):
53293         * platform/mac/WebCoreSystemInterface.h:
53295 2006-05-17  Anders Carlsson  <acarlsson@apple.com>
53297         Reviewed by Maciej.
53299         http://bugs.webkit.org/show_bug.cgi?id=8958
53300         Should be able to have custom implementations for JS methods
53301         
53302         * DerivedSources.make:
53303         * WebCore.xcodeproj/project.pbxproj:
53304         * bindings/js/JSCanvasRenderingContext2DBase.cpp: Removed.
53305         * bindings/js/JSCanvasRenderingContext2DBase.h: Removed.
53306         * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Added.
53307         Remove JSCanvasRenderingContext2DBase and add 
53308         JSCanvasRenderingContext2DCustom with custom implementations.
53309         
53310         (WebCore::toJS):
53311         (WebCore::toHTMLCanvasStyle):
53312         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
53313         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
53314         (WebCore::JSCanvasRenderingContext2D::fillStyle):
53315         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
53316         (WebCore::JSCanvasRenderingContext2D::setFillColor):
53317         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
53318         (WebCore::JSCanvasRenderingContext2D::strokeRect):
53319         (WebCore::JSCanvasRenderingContext2D::drawImage):
53320         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
53321         (WebCore::JSCanvasRenderingContext2D::setShadow):
53322         (WebCore::JSCanvasRenderingContext2D::createPattern):
53323         Move implementations from JSCanvasRenderingContext2DBase.
53324         
53325         * bindings/scripts/CodeGeneratorJS.pm:
53326         Add new "Custom" extended attribute for functions and attributes. When a function or 
53327         attribute has this attribute, a custom implementation is called instead of calling down to
53328         the DOM object.
53329         
53330         * html/CanvasRenderingContext2D.idl:
53331         Add bunch of custom attributes and functions.
53333 2006-05-17  John Sullivan  <sullivan@apple.com>
53335         Reviewed by Maciej.
53336         
53337         First step towards making text-matching mechanism more flexible; now caller can 
53338         control whether or not the matches are highlighted.
53340         * bridge/mac/WebCoreFrameBridge.h:
53341         * bridge/mac/WebCoreFrameBridge.mm:
53342         (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:]):
53343         renamed from highlightAllMatchesForString:
53344         (-[WebCoreFrameBridge markedTextMatchesAreHighlighted]):
53345         new getter method
53346         (-[WebCoreFrameBridge setMarkedTextMatchesAreHighlighted:]):
53347         new setter method
53348         (-[WebCoreFrameBridge unmarkAllTextMatches]):
53349         renamed from clearHighlightedMatches
53350         
53351         * page/Frame.h:
53352         * page/Frame.cpp:
53353         (WebCore::Frame::markAllMatchesForText):
53354         renamed from highlightAllMatchesForString
53355         (WebCore::Ferame::markedTextMatchesAreHighlighted):
53356         new getter method, uses boolean ivar in FramePrivate
53357         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
53358         new setter method, uses boolean ivar in FramePrivate
53359         
53360         * page/FramePrivate.h:
53361         (WebCore::FramePrivate::FramePrivate):
53362         added boolean ivar m_highlightTextMatches, initialized to 0
53363         
53364         * rendering/InlineTextBox.cpp:
53365         (WebCore::InlineTextBox::paint):
53366         respect markedTextMatchesAreHighlighted
53368         * WebCore.xcodeproj/project.pbxproj:
53369         newer Xcode removed some obsolete settings
53370        
53371 2006-05-17  Adele Peterson  <adele@apple.com>
53373         Reviewed by Beth.
53375         * editing/htmlediting.cpp: (WebCore::editingIgnoresContent):
53376         Reverting change that Darin made a few weeks ago.  He was trying
53377         to make editingIgnoresContent return true for the new text fields, but the code
53378         actually didn't change that result.  When the new text fields actually do return
53379         true for editingIgnoresContent, other editing problems are exposed. For example,
53380         moving the cursor around an editable area that contains a text field will cross the
53381         text field boundary and descend into the shadow tree.  So for now, we'll revert this
53382         change.
53384 2006-05-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
53386         Reviewed by Maciej, tweaked by Darin.
53388         - fix http://bugs.webkit.org/show_bug.cgi?id=8951
53389           AtomicString hash corrupted by high-bit Latin-1
53391         Test: fast/encoding/high-bit-latin1.html
53393         * platform/AtomicString.cpp: (WebCore::CStringTranslator::equal): Use an
53394         unsigned char local.
53395         * platform/StringImpl.cpp: (WebCore::StringImpl::init): Ditto.
53397 2006-05-17  Rob Buis  <buis@kde.org>
53399         Reviewed by Maciej.
53401         Fix for http://bugs.webkit.org/show_bug.cgi?id=7492
53402         CSS attribute selectors fail when the setAttribute() method is used
53403         to create an attribute and the attribute name is not Class or ID.
53405         Keep track of attributes used in attribute selectors to
53406         check after setAttribute whether a style recalc is needed.
53408         Test: fast/css/selector-set-attribute.html
53410         * css/cssstyleselector.cpp:
53411         (WebCore::CSSStyleSelector::checkOneSelector):
53412         (WebCore::CSSStyleSelector::hasSelectorForAttribute):
53413         * css/cssstyleselector.h:
53414         * dom/StyledElement.cpp:
53415         (WebCore::StyledElement::attributeChanged):
53417 2006-05-17  Rob Buis  <buis@kde.org>
53419         Reviewed by Darin.
53421         Fix for http://bugs.webkit.org/show_bug.cgi?id=5264
53422         document.createElementNS() should not allow to insert a second <html> element
53424         Do extra checks for document nodes to detect multiple document elements
53425         and document types.
53427         Test: fast/dom/createDocumentType2.html
53428         Test: fast/dom/createElementNS.html
53430         * dom/Document.cpp:
53431         (WebCore::Document::childTypeAllowed):
53432         * dom/Document.h:
53434 2006-05-17  Anders Carlsson  <acarlsson@apple.com>
53436         Reviewed by Darin.
53438         * DerivedSources.make:
53439         Conditionally generate the SVG and XPath related files based on the value of 
53440         FEATURE_DEFINES. Also, pass FEATURE_DEFINES to the bindings generator.
53441         
53442         * WebCore.xcodeproj/project.pbxproj:
53443         Add FEATURE_DEFINES as a toplevel build setting and set it to "SVG_SUPPORT XPATH_SUPPORT"
53444         to keep SVG and XPath support turned on. Add FEATURE_DEFINES to the CPP defines.
53445         
53446         * bindings/js/kjs_binding.cpp:
53447         (KJS::setDOMException):
53448         Add #ifdefs around the XPath code.
53449         
53450         * bindings/scripts/CodeGeneratorJS.pm:
53451         Add "Conditional" extended attribute for interfaces. If this is set, the generated code will be
53452         surrounded by an #if.
53453         
53454         * bindings/scripts/IDLParser.pm:
53455         Pass the define flags on to the preprocessor.
53456         
53457         * bindings/scripts/generate-bindings.pl:
53458         Add a --defines property and pass it on to the parser.
53459         
53460         * css/cssstyleselector.h:
53461         Add DeprecatedString.h include.
53462         
53463         * dom/Document.idl:
53464         Put back #if around the XPath functions
53465         
53466         * page/DOMWindow.idl:
53467         Put #if around the XPath constructors
53468         
53469         * xpath/XPathEvaluator.idl:
53470         * xpath/XPathExpression.idl:
53471         * xpath/XPathNSResolver.cpp:
53472         * xpath/XPathNSResolver.idl:
53473         * xpath/XPathNamespace.cpp:
53474         * xpath/XPathResult.idl:
53475         Add "Conditional=XPATH" to all interfaces.
53476         
53477 2006-05-16  Darin Adler  <darin@apple.com>
53479         Reviewed by Anders.
53481         - http://bugs.webkit.org/show_bug.cgi?id=8940
53482           remove extra copy of image code
53484         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRenderer.h.
53485         * platform/mac/WebCoreImageRenderer.h: Removed.
53487         * bridge/mac/WebCoreFrameBridge.h: Added supportedImageResourceMIMETypes.
53488         Like supportedImageMIMETypes, but includes PDF and PostScript.
53489         * bridge/mac/WebCoreFrameBridge.mm:
53490         (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): Added.
53491         Has code that came from -[WebImageRendererFactory supportedMIMETypes].
53492         (+[WebCoreFrameBridge supportedImageMIMETypes]):
53494         * platform/mac/ImageMac.mm:
53495         (WebCore::Image::supportsType): Instead of calling the old
53496         -[WebCoreImageRendererFactory supportedMIMETypes], call the new
53497         +[WebCoreFrameBridge supportedImageResourceMIMETypes].
53498         (WebCore::Image::drawTiled): Use wkSetPatternPhaseInUserSpace instead of
53499         the WebCoreImageRendererFactory.
53501         * platform/mac/ClipboardMac.mm: Removed an unneeded include of
53502         WebCoreImageRenderer.h.
53504         * platform/mac/WebCoreImageRendererFactory.h: Removed everything except
53505         for the one remaining method, imageDataForName:, which gets resources
53506         from the WebKit localized resources. We should figure out how to remove
53507         that one too later.
53508         * platform/mac/WebCoreImageRendererFactory.m: Ditto.
53510         * platform/mac/WebCoreSystemInterface.h: Added some new calls.
53511         * platform/mac/WebCoreSystemInterface.mm: Ditto.
53512         * WebCore.exp: Ditto.
53514         * platform/cairo/ImageCairo.cpp: Moved a stub to the stubs file. If it's
53515         here it has to have a FIXME comment and also it contains a big commented-out
53516         pile of code. Better to have it in the stubs file with all the other stubs.
53517         * platform/win/TemporaryLinkStubs.cpp: (Image::drawTiled): Put stub here
53518         instead of having it in ImageCairo.cpp.
53520 2006-05-16  Anders Carlsson  <acarlsson@apple.com>
53522         Reviewed by Dave Hyatt.
53524         http://bugs.webkit.org/show_bug.cgi?id=8941
53525         document.cookie undefined for documents of type text/javascript
53526         
53527         * loader/TextDocument.cpp:
53528         (WebCore::TextDocument::TextDocument):
53529         * loader/TextDocument.h:
53530         Inherit from HTMLDocument.
53532 2006-05-16  Darin Adler  <darin@apple.com>
53534         Reviewed by Hyatt.
53536         - fix http://bugs.webkit.org/show_bug.cgi?id=8898
53537           REGRESSION: Attempting to right-click image in own tab on website causes crash
53538         - fix http://bugs.webkit.org/show_bug.cgi?id=8919
53539           REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
53541         * bridge/mac/WebCoreFrameBridge.mm:
53542         (-[WebCoreFrameBridge domain]): Removed unneeded check of isHTMLDocument.
53543         (-[WebCoreFrameBridge getData:andResponse:forURL:]): Handle document() of 0.
53544         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): Ditto.
53546 2006-05-16  Eric Seidel  <eseidel@apple.com>
53548         Reviewed by andersca.
53550         Autogenerate BASE, HEAD, LINK, STYLE and TITLE JS bindings.
53552         Already covered by existing dom tests.
53554         * DerivedSources.make:
53555         * WebCore.xcodeproj/project.pbxproj:
53556         * bindings/js/JSHTMLElementWrapperFactory.cpp:
53557         (WebCore::createBaseWrapper):
53558         (WebCore::createHeadWrapper):
53559         (WebCore::createLinkWrapper):
53560         (WebCore::createStyleWrapper):
53561         (WebCore::createTitleWrapper):
53562         (WebCore::createJSWrapper):
53563         * bindings/js/kjs_html.cpp:
53564         (KJS::):
53565         (KJS::JSHTMLElement::classInfo):
53566         (KJS::JSHTMLElement::accessors):
53567         * bindings/js/kjs_html.h:
53568         * html/HTMLBaseElement.idl: Added.
53569         * html/HTMLHeadElement.idl: Added.
53570         * html/HTMLLinkElement.idl: Added.
53571         * html/HTMLStyleElement.idl: Added.
53572         * html/HTMLTitleElement.idl: Added.
53574 2006-05-16  Anders Carlsson  <acarlsson@apple.com>
53576         Reviewed by Maciej.
53578         http://bugs.webkit.org/show_bug.cgi?id=8921
53579         Use WebCore to render full-frame images.
53581         * WebCore.xcodeproj/project.pbxproj:
53582         Add ImageDocument.
53583         
53584         * bridge/mac/WebCoreFrameBridge.h:
53585         Add mainResourceURLResponse and imageTitleForFilename.
53586         
53587         * bridge/mac/WebCoreFrameBridge.mm:
53588         (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
53589         This used to be supportedMIMETypes but WebKit requires that we handle the
53590         image MIME types separately.
53591         
53592         (+[WebCoreFrameBridge supportedImageMIMETypes]):
53593         Add image types from WebCoreImageRendererFactory.
53594         
53595         (-[WebCoreFrameBridge canProvideDocumentSource]):
53596         Return no for image types.
53597         
53598         * dom/xml_tokenizer.h:
53599         (WebCore::Tokenizer::wantsRawData):
53600         (WebCore::Tokenizer::writeRawData):
53601         New virtual functions which tokenizers can override if they want to get
53602         raw data (which isn't fed through the decoder)
53603         
53604         * html/HTMLImageElement.h:
53605         (WebCore::HTMLImageElement::setLoadManually):
53606         New function which calls HTMLImageLoader::setLoadManually
53607         
53608         * html/HTMLImageLoader.cpp:
53609         (WebCore::HTMLImageLoader::HTMLImageLoader):
53610         (WebCore::HTMLImageLoader::updateFromElement):
53611         Don't request the image from the loader if the load is set to be manual.
53612         
53613         * html/HTMLImageLoader.h:
53614         (WebCore::HTMLImageLoader::setLoadManually):
53615         New function which decides if the image data should be fed manually or loaded
53616         by the loader.
53617         
53618         * loader/DocLoader.h:
53619         Add HTMLImageLoader as a friend.
53620         
53621         * loader/ImageDocument.cpp: Added.
53622         (WebCore::ImageTokenizer::ImageTokenizer):
53623         (WebCore::ImageTokenizer::wantsRawData):
53624         (WebCore::ImageTokenizer::write):
53625         (WebCore::ImageTokenizer::writeRawData):
53626         (WebCore::ImageTokenizer::stopParsing):
53627         (WebCore::ImageTokenizer::finish):
53628         (WebCore::ImageTokenizer::isWaitingForScripts):
53629         (WebCore::ImageDocument::ImageDocument):
53630         (WebCore::ImageDocument::createTokenizer):
53631         * loader/ImageDocument.h: Added.
53632         Add new ImageDocument class which will feed its data to a created image element.
53634         * loader/TextDocument.h:
53635         Inherit from HTMLDocument here too, in case any broken web pages want to manipulate
53636         the DOM of any plain text documents.
53637         
53638         * page/Frame.cpp:
53639         (WebCore::Frame::begin):
53640         (WebCore::Frame::write):
53641         Don't create or use the decoder if the tokenizer is in "raw mode".
53642         
53643 2006-05-16  Eric Seidel  <eseidel@apple.com>
53645         Reviewed by andersca.
53647         Autogenerate JSHTMLMetaElement.
53648         http://bugs.webkit.org/show_bug.cgi?id=8938
53650         Test: fast/dom/HTMLMetaElement/meta-attributes.html
53652         * DerivedSources.make:
53653         * WebCore.xcodeproj/project.pbxproj:
53654         * bindings/js/JSHTMLElementWrapperFactory.cpp:
53655         (WebCore::createMetaWrapper):
53656         (WebCore::createJSWrapper):
53657         * bindings/js/kjs_html.cpp:
53658         (KJS::):
53659         (KJS::JSHTMLElement::classInfo):
53660         (KJS::JSHTMLElement::accessors):
53661         * bindings/js/kjs_html.h:
53662         * html/HTMLMetaElement.h:
53664 2006-05-16  David Hyatt  <hyatt@apple.com>
53666         Bug 8936, eliminate WebTextRendererFactory and convert it over to the
53667         new FontCache.
53669         Reviewed by andersca
53671         * WebCore.xcodeproj/project.pbxproj:
53672         * bridge/mac/WebCoreStringTruncator.mm:
53673         * kwq/KWQComboBox.mm:
53674         * kwq/KWQLineEdit.mm:
53675         * kwq/KWQListBox.mm:
53676         * platform/Font.h:
53677         (WebCore::Font::bold):
53678         * platform/FontCache.cpp: Added.
53679         (WebCore::FontPlatformDataCacheKey::m_italic):
53680         (WebCore::FontPlatformDataCacheKey::operator==):
53681         (WebCore::computeHash):
53682         (WebCore::FontPlatformDataCacheKeyHash::hash):
53683         (WebCore::FontPlatformDataCacheKeyHash::equal):
53684         (WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
53685         (WebCore::FontCache::getCachedFontPlatformData):
53686         (WebCore::FontDataCacheKeyHash::hash):
53687         (WebCore::FontDataCacheKeyHash::equal):
53688         (WebCore::FontDataCacheKeyTraits::deletedValue):
53689         (WebCore::FontCache::getCachedFontData):
53690         (WebCore::FontCache::getFontData):
53691         (WebCore::FontCache::clearCommonCaches):
53692         * platform/FontCache.h:
53693         * platform/FontData.h:
53694         * platform/FontFamily.cpp:
53695         (WebCore::FontFamily::FontFamily):
53696         (WebCore::FontFamily::operator=):
53697         (WebCore::FontFamily::setFamily):
53698         * platform/FontFamily.h:
53699         (WebCore::FontFamily::familyIsEmpty):
53700         * platform/FontPlatformData.h:
53701         (WebCore::FontPlatformData::hash):
53702         (WebCore::FontPlatformData::operator==):
53703         * platform/mac/FontCacheMac.mm:
53704         (WebCore::getAppDefaultValue):
53705         (WebCore::getUserDefaultValue):
53706         (WebCore::getLCDScaleParameters):
53707         (WebCore::fontsChanged):
53708         (WebCore::FontCache::registerForFontChanges):
53709         (WebCore::FontCache::clearCaches):
53710         (WebCore::FontCache::getFontDataForCharacters):
53711         (WebCore::FontCache::getSimilarFontPlatformData):
53712         (WebCore::FontCache::getLastResortFallbackFont):
53713         (WebCore::FontCache::createFontPlatformData):
53714         * platform/mac/FontData.mm:
53715         (-[NSFont WebCore]):
53716         (WidthMap::FontData::xHeight):
53717         (WidthMap::FontData::smallCapsFontData):
53718         (WidthMap::computeWidthForSpace):
53719         (WidthMap::setUpFont):
53720         (WidthMap::fillStyleWithAttributes):
53721         (WidthMap::FontData::determinePitch):
53722         * platform/mac/FontFallbackListMac.mm:
53723         (WebCore::FontFallbackList::setPlatformFont):
53724         * platform/mac/FontFamilyMac.mm: Removed.
53725         * platform/mac/FontMac.mm:
53726         * platform/mac/WebCoreTextRenderer.mm:
53727         (WebCoreFindFont):
53728         * platform/mac/WebFontCache.h: Added.
53729         * platform/mac/WebFontCache.mm: Added.
53730         (acceptableChoice):
53731         (betterChoice):
53732         (+[WebFontCache fontWithFamily:traits:size:]):
53733         * platform/mac/WebTextRendererFactory.h: Removed.
53734         * platform/mac/WebTextRendererFactory.mm: Removed.
53736 2006-05-16  Eric Seidel  <eseidel@apple.com>
53738         Reviewed by andersca.
53740         Add Rect.idl, even though it can't be used quite yet due to generator limitations.
53742         * WebCore.xcodeproj/project.pbxproj:
53743         * css/Rect.idl: Added.
53745 2006-05-16  Sam Weinig  <sam.weinig@gmail.com>
53747         Reviewed by darin.  Landed by eseidel.
53749         Patch for <http://bugs.webkit.org/show_bug.cgi?id=8924>
53750         Bug 8924: re-apply the 'disabled type=file' change
53751         from bug 5882 to RenderFileButton
53752         
53753         * rendering/RenderFileButton.cpp:
53754         (WebCore::RenderFileButton::updateFromElement):
53756 2006-05-16  Eric Seidel  <eseidel@apple.com>
53758         Reviewed by hyatt.
53760         Split css_base.* into separate files (one per class).
53761         http://bugs.webkit.org/show_bug.cgi?id=8935
53763         * WebCore.xcodeproj/project.pbxproj:
53764         * bindings/js/kjs_css.cpp:
53765         * css/CSSBorderImageValue.cpp:
53766         * css/CSSBorderImageValue.h:
53767         * css/CSSCharsetRule.h:
53768         * css/CSSFontFaceRule.h:
53769         * css/CSSGrammar.y:
53770         * css/CSSImportRule.h:
53771         * css/CSSInheritedValue.cpp:
53772         * css/CSSInitialValue.cpp:
53773         * css/CSSMediaRule.h:
53774         * css/CSSMutableStyleDeclaration.h:
53775         * css/CSSNamespace.h: Added.
53776         (WebCore::CSSNamespace::CSSNamespace):
53777         (WebCore::CSSNamespace::namespaceForPrefix):
53778         * css/CSSPageRule.h:
53779         * css/CSSPrimitiveValue.h:
53780         * css/CSSProperty.cpp:
53781         * css/CSSProperty.h:
53782         * css/CSSRule.h:
53783         * css/CSSRuleList.cpp:
53784         * css/CSSSelector.cpp: Added.
53785         * css/CSSSelector.h: Added.
53786         (WebCore::CSSSelector::CSSSelector):
53787         * css/CSSStyleDeclaration.h:
53788         * css/CSSStyleRule.cpp:
53789         * css/CSSStyleRule.h:
53790         * css/CSSStyleSheet.cpp:
53791         (WebCore::CSSStyleSheet::~CSSStyleSheet):
53792         * css/CSSStyleSheet.h:
53793         * css/CSSValue.h:
53794         * css/CSSValueList.cpp:
53795         * css/CSSValueList.h:
53796         * css/FontFamilyValue.cpp:
53797         * css/FontValue.cpp:
53798         * css/FontValue.h:
53799         * css/MediaList.h:
53800         * css/ShadowValue.cpp:
53801         * css/ShadowValue.h:
53802         * css/StyleBase.cpp: Added.
53803         (WebCore::StyleBase::stylesheet):
53804         * css/StyleBase.h: Added.
53805         (WebCore::StyleBase::StyleBase):
53806         * css/StyleList.cpp: Added.
53807         * css/StyleList.h: Added.
53808         * css/StyleSheet.h:
53809         * css/css_base.cpp: Removed.
53810         * css/css_base.h: Removed.
53811         * css/cssparser.cpp:
53812         * css/cssstyleselector.cpp:
53813         (WebCore::CSSStyleSelector::matchRulesForList):
53814         * css/cssstyleselector.h:
53815         * dom/CSSMappedAttributeDeclaration.h:
53816         * ksvg2/svg/SVGColor.cpp:
53817         (WebCore::SVGColor::SVGColor):
53818         (WebCore::SVGColor::setRGBColor):
53819         (WebCore::SVGColor::setRGBColorICCColor):
53820         (WebCore::SVGColor::setColor):
53821         (WebCore::SVGColor::cssText):
53822         (WebCore::SVGColor::color):
53823         * ksvg2/svg/SVGColor.h:
53824         * ksvg2/svg/SVGStyledElement.cpp:
53825         (WebCore::SVGStyledElement::SVGStyledElement):
53826         (WebCore::SVGStyledElement::className):
53827         (WebCore::SVGStyledElement::createRenderer):
53828         (WebCore::SVGStyledElement::parseMappedAttribute):
53829         (WebCore::SVGStyledElement::notifyAttributeChange):
53830         (WebCore::SVGStyledElement::attributeChanged):
53831         (WebCore::SVGStyledElement::canvas):
53832         (WebCore::SVGStyledElement::updateCanvasItem):
53833         (WebCore::SVGStyledElement::pushAttributeContext):
53835 2006-05-15  Eric Seidel  <eseidel@apple.com>
53837         Reviewed by hyatt.
53839         Split css_valueimpl.* and css_ruleimpl.* into separate files (one per class).
53840         http://bugs.webkit.org/show_bug.cgi?id=8934
53842         * WebCore+SVG/RGBColor.cpp:
53843         (WebCore::RGBColor::RGBColor):
53844         * WebCore.vcproj/WebCore/WebCore.vcproj:
53845         * WebCore.xcodeproj/project.pbxproj:
53846         * bindings/js/kjs_css.cpp:
53847         (KJS::DOMCSSRule::classInfo):
53848         * bindings/js/kjs_css.h:
53849         * bindings/js/kjs_dom.cpp:
53850         * bindings/js/kjs_html.cpp:
53851         * bindings/js/kjs_window.cpp:
53852         * bindings/objc/DOMCSS.mm:
53853         * bindings/scripts/CodeGeneratorJS.pm:
53854         * css/CSSBorderImageValue.cpp: Added.
53855         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
53856         * css/CSSBorderImageValue.h: Added.
53857         * css/CSSCharsetRule.h: Added.
53858         (WebCore::CSSCharsetRule::CSSCharsetRule):
53859         * css/CSSComputedStyleDeclaration.cpp:
53860         (WebCore::valueForShadow):
53861         (WebCore::):
53862         * css/CSSComputedStyleDeclaration.h:
53863         * css/CSSFontFaceRule.cpp: Added.
53864         (WebCore::CSSFontFaceRule::CSSFontFaceRule):
53865         * css/CSSFontFaceRule.h: Added.
53866         (WebCore::CSSFontFaceRule::isFontFaceRule):
53867         * css/CSSGrammar.y:
53868         * css/CSSImageValue.cpp: Added.
53869         (WebCore::CSSImageValue::CSSImageValue):
53870         * css/CSSImageValue.h: Added.
53871         * css/CSSImportRule.cpp: Added.
53872         * css/CSSImportRule.h: Added.
53873         * css/CSSInheritedValue.cpp: Added.
53874         * css/CSSInheritedValue.h: Added.
53875         * css/CSSInitialValue.cpp: Added.
53876         * css/CSSInitialValue.h: Added.
53877         * css/CSSMediaRule.cpp: Added.
53878         (WebCore::CSSMediaRule::CSSMediaRule):
53879         (WebCore::CSSMediaRule::~CSSMediaRule):
53880         (WebCore::CSSMediaRule::append):
53881         (WebCore::CSSMediaRule::deleteRule):
53882         (WebCore::CSSMediaRule::cssText):
53883         * css/CSSMediaRule.h: Added.
53884         (WebCore::CSSMediaRule::media):
53885         (WebCore::CSSMediaRule::cssRules):
53886         * css/CSSMutableStyleDeclaration.cpp: Added.
53887         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
53888         (WebCore::CSSMutableStyleDeclaration::setChanged):
53889         * css/CSSMutableStyleDeclaration.h: Added.
53890         * css/CSSPageRule.cpp: Added.
53891         (WebCore::CSSPageRule::CSSPageRule):
53892         * css/CSSPageRule.h: Added.
53893         (WebCore::CSSPageRule::isPageRule):
53894         * css/CSSPrimitiveValue.cpp: Added.
53895         * css/CSSPrimitiveValue.h: Added.
53896         * css/CSSProperty.cpp: Added.
53897         (WebCore::CSSProperty::cssText):
53898         * css/CSSProperty.h: Added.
53899         (WebCore::CSSProperty::CSSProperty):
53900         * css/CSSQuirkPrimitiveValue.h: Added.
53901         * css/CSSRule.cpp: Added.
53902         * css/CSSRule.h: Added.
53903         (WebCore::CSSRule::CSSRule):
53904         * css/CSSRuleList.cpp: Added.
53905         (WebCore::CSSRuleList::CSSRuleList):
53906         (WebCore::CSSRuleList::~CSSRuleList):
53907         (WebCore::CSSRuleList::deleteRule):
53908         (WebCore::CSSRuleList::append):
53909         (WebCore::CSSRuleList::insertRule):
53910         * css/CSSRuleList.h: Added.
53911         (WebCore::CSSRuleList::item):
53912         * css/CSSStyleDeclaration.cpp: Added.
53913         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
53914         (WebCore::CSSStyleDeclaration::diff):
53915         * css/CSSStyleDeclaration.h: Added.
53916         * css/CSSStyleRule.cpp: Added.
53917         (WebCore::CSSStyleRule::CSSStyleRule):
53918         (WebCore::CSSStyleRule::selectorText):
53919         * css/CSSStyleRule.h: Added.
53920         * css/CSSStyleSheet.cpp:
53921         (WebCore::CSSStyleSheet::ownerRule):
53922         * css/CSSUnknownRule.h: Added.
53923         (WebCore::CSSUnknownRule::CSSUnknownRule):
53924         * css/CSSValue.h: Added.
53925         * css/CSSValueList.cpp: Added.
53926         * css/CSSValueList.h: Added.
53927         * css/Counter.h: Added.
53928         * css/DashboardRegion.h: Added.
53929         * css/FontFamilyValue.cpp: Added.
53930         * css/FontFamilyValue.h: Added.
53931         (WebCore::FontFamilyValue::genericFamilyType):
53932         * css/FontValue.cpp: Added.
53933         (WebCore::FontValue::cssText):
53934         * css/FontValue.h: Added.
53935         * css/MediaList.cpp:
53936         * css/Pair.h: Added.
53937         (WebCore::Pair::~Pair):
53938         * css/RectImpl.h: Added.
53939         (WebCore::RectImpl::~RectImpl):
53940         * css/ShadowValue.cpp: Added.
53941         (WebCore::ShadowValue::ShadowValue):
53942         * css/ShadowValue.h: Added.
53943         * css/css_base.cpp:
53944         * css/css_ruleimpl.cpp: Removed.
53945         * css/css_ruleimpl.h: Removed.
53946         * css/css_valueimpl.cpp: Removed.
53947         * css/css_valueimpl.h: Removed.
53948         * css/cssparser.cpp:
53949         (WebCore::CSSParser::parseColor):
53950         (WebCore::CSSParser::parseFontFamily):
53951         * css/cssstyleselector.cpp:
53952         (WebCore::CSSStyleSelector::locateCousinList):
53953         (WebCore::CSSStyleSelector::checkSelector):
53954         (WebCore::CSSRuleSet::addRulesFromSheet):
53955         (WebCore::CSSStyleSelector::applyProperty):
53956         (WebCore::CSSStyleSelector::mapBackgroundImage):
53957         * css/cssstyleselector.h:
53958         * dom/CSSMappedAttributeDeclaration.h:
53959         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
53960         * dom/Document.cpp:
53961         * editing/ApplyStyleCommand.cpp:
53962         * editing/CompositeEditCommand.h:
53963         * editing/EditCommand.cpp:
53964         * editing/InsertLineBreakCommand.cpp:
53965         (WebCore::InsertLineBreakCommand::doApply):
53966         * editing/InsertLineBreakCommand.h:
53967         * editing/InsertTextCommand.cpp:
53968         (WebCore::InsertTextCommand::input):
53969         * editing/RemoveCSSPropertyCommand.cpp:
53970         (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
53971         (WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
53972         * editing/RemoveCSSPropertyCommand.h:
53973         (WebCore::RemoveCSSPropertyCommand::styleDeclaration):
53974         * html/HTMLBodyElement.cpp:
53975         * html/HTMLElement.cpp:
53976         * html/HTMLScriptElement.h:
53977         * html/HTMLTokenizer.h:
53978         * kcanvas/KCanvasFilters.h:
53979         (WebCore::KCanvasFEColorMatrix::values):
53980         (WebCore::KCanvasFEColorMatrix::setValues):
53981         (WebCore::KCanvasFEConvolveMatrix::kernel):
53982         (WebCore::KCanvasFEConvolveMatrix::setKernel):
53983         * kcanvas/KCanvasPath.h:
53984         * kcanvas/KCanvasTreeDebug.h:
53985         (WebCore::operator<<):
53986         * kcanvas/RenderPath.h:
53987         * ksvg2/css/SVGCSSParser.cpp:
53988         (WebCore::CSSParser::parseSVGValue):
53989         (WebCore::CSSParser::parseSVGStrokeDasharray):
53990         (WebCore::CSSParser::parseSVGPaint):
53991         (WebCore::CSSParser::parseSVGColor):
53992         * ksvg2/css/SVGCSSStyleSelector.cpp:
53993         (WebCore::CSSStyleSelector::applySVGProperty):
53994         * ksvg2/css/SVGRenderStyleDefs.h:
53995         * ksvg2/ecma/Ecma.cpp:
53996         * ksvg2/misc/KCanvasRenderingStyle.cpp:
53997         * ksvg2/misc/KCanvasRenderingStyle.h:
53998         * ksvg2/svg/SVGAnimationElement.cpp:
53999         * ksvg2/svg/SVGColor.cpp:
54000         * ksvg2/svg/SVGColor.h:
54001         * ksvg2/svg/SVGCursorElement.h:
54002         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
54003         (SVGFEColorMatrixElement::filterEffect):
54004         * page/DOMWindow.cpp:
54005         * page/Frame.cpp:
54006         * page/FramePrivate.h:
54007         * platform/DeprecatedValueList.h:
54008         * rendering/RenderTextField.cpp:
54010 2006-05-15  Darin Adler  <darin@apple.com>
54012         * WebCore.xcodeproj/project.pbxproj: Removed duplicate files that were
54013         screwing up Xcode.
54015 2006-05-15  Darin Adler  <darin@apple.com>
54017         * make-generated-sources.sh: Changed to be executable and removed
54018         text in the file generated by "svn diff".
54019         * move-js-headers.sh: Ditto.
54021 2006-05-15  Eric Seidel  <eseidel@apple.com>
54023         Reviewed by mjs.
54025         Split css_stylesheetimpl.* into separate files (one per class).
54026         http://bugs.webkit.org/show_bug.cgi?id=8933
54028         * WebCore.vcproj/WebCore/WebCore.vcproj:
54029         * WebCore.xcodeproj/project.pbxproj:
54030         * css/CSSStyleSheet.cpp: Added.
54031         (WebCore::CSSStyleSheet::CSSStyleSheet):
54032         (WebCore::CSSStyleSheet::addRule):
54033         (WebCore::CSSStyleSheet::deleteRule):
54034         (WebCore::CSSStyleSheet::parseString):
54035         (WebCore::CSSStyleSheet::docLoader):
54036         * css/CSSStyleSheet.h: Added.
54037         * css/MediaList.cpp: Added.
54038         (WebCore::MediaList::MediaList):
54039         (WebCore::MediaList::contains):
54040         (WebCore::MediaList::parentStyleSheet):
54041         (WebCore::MediaList::parentRule):
54042         (WebCore::MediaList::deleteMedium):
54043         (WebCore::MediaList::setMediaText):
54044         * css/MediaList.h: Added.
54045         * css/StyleSheet.cpp: Added.
54046         (WebCore::StyleSheet::StyleSheet):
54047         (WebCore::StyleSheet::parentStyleSheet):
54048         (WebCore::StyleSheet::setMedia):
54049         * css/StyleSheet.h: Added.
54050         (WebCore::StyleSheet::ownerNode):
54051         * css/StyleSheetList.cpp: Added.
54052         (WebCore::StyleSheetList::~StyleSheetList):
54053         (WebCore::StyleSheetList::add):
54054         (WebCore::StyleSheetList::remove):
54055         (WebCore::StyleSheetList::item):
54056         * css/StyleSheetList.h: Added.
54057         * css/css_stylesheetimpl.cpp: Removed.
54058         * css/css_stylesheetimpl.h: Removed.
54060 2006-05-15  Eric Seidel  <eseidel@apple.com>
54062         * WebCore.xcodeproj/project.pbxproj: build fix.
54064 2006-05-15  Eric Seidel  <eseidel@apple.com>
54066         Reviewed by ggaren.
54068         Split dom_xmlimpl.* into separate files (one per class).
54070         * WebCore.xcodeproj/project.pbxproj:
54071         * dom/Entity.cpp: Added.
54072         (WebCore::Entity::Entity):
54073         * dom/Entity.h: Added.
54074         * dom/EntityReference.cpp: Added.
54075         (WebCore::EntityReference::EntityReference):
54076         * dom/EntityReference.h: Added.
54077         * dom/Notation.cpp: Added.
54078         (WebCore::Notation::Notation):
54079         * dom/Notation.h: Added.
54080         * dom/ProcessingInstruction.cpp: Added.
54081         (WebCore::ProcessingInstruction::ProcessingInstruction):
54082         * dom/ProcessingInstruction.h: Added.
54083         * dom/dom_xmlimpl.cpp: Removed.
54084         * dom/dom_xmlimpl.h: Removed.
54086 2006-05-15  Eric Seidel  <eseidel@apple.com>
54088         Reviewed by Tim Hatcher.
54090         Split html_imageimpl.* into separate files (one per class).
54091         http://bugs.webkit.org/show_bug.cgi?id=8929
54093         * WebCore.xcodeproj/project.pbxproj:
54094         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
54095         * bindings/js/kjs_events.cpp:
54096         * bindings/js/kjs_html.cpp:
54097         * bindings/objc/DOMHTML.mm:
54098         * bridge/mac/WebCoreFrameBridge.mm:
54099         * dom/Document.cpp:
54100         * editing/JSEditor.cpp:
54101         * html/CanvasRenderingContext2D.cpp:
54102         * html/HTMLAnchorElement.cpp:
54103         * html/HTMLAreaElement.cpp: Added.
54104         (WebCore::HTMLAreaElement::HTMLAreaElement):
54105         (WebCore::HTMLAreaElement::mapMouseEvent):
54106         (WebCore::HTMLAreaElement::getRect):
54107         (WebCore::HTMLAreaElement::getRegion):
54108         * html/HTMLAreaElement.h: Added.
54109         * html/HTMLCanvasElement.h:
54110         * html/HTMLDocument.cpp:
54111         * html/HTMLElementFactory.cpp:
54112         * html/HTMLFormCollection.cpp:
54113         * html/HTMLFormElement.cpp:
54114         * html/HTMLImageElement.cpp: Added.
54115         (WebCore::HTMLImageElement::HTMLImageElement):
54116         * html/HTMLImageElement.h: Added.
54117         * html/HTMLImageLoader.cpp: Added.
54118         (WebCore::HTMLImageLoader::HTMLImageLoader):
54119         * html/HTMLImageLoader.h: Added.
54120         * html/HTMLInputElement.cpp:
54121         * html/HTMLMapElement.cpp: Added.
54122         (WebCore::HTMLMapElement::mapMouseEvent):
54123         (WebCore::HTMLMapElement::parseMappedAttribute):
54124         * html/HTMLMapElement.h: Added.
54125         * html/HTMLObjectElement.cpp:
54126         * html/HTMLParser.cpp:
54127         * html/html_imageimpl.cpp: Removed.
54128         * html/html_imageimpl.h: Removed.
54129         * ksvg2/misc/SVGImageLoader.h:
54130         * kwq/WebCoreAXObject.mm:
54131         (-[WebCoreAXObject addChildrenToArray:]):
54132         * page/Frame.cpp:
54133         * rendering/RenderImage.cpp:
54134         (WebCore::RenderImage::RenderImage):
54135         (WebCore::RenderImage::nodeAtPoint):
54137 2006-05-15  Eric Seidel  <eseidel@apple.com>
54139         Reviewed by beth.
54141         Split html_blockimpl.* into separate files (one per class).
54142         http://bugs.webkit.org/show_bug.cgi?id=8927
54144         * WebCore.xcodeproj/project.pbxproj:
54145         * bindings/js/kjs_html.cpp:
54146         * bindings/objc/DOMHTML.mm:
54147         * html/HTMLBlockquoteElement.cpp: Added.
54148         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
54149         * html/HTMLBlockquoteElement.h: Added.
54150         * html/HTMLDivElement.cpp: Added.
54151         * html/HTMLDivElement.h: Added.
54152         * html/HTMLElementFactory.cpp:
54153         * html/HTMLHRElement.cpp: Added.
54154         * html/HTMLHRElement.h: Added.
54155         * html/HTMLHeadingElement.cpp: Added.
54156         * html/HTMLHeadingElement.h: Added.
54157         * html/HTMLMarqueeElement.cpp: Added.
54158         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
54159         (WebCore::HTMLMarqueeElement::parseMappedAttribute):
54160         * html/HTMLMarqueeElement.h: Added.
54161         * html/HTMLParagraphElement.cpp: Added.
54162         * html/HTMLParagraphElement.h: Added.
54163         * html/HTMLParser.cpp:
54164         * html/HTMLPreElement.cpp: Added.
54165         (WebCore::HTMLPreElement::HTMLPreElement):
54166         (WebCore::HTMLPreElement::setWrap):
54167         * html/HTMLPreElement.h: Added.
54168         * html/HTMLTextFieldInnerElement.h:
54169         * html/html_blockimpl.cpp: Removed.
54170         * html/html_blockimpl.h: Removed.
54171         * rendering/RenderLayer.cpp:
54173 2006-05-15  Eric Seidel  <eseidel@apple.com>
54175         Reviewed by ggaren.
54177         Split render_list.* and html_listimpl.* into separate files (one per class).
54178         http://bugs.webkit.org/show_bug.cgi?id=8925
54180         * WebCore.xcodeproj/project.pbxproj:
54181         * bindings/js/kjs_html.cpp:
54182         * bindings/objc/DOMHTML.mm:
54183         * bridge/mac/FrameMac.mm:
54184         (WebCore::FrameMac::attributedString):
54185         * html/HTMLDListElement.cpp: Added.
54186         (WebCore::HTMLDListElement::HTMLDListElement):
54187         * html/HTMLDListElement.h: Added.
54188         * html/HTMLDirectoryElement.cpp: Added.
54189         (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
54190         * html/HTMLDirectoryElement.h: Added.
54191         * html/HTMLElementFactory.cpp:
54192         * html/HTMLKeygenElement.cpp:
54193         * html/HTMLLIElement.cpp: Added.
54194         (WebCore::HTMLLIElement::HTMLLIElement):
54195         (WebCore::HTMLLIElement::parseMappedAttribute):
54196         (WebCore::HTMLLIElement::attach):
54197         (WebCore::HTMLLIElement::setType):
54198         * html/HTMLLIElement.h: Added.
54199         * html/HTMLMenuElement.cpp: Added.
54200         (WebCore::HTMLMenuElement::HTMLMenuElement):
54201         * html/HTMLMenuElement.h: Added.
54202         * html/HTMLOListElement.cpp: Added.
54203         (WebCore::HTMLOListElement::HTMLOListElement):
54204         (WebCore::HTMLOListElement::parseMappedAttribute):
54205         (WebCore::HTMLOListElement::setType):
54206         * html/HTMLOListElement.h: Added.
54207         (WebCore::HTMLOListElement::start):
54208         * html/HTMLOptionElement.cpp:
54209         (WebCore::HTMLOptionElement::HTMLOptionElement):
54210         (WebCore::HTMLOptionElement::checkDTD):
54211         (WebCore::HTMLOptionElement::text):
54212         (WebCore::HTMLOptionElement::setText):
54213         (WebCore::HTMLOptionElement::getSelect):
54214         (WebCore::HTMLOptionElement::setLabel):
54215         * html/HTMLOptionElement.h:
54216         * html/HTMLParser.cpp:
54217         * html/HTMLSelectElement.cpp:
54218         (WebCore::HTMLSelectElement::HTMLSelectElement):
54219         * html/HTMLUListElement.cpp: Added.
54220         (WebCore::HTMLUListElement::HTMLUListElement):
54221         * html/HTMLUListElement.h: Added.
54222         * html/html_listimpl.cpp: Removed.
54223         * html/html_listimpl.h: Removed.
54224         * kwq/WebCoreAXObject.mm:
54225         * rendering/InlineFlowBox.cpp:
54226         * rendering/ListMarkerBox.cpp: Added.
54227         (WebCore::ListMarkerBox::ListMarkerBox):
54228         (WebCore::ListMarkerBox::isText):
54229         * rendering/ListMarkerBox.h: Added.
54230         * rendering/RenderContainer.cpp:
54231         (WebCore::updateListMarkerNumbers):
54232         (WebCore::RenderContainer::addChild):
54233         (WebCore::RenderContainer::removeChild):
54234         (WebCore::RenderContainer::layout):
54235         (WebCore::RenderContainer::removeLeftoverAnonymousBoxes):
54236         (WebCore::RenderContainer::positionForCoordinates):
54237         (WebCore::RenderContainer::lineBoxRects):
54238         * rendering/RenderListItem.cpp: Added.
54239         (WebCore::RenderListItem::RenderListItem):
54240         (WebCore::RenderListItem::setStyle):
54241         (WebCore::RenderListItem::calcValue):
54242         (WebCore::RenderListItem::markerStringValue):
54243         * rendering/RenderListItem.h: Added.
54244         (WebCore::RenderListItem::renderName):
54245         (WebCore::RenderListItem::setValue):
54246         (WebCore::RenderListItem::setNotInList):
54247         (WebCore::RenderListItem::notInList):
54248         * rendering/RenderListMarker.cpp: Added.
54249         (WebCore::RenderListMarker::RenderListMarker):
54250         (WebCore::RenderListMarker::setStyle):
54251         (WebCore::RenderListMarker::paint):
54252         (WebCore::RenderListMarker::layout):
54253         (WebCore::RenderListMarker::calcMinMaxWidth):
54254         * rendering/RenderListMarker.h: Added.
54255         (WebCore::RenderListMarker::renderName):
54256         * rendering/RenderObject.cpp:
54257         * rendering/render_list.cpp: Removed.
54258         * rendering/render_list.h: Removed.
54260 2006-05-15  Sam Weinig  <sam.weinig@gmail.com>
54262         Reviewed by eseidel.
54264         Split render_form.* into separate files (one per class).
54265         http://bugs.webkit.org/show_bug.cgi?id=8889
54267         * WebCore.xcodeproj/project.pbxproj:
54268         * html/HTMLButtonElement.cpp:
54269         (WebCore::HTMLButtonElement::HTMLButtonElement):
54270         * html/HTMLFieldSetElement.cpp:
54271         * html/HTMLFormElement.cpp:
54272         * html/HTMLInputElement.cpp:
54273         * html/HTMLLabelElement.cpp:
54274         * html/HTMLLegendElement.cpp:
54275         (WebCore::HTMLLegendElement::createRenderer):
54276         * html/HTMLOptionElement.cpp:
54277         * html/HTMLSelectElement.cpp:
54278         * html/HTMLTextAreaElement.cpp:
54279         (WebCore::HTMLTextAreaElement::selectionStart):
54280         (WebCore::HTMLTextAreaElement::selectionEnd):
54281         (WebCore::HTMLTextAreaElement::setSelectionStart):
54282         (WebCore::HTMLTextAreaElement::setSelectionEnd):
54283         (WebCore::HTMLTextAreaElement::setSelectionRange):
54284         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
54285         (WebCore::HTMLTextAreaElement::createRenderer):
54286         (WebCore::HTMLTextAreaElement::setValue):
54287         (WebCore::HTMLTextAreaElement::setDefaultValue):
54288         (WebCore::HTMLTextAreaElement::setAccessKey):
54289         * kwq/KWQComboBox.mm:
54290         * kwq/KWQFileButton.mm:
54291         * kwq/KWQListBox.mm:
54292         * kwq/KWQSlider.mm:
54293         * platform/mac/WebCoreTextField.mm:
54294         * rendering/RenderFieldset.cpp: Added.
54295         (WebCore::RenderFieldset::RenderFieldset):
54296         (WebCore::RenderFieldset::findLegend):
54297         (WebCore::RenderFieldset::paintBorderMinusLegend):
54298         (WebCore::RenderFieldset::setStyle):
54299         * rendering/RenderFieldset.h: Added.
54300         (WebCore::RenderFieldset::renderName):
54301         * rendering/RenderFileButton.cpp: Added.
54302         (WebCore::RenderFileButton::RenderFileButton):
54303         (WebCore::RenderFileButton::calcMinMaxWidth):
54304         (WebCore::RenderFileButton::updateFromElement):
54305         (WebCore::RenderFileButton::click):
54306         * rendering/RenderFileButton.h: Added.
54307         (WebCore::RenderFileButton::renderName):
54308         (WebCore::RenderFileButton::calcReplacedHeight):
54309         (WebCore::RenderFileButton::isEditable):
54310         * rendering/RenderFormElement.cpp: Added.
54311         (WebCore::RenderFormElement::RenderFormElement):
54312         (WebCore::RenderFormElement::baselinePosition):
54313         (WebCore::RenderFormElement::layout):
54314         * rendering/RenderFormElement.h: Added.
54315         (WebCore::RenderFormElement::renderName):
54316         (WebCore::RenderFormElement::isFormElement):
54317         (WebCore::RenderFormElement::borderTop):
54318         (WebCore::RenderFormElement::borderBottom):
54319         (WebCore::RenderFormElement::borderLeft):
54320         (WebCore::RenderFormElement::borderRight):
54321         (WebCore::RenderFormElement::paddingTop):
54322         (WebCore::RenderFormElement::paddingBottom):
54323         (WebCore::RenderFormElement::paddingLeft):
54324         (WebCore::RenderFormElement::paddingRight):
54325         (WebCore::RenderFormElement::canHaveIntrinsicMargins):
54326         (WebCore::RenderFormElement::intrinsicMargin):
54327         (WebCore::RenderFormElement::isEditable):
54328         * rendering/RenderImageButton.cpp: Added.
54329         (WebCore::RenderImageButton::RenderImageButton):
54330         * rendering/RenderImageButton.h: Added.
54331         (WebCore::RenderImageButton::renderName):
54332         (WebCore::RenderImageButton::isImageButton):
54333         * rendering/RenderLabel.cpp: Added.
54334         (WebCore::RenderLabel::RenderLabel):
54335         * rendering/RenderLabel.h: Added.
54336         (WebCore::RenderLabel::renderName):
54337         * rendering/RenderLegend.cpp: Added.
54338         (WebCore::RenderLegend::RenderLegend):
54339         * rendering/RenderLegend.h: Added.
54340         (WebCore::RenderLegend::renderName):
54341         * rendering/RenderLineEdit.cpp: Added.
54342         (WebCore::RenderLineEdit::RenderLineEdit):
54343         * rendering/RenderLineEdit.h: Added.
54344         (WebCore::RenderLineEdit::renderName):
54345         (WebCore::RenderLineEdit::calcReplacedHeight):
54346         (WebCore::RenderLineEdit::canHaveIntrinsicMargins):
54347         (WebCore::RenderLineEdit::isTextField):
54348         (WebCore::RenderLineEdit::isEditable):
54349         * rendering/RenderSelect.cpp: Added.
54350         (WebCore::RenderSelect::RenderSelect):
54351         (WebCore::RenderSelect::setWidgetWritingDirection):
54352         (WebCore::RenderSelect::setStyle):
54353         (WebCore::RenderSelect::updateFromElement):
54354         (WebCore::RenderSelect::baselinePosition):
54355         (WebCore::RenderSelect::calcMinMaxWidth):
54356         (WebCore::RenderSelect::layout):
54357         (WebCore::RenderSelect::valueChanged):
54358         (WebCore::RenderSelect::selectionChanged):
54359         (WebCore::RenderSelect::updateSelection):
54360         * rendering/RenderSelect.h: Added.
54361         (WebCore::RenderSelect::renderName):
54362         (WebCore::RenderSelect::calcReplacedHeight):
54363         (WebCore::RenderSelect::canHaveIntrinsicMargins):
54364         (WebCore::RenderSelect::selectionChanged):
54365         (WebCore::RenderSelect::setSelectionChanged):
54366         * rendering/RenderSlider.cpp: Added.
54367         (WebCore::RenderSlider::calcMinMaxWidth):
54368         (WebCore::RenderSlider::updateFromElement):
54369         * rendering/RenderSlider.h: Added.
54370         (WebCore::RenderSlider::renderName):
54371         (WebCore::RenderSlider::canHaveIntrinsicMargins):
54372         * rendering/RenderTextArea.cpp: Added.
54373         (WebCore::RenderTextArea::RenderTextArea):
54374         (WebCore::RenderTextArea::calcMinMaxWidth):
54375         (WebCore::RenderTextArea::setStyle):
54376         (WebCore::RenderTextArea::updateFromElement):
54377         (WebCore::RenderTextArea::selectionStart):
54378         (WebCore::RenderTextArea::selectionEnd):
54379         (WebCore::RenderTextArea::setSelectionStart):
54380         (WebCore::RenderTextArea::setSelectionEnd):
54381         (WebCore::RenderTextArea::select):
54382         (WebCore::RenderTextArea::setSelectionRange):
54383         * rendering/RenderTextArea.h: Added.
54384         (WebCore::RenderTextArea::renderName):
54385         (WebCore::RenderTextArea::isTextArea):
54386         (WebCore::RenderTextArea::isEdited):
54387         (WebCore::RenderTextArea::canHaveIntrinsicMargins):
54388         (WebCore::RenderTextArea::isEditable):
54389         * rendering/render_form.cpp: Removed.
54390         * rendering/render_form.h: Removed.
54392 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
54394         Reviewed by Eric.
54396         Remove the XPath log calls. They were causing leaks and were never
54397         really useful.
54398         
54399         * bridge/mac/WebCorePageBridge.mm:
54400         (initializeLoggingChannelsIfNecessary):
54401         * platform/Logging.cpp:
54402         * platform/Logging.h:
54403         * xpath/XPathResult.cpp:
54404         (WebCore::XPathResult::convertTo):
54405         * xpath/impl/XPathFunctions.cpp:
54406         (round):
54407         (WebCore::XPath::FunCount::doEvaluate):
54408         (WebCore::XPath::FunSum::doEvaluate):
54409         (WebCore::XPath::FunctionLibrary::createFunction):
54410         * xpath/impl/XPathPath.cpp:
54411         (WebCore::XPath::Filter::doEvaluate):
54412         (WebCore::XPath::LocationPath::doEvaluate):
54413         * xpath/impl/XPathPredicate.cpp:
54414         (WebCore::XPath::Negative::doEvaluate):
54415         (WebCore::XPath::NumericOp::doEvaluate):
54416         (WebCore::XPath::Union::doEvaluate):
54417         * xpath/impl/XPathStep.cpp:
54418         (WebCore::XPath::Step::evaluate):
54419         (WebCore::XPath::Step::nodesInAxis):
54420         (WebCore::XPath::Step::nodeTestMatches):
54421         * xpath/impl/XPathValue.cpp:
54422         (WebCore::XPath::Value::toNodeVector):
54424 2006-05-15  Eric Seidel  <eseidel@apple.com>
54426         Fix linux build.
54428         * html/HTMLBodyElement.cpp: Fix case of #include "cssstyleselector.h"
54430 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
54432         Reviewed by Maciej.
54434         http://bugs.webkit.org/show_bug.cgi?id=8913
54435         REGRESSION: Can view source for text files
54436         
54437         * bridge/mac/WebCoreFrameBridge.h:
54438         * bridge/mac/WebCoreFrameBridge.mm:
54439         (-[WebCoreFrameBridge canProvideDocumentSource]):
54440         (-[WebCoreFrameBridge canSaveAsWebArchive]):
54442 2006-05-15  David Hyatt  <hyatt@apple.com>
54444         Remove the .forPrinter boolean from FontPlatformData.  After the initial
54445         acquisition of an NSFont, the font is then adjusted to printer or screen
54446         when put into a FontPlatformData.  Then it can simply be used in the hash
54447         lookup to get a FontData.
54449         Reviewed by mjs
54451         * platform/Font.cpp:
54452         (WebCore::WidthIterator::advance):
54453         * platform/FontData.h:
54454         * platform/FontDescription.h:
54455         (WebCore::FontDescription::bold):
54456         * platform/FontPlatformData.h:
54457         (WebCore::FontPlatformData::syntheticOblique):
54458         * platform/mac/FontCacheMac.mm:
54459         (WebCore::FontCache::getFontDataForCharacters):
54460         * platform/mac/FontData.mm:
54461         (WebCore::FontData::smallCapsFontData):
54462         (WebCore::getSmallCapsFontData):
54463         (WebCore::setUpFont):
54464         * platform/mac/FontMac.mm:
54465         (WebCore::ATSULayoutParameters::initialize):
54466         * platform/mac/WebTextRendererFactory.h:
54467         * platform/mac/WebTextRendererFactory.mm:
54468         (-[WebTextRendererFactory rendererWithFont:]):
54469         (-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):
54471 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
54473         Reviewed by Maciej.
54475         * dom/Document.idl:
54476         Remove #if XPATH_SUPPORT until we have a way to feed defines to the bindings generator
54477         (see http://bugs.webkit.org/show_bug.cgi?id=8912)
54479 2006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
54481         Reviewed by Hyatt.
54483         - fix http://bugs.webkit.org/show_bug.cgi?id=6838
54484           Incomplete repaint of collapsed table borders
54485           
54486         This patch updates the implementation of collapsing borders to match
54487         the current spec.
54489         Test: fast/repaint/table-collapsed-border.html
54491         * rendering/RenderTable.cpp:
54492         (WebCore::RenderTable::RenderTable):
54493         (WebCore::RenderTable::layout): Calculate horizontal overflows.
54494         (WebCore::RenderTable::calcMinMaxWidth): Added call to recalcHorizontalBorders.
54495         (WebCore::RenderTable::colElement): Made const.
54496         (WebCore::RenderTable::calcBorderLeft): Calculates the left border. In the collapsing
54497         borders model, this is the left border of the leftmost cell of the first row.
54498         (WebCore::RenderTable::calcBorderRight): Ditto for the right border.
54499         (WebCore::RenderTable::recalcHorizontalBorders): Added.
54500         (WebCore::RenderTable::borderTop): Changed to return outerBorderTop in the
54501         collapsing case.
54502         (WebCore::RenderTable::borderBottom): Changed to return outerBorderBottom in
54503         the collapsing case.
54504         (WebCore::RenderTable::outerBorderTop): Added. Returns the table half of the
54505         top border, which is half the widest top border on the first row.
54506         (WebCore::RenderTable::outerBorderBottom): Added. Returns the table half of the
54507         bottom border, which is half the widest bottom border on the last row.
54508         (WebCore::RenderTable::outerBorderLeft): Added. Returns the table half of the
54509         left border, which is half the widest left border on the leftmost column.
54510         (WebCore::RenderTable::outerBorderRight): Added. Returns the table half of the
54511         right border, which is half the widest right border on the rightmost column.
54512         (WebCore::RenderTable::cellAbove): Return 0 if the cell is in the first row
54513         of the header.
54514         (WebCore::RenderTable::cellBelow): Return 0 if the cell is in the last row
54515         of the footer.
54516         * rendering/RenderTable.h:
54517         (WebCore::RenderTable::borderLeft):
54518         (WebCore::RenderTable::borderRight):
54519         (WebCore::RenderTable::overflowHeight):
54520         * rendering/RenderTableCell.cpp:
54521         (WebCore::RenderTableCell::borderLeft): Removed unnecessary use of floats.
54522         (WebCore::RenderTableCell::borderTop): Ditto.
54523         (WebCore::RenderTableCell::paint): Account for the table half of the vertical
54524         borders.
54525         (WebCore::RenderTableCell::paintCollapsedBorder): Removed unnecessary use of
54526         floats.
54527         * rendering/RenderTableSection.cpp:
54528         (WebCore::RenderTableSection::RenderTableSection):
54529         (WebCore::RenderTableSection::layoutRows): Added call to recalcOuterBorder.
54530         (WebCore::RenderTableSection::calcOuterBorderTop): Added. Calculates the outer half of
54531         the section's top border, which is half the widest top border on the first row.
54532         (WebCore::RenderTableSection::calcOuterBorderBottom): Ditto for the bottom border.
54533         (WebCore::RenderTableSection::calcOuterBorderLeft): Ditto for the left border.
54534         (WebCore::RenderTableSection::calcOuterBorderRight): Ditto for the right border.
54535         (WebCore::RenderTableSection::recalcOuterBorder): Added.
54536         (WebCore::RenderTableSection::paint): Account for the table half of the borders.
54537         * rendering/RenderTableSection.h:
54538         (WebCore::RenderTableSection::outerBorderTop):
54539         (WebCore::RenderTableSection::outerBorderBottom):
54540         (WebCore::RenderTableSection::outerBorderLeft):
54541         (WebCore::RenderTableSection::outerBorderRight):
54542         * rendering/render_style.cpp:
54543         (WebCore::RenderStyle::diff): Changed to return Layout if a border style changed
54544         from 'hidden' to 'none' or vice versa in the collapsing borders model, since
54545         'hidden' suppresses other borders.
54547 2006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
54549         Reviewed by Darin.
54551         - test for http://bugs.webkit.org/show_bug.cgi?id=8739
54552           Crash in RenderTableSection::paint due to manipulating DOM on resize
54554         * manual-tests/dom-manipulation-on-resize.html: Added.
54556 2006-05-14  Rob Buis  <buis@kde.org>
54558         Reviewed by Darin.
54560         Fix for http://bugs.webkit.org/show_bug.cgi?id=5882:
54561         disabled type="file" element doesn't appear disabled
54563         Be sure to call setDisabled on the file button when in
54564         RenderFileButton::updateFromElement.
54566         * kwq/KWQFileButton.h:
54567         * kwq/KWQFileButton.mm:
54568         (-[WebFileChooserButton setEnabled:]):
54569         (KWQFileButton::setDisabled):
54570         * rendering/render_form.cpp:
54571         (WebCore::RenderFileButton::updateFromElement):
54573 2006-05-14  Steve Falkenburg  <sfalken@apple.com>
54575         Fix Windows build.
54577         * platform/win/FontWin.cpp:
54578         (WebCore::FontFallbackList::fontDataAt):
54579         (WebCore::hackishExtentForString):
54580         (WebCore::Font::floatWidth):
54581         (WebCore::Font::drawText):
54582         (WebCore::Font::selectionRectForText):
54583         (WebCore::Font::offsetForPosition):
54585 2006-05-14  David Hyatt  <hyatt@apple.com>
54587         Bug 8895.  Rework font substitution and fallback.  Lift the concept of
54588         substitution and fallback out of FontData and up into the FontFallbackList.
54589         See the bug for details of issues fixed in the fallback code.
54591         Reviewed by darin
54593         * WebCore.xcodeproj/project.pbxproj:
54594         * platform/Font.cpp:
54595         (WebCore::m_finalRoundingWidth):
54596         (WebCore::WidthIterator::advance):
54597         (WebCore::Font::primaryFont):
54598         (WebCore::Font::fontDataAt):
54599         (WebCore::Font::fontDataForCharacters):
54600         (WebCore::Font::ascent):
54601         (WebCore::Font::descent):
54602         (WebCore::Font::lineSpacing):
54603         (WebCore::Font::xHeight):
54604         (WebCore::Font::isFixedPitch):
54605         * platform/Font.h:
54606         (WebCore::Font::getNSFont):
54607         * platform/FontCache.h: Added.
54608         * platform/FontData.h:
54609         (WebCore::FontData::pitch):
54610         (WebCore::FontData::getNSFont):
54611         (WebCore::):
54612         * platform/FontFallbackList.cpp: Added.
54613         (WebCore::m_pitch):
54614         (WebCore::FontFallbackList::~FontFallbackList):
54615         (WebCore::FontFallbackList::invalidate):
54616         (WebCore::FontFallbackList::determinePitch):
54617         (WebCore::FontFallbackList::fontDataAt):
54618         (WebCore::FontFallbackList::fontDataForCharacters):
54619         * platform/FontFallbackList.h:
54620         (WebCore::FontFallbackList::isFixedPitch):
54621         (WebCore::FontFallbackList::primaryFont):
54622         * platform/FontFamily.h:
54623         * platform/mac/FontCacheMac.mm: Added.
54624         (WebCore::FontCache::getFontData):
54625         (WebCore::FontCache::getFontDataForCharacters):
54626         * platform/mac/FontData.mm:
54627         (WebCore::FontData::containsCharacters):
54628         * platform/mac/FontMac.mm:
54629         (WebCore::ATSULayoutParameters::initialize):
54630         * platform/mac/WebTextRendererFactory.h:
54631         * platform/mac/WebTextRendererFactory.mm:
54632         (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
54633         (-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):
54634         * platform/win/FontWin.cpp:
54635         (WebCore::FontFallbackList::determinePitch):
54636         (WebCore::FontFallbackList::primaryFont):
54637         (WebCore::FontFallbackList::fontDataAt):
54638         (WebCore::FontFallbackList::fontDataForCharacters):
54640 2006-05-14  Sam Weinig  <sam.weinig@gmail.com>
54642         Reviewed by Hyatt, landed by ap.
54644         Fix for <http://bugs.webkit.org/show_bug.cgi?id=8387>
54645         "border-left/padding-Left do not show up on multiline rtl inline boxes"
54647         Test: fast/inline/inline-borders-with-bidi-override.html: added
54649         * rendering/InlineFlowBox.cpp:
54650         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
54652 2006-05-14  Steve Falkenburg  <sfalken@apple.com>
54654         Fix the Windows build the rest of the way
54656         * WebCore.vcproj/WebCore/WebCore.vcproj:
54658 2006-05-14  Steve Falkenburg  <sfalken@apple.com>
54660         Get FontWin.cpp compiling.
54661         WebCore and JSCore now build, but Spinneret still gets link errors.
54663         * platform/win/FontWin.cpp:
54664         (WebCore::Font::offsetForPosition):
54666 2006-05-14  Steve Falkenburg  <sfalken@apple.com>
54668         Reviewed by maciej.
54670         Fix Windows build except for fontwin.cpp.
54672         * WebCore/platform/win/FontWin.cpp:
54673         * WebCore.vcproj/WebCore/WebCore.vcproj:
54674         * bridge/win/FrameWin.cpp:
54676 2006-05-13  Kevin M. Ollivier  <kevino@theolliviers.com>
54678         Reviewed by Darin, landed by ap.
54680         - http://bugs.webkit.org/show_bug.cgi?id=8528
54681           Bakefiles (and generated Makefiles) for wx and gdk ports
54682         
54683         * make-generated-sources.sh: 
54684         Added script to configure environment to run DerivedSources.make
54685         
54686         * move-js-headers.sh:
54687         Added script to copy JavaScriptCore includes into one dir so that 
54688         Framework-style includes will work on all OSes. (written by Mike Emmel)
54689         
54690         * platform/wx: New dir, home for the wxWidgets port
54691         * platform/wx/wx-encodings.txt: Added temp. stub for wx encodings file.
54692         
54693         * Projects: New dir, for various project files for ports.
54694         
54695         * Projects/gdk: New dir, GDK port files.
54696         * Projects/webcore-gdk.bkl: Bakefile to generate GDK port project files
54697         
54698         * Projects/wx: New dir, wxWidgets port files.
54699         * Projects/webcore-wx.bkl: Bakefile to generate wxWidgets port project files
54701 2006-05-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
54703         Reviewed by Darin, landed by ap.
54705         - fix http://bugs.webkit.org/show_bug.cgi?id=8485
54706           iExploder(#11705): Freeze in RenderBlock::layout()
54708         Test: fast/text/midword-break-hang.html
54710         * rendering/bidi.cpp:
54711         (WebCore::RenderBlock::findNextLineBreak): If this is a mid-word break,
54712         ignore breakOnlyAfterWhiteSpace.
54714 2006-05-13  Alexey Proskuryakov  <ap@nypop.com>
54716         Fix release build.
54718         * rendering/RenderBox.cpp:
54719         (WebCore::RenderBox::calcAbsoluteHorizontalValues): Initialize leftValue. 
54720         This value will never be used, because 'left' and 'right' cannot both be 'auto'.
54721         (WebCore::RenderBox::calcAbsoluteVerticalValues): Initialize topValue. 
54722         (WebCore::RenderBox::calcAbsoluteVerticalReplaced): Same changes as above. 
54724 2006-05-13  Alexey Proskuryakov  <ap@nypop.com>
54726         Re-applied the fix for bug 8835 (REGRESSION: Line moves but selection
54727         highlight stays behind) to a correct file; removed the stale one.
54729         * rendering/RootInlineBox.cpp:
54730         (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
54731         and m_selectionBottom.
54732         * rendering/render_line.cpp: Removed.
54734 2006-05-13  Rob Buis  <buis@kde.org>
54736         Reviewed by Darin, landed by ap.
54738         Fix for http://bugs.webkit.org/show_bug.cgi?id=8132
54739         CSS parser sometimes accepts real number as integer
54741         Add a boolean variable per css value to catch whether values
54742         are specified as floats or integers.
54744         Test: fast/css/rgb-float.html
54746         * css/CSSGrammar.y:
54747         * css/cssparser.cpp:
54748         (WebCore::CSSParser::validUnit):
54749         (WebCore::CSSParser::lex):
54750         * css/cssparser.h:
54751         * css/tokenizer.flex:
54753 2006-05-13  Sam Weinig  <sam.weinig@gmail.com>
54755         Reviewed by Hyatt, landed by ap.
54757         Patch for http://bugs.webkit.org/show_bug.cgi?id=7604
54758         calcAbsoluteHorizontalValues() is being getting passed arguments
54759         in the wrong order in calcAbsoluteHorizontal()
54761         Cleans up the RenderBox code for absolutely positioned elements
54762         and adds new functions for replaced absolutely positioned 
54763         elements. Now uses Length so that magic number -666666 for 
54764         auto lengths is no longer used.
54766         * rendering/RenderBox.cpp:
54767         (WebCore::RenderBox::calcAbsoluteHorizontal):
54768         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
54769         (WebCore::RenderBox::calcAbsoluteVertical):
54770         (WebCore::RenderBox::calcAbsoluteVerticalValues): 
54771         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Handle replaced
54772         case separately.
54773         (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto.
54774         * rendering/RenderBox.h:
54776 2006-05-12  David Hyatt  <hyatt@apple.com>
54778         Bug 8880, remove the remaining drawing/hit testing code from
54779         FontData.
54781         Reviewed by tim h
54783         * platform/Font.cpp:
54784         (WebCore::m_finalRoundingWidth):
54785         (WebCore::WidthIterator::advanceOneCharacter):
54786         (WebCore::Font::selectionRectForText):
54787         (WebCore::Font::selectionRectForSimpleText):
54788         (WebCore::Font::offsetForPosition):
54789         (WebCore::Font::offsetForPositionForSimpleText):
54790         * platform/Font.h:
54791         (WebCore::TextRun::makeComplete):
54792         * platform/FontData.h:
54793         * platform/GlyphBuffer.h:
54794         (WebCore::GlyphBuffer::clear):
54795         * platform/mac/FontData.mm:
54796         * platform/mac/FontMac.mm:
54797         (WebCore::Font::selectionRectForComplexText):
54798         (WebCore::Font::offsetForPositionForComplexText):
54800 2006-05-12  Kevin M. Ollivier  <kevino@theolliviers.com>
54802         Reviewed by Maciej.
54804         Add missing include.
54805         
54806         * dom/Node.h: Add missing include for DeprecatedString.
54808 2006-05-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
54810         Reviewed by Darin.
54812         - fix http://bugs.webkit.org/show_bug.cgi?id=8835
54813           REGRESSION: Line moves but selection highlight stays behind
54815         Test: fast/dynamic/selection-highlight-adjust.html
54817         * rendering/render_line.cpp:
54818         (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
54819         and m_selectionBottom.
54821 2006-05-12  Timothy Hatcher  <timothy@apple.com>
54823         Reviewed by Darin.
54825         http://bugs.webkit.org/show_bug.cgi?id=7156
54826         Bug 7156: TinyMCE: Links are actually activated in editable area, not editable.
54827         
54828         Links in editable areas will not activate or perform a navigation
54829         change (on par with WinIE and Firefox.) To visit the link
54830         you can shift-click. Manual test added.
54832         * css/cssstyleselector.cpp:
54833         (WebCore::CSSStyleSelector::adjustRenderStyle):
54834         * html/HTMLAnchorElement.cpp:
54835         (WebCore::HTMLAnchorElement::defaultEventHandler):
54836         (WebCore::HTMLAnchorElement::setActive):
54837         * html/HTMLAnchorElement.h:
54838         * manual-tests/contenteditable-link.html: Added.
54839         * page/FrameView.cpp:
54840         (WebCore::selectCursor):
54842 2006-05-12  Eric Seidel  <eseidel@apple.com>
54844         Reviewed by timo.
54846         Split out html_inlineimpl.* into separate files (one per class).
54848         * WebCore.xcodeproj/project.pbxproj:
54849         * bindings/js/kjs_html.cpp:
54850         * bindings/objc/DOMHTML.mm:
54851         * editing/CreateLinkCommand.cpp:
54852         * editing/UnlinkCommand.cpp:
54853         * html/HTMLAnchorElement.cpp: Added.
54854         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
54855         * html/HTMLAnchorElement.h: Added.
54856         * html/HTMLBRElement.cpp: Added.
54857         * html/HTMLBRElement.h: Added.
54858         * html/HTMLElementFactory.cpp:
54859         * html/HTMLFontElement.cpp: Added.
54860         (WebCore::HTMLFontElement::HTMLFontElement):
54861         (WebCore::HTMLFontElement::setColor):
54862         (WebCore::HTMLFontElement::setFace):
54863         (WebCore::HTMLFontElement::setSize):
54864         * html/HTMLFontElement.h: Added.
54865         * html/HTMLModElement.cpp: Added.
54866         (WebCore::HTMLModElement::setCite):
54867         (WebCore::HTMLModElement::setDateTime):
54868         * html/HTMLModElement.h: Added.
54869         * html/HTMLQuoteElement.cpp: Added.
54870         * html/HTMLQuoteElement.h: Added.
54871         * html/html_imageimpl.h:
54872         * html/html_inlineimpl.cpp: Removed.
54873         * html/html_inlineimpl.h: Removed.
54874         * page/FrameView.cpp:
54876 2006-05-12  Eric Seidel  <eseidel@apple.com>
54878         Reviewed by beth.
54880         Fix build error.
54882         * rendering/InlineFlowBox.cpp:
54883         * rendering/RootInlineBox.cpp:
54885 2006-05-12  Eric Seidel  <eseidel@apple.com>
54887         Reviewed by beth.
54889         Split out render_line.* into separate files (one per class).
54891         * WebCore.xcodeproj/project.pbxproj:
54892         * dom/ContainerNode.cpp:
54893         * rendering/EllipsisBox.cpp: Added.
54894         * rendering/EllipsisBox.h: Added.
54895         (WebCore::EllipsisBox::EllipsisBox):
54896         * rendering/InlineBox.cpp: Added.
54897         * rendering/InlineBox.h: Added.
54898         (WebCore::InlineBox::InlineBox):
54899         (WebCore::InlineBox::~InlineBox):
54900         (WebCore::InlineBox::bottomOverflow):
54901         (WebCore::InlineBox::rightOverflow):
54902         * rendering/InlineFlowBox.cpp: Added.
54903         (WebCore::InlineFlowBox::placeBoxesHorizontally):
54904         * rendering/InlineFlowBox.h: Added.
54905         * rendering/InlineRunBox.h: Added.
54906         (WebCore::InlineRunBox::InlineRunBox):
54907         (WebCore::InlineRunBox::paintBackgroundAndBorder):
54908         (WebCore::InlineRunBox::paintDecorations):
54909         * rendering/InlineTextBox.h:
54910         * rendering/RenderBlock.h:
54911         * rendering/RenderFlow.h:
54912         * rendering/RenderReplaced.cpp:
54913         * rendering/RootInlineBox.cpp: Added.
54914         * rendering/RootInlineBox.h: Added.
54915         (WebCore::RootInlineBox::RootInlineBox):
54916         * rendering/render_line.h: Removed.
54918 2006-05-12  Eric Seidel  <eseidel@apple.com>
54920         Reviewed by hyatt.
54922         Split out table_layout.* into separate files (one per class).
54923         Search replace instance variables "foo" with "m_foo" to comply with modern style.
54925         * WebCore.xcodeproj/project.pbxproj:
54926         * rendering/AutoTableLayout.cpp: Added.
54927         (WebCore::AutoTableLayout::AutoTableLayout):
54928         (WebCore::AutoTableLayout::recalcColumn):
54929         (WebCore::AutoTableLayout::fullRecalc):
54930         (WebCore::AutoTableLayout::calcMinMaxWidth):
54931         (WebCore::AutoTableLayout::calcEffectiveWidth):
54932         (WebCore::AutoTableLayout::insertSpanCell):
54933         (WebCore::AutoTableLayout::layout):
54934         (WebCore::AutoTableLayout::calcPercentages):
54935         * rendering/AutoTableLayout.h: Added.
54936         (WebCore::AutoTableLayout::totalPercent):
54937         (WebCore::AutoTableLayout::Layout::Layout):
54938         * rendering/FixedTableLayout.cpp: Added.
54939         (WebCore::FixedTableLayout::FixedTableLayout):
54940         (WebCore::FixedTableLayout::calcWidthArray):
54941         (WebCore::FixedTableLayout::calcMinMaxWidth):
54942         (WebCore::FixedTableLayout::layout):
54943         * rendering/FixedTableLayout.h: Added.
54944         * rendering/RenderTable.cpp:
54945         * rendering/TableLayout.h: Added.
54946         (WebCore::TableLayout::TableLayout):
54947         * rendering/table_layout.cpp: Removed.
54948         * rendering/table_layout.h: Removed.
54950 2006-05-12  David Hyatt  <hyatt@apple.com>
54952         Bug 8877.  Change form controls and the bridge entry points from the
54953         Safari UI to use Font instead of FontData.
54955         Reviewed by mjs
54957         * bridge/mac/WebCoreStringTruncator.mm:
54958         (stringWidth):
54959         (truncateString):
54960         (+[WebCoreStringTruncator widthOfString:font:]):
54961         (+[WebCoreStringTruncator clear]):
54962         * kwq/KWQComboBox.mm:
54963         (QComboBox::sizeHint):
54964         * kwq/KWQLineEdit.mm:
54965         (QLineEdit::sizeForCharacterWidth):
54966         * kwq/KWQListBox.mm:
54967         (itemTextRenderer):
54968         (groupLabelTextRenderer):
54969         (QListBox::sizeForNumberOfLines):
54970         (QListBox::clearCachedTextRenderers):
54971         (-[KWQTableView drawRow:clipRect:]):
54972         * platform/Font.cpp:
54973         (WebCore::Font::drawSimpleText):
54974         (WebCore::Font::drawText):
54975         * platform/Font.h:
54976         (WebCore::TextStyle::disableRoundingHacks):
54977         (WebCore::TextStyle::setRTL):
54978         * platform/FontData.h:
54979         * platform/FontFallbackList.h:
54980         * platform/FontPlatformData.h:
54981         (WebCore::FontPlatformData::syntheticOblique):
54982         * platform/Pen.h:
54983         * platform/mac/FontData.mm:
54984         (WebCore::FontData::smallCapsFontData):
54985         (WebCore::findSubstituteRenderer):
54986         * platform/mac/FontMac.mm:
54987         (WebCore::FontFallbackList::setPlatformFont):
54988         (WebCore::m_wordSpacing):
54989         (WebCore::Font::drawComplexText):
54990         * platform/mac/WebCoreTextRenderer.mm:
54991         (WebCoreDrawTextAtPoint):
54992         (WebCoreTextFloatWidth):
54993         * platform/win/FontWin.cpp:
54994         (WebCore::Font::drawText):
54995         * rendering/InlineTextBox.cpp:
54996         (WebCore::InlineTextBox::positionForOffset):
54998 2006-05-12  Eric Seidel  <eseidel@apple.com>
55000         Reviewed by kevin.
55002         Move render_button to RenderButton.
55003         Various small style cleanup.
55005         * WebCore.xcodeproj/project.pbxproj:
55006         * html/HTMLButtonElement.cpp:
55007         * html/HTMLElement.cpp:
55008         * html/HTMLGenericFormElement.cpp:
55009         * html/HTMLInputElement.cpp:
55010         * platform/mac/WebCoreTextArea.mm:
55011         * rendering/RenderApplet.h:
55012         * rendering/RenderBox.cpp:
55013         * rendering/RenderButton.cpp: Added.
55014         (WebCore::RenderButton::RenderButton):
55015         (WebCore::RenderButton::addChild):
55016         (WebCore::RenderButton::removeChild):
55017         * rendering/RenderButton.h: Added.
55018         * rendering/RenderEmptyApplet.h:
55019         * rendering/RenderHTMLCanvas.h:
55020         * rendering/RenderTreeAsText.cpp:
55021         * rendering/render_button.cpp: Removed.
55022         * rendering/render_button.h: Removed.
55023         * rendering/table_layout.cpp:
55024         (WebCore::FixedTableLayout::FixedTableLayout):
55025         (WebCore::FixedTableLayout::calcWidthArray):
55026         (WebCore::FixedTableLayout::calcMinMaxWidth):
55027         (WebCore::FixedTableLayout::layout):
55028         (WebCore::AutoTableLayout::AutoTableLayout):
55029         (WebCore::AutoTableLayout::recalcColumn):
55030         (WebCore::AutoTableLayout::fullRecalc):
55031         (WebCore::AutoTableLayout::calcMinMaxWidth):
55032         (WebCore::AutoTableLayout::calcEffectiveWidth):
55033         (WebCore::AutoTableLayout::insertSpanCell):
55034         (WebCore::AutoTableLayout::layout):
55035         * rendering/table_layout.h:
55036         (WebCore::TableLayout::TableLayout):
55037         (WebCore::AutoTableLayout::totalPercent):
55038         (WebCore::AutoTableLayout::Layout::Layout):
55040 2006-05-12  Eric Seidel  <eseidel@apple.com>
55042         Reviewed by mjs.
55044         Split render_frames.* render_replaced.* and html_baseimpl.* into separate files (one class per file).
55045         http://bugs.webkit.org/show_bug.cgi?id=8878
55047         * WebCore.xcodeproj/project.pbxproj:
55048         * bindings/js/kjs_html.cpp:
55049         (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
55050         (KJS::JSHTMLDocument::namedItemGetter):
55051         (KJS::JSHTMLDocument::getValueProperty):
55052         (KJS::JSHTMLDocument::getOwnPropertySlot):
55053         (KJS::JSHTMLDocument::putValueProperty):
55054         (KJS::JSHTMLElement::formIndexGetter):
55055         (KJS::JSHTMLElement::formNameGetter):
55056         (KJS::JSHTMLElement::selectIndexGetter):
55057         (KJS::JSHTMLElement::framesetNameGetter):
55058         (KJS::JSHTMLElement::runtimeObjectGetter):
55059         (KJS::JSHTMLElement::runtimeObjectPropertyGetter):
55060         (KJS::JSHTMLElement::getOwnPropertySlot):
55061         (KJS::JSHTMLElement::implementsCall):
55062         (KJS::JSHTMLElement::callAsFunction):
55063         (KJS::JSHTMLElement::getValueProperty):
55064         (KJS::JSHTMLElement::toString):
55065         (KJS::getForm):
55066         (KJS::JSHTMLElement::pushEventHandlerScope):
55067         (KJS::HTMLElementFunction::callAsFunction):
55068         (KJS::JSHTMLElement::put):
55069         (KJS::JSHTMLElement::selectSetter):
55070         (KJS::JSHTMLElement::putValueProperty):
55071         (KJS::toHTMLElement):
55072         (KJS::toHTMLTableCaptionElement):
55073         (KJS::toHTMLTableSectionElement):
55074         (KJS::JSHTMLCollection::lengthGetter):
55075         (KJS::JSHTMLCollection::indexGetter):
55076         (KJS::JSHTMLCollection::nameGetter):
55077         (KJS::JSHTMLCollection::getOwnPropertySlot):
55078         (KJS::HTMLCollectionProtoFunc::callAsFunction):
55079         (KJS::JSHTMLSelectCollection::selectedIndexGetter):
55080         (KJS::JSHTMLSelectCollection::put):
55081         (KJS::OptionConstructorImp::construct):
55082         (KJS::getSelectHTMLCollection):
55083         * bindings/objc/DOMHTML.mm:
55084         * bridge/mac/FrameMac.mm:
55085         (WebCore::FrameMac::createFrame):
55086         * bridge/mac/WebCoreFrameBridge.mm:
55087         (-[WebCoreFrameBridge copyRenderNode:copier:]):
55088         * dom/Document.cpp:
55089         (WebCore::widgetForNode):
55090         * html/HTMLBodyElement.cpp: Added.
55091         (WebCore::HTMLBodyElement::HTMLBodyElement):
55092         (WebCore::HTMLBodyElement::parseMappedAttribute):
55093         * html/HTMLBodyElement.h: Added.
55094         * html/HTMLDocument.cpp:
55095         * html/HTMLElementFactory.cpp:
55096         * html/HTMLEmbedElement.cpp:
55097         * html/HTMLFrameElement.cpp: Added.
55098         (WebCore::HTMLFrameElement::isURLAllowed):
55099         (WebCore::HTMLFrameElement::parseMappedAttribute):
55100         (WebCore::HTMLFrameElement::setLocation):
55101         * html/HTMLFrameElement.h: Added.
55102         * html/HTMLFrameSetElement.cpp: Added.
55103         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
55104         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
55105         (WebCore::HTMLFrameSetElement::attach):
55106         (WebCore::HTMLFrameSetElement::defaultEventHandler):
55107         (WebCore::HTMLFrameSetElement::recalcStyle):
55108         * html/HTMLFrameSetElement.h: Added.
55109         * html/HTMLHeadElement.cpp: Added.
55110         (WebCore::HTMLHeadElement::HTMLHeadElement):
55111         * html/HTMLHeadElement.h: Added.
55112         * html/HTMLHtmlElement.cpp: Added.
55113         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
55114         * html/HTMLHtmlElement.h: Added.
55115         * html/HTMLIFrameElement.cpp: Added.
55116         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
55117         * html/HTMLIFrameElement.h: Added.
55118         * html/HTMLObjectElement.cpp:
55119         * html/HTMLParser.cpp:
55120         * html/html_baseimpl.cpp: Removed.
55121         * html/html_baseimpl.h: Removed.
55122         * kwq/WebCoreAXObject.mm:
55123         * page/Frame.cpp:
55124         (WebCore::isFrameElement):
55125         (WebCore::Frame::applyEditingStyleToBodyElement):
55126         (WebCore::Frame::removeEditingStyleFromBodyElement):
55127         (WebCore::Frame::applyEditingStyleToElement):
55128         (WebCore::Frame::removeEditingStyleFromElement):
55129         (WebCore::Frame::selectionRect):
55130         (WebCore::Frame::isFrameSet):
55131         (WebCore::scanForForm):
55132         (WebCore::Frame::currentForm):
55133         (WebCore::Frame::nodeInfoAtPoint):
55134         (WebCore::Frame::adjustPageHeight):
55135         (WebCore::Frame::frameForWidget):
55136         (WebCore::Frame::forceLayoutWithPageWidthRange):
55137         (WebCore::Frame::passWidgetMouseDownEventToWidget):
55138         * page/FrameView.cpp:
55139         * rendering/RenderFrame.cpp: Added.
55140         (WebCore::RenderFrame::viewCleared):
55141         * rendering/RenderFrame.h: Added.
55142         * rendering/RenderFrameSet.cpp: Added.
55143         (WebCore::RenderFrameSet::RenderFrameSet):
55144         (WebCore::RenderFrameSet::~RenderFrameSet):
55145         (WebCore::RenderFrameSet::layout):
55146         (WebCore::RenderFrameSet::positionFrames):
55147         (WebCore::RenderFrameSet::userResize):
55148         (WebCore::RenderFrameSet::canResize):
55149         (WebCore::RenderFrameSet::dump):
55150         * rendering/RenderFrameSet.h: Added.
55151         * rendering/RenderImage.h:
55152         * rendering/RenderPart.cpp: Added.
55153         (WebCore::RenderPart::RenderPart):
55154         * rendering/RenderPart.h: Added.
55155         * rendering/RenderPartObject.cpp: Added.
55156         (WebCore::isURLAllowed):
55157         (WebCore::RenderPartObject::updateWidget):
55158         (WebCore::RenderPartObject::viewCleared):
55159         * rendering/RenderPartObject.h: Added.
55160         * rendering/RenderReplaced.cpp: Added.
55161         (WebCore::RenderReplaced::selectionColor):
55162         * rendering/RenderReplaced.h: Added.
55163         * rendering/RenderWidget.cpp: Added.
55164         (WebCore::RenderWidget::deleteWidget):
55165         * rendering/RenderWidget.h: Added.
55166         * rendering/render_form.h:
55167         * rendering/render_frames.cpp: Removed.
55168         * rendering/render_frames.h: Removed.
55169         * rendering/render_replaced.cpp: Removed.
55170         * rendering/render_replaced.h: Removed.
55172 2006-05-12  Eric Seidel  <eseidel@apple.com>
55174         Reviewed by beth.
55176         Split html_headimpl.* into separate files (one per class)
55177         http://bugs.webkit.org/show_bug.cgi?id=8875
55179         * WebCore.xcodeproj/project.pbxproj:
55180         * bindings/js/kjs_css.cpp:
55181         * bindings/js/kjs_html.cpp:
55182         (KJS::JSHTMLElement::headGetter):
55183         (KJS::JSHTMLElement::linkGetter):
55184         * bindings/objc/DOMCSS.mm:
55185         (+[DOMCounter _counterWith:]):
55186         (-[DOMCounter finalize]):
55187         (-[DOMCounter _DOMStyleSheet]):
55188         (-[DOMStyleSheet _initWithStyleSheet:]):
55189         (-[DOMStyleSheetList dealloc]):
55190         (-[DOMStyleSheetList finalize]):
55191         (-[DOMStyleSheetList _styleSheetList]):
55192         (-[DOMStyleSheetList _initWithStyleSheetList:]):
55193         (-[DOMCSSStyleSheet _CSSStyleSheet]):
55194         (-[DOMMediaList dealloc]):
55195         (-[DOMMediaList finalize]):
55196         (-[DOMMediaList _mediaList]):
55197         (-[DOMMediaList _initWithMediaList:]):
55198         (-[DOMCSSRuleList dealloc]):
55199         (-[DOMCSSRuleList finalize]):
55200         (-[DOMCSSRuleList _ruleList]):
55201         (-[DOMCSSRuleList _initWithRuleList:]):
55202         (-[DOMCSSRule dealloc]):
55203         (-[DOMCSSRule finalize]):
55204         (-[DOMCSSRule _rule]):
55205         (-[DOMCSSRule _initWithRule:]):
55206         (-[DOMCSSStyleRule _styleRule]):
55207         (-[DOMCSSMediaRule _mediaRule]):
55208         (-[DOMCSSFontFaceRule _fontFaceRule]):
55209         (-[DOMCSSPageRule _pageRule]):
55210         (-[DOMCSSImportRule _importRule]):
55211         (-[DOMCSSCharsetRule _importRule]):
55212         (-[DOMCSSStyleDeclaration dealloc]):
55213         (-[DOMCSSStyleDeclaration finalize]):
55214         (-[DOMCSSStyleDeclaration _initWithStyleDeclaration:]):
55215         (-[DOMCSSStyleDeclaration _styleDeclaration]):
55216         (-[DOMCSSValue dealloc]):
55217         (-[DOMCSSValue finalize]):
55218         (-[DOMCSSValue _value]):
55219         (-[DOMCSSValue _initWithValue:]):
55220         (-[DOMCSSPrimitiveValue _primitiveValue]):
55221         (-[DOMCSSValueList _valueList]):
55222         (getWrapperForRGB):
55223         (setWrapperForRGB):
55224         (removeWrapperForRGB):
55225         (-[DOMRGBColor _initWithRGB:]):
55226         (-[DOMRect dealloc]):
55227         (-[DOMRect finalize]):
55228         (-[DOMRect _rect]):
55229         (-[DOMRect _initWithRect:]):
55230         (-[DOMCounter dealloc]):
55231         (-[DOMCounter _counter]):
55232         (-[DOMCounter _initWithCounter:]):
55233         (-[DOMObject sheet]):
55234         * bindings/objc/DOMHTML.mm:
55235         (-[DOMHTMLCollection dealloc]):
55236         (-[DOMHTMLCollection finalize]):
55237         (-[DOMHTMLCollection _collection]):
55238         (-[DOMHTMLCollection _initWithCollection:]):
55239         (-[DOMHTMLOptionsCollection dealloc]):
55240         (-[DOMHTMLOptionsCollection finalize]):
55241         (-[DOMHTMLOptionsCollection _initWithOptionsCollection:]):
55242         (-[DOMHTMLOptionsCollection _optionsCollection]):
55243         (+[DOMHTMLElement _elementWith:]):
55244         (-[DOMHTMLElement _HTMLElement]):
55245         (-[DOMHTMLDocument _HTMLDocument]):
55246         (-[DOMHTMLHtmlElement _HTMLHtmlElement]):
55247         (-[DOMHTMLHeadElement _headElement]):
55248         (-[DOMHTMLLinkElement _linkElement]):
55249         (-[DOMHTMLTitleElement _titleElement]):
55250         (-[DOMHTMLMetaElement _metaElement]):
55251         (-[DOMHTMLBaseElement _baseElement]):
55252         (-[DOMHTMLStyleElement _styleElement]):
55253         (-[DOMHTMLBodyElement _bodyElement]):
55254         (-[DOMHTMLFormElement _formElement]):
55255         (+[DOMHTMLFormElement _formElementWith:]):
55256         (-[DOMHTMLIsIndexElement _isIndexElement]):
55257         (-[DOMHTMLSelectElement _selectElement]):
55258         (-[DOMHTMLOptGroupElement _optGroupElement]):
55259         (-[DOMHTMLOptionElement _optionElement]):
55260         (-[DOMHTMLInputElement _inputElement]):
55261         (-[DOMHTMLTextAreaElement _textAreaElement]):
55262         (-[DOMHTMLButtonElement _buttonElement]):
55263         (-[DOMHTMLLabelElement _labelElement]):
55264         (-[DOMHTMLLabelElement form]):
55265         (-[DOMHTMLFieldSetElement _fieldSetElement]):
55266         (-[DOMHTMLLegendElement _legendElement]):
55267         (-[DOMHTMLUListElement _uListElement]):
55268         (-[DOMHTMLOListElement _oListElement]):
55269         (-[DOMHTMLDListElement _dListElement]):
55270         (-[DOMHTMLDirectoryElement _directoryListElement]):
55271         (-[DOMHTMLMenuElement _menuListElement]):
55272         (-[DOMHTMLLIElement _liElement]):
55273         (-[DOMHTMLQuoteElement _quoteElement]):
55274         (-[DOMHTMLDivElement _divElement]):
55275         (-[DOMHTMLParagraphElement _paragraphElement]):
55276         (-[DOMHTMLHeadingElement _headingElement]):
55277         (-[DOMHTMLPreElement _preElement]):
55278         (-[DOMHTMLBRElement _BRElement]):
55279         (-[DOMHTMLBaseFontElement _baseFontElement]):
55280         (-[DOMHTMLFontElement _fontElement]):
55281         (-[DOMHTMLHRElement _HRElement]):
55282         (-[DOMHTMLModElement _modElement]):
55283         (-[DOMHTMLAnchorElement _anchorElement]):
55284         (-[DOMHTMLImageElement _imageElement]):
55285         (-[DOMHTMLObjectElement _objectElement]):
55286         (-[DOMHTMLParamElement _paramElement]):
55287         (-[DOMHTMLMapElement _mapElement]):
55288         (-[DOMHTMLAreaElement _areaElement]):
55289         (-[DOMHTMLScriptElement _scriptElement]):
55290         (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
55291         (-[DOMHTMLTableCaptionElement _tableCaptionElement]):
55292         (+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
55293         (-[DOMHTMLTableSectionElement _tableSectionElement]):
55294         (-[DOMHTMLTableElement createTHead]):
55295         (-[DOMHTMLTableElement createTFoot]):
55296         (-[DOMHTMLTableElement createCaption]):
55297         (-[DOMHTMLTableElement insertRow:]):
55298         (+[DOMHTMLTableElement _tableElementWith:]):
55299         (-[DOMHTMLTableElement _tableElement]):
55300         (-[DOMHTMLTableColElement _tableColElement]):
55301         (-[DOMHTMLTableRowElement _tableRowElement]):
55302         (-[DOMHTMLTableRowElement insertCell:]):
55303         (+[DOMHTMLTableCellElement _tableCellElementWith:]):
55304         (-[DOMHTMLTableCellElement _tableCellElement]):
55305         (-[DOMHTMLFrameSetElement _frameSetElement]):
55306         (-[DOMHTMLFrameElement _frameElement]):
55307         (-[DOMHTMLIFrameElement _IFrameElement]):
55308         (-[DOMHTMLEmbedElement _embedElement]):
55309         (viewForElement):
55310         * bridge/mac/FrameMac.mm:
55311         (WebCore::FrameMac::searchForLabelsAboveCell):
55312         (WebCore::FrameMac::searchForLabelsBeforeElement):
55313         (WebCore::FrameMac::createFrame):
55314         (WebCore::FrameMac::passMouseDownEventToWidget):
55315         (WebCore::FrameMac::passSubframeEventToSubframe):
55316         (WebCore::FrameMac::passWheelEventToChildWidget):
55317         (WebCore::FrameMac::fileWrapperForElement):
55318         (WebCore::listParent):
55319         (WebCore::FrameMac::attributedString):
55320         (WebCore::FrameMac::shouldBeginEditing):
55321         (WebCore::FrameMac::shouldEndEditing):
55322         (WebCore::FrameMac::setMarkedTextRange):
55323         * dom/Document.cpp:
55324         * dom/xml_tokenizer.cpp:
55325         * html/HTMLBaseElement.cpp: Added.
55326         (WebCore::HTMLBaseElement::removedFromDocument):
55327         (WebCore::HTMLBaseElement::process):
55328         * html/HTMLBaseElement.h: Added.
55329         * html/HTMLDocument.cpp:
55330         * html/HTMLElementFactory.cpp:
55331         * html/HTMLLinkElement.cpp: Added.
55332         (WebCore::HTMLLinkElement::HTMLLinkElement):
55333         (WebCore::HTMLLinkElement::process):
55334         * html/HTMLLinkElement.h: Added.
55335         * html/HTMLMetaElement.cpp: Added.
55336         (WebCore::HTMLMetaElement::HTMLMetaElement):
55337         (WebCore::HTMLMetaElement::parseMappedAttribute):
55338         (WebCore::HTMLMetaElement::process):
55339         (WebCore::HTMLMetaElement::setContent):
55340         (WebCore::HTMLMetaElement::setHttpEquiv):
55341         (WebCore::HTMLMetaElement::setName):
55342         * html/HTMLMetaElement.h: Added.
55343         * html/HTMLParser.cpp:
55344         * html/HTMLScriptElement.cpp: Added.
55345         (WebCore::HTMLScriptElement::HTMLScriptElement):
55346         (WebCore::HTMLScriptElement::parseMappedAttribute):
55347         (WebCore::HTMLScriptElement::evaluateScript):
55348         * html/HTMLScriptElement.h: Added.
55349         * html/HTMLStyleElement.cpp: Added.
55350         (WebCore::HTMLStyleElement::HTMLStyleElement):
55351         * html/HTMLStyleElement.h: Added.
55352         * html/HTMLTitleElement.cpp: Added.
55353         (WebCore::HTMLTitleElement::HTMLTitleElement):
55354         (WebCore::HTMLTitleElement::text):
55355         (WebCore::HTMLTitleElement::setText):
55356         * html/HTMLTitleElement.h: Added.
55357         * html/html_headimpl.cpp: Removed.
55358         * html/html_headimpl.h: Removed.
55359         * loader/CachedCSSStyleSheet.h:
55360         * rendering/RenderTableCell.cpp:
55361         (WebCore::RenderTableCell::updateFromElement):
55362         * rendering/RenderTableCol.cpp:
55363         (WebCore::RenderTableCol::updateFromElement):
55365 2006-05-12  Eric Seidel  <eseidel@apple.com>
55367         Reviewed by beth.
55369         Split out html_tableimpl.* into multiple files (one per class)
55370         http://bugs.webkit.org/show_bug.cgi?id=8873
55372         * WebCore.xcodeproj/project.pbxproj:
55373         * html/HTMLTableCaptionElement.cpp: Added.
55374         (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
55375         * html/HTMLTableCaptionElement.h: Added.
55376         * html/HTMLTableCellElement.cpp: Added.
55377         (WebCore::HTMLTableCellElement::HTMLTableCellElement):
55378         * html/HTMLTableCellElement.h: Added.
55379         * html/HTMLTableColElement.cpp: Added.
55380         (WebCore::HTMLTableColElement::HTMLTableColElement):
55381         (WebCore::HTMLTableColElement::endTagRequirement):
55382         (WebCore::HTMLTableColElement::tagPriority):
55383         (WebCore::HTMLTableColElement::checkDTD):
55384         * html/HTMLTableColElement.h: Added.
55385         * html/HTMLTableElement.cpp: Added.
55386         (WebCore::HTMLTableElement::HTMLTableElement):
55387         (WebCore::HTMLTableElement::setCaption):
55388         (WebCore::HTMLTableElement::setTHead):
55389         (WebCore::HTMLTableElement::setTFoot):
55390         (WebCore::HTMLTableElement::setTBody):
55391         (WebCore::HTMLTableElement::createTHead):
55392         (WebCore::HTMLTableElement::deleteTHead):
55393         (WebCore::HTMLTableElement::createTFoot):
55394         (WebCore::HTMLTableElement::deleteTFoot):
55395         (WebCore::HTMLTableElement::createCaption):
55396         (WebCore::HTMLTableElement::deleteCaption):
55397         (WebCore::HTMLTableElement::insertRow):
55398         (WebCore::HTMLTableElement::deleteRow):
55399         (WebCore::HTMLTableElement::addChild):
55400         (WebCore::HTMLTableElement::parseMappedAttribute):
55401         (WebCore::HTMLTableElement::attach):
55402         * html/HTMLTableElement.h: Added.
55403         * html/HTMLTablePartElement.cpp: Added.
55404         (WebCore::HTMLTablePartElement::parseMappedAttribute):
55405         * html/HTMLTablePartElement.h: Added.
55406         * html/HTMLTableRowElement.cpp: Added.
55407         (WebCore::HTMLTableRowElement::HTMLTableRowElement):
55408         (WebCore::HTMLTableRowElement::rowIndex):
55409         * html/HTMLTableRowElement.h: Added.
55410         * html/HTMLTableSectionElement.cpp: Added.
55411         (WebCore::HTMLTableSectionElement::insertRow):
55412         * html/HTMLTableSectionElement.h: Added.
55413         * html/html_tableimpl.cpp: Removed.
55414         * html/html_tableimpl.h: Removed.
55416 2006-05-10  Eric Seidel  <eseidel@apple.com>
55418         Reviewed by mjs & adele.
55420         Split html_objectimpl.* into multiple files (one per class)
55421         http://bugs.webkit.org/show_bug.cgi?id=8836
55423         * WebCore.xcodeproj/project.pbxproj:
55424         * bindings/js/kjs_dom.cpp:
55425         (KJS::DOMNamedNodeMap::lengthGetter):
55426         (KJS::DOMNamedNodeMap::indexGetter):
55427         (KJS::DOMNamedNodeMap::nameGetter):
55428         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
55429         (KJS::getRuntimeObject):
55430         * bindings/js/kjs_html.cpp:
55431         * html/HTMLAppletElement.cpp: Added.
55432         * html/HTMLAppletElement.h: Added.
55433         * html/HTMLElementFactory.cpp:
55434         * html/HTMLEmbedElement.cpp: Added.
55435         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
55436         (WebCore::HTMLEmbedElement::getInstance):
55437         (WebCore::HTMLEmbedElement::parseMappedAttribute):
55438         * html/HTMLEmbedElement.h: Added.
55439         * html/HTMLNameCollection.cpp:
55440         (WebCore::HTMLNameCollection::traverseNextItem):
55441         * html/HTMLObjectElement.cpp: Added.
55442         (WebCore::HTMLObjectElement::getInstance):
55443         (WebCore::HTMLObjectElement::form):
55444         (WebCore::HTMLObjectElement::parseMappedAttribute):
55445         (WebCore::HTMLObjectElement::updateDocNamedItem):
55446         * html/HTMLObjectElement.h: Added.
55447         * html/HTMLParamElement.cpp: Added.
55448         * html/HTMLParamElement.h: Added.
55449         * html/HTMLParser.cpp:
55450         * html/HTMLPlugInElement.cpp: Added.
55451         * html/HTMLPlugInElement.h: Added.
55452         * html/html_objectimpl.cpp: Removed.
55453         * html/html_objectimpl.h: Removed.
55454         * page/Frame.cpp:
55455         (WebCore::Frame::handleFallbackContent):
55456         * rendering/RenderApplet.cpp:
55457         * rendering/render_frames.cpp:
55458         (WebCore::RenderPartObject::updateWidget):
55460 2006-05-12  Darin Adler  <darin@apple.com>
55462         Reviewed by Adele.
55464         - fix http://bugs.webkit.org/show_bug.cgi?id=8521
55465           crash bringing up context menu with CSS generated content
55467         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
55468         Added a null check.
55470         * manual-tests/context-click-generated-content.html: Added.
55472 2006-05-12  Darin Adler  <darin@apple.com>
55474         Reviewed by Adele.
55476         - fix http://bugs.webkit.org/show_bug.cgi?id=8715
55477           REGRESSION: Caret to the right of an image is a big black rectangle.
55479         * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): Move caret to the
55480         right side of the rect when the offset is non-zero, rather than expanding it.
55482         * manual-tests/caret-image.html: Added.
55484 2006-05-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
55486         Reviewed and landed by Anders.
55487         
55488         - fix http://bugs.webkit.org/show_bug.cgi?id=8866
55489           REGRESSION: Incorrect caret position in RTL text
55491         Test: fast/text/international/rtl-caret.html
55493         * rendering/InlineTextBox.cpp:
55494         (WebCore::InlineTextBox::positionForOffset): Added missing m_toAdd argument.
55496 2006-05-12  David Hyatt  <hyatt@apple.com>
55498         Bug 8864. Lift WebCoreTextStyle up into the API (as TextStyle).
55500         Reviewed by mjs
55502         * platform/Font.cpp:
55503         (WebCore::m_finalRoundingWidth):
55504         (WebCore::WidthIterator::advance):
55505         (WebCore::Font::width):
55506         (WebCore::Font::drawSimpleText):
55507         (WebCore::Font::drawText):
55508         (WebCore::Font::floatWidth):
55509         (WebCore::Font::floatWidthForSimpleText):
55510         * platform/Font.h:
55511         (WebCore::TextStyle::m_attemptFontSubstitution):
55512         (WebCore::TextStyle::tabWidth):
55513         (WebCore::TextStyle::xPos):
55514         (WebCore::TextStyle::padding):
55515         (WebCore::TextStyle::rtl):
55516         (WebCore::TextStyle::ltr):
55517         (WebCore::TextStyle::directionalOverride):
55518         (WebCore::TextStyle::applyRunRounding):
55519         (WebCore::TextStyle::applyWordRounding):
55520         (WebCore::TextStyle::attemptFontSubstitution):
55521         (WebCore::Font::operator==):
55522         * platform/GraphicsContext.cpp:
55523         (WebCore::GraphicsContext::drawText):
55524         (WebCore::GraphicsContext::drawHighlightForText):
55525         * platform/GraphicsContext.h:
55526         * platform/mac/FontMac.mm:
55527         (WebCore::overrideLayoutOperation):
55528         (WebCore::ATSULayoutParameters::initialize):
55529         (WebCore::Font::selectionRectForText):
55530         (WebCore::Font::drawComplexText):
55531         (WebCore::Font::floatWidthForComplexText):
55532         (WebCore::Font::offsetForPosition):
55533         * rendering/InlineTextBox.cpp:
55534         (WebCore::InlineTextBox::selectionRect):
55535         (WebCore::InlineTextBox::paint):
55536         (WebCore::InlineTextBox::paintSelection):
55537         (WebCore::InlineTextBox::paintMarkedTextBackground):
55538         (WebCore::InlineTextBox::paintTextMatchMarker):
55539         (WebCore::InlineTextBox::offsetForPosition):
55540         (WebCore::InlineTextBox::positionForOffset):
55541         * rendering/RenderText.cpp:
55542         (WebCore::RenderText::widthFromCache):
55543         (WebCore::RenderText::calcMinMaxWidth):
55544         (WebCore::RenderText::width):
55545         * rendering/RenderTextField.cpp:
55546         (WebCore::RenderTextField::calcMinMaxWidth):
55547         * rendering/render_line.cpp:
55548         (WebCore::EllipsisBox::paint):
55550 2006-05-11  Alexey Proskuryakov  <ap@nypop.com>
55552         Reviewed by Darin.
55554         - http://bugs.webkit.org/show_bug.cgi?id=8770
55555           XMLHttpRequest should strip CR/LF characters from the URL
55557         Test: fast/loader/url-strip-cr-lf-tab.html
55559         * platform/KURL.cpp:
55560         (appendEscapingBadChars): Strip CR, LF and TAB, as Firefox and IE do.
55562 2006-05-11  David Hyatt  <hyatt@apple.com>
55564         Remove the misspelling drawing code from Font and FontData.  Implement it
55565         natively in GraphicContext instead.
55567         Reviewed by maciej
55569         * platform/FontData.h:
55570         * platform/GraphicsContext.cpp:
55571         * platform/GraphicsContext.h:
55572         * platform/cairo/GraphicsContextCairo.cpp:
55573         (WebCore::GraphicsContext::drawLineForMisspelling):
55574         * platform/mac/FontData.mm:
55575         * platform/mac/FontMac.mm:
55576         * platform/mac/GraphicsContextMac.mm:
55577         (WebCore::GraphicsContext::drawLineForMisspelling):
55578         * platform/win/FontWin.cpp:
55579         * rendering/InlineTextBox.cpp:
55580         (WebCore::InlineTextBox::paintSpellingMarker):
55582 2006-05-11  David Hyatt  <hyatt@apple.com>
55584         Remove drawLineForText from the Font API.  Implement it natively in
55585         the two GraphicsContexts (CG and Cairo) instead.
55587         Reviewed by maciej
55589         * platform/Font.h:
55590         * platform/FontData.h:
55591         * platform/GraphicsContext.cpp:
55592         * platform/GraphicsContext.h:
55593         * platform/cairo/GraphicsContextCairo.cpp:
55594         (WebCore::GraphicsContext::drawLineForText):
55595         * platform/cg/GraphicsContextCG.cpp:
55596         (WebCore::GraphicsContext::drawLineForText):
55597         * platform/mac/FontData.mm:
55598         * platform/mac/FontMac.mm:
55599         * platform/win/FontWin.cpp:
55600         (WebCore::Font::drawLineForText):
55601         * rendering/InlineTextBox.cpp:
55602         (WebCore::InlineTextBox::paintDecoration):
55603         (WebCore::InlineTextBox::paintMarkedTextUnderline):
55604         * rendering/render_line.cpp:
55605         (WebCore::InlineFlowBox::paintDecorations):
55607 2006-05-11  Steve Falkenburg  <sfalken@apple.com>
55609         Reviewed by eric.
55611         Fix last fix.
55613         * dom/QualifiedName.h:
55614         (WebCore::QualifiedName::QualifiedName):
55616 2006-05-11  Steve Falkenburg  <sfalken@apple.com>
55618         Reviewed by eric.
55620         Fix crash on static constructors builds at exit due to qualified name default constructor not
55621         initializing m_impl.
55623         * dom/QualifiedName.cpp:
55624         (WebCore::QualifiedName::deref):
55626 2006-05-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
55628         Reviewed by hyatt
55630         - fix http://bugs.webkit.org/show_bug.cgi?id=8851
55631           REGRESSION: RTL text shifted to the right
55633         Already covered by several tests in fast/text
55635         * platform/Font.h:
55636         (WebCore::TextRun::TextRun): Added length parameter.
55637         * rendering/InlineTextBox.cpp: Pass the length to the TextRun constructor.
55638         (WebCore::InlineTextBox::selectionRect):
55639         (WebCore::InlineTextBox::paint):
55640         (WebCore::InlineTextBox::paintSelection):
55641         (WebCore::InlineTextBox::paintMarkedTextBackground):
55642         (WebCore::InlineTextBox::paintTextMatchMarker):
55643         (WebCore::InlineTextBox::offsetForPosition):
55644         (WebCore::InlineTextBox::positionForOffset):
55645         * rendering/RenderText.cpp:
55646         (WebCore::RenderText::widthFromCache): Pass length and from instead of from and to
55647         to the TextRun constructor.
55648         (WebCore::RenderText::width): Ditto.
55650 2006-05-11  David Hyatt  <hyatt@apple.com>
55652         Fix a regression from the TextRun landing.  Delete the characters in
55653         the adjustedRun, not the ones in the original run!
55655         Reviewed by beth
55657         * platform/mac/FontMac.mm:
55658         (WebCore::Font::drawComplexText):
55660 2006-05-10  Justin Garcia  <justin.garcia@apple.com>
55662         Reviewed by thatcher, levi
55664         * editing/ReplaceSelectionCommand.cpp:
55665         (WebCore::ReplaceSelectionCommand::doApply):
55666         Removed a use fragment.hasMoreThanOneBlock to decide if the paragraph containing the
55667         position pasted into must be split to avoid block nesting.  We now split unnecessarily
55668         some times, but the end merge cleans up for us.
55670 2006-05-11  David Hyatt  <hyatt@apple.com>
55672         This patch makes drawHighlightForText a completely cross-platform method
55673         implemented by the GraphicsContext.  The platform-specific implementations
55674         of the method in the Font class have been eliminated.
55676         Reviewed by andersca
55678         * platform/Font.h:
55679         * platform/FontData.h:
55680         Remove the drawHighlight methods.  Change the selectionRect method in
55681         Font to return a FloatRect so that the GraphicsContext can do an accurate
55682         fill.
55684         * platform/GraphicsContext.cpp:
55685         (WebCore::GraphicsContext::drawHighlightForText):
55686         Implement the drawHighlightFunction in terms of the cross-platform
55687         Font selectionRect functions and a new float-based fillRect graphics context
55688         function.
55690         * platform/GraphicsContext.h:
55691         * platform/cairo/GraphicsContextCairo.cpp:
55692         (WebCore::GraphicsContext::fillRect):
55693         * platform/cg/GraphicsContextCG.cpp:
55694         (WebCore::GraphicsContext::fillRect):
55695         Add the new float-based fillRect function for Cairo and CG.
55697         * platform/mac/FontData.mm:
55698         (WebCore::CG_draw):
55699         (WebCore::ATSU_draw):
55700         Removed the CG and ATSU drawHighlight methods.  Remove the drawing of
55701         the background from the deprecated draw methods (they'll be removed
55702         soon).
55704         * platform/mac/FontMac.mm:
55705         (WebCore::Font::selectionRectForText):
55706         * platform/win/FontWin.cpp:
55707         (WebCore::Font::selectionRectForText):
55708         Change selectionRectForText to return a FloatRect instead of an IntRect,
55709         so that the GraphicsContext can do a precise fill.
55711         * rendering/InlineTextBox.cpp:
55712         (WebCore::InlineTextBox::selectionRect):
55713         (WebCore::InlineTextBox::positionForOffset):
55714         Modify the callers who expect an int-based selection rect so that they call
55715         enclosingIntRect.
55717 2006-05-11  Darin Adler  <darin@apple.com>
55719         Reviewed by Adele.
55721         - http://bugs.webkit.org/show_bug.cgi?id=8743
55722           REGRESSION: focus() on input field selects all text within it
55723           (was: cannot select cities on British Rail reservation site)
55725         Test: fast/forms/double-focus.html
55727         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::focus):
55728         Changed to only call setFocusNode, select, and revealSelection
55729         if the element is not already focused. Also changed to use return
55730         a bit more rather than else.
55732 2006-05-11  Darin Adler  <darin@apple.com>
55734         Reviewed by Tim Hatcher (earlier version).
55736         - http://bugs.webkit.org/show_bug.cgi?id=8821
55737           use the preprocessor for IDL files
55739         * bindings/scripts/IDLParser.pm: Invoke the preprocessor via the "gcc"
55740         driver script, passing "-E" so we only preprocess, "-P" so we don't get
55741         "#line" directives, and "-x c++" so we handle both C and C++ comments.
55742         Removed the code to eliminate comments since the preprocessor handles that.
55743         * css/make-css-file-arrays.pl: This already invoked the preprocessor, but
55744         updated it to do the same way as above.
55746 2006-05-11  Anders Carlsson  <acarlsson@apple.com>
55748         Reviewed by Darin.
55750         http://bugs.webkit.org/show_bug.cgi?id=7838
55751         Add support for mozilla-style node constructors as properties of the window object
55752         
55753         * DerivedSources.make:
55754         * WebCore.xcodeproj/project.pbxproj:
55755         Add new generated files.
55756         
55757         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
55758         (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
55759         * bindings/js/JSHTMLElementWrapperFactory.cpp:
55760         (WebCore::createJSWrapper):
55761         Specify the KJS namespace for JSHTMLElmement.
55762                 
55763         * bindings/js/kjs_dom.cpp:
55764         (KJS::toJS):
55765         Create a WebCore::JSHTMLDocument for document nodes. Also, create
55766         JSDocumentFragments for document fragments (instead of plain node objects).
55767         
55768         * bindings/js/kjs_html.cpp:
55769         (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
55770         (KJS::JSHTMLDocument::JSHTMLDocument):
55771         (KJS::JSHTMLDocument::getOwnPropertySlot):
55772         Add a prototype for JSHTMLDocument and move all functions there.
55773         
55774         (KJS::JSHTMLElement::JSHTMLElement):
55775         (KJS::JSHTMLElement::getOwnPropertySlot):
55776         Update since JSHTMLElement now inherits from WebCore::JSHTMLElement.
55777         
55778         (KJS::JSHTMLElement::getValueProperty):
55779         (KJS::JSHTMLElement::putValueProperty):
55780         Remove title setter and getter. Those are autogenerated now.
55781         
55782         * bindings/js/kjs_html.h:
55783         (KJS::JSHTMLElement::):
55784         Inherit from WebCore::JSHTMLElement. Clarify the inheritance chain.
55785         
55786         * bindings/scripts/CodeGeneratorJS.pm:
55787         Always generate a prototype object, regardless of whether the object has any functions or
55788         constants.
55789         
55790         Use the type of generator attributes to determine what constructor to use. This is useful for
55791         the XMLDocument property in DOMWindow.idl, since that's just an alias for the Document constructor.
55792         
55793         * dom/DocumentFragment.idl: Added.        
55794         * html/HTMLDocument.idl: Added.
55795         * html/HTMLElement.idl: Added.
55796         
55797         * page/DOMWindow.idl:
55798         Add constructors for DocumentFragment, HTMLElement, HTMLDocument and XMLDocument. XMLDocument is just
55799         an alias for the Document constructor.
55800         
55801 2006-05-11  David Hyatt  <hyatt@apple.com>
55803         Bug 8845.  Define a TextRun (similar to the old WebCoreTextRun) and
55804         make it the new API for Font and GraphicsContext when drawing/measuring
55805         text.
55807         Reviewed by andersca
55809         * platform/Font.cpp:
55810         (WebCore::m_finalRoundingWidth):
55811         (WebCore::WidthIterator::advance):
55812         (WebCore::WidthIterator::normalizeVoicingMarks):
55813         (WebCore::Font::width):
55814         (WebCore::Font::canUseGlyphCache):
55815         (WebCore::Font::drawSimpleText):
55816         (WebCore::Font::drawText):
55817         (WebCore::Font::floatWidth):
55818         (WebCore::Font::floatWidthForSimpleText):
55819         * platform/Font.h:
55820         (WebCore::TextRun::m_to):
55821         (WebCore::TextRun::operator[]):
55822         (WebCore::TextRun::data):
55823         (WebCore::TextRun::adjustFrom):
55824         (WebCore::TextRun::adjustTo):
55825         (WebCore::TextRun::characters):
55826         (WebCore::TextRun::length):
55827         (WebCore::TextRun::from):
55828         (WebCore::TextRun::to):
55829         * platform/GraphicsContext.cpp:
55830         (WebCore::GraphicsContext::drawText):
55831         (WebCore::GraphicsContext::drawHighlightForText):
55832         * platform/GraphicsContext.h:
55833         * platform/mac/FontMac.mm:
55834         (WebCore::addDirectionalOverride):
55835         (WebCore::overrideLayoutOperation):
55836         (WebCore::ATSULayoutParameters::initialize):
55837         (WebCore::Font::selectionRectForText):
55838         (WebCore::Font::drawComplexText):
55839         (WebCore::Font::drawHighlightForText):
55840         (WebCore::Font::floatWidthForComplexText):
55841         (WebCore::Font::checkSelectionPoint):
55842         * platform/win/FontWin.cpp:
55843         (WebCore::hackishExtentForString):
55844         (WebCore::Font::floatWidth):
55845         (WebCore::Font::drawText):
55846         (WebCore::Font::drawHighlightForText):
55847         (WebCore::Font::selectionRectForText):
55848         (WebCore::Font::checkSelectionPoint):
55849         * rendering/InlineTextBox.cpp:
55850         (WebCore::InlineTextBox::selectionRect):
55851         (WebCore::InlineTextBox::paint):
55852         (WebCore::InlineTextBox::paintSelection):
55853         (WebCore::InlineTextBox::paintMarkedTextBackground):
55854         (WebCore::InlineTextBox::paintTextMatchMarker):
55855         (WebCore::InlineTextBox::offsetForPosition):
55856         (WebCore::InlineTextBox::positionForOffset):
55857         * rendering/RenderBlock.cpp:
55858         (WebCore::stripTrailingSpace):
55859         * rendering/RenderFlexibleBox.cpp:
55860         (WebCore::RenderFlexibleBox::layoutVerticalBox):
55861         * rendering/RenderImage.cpp:
55862         (WebCore::RenderImage::imageChanged):
55863         (WebCore::RenderImage::paint):
55864         * rendering/RenderText.cpp:
55865         (WebCore::RenderText::cacheWidths):
55866         (WebCore::RenderText::widthFromCache):
55867         (WebCore::RenderText::trimmedMinMaxWidth):
55868         (WebCore::RenderText::calcMinMaxWidth):
55869         (WebCore::RenderText::width):
55870         * rendering/RenderTextField.cpp:
55871         (WebCore::RenderTextField::calcMinMaxWidth):
55872         * rendering/bidi.cpp:
55873         (WebCore::RenderBlock::tabWidth):
55874         (WebCore::RenderBlock::checkLinesForTextOverflow):
55875         * rendering/render_line.cpp:
55876         (WebCore::EllipsisBox::paint):
55877         * rendering/render_list.cpp:
55878         (WebCore::RenderListMarker::paint):
55879         (WebCore::RenderListMarker::calcMinMaxWidth):
55880         (WebCore::RenderListMarker::getRelativeMarkerRect):
55882 2006-05-10  Justin Garcia  <justin.garcia@apple.com>
55884         Reviewed by darin
55886         * editing/ReplaceSelectionCommand.cpp:
55887         (WebCore::ReplaceSelectionCommand::doApply):
55888         Removed the code to find out if we must later add smart replace whitespace.  We can 
55889         wait until we've done the insertion to figure it out, and the position sampled (startPos)
55890         to make the decision about trailing whitespace was wrong.
55891         Changed the order that work is done during a paste: 1) Insert everything 2) Do one of
55892         the following: a) handle a trailing interchange newline, b) uncollapse the last incoming
55893         br if it has been collapsed because of quirks mode, c) do an end merge 3) Add smart replace
55894         whitespace (2 and 3 were reversed because the end merge must happen before we can know
55895         whether or not we need to add a trailing space).
55896         Don't do an end merge if the last node inserted was a br because the end merge will 
55897         clobber it.
55898         
55899         (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded):
55900         brs where [br, 0] is at the end of a block and not at the start of a paragraph
55901         are the ones that are collapsed because of quirks mode.
55903 2006-05-10  David Hyatt  <hyatt@apple.com>
55905         Rename isSpace to treatAsSpace.  Move it and the rounding hack function into
55906         Font and make them static methods (inlined in the header).  Make the rounding
55907         hack character table a static member as well.  Remove the redundant space/rounding
55908         functions from FontData.mm.
55910         Reviewed by darin
55912         * platform/Font.cpp:
55913         (WebCore::):
55914         (WebCore::m_finalRoundingWidth):
55915         (WebCore::WidthIterator::advance):
55916         * platform/Font.h:
55917         (WebCore::Font::treatAsSpace):
55918         (WebCore::Font::isRoundingHackCharacter):
55919         * platform/mac/FontData.mm:
55920         (WebCore::overrideLayoutOperation):
55921         (WebCore::createATSULayoutParameters):
55922         (WebCore::initializeWidthIterator):
55923         (WebCore::advanceWidthIterator):
55924         * platform/mac/FontMac.mm:
55925         (WebCore::overrideLayoutOperation):
55926         (WebCore::ATSULayoutParameters::initialize):
55928 2006-05-10  Darin Adler  <darin@apple.com>
55930         * WebCore: Removed an extra WebCore subtree that somehow got checked in.
55932 2006-05-10  David Carson <dacarson@gmail.com>
55934         - Fix for bug 8833. Removed inline keyword from functions declared
55935         in .mm and .cpp files. inline function code needs to reside in the
55936         header file for the linker to find the code. 
55937         http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.7
55939         Reviewed by Darin, landed by Timothy.
55941         * platform/Font.cpp:
55942         (WebCore::isSpace):
55943         * platform/mac/FontData.mm:
55944         (WebCore::widthForGlyph):
55945         (WebCore::isRoundingHackCharacter):
55946         (WebCore::glyphForCharacter):
55948 2006-05-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
55950         Reviewed and landed by Anders.
55952         - fix http://bugs.webkit.org/show_bug.cgi?id=8830
55953           REGRESSION: Words render on top of each other when fallback font is used
55955         Already covered by several pixel tests in fast/text
55957         * platform/Font.cpp:
55958         (WebCore::Font::drawSimpleText):
55960 2006-05-10  David Hyatt  <hyatt@apple.com>
55962         Fix for bug 8809, lift the Mac-specific WebTextRenderer code for
55963         drawing and measuring of runs up into the Font class.  The fast code
55964         path is in Font.cpp and is designed to be mostly cross-platform.  The
55965         slow code path is in FontMac.cpp and is Mac-specific.
55967         Reviewed by darin
55969         * WebCore.xcodeproj/project.pbxproj:
55970         * platform/Font.cpp:
55971         (WebCore::isSpace):
55972         (WebCore::):
55973         (WebCore::isRoundingHackCharacter):
55974         (WebCore::m_finalRoundingWidth):
55975         (WebCore::WidthIterator::advance):
55976         (WebCore::WidthIterator::normalizeVoicingMarks):
55977         (WebCore::Font::primaryFont):
55978         (WebCore::Font::setAlwaysUseComplexPath):
55979         (WebCore::Font::canUseGlyphCache):
55980         (WebCore::Font::drawSimpleText):
55981         (WebCore::Font::drawText):
55982         (WebCore::Font::floatWidth):
55983         (WebCore::Font::floatWidthForSimpleText):
55984         * platform/Font.h:
55985         * platform/FontData.h:
55986         (WebCore::FontData::platformData):
55987         * platform/GlyphBuffer.h: Added.
55988         (WebCore::GlyphBuffer::GlyphBuffer):
55989         (WebCore::GlyphBuffer::isEmpty):
55990         (WebCore::GlyphBuffer::size):
55991         (WebCore::GlyphBuffer::glyphs):
55992         (WebCore::GlyphBuffer::advances):
55993         (WebCore::GlyphBuffer::fontDataAt):
55994         (WebCore::GlyphBuffer::swap):
55995         (WebCore::GlyphBuffer::glyphAt):
55996         (WebCore::GlyphBuffer::advanceAt):
55997         (WebCore::GlyphBuffer::add):
55998         * platform/mac/FontData.mm:
55999         (WebCore::isSpace):
56000         (WebCore::isRoundingHackCharacter):
56001         (WebCore::FontData::widthForGlyph):
56002         (WebCore::m_ATSUMirrors):
56003         (WebCore::FontData::xHeight):
56004         (WebCore::FontData::smallCapsFontData):
56005         (WebCore::findSubstituteFont):
56006         (WebCore::rendererForAlternateFont):
56007         (WebCore::findSubstituteRenderer):
56008         (WebCore::FontData::findSubstituteFontData):
56009         (WebCore::computeWidthForSpace):
56010         (WebCore::FontData::updateGlyphMapEntry):
56011         (WebCore::extendGlyphMap):
56012         (WebCore::extendWidthMap):
56013         (WebCore::createATSULayoutParameters):
56014         (WebCore::FontData::glyphForCharacter):
56015         (WebCore::advanceWidthIterator):
56016         (WebCore::shouldUseATSU):
56017         * platform/mac/FontMac.mm:
56018         (WebCore::ATSULayoutParameters::m_padPerSpace):
56019         (WebCore::addDirectionalOverride):
56020         (WebCore::initializeATSUStyle):
56021         (WebCore::overrideLayoutOperation):
56022         (WebCore::ATSULayoutParameters::initialize):
56023         (WebCore::disposeATSULayoutParameters):
56024         (WebCore::Font::drawComplexText):
56025         (WebCore::Font::floatWidthForComplexText):
56026         (WebCore::Font::drawGlyphs):
56027         * platform/mac/WebCoreTextRenderer.mm:
56028         (WebCoreSetAlwaysUseATSU):
56030 2006-05-10  Darin Adler  <darin@apple.com>
56032         - another try at fixing the Windows build
56034         * platform/win/FontWin.cpp: (WebCore::getFontData): Use characters()
56035         instead of unicode().
56037 == Rolled over to ChangeLog-2006-05-10 ==