12006-12-31  Eric Seidel  <eric@webkit.org>
2
3        Reviewed by weinig.
4
5        Make SVGPathSeg construction take fewer lines of code.
6
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:
63
642006-12-31  Eric Seidel  <eric@webkit.org>
65
66        Reviewed by weinig.
67
68        Implement path length measuring for SVGPathElement::getTotalLength and friends.
69        http://bugs.webkit.org/show_bug.cgi?id=12033
70
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::):
98
992006-12-31  Sam Weinig  <sam@webkit.org>
100
101        Reviewed by Mitz.
102
103        Move the SVGZoomAndPanType enum out of SVGSVGElement and
104        SVGViewElement and into SVGZoomAndPan where it belongs.
105
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::):
113
1142006-12-31  Mitz Pettel  <mitz@webkit.org>
115
116        Reviewed by Hyatt.
117
118        - fix http://bugs.webkit.org/show_bug.cgi?id=9659
119          Quirksmode: Fixed / Overflow > Positioned objects get hidden when scrolling
120
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.
124
125        * rendering/RenderLayer.cpp:
126        (WebCore::RenderLayer::calculateClipRects):
127        (WebCore::RenderLayer::calculateRects):
128        * rendering/RenderLayer.h:
129        (WebCore::ClipRects::ClipRects):
130        (WebCore::ClipRects::fixed):
131
1322006-12-31  Mitz Pettel  <mitz@webkit.org>
133
134        Reviewed by Sam.
135
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'
138
139        Test: fast/block/positioning/relative-overconstrained.html
140
141        * rendering/RenderBox.cpp:
142        (WebCore::RenderBox::relativePositionOffsetX):
143
1442006-12-30  Rob Buis  <buis@kde.org>
145
146        Reviewed by Eric.
147
148        http://bugs.webkit.org/show_bug.cgi?id=12004
149        Webkit doesnt handle omitting M at the start of path syntax well
150
151        Improve path parsing error handling.
152
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.
168
1692006-12-30  Rémi Zara  <remi_zara@mac.com>
170
171        Reviewed by Darin.
172
173        The marker is used for start, mid and end.
174
175        * ksvg2/css/SVGCSSParser.cpp:
176        (WebCore::CSSParser::parseSVGValue):
177
1782006-12-30  Rob Buis  <buis@kde.org>
179
180        Reviewed by weinig.
181
182        http://bugs.webkit.org/show_bug.cgi?id=12035
183        Use SVGParserUtilities in lists of values
184
185        Use SVGParserUtilities in some more places.
186
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:
212
2132006-12-30  Rob Buis  <buis@kde.org>
214
215        Reviewed by weinig.
216
217        http://bugs.webkit.org/show_bug.cgi?id=12034
218        Adapt preserveAspectRatio parsing to SVGParserUtilities
219
220        Use the new SVGParserUtilities methods to parse prserveAspectRatio attribute.
221
222        * ksvg2/svg/SVGParserUtilities.h:
223        (WebCore::checkString):
224        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
225        (WebCore::):
226        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
227        * ksvg2/svg/SVGTransformable.cpp:
228
2292006-12-30  Mitz Pettel  <mitz@webkit.org>
230
231        Reviewed by Alexey.
232
233        - remove unused member variables m_loadingSheet and m_bAllDataReceived
234
235        No test possible (no change to functionality).
236
237        * dom/Document.cpp:
238        (WebCore::Document::Document):
239        (WebCore::Document::setCSSStyleSheet):
240        * dom/Document.h:
241
2422006-12-30  Alexey Proskuryakov  <ap@webkit.org>
243
244        Reviewed by Mitz.
245
246        http://bugs.webkit.org/show_bug.cgi?id=11998
247        Incorrect serialization of quotation marks in XML attributes.
248
249        Test: fast/dom/serialize-attribute.xhtml
250
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().
255
2562006-12-29  David Kilzer  <ddkilzer@webkit.org>
257
258        Build fix for no-svg build.
259
260        Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT.
261
262        * bindings/js/kjs_css.cpp:
263        (KJS::toJS):
264        * loader/CachedImage.cpp:
265        (WebCore::CachedImage::createImage):
266
2672006-12-29  Geoffrey Garen  <ggaren@apple.com>
268
269        Reviewed by Brian Dash... err... Mark Rowe.
270
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.
285
286        * page/mac/FrameMac.mm:
287        (WebCore::FrameMac::bindingRootObject): Use the new RootObject constructor.
288        Stop lying about who deletes _bindingRoot.
289
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.
293
294        * page/mac/WebCoreFrameBridge.mm:
295        (-[WebCoreFrameBridge rootObjectForView:]): Use new constructor. Changed
296        misleading comment.
297
2982006-12-29  Rob Buis  <buis@kde.org>
299
300        Reviewed by Eric.
301
302        http://bugs.webkit.org/show_bug.cgi?id=12007
303        SVGColor::setRGBColor color creates/deletes many strings, slowing down parsing
304
305        Refactor code so svg reuses cssparser methods. Also make
306        SVGColor and SVGPaint more efficient by avoiding using
307        setRGBColor internally.
308
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:
330
3312006-12-29  Rob Buis  <buis@kde.org>
332
333        Reviewed by weinig.
334
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.
339
340        * ksvg2/svg/SVGTransformable.cpp:
341        (WebCore::checkString):
342        (WebCore::):
343        (WebCore::SVGTransformable::parseTransformAttribute):
344
3452006-12-29  Rob Buis  <buis@kde.org>
346
347        Reviewed by Eric.
348
349        http://bugs.webkit.org/show_bug.cgi?id=12028
350        Adapt viewBox parsing to SVGParserUtilities
351
352        Use the new parseNumber and add tests for viewBox parsing.
353
354        * ksvg2/svg/SVGFitToViewBox.cpp:
355        (WebCore::SVGFitToViewBox::parseViewBox):
356
3572006-12-29  Geoffrey Garen  <ggaren@apple.com>
358
359        Build fix: SVGImage only works on Mac.
360
361        * loader/CachedImage.cpp:
362        (WebCore::CachedImage::createImage):
363
3642006-12-29  Sam Weinig  <sam@webkit.org>
365
366        Reviewed by Geoff.
367
368        Patch for http://bugs.webkit.org/show_bug.cgi?id=12018
369        Cleanup of CSSRule and its subclasses
370
371        - Make CSSRule::type() virtual instead of using a member variable.
372        - General style cleanup.
373
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):
427
4282006-12-29  Eric Seidel  <eric@webkit.org>
429
430        Reviewed by ap.
431
432        * platform/graphics/svg/SVGImage.cpp:
433        (WebCore::SVGImage::size): explicitly cast to integers to prevent compile error
434
4352006-12-29  George Staikos  <staikos@kde.org>
436
437        Reviewed by Sam.
438
439        Don't crash on sites such as www.apple.com.  Painter was ended incorrectly among other issues.
440
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):
447
4482006-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
449
450        Build fixed, not reviewed. Noticed by Daniel Molkentin.
451
452        * platform/graphics/svg/SVGImage.h: s/WTF/wtf/ in include.
453
4542006-12-29  Eric Seidel  <eric@webkit.org>
455
456        Reviewed by olliej.
457
458        * platform/graphics/svg/SVGImageEmptyClients.h:
459        (WebCore::SVGEmptyCromeClient::scaleFactor):  build fix, use 1.f instead of 1f
460
4612006-12-29  Eric Seidel  <eric@webkit.org>
462
463        Reviewed by hyatt.
464
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
474
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):
663
6642006-12-29  George Staikos  <staikos@kde.org>
665
666        Reviewed by Olliej.
667
668        Make redirects work properly.  Sites will thank us for this. :-)
669
670        * platform/network/qt/ResourceHandleManagerQt.cpp:
671        (WebCore::ResourceHandleManager::receivedResponse):
672
6732006-12-28  George Staikos  <staikos@kde.org>
674
675        Reviewed by Olliej.
676
677        * loader/CachedImage.cpp: build for Qt
678
6792006-12-28  Daniel Molkentin <molkentin@kde.org>
680
681        Reviewed by Eric Seidel <eric@webkit.org>
682
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
688
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):
716
7172006-12-28  Geoffrey Garen  <ggaren@apple.com>
718
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.
726
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.
741
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.
746
7472006-12-28  Mitz Pettel  <mitz@webkit.org>
748
749        Reviewed by Darin.
750
751        - fix http://bugs.webkit.org/show_bug.cgi?id=11729
752          REGRESSION: Crash closing page with frames after selection
753
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().
760
7612006-12-28  David Kilzer  <ddkilzer@webkit.org>
762
763        Reviewed by Mitz.
764
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
767
768        No test cases (no change in functionality).
769
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.
774
7752006-12-28  Eric Seidel  <eric@webkit.org>
776
777        Reviewed by rwlbuis.
778
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)
783
784        * platform/graphics/cg/PathCG.cpp:
785        (WebCore::CGPathApplierToPathApplier): array was too small
786
7872006-12-28  Mitz Pettel  <mitz@webkit.org>
788
789        Reviewed by Darin.
790
791        - fix http://bugs.webkit.org/show_bug.cgi?id=11124
792          REGRESSION (r14297): No drag image for partially-selected complex text
793
794        Test: fast/text/atsui-partial-selection.html
795
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.
802
8032006-12-28  Mitz Pettel  <mitz@webkit.org>
804
805        Reviewed by Darin.
806
807        - fix http://bugs.webkit.org/show_bug.cgi?id=9202
808          CSS3: border-radius not completely implemented, testcase hangs webkit
809
810        Test: fast/borders/borderRadiusAllStylesAllCorners.html
811
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.
819
8202006-12-28  Alexey Proskuryakov  <ap@webkit.org>
821
822        Reverting the previous checkin, as it caused an assertion in layout tests.
823
824        * rendering/RenderTableCell.cpp:
825        (WebCore::RenderTableCell::borderLeft):
826        (WebCore::RenderTableCell::borderRight):
827        (WebCore::RenderTableCell::borderTop):
828        (WebCore::RenderTableCell::borderBottom):
829        * rendering/RenderTableCell.h:
830
8312006-12-28  Mitz Pettel  <mitz@webkit.org>
832
833        Reviewed by Darin.
834
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
837
838        Test: fast/repaint/table-cell-collapsed-border.html
839
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:
858
8592006-12-28  Mitz Pettel  <mitz@webkit.org>
860
861        Reviewed by Alexey.
862
863        - fix http://bugs.webkit.org/show_bug.cgi?id=11671
864          REGRESSION (r13702): text-transform: capitalize changes non-breaking spaces to spaces
865
866        Test: fast/text/capitalize-preserve-nbsp.html
867
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).
872
8732006-12-28  Mitz Pettel  <mitz@webkit.org>
874
875        Reviewed by Darin.
876
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
879
880        Test: fast/repaint/border-radius-repaint.html
881
882        * rendering/RenderObject.cpp:
883        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
884
8852006-12-28  Darin Adler  <darin@apple.com>
886
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.
890
8912006-12-27  Geoffrey Garen  <ggaren@apple.com>
892
893        Build fix, plus a few "double &" => "double&" changes.
894
895        * ksvg2/svg/SVGParserUtilities.cpp:
896        (WebCore::parseNumber):
897        (WebCore::SVGPathParser::calculateArc):
898
8992006-12-27  Oliver Hunt <oliver@apple.com>
900
901        Build fix
902
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):
909
9102006-12-27  Eric Seidel  <eric@webkit.org>
911
912        Reviewed by olliej.
913
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.
919
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
983
9842006-12-27  Mitz Pettel  <mitz@webkit.org>
985
986        Reviewed by Hyatt.
987
988        - fix http://bugs.webkit.org/show_bug.cgi?id=11452
989          REGRESSION (r16736-r16801): Incorrect repaint of fixed boxes
990
991        Test: fast/repaint/fixed.html
992
993        * rendering/RenderView.cpp:
994        (WebCore::RenderView::computeAbsoluteRepaintRect): Re-added.
995        * rendering/RenderView.h:
996
9972006-12-27  Mitz Pettel  <mitz@webkit.org>
998
999        Reviewed by Geoff.
1000
1001        - fix http://bugs.webkit.org/show_bug.cgi?id=11930
1002          Specifying border-radius makes the outline shrink
1003
1004        Test: fast/css/border-radius-outline-offset.html
1005
1006        * css/cssstyleselector.cpp:
1007        (WebCore::CSSStyleSelector::applyProperty): Added missing return statement.
1008
10092006-12-27  Rob Buis  <buis@kde.org>
1010
1011        Reviewed by Eric.
1012
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
1017
1018        Get rid of split() when parsing transform attribute.
1019
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):
1057
10582006-12-27  Mitz Pettel  <mitz@webkit.org>
1059
1060        Reviewed by Geoff.
1061
1062        - http://bugs.webkit.org/show_bug.cgi?id=11968
1063          BidiContext's m_basicDir is redundant
1064
1065        No test possible (no functionality change)
1066
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):
1074
10752006-12-27  Nikolas Zimmermann  <zimmermann@kde.org>
1076
1077        Build fix, not reviewed.
1078
1079        Accidently commited an older revision of this file.
1080
1081        * platform/graphics/svg/SVGPaintServerPattern.h:
1082
10832006-12-27  Nikolas Zimmermann  <zimmermann@kde.org>
1084
1085        Reviewed by Mitz & Eric.
1086
1087        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11904
1088
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.
1092
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):
1101
11022006-12-26  Geoffrey Garen  <ggaren@apple.com>
1103
1104        Reviewed by Eric Seidel.
1105
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.
1115
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.
1122
11232006-12-26  Eric Seidel  <eric@webkit.org>
1124
1125        Reviewed by olliej.
1126
1127        ASSERT while loading SVG map
1128        http://bugs.webkit.org/show_bug.cgi?id=11987
1129
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):
1137
11382006-12-26  Eric Seidel  <eric@webkit.org>
1139
1140        Reviewed by ggaren.
1141
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
1146
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):
1211
12122006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1213
1214        Reviewed by Oliver.
1215
1216        Add patternContentUnits support, and cleanup SVGPaintServerGradientCg.cpp
1217        Fixes coords-units-01-b.svg
1218
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):
1230
12312006-12-26  Eric Seidel  <eric@webkit.org>
1232
1233        Reviewed by ggaren
1234
1235        No test cases changed.
1236
1237        Remove unneeded isPaintingText() and activeClient() from SVGPaintServer system
1238
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):
1259
12602006-12-25  Geoffrey Garen  <ggaren@apple.com>
1261
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.
1271
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.
1279
12802006-12-26  Eric Seidel  <eric@webkit.org>
1281
1282        Reviewed by rwlbuis.
1283
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
1303
13042006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1305
1306        Reviewed by Oliver.
1307
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.
1312
1313        Add new testcase dynamic-svg-document-creation.svg.
1314
1315        * xml/DOMParser.cpp:
1316        (WebCore::DOMParser::parseFromString):
1317
13182006-12-25  Geoffrey Garen  <ggaren@apple.com>
1319
1320        Reviewed by Oliver Hunt.
1321
1322        Removed WebCoreSettings, cleaned up WebCore::Settings.
1323
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.
1328
1329        * page/Frame.cpp: Removed cruft that duplicated Settings data. Callers now call
1330        through to Settings to get Settings data.
1331
1332        * page/Page.cpp: Added Settings data member, to replace the one that WebView
1333        used to hold.
1334
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.
1344
13452006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1346
1347        Reviewed by Oliver.
1348
1349        Fix some minor style issues.
1350
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:
1357
13582006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1359
1360        Reviewed by Oliver.
1361
1362        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11963
1363        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11123
1364
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.
1369
1370        Adding two new testcases demonstrating the usage of SVG DOM & SVGAnimatedPoints.
1371
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:
1436
14372006-12-25  Alexey Proskuryakov  <ap@webkit.org>
1438
1439        Reviewed by Maciej.
1440
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
1444
1445        This doesn't fully address the bug, but makes a couple of steps
1446        in that direction.
1447
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()).
1452
1453        * xml/xmlhttprequest.cpp:
1454        (WebCore::XMLHttpRequest::getResponseXML): Set the loaded document's URL.
1455
14562006-12-24  Mitz Pettel  <mitz@webkit.org>
1457
1458        Reviewed by Maciej and Geoff.
1459
1460        - remove unused member variable m_styleSelectorDirty
1461
1462        No test possible (no functionality change)
1463
1464        * dom/Document.cpp:
1465        (WebCore::Document::Document):
1466        (WebCore::Document::recalcStyleSelector):
1467        * dom/Document.h:
1468
14692006-12-24  Sam Weinig  <sam@webkit.org>
1470
1471        Reviewed by Geoff.
1472
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
1476
1477        Tests added:
1478        * fast/dom/css-mediarule-deleteRule-update.html
1479        * fast/dom/css-mediarule-insertRule-update.html
1480
1481        * css/CSSMediaRule.cpp:
1482        (WebCore::CSSMediaRule::insertRule):
1483        (WebCore::CSSMediaRule::deleteRule):
1484
14852006-12-24  Rob Buis  <buis@kde.org>
1486
1487        Reviewed by Alexey.
1488
1489        Get rid of unused variable.
1490
1491        * ksvg2/svg/SVGURIReference.cpp:
1492        (WebCore::SVGURIReference::getTarget):
1493
14942006-12-23  Alexey Proskuryakov  <ap@webkit.org>
1495
1496        Reviewed by Geoff.
1497
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
1500
1501        Test: fast/dom/computed-style-set-property.html
1502
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).
1507
15082006-12-23  Lars Naesbye Christensen  <lars@naesbye.dk>
1509
1510        Reviewed by Geoff.
1511
1512        Patch for http://bugs.webkit.org/show_bug.cgi?id=11940
1513        Bad transparency in some cursor pointer images
1514
1515        * Resources/northEastResizeCursor.png:
1516        * Resources/northEastSouthWestResizeCursor.png:
1517        * Resources/northWestResizeCursor.png:
1518        * Resources/northWestSouthEastResizeCursor.png:
1519        * Resources/southEastResizeCursor.png:
1520        * Resources/southWestResizeCursor.png:
1521
15222006-12-23  Sam Weinig  <sam@webkit.org>
1523
1524        Reviewed by Geoff.
1525
1526        Patch for http://bugs.webkit.org/show_bug.cgi?id=11876
1527        CSSMediaRule functions insertRule and deleteRule don't raise exceptions
1528
1529        Test added:
1530        * fast/dom/css-mediarule-functions.html
1531
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
1539
15402006-12-23  David Hyatt  <hyatt@apple.com>
1541
1542        Fix 11942.  The inheritable properties array is duplicated (lame).  Make
1543        sure to keep both in sync.
1544
1545        Reviewed by mitz
1546
1547        * css/CSSComputedStyleDeclaration.cpp:
1548        * css/CSSMutableStyleDeclaration.cpp:
1549        (WebCore::):
1550
15512006-12-22  Geoffrey Garen  <ggaren@apple.com>
1552
1553        Reviewed by Brady Eidson.
1554
1555        Fixed <rdar://problem/4871518> Leopard9A321: Crash visiting www.audible.com
1556        (WebCore::FrameLoader::loadSubframe)
1557
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:
1563
15642006-12-22  David Hyatt  <hyatt@apple.com>
1565
1566        Make sure to actually set the stroke thickness for text decorations.
1567        Covered by bugzilla bug 11921.
1568
1569        Reviewed by mitz
1570
1571        * rendering/InlineFlowBox.cpp:
1572        (WebCore::InlineFlowBox::paintDecorations):
1573        * rendering/InlineTextBox.cpp:
1574        (WebCore::InlineTextBox::paintDecoration):
1575
15762006-12-22  Nikolas Zimmermann  <zimmermann@kde.org>
1577
1578        Reviewed by Rob.
1579
1580        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11934
1581
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.
1590
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:
1747
17482006-12-22  Mitz Pettel  <mitz@webkit.org>
1749
1750        Reviewed by Beth.
1751
1752        - fix http://bugs.webkit.org/show_bug.cgi?id=11903
1753          REGRESSION: outline not drawn if line style is dashed.
1754
1755        This fixes a bunch of existing pixel tests.
1756
1757        * rendering/RenderObject.cpp:
1758        (WebCore::RenderObject::drawBorder):
1759
17602006-12-22  John Sullivan  <sullivan@apple.com>
1761
1762        Reviewed by Kevin Decker
1763
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.
1767
1768        * editing/Editor.h:
1769        renamed markMisspellingsInAdjacentWords to markMisspellingsAfterTypingToPosition
1770
1771        * editing/TypingCommand.cpp:
1772        (WebCore::TypingCommand::markMisspellingsAfterTyping):
1773        updated for name change
1774
1775        * editing/mac/EditorMac.mm:
1776        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
1777        renamed from markMisspellingsInAdjacentWords and added FIXME comment
1778
17792006-12-22  Eric Seidel  <eric@webkit.org>
1780
1781        Reviewed by aroben.
1782
1783        http://bugs.webkit.org/show_bug.cgi?id=11912
1784        Overriding visibility does not behave as expected.
1785
1786        * rendering/RenderSVGContainer.cpp:
1787        (WebCore::RenderSVGContainer::paint): allow children to draw when container is visibility='hidden'
1788
17892006-12-22  Nikolas Zimmermann  <zimmermann@kde.org>
1790
1791        Reviewed by Rob.
1792
1793        Fix SVGPathSeg JS object creation. SVGPathSegList has to return
1794        the actual SVGPathSegLineToAbs/MoveToRel... object instead of a pure
1795        SVGPathSeg JS object.
1796
1797        * WebCore.xcodeproj/project.pbxproj:
1798        * WebCore/bindings/js/JSSVGPathSegCustom.cpp: Added.
1799        * bindings/scripts/CodeGeneratorJS.pm:
1800
18012006-12-21  Beth Dakin  <bdakin@apple.com>
1802
1803        Reviewed by Geoff.
1804
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 )
1808
1809        This was a regression from my clone-node change. This fix is very
1810        simple.
1811
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.
1817
18182006-12-21  Adele Peterson  <adele@apple.com>
1819
1820        Reviewed by Geoff.
1821
1822        - Fix for <rdar://problem/4895716> REGRESSION: Pressing return key in search field doesn't begin search
1823
1824        Test: fast/events/onsearch-enter.html
1825
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.
1832
18332006-12-21  Geoffrey Garen  <ggaren@apple.com>
1834
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
1839
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.
1842
1843        * dom/ContainerNode.cpp:
1844        (WebCore::ContainerNode::queuePostAttachCallback):
1845
18462006-12-21  Alexey Proskuryakov  <ap@webkit.org>
1847
1848        Reviewed by Darin.
1849
1850        http://bugs.webkit.org/show_bug.cgi?id=11919
1851        Allow setting CSS values to null.
1852
1853        * bindings/js/kjs_css.cpp:
1854        (KJS::DOMCSSStyleDeclaration::put):
1855        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
1856        Convert null values to null strings.
1857
18582006-12-21  Rob Buis  <buis@kde.org>
1859
1860        Reviewed by Anders.
1861
1862        http://bugs.webkit.org/show_bug.cgi?id=11898
1863        CSSMediaRule functions insertRule and deleteRule assert when called from js in debug builds
1864
1865        Test explicitly for the two media rule functions so it ends up calling callAsFunction.
1866
1867        * bindings/js/kjs_css.cpp:
1868        (KJS::DOMCSSRule::getOwnPropertySlot):
1869
18702006-12-21  Lars Knoll <lars@trolltech.com>
1871
1872        Reviewed by Zack
1873
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
1885
18862006-12-20  David Hyatt  <hyatt@apple.com>
1887
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."
1892
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:
1899
19002006-12-20  Brady Eidson  <beidson@apple.com>
1901
1902        Reviewed by Adam's rubberstamp
1903
1904        Accidentally left a logging channel on in my checkin
1905
1906        * platform/Logging.cpp:
1907        (WebCore::):
1908
19092006-12-21  Nikolas Zimmermann  <zimmermann@kde.org>
1910
1911        Reviewed by Oliver.
1912
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 :-)
1915
1916        * ksvg2/svg/SVGList.h:
1917        (WebCore::SVGList::removeItem):
1918
19192006-12-20  David Harrison  <harrison@apple.com>
1920
1921        Reviewed by John Sullivan.
1922
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.
1927
1928        * page/mac/WebCoreFrameBridge.mm:
1929        (-[WebCoreFrameBridge fontForSelection:]):
1930        Add nil check of fontForSelection() result.
1931
19322006-12-21  Nikolas Zimmermann  <zimmermann@kde.org>
1933
1934        Reviewed by Maciej.
1935
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.
1938
1939        * ksvg2/svg/SVGGradientElement.cpp:
1940        (WebCore::SVGGradientElement::notifyAttributeChange):
1941
19422006-12-20  Geoffrey Garen  <ggaren@apple.com>
1943
1944        Reviewed by Darin Adler.
1945
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):
1957
19582006-12-20  David Hyatt  <hyatt@apple.com>
1959
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.
1963
1964        Reviewed by mitz
1965
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):
1982
19832006-12-20  David Hyatt  <hyatt@apple.com>
1984
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.
1988
1989        Reviewed by adele
1990
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):
1998
19992006-12-20  Mark Rowe  <bdash@webkit.org>
2000
2001        Reviewed by Anders.
2002
2003        Fix leak of CGContextRef from GraphicsContext::createImageBuffer.
2004
2005        * platform/graphics/cg/GraphicsContextCG.cpp:
2006        (WebCore::GraphicsContext::createImageBuffer): Release newly-created CGContextRef after passing it to GraphicsContext.
2007
20082006-12-20  Timothy Hatcher  <timothy@apple.com>
2009
2010        Reviewed by Mark Rowe.
2011
2012        <rdar://problem/4871993> WebCore-421.31 build fails with "Public API change" error when gcc 3.3 is the default compiler
2013
2014        * bindings/scripts/CodeGeneratorObjC.pm: ignore blank lines in the public API check
2015
20162006-12-20  David Harrison  <harrison@apple.com>
2017
2018        Reviewed by John Sullivan.
2019
2020        <rdar://problem/4570218> REGRESSION (?-10.4.7): cntl-K only works the first time
2021
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),
2028
20292006-12-20  Nikolas Zimmermann  <zimmermann@kde.org>
2030
2031        Build fix, reviewed by Mitz.
2032
2033        Fix mac build, by using proper float -> int conversion.
2034
2035        * rendering/InlineFlowBox.cpp:
2036        (WebCore::InlineFlowBox::placeBoxesHorizontally):
2037
20382006-12-20  David Hyatt  <hyatt@apple.com>
2039
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).
2042
2043        Reviewed by mitz
2044
2045        Added fast/text/stroking-decorations.html
2046
2047        * rendering/InlineFlowBox.cpp:
2048        (WebCore::InlineFlowBox::paintDecorations):
2049        * rendering/RenderObject.cpp:
2050        (WebCore::decorationColor):
2051        (WebCore::RenderObject::getTextDecorationColors):
2052
20532006-12-20  David Kilzer  <ddkilzer@kilzer.net>
2054
2055        Reviewed by Darin.
2056
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
2059
2060        Set caret at beginning of text on initial focus.
2061
2062        Test: fast/forms/textarea-initial-caret-position.html
2063
2064        * html/HTMLTextAreaElement.cpp:
2065        (WebCore::HTMLTextAreaElement::updateFocusAppearance):
2066
20672006-12-20  David Hyatt  <hyatt@apple.com>
2068
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.
2073
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.
2077
2078        Stroking and filling are both customizable inside the ::selection pseudo-element, and so when selecting you can
2079        vary colors and widths.
2080
2081        text-shadow applies to both the stroke and the fill.
2082
2083        text-decorations do not yet respect the stroke/fill colors.  This will follow in a later patch.
2084
2085        Reviewed by mitz
2086
2087        Added fast/text/stroking.html as a layout test.  Enhanced RenderTreeAsText.cpp to dump fill and stroke information.
2088
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<<):
2127
21282006-12-19  Adele Peterson  <adele@apple.com>
2129
2130        Reviewed by Anders.
2131
2132        - Fix for <rdar://problem/3824247> Select All works even if -khtml-user-select:none; style is set
2133
2134        Also made user-select:none work on new list boxes, and cleaned up the list box defaultEventHandler.
2135
2136        Test: editing/selection/select-all-user-select-none.html
2137
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:
2145
21462006-12-19  Anders Carlsson  <acarlsson@apple.com>
2147
2148        Reviewed by Adele.
2149
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.
2158
21592006-12-19  Darin Adler  <darin@apple.com>
2160
2161        Reviewed by Geoff.
2162
2163        - <rdar://problem/4885227>
2164          frame resizing is now live and no longer does direct drawing
2165
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.
2169
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.
2175
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.
2191
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.
2230
22312006-12-19  Justin Garcia  <justin.garcia@apple.com>
2232
2233        Reviewed by harrison
2234
2235        Added Selection::removeAllRanges() and ::addRange()
2236
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:
2250
22512006-12-19  Beth Dakin  <bdakin@apple.com>
2252
2253        Reviewed by Hyatt.
2254
2255        Fix for <rdar://problem/4860924> outerHTML gives an out-of-date
2256        result when applied to a clone
2257
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.
2262
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.
2275
22762006-12-19  Geoffrey Garen  <ggaren@apple.com>
2277
2278        Reviewed by Darin Adler.
2279
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.
2292
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):
2299
23002006-12-19  Brady Eidson  <beidson@apple.com>
2301
2302        Reviewed by Ada
2303
2304        Added a logging channel for network activity for loader work
2305
2306        * platform/Logging.cpp:
2307        (WebCore::):
2308        * platform/Logging.h:
2309        * platform/mac/LoggingMac.mm:
2310        (WebCore::InitializeLoggingChannelsIfNecessary):
2311
23122006-12-19  Justin Garcia  <justin.garcia@apple.com>
2313
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.
2324
23252006-12-19  Timothy Hatcher  <timothy@apple.com>
2326
2327        Reviewed by Darin.
2328
2329        <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
2330
2331        * WebCore.xcodeproj/project.pbxproj:
2332
23332006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2334
2335        Reviewed by Oliver.
2336
2337        Fix SVGList index validation (off-by-one error).
2338
2339        Adding new testcase js-font-test.svg, which uses SVGLengthList interface.
2340        (This is a very old ksvg1 testcase, adopted for SVG1.1)
2341
2342        * ksvg2/svg/SVGList.h:
2343        (WebCore::SVGList::getItem):
2344        (WebCore::SVGList::replaceItem):
2345        (WebCore::SVGList::removeItem):
2346
23472006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2348
2349        Reviewed by Oliver.
2350
2351        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11879
2352
2353        Fix pattern on stroke/fill of text.
2354
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):
2364
23652006-12-19  Alice Liu  <alice.liu@apple.com>
2366
2367        Build fix
2368
2369        * platform/graphics/ImageBuffer.cpp:
2370
23712006-12-19  Alexey Proskuryakov  <ap@webkit.org>
2372
2373        Reviewed by Darin.
2374
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
2377
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.
2383
2384        * css/CSSMutableStyleDeclaration.cpp:
2385        (WebCore::CSSMutableStyleDeclaration::setProperty): Moved the handling of
2386        empty property values here. Also removed an unnecessary call to removeProperty().
2387
23882006-12-19  Anders Carlsson  <acarlsson@apple.com>
2389
2390        Reviewed by Adam.
2391
2392        * dom/Document.h:
2393        * page/EventHandler.h:
2394        Use correct forward declarations for HitTestRequest.
2395
23962006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2397
2398        Build fix, not reviewed.
2399
2400        Fix Qt/Linux build. Missing GraphicsContext.h include.
2401        Fix Mac build, by adding lroundf() (I swear this compiled w/o that, locally :-)
2402
2403        * platform/graphics/qt/ImageBufferQt.cpp:
2404        * ksvg2/svg/SVGPatternElement.cpp:
2405
24062006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2407
2408        Reviewed by Sam. Previous attempts reviewed by Oliver & Eric.
2409
2410        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11867
2411
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.)
2415
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().
2419
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.
2425
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.
2428
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.
2486
24872006-12-19  David Hyatt  <hyatt@apple.com>
2488
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.
2492
2493        Patched GraphicsContextQt as well, since it has the same pattern.
2494
2495        Reviewed by bdash
2496
2497        * platform/graphics/cg/GraphicsContextCG.cpp:
2498        (WebCore::setCGFillColor):
2499        (WebCore::setCGStrokeColor):
2500        (WebCore::GraphicsContext::GraphicsContext):
2501
25022006-12-19  Lars Knoll <lars@trolltech.com>
2503
2504        Reviewed by Rob.
2505
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
2512
25132006-12-19  David Hyatt  <hyatt@apple.com>
2514
2515        Convert stroke thickness to a float.  This allows the thickness argument to strokeArc to be eliminated.
2516
2517        Reviewed by olliej
2518
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):
2532
25332006-12-19  David Hyatt  <hyatt@apple.com>
2534
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.
2539
2540        Make sure to get square list markers right by setting both stroke and fill color properly.
2541
2542        Reviewed by mitz, olliej
2543
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):
2553
25542006-12-18  Geoffrey Garen  <ggaren@apple.com>
2555
2556        Reviewed by Beth Dakin.
2557
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.
2565
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:
2572
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:
2591
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.
2596
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.
2602
26032006-12-18  David Hyatt  <hyatt@apple.com>
2604
2605        Make sure a stroke style is set for list bullets.
2606
2607        Reviewed by mitz
2608
2609        * rendering/RenderListMarker.cpp:
2610        (WebCore::RenderListMarker::paint):
2611
26122006-12-18  Ada Chan  <adachan@apple.com>
2613
2614        Reviewed by Adam.
2615
2616        Moved implementation of Frame::scheduleClose to Frame.cpp.
2617        Added canRunBeforeUnloadConfirmPanel, runBeforeUnloadConfirmPanel, and closeWindowSoon
2618        in Chrome and ChromeClient.
2619
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):
2642
26432006-12-18  Alice Liu  <alice.liu@apple.com>
2644
2645        Reviewed by Adam.
2646
2647        Fixed <rdar://problem/4766174> REGRESSION(r16081): Aspect eWFM: Unable to log in
2648
2649        * loader/FrameLoader.cpp:
2650        (WebCore::FrameLoader::didExplicitOpen):
2651
26522006-12-18  David Hyatt  <hyatt@apple.com>
2653
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.
2656
2657        Reviewed by olliej
2658
2659        * rendering/RenderThemeMac.mm:
2660        (WebCore::RenderThemeMac::paintButton):
2661        (WebCore::RenderThemeMac::paintTextField):
2662        (WebCore::RenderThemeMac::paintTextArea):
2663        (WebCore::RenderThemeMac::paintSliderTrack):
2664        (WebCore::RenderThemeMac::paintSliderThumb):
2665
26662006-12-18  David Hyatt  <hyatt@apple.com>
2667
2668        Fix list markers to properly stroke and fill.  I screwed this up when changing how text draws.
2669
2670        Reviewed by olliej
2671
2672        * rendering/RenderListMarker.cpp:
2673        (WebCore::RenderListMarker::paint):
2674
26752006-12-18  David Hyatt  <hyatt@apple.com>
2676
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.
2680
2681        Reviewed by olliej
2682
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):
2736
27372006-12-18  Darin Adler  <darin@apple.com>
2738
2739        Reviewed by Adele.
2740
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
2744
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
2748
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
2751
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.
2756
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.
2770
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.
2774
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.
2784
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.
2796
2797        * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::defaultEventHandler):
2798        Removed an unneeded "return" for a function that has no return value.
2799
28002006-12-18  Beth Dakin  <bdakin@apple.com>
2801
2802        Reviewed by Adele.
2803
2804        Fix for <rdar://problem/4749770> WebCore crashes on a blog website
2805        in WebCore::InlineBox::root() + 6
2806
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.
2812
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.
2820
28212006-12-18  David Hyatt  <hyatt@apple.com>
2822
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:
2825
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.
2828
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.
2832
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.
2836
2837        (4) InlineTextBox will set the fill and stroke colors appropriately now rather than always assuming fill.
2838
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.
2841
2842        Reviewed by olliej
2843
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):
2883
28842006-12-18  Matt Perry  <mpcomplete@chromium.org>
2885
2886        Reviewed by Maciej.
2887
2888        Bug 11760: Animated GIFs with offsets crash WebKit
2889        http://bugs.webkit.org/show_bug.cgi?id=11760
2890
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):
2896
28972006-12-18  Pam Greene  <pam@chromium.org>
2898
2899        Reviewed by Darin.
2900
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.
2904
2905        Fixes http://bugs.webkit.org/show_bug.cgi?id=11866
2906
2907        * html/HTMLInputElement.cpp:
2908        (WebCore::HTMLInputElement::setValue):
2909        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2910
29112006-12-18  Alice Liu  <alice.liu@apple.com>
2912
2913        Oops forgot a file.
2914
2915        * editing/EditorDeleteAction.h: Added.
2916        (WebCore::):
2917
29182006-12-18  Alice Liu  <alice.liu@apple.com>
2919
2920        Reviewed by Adam.
2921
2922        Have the Editor handle deletion instead of WebHTMLView
2923
2924        * WebCore.exp:
2925        Exposed Editor::deleteWithDirection and ::deleteRange()
2926
2927        * WebCore.xcodeproj/project.pbxproj:
2928        Added EditorDeleteAction.h
2929
2930        * editing/Editor.cpp:
2931        (WebCore::Editor::deleteRange):
2932        (WebCore::Editor::deleteWithDirection):
2933        Implemented
2934
2935        (WebCore::Editor::deleteSelectionWithSmartDelete):
2936        Overloaded to take no params, in which case canSmartCopyOrDelete is called
2937
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
2943
2944        (WebCore::execBackwardDelete):
2945        (WebCore::execForwardDelete):
2946        Call deleteWithDirection instead of just executing a TypingCommand
2947
2948        (WebCore::CommandEntry::):
2949        distinguished delete (which deletes selection) from backwards delete (single character, no selection)
2950
2951        (WebCore::Editor::cut):
2952        (WebCore::Editor::performDelete):
2953        Trivial changes
2954
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
2962
2963        * platform/mac/PasteboardMac.mm:
2964        Trivial change
2965
29662006-12-18  Kevin McCullough  <KMcCullough@apple.com>
2967
2968        Reviewed by Oliver.
2969
2970        - Removed CG header include
2971
2972        * platform/graphics/ImageSource.h:
2973
29742006-12-18  John Sullivan  <sullivan@apple.com>
2975
2976        Reviewed by Tim Hatcher
2977
2978        - fixed <rdar://problem/4887764> GMAIL: Crash occurs at WebCore::Range::cloneRange()
2979          when I ctrl-click in a empty list item
2980
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.
2985
29862006-12-18  Alice Liu  <alice.liu@apple.com>
2987
2988        Leopard build fix.
2989
2990        * platform/ContextMenu.cpp:
2991        (WebCore::ContextMenu::checkOrEnableIfNeeded):
2992
29932006-12-17  Zack Rusin  <zack@kde.org>
2994
2995        Fix compilation after the const changes.
2996
2997        * platform/qt/ContextMenuItemQt.cpp:
2998        (WebCore::ContextMenuItem::type):
2999        (WebCore::ContextMenuItem::setTitle):
3000        (WebCore::ContextMenuItem::setChecked):
3001        (WebCore::ContextMenuItem::setEnabled):
3002
30032006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
3004
3005        Reviewed by Eric.
3006
3007        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10956
3008
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.
3012
3013        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3014        (WebCore::SVGPaintServerGradient::setup):
3015        * platform/mac/FontMac.mm:
3016        (WebCore::Font::drawComplexText):
3017        (WebCore::Font::drawGlyphs):
3018
30192006-12-17  Lars Naesbye Christensen  <lars@naesbye.dk>
3020
3021        Reviewed, tweaked and landed by Alexey.
3022
3023        http://bugs.webkit.org/show_bug.cgi?id=11798
3024        [CSS 3] missing cursor support for 'none'
3025
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::):
3046
30472006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
3048
3049        Build fix, not reviewed.
3050
3051        This should hopefully fix Qt build.
3052
3053        * ksvg2/svg/SVGLength.cpp: Include math.h for Qt/Linux build.
3054
30552006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
3056
3057        Reviewed by Rob.
3058
3059        Remove SVGHelper class. Move the last static function "parseSeparatedList"
3060        to the only place using it: SVGAnimationElement. Update all build files.
3061
3062        Remove any lazy_create macro usage, by what it does - cleaner.
3063
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:
3122
31232006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
3124
3125        Reviewed by Rob.
3126
3127        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11813
3128
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.
3131
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>.
3135
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):
3286
32872006-12-16  Sam Weinig  <sam@webkit.org>
3288
3289        Reviewed by Maciej.
3290
3291        Patch for http://bugs.webkit.org/show_bug.cgi?id=11856
3292        Update renderName() methods to return current class names.
3293
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".
3300
33012006-12-16  Sam Weinig  <sam@webkit.org>
3302
3303        Reviewed by Mitz.
3304
3305        Patch for http://bugs.webkit.org/show_bug.cgi?id=11844
3306        Code Cleanup for more of the rendering code
3307
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:
3525
35262006-12-16  Adam Roben  <aroben@apple.com>
3527
3528        Build fixes.
3529
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):
3536
35372006-12-16  Adele Peterson  <adele@apple.com>
3538
3539        Reviewed by Maciej.
3540
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
3543
3544        Test: fast/forms/listbox-select-all.html
3545
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.
3554
35552006-12-16  Zack Rusin  <zack@kde.org>
3556
3557        Add a stub for SearchPopupMenu for Qt code.
3558
3559        * platform/qt/SearchPopupMenuQt.cpp: Added.
3560        (WebCore::SearchPopupMenu::SearchPopupMenu):
3561        (WebCore::SearchPopupMenu::saveRecentSearches):
3562        (WebCore::SearchPopupMenu::loadRecentSearches):
3563
35642006-12-16  Zack Rusin  <zack@kde.org>
3565
3566        Make it compile after last nights changes.
3567
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:
3588
35892006-12-16  Adele Peterson  <adele@apple.com>
3590
3591        One more...
3592
3593        * editing/ReplaceSelectionCommand.cpp:
3594        (WebCore::ReplacementFragment::ReplacementFragment):
3595
35962006-12-16  Adele Peterson  <adele@apple.com>
3597
3598        Missed one instance of isNonWidgetTextField.
3599
3600        * editing/DeleteSelectionCommand.cpp:
3601        (WebCore::DeleteSelectionCommand::doApply):
3602
36032006-12-16  Hunter L. Williams <hlwebkit@gmail.com>
3604
3605        Reviewed by Adele.
3606
3607        Fix mouse wheel scrolling in <textarea> controls.
3608
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.
3613
36142006-12-16  Adele Peterson  <adele@apple.com>
3615
3616        RS by Adam.
3617
3618        Removed RenderLineEdit, TextField, WebCoreTextField classes, and use of isNonWidgetTextField,
3619
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.
3641
36422006-12-16  Adele Peterson  <adele@apple.com>
3643
3644        Two more files I forgot to svn add for search fields.
3645
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):
3653
36542006-12-16  Adele Peterson  <adele@apple.com>
3655
3656        Reviewed by Adam.
3657
3658        * platform/PopupMenuClient.h: Added. Broken out of PopupMenu class.
3659        (WebCore::PopupMenuClient::~PopupMenuClient):
3660
36612006-12-16  Adele Peterson  <adele@apple.com>
3662
3663        Reviewed by Adam.
3664
3665        WebCore part of fix for:
3666        <rdar://problem/4463829> Switch to use new search field implementation for <input type="search">
3667
3668        * WebCore.xcodeproj/project.pbxproj: Added SearchPopupMenu.h, SearchPopupMenuMac.mm, and PopupMenuClient.h.
3669
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.
3688
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.
3691
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.
3701
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.
3717
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:
3722
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):
3730
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.
3743
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.
3750
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.
3805
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):
3846
38472006-12-16  Beth Dakin  <bdakin@apple.com>
3848
3849        Reviewed by Adam (and partially Geoff).
3850
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.
3866
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.
3916
39172006-12-15  Darin Fisher  <darin@chromium.org>
3918
3919        Reviewed by Oliver.
3920
3921        Allow images to load into frames again.  Tidy up code a bit and
3922        add some much needed documentation.
3923
3924        * platform/MimeTypeRegistry.cpp:
3925        (WebCore::initialiseSupportedImageMIMETypes):
3926        (WebCore::initialiseSupportedNonImageMimeTypes):
3927        * platform/MimeTypeRegistry.h:
3928
39292006-12-15  Anders Carlsson  <acarlsson@apple.com>
3930
3931        Fix build.
3932
3933        * loader/DocumentLoader.cpp:
3934        (WebCore::DocumentLoader::response):
3935        (WebCore::DocumentLoader::setResponse):
3936        (WebCore::DocumentLoader::isStopping):
3937        (WebCore::DocumentLoader::mainDocumentError):
3938        * loader/DocumentLoader.h:
3939
39402006-12-15  Anders Carlsson  <acarlsson@apple.com>
3941
3942        Reviewed by Geoff.
3943
3944        More loader cleanup.
3945
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):
3964
39652006-12-15  Anders Carlsson  <acarlsson@apple.com>
3966
3967        * loader/DocumentLoader.h:
3968        Whoops, didn't mean to commit this.
3969
39702006-12-15  Anders Carlsson  <acarlsson@apple.com>
3971
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:
3984
39852006-12-16  Alexey Proskuryakov  <ap@webkit.org>
3986
3987        Try to fix Windows buid.
3988
3989        * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTarget.{h,cpp}
3990
39912006-12-15  Alexey Proskuryakov  <ap@webkit.org>
3992
3993        Reviewed by Darin.
3994
3995        http://bugs.webkit.org/show_bug.cgi?id=11610
3996        XMLHttpRequest.onreadystatechange doesn't provide access to the request object
3997
3998        Created a separate EventTarget class, now that EventTargetNode isn't the only kind.
3999
4000        Test: http/tests/xmlhttprequest/event-target.html
4001
4002        * WebCore.xcodeproj/project.pbxproj: Added EventTarget.{h,cpp}
4003
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.
4007
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.
4014
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.
4022
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.
4032
4033        * dom/EventTargetNode.cpp:
4034        (WebCore::EventTargetNode::dispatchGenericEvent): Cast Node to EventTargetNode.
4035
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):
4040
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.
4055
4056        * xml/xmlhttprequest.cpp:
4057        (WebCore::XMLHttpRequest::dispatchEvent):
4058        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
4059        Set target and currentTarget before dispatching.
4060
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):
4066
40672006-12-15  Anders Carlsson  <acarlsson@apple.com>
4068
4069        Reviewed by Darin.
4070
4071        More loader cleanup, use KURL instead of NSURL in a couple of places.
4072
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):
4084
40852006-12-15  Brett Wilson  <brettw@chromium.org>
4086
4087        Reviewed by Darin and Alexey.
4088
4089        Fix the Windows build, move various Client implementations out of
4090        WebCore and into WebKit.
4091
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):
4116
41172006-12-15  Anders Carlsson  <acarlsson@apple.com>
4118
4119        Reviewed by Maciej.
4120
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.
4127
41282006-12-15  Anders Carlsson  <acarlsson@apple.com>
4129
4130        Reviewed by Darin.
4131
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):
4165
41662006-12-15  Rob Buis  <buis@kde.org>
4167
4168        Reviewed by Darin.
4169
4170        http://bugs.webkit.org/show_bug.cgi?id=11824
4171        CSSStyleSheet.title property is always null
4172
4173        Set title on the stylesheet just after creating it, for the HTML
4174        elements <link> and <style>.
4175
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:
4195
41962006-12-15  Lars Knoll  <lars@trolltech.com>
4197
4198        Reviewed by Zack
4199
4200        Fix compilation.
4201
4202        * loader/SubresourceLoader.h:
4203        * platform/qt/PopupMenuQt.cpp:
4204        (WebCore::PopupMenu::PopupMenu):
4205
42062006-12-14  Anders Carlsson  <acarlsson@apple.com>
4207
4208        Reviewed by Maciej.
4209
4210        Use char* pointer + length instead of NSData in a bunch of places.
4211
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:]):
4243
42442006-12-14  Adele Peterson  <adele@apple.com>
4245
4246        Reviewed by Adam.
4247
4248        Added PopupMenuClient class so the PopupMenu class no longer needs to know
4249        about the RenderMenuList or the DOM.
4250
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.
4280
42812006-12-14  Geoffrey Garen  <ggaren@apple.com>
4282
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.
4296
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:
4310
43112006-12-14  Maciej Stachowiak  <mjs@apple.com>
4312
4313        Reviewed by Geoff.
4314
4315        - fix failing drag & drop layout tests
4316
4317        * platform/mac/KURLMac.mm:
4318        (WebCore::KURL::getNSURL): Turn empty KURL into empty NSURL, but null KURL into
4319        nil.
4320
43212006-12-14  Steve Falkenburg  <sfalken@apple.com>
4322
4323        Build fix.
4324
4325        * loader/MainResourceLoader.h:
4326
43272006-12-14  Anders Carlsson  <acarlsson@apple.com>
4328
4329        Reviewed by John.
4330
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):
4367
43682006-12-14  George Staikos  <staikos@kde.org>
4369
4370        Link, after the last loader changes.  Please update this directory with stubs when modifying the loader.
4371
4372        * loader/qt/FrameLoaderQt.cpp:
4373        (WebCore::FrameLoader::loadResourceSynchronously):
4374
43752006-12-14  Justin Garcia  <justin.garcia@apple.com>
4376
4377        Reviewed by harrison
4378
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.
4384
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):
4411
44122006-12-14  David Hyatt  <hyatt@apple.com>
4413
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.
4418
4419        Reviewed by ggaren
4420
4421        * rendering/RenderBlock.cpp:
4422        (WebCore::RenderBlock::fillInlineSelectionGaps):
4423
44242006-12-14  Anders Carlsson  <acarlsson@apple.com>
4425
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):
4438
44392006-12-14  Anders Carlsson  <acarlsson@apple.com>
4440
4441        Reviewed by Darin.
4442
4443        Add loadResourceSynchronously to ResourceHandle and have FrameLoader use it instead of
4444        calling NSURLConnection directly.
4445
4446        Add an isNull flag to ResourceError so we can convert correctly between nil NSErrors and ResourceErrors.
4447
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):
4474
44752006-12-14  Nikolas Zimmermann  <zimmermann@kde.org>
4476
4477        Reviewed by Darin.
4478
4479        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11830
4480
4481        Fix fundamental problems with JS SVG POD types.
4482        (currently: FloatPoint/FloatRect/AffineTransform)
4483
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.
4487
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.
4492
4493          These new methods are not yet used anywhere, but finally the "animated property" system is complete.
4494
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.
4498
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.
4503
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.
4506
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:
4523
45242006-12-14  Alexey Proskuryakov  <ap@webkit.org>
4525
4526        Reviewed by Darin.
4527
4528        http://bugs.webkit.org/show_bug.cgi?id=11828
4529        Fix a leak of NSURLRequest on each update - RetainPtr retains the object itself.
4530
4531        * platform/network/mac/ResourceRequestMac.mm:
4532        (WebCore::ResourceRequest::doUpdatePlatformRequest):
4533
45342006-12-14  Simon Hausmann  <hausmann@kde.org>
4535
4536        Reviewed by Zack Rusin.
4537
4538        * WebCore.pro: Clean up the xpath grammar generation rule.
4539
45402006-12-14  Zack Rusin  <zack@kde.org>
4541
4542        Make it link with temporary stubs.
4543
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):
4551
45522006-12-14  Zack Rusin  <zack@kde.org>
4553
4554        Compilation fixes for the Qt port after last nights
4555        changes.
4556
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):
4564
45652006-12-14  Rob Buis  <buis@kde.org>
4566
4567        Reviewed by Oliver.
4568
4569        http://bugs.webkit.org/show_bug.cgi?id=11726
4570        SVG Image do not take into account clip/overflow when hit testing
4571
4572        Take into account the overflowRect when hit-testing <svg> container.
4573
4574        * rendering/RenderSVGContainer.cpp:
4575        (WebCore::RenderSVGContainer::viewportTransform):
4576        (WebCore::RenderSVGContainer::nodeAtPoint):
4577        * rendering/RenderSVGContainer.h:
4578
45792006-12-13  David Hyatt  <hyatt@apple.com>
4580
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.
4584
4585        Reviewed by olliej
4586
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):
4595
45962006-12-13  Anders Carlsson  <acarlsson@apple.com>
4597
4598        * loader/FrameLoader.h:
4599        id is mac-only.
4600
46012006-12-13  Brady Eidson  <beidson@apple.com>
4602
4603        Implicitly reviewed by Darin, Hyatt, Maciej, and others!
4604
4605        Fixes a document tear down crash.
4606        Changes a few long standing assertions to our new style
4607
4608        * dom/Document.cpp:
4609        (WebCore::Document::~Document):
4610        (WebCore::Document::topDocument):
4611
46122006-12-13  Maciej Stachowiak  <mjs@apple.com>
4613
4614        Reviewed by Anders.
4615
4616        - converted many places to use ResourceRequest instead of NSURLRequest
4617
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):
4695
46962006-12-13  Geoffrey Garen  <ggaren@apple.com>
4697
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.
4702
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:
4707
47082006-12-13  Justin Garcia  <justin.garcia@apple.com>
4709
4710        Reviewed by adele
4711
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.
4722
47232006-12-13  Steve Falkenburg  <sfalken@apple.com>
4724
4725        Reviewed by Adam.
4726
4727        Added missing forwarding headers.
4728
4729        * ForwardingHeaders/kjs/value.h: Added.
4730        * ForwardingHeaders/wtf/HashTable.h: Added.
4731
47322006-12-13  Lars Knoll <lars@trolltech.com>
4733
4734        Reviewed by Maciej, Zack.
4735
4736        Make the Qt cbuild compile again.
4737
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):
4746
47472006-12-12  Adam Roben  <aroben@apple.com>
4748
4749        Reviewed by Anders.
4750
4751        Changed #import to #include to match the rest of our ForwardingHeaders.
4752
4753        * ForwardingHeaders/wtf/StringExtras.h:
4754
47552006-12-12  Justin Garcia  <justin.garcia@apple.com>
4756
4757        Reviewed by harrison
4758
4759        <rdar://problem/4757667>
4760        GoogleDocs: Style menu does not open
4761
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.
4768
47692006-12-12  Alice Liu  <alice.liu@apple.com>
4770
4771        Reviewed by Oliver.
4772
4773        * bindings/js/JSSVGMatrixCustom.cpp:
4774        added #ifdef SVG_SUPPORT
4775
47762006-12-12  Anders Carlsson  <acarlsson@apple.com>
4777
4778        Suggested by Darin.
4779
4780        * loader/ResourceLoader.cpp:
4781        Move down include of ResourceHandle.h.
4782
47832006-12-12  Geoffrey Garen  <ggaren@apple.com>
4784
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.
4789
4790        Layout tests pass.
4791
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.
4805
48062006-12-12  Anders Carlsson  <acarlsson@apple.com>
4807
4808        Rubber Stamped by Geoff.
4809
4810        * platform/Base64.cpp:
4811        * platform/Base64.h:
4812        Put functions inside of the WebCore namespace.
4813
48142006-12-12  Anders Carlsson  <acarlsson@apple.com>
4815
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:
4827
48282006-12-12  Anders Carlsson  <acarlsson@apple.com>
4829
4830        Reviewed by Darin.
4831
4832        Turn ResourceLoader into a ResourceHandleClient and stop using NSURLConnection in the loader.
4833
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.
4898
48992006-12-12  Anders Carlsson  <acarlsson@apple.com>
4900
4901        Reviewed by Geoff.
4902
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.
4909
49102006-12-12  George Staikos  <staikos@kde.org>
4911
4912        Make the last checkin compile.
4913
4914        * WebCore.pro:
4915        * ksvg2/svg/SVGTransform.cpp:
4916
49172006-12-12  Nikolas Zimmermann  <zimmermann@kde.org>
4918
4919        Reviewed by Sam Weinig & Rob Buis.
4920
4921        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11797
4922
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.
4926
4927        The actual SVGMatrix -> AffineTransformation patch has been created
4928        by Rob - I just adapted it to the autogenerated POD style.
4929
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<<):
5086
50872006-12-12  George Staikos  <staikos@kde.org>
5088
5089        Reviewed by Alexey.
5090
5091        Fix the Qt build again.
5092
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):
5101
51022006-12-12  Geoffrey Garen  <ggaren@apple.com>
5103
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.
5111
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):
5132
51332006-12-11  Alexey Proskuryakov  <ap@webkit.org>
5134
5135        Reviewed by Darin.
5136
5137        http://bugs.webkit.org/show_bug.cgi?id=11053
5138        XMLHttpRequest should be an EventTarget
5139
5140        Test: http/tests/xmlhttprequest/event-target.html
5141
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).
5156
51572006-12-11  Darin Adler  <darin@apple.com>
5158
5159        Reviewed by Geoff.
5160
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
5163
5164        DocumentType objects were getting filed under the wrong document in the
5165        DOM objects structure.
5166
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.
5185
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.
5192
51932006-12-11  Alexey Proskuryakov  <ap@nypop.com>
5194
5195        Reviewed by Darin.
5196
5197        http://bugs.webkit.org/show_bug.cgi?id=9673
5198        Add support for window.atob() and window.btoa()
5199
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.
5211
52122006-12-11  Darin Adler  <darin@apple.com>
5213
5214        Reviewed by Brady.
5215
5216        - did some of the Mac-specific file moves mentioned in my recent mail to the WebKit list
5217
5218        * WebCore.xcodeproj/project.pbxproj: Updated project for file moves.
5219
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.
5229
5230        * bridge/mac/WebCoreKeyboardAccess.h: Moved to page/mac,
5231        renamed WebCoreKeyboardUIMode.h, and made a C++ header.
5232
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.
5238
52392006-12-11  Beth Dakin  <bdakin@apple.com>
5240
5241        Reviewed by Adam.
5242
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.
5253
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.
5285
52862006-12-11  Alice Liu  <alice.liu@apple.com>
5287
5288        Reviewed by Geoff, Adam.
5289
5290        Switch to use the Editor for copying URLs.  Also some Pasteboard and PlatformMouseEvent cleanup.
5291
5292        All layout tests pass as they would without this patch.
5293
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()
5301
5302        (WebCore::Editor::writeSelectionToPasteboard):
5303        (WebCore::Editor::cut):
5304        (WebCore::Editor::copy):
5305        Changed signature of writeSelection to take raw pointer instead of PassRefPtr
5306
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
5335
53362006-12-11  Darin Adler  <darin@apple.com>
5337
5338        Reviewed by Brady.
5339
5340        - http://bugs.webkit.org/show_bug.cgi?id=11794
5341          fix lifetime problems affecting Frame's ownerElement pointer
5342
5343        * CMakeLists.txt:
5344        * WebCore.vcproj/WebCore/WebCore.vcproj:
5345        * WebCore.xcodeproj/project.pbxproj:
5346        * WebCoreSources.bkl:
5347        Updated for new source files.
5348
5349        * WebCore.exp: Updated for changes to entry point names.
5350
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.
5358
5359        * bridge/mac/WebCoreFrameBridge.h: Removed non-C++ case since we don't
5360        use that any more. Updated owner element type to HTMLFrameOwnerElement.
5361
5362        * dom/Document.cpp: Added include so that the ownerElement function can
5363        compile (since it downcasts an HTMLFrameOwnerElement to an Element).
5364
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.
5369
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.
5375
5376        * html/HTMLFrameOwnerElement.h: Added.
5377        * html/HTMLFrameOwnerElement.cpp: Added.
5378
5379        * html/HTMLEmbedElement.h:
5380        * html/HTMLEmbedElement.cpp:
5381        * html/HTMLObjectElement.h:
5382        * html/HTMLObjectElement.cpp:
5383        Remove now-unneeded contentDocument functions.
5384
5385        * html/HTMLPlugInElement.h:
5386        * html/HTMLPlugInElement.cpp:
5387        (WebCore::HTMLPlugInElement::HTMLPlugInElement): Inherit from
5388        HTMLFrameOwnerElement.
5389
5390        * loader/FormState.h:
5391        * loader/FormState.cpp: Use HTMLFormElement instead of just Element.
5392
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.
5407
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.
5418
5419        * page/mac/EventHandlerMac.mm: Include HTMLFrameOwnerElement.h so that
5420        the code here will compile (no code changes needed).
5421
5422        * rendering/RenderFrame.cpp: (WebCore::RenderFrame::viewCleared):
5423        Updated so that RenderFrame doesn't need to be a friend of HTMLFrameElementBase.
5424
5425        * rendering/RenderPart.h:
5426        * rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart):
5427        Use HTMLFrameOwnerElement.
5428
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.
5434
5435        - other changes
5436
5437        * platform/network/ResourceHandleInternal.h: Added Noncopyable and
5438        fixed indentation.
5439
54402006-12-11  David Hyatt  <hyatt@apple.com>
5441
5442        Fix failing layout test.  Remove WTF::Unicode::isSpace and just revert
5443        the caller to the old behavior.
5444
5445        Reviewed by darin
5446
5447        * platform/StringImpl.cpp:
5448        (WebCore::isSpace):
5449
54502006-12-11  Alexey Proskuryakov  <ap@webkit.org>
5451
5452        Reviewed by Adam.
5453
5454        http://bugs.webkit.org/show_bug.cgi?id=11807
5455        Merge EventHandler::m_bMousePressed and EventHandler::m_mousePressed
5456
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
5468
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.
5472
54732006-12-11  Nikolas Zimmermann  <zimmermann@kde.org>
5474
5475        Reviewed by Sam Weinig.
5476
5477        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11801
5478
5479        Autogenerate POD types for ObjC/JS.
5480
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.)
5484
5485        Affected test: svg/custom/SVGPoint-matrixTransform.svg
5486
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.
5491
5492        Temporarily updating layout test result, as suggested by John Sullivan, so
5493        no-one notices that SVGPoint-matrixTransform.svg actually fails right now.
5494
5495        Expect that to be fixed again in the next hour(s).
5496
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:
5513
55142006-12-10  Lars Knoll <lars@trolltech.com>
5515
5516        Reviewed by Zack
5517
5518        Fix another issue with frame loading
5519
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):
5527
55282006-12-10  George Staikos  <staikos@kde.org>
5529
5530        Reviewed by Zack.
5531
5532        Make the xpath grammar hack more specific (and work on OS X) until
5533        it's cleaned up.
5534
5535        * WebCore.pro:
5536
55372006-12-10  Zack Rusin  <zack@kde.org>
5538
5539        Set the widgetclient correctly. This code
5540        should be platform independent!
5541
5542        * platform/qt/WidgetQt.cpp:
5543        (WebCore::WidgetPrivate::WidgetPrivate):
5544        (WebCore::Widget::setClient):
5545        (WebCore::Widget::client):
5546        (WebCore::Widget::focusPolicy):
5547
55482006-12-11  Lars Knoll <lars@trolltech.com>
5549
5550        Reviewed by Zack
5551
5552        Fix loading of local files.
5553
5554        * platform/network/qt/ResourceHandleManagerQt.cpp:
5555        (WebCore::FileLoader::request):
5556
55572006-12-10  Zack Rusin  <zack@kde.org>
5558
5559       Don't use my QTransform magic, affine QMatrix is fine for
5560       SVG so use setMatrix.
5561
5562        * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
5563        (WebCore::SVGPaintServerLinearGradient::setup):
5564        * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
5565        (WebCore::setup):
5566
55672006-12-10  Lars Knoll <lars@trolltech.com>
5568
5569        Reviewed by Zack
5570
5571        Make sure we call checkCompleted() on the FrameLoader
5572        to get the regression tests running.
5573
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:
5586
55872006-12-10  Zack Rusin  <zack@kde.org>
5588
5589        Enable the SVG build by default and make it build.
5590
5591        * WebCore.pro:
5592        * loader/qt/FrameLoaderQt.cpp: Output the method name
5593
55942006-12-10  Zack Rusin  <zack@kde.org>
5595
5596        Move the client classes to WebKitQt/WebCoreSupport.
5597
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.
5607
56082006-12-10  Lars Knoll <lars@trolltech.com>
5609
5610        Reviewed by Zack.
5611
5612        Add some stubs required to link.
5613
5614        * platform/qt/FrameQt.cpp:
5615        (WebCore::FrameQt::runJavaScriptAlert):
5616        (WebCore::FrameQt::runJavaScriptConfirm):
5617        (WebCore::FrameQt::runJavaScriptPrompt):
5618        (WebCore::FrameQt::bindingRootObject):
5619
56202006-12-10  Rob Buis  <buis@kde.org>
5621
5622        Reviewed by Darin.
5623
5624        http://bugs.webkit.org/show_bug.cgi?id=10996
5625        WebKit needs (possibly private) XML/SVG innerText support (for DumpRenderTree)
5626
5627        Create an internal method to create innerText functionality for non-HTML
5628        nodes. When called from DRT this omits CDATA nodes.
5629
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:
5637
56382006-12-10  Darin Fisher  <darin@chromium.org>
5639
5640        Reviewed by Maciej.
5641
5642        Fixes http://bugs.webkit.org/show_bug.cgi?id=11790
5643        No way to initialize ResourceResponse::m_httpHeaderFields
5644
5645        * platform/network/ResourceResponse.cpp: impl setHTTPHeaderField
5646        (WebCore::ResourceResponse::setHTTPHeaderField):
5647        * platform/network/ResourceResponse.h: decl setHTTPHeaderField
5648
56492006-12-10  Zack Rusin  <zack@kde.org>
5650
5651        Cleaning up the code after removals.
5652
5653        * platform/qt/FrameQt.cpp:
5654        * platform/qt/FrameQt.h: Remove virtual methods
5655        which have been moved to different objects
5656
56572006-12-10  Zack Rusin  <zack@kde.org>
5658
5659        Cleanup the FrameQtClient a little bit more. Remove
5660        unused methods.
5661
5662        * platform/qt/FrameQtClient.cpp:
5663        * platform/qt/FrameQtClient.h:
5664
56652006-12-09  Adam Roben  <aroben@apple.com>
5666
5667        Build fix.
5668
5669        * xml/XPathParser.cpp:
5670        (WebCore::XPath::charCat): Use C++ unsigned instead of uint.
5671
56722006-12-09  George Staikos  <staikos@kde.org>
5673
5674        Reviewed by Zack.
5675
5676        Make it not crash, and make it set the title on Qt platform.
5677
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):
5685
56862006-12-10  Zack Rusin  <zack@kde.org>
5687
5688        Renaming FrameQtClientDefault to FrameQtClient.
5689        Removing FrameQtClient. Adding FrameLoaderClient
5690        as an argument. Clenaing up the code a bit.
5691
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:
5720
57212006-12-10  Zack Rusin  <zack@kde.org>
5722
5723        Fixes compilation after the last removals.
5724
5725        * WebCore.pro:
5726
57272006-12-10  Lars Knoll <lars@trolltech.com>
5728
5729        Reviewed by Zack.
5730
5731        Implement a decent network loader using QHttp.
5732
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:
5805
58062006-12-09  George Staikos  <staikos@kde.org>
5807
5808        Reviewed by Zack.
5809
5810        Fix bison again on qmake build.
5811
5812        * WebCore.pro:
5813
58142006-12-09  Zack Rusin  <zack@kde.org>
5815
5816        Reviewed by Zack.
5817
5818        Use the correct filename.
5819
5820        * WebCore.pro: it's PasteboardQt.cpp
5821
58222006-12-09  Zack Rusin  <zack@kde.org>
5823
5824        Reviewed by Lars.
5825
5826        Correctly set the font on widgets.
5827
5828        * platform/qt/WidgetQt.cpp:
5829        (WebCore::Widget::setFont):
5830
58312006-12-09  Adam Treat  <treat@kde.org>
5832
5833        Reviewed by Zack
5834
5835        No more nil renderer warnings
5836
5837        * platform/qt/ScrollViewCanvasQt.cpp:
5838        (WebCore::ScrollViewCanvasQt::paintEvent):
5839
58402006-12-09  Friedemann Kleint  <fkleint@trolltech.com>
5841
5842        Reviewed by Zack
5843
5844        Removed compiler warnings about rounding issues
5845
5846        * platform/qt/FontPlatformDataQt.cpp:
5847        (WebCore::FontPlatformData::FontPlatformData):
5848        * platform/qt/FontQt.cpp:
5849        (WebCore::Font::drawComplexText):
5850
58512006-12-09  George Staikos  <staikos@kde.org>
5852
5853        Reviewed by Zack.
5854
5855        Qt 4.1 (especially Qtopia) build fixes
5856
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:
5864
58652006-12-09  Lars Knoll <lars@trolltech.com>
5866
5867        Reviewed by Zack
5868
5869        Make it possible to build WebKit with qmake.
5870
5871        * WebCore.pro: Added.
5872        * platform/graphics/qt/GraphicsContextQt.cpp:
5873
58742006-12-10  Lars Knoll <lars@trolltech.com>
5875
5876        Reviewed by Zack.
5877
5878        Compile after latest WebKit changes and don't depend
5879        on deprecated methods in Qt.
5880
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):
5888
58892006-12-10  Lars Knoll <lars@trolltech.com>
5890
5891        Reviewed by Zack.
5892
5893        Use the Qt image loading framework.
5894
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):
5926
59272006-12-09  Lars Knoll  <lars@trolltech.com>
5928
5929        Reviewed by Maciej.
5930
5931        Remove an explicit ICU dependency.
5932
5933        * xml/XPathParser.cpp:
5934        (WebCore::XPath::charCat):
5935
59362006-12-09  Zack Rusin  <zack@kde.org>
5937
5938        Adjusting the build after the icu changes.
5939
5940        * CMakeLists.txt:
5941
59422006-12-09  Adam Roben  <aroben@apple.com>
5943
5944        Reviewed by Darin.
5945
5946        Changed all ForwardingHeaders to use #include instead of #import.
5947
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:
5974
59752006-12-09  Rob Buis  <buis@kde.org>
5976
5977        Reviewed by Darin.
5978
5979        http://bugs.webkit.org/show_bug.cgi?id=11625
5980        Investigate possibility to share code between HTMLStyleElement and SVGStyleElement
5981
5982        Add a class shared by both HTMLStyleElement and SVGStyleElement that
5983        encapsulates the common logic.
5984
5985        * CMakeLists.txt:
5986        * WebCore.xcodeproj/project.pbxproj:
5987        * dom/Document.cpp:
5988        (WebCore::Document::recalcStyleSelector):
5989        Generalize stylesheet processing of svg and html.
5990
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.
6001
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.
6014
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.
6022
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.
6034
60352006-12-08  David Hyatt  <hyatt@apple.com>
6036
6037        Land the new ICU abstraction layer (WTF::Unicode).  Patch
6038        by Lars with a couple of fixes thrown in by me.
6039
6040        Reviewed by hyatt
6041
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:
6162
61632006-12-08  Adam Roben  <aroben@apple.com>
6164
6165        Rolling out r17865 because it caused a performance regression.
6166
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:
6175
61762006-12-08  Zack Rusin  <zack@kde.org>
6177
6178        Reviewed by Maciej.
6179
6180        Fix the Qt/KDE build after all the API changes.
6181
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):
6270
6271=== Safari-521.32 ===
6272
62732006-12-08  Rob Buis  <buis@kde.org>
6274
6275        Reviewed by Maciej.
6276
6277        http://bugs.webkit.org/show_bug.cgi?id=10188
6278        Form elements added via appendChild() are not accessible via form.element
6279
6280        Make sure looking up form elements works when the form is not appended
6281        to the document.
6282
6283        * html/HTMLFormElement.cpp:
6284        (WebCore::HTMLFormElement::registerFormElement):
6285
62862006-12-08  Rob Buis  <buis@kde.org>
6287
6288        Reviewed by Adele.
6289
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
6292
6293        Make sure returned value is -1 for selects without children.
6294
6295        * rendering/RenderListBox.cpp:
6296        (WebCore::RenderListBox::listIndexAtOffset):
6297
62982006-12-08  Adam Roben  <aroben@apple.com>
6299
6300        Reviewed by Anders.
6301
6302        This is a mo' better fix for ensuring we don't use macro definitions
6303        of min/max.
6304
6305        * config.h:
6306
63072006-12-08  Peter Kasting  <pkasting@google.com>
6308
6309        Reviewed and landed by Alexey.
6310
6311        http://bugs.webkit.org/show_bug.cgi?id=11759:
6312        Windows build bustage
6313
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):
6344
63452006-12-08  Sam Weinig  <sam@webkit.org>
6346
6347        Reviewed by Geoff.
6348
6349        Fix for http://bugs.webkit.org/show_bug.cgi?id=11777
6350        Crash when using XMLSerializer.serializeToString() on
6351        documentless, DocumentType nodes.
6352
6353        Test: fast/dom/XMLSerializer-doctype.html
6354        Test: fast/dom/XMLSerializer-doctype2.html
6355
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
6364
63652006-12-07  Justin Garcia  <justin.garcia@apple.com>
6366
6367        Reviewed by john
6368
6369        <rdar://problem/4836287>
6370        Cannot expand selection out of editable element when containing element is non-editable.
6371
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.
6380
63812006-12-08  Beth Dakin  <bdakin@apple.com>
6382
6383        Reviewed by Maciej.
6384
6385        Add a new member variable to ContextMenuItem to hold on to the sub-
6386        menu. The new member variable is an OwnPtr<ContextMenu>
6387
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.
6406
64072006-12-08  Darin Fisher  <darin@chromium.org>
6408
6409        Reviewed by Darin.
6410
6411        http://bugs.webkit.org/show_bug.cgi?id=11778
6412        CString::data() should be documented as returning a null terminated char array
6413
6414        * platform/CString.h:
6415        Add some basic documentation to CString.h
6416
64172006-12-08  Alexey Proskuryakov  <ap@webkit.org>
6418
6419        Reviewed by Geoff.
6420
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.
6424
6425        Test: manual-tests/autoscroll.html
6426
6427        * manual-tests/autoscroll.html: Added.
6428
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.
6434
6435        (WebCore::EventHandler::stopAutoscrollTimer):
6436        If the mouse down event was in a subframe, stop the subframe's timer.
6437
64382006-12-08  Alexey Proskuryakov  <ap@webkit.org>
6439
6440        Reviewed by Geoff.
6441
6442        http://bugs.webkit.org/show_bug.cgi?id=6275
6443        XMLHttpRequest.getResponseHeader should return a null string for non-existent headers
6444
6445        * bindings/js/JSXMLHttpRequest.cpp:
6446        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
6447        Convert null getResponseHeader strings to JS null, rather than undefined.
6448
64492006-12-08  Alexey Proskuryakov  <ap@webkit.org>
6450
6451        Reviewed by Darin.
6452
6453        http://bugs.webkit.org/show_bug.cgi?id=9854
6454        HTTP Refresh header with quotes is parsed incorrectly
6455
6456        Test: http/tests/misc/redirect-with-quotes.php
6457
6458        * WebCore.xcodeproj/project.pbxproj:
6459        Added HTTPParsers.{h,cpp}. I intend to move Content-Type parsing here, as well.
6460
6461        * dom/Document.cpp:
6462        (WebCore::Document::processHttpEquiv):
6463        * loader/FrameLoader.cpp:
6464        (WebCore::FrameLoader::receivedFirstData):
6465        Use the new implementation in HTTPHeaders.
6466
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.
6472
64732006-12-08  Alexey Proskuryakov  <ap@webkit.org>
6474
6475        Reviewed by Tim H.
6476
6477        http://bugs.webkit.org/show_bug.cgi?id=11772
6478        REGRESSION: XMLSerializer.serializeToString incorrect value for CDATA nodes
6479
6480        Test: fast/dom/serialize-cdata.html
6481
6482        * editing/markup.cpp:
6483        (WebCore::startMarkup): Dump CDATA sections, too.
6484
64852006-12-08  Mitz Pettel  <mitz@webkit.org>
6486
6487        Reviewed by hyatt.
6488
6489        Deleted misplaced comment.
6490
6491        * rendering/RenderWidget.cpp:
6492
64932006-12-08  Rob Buis  <buis@kde.org>
6494
6495        Reviewed by Darin.
6496
6497        http://bugs.webkit.org/show_bug.cgi?id=6074
6498        WebKit+SVG and FireFox disagree on invalid "transform" handling
6499
6500        Test for parsing failure on transform attribute and clear the transform
6501        list upon failure to match FF behaviour.
6502
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:
6514
65152006-12-07  Geoffrey Garen  <ggaren@apple.com>
6516
6517        Reviewed by Beth Dakin.
6518
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.
6526
6527        * ChangeLog:
6528        * html/HTMLInputElement.cpp:
6529        (WebCore::HTMLInputElement::defaultEventHandler):
6530
65312006-12-07  Adam Roben  <aroben@apple.com>
6532
6533        Reviewed by Oliver.
6534
6535        Some small context menu-related fixes.
6536
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.
6543
65442006-12-07  Anders Carlsson  <acarlsson@apple.com>
6545
6546        Reviewed by Darin.
6547
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.
6569
65702006-12-07  Kevin McCullough  <kmccullough@apple.com>
6571
6572        Reviewed by Geof.
6573
6574        - added the ability to set the auto repeating variable to force a keyPressed
6575        event from a keyDown event.
6576
6577        * platform/PlatformKeyboardEvent.h:
6578        (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
6579
65802006-12-07  Peter Kasting  <pkasting@google.com>
6581
6582        Reviewed by Darin.
6583
6584        http://bugs.webkit.org/show_bug.cgi?id=11749
6585        Don't call updateThumbProportion() unnecessarily.
6586
6587        * platform/ScrollBar.cpp:
6588        (WebCore::Scrollbar::setProportion):
6589
65902006-12-07  Beth Dakin  <bdakin@apple.com>
6591
6592        Reviewed by Brady.
6593
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.
6597
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.
6610
66112006-12-06  Kevin McCullough  <KMcCullough@apple.com>
6612
6613        Reviewed by.
6614
6615        - Removed a conflict marker
6616
6617        * ChangeLog:
6618
66192006-12-06  Justin Garcia  <justin.garcia@apple.com>
6620
6621        Reviewed by darin
6622
6623        <rdar://problem/4818134>
6624        Crash in WebCore::selectRange when invoking WebView:insertNewLine in any empty content editable DIV.
6625
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
66322006-12-06  Kevin McCullough  <KMcCullough@apple.com>
6633
6634        Reviewed by.
6635
6636        - Removed a conflict marker
6637
6638        * ChangeLog:
6639
66402006-12-06  Justin Garcia  <justin.garcia@apple.com>
6641
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
6646
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.
6655
66562006-12-06  Timothy Hatcher  <timothy@apple.com>
6657
6658        Reviewed by Mark Rowe.
6659
6660        <rdar://problem/4843505> Fix cross-library ivar use for 64-bit Objective-C
6661
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.
6664
6665        * WebCore.LP64.exp: Added.
6666        * WebCore.xcodeproj/project.pbxproj:
6667
66682006-12-06  Anders Carlsson  <acarlsson@apple.com>
6669
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:
6754
67552006-12-06  Beth Dakin  <bdakin@apple.com>
6756
6757        Reviewed by Adam.
6758
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.
6768
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.
6785
67862006-12-06  Kevin McCullough  <kmccullough@apple.com>
6787
6788        Reviewed by Geof.
6789
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.
6792
6793        * platform/win/KeyEventWin.cpp:
6794        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
6795
67962006-12-06  Justin Garcia  <justin.garcia@apple.com>
6797
6798        Reviewed by harrison
6799
6800        <rdar://problem/4753545>
6801        REGRESSION: Edited whitespace sequences are all nbsps (10636)
6802
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.
6833
68342006-12-05  John Sullivan  <sullivan@apple.com>
6835
6836        Reviewed by Beth
6837
6838        Moved spelling and grammar code from Frame to Editor
6839
6840        * WebCore.exp:
6841        updated for these changes
6842
6843        * page/Frame.h:
6844        removed declarations of spelling and grammar functions
6845
6846        * bridge/mac/FrameMac.h:
6847        removed declarations of spelling and grammar functions
6848
6849        * bridge/mac/FrameMac.mm:
6850        moved implementation of spelling and grammar functions from here
6851        (WebCore::FrameMac::respondToChangedSelection):
6852        updated for moved functions
6853
6854        * editing/Editor.h:
6855        moved declarations of spelling and grammar functions to here
6856
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):
6876
6877        * platform/ContextMenu.cpp:
6878        (WebCore::ContextMenu::populate):
6879        updated for moved functions
6880
6881        * editing/TypingCommand.cpp:
6882        (WebCore::TypingCommand::markMisspellingsAfterTyping):
6883        updated for moved functions
6884
68852006-12-05  Anders Carlsson  <acarlsson@apple.com>
6886
6887        Reviewed by Maciej.
6888
6889        General cleanup, get rid of PlatformResponse (we have ResourceResponse now)
6890        and remove a couple of functions that were unused.
6891
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):
6899
69002006-12-05  Kevin McCullough  <kmccullough@apple.com>
6901
6902        Reviewed by John.
6903
6904        - keydown is now a keydown event instead of a keypress event.
6905          Fixes some form submission oddities.
6906
6907        * platform/win/KeyEventWin.cpp:
6908
69092006-12-05  John Sullivan  <sullivan@apple.com>
6910
6911        Tiger build fix
6912
6913        * editing/mac/EditorMac.mm:
6914        declare -[NSSpellChecker learnWord:], on Tiger only (it's API on Leopard)
6915
69162006-12-05  John Sullivan  <sullivan@apple.com>
6917
6918        Reviewed by Geoff Garen
6919
6920        * page/Frame.h:
6921        remove declarations of ignoreSpelling() and learnSpelling()
6922
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
6927
6928        * editing/Editor.h:
6929        added declarations of ignoreSpelling() and learnSpelling()
6930
6931        * editing/mac/EditorMac.mm:
6932        (WebCore::Editor::ignoreSpelling):
6933        moved here from FrameMac.mm
6934        (WebCore::Editor::learnSpelling):
6935        ditto
6936
6937        * page/ContextMenuController.cpp:
6938        (WebCore::ContextMenuController::contextMenuItemSelected):
6939        updated callers to use frame()->editor() rather than frame()
6940
69412006-12-05  John Sullivan  <sullivan@apple.com>
6942
6943        Reviewed by Adam
6944
6945        New context-menu mechanism fix for:
6946        <rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar
6947
6948        * platform/ContextMenu.cpp:
6949        (WebCore::ContextMenu::populate):
6950        Leave out "No Guesses Found" and separator for grammar-checking case.
6951
69522006-12-05  Rob Buis  <buis@kde.org>
6953
6954        Reviewed by Mitz.
6955
6956        http://bugs.webkit.org/show_bug.cgi?id=11686
6957        WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)
6958
6959        Make sure the SVG render objects are laid out before measuring their
6960        dimensions using relativeBBox.
6961
6962        * ksvg2/svg/SVGLocatable.cpp:
6963        (WebCore::SVGLocatable::getBBox):
6964
69652006-12-05  John Sullivan  <sullivan@apple.com>
6966
6967        Reviewed by Darin
6968
6969        Grammar/Spelling code re-homing, baby step one: put isGrammarCheckingEnabled in Editor
6970        since that's where isContinousSpellCheckingEnabled lives.
6971
6972        * editing/Editor.h:
6973        * editing/Editor.cpp:
6974        (WebCore::Editor::isGrammarCheckingEnabled):
6975        new method, calls through to client a la isContinuousSpellCheckingEnabled
6976
6977        * bridge/mac/FrameMac.mm:
6978        (WebCore::FrameMac::advanceToNextMisspelling):
6979        call editor() rather than editor()->client()
6980        (WebCore::FrameMac::markMisspellings):
6981        ditto
6982
6983        * platform/ContextMenu.cpp:
6984        (WebCore::ContextMenu::populate):
6985        ditto
6986
69872006-12-05  Darin Adler  <darin@apple.com>
6988
6989        Reviewed by Geoff.
6990
6991        - a little cleanup
6992
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.
6997
6998        * ksvg2/svg/SVGSVGElement.h: Remove unneeded parameter to createSVGPoint.
6999        * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createSVGPoint):
7000        Ditto.
7001
7002        * ksvg2/scripts/generateJSBindings.pl: Removed unused script.
7003
70042006-12-05  Darin Adler  <darin@apple.com>
7005
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.
7008
70092006-12-05  Anders Carlsson  <acarlsson@apple.com>
7010
7011        Reviewed by Brady, Darin.
7012
7013        * loader/loader.cpp:
7014        (WebCore::Loader::receivedAllData):
7015        Remove ref() call that was left around by mistake.
7016
70172006-12-05  Sam Weinig  <sam@webkit.org>
7018
7019        Reviewed by Tim H.
7020
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
7023
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:
7032
70332006-12-04  John Sullivan  <sullivan@apple.com>
7034
7035        Reviewed by Darin
7036
7037        WebCore part of fix for:
7038        <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"
7039
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.
7044
7045        * page/Frame.h:
7046        added pure virtual function declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
7047
7048        * bridge/mac/FrameMac.h:
7049        added virtual functions declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
7050
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
7061
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
70692006-12-05  Pam Greene  <pam@chromium.org>
7070
7071        Reviewed, tweaked and landed by Alexey.
7072
7073        <http://bugs.webkit.org/show_bug.cgi?id=11639> Form buttons don't look different when clicked
7074
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.
7079
7080        * platform/gdk/RenderThemeGdk.cpp:
7081        (WebCore::RenderThemeGdk::determineState): Same fix.
7082
70832006-12-05  Pam Greene  <pam@chromium.org>
7084
7085        Reviewed and landed by Alexey.
7086
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.
7091
7092        Test: fast/dom/HTMLSelectElement/listbox-select-reset.html
7093
7094        * html/HTMLSelectElement.cpp:
7095        (WebCore::HTMLSelectElement::reset):
7096
70972006-12-05  Lars Naesbye Christensen  <lars@naesbye.dk>
7098
7099        Reviewed and landed by Alexey.
7100
7101        http://bugs.webkit.org/show_bug.cgi?id=11752
7102        [CSS 3] missing support for cursor selector 'copy'
7103
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::):
7117
71182006-12-04  Beth Dakin  <bdakin@apple.com>
7119
7120        Reviewed by Geoff.
7121
7122        Fix from last check-in. This line was badbad.
7123
7124        * platform/mac/ContextMenuMac.mm:
7125        (WebCore::ContextMenu::~ContextMenu):
7126
71272006-12-04  Beth Dakin  <bdakin@apple.com>
7128
7129        Reviewed by Geoff.
7130
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.
7134
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.
7155
71562006-12-04  Anders Carlsson  <acarlsson@apple.com>
7157
7158        Fix the build.
7159
7160        * loader/mac/SubresourceLoaderMac.mm:
7161        (WebCore::SubresourceLoader::~SubresourceLoader):
7162        Add back the destructor.
7163
71642006-12-04  Anders Carlsson  <acarlsson@apple.com>
7165
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.
7171
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:
7243
72442006-12-04  Darin Adler  <darin@apple.com>
7245
7246        Reviewed by Adele.
7247
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
7250
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!
7254
7255        Test: fast/events/simulated-key-state.html
7256
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.
7264
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.
7271
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.
7276
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.
7281
7282        * WebCore.exp: Added findEventWithKeyState, used by WebKit.
7283
72842006-12-04  Kevin McCullough  <KMcCullough@apple.com>
7285
7286        Reviewed by Darin.
7287
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.
7292
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):
7314
73152006-12-02  Geoffrey Garen  <ggaren@apple.com>
7316
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):
7335
73362006-12-04  Darin Adler  <darin@apple.com>
7337
7338        Reviewed by Alice.
7339
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.
7343
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.
7348
7349        * editing/mac/EditorMac.mm:
7350        (WebCore::Editor::newGeneralClipboard): Removed unnneded local variable.
7351        (WebCore::Editor::userVisibleString): Moved this function here.
7352
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.
7359
73602006-12-04  Alice Liu  <alice.liu@apple.com>
7361
7362        Reviewed by Oliver.
7363
7364        Moved some constants from EventHandlerMac.mm to EventHandler.cpp
7365        Added some platform-specific data members and functions.
7366
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):
7375
73762006-12-04  Anders Carlsson  <acarlsson@apple.com>
7377
7378        Reviewed by Darin, Geoff.
7379
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.
7382
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):
7401
74022006-12-04  Oliver Hunt  <oliver@apple.com>
7403
7404        Build fix for non-SVG builds
7405
7406        * bindings/js/JSSVGPoint.cpp:
7407        (WebCore::JSSVGPointProtoFunc::callAsFunction):
7408
74092006-12-04  Darin Adler  <darin@apple.com>
7410
7411        Reviewed by Beth.
7412
7413        - fix http://bugs.webkit.org/show_bug.cgi?id=11632
7414          AKA <rdar://problem/4858866> REGRESSION (r17770): Overflow areas' scrollbars don't work
7415
7416        No test case added at the moment, but Beth said she'd investigate
7417        adding one after the fact.
7418
7419        * page/mac/EventHandlerMac.mm:
7420        (WebCore::EventHandler::passMousePressEventToScrollbar):
7421        Fix obvious-in-retrospect copy and paste error -- call
7422        passMouseDownEventToWidget instead of passWheelEventToWidget.
7423
74242006-12-04  Peter Kasting  <pkasting@google.com>
7425
7426        Reviewed and landed by Alexey.
7427
7428        http://bugs.webkit.org/show_bug.cgi?id=11738:
7429        Make link clicking work again on Windows.
7430
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.
7435
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):
7470
74712006-12-04  Peter Kasting  <pkasting@google.com>
7472
7473        Reviewed by Mitz.
7474
7475        http://bugs.webkit.org/show_bug.cgi?id=11748:
7476        Windows build bustage.
7477
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):
7489
74902006-12-04  John Sullivan  <sullivan@apple.com>
7491
7492        Reviewed by Anders
7493
7494        Moved EditorMac.mm to its appropriate location
7495
7496        * platform/mac/EditorMac.mm: Removed.
7497        * editing/mac/EditorMac.mm: Added
7498
7499        * WebCore.xcodeproj/project.pbxproj:
7500        updated for this change
7501
75022006-12-04  Rob Buis  <buis@kde.org>
7503
7504        Reviewed by dhyatt.
7505
7506        Patch by pmax.
7507
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
7512
7513        Allow aligning for legends in both RTL and LTR mode.
7514
7515        * rendering/RenderFieldset.cpp:
7516        (WebCore::RenderFieldset::layoutLegend):
7517
75182006-12-03  Mark Rowe  <bdash@webkit.org>
7519
7520        Reviewed by Alexey.
7521
7522        http://bugs.webkit.org/show_bug.cgi?id=11730
7523        Bug 11730: Meta HTTP Refresh that contains a fraction / decimal get ignored.
7524
7525        * dom/Document.cpp:
7526        (WebCore::Document::processHttpEquiv): Parse the refresh interval as a double rather than an integer.
7527
75282006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
7529
7530        Reviewed by Oliver.
7531
7532        Fix following bugs:
7533        http://bugs.webkit.org/show_bug.cgi?id=11734
7534        http://bugs.webkit.org/show_bug.cgi?id=11685
7535
7536        SVGPoint/SVGRect/SVGNumber were missing put() support.
7537        SVGPoint.matrixTransform() was missing.
7538
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".
7544
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).
7548
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.
7551
7552        Patch created by Rob & me - co production.
7553        Long live the great carto.next examples! :-)
7554
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:
7582
75832006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
7584
7585        Reviewed by Dave.
7586
7587        Another missing piece in the platform/graphics move.
7588
7589        * WebCore.xcodeproj/project.pbxproj:
7590        * platform/ImageAnimationObserver.h: Moved to platform/graphics.
7591
75922006-12-03  Rob Buis  <buis@kde.org>
7593
7594        Reviewed by Oliver.
7595
7596        http://bugs.webkit.org/show_bug.cgi?id=11667
7597        SVG: method .getTransformToElement(elt) in SVGLocatable not implemented
7598
7599        Implement getTransformToElement functionality. Introduce virtual
7600        baseclass SVGLocatable to allow one implementation of the functionality.
7601        Finally cleanup some code.
7602
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:
7625
76262006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
7627
7628        Reviewed by Rob.
7629
7630        Move some files around, which have been forgotton in the platform/graphics move.
7631
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.
7636
76372006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
7638
7639        Reviewed by Mitz.
7640
7641        Fix non-svg build.
7642
7643        * platform/graphics/GraphicsContext.h:
7644        * platform/mac/GraphicsContextMac.mm:
7645
76462006-12-02  John Sullivan  <sullivan@apple.com>
7647
7648        Reviewed by Tim Omernick
7649
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.
7652
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
7669
76702006-12-02  Mitz Pettel  <mitz@webkit.org>
7671
7672        Reviewed by Hyatt.
7673
7674        - fix http://bugs.webkit.org/show_bug.cgi?id=11672
7675          REGRESSION (r17068): Repro crash due to painting without layout
7676
7677        Test: fast/dynamic/containing-block-change.html
7678
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.
7683
76842006-12-02  Darin Fisher  <darin@chromium.org>
7685
7686        Reviewed by Darin.
7687
7688        http://bugs.webkit.org/show_bug.cgi?id=11709
7689        DeprecatedString::format is broken on Windows
7690
7691        Use _vscprintf on Windows to compute the length of the buffer that
7692        vsnprintf would need.
7693
7694        * platform/DeprecatedString.cpp:
7695        (WebCore::DeprecatedString::format):
7696        * platform/String.cpp:
7697        (WebCore::String::format):
7698
76992006-12-01  Beth Dakin  <bdakin@apple.com>
7700
7701        Reviewed by Adam.
7702
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
7707
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):
7747
77482006-12-01  Kevin McCullough  <KMcCullough@apple.com>
7749
7750        Reviewed by .
7751
7752        - accidentally checked in with previous checkin
7753
7754        * platform/qt/FrameQt.cpp:
7755        (WebCore::FrameQt::keyEvent):
7756
77572006-12-01  Kevin McCullough  <KMcCullough@apple.com>
7758
7759        Reviewed by Adam.
7760
7761        - better solution to the ambiguous reference
7762
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):
7772
77732006-12-01  Justin Garcia  <justin.garcia@apple.com>
7774
7775        Reviewed by john
7776
7777        <rdar://problem/4826940>
7778        Selection change performed even when delete delegate replies NO (11415)
7779
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.
7783
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.
7798
77992006-12-01  John Sullivan  <sullivan@apple.com>
7800
7801        Reviewed by Darin
7802
7803        Move subrange helper function from spellchecking code to TextIterator
7804
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
7812
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
7821
78222006-12-01  Darin Adler  <darin@apple.com>
7823
7824        Reviewed by Mitz.
7825
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
7828
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.
7831
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.
7837
7838        - also do some clean-up to related event handling code
7839
7840        * bindings/js/kjs_events.cpp: (KJS::DOMEvent::getValueProperty): Updated for the
7841        name change of cancelBubble.
7842
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.
7850
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.
7869
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.
7873
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.
7906
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.
7910
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.
7916
7917        * ksvg2/svg/SVGAElement.cpp: Removed an unnecessary include.
7918
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.
7923
79242006-12-01  John Sullivan  <sullivan@apple.com>
7925
7926        Reviewed by Darin
7927
7928        - fixed <rdar://problem/4811175> Many false reports of bad grammar appear, caused by
7929          insufficient context passed to grammar checker
7930
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
7940
79412006-12-01  John Sullivan  <sullivan@apple.com>
7942
7943        Reviewed by Darin
7944
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.
7949
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.
7958
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
7972
79732006-12-01  Peter Kasting  <pkasting@google.com>
7974
7975        Reviewed by Mitz.
7976
7977        http://bugs.webkit.org/show_bug.cgi?id=11732:
7978        Windows build bustage.
7979
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):
8031
80322006-11-30  Geoffrey Garen  <ggaren@apple.com>
8033
8034        Rubber Stamped by Anders Carlsson.
8035
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.
8039
80402006-11-30  John Sullivan  <sullivan@apple.com>
8041
8042        Reviewed by Justin
8043
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.
8052
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.
8069
80702006-11-30  Lou Amadio  <lamadio@apple.com>
8071
8072        Reviewed by Dave Hyatt
8073        Cleaned up generated files.
8074
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.
8080
80812006-11-30  Adam Roben  <aroben@apple.com>
8082
8083        Reviewed by Beth.
8084
8085        Store ContextMenu's NSMutableArray inside a RetainPtr so that we
8086        will retain/release it correctly.
8087
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):
8101
81022006-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
8103
8104        Reviewed by Eric. Rubber stamped by Oliver.
8105
8106        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383
8107
8108        This is the final patch after the long "die kcanvas" journey.
8109
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.
8114
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.
8118
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!
8125
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.
8128
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):
8307
83082006-11-30  Geoffrey Garen  <ggaren@apple.com>
8309
8310        Reviewed by Beth Dakin.
8311
8312        Fixed up garbage collection at window close time.
8313
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.
8328
83292006-11-30  Brady Eidson  <beidson@apple.com>
8330
8331        Reviewed by Tim's rubberstamp
8332
8333        Amazingly, DocumentLoader.h survived all this time without a header guard...
8334
8335        * loader/DocumentLoader.h:  Added header guard
8336
83372006-11-30  Timothy Hatcher  <timothy@apple.com>
8338
8339        Reviewed by Brady and Eric.
8340
8341        XMLHttpRequest fails in a page loaded with WebFrame's loadHTMLString: or loadData:
8342        http://bugs.webkit.org/show_bug.cgi?id=11723
8343
8344        Allow cross-domain XMLHTTPRequest for applewebdata URLs. No automated way to test,
8345        tested in Safari's debug Snippet Editor.
8346
8347        * xml/xmlhttprequest.cpp:
8348        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
8349
83502006-11-29  Anders Carlsson  <acarlsson@apple.com>
8351
8352        Reviewed by Brady.
8353
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):
8379
83802006-11-29  Justin Garcia  <justin.garcia@apple.com>
8381
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.
8391
83922006-11-29  Anders Carlsson  <acarlsson@apple.com>
8393
8394        Reviewed by Oliver.
8395
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
84012006-11-29  Geoffrey Garen  <ggaren@apple.com>
8402
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.
8409
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):
8415
84162006-11-29  Geoffrey Garen  <ggaren@apple.com>
8417
8418        Reviewed by Mitz Pettel.
8419
8420        Fixed http://bugs.webkit.org/show_bug.cgi?id=11710
8421        REGRESSION (r17906): Crash in WebCore::FrameMac
8422
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.
8426
8427        No test case because this crash depends on window tear-down. Layout tests
8428        pass.
8429
84302006-11-29  Anders Carlsson  <acarlsson@apple.com>
8431
8432        Fix build.
8433
8434        * platform/network/mac/ResourceHandleMac.mm:
8435        (WebCore::ResourceHandle::receivedResponse):
8436        Fix tyop.
8437
84382006-11-29  Anders Carlsson  <acarlsson@apple.com>
8439
8440        Reviewed by Darin.
8441
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]):
8477
84782006-11-28  Alice Liu  <alice.liu@apple.com>
8479
8480        Reviewed by Maciej.
8481
8482        A fix for a couple failing layout tests involving copy/cut in iframes.
8483
8484        * bridge/EditorClient.h:
8485        Add frame parameter to dataForArchivedSelectionInFrame instead of
8486        just getting the webview's selectedFrame.
8487
8488        * platform/mac/PasteboardMac.mm:
8489        (Pasteboard::writeSelection):
8490        Pass in the frame
8491
84922006-11-28  Geoffrey Garen  <ggaren@apple.com>
8493
8494        Reviewed by Beth Dakin.
8495
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.
8502
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.
8507
85082006-11-28  Adam Roben  <aroben@apple.com>
8509
8510        Reviewed by Ada.
8511
8512        Add platform-specific constructor/destructor to ContextMenu so we can
8513        properly retain/release the platform menu description.
8514
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):
8525
85262006-11-28  Adam Roben  <aroben@apple.com>
8527
8528        Build fix.
8529
8530        * platform/network/mac/ResourceRequestMac.mm:
8531
85322006-11-28  David Harrison  <harrison@apple.com>
8533
8534        Reviewed by Adele.
8535
8536        <rdar://problem/4852804> selection color does not get drawn over the missing image rectangle
8537
8538        Test:
8539        * editing/selection/select-missing-image.html: Added.
8540
8541        * rendering/RenderImage.cpp:
8542        (WebCore::RenderImage::paint):
8543        Draw the selection tint even if the image itself is not available.
8544
85452006-11-28  Anders Carlsson  <acarlsson@apple.com>
8546
8547        Reviewed by Maciej.
8548
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.
8551
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):
8590
85912006-11-28  Adam Roben  <aroben@apple.com>
8592
8593        Reviewed by Beth.
8594
8595        More WebCore context menu work (still not turned on, however).
8596
8597        Split ContextMenuItem into its own files and make it a class.
8598
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):
8629
8630        Added some more context menu plumbing.
8631
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.
8641
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.
8646
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):
8668
8669        Reverted the changes made in r17805 so that we can have fewer header
8670        #includes.
8671
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):
8678
86792006-11-28  Alice Liu  <alice.liu@apple.com>
8680
8681        Reviewed by Justin and Adam.
8682
8683        All layout tests pass as they do without this patch
8684
8685        * WebCore.exp:
8686        Exposed functions in Editor and removed functions in FrameMac due to changes in WebHTMLView.m
8687
8688        * WebCore.xcodeproj/project.pbxproj:
8689        Added Pasteboard.h, PasteboardMac.mm, WebNSAttributedStringExtras.h&mm, EditorMac.mm
8690
8691        * bridge/EditorClient.h:
8692        Added smartInsertDeleteEnabled and shouldInsertNode and some mac-specific functions
8693
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
8697
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
8703
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):
8737
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]):
8755
87562006-11-28  Justin Garcia  <justin.garcia@apple.com>
8757
8758        Reviewed by harrison
8759
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.
8765
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.
8781
87822006-11-28  Geoffrey Garen  <ggaren@apple.com>
8783
8784        Reviewed by Adam.
8785
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.
8797
87982006-11-27  Anders Carlsson  <acarlsson@apple.com>
8799
8800        Try fixing the build.
8801
8802        * platform/graphics/IntRect.cpp:
8803        (WebCore::IntRect::IntRect):
8804
88052006-11-27  Beth Dakin  <bdakin@apple.com>
8806
8807        Reviewed by Adam.
8808
8809        Getting rid of some of the critical FIXMEs in ContextMenu.cpp.
8810
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.
8834
88352006-11-27  Alexey Proskuryakov  <ap@webkit.org>
8836
8837        Reviewed by Hyatt.
8838
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
8841
8842        Test: fast/xsl/default-html.html
8843
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.
8849
88502006-11-27  Oliver Hunt  <oliver@apple.com>
8851
8852        Reviewed by Adam.
8853
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>
8859
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:
8871
88722006-11-27  Anders Carlsson  <acarlsson@apple.com>
8873
8874        Reviewed by Adam.
8875
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:
8881
88822006-11-27  Ada Chan  <adachan@apple.com>
8883
8884        Reviewed by Adam.
8885
8886        Moved WebCoreCache up to WebKit.
8887
8888        * WebCore.exp:
8889        * WebCore.xcodeproj/project.pbxproj:
8890        * bridge/mac/WebCoreCache.h: Removed.
8891        * bridge/mac/WebCoreCache.mm: Removed.
8892
88932006-11-27  Anders Carlsson  <acarlsson@apple.com>
8894
8895        Reviewed by Adam.
8896
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:
8914
89152006-11-27  Adele Peterson  <adele@apple.com>
8916
8917        Reviewed by Hyatt.
8918
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
8921
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.
8925
89262006-11-26  Simon Hausmann  <hausmann@kde.org>
8927
8928        Reviewed by Maciej.
8929
8930        http://bugs.webkit.org/show_bug.cgi?id=11693
8931        Fix the Qt build, adapt to various enum/class renamings.
8932
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):
8945
89462006-11-24  Rob Buis  <buis@kde.org>
8947
8948        Reviewed by Mitz.
8949
8950        http://bugs.webkit.org/show_bug.cgi?id=11666
8951        .getScreenCTM() returns wrong values
8952
8953        Take into account the local transform matrix too and
8954        so fix getScreenCTM/getCTM for <text>.
8955
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:
8966
89672006-11-22  Rob Buis  <buis@kde.org>
8968
8969        Reviewed by Eric.
8970
8971        http://bugs.webkit.org/show_bug.cgi?id=11661
8972        SVG: stroke not sensitive to mouse events (hit testing fails)
8973
8974        Use mapAbsolutePointToLocal when hit-testing strokes.
8975
8976        * rendering/RenderPath.cpp:
8977        (WebCore::RenderPath::fillContains):
8978        (WebCore::RenderPath::nodeAtPoint):
8979
89802006-11-21  Anders Carlsson  <acarlsson@apple.com>
8981
8982        Reviewed by Mitz.
8983
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):
9037
90382006-11-21  Nikolas Zimmermann  <zimmermann@kde.org>
9039
9040        Reviewed by Oliver.
9041
9042        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11658
9043
9044        Move KRenderingPaintServer* classes to the location
9045        of all other resources (platform/graphics/svg).
9046
9047        Soon the whole platform/graphics/svg stuff will bemoved
9048        into ksvg2/ itself, as discussed with Darin.
9049
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):
9229
92302006-11-21  Alex Taylor  <darwin@techvisual.co.nz>
9231
9232        Reviewed by Mitz.
9233
9234        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11587
9235
9236        Adds calculations for bottom right radius's position
9237        which was being drawn incorrectly.
9238
9239        * rendering/RenderObject.cpp:
9240        (WebCore::RenderObject::paintBorder):
9241
92422006-11-20  Rob Buis  <buis@kde.org>
9243
9244        Reviewed by Maciej.
9245
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
9248
9249        Transport disabled state from DOM element to the shadow
9250        DOM/render object.
9251
9252        * rendering/RenderFileUploadControl.cpp:
9253        (WebCore::RenderFileUploadControl::updateFromElement):
9254        * rendering/RenderTheme.h:
9255
92562006-11-20  Anders Carlsson  <acarlsson@apple.com>
9257
9258        Reviewed by Maciej.
9259
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.
9273
92742006-11-20  Anders Carlsson  <acarlsson@apple.com>
9275
9276        Reviewed by Maciej.
9277
9278        Use CString instead of DeprecatedCString.
9279
9280        * html/FormDataList.cpp:
9281        (WebCore::FormDataList::appendString):
9282        (WebCore::fixLineBreaks):
9283        (WebCore::FormDataList::appendFile):
9284
92852006-11-20  Samuel Weinig  <sam@webkit.org>
9286
9287        Reviewed by Alexey.
9288
9289        Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
9290        Fix Windows build
9291
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):
9306
93072006-11-20  Alexey Proskuryakov  <ap@webkit.org>
9308
9309        Reviewed by Maciej.
9310
9311        http://bugs.webkit.org/show_bug.cgi?id=10736
9312        XMLHttpRequest.responseXML should be null on error
9313
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.
9324
9325        * xml/xmlhttprequest.cpp:
9326        (WebCore::XMLHttpRequest::getResponseXML): Set the document to null if it's not well-formed.
9327
93282006-11-20  Alexey Proskuryakov  <ap@webkit.org>
9329
9330        Reviewed by Sam Weinig.
9331
9332        http://bugs.webkit.org/show_bug.cgi?id=11633
9333        Implement XMLDocument properties xmlEncoding, xmlVersion, xmlStandalone
9334
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.
9350
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".
9354
9355        * bindings/scripts/CodeGeneratorJS.pm:
9356        * bindings/scripts/CodeGeneratorObjC.pm:
9357        Added WK_ucfirst to properly uppercase xmlVersion and xmlStandalone.
9358
93592006-11-20  Nikolas Zimmermann  <zimmermann@kde.org>
9360
9361        Reviewed by Rob.
9362
9363        Fix Qt/Linux build.
9364
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):
9387
93882006-11-20  Samuel Weinig  <sam@webkit.org>
9389
9390        Reviewed by Maciej.
9391
9392        Fix for http://bugs.webkit.org/show_bug.cgi?id=11647
9393        Fix Win32 build
9394
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):
9403
94042006-11-19  Beth Dakin  <bdakin@apple.com>
9405
9406        Reviewed by Adam.
9407
9408        Implementation of actions for the new context menus.
9409
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):
9446
94472006-11-19  Simon Hausmann  <hausmann@kde.org>
9448
9449        Reviewed by Zack.
9450
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.
9455
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):
9474
94752006-11-19  Mitz Pettel  <mitz@webkit.org>
9476
9477        Reviewed by Maciej.
9478
9479        - http://bugs.webkit.org/show_bug.cgi?id=11626
9480          Automate test for rdar://problem/4056100
9481
9482        * manual-tests/delete-into-nested-block.html: Removed.
9483
94842006-11-19  Nikolas Zimmermann  <zimmermann@kde.org>
9485
9486        Reviewed by Oliver.
9487
9488        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11596
9489
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.
9495
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.
9500
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):
9934
99352006-11-18  Rob Buis  <buis@kde.org>
9936
9937        Reviewed by Maciej.
9938
9939        http://bugs.webkit.org/show_bug.cgi?id=11321
9940        Element with :target pseudo-class still matched after fragment identifier change
9941
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.
9945
9946        * loader/FrameLoader.cpp:
9947        (WebCore::FrameLoader::gotoAnchor):
9948
99492006-11-18  Peter Kasting  <pkasting@google.com>
9950
9951        Reviewed by Sam Weinig.
9952
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.
9957
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):
10070
100712006-11-18  Alexey Proskuryakov  <ap@webkit.org>
10072
10073        Reviewed by Rob (yay!).
10074
10075        http://bugs.webkit.org/show_bug.cgi?id=11640
10076        XMLHttpRequest produces undefined:undefined HTTP authentication
10077
10078        * bindings/js/JSXMLHttpRequest.cpp:
10079        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
10080        Treat undefined credentials as missing ones.
10081
100822006-11-17  Lars Naesbye Christensen  <lars@naesbye.dk>
10083
10084        Reviewed by Tim H.
10085
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
10088
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::):
10107
101082006-11-18  Steve Falkenburg  <sfalken@apple.com>
10109
10110        Reviewed by Adam.
10111
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.
10116
10117        * platform/network/cf/ResourceResponseCFNet.cpp:
10118        (WebCore::getResourceResponse): Add kCFAbsoluteTimeIntervalSince1970 in assignment
10119
101202006-11-17  Anders Carlsson  <acarlsson@apple.com>
10121
10122        Reviewed by Geoff.
10123
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:
10146
10147=== Safari-521.31 ===
10148
101492006-11-17  Timothy Hatcher  <timothy@apple.com>
10150
10151        Reviewed by Harrison.
10152
10153        <rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made
10154
10155        Disable the delete button controller when cloning nodes, Mail does this before saving a draft.
10156
10157        * dom/ContainerNode.cpp:
10158        (WebCore::ContainerNode::cloneChildNodes):
10159        * editing/markup.cpp:
10160        (WebCore::createFragmentFromNodes):
10161
101622006-11-17  Justin Garcia  <justin.garcia@apple.com>
10163
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
10168
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.
10197
101982006-11-17  Rob Buis  <buis@kde.org>
10199
10200        Reviewed by Mitz.
10201
10202        http://bugs.webkit.org/show_bug.cgi?id=11635
10203        Bug 11635: Fix potential issue with non-xslt build
10204
10205        Fix the issue and do style guideline corrections.
10206
10207        * dom/ProcessingInstruction.cpp:
10208        (WebCore::ProcessingInstruction::checkStyleSheet):
10209        (WebCore::ProcessingInstruction::sheetLoaded):
10210        (WebCore::ProcessingInstruction::setCSSStyleSheet):
10211        (WebCore::ProcessingInstruction::setXSLStyleSheet):
10212        (WebCore::ProcessingInstruction::parseStyleSheet):
10213
102142006-11-17  Timothy Hatcher  <timothy@apple.com>
10215
10216        Reviewed by Harrison.
10217
10218        <rdar://problem/4843131> text entry is slow inside element that has the deletion rectangle around it
10219
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
10222
10223        * editing/EditCommand.cpp:
10224        (WebCore::EditCommand::apply):
10225        (WebCore::EditCommand::unapply):
10226        (WebCore::EditCommand::reapply):
10227        (WebCore::applyCommand):
10228        * editing/EditCommand.h:
10229
102302006-11-17  Zack Rusin  <zack@kde.org>
10231
10232        Reviewed by Mitz. Landed by Niko.
10233
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
10237
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):
10288
102892006-11-17  David Harrison  <harrison@apple.com>
10290
10291        Reviewed by Adele.
10292
10293        <rdar://problem/4799899> Frame::revealSelection() only scrolls the startContainer's layer
10294
10295        Replace an assert with a fixme that refers to this bug.
10296
10297        * page/Frame.cpp:
10298        (WebCore::Frame::revealSelection):
10299
103002006-11-16  Rob Buis  <buis@kde.org>
10301
10302        Reviewed and landed by Brady
10303
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.
10307
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:
10321
103222006-11-16  David Harrison  <harrison@apple.com>
10323
10324        Reviewed by Beth.
10325
10326        <rdar://problem/4056100> REGRESSION (Tiger): Deleting top part of reply email leaves fails to clear text at end of message
10327
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.
10331
10332        Call repaintDuringLayoutIfMoved() with old rect (incl. width and height) instead of just the old position.
10333
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):
10350
103512006-11-16  Adele Peterson  <adele@apple.com>
10352
10353        Reviewed by Adam.
10354
10355        Slider cleanup.  Let the theme set the size of the slider thumb.
10356
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.
10365
103662006-11-15  Anders Carlsson  <acarlsson@apple.com>
10367
10368        Reviewed by Darin.
10369
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<<):
10409
104102006-11-16  Anders Carlsson  <acarlsson@apple.com>
10411
10412        Reviewed by Tim.
10413
10414        * editing/markup.cpp:
10415        (WebCore::createMarkup):
10416        Add null-checks for the frame, it might not exist for all documents.
10417
104182006-11-16  Peter Kasting  <pkasting@google.com>
10419
10420        Reviewed and landed by ap.
10421
10422        http://bugs.webkit.org/show_bug.cgi?id=11509:
10423        Windows build bustage.
10424
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().
10431
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):
10715
107162006-11-16  Timothy Hatcher  <timothy@apple.com>
10717
10718        Reviewed by Adam.
10719
10720        <rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made
10721
10722        * editing/markup.cpp:
10723        (WebCore::createMarkup): disable the delete button so it's elements are not serialized into the markup
10724
107252006-11-16  George Staikos  <staikos@kde.org>
10726
10727        Rubberstamped by Maciej.
10728
10729        Making the code valgrind clean.
10730
10731        * rendering/RenderTableCell.cpp: initialize variable m_widthChanged
10732        (WebCore::RenderTableCell::RenderTableCell):
10733        * rendering/RenderTableCell.h: remove unused variable nWrap
10734
107352006-11-16  David Harrison  <harrison@apple.com>
10736
10737        Reviewed by Darin and Tim.
10738
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().
10744
107452006-11-16  Timothy Hatcher  <timothy@apple.com>
10746
10747        Reviewed by Darin.
10748
10749        <rdar://problem/4836897> Deletion rectangle disappears when multiple list items are selected
10750
10751        Consider the container of the selection range for deletion before asking enclosingNodeOfType().
10752
10753        * editing/DeleteButtonController.cpp:
10754        (WebCore::enclosingDeletableElement):
10755
107562006-11-16  Rob Buis  <buis@kde.org>
10757
10758        Reviewed by hyatt.
10759
10760        Removal of unused m_styleElement.
10761
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?
10767
107682006-11-15  Adam Roben  <aroben@apple.com>
10769
10770        Build fix.
10771
10772        Rename the items in the ContextMenuAction enum so that they don't
10773        conflict with WebKit names.
10774
10775        * WebCore.xcodeproj/project.pbxproj:
10776        * platform/ContextMenu.cpp:
10777        (WebCore::ContextMenu::populate):
10778        * platform/ContextMenu.h:
10779        (WebCore::):
10780        (WebCore::ContextMenuItem::ContextMenuItem):
10781
107822006-11-15  Adam Roben  <aroben@apple.com>
10783
10784        Reviewed by Anders.
10785
10786        Change m_contextMenu to an OwnPtr.
10787
10788        * WebCore.xcodeproj/project.pbxproj:
10789        * page/ContextMenuController.cpp:
10790        (WebCore::ContextMenuController::handleContextMenuEvent):
10791        * page/ContextMenuController.h:
10792
107932006-11-15  Adam Roben  <aroben@apple.com>
10794
10795        Reviewed by Anders.
10796
10797        Add new ContextMenuController and ContextMenuClient classes, and move
10798        context menu responsibilities from Chrome and ChromeClient to them.
10799
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.
10828
108292006-11-15  Anders Carlsson  <acarlsson@apple.com>
10830
10831        Reviewed by Darin.
10832
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):
10840
108412006-11-15  Oliver Hunt  <oliver@apple.com>
10842
10843        Reviewed by Anders.
10844
10845        Allow <embed> and <object> tags to include non-plugin
10846        content when plugins are disabled
10847
10848        Fixes <rdar://problems/4839488>
10849
10850        * html/HTMLEmbedElement.cpp:
10851        (WebCore::HTMLEmbedElement::rendererIsNeeded):
10852        * html/HTMLObjectElement.cpp:
10853        (WebCore::HTMLObjectElement::rendererIsNeeded):
10854        * loader/FrameLoader.cpp:
10855        (WebCore::FrameLoader::requestObject):
10856
108572006-11-15  Adele Peterson  <adele@apple.com>
10858
10859        Build fix.  Another type problem that I don't see locally.
10860
10861        * rendering/RenderSlider.cpp: (WebCore::RenderSlider::setPositionFromValue):
10862
108632006-11-15  Adele Peterson  <adele@apple.com>
10864
10865        Reviewed by Adam.
10866
10867        Adding MathExtras header.
10868
10869        * rendering/RenderSlider.cpp:
10870
108712006-11-15  Timothy Hatcher  <timothy@apple.com>
10872
10873        Reviewed by Harrison.
10874
10875        <rdar://problem/4832894> Crash deleting an element inside a list while deletion rectangle is visible (compareBoundaryPoints)
10876
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.
10879
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.
10882
10883        * Make sure the the renderers are currently reflecting the latest style changes, so call updateLayoutIgnorePendingStylesheets().
10884
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
10900
109012006-11-15  Adele Peterson  <adele@apple.com>
10902
10903        Reviewed by Adam.
10904
10905        New implementation of slider control.
10906
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:
10913
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::):
10921
10922        * css/html4.css: Added style for input[type="range"] and input[type="range"]::-webkit-slider-thumb
10923
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.
10927
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:
10934
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):
10961
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):
10980
109812006-11-15  Beth Dakin  <bdakin@apple.com>
10982
10983        Reviewed by Adam.
10984
10985        Oops! Forgot to add this!
10986
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):
10997
109982006-11-15  Beth Dakin  <bdakin@apple.com>
10999        &   Adam Roben  <aroben@apple.com>
11000
11001        Reviewed by Adam and Beth.
11002
11003        Initial cut at pushing Context Menus into WebCore. Nobody actually
11004        calls this code just yet.
11005
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):
11022
110232006-11-15  Adele Peterson  <adele@apple.com>
11024
11025        Reviewed by Hyatt.
11026
11027        - Fix for <rdar://problem/4780306> REGRESSION: clicking in textarea does not set selection at PunBB.org
11028
11029        * css/html4.css: Removed "-webkit-user-select: ignore" for labels.
11030
110312006-11-15  David Harrison  <harrison@apple.com>
11032
11033        Reviewed by Darin.
11034
11035        <rdar://problem/4836034> REGRESSION: Hang while spell-checking (advanceToNextMisspelling)
11036
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.
11044
110452006-11-15  Brady Eidson  <beidson@apple.com>
11046
11047        Reviewed by lamadio
11048
11049        Backing out macro expansion
11050
11051        * WebCore.xcodeproj/project.pbxproj:
11052        * html/HTMLElement.cpp:
11053        (WebCore::HTMLElement::isRecognizedTagName):
11054        * ksvg2/scripts/make_names.pl:
11055
110562006-11-15  David Harrison  <harrison@apple.com>
11057
11058        Reviewed by Darin.
11059
11060        <rdar://problem/4770453> VO not honoring secure edit fields in web pages
11061
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.
11065
11066        * bridge/mac/WebCoreAXObject.mm:
11067        (isPasswordFieldElement):
11068        (-[WebCoreAXObject isPasswordField]):
11069        (-[WebCoreAXObject textMarkerForVisiblePosition:]):
11070        (-[WebCoreAXObject accessibilityAttributeValue:]):
11071        (-[WebCoreAXObject doAXStringForRange:]):
11072
110732006-11-13  Lou Amadio  <lamadio@apple.com>
11074
11075        Reviewed by Darin Adler, Maciej Stachowiak
11076
11077        Cleanup: Expanded macros in generated files
11078
11079        * html/HTMLElement.cpp:
11080        (WebCore::HTMLElement::isRecognizedTagName):
11081        * ksvg2/scripts/make_names.pl:
11082
110832006-11-16  Anders Carlsson  <acarlsson@apple.com>
11084
11085        Reviewed by Geoff.
11086
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):
11094
110952006-11-15  Adam Roben  <aroben@apple.com>
11096
11097        Build fix.
11098
11099        * page/EventHandler.h:
11100
111012006-11-14  Beth Dakin  <bdakin@apple.com>
11102
11103        Reviewed by Geoff.
11104
11105        Move things off the bridge, and move sendContextMenuEvent() from
11106        EventHandlerMac to EventHandler.
11107
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:
11120
111212006-11-14  Timothy Hatcher  <timothy@apple.com>
11122
11123        Reviewed by Harrison.
11124
11125        <rdar://problem/4766635> Safari should never follow links in editable areas (add a WebKitEditableLinkNeverLive option)
11126
11127        Adds an EditableLinkNeverLive setting that will make links in editable areas always dead.
11128
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::):
11139
111402006-11-14  Mark Rowe  <bdash@webkit.org>
11141
11142        Reviewed by Oliver.
11143
11144        Build fix
11145
11146        * bindings/scripts/CodeGenerator.pm:
11147
111482006-11-14  Anders Carlsson  <acarlsson@apple.com>
11149
11150        Turns out I wasn't forcing DWARF on the world at all,
11151        it's now the default!
11152
11153        * WebCore.xcodeproj/project.pbxproj:
11154
111552006-11-14  Anders Carlsson  <acarlsson@apple.com>
11156
11157        I must stop trying to force DWARF on the world.
11158
11159        * WebCore.xcodeproj/project.pbxproj:
11160
111612006-11-13  Justin Garcia  <justin.garcia@apple.com>
11162
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>.
11173
111742006-11-14  Anders Carlsson  <acarlsson@apple.com>
11175
11176        Reviewed by Adam.
11177
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::):
11186
111872006-11-14  Darin Adler  <darin@apple.com>
11188
11189        Reviewed by Anders.
11190
11191        - created EventHandler class, moved event handling code from both
11192          Frame and FrameView in there
11193
11194        - added ScrollTypes.h header so you can include the scroller-related
11195          enums without all of Scrollbar.h
11196
11197        * page/EventHandler.cpp: Added.
11198        * page/EventHandler.h: Added.
11199        * page/mac/EventHandlerMac.mm: Added.
11200
11201        * platform/ScrollBarMode.h: Removed.
11202        * platform/ScrollTypes.h: Added.
11203
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):
11249
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):
11317
113182006-11-14  Anders Carlsson  <acarlsson@apple.com>
11319
11320        Reviewed by Darin.
11321
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):
11346
113472006-11-14  Nikolas Zimmermann  <zimmermann@kde.org>
11348
11349        Reviewed and landed by Brady
11350
11351        Fix Qt/Linux build.
11352
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:
11361
113622006-11-14  Brady Eidson  <beidson@apple.com>
11363
11364        Reviewed by Anders
11365
11366        Cleanup of my patch last night and merging with aroben-style changes from this morning
11367        (More ref-counted FormData stuff)
11368
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):
11387
113882006-11-14  Rob Buis  <buis@kde.org>
11389
11390        Reviewed by Darin.
11391
11392        http://bugs.webkit.org/show_bug.cgi?id=11575
11393        Bug 11575: REGRESSION: WebCore crash in CSSParser/HTMLTokenizer
11394
11395        Test: fast/css/css-imports.html
11396
11397        * css/CSSImportRule.cpp:
11398        (WebCore::CSSImportRule::insertedIntoParent):
11399        Fix the crash by testing for null pointer.
11400
114012006-11-14  Alexey Proskuryakov  <ap@webkit.org>
11402
11403        Reviewed by Tim H.
11404
11405        Test for http://bugs.webkit.org/show_bug.cgi?id=3387
11406        Redundant keydown, keypress, keyup events sent for arrow keys
11407
11408        * manual-tests/arrow-key-events.html: Added.
11409
114102006-11-14  Darin Adler  <darin@apple.com>
11411
11412        Reviewed by Adam.
11413
11414        Fix up usages of FormData within CFNet loader code.
11415
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):
11429
114302006-11-14  Greg Jackson  <gjspanner@gmail.com>
11431
11432        Reviewed by Darin.
11433
11434        Preserves any pre-existing value for WEBCORE_NAVIGATOR_PLATFORM
11435        rather than overriding it based on platform detection.
11436
11437        * bindings/js/kjs_navigator.cpp:
11438
114392006-11-13  Brady Eidson  <beidson@apple.com>
11440
11441        Reviewed by Maciej
11442
11443        Made FormData Shared, and pass it around as such.
11444
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):
11469
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):
11477
11478        * xml/xmlhttprequest.cpp:
11479        (WebCore::XMLHttpRequest::send):
11480
114812006-11-13  Justin Garcia  <justin.garcia@apple.com>
11482
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.
11501
115022006-11-13  Justin Garcia  <justin.garcia@apple.com>
11503
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.
11512
115132006-11-10  Justin Garcia  <justin.garcia@apple.com>
11514
11515        Reviewed by Oliver
11516
11517        <rdar://problem/4820026>
11518        copy/paste of news.google.com yields text from hidden select element options
11519
11520        We were adding descendants of unrendered select elements.
11521
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
115262006-11-12  Simon Hausmann  <hausmann@kde.org>
11527
11528        Reviewed by Sam Weinig.
11529
11530        Fix Qt build. Missing AbstractShared implementation.
11531        http://bugs.webkit.org/show_bug.cgi?id=11581
11532
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:
11545
115462006-11-13  Mark Rowe  <bdash@webkit.org>
11547
11548        Reviewed by Mitz.
11549
11550        Fix some Linux/Gdk build issues noted by Alp Toker.
11551
11552        * Projects/gdk/webcore-gdk.bkl:
11553        * WebCoreSources.bkl:
11554        * platform/graphics/gdk/ImageGdk.cpp:
11555        (WebCore::Image::loadPlatformResource):
11556
115572006-11-12  Brady Eidson <beidson@apple.com>
11558
11559        Reviewed by Anders
11560
11561        Logging channel plumbing for future work
11562
11563        * platform/Logging.cpp:
11564        (WebCore::):
11565        * platform/Logging.h:
11566        * platform/mac/LoggingMac.mm:
11567        (WebCore::InitializeLoggingChannelsIfNecessary):
11568
115692006-11-12  Mark Rowe  <bdash@webkit.org>
11570
11571        Reviewed by Mitz.
11572
11573        Linux/Gdk compilation fixes, and bakefile cleanups.  Based on patches by
11574        Alp Toker.
11575
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:
11601
116022006-11-11  Geoffrey Garen  <ggaren@apple.com>
11603
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):
11625
116262006-11-11  George Staikos  <staikos@kde.org>
11627
11628        Reviewed by Maciej.
11629
11630        Fix uninitialized variable.
11631
11632        * rendering/RenderStyle.h:
11633
116342006-11-11  Nikolas Zimmermann  <zimmermann@kde.org>
11635
11636        Reviewed/landed by Adam.
11637
11638        Complete cleanup of the CMakeLists.txt.
11639        Now all files to be built are sorted in alphabetic order.
11640
11641        General style cleanup, remove all tabs etc.
11642
11643        * CMakeLists.txt:
11644
116452006-11-11  Geoffrey Garen  <ggaren@apple.com>
11646
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.
11651
11652        * platform/network/ResourceRequest.h:
11653        (WebCore::ResourceRequest::ResourceRequest):
11654
116552006-11-11  Brady Eidson <beidson@apple.com>
11656
11657        Reviewed by Maciej
11658
11659        Fixed header guard
11660
11661        * loader/FrameLoaderClient.h:
11662
116632006-11-11  Darin Adler  <darin@apple.com>
11664
11665        - attempt to fix Qt build
11666
11667        * platform/qt/CursorQt.cpp:
11668        (WebCore::verticalTextCursor): Added. Just returns pointer cursor.
11669        (WebCore::cellCursor): Ditto.
11670        (WebCore::contextMenuCursor): Ditto.
11671
116722006-11-11  Rob Buis  <buis@kde.org>
11673
11674        Reviewed by hyatt.
11675
11676        http://bugs.webkit.org/show_bug.cgi?id=10893
11677        InsertRule can not handle @import statements
11678
11679        Allow @import as part of a css rule.
11680
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):
11689
116902006-11-11  Alexey Proskuryakov  <ap@webkit.org>
11691
11692        Attempt to fix Qt build.
11693
11694        * CMakeLists.txt: PathQt.cpp is in graphics/qt now.
11695
116962006-11-11  Lars Naesbye Christensen  <lars@naesbye.dk>
11697
11698        Tortured by Sam Weinig, Tim H., Maciej, Mitz and Alexey :-)
11699
11700        [CSS 3] support for vertical-text, cell and context-menu cursors
11701        http://bugs.webkit.org/show_bug.cgi?id=11494
11702
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::):
11720
117212006-11-11  Nikolas Zimmermann  <zimmermann@kde.org>
11722
11723        Reviewed by aroben and ap, landed by ap.
11724
11725        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11468
11726
11727        Group graphics related files in platform/graphics.
11728        Move certain files from certain subdirectories
11729        into platform/graphics/{win,mac,cg,gdk,qt}
11730
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.
11944
119452006-11-11  Graham Dennis  <graham.dennis@gmail.com>
11946
11947        Reviewed by hyatt.
11948
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.
11960
119612006-11-11  Graham Dennis  <graham.dennis@gmail.com>
11962
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
11967
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'
11973
119742006-11-10  Zalan Bujtas <zalan.bujtas@nokia.com>
11975
11976        Reviewed by Maciej.
11977
11978        Added basic types for symbian platform.
11979        http://bugs.webkit.org/show_bug.cgi?id=11540
11980
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):
12026
120272006-11-10  Zack Rusin  <zack@kde.org>
12028
12029        Reviewed by Anders.
12030
12031        Adjust to the changes Brady made in the Qt code.
12032
12033        * loader/qt/FrameLoaderClientQt.cpp:
12034        (WebCore::FrameLoaderClientQt::dispatchDidReceiveIcon):
12035        * loader/qt/FrameLoaderClientQt.h:
12036
120372006-11-10  Justin Garcia  <justin.garcia@apple.com>
12038
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.
12047
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.
12075
12076=== Safari-521.30 ===
12077
120782006-11-10  Timothy Hatcher  <timothy@apple.com>
12079
12080        Reviewed by Hyatt.
12081
12082        Check for BHIDDEN in isVisible() also.
12083
12084        * rendering/RenderStyle.h:
12085        (WebCore::BorderValue::isVisible):
12086
120872006-11-10  Timothy Hatcher  <timothy@apple.com>
12088
12089        Reviewed by Adam.
12090
12091        <rdar://problem/4821423> element deletion UI appears for Mail blockquote and others with less than three visible borders
12092
12093        Added a new function to BorderValue called isVisible(). This checks nonZero() and !isTransparent().
12094
12095        * editing/DeleteButtonController.cpp:
12096        (WebCore::isDeletableElement):
12097        * rendering/RenderStyle.h:
12098        (WebCore::BorderValue::isVisible):
12099
121002006-11-10  Adam Roben  <aroben@apple.com>
12101
12102        Rubberstamped by Anders.
12103
12104        Back out some accidentally-committed changes from r17711.
12105
12106        * page/Frame.cpp:
12107        (WebCore::Frame::command):
12108        (WebCore::FramePrivate::FramePrivate):
12109        * page/Frame.h:
12110        * page/FramePrivate.h:
12111
121122006-11-10  Anders Carlsson  <acarlsson@apple.com>
12113
12114        Reviewed by Geoff.
12115
12116        Add more commands, make toggleBold and toggleItalic executable commands.
12117
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:
12136
121372006-11-10  Anders Carlsson  <acarlsson@apple.com>
12138
12139        Reviewed by Maciej, Geoff.
12140
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.
12143
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:
12191
121922006-11-10  Brady Eidson  <beidson@apple.com>
12193
12194        Reviewed by Darin
12195
12196        Took out WebIconDatabaseBridge and made WebKit call IconDatabase directly
12197
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:
12212
122132006-11-10  Zack Rusin  <zack@kde.org>
12214
12215        Reviewed and landed by Anders.
12216
12217        Adjust platform Qt/KDE code to the recent loader
12218        changes.
12219
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):
12431
124322006-11-10  Brady Eidson <beidson@apple.com>
12433
12434        Reviewed by Mitz
12435
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.
12439
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.
12445
124462006-11-09  Oliver Hunt  <oliver@apple.com>
12447
12448        Reviewed by Brady.
12449
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):
12484
124852006-11-09  Maciej Stachowiak  <mjs@apple.com>
12486
12487        Reviewed by Oliver.
12488
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.
12492
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):
12555
125562006-11-09  Maciej Stachowiak  <mjs@apple.com>
12557
12558        Reviewed by Anders.
12559
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.
12565
125662006-11-09  Beth Dakin  <bdakin@apple.com>
12567
12568        Reviewed by Hyatt.
12569
12570        Fix for <rdar://problem/4805409> REGRESSION: Reproducible crash in
12571        WebCore::RenderBlock::skipWhitespace
12572
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.
12578
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.
12584
125852006-11-09  Adam Roben  <aroben@apple.com>
12586
12587        Reviewed by Geoff.
12588
12589        Fix the change in behavior I caused in r17680 with my build fix.
12590
12591        * rendering/RenderObject.cpp:
12592        (WebCore::RenderObject::maxTopMargin):
12593        (WebCore::RenderObject::maxBottomMargin):
12594
125952006-11-09  Anders Carlsson  <acarlsson@apple.com>
12596
12597        Reviewed by Adam, Oliver.
12598
12599        Move more functions to Editor.
12600
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:
12620
126212006-11-09  Darin Adler  <darin@apple.com>
12622
12623        * rendering/RenderObject.h: Oops! Fixed accidentally checked-in ifdef.
12624
126252006-11-09  Alice Liu  <alice.liu@apple.com>
12626
12627        Reviewed by Beth Dakin.
12628
12629        Fixed <rdar://problem/4808720> Hamachi test tool crashes Safari in WebCore::HTMLTableSectionElement::deleteRow
12630        All existing layout tests pass
12631
12632        * html/HTMLTableElement.cpp:
12633        (WebCore::HTMLTableElement::deleteRow):
12634        check lastSection before deleting row
12635
126362006-11-09  Darin Adler  <darin@apple.com>
12637
12638        - improved version of last night's build fix (should not do using namespace in a header)
12639
12640        * rendering/RenderObject.h:
12641        * rendering/RenderObject.cpp:
12642        (WebCore::RenderObject::maxTopMargin):
12643        (WebCore::RenderObject::maxBottomMargin):
12644
126452006-11-08  Maciej Stachowiak  <mjs@apple.com>
12646
12647        Reviewed by Geoff.
12648
12649        - added ResourceError class and didFailWithError client method
12650
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:
12691
126922006-11-08  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
12693
12694        Reviewed by Maciej.
12695
12696        Linux\Gdk fixes.
12697
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):
12744
127452006-11-08  Adam Roben  <aroben@apple.com>
12746
12747        Build fix.
12748
12749        * rendering/RenderObject.h:
12750        (WebCore::RenderObject::maxTopMargin):
12751        (WebCore::RenderObject::maxBottomMargin):
12752
127532006-11-08  Geoffrey Garen  <ggaren@apple.com>
12754
12755        Reviewed by Anders Carlsson.
12756
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.
12759
12760        * bindings/js/kjs_window.cpp: Removed unnecessary subtractions
12761        when computing the screen's available dimensions.
12762
127632006-11-08  Sam Weinig  <sam.weinig@gmail.com>
12764
12765        Reviewed by Mitz.
12766
12767        Fix for http://bugs.webkit.org/show_bug.cgi?id=11506
12768        Cleanup RenderObject
12769
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):
12927
129282006-11-08  Darin Adler  <darin@apple.com>
12929
12930        Reviewed by Anders.
12931
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
12935
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.
12947
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.
12966
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.
12974
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.
12980
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.
13004
13005        * dom/EventTargetNode.cpp:
13006        (WebCore::EventTargetNode::defaultEventHandler): Pass event to the
13007        advanceFocus function.
13008
13009        * platform/TextField.h:
13010        * platform/mac/TextFieldMac.mm: Removed the non-search field code.
13011
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.
13018
13019        * platform/mac/SliderMac.mm:
13020        (-[WebCoreSlider canBecomeKeyView]): Changed to use currentKeyboardEvent()
13021        and pass event into tabsToAllControls.
13022        (Slider::focusPolicy): Ditto.
13023
13024        * rendering/RenderLineEdit.cpp:
13025        (WebCore::RenderLineEdit::RenderLineEdit): Removed the non-search field code.
13026        (WebCore::RenderLineEdit::updateFromElement): Ditto.
13027
130282006-11-08  Brady Eidson  <beidson@apple.com>
13029
13030        Reviewed by Dave Harrison, Oliver, and Darin
13031        (oh my!  where was superkevin on this one?)
13032
13033        <rdar://problem/4816196> "Xcode Help" crashes in WebCore::DocumentLoader::setPrimaryLoadComplete(bool)
13034
13035        More "free nil checking" we lost in the transition from ObjC to C++
13036
13037        * loader/mac/FrameLoaderMac.mm:
13038        (WebCore::FrameLoader::startLoading): Null check m_provisionalDocumentLoader and bail early.
13039        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto
13040
130412006-11-08  Anders Carlsson  <acarlsson@apple.com>
13042
13043        Reviewed by Adam.
13044
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:
13063
130642006-11-08  Beth Dakin  <bdakin@apple.com>
13065
13066        Reviewed by Adam.
13067
13068        Add ability to HitTestResult to ask if the inner non-shared node is
13069        content editable.
13070
13071        * WebCore.exp: Export HitTestResult::isContentEditable()
13072        * rendering/HitTestResult.cpp:
13073        (WebCore::HitTestResult::isContentEditable):
13074        * rendering/HitTestResult.h:
13075
130762006-11-08  Anders Carlsson  <acarlsson@apple.com>
13077
13078        Build fix.
13079
13080        * WebCore.xcodeproj/project.pbxproj:
13081        Add DOMCSSStyleDeclarationInternal.h to the "Copy Generated Headers" build phase.
13082
130832006-11-08  Timothy Hatcher  <timothy@apple.com>
13084
13085        Reviewed by Darin.
13086
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
13089
13090        Added lineBoxRects and boundingBox to Range and DOMRange. These methods correspond to the DOMNode methods.
13091
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:
13111
131122006-11-08  Anders Carlsson  <acarlsson@apple.com>
13113
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:
13135
131362006-11-08  Geoffrey Garen  <ggaren@apple.com>
13137
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.
13143
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):
13150
131512006-11-08  Darin Adler  <darin@apple.com>
13152
13153        - fix bug caused by last-minute change to my check-in last night
13154          that is causing layout tests to hang
13155
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.
13159
131602006-11-08  Brady Eidson <beidson@apple.com>
13161
13162        Reviewed by Maciej
13163
13164        If the request has already been aborted, bail out of didFinishLoading()
13165        immediately.  This prevents state change notifications that aren't
13166        needed.
13167
13168        * xml/xmlhttprequest.cpp:
13169        (WebCore::XMLHttpRequest::didFinishLoading):
13170
131712006-11-08  Darin Adler  <darin@apple.com>
13172
13173        - another attempt to fix Qt build
13174
13175        * loader/qt/FrameLoaderQt.cpp: Added missing include of FrameLoader.h.
13176
131772006-11-08  Darin Adler  <darin@apple.com>
13178
13179        Reviewed by Geoff.
13180
13181        - stray bits of my FrameLoader patch that I left out by accident
13182
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.
13197
131982006-11-07  Beth Dakin  <bdakin@apple.com>
13199
13200        Reviewed by Hyatt.
13201
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
13205
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.
13212
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.
13225
132262006-11-07  Darin Adler  <darin@apple.com>
13227
13228        - another attempt to fix Qt build
13229
13230        * loader/icon/IconLoader.h: Added missing include.
13231
132322006-11-06  Geoffrey Garen  <ggaren@apple.com>
13233
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.
13243
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.
13254
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):
13275
132762006-11-07  Darin Adler  <darin@apple.com>
13277
13278        - try to fix Qt build
13279
13280        * CMakeLists.txt: Updated for some file changes.
13281        * WebCoreSources.bkl: Ditto.
13282
132832006-11-07  Darin Adler  <darin@apple.com>
13284
13285        Reviewed by Geoff.
13286
13287        - moved loader code from Frame/FrameMac to FrameLoader
13288
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):
13665
136662006-11-07  Anders Carlsson  <acarlsson@apple.com>
13667
13668        Reviewed by Geoff.
13669
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:
13691
136922006-11-07  Brady Eidson  <beidson@apple.com>
13693
13694        Reviewed by Maciej
13695
13696        Changed the check for "top level frame" to something much more valid
13697
13698        * page/Frame.cpp:
13699        (WebCore::Frame::endIfNotLoading):
13700
137012006-11-07  Beth Dakin  <bdakin@apple.com>
13702
13703        Reviewed by Hyatt (yesterday).
13704
13705        Here is part of my patch from yesterday that is safe to roll back
13706        in. It will make the BuildBot happy.
13707
13708        * rendering/HitTestResult.cpp:
13709        (WebCore::HitTestResult::spellingToolTip): Null-check
13710        m_innerNonSharedNode.
13711
137122006-11-07  Darin Adler  <darin@apple.com>
13713
13714        * loader/icon/IconLoader.cpp: (WebCore::IconLoader::didReceiveResponse):
13715        Comment grammar fix.
13716
137172006-11-07  Darin Adler  <darin@apple.com>
13718
13719        Rolled out change for <rdar://problem/4820814>.
13720
13721        Beth's planning on landing a new change for it soon, but in the mean time
13722        we need layout tests succeeding again.
13723
137242006-11-07  Darin Adler  <darin@apple.com>
13725
13726        Reviewed by Brady.
13727
13728        - fix <rdar://problem/4752069> 9A274: World of Warcraft Launcher
13729          crashes on launch in WebCore::ResourceLoader::start
13730
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.
13733
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.
13746
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.
13768
13769        * loader/mac/IconLoaderMac.mm: Removed.
13770        * WebCore.xcodeproj/project.pbxproj: Removed IconLoaderMac.mm.
13771
137722006-11-06  David Harrison  <harrison@apple.com>
13773
13774        Reviewed by Darin.
13775
13776        <rdar://problem/4714993> REGRESSION: After replacing a misspelled word in a sentence, the selected word wraps down to next line (10428)
13777
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.
13796
137972006-11-06  Beth Dakin  <bdakin@apple.com>
13798
13799        Reviewed by Hyatt.
13800
13801        Fix for <rdar://problem/4820814> A crash occurs at
13802        WebCore::HitTestResult::spellingToolTip() when mousing down on
13803        iframe at www.macsurfer.com
13804
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.
13808
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.
13824
138252006-11-06  Justin Garcia  <justin.garcia@apple.com>
13826
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.
13846
138472006-11-06  Brady Eidson  <beidson@apple.com>
13848
13849        Reviewed by Sarge
13850
13851        <rdar://problem/4822911> - ASSERTION was a little overzealous.
13852        Toned it down a bit.
13853
13854        * xml/xmlhttprequest.cpp:
13855        (WebCore::XMLHttpRequest::didFinishLoading):  Toned down assertion
13856
138572006-11-06  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
13858
13859        Reviewed by Maciej.
13860
13861        Linux\Gdk build fixes.
13862
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):
13899
139002006-11-06  Geoffrey Garen  <ggaren@apple.com>
13901
13902        build fix.
13903
13904        * WebCore.xcodeproj/project.pbxproj:
13905
139062006-11-06  Geoffrey Garen  <ggaren@apple.com>
13907
13908        Reviewed by Maciej, Anders, Darin.
13909
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.
13921
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.
13945
139462006-11-06  Graham Dennis  <graham.dennis@gmail.com>
13947
13948        Reviewed by Tim Hatcher.
13949
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
13955
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:
13968
139692006-11-06  Brady Eidson  <beidson@apple.com>
13970
13971        Reviewed by Oliver
13972
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
13976
13977        * loader/icon/IconLoader.cpp:
13978        (WebCore::IconLoader::startLoading): Check for the document and return if none
13979
139802006-11-06  Brady Eidson  <beidson@apple.com>
13981
13982        Reviewed by Dave Harrison
13983
13984        <rdar://problem/4801066>
13985        Added a critical null frameLoader() check
13986
13987        * loader/mac/MainResourceLoaderMac.mm:
13988        (WebCore::MainResourceLoader::loadNow):
13989
139902006-11-06  David Harrison  <harrison@apple.com>
13991
13992        Reviewed by Darin.
13993
13994        <rdar://problem/4813973> Pressing delete key to remove empty quoted line leaves cursor mis-positioned
13995
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.
14003
140042006-11-06  Mark Rowe  <bdash@webkit.org>
14005
14006        Reviewed by Maciej.
14007
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
14010
14011        Update DOMNode::toString to always use className rather than preferring nodeName.
14012
14013        * bindings/js/kjs_dom.cpp:
14014        (KJS::DOMNode::toString): Match the format returned by valueOf.
14015
140162006-11-06  Oliver Hunt  <oliver@apple.com>
14017
14018        Reviewed by Maciej.
14019
14020        Fix RTL text in SVG to have correct positioning
14021
14022        * rendering/SVGRootInlineBox.cpp:
14023        (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
14024
140252006-11-06  Alexey Proskuryakov  <ap@webkit.org>
14026
14027        Reviewed by Maciej.
14028
14029        http://bugs.webkit.org/show_bug.cgi?id=11517
14030        REGRESSION: Flash clicks/interactivity not working properly
14031
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.
14037
140382006-11-05  Darin Adler  <darin@apple.com>
14039
14040        - quick attempt to fix the no-SVG build
14041
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.
14056
140572006-11-05  Darin Fisher  <darin@chromium.org>
14058
14059        Reviewed & landed by Maciej.
14060
14061        Fixes http://bugs.webkit.org/show_bug.cgi?id=11265
14062
14063        * platform/win/ResourceLoaderWin.cpp:
14064        (WebCore::transferJobStatusCallback):
14065        (WebCore::ResourceLoader::start):
14066
140672006-11-04  Maciej Stachowiak  <mjs@apple.com>
14068
14069        Reviewed by Oliver.
14070
14071        - moved FormData and FormDataStream to platform/network directory
14072
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:
14084
140852006-11-05  Steve Falkenburg  <sfalken@apple.com>
14086
14087        Fix build breaks
14088
14089        * loader/DocumentLoader.h:
14090        * platform/win/ScreenWin.cpp:
14091
140922006-11-05  Darin Adler  <darin@apple.com>
14093
14094        Reviewed by Geoff.
14095
14096        - more preparation for splitting up Frame into sub-pieces
14097        - removed unnecessary includes from Frame.h
14098
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.
14105
14106        * page/FramePrivate.h: Removed the definition of the constructor and
14107        destructor and removed unnecessary includes.
14108
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.
14112
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.
14116
14117        * bridge/mac/WebCoreFrameBridge.h: Removed obsolete comment.
14118        Removed unused methods areScrollbarsVisible,
14119        nextValidKeyViewOutsideWebFrameViews, and fileWrapperForURL:.
14120
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.
14126
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.
14132
14133        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac): Updated
14134        for changes to header.
14135
14136        * editing/SelectionController.cpp:
14137        (WebCore::SelectionController::setSelection):
14138        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
14139        Moved NoXPosForVerticalArrowNavigation into this file.
14140
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.
14170
141712006-11-05  Alexey Proskuryakov  <ap@nypop.com>
14172
14173        Reviewed by Dave Harrison.
14174
14175        http://bugs.webkit.org/show_bug.cgi?id=11402
14176        REGRESSION: onChange does not work anymore for 1st item in popup
14177
14178        * html/HTMLSelectElement.cpp:
14179        (WebCore::HTMLSelectElement::HTMLSelectElement):
14180        (WebCore::HTMLSelectElement::reset):
14181        Set m_lastOnChangeIndex to -1.
14182
141832006-11-04  Darin Adler  <darin@apple.com>
14184
14185        Reviewed by Anders.
14186
14187        - fix http://bugs.webkit.org/show_bug.cgi?id=11453
14188          REGRESSION: Status bar always shows cancelled opening the page
14189
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.
14196
141972006-11-04  Darin Adler  <darin@apple.com>
14198
14199        Reviewed by Maciej.
14200
14201        - converted more of the loader machinery to work with cross-platform
14202          data structures instead of Macintosh-specific ones
14203
14204          converted most uses of NSURL to KURL and NSEvent to DOM Event in
14205          loader classes
14206
14207          moved download function out of FrameLoader.h to avoid reference to
14208          NSURLConnection
14209
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
14214
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
14218
14219          removed const from Event parameter to the urlSelected function
14220          (we rarely use const with DOM elements)
14221
14222          removed some redundant includes and declarations from various
14223          header files
14224
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
14230
14231          did some basic cleanup in the IconLoader class, including removing
14232          an unnecessary loop that added icon data a byte at a time
14233
14234          renamed safeLoad to load, since it's no different from the other
14235          FrameLoader load functions, safety-wise
14236
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)
14241
14242          corrected all uses of "get" and "post" to be uppercase "GET" and "POST"
14243          and got rid of case-insensitive compares of methods
14244
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:
14361
143622006-11-03  Maciej Stachowiak  <mjs@apple.com>
14363
14364        Reviewed by Adele.
14365
14366        - replaced receivedRedirect with new willSendRequest delegate
14367        - removed most mac-specific loader functions
14368        - use ResourceResponse more in loader code
14369
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:
14453
144542006-11-04  Darin Adler  <darin@apple.com>
14455
14456        Change suggested by Mitz.
14457
14458        - fix http://bugs.webkit.org/show_bug.cgi?id=11514
14459          REGRESSION (r17438): Repro crash when opening a web archive
14460
14461        * bridge/mac/WebCorePageState.mm:
14462        (-[WebCorePageState dealloc]): Add null check.
14463        (-[WebCorePageState finalize]): Ditto.
14464
144652006-11-04  Bertrand Guiheneuf <guiheneuf@gmail.com>
14466
14467        Reviewed by Maciej, tweaked and landed by Alexey (using a patch by Peter Kasting).
14468
14469        http://bugs.webkit.org/show_bug.cgi?id=11433
14470        Fixes to get WebKit to run on Windows; implemented AffineTransformCairo.
14471
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/
14481
14482        * bridge/win/ChromeClientWin.h: Added.
14483        (WebCore::ChromeClientWin::~ChromeClientWin):
14484        * bridge/win/EditorClientWin.h: Added.
14485        (WebCore::EditorClientWin::~EditorClientWin):
14486
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
14496
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):
14548
145492006-11-04  Alexey Proskuryakov  <ap@nypop.com>
14550
14551        Reviewed by Maciej.
14552
14553        http://bugs.webkit.org/show_bug.cgi?id=11448
14554        &lang; and &rang; entities are mapped to the incorrect Unicode codepoint
14555
14556        * html/HTMLEntityNames.gperf: Use canonical Unicode equivalents for these characters.
14557
145582006-11-03  Mark Rowe  <bdash@webkit.org>
14559
14560        Reviewed by Oliver.
14561
14562        Update Windows and Qt project files for file removals in r17585.
14563
14564        * CMakeLists.txt:
14565        * WebCore.vcproj/WebCore/WebCore.vcproj:
14566
145672006-11-03  Zack Rusin  <zack@kde.org>
14568
14569        Reviewed by Maciej.
14570
14571        The patch fixes text field drawing on the Qt platform.
14572
14573        * platform/qt/RenderThemeQt.cpp:
14574        (WebCore::RenderThemeQt::paintTextField): Use the style to correctly
14575        render the text field
14576
145772006-11-03  Oliver Hunt  <oliver@apple.com>
14578
14579        Reviewed by Tim.
14580
14581        Correct incorrect call to SetCursor
14582
14583        * rendering/RenderFrameSet.cpp:
14584        (WebCore::RenderFrameSet::userResize):
14585
145862006-11-03  Adele Peterson  <adele@apple.com>
14587
14588        Reviewed by Oliver.
14589
14590        Removed DeprecatedRenderSelect and ListBox classes.
14591
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.
14612
146132006-11-03  Maciej Stachowiak  <mjs@apple.com>
14614
14615        Not reviewed, fix for accidental commit.
14616
14617        - rolled back more of the accidentall commit that I forgot.
14618
14619        * platform/network/mac/ResourceRequestMac.h: Removed.
14620        * platform/network/mac/ResourceRequestMac.mm: Removed.
14621
146222006-11-03  Maciej Stachowiak  <mjs@apple.com>
14623
14624        Not reviewed, fix for accidental commit.
14625
14626        - roll back some network changes accidentally committed with a previous patch.
14627
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:
14670
146712006-11-03  Anders Carlsson  <acarlsson@apple.com>
14672
14673        Rubber-stamped by Oliver.
14674
14675        Remove these, they have been merged with SVGRenderTreeAsText.
14676
14677        * rendering/SVGRenderAsText.cpp: Removed.
14678        * rendering/SVGRenderAsText.h: Removed.
14679
146802006-11-03  Anders Carlsson  <acarlsson@apple.com>
14681
14682        Build fix.
14683
14684        * platform/network/cf/ResourceHandleCFNet.cpp:
14685        (WebCore::willSendRequest):
14686
146872006-11-02  Geoffrey Garen  <ggaren@apple.com>
14688
14689        Reviewed by Darin, Beth.
14690
14691        First cut at factoring Page's UIDelegate-related functions into Chrome
14692        and ChromeClient.
14693
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):
14699
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.
14705
14706        * page/Page.h:
14707        (WebCore::Page::dragCaretController): Made this function non-const so that
14708        m_dragCaretController doesn't have to be mutable.
14709
147102006-11-03  Alexey Proskuryakov  <ap@nypop.com>
14711
14712        Reviewed by Adele.
14713
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
14716
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.
14721
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.
14735
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.
14741
147422006-11-03  Zack Rusin  <zack@kde.org>
14743
14744        Reviewed by Tim.
14745
14746        Fixing compile.
14747
14748        * platform/qt/LoaderFunctionsQt.cpp:
14749        (WebCore::CachedResource::setPlatformResponse): Renamed from setResponse
14750
147512006-11-01  Zack Rusin  <zack@kde.org>
14752
14753        Reviewed by Maciej.
14754
14755        Moving the word/sentence seperators into a file of their own
14756        and implementing findWordBoundary.
14757
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):
14765
147662006-11-03  Zack Rusin  <zack@kde.org>
14767
14768        Reviewed by Maciej.
14769
14770        Compile on both KDE and Qt platforms
14771
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:
14781
147822006-11-03  Maciej Stachowiak  <mjs@apple.com>
14783
14784        No review, suggested by Mitz.
14785
14786        - fix a #if to be #ifdef
14787
14788        * platform/graphics/svg/cg/SVGResourceImageCg.cpp:
14789
147902006-11-03  Zack Rusin  <zack@kde.org>
14791
14792        Reviewed and landed by Maciej.
14793
14794        Compile on the Qt platform.
14795
14796        * ksvg2/misc/KCanvasRenderingStyle.h:
14797        * platform/qt/RenderThemeQt.cpp:
14798        (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
14799
148002006-11-03  Zack Rusin  <zack@kde.org>
14801
14802        Reviewed by Hyatt. Landed by Maciej.
14803
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.
14809
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:
14834
148352006-11-02  Adele Peterson  <adele@apple.com>
14836
14837        Reviewed by Anders.
14838
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.
14841
14842        Test: fast/forms/textarea-no-scroll-on-blur.html
14843
14844        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::forwardEvent):
14845          On blur, only scroll back to the start for text fields.
14846
148472006-11-02  Anders Carlsson  <acarlsson@apple.com>
14848
14849        Another build fix.
14850
14851        * rendering/RenderFileUploadControl.cpp:
14852        (WebCore::RenderFileUploadControl::paintObject):
14853
148542006-11-02  Anders Carlsson  <acarlsson@apple.com>
14855
14856        Build fix.
14857
14858        * page/FramePrivate.h:
14859        (WebCore::FramePrivate::FramePrivate):
14860
148612006-11-02  Kevin Ollivier <kevino@theolliviers.com>
14862
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.
14870
148712006-11-02  Adam Roben  <aroben@apple.com>
14872
14873        Reviewed by Tim H, landed by Anders.
14874
14875        Fixes http://bugs.webkit.org/show_bug.cgi?id=10840
14876        REGRESSION: Shadow of file upload button is clipped
14877
14878        * rendering/RenderFileUploadControl.cpp:
14879        (WebCore::RenderFileUploadControl::paintObject): Add 2px to the clip
14880        height to keep from clipping in the shadow
14881
148822006-11-02  Eike Preuss  <mail@eikepreuss.de>
14883
14884        Reviewed by Maciej, landed by Anders.
14885
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):
14891
148922006-11-02  Simon Hausmann  <hausmann@kde.org>
14893
14894        Reviewed by Maciej, landed by Anders
14895
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):
14919
149202006-11-02  David Carson  <dacarson@gmail.com>
14921
14922        Reviewed by Geoff, landed by Anders.
14923
14924        Fix for: http://bugs.webkit.org/show_bug.cgi?id=11471
14925        Initializing variable in constructor.
14926
14927        * page/FramePrivate.h:
14928        (WebCore::FramePrivate::FramePrivate):
14929
149302006-11-02  Anders Carlsson  <acarlsson@apple.com>
14931
14932        Reviewed by Geoff.
14933
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):
14941
149422006-11-02  Adele Peterson  <adele@apple.com>
14943
14944        Reviewed by Mitz and Geoff.
14945
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
14950
14951        Test: fast/forms/textarea-scrollbar.html
14952
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.
14955
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):
14970
14971        * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Make subtree layout optimization work for textareas.
14972
149732006-11-02  John Sullivan  <sullivan@apple.com>
14974
14975        Reviewed by Geoff Garen
14976
14977        * editing/Selection.cpp:
14978        (WebCore::Selection::showTreeForThis):
14979        this debugging method now displays start offset and end offset, at Darin's suggestion
14980
149812006-11-01  Justin Garcia  <justin.garcia@apple.com>
14982
14983        Reviewed by darin
14984
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.
15014
150152006-11-01  Oliver Hunt  <oliver@apple.com>
15016
15017        Reviewed by Adam.
15018
15019        Converting more or kcanvas/quartz from Obj-C to C++
15020        Minor SVG updates
15021        compatibility fixes
15022
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:
15046
150472006-11-02  Mitz Pettel  <mitz@webkit.org>
15048
15049        Reviewed by Adele.
15050
15051        - Fix a regression from r17521: painting of and crash caused by tables
15052          with collapsed borders
15053
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.
15058
150592006-11-01  Adele Peterson  <adele@apple.com>
15060
15061        Reviewed by Mitz.
15062
15063        - Fix for http://bugs.webkit.org/show_bug.cgi?id=11277
15064        REGRESSION: Incomplete repaint of overflow areas when deleting
15065
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.
15068
15069        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock):
15070        * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren):
15071
150722006-11-01  Sam Weinig  <sam.weinig@gmail.com>
15073
15074        Reviewed by Mitz.
15075
15076        Fix for http://bugs.webkit.org/show_bug.cgi?id=11474
15077        Rename the "p" member variable of the PaintInfo struct to "context"
15078
15079        - Renames the 'p' and 'r' member variables of the PaintInfo struct to
15080          'context' and 'rect' respectively.
15081
15082        - Assorted surrounding cleanups.
15083
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):
15248
152492006-11-01  Anders Carlsson  <acarlsson@apple.com>
15250
15251        Reviewed by Oliver, Brady.
15252
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.
15261
152622006-11-01  David Kilzer  <ddkilzer@kilzer.net>
15263
15264        Reviewed by Mitz.
15265
15266        Added missing "break;" statement in switch statement from r17493.
15267
15268        Bug 11442: [CSS 3] support for cursor: all-scroll
15269        http://bugs.webkit.org/show_bug.cgi?id=11442
15270
15271        * css/CSSComputedStyleDeclaration.cpp:
15272        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15273
152742006-10-31  Mitz Pettel  <mitz@webkit.org>
15275
15276        Reviewed by Maciej.
15277
15278        - fix image dragging
15279
15280        This is covered by editing/selection/drag-to-contenteditable-iframe.html
15281
15282        * rendering/HitTestResult.cpp:
15283        (WebCore::HitTestResult::altDisplayString): Changed imageTag to imgTag, for
15284        HTML IMG elements.
15285        (WebCore::HitTestResult::absoluteImageURL): Ditto.
15286
152872006-10-31  Beth Dakin  <bdakin@apple.com>
15288
15289        Reviewed by Maciej.
15290
15291        This adds the back-end of the remaining WebElementDictionary
15292        functions into HitTestResult.
15293
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:
15308
153092006-10-31  John Sullivan  <sullivan@apple.com>
15310
15311        * bridge/mac/FrameMac.mm:
15312        (WebCore::FrameMac::markMisspellings):
15313        Tiger build fix: added an #ifndef BUILDING_ON_TIGER where one was needed.
15314
153152006-10-31  John Sullivan  <sullivan@apple.com>
15316
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.
15323
15324        * dom/DocumentMarker.h:
15325        New description field in this struct.
15326
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.
15346
153472006-10-31  Geoffrey Garen  <ggaren@apple.com>
15348
15349        Reviewed by Maciej.
15350
15351        Fixed crash resulting from Darin's last patch to remove BrowserExtension.
15352
15353        * loader/mac/FrameLoaderMac.mm:
15354        (WebCore::FrameLoader::createWindow):
15355        * manual-tests/window-open-features-parsing.html: Updated for clarity.
15356
153572006-10-31  Geoffrey Garen  <ggaren@apple.com>
15358
15359        Reviewed by Alice.
15360
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.
15368
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.
15378
153792006-10-31  Justin Garcia  <justin.garcia@apple.com>
15380
15381        Reviewed by harrison
15382
15383        <rdar://problem/4711063>
15384        Pasting 10K lines into Mail/Blot takes ~7sec, in TextEdit it takes ~1.5sec
15385
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:
15395
153962006-10-31  Ada Chan  <adachan@apple.com>
15397
15398        Reviewed by Adam
15399
15400        Correct forward declarations of the HitTestRequest struct.
15401
15402        * rendering/EllipsisBox.h:
15403        * rendering/InlineBox.h:
15404        * rendering/InlineFlowBox.h:
15405        * rendering/RenderLayer.h:
15406        * rendering/RenderObject.h:
15407
154082006-10-31  John Sullivan  <sullivan@apple.com>
15409
15410        Reviewed by Beth and Adam
15411
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.
15414
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
15430
154312006-10-31  Adele Peterson  <adele@apple.com>
15432
15433        Removed commented out variable from last checkin.
15434
15435        * html/HTMLSelectElement.cpp:
15436        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
15437
154382006-10-31  Brady Eidson  <beidson@apple.com>
15439
15440        Build fix (unused variable in release builds)
15441
15442        * html/HTMLSelectElement.cpp:
15443        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
15444
154452006-10-31  Adele Peterson  <adele@apple.com>
15446
15447        Reviewed by Adam.
15448
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
15452
15453        Tests:
15454        * LayoutTests/fast/forms/listbox-selection.html
15455        * LayoutTests/fast/forms/listbox-onchange.html
15456
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.
15461
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.
15471
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.
15482
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.
15488
154892006-10-31  Beth Dakin  <bdakin@apple.com>
15490
15491        Forgot to check this in a minute ago. Oops!! Thanks Mitz!
15492
15493        * rendering/HitTestRequest.h: Added.
15494        (WebCore::HitTestRequest::HitTestRequest):
15495
154962006-10-31  Beth Dakin  <bdakin@apple.com>
15497
15498        Reviewed by Maciej.
15499
15500        Fix for http://bugs.webkit.org/show_bug.cgi?id=11461 HitTestResult
15501        should be split into HitTestRequest and HitTestResult
15502
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.
15508
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:
15596
155972006-10-31  Lars Naesbye Christensen <lars@naesbye.dk>
15598
15599        Reviewed by Maciej.
15600
15601        Bug 11442: [CSS 3] support for cursor: all-scroll
15602        http://bugs.webkit.org/show_bug.cgi?id=11442
15603
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:
15612
156132006-10-31  Oliver Hunt  <oliver@apple.com>
15614
15615        Reviewed by Geoff.
15616
15617        Converting Obj-C++ to C++ in kcanvas
15618
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.
15637
156382006-10-31  Justin Garcia  <justin.garcia@apple.com>
15639
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.
15646
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):
15669
156702006-10-31  Darin Adler  <darin@apple.com>
15671
15672        Reviewed by Brady.
15673
15674        - got "action dictionary" code out of FrameLoader,
15675          replacing with a class called NavigationAction
15676
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.
15681
15682        * loader/FrameLoader.h: Changed action parameters to NavigationAction.
15683
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.
15693
15694        * loader/NavigationAction.h: Added.
15695        * loader/NavigationAction.cpp: Added.
15696        * loader/mac/NavigationActionMac.mm: Added.
15697
15698        * loader/mac/MainResourceLoaderMac.mm: Fixed copyright.
15699
15700        * WebCore.xcodeproj/project.pbxproj: Updated for new files.
15701        * WebCore.exp: Updated.
15702
157032006-10-31  Steve Falkenburg  <sfalken@apple.com>
15704
15705        Reviewed by Adam.
15706
15707        Build fix
15708
15709        * platform/win/CookieJarWin.cpp:
15710        (WebCore::cookies):
15711
157122006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>
15713
15714        Reviewed by Maciej. Landed by Adam.
15715
15716        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11463
15717
15718        Move KCanvasTreeDebug into rendering, named as SVGRenderTreeAsText.*,
15719        as dicussed with Dave. Also kill the outdated DESIGN document.
15720
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<<):
15735
157362006-10-31  Darin Fisher  <darin@chromium.org>
15737
15738        Reviewed by Maciej.
15739
15740        Fixes http://bugs.webkit.org/show_bug.cgi?id=11286
15741        Includes some CRLF -> LF fixups.
15742
15743        * platform/win/CookieJarWin.cpp:
15744        (WebCore::cookies):
15745
157462006-10-31  Adam Roben  <aroben@apple.com>
15747
15748        Reviewed by Steve.
15749
15750        Fix some incorrect forward declarations.
15751
15752        * loader/FrameLoader.h:
15753        * page/Frame.h:
15754
157552006-10-31  Darin Adler  <darin@apple.com>
15756
15757        * WebCore.xcodeproj/project.pbxproj: Change GraphicsTypes.h to a private header to
15758        try to fix the build on the buildbot.
15759
157602006-10-31  Darin Adler  <darin@apple.com>
15761
15762        * bridge/mac/FrameMac.mm:
15763        (WebCore::FrameMac::advanceToNextMisspelling): Build fix for release Tiger builds.
15764        (WebCore::FrameMac::markMisspellings): Ditto.
15765
157662006-10-31  John Sullivan  <sullivan@apple.com>
15767
15768        * bridge/mac/FrameMac.mm:
15769        (WebCore::FrameMac::advanceToNextMisspelling):
15770        build fix: needed #ifndef BUILDING_ON_TIGER in one more place
15771
157722006-10-30  John Sullivan  <sullivan@apple.com>
15773
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
15783
15784        * platform/Logging.h:
15785        * platform/Logging.cpp:
15786        new log channel SpellingAndGrammar
15787
15788        * bridge/mac/WebCorePageBridge.mm:
15789        (initializeLoggingChannelsIfNecessary):
15790        initialize new log channel
15791
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
15805
158062006-10-31  Nikolas Zimmermann <zimmermann@kde.org>
15807
15808        Reviewed by Mitz.
15809
15810        Fix Qt/Linux build with older gcc3.3.4.
15811
15812        * bindings/js/kjs_window.cpp:
15813        (KJS::WindowFunc::callAsFunction):
15814
158152006-10-31  Zack Rusin  <zack@kde.org>
15816
15817        Reviewed by Mitz.
15818
15819        Fix the Qt build after last nights changes.
15820
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:
15830
158312006-10-30  Darin Adler  <darin@apple.com>
15832
15833        Reviewed by Anders.
15834
15835        - remove BrowserExtension
15836
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):
15883
158842006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>
15885
15886        Reviewed by Oliver.
15887
15888        Modified from original due to earlier reversion
15889
15890        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11436
15891
15892        Better SVG integration in WebKit, Part I.
15893
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).
15898
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.
15901
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):
16160
161612006-10-30  John Sullivan  <sullivan@apple.com>
16162
16163        Reviewed by Brady
16164
16165        - minor cleanup to make future patches clearer
16166
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.
16176
161772006-10-30  John Sullivan  <sullivan@apple.com>
16178
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.
16183
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.
16189
161902006-10-30  Oliver Hunt  <oliver@apple.com>
16191
16192        Reviewed by Anders.
16193
16194        Roll out last patch
16195
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):
16444
164452006-10-30  John Sullivan  <sullivan@apple.com>
16446
16447        Reviewed by Geoff Garen.
16448
16449        Moved spelling-related methods from bridge to EditorClient. Added one not-yet-used
16450        grammar-related method.
16451
16452        * bridge/EditorClient.h:
16453        declare isContinuousSpellCheckingEnabled(), spellCheckerDocumentTag(), and new
16454        isGrammarCheckingEnabled()
16455
16456        * bridge/mac/WebCoreFrameBridge.h:
16457        removed bridge equivalents
16458
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.
16475
164762006-10-30  Geoffrey Garen  <ggaren@apple.com>
16477
16478        Reviewed by Darin.
16479
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.
16484
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.
16509
165102006-10-30  Timothy Hatcher  <timothy@apple.com>
16511
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)
16514
16515        And this regression:
16516        <rdar://problem/4728514> REGRESSION: Safari applies the wrong font to BODY element at http://www.apple.com/downloads/dashboard/
16517
16518    2006-09-06  David Harrison  <harrison@apple.com>
16519
16520        Reviewed and tweaked by Tim H.
16521
16522        <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation
16523
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.
16527
16528        * platform/mac/WebFontCache.mm:
16529        (+[WebFontCache fontWithFamily:traits:size:]):
16530
165312006-10-30  Justin Garcia  <justin.garcia@apple.com>
16532
16533        Reviewed by harrison
16534
16535        <rdar://problem/4808375>
16536        REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) (11460)
16537
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).
16544
165452006-10-30  Sam Weinig  <sam.weinig@gmail.com>
16546
16547        Reviewed by Mitz.
16548
16549        Fix for http://bugs.webkit.org/show_bug.cgi?id=11441
16550        More rendering code cleaning
16551
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):
16701
167022006-10-30  Timothy Hatcher  <timothy@apple.com>
16703
16704        Reviewed by Hyatt.
16705
16706        <rdar://problem/4478625> Basic table editing and culling
16707
16708        Refined the criteria for deletable elements, rely on the renderer more.
16709        Corrected the interface positioning for elements that have borders.
16710
16711        * editing/DeleteButtonController.cpp:
16712        (WebCore::isDeletableElement):
16713        (WebCore::DeleteButtonController::show):
16714
167152006-10-30  Darin Adler  <darin@apple.com>
16716
16717        - fix build
16718
16719        * loader/ResourceLoader.h: Added header guard.
16720
167212006-10-31  Darin Adler  <darin@apple.com>
16722
16723        Reviewed by Adam.
16724
16725        - fix FrameLoader files so they can be built on non-Mac platforms
16726
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.
16730
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.
16735
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.
16739
16740        * loader/FrameLoader.h: Changed import to include, added #if PLATFORM(MAC)
16741        around the PolicyCheck definition.
16742
16743        * loader/FormState.cpp: Changed import to include.
16744        * loader/FrameLoader.cpp: Ditto.
16745        * loader/MainResourceLoader.h: Ditto.
16746
16747        * loader/FrameLoaderTypes.h: Added a header guard.
16748
16749        * loader/NetscapePlugInStreamLoader.h: Changed import to include.
16750        Added #if PLATFORM(MAC) around Mac-specific details.
16751        * loader/SubresourceLoader.h: Ditto.
16752
16753        * page/Frame.cpp: (WebCore::Frame::loader): Updated name of loader to
16754        m_loader from m_frameLoader.
16755
16756        * CMakeLists.txt: Updated.
16757        * WebCoreSources.bkl: Updated.
16758
167592006-10-30  Nikolas Zimmermann  <zimmermann@kde.org>
16760
16761        Reviewed and landed by Anders.
16762
16763        Patch by Zack rusin to fix:
16764        http://bugs.webkit.org/show_bug.cgi?id=11429
16765
16766        Fix startup crash.
16767
16768        * platform/qt/FrameQtClient.cpp:
16769        (WebCore::FrameQtClientDefault::openURL):
16770
167712006-10-30  Zach Rusin  <zack@kde.org>
16772
16773        Reviewed and landed by Anders.
16774
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.
16782
167832006-10-30  Simon Hausmann  <hausmann@kde.org>
16784
16785        Reviewed and landed by Anders.
16786
16787        - fix Qt build
16788        * platform/qt/FrameQtClient.cpp: ResourceLoaderClient ->
16789        ResourceHandleClient
16790
167912006-10-30  Darin Adler  <darin@apple.com>
16792
16793        Reviewed by John Sullivan.
16794
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
16799
16800        * page/PageState.h:
16801        * page/PageState.cpp: Added, C++ class with much of what WebCorePageState had.
16802
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.
16806
16807        * bridge/mac/WebCoreFrameBridge.h:
16808        * bridge/mac/WebCoreFrameBridge.mm: Removed invalidatePageCache and
16809        saveDocumentToPageCache methods.
16810
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.
16814
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.
16829
16830        * ForwardingHeaders/kjs/property_map.h: Added.
16831
16832        * WebCore.exp: Updated.
16833        * WebCore.xcodeproj/project.pbxproj: Updated.
16834
168352006-10-29  Maciej Stachowiak  <mjs@apple.com>
16836
16837        Reviewed by Anders.
16838
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:
16927
169282006-10-29  Darin Adler  <darin@apple.com>
16929
16930        - fix build
16931
16932        * loader/DocumentLoader.h: Add declarations so this compiles without ObjC.
16933        * loader/NetscapePlugInStreamLoader.h: Ditto.
16934        * loader/ResourceLoader.h: Ditto.
16935
169362006-10-29  Darin Adler  <darin@apple.com>
16937
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
16941
16942        * loader/FormState.cpp: Updated include.
16943        * loader/FrameLoader.cpp: Updated include.
16944        * loader/mac/FrameLoaderMac.mm: Updated include.
16945
16946        * loader/WebFormState.h: Removed.
16947        * loader/FormState.h: Added.
16948
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.
16954
16955        * WebCore.xcodeproj/project.pbxproj: Updated for changes above.
16956
169572006-10-29  Darin Adler  <darin@apple.com>
16958
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)
16964
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:
17191
171922006-10-29  Darin Adler  <darin@apple.com>
17193
17194        Rubber stamped by Adam (kinda).
17195
17196        - add Mac suffixes and correct filenames inside loader/mac
17197
17198        * WebCore.xcodeproj/project.pbxproj: Updated for changes below.
17199
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.
17206
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.
17213
172142006-10-29  Darin Adler  <darin@apple.com>
17215
17216        Reviewed by Adam.
17217
17218        - moving towards use of FrameLoader cross-platform; get FrameLoader.h
17219          and FrameLoader.cpp mostly ready
17220
17221        * WebCore.xcodeproj/project.pbxproj: Added FrameLoader.cpp and
17222        FormState.cpp. Removed WebFormState.mm.
17223
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.
17228
17229        * loader/FrameLoaderClient.h: Added some ifdefs.
17230        * loader/WebDocumentLoader.h: Ditto.
17231        * loader/WebLoader.h: Ditto.
17232        * loader/WebMainResourceLoader.h: Ditto.
17233
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.
17238
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.
17244
17245        * bridge/mac/WebCoreFrameBridge.h: Removed doneProcessingData.
17246        * bridge/mac/WebCoreFrameBridge.mm: Ditto.
17247
17248        * loader/mac/FormState.mm: Removed.
17249        * loader/FormState.cpp: Added.
17250
172512006-10-29  Darin Adler  <darin@apple.com>
17252
17253        Rubber stamped by Adam.
17254
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
17258
17259        * WebCore.xcodeproj/project.pbxproj:
17260
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.
17268
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.
17276
172772006-10-29  Adam Roben  <aroben@apple.com>
17278
17279        Reviewed by Geoff.
17280
17281        Finish Darin's clean up of the use of __APPLE__ in WebCore, begun in
17282        r17405.
17283
17284        * platform/DeprecatedString.h:
17285
172862006-10-29  Beth Dakin  <bdakin@apple.com>
17287
17288        Rubber stamped by Geoff.
17289
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.
17294
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:
17358
173592006-10-29  Adam Roben  <aroben@apple.com>
17360
17361        More semi-fixes.
17362
17363        * page/Page.cpp: Forgot to wrap the actual definition of
17364        setDefersLoading() in PLATFORM(MAC).
17365        * platform/PlatformWheelEvent.h: Fix up preprocessor directives.
17366
173672006-10-29  Adam Roben  <aroben@apple.com>
17368
17369        Build semi-fix.
17370
17371        Move all FrameLoader-related code in Page.{cpp,h} within #if
17372        PLATFORM(MAC), since this class currently only exists on Mac.
17373
17374        * page/Page.cpp:
17375        * page/Page.h:
17376
173772006-10-29  Geoffrey Garen  <ggaren@apple.com>
17378
17379        build fix.
17380
17381        * platform/PlatformString.h:
17382        (WebCore::String::operator NSString*):
17383
173842006-10-29  Geoffrey Garen  <ggaren@apple.com>
17385
17386        Rolled out accidental commit.
17387
17388        * platform/AtomicString.h:
17389        (WebCore::AtomicString::AtomicString):
17390        (WebCore::AtomicString::operator NSString*):
17391
173922006-10-29  Geoffrey Garen  <ggaren@apple.com>
17393
17394        RS by Darin.
17395
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:]):
17406
174072006-10-29  Darin Adler  <darin@apple.com>
17408
17409        Reviewed by Geoff.
17410
17411        - fixed storage leak showing up on the buildbot
17412
17413        * loader/mac/WebSubresourceLoader.mm: (WebCore::SubresourceLoader::create):
17414        Release the NSURLRequest after passing it to load. Also clean up logic a bit.
17415
174162006-10-29  Darin Adler  <darin@apple.com>
17417
17418        Rubber stamped by Adam.
17419
17420        - renamed WebFrameLoaderClient to match the class name inside it
17421
17422        * loader/mac/WebFrameLoaderClient.h: Removed.
17423        * loader/FrameLoaderClient.h: Moved it here.
17424
17425        * WebCore.xcodeproj/project.pbxproj: Updated project.
17426
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.
17431
174322006-10-29  Darin Adler  <darin@apple.com>
17433
17434        Reviewed by Mitz.
17435
17436        - fix crash visible on buildbot and also when running the test
17437          anchor-image-scrolled-x-y.html under libgmalloc
17438
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.
17448
174492006-10-29  Maciej Stachowiak  <mjs@apple.com>
17450
17451        - build fix
17452
17453        * platform/network/mac/ResourceHandleMac.mm:
17454
174552006-10-29  Maciej Stachowiak  <mjs@apple.com>
17456
17457        Rubber stamped by Darin.
17458
17459        - renamed ResourceLoader to ResourceHandle (and same for related classes)
17460
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:
17639
17640t2006-10-29  Darin Adler  <darin@apple.com>
17641
17642        Reviewed by Maciej.
17643
17644        - eliminate use of NSArray to carry form data around
17645
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:
17689
176902006-10-29  Maciej Stachowiak  <mjs@apple.com>
17691
17692        Reviewed by Darin.
17693
17694        - create SubresourceLoader with a ResourceRequest, not broken out request bits
17695
17696        * loader/mac/WebSubresourceLoader.h:
17697        * loader/mac/WebSubresourceLoader.mm:
17698        (WebCore::SubresourceLoader::create):
17699        * platform/network/mac/ResourceLoaderMac.mm:
17700        (WebCore::ResourceLoader::start):
17701
177022006-10-29  Maciej Stachowiak  <mjs@apple.com>
17703
17704        Reviewed by Darin.
17705
17706        - removed ObjC glue between ResourceLoader and SubresourceLoader, then now talk to each other directly
17707
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.
17740
177412006-10-28  Darin Adler  <darin@apple.com>
17742
17743        Reviewed by Maciej.
17744
17745        - eliminated the use of Objective-C for the policy decider
17746          machinery, obviating the need for WebPolicyDecider,
17747          WebCoreFrameLoaderAsDelegate, and
17748          WebCoreMainResourceLoaderAsPolicyDelegate
17749
17750        - grouped the state related to policy decisions into a PolicyCheck
17751          class to simplify the FrameLoader logic
17752
17753        - removed six methods from the bridge, reducing FrameLoader's use of
17754          the bridge to a single method
17755
17756        - changed form state to always use HashMap instead of NSDictionary
17757
17758        - moved the defersLoading flag from WebView to WebCore::Page
17759          and changed code to consistently call it defersLoading rather
17760          than defersCallbacks
17761
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
17766
17767        * loader/mac/WebPolicyDecider.h: Removed.
17768        * loader/mac/WebPolicyDecider.mm: Removed.
17769        * WebCore.xcodeproj/project.pbxproj: Updated for removal.
17770
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):
17914
179152006-10-28  Adam Roben  <aroben@apple.com>
17916
17917        Reviewed by Maciej.
17918
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.
17924
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.
17952
179532006-10-28  Nikolas Zimmermann  <zimmermann@kde.org>
17954
17955        Reviewed by Anders.
17956
17957        Fix Qt/Linux build.
17958
17959        * CMakeLists.txt:
17960        * platform/qt/FrameQtClient.cpp:
17961        (WebCore::numRequests):
17962        (WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
17963        * platform/qt/PopupMenuQt.cpp:
17964        (WebCore::PopupMenu::updateFromElement):
17965
179662006-10-28  David Carson  <dacarson@gmail.com>
17967
17968        Tweaked by Sam. Reviewed by Brady.
17969
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.
17973
17974        * editing/SelectionController.cpp:
17975        (WebCore::SelectionController::SelectionController):
17976
179772006-10-28  Beth Dakin  <bdakin@apple.com>
17978
17979        Reviewed by Darin.
17980
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()
18002
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.
18171
181722006-10-27  Maciej Stachowiak  <mjs@apple.com>
18173
18174        Reviewed by Anders.
18175
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.
18178
18179        * bridge/mac/FrameMac.mm:
18180        (WebCore::FrameMac::clear):
18181
181822006-10-27  Maciej Stachowiak  <mjs@apple.com>
18183
18184        Reviewed by John & Adam.
18185
18186        - assorted speedups to fix perf regression from fixing correctness regression
18187
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:
18205
182062006-10-27  Oliver Hunt  <oliver@apple.com>
18207
18208        Reviewed by Maciej.
18209
18210        build fix
18211
18212        * dom/Document.cpp:
18213        (WebCore::Document::referrer):
18214
182152006-10-27  Geoffrey Garen  <ggaren@apple.com>
18216
18217        Reviewed by Maciej.
18218
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.
18223
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):
18252
182532006-10-27  Timothy Hatcher  <timothy@apple.com>
18254
18255        Reviewed by Darin.
18256
18257        <rdar://problem/4478625> HTML Editing: Basic table editing and culling
18258
18259        Expanded the Deletion UI to lists, positioned block element and block elementss with borders.
18260
18261        * editing/DeleteButtonController.cpp:
18262        (WebCore::isDeletableElement):
18263        (WebCore::enclosingDeletableElement):
18264        (WebCore::DeleteButtonController::respondToChangedSelection):
18265
182662006-10-27  John Sullivan  <sullivan@apple.com>
18267
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.
18272
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.
18282
182832006-10-27  Timothy Hatcher  <timothy@apple.com>
18284
18285        Reviewed by Beth.
18286
18287        Renamed Copy Files to Copy Generated Headers.
18288        Copy 4 DOM*Internal.h headers.
18289
18290        * WebCore.xcodeproj/project.pbxproj:
18291        * bindings/scripts/CodeGeneratorObjC.pm:
18292
182932006-10-27  John Sullivan  <sullivan@apple.com>
18294
18295        Reviewed by Anders
18296
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.
18303
183042006-10-27  Justin Garcia  <justin.garcia@apple.com>
18305
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
183422006-10-27  Geoffrey Garen  <ggaren@apple.com>
18343
18344        Reviewed by Brady.
18345
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.
18354
18355        * platform/PlatformString.h:
18356        (WebCore::String::operator NSString*):
18357        * platform/mac/TextFieldMac.mm:
18358        (-[NSSearchFieldCell _addStringToRecentSearches:]):
18359
183602006-10-27  David Harrison  <harrison@apple.com>
18361
18362        Reviewed by Maciej,
18363
18364        <rdar://problem/4003820> Expose blockquotes in AXAttributedStringForTextMarkerRange
18365
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.
18375
183762006-10-27  Darin Adler  <darin@apple.com>
18377
18378        - fix one error in the Qt build
18379
18380        * platform/qt/GraphicsContextQt.cpp:
18381        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
18382        Updated.
18383
183842006-10-27  Darin Adler  <darin@apple.com>
18385
18386        Reviewed by Maciej.
18387
18388        * WebCore.exp: Export more symbols needed by WebKit.
18389
183902006-10-26  Geoffrey Garen  <ggaren@apple.com>
18391
18392        Reviewed by the Baroness Esmeralda Von Scratch N' Purr XIV.
18393
18394        Fixed layout test crash. Oops.
18395
18396        * loader/mac/WebDocumentLoader.mm:
18397        (WebCore::canonicalizedTitle):
18398
183992006-10-26  John Sullivan  <sullivan@apple.com>
18400
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++.
18407
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
18415
184162006-10-26  Geoffrey Garen  <ggaren@apple.com>
18417
18418        Reviewed by Darin, Maciej.
18419
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):
18455
184562006-10-26  Timothy Hatcher  <timothy@apple.com>
18457
18458        Reviewed by Adam.
18459
18460        <rdar://problem/4796941> Table deletion outline is misplaced at nytimes.com
18461
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.
18466
18467        Now check for the element's renderer at the beginning of show() and
18468        return early if it is null.
18469
18470        * editing/DeleteButtonController.cpp:
18471        (WebCore::DeleteButtonController::updateOutlineStyle):
18472        (WebCore::DeleteButtonController::show):
18473
184742006-10-26  Anders Carlsson  <acarlsson@apple.com>
18475
18476        Build fix.
18477
18478        * html/CanvasRenderingContext2D.cpp:
18479        Include MathExtras.h
18480
184812006-10-26  John Sullivan  <sullivan@apple.com>
18482
18483        Reviewed by Anders.
18484
18485        Some changes to support new grammar checking code in WebKit.
18486
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
18497
184982006-10-26  Anders Carlsson  <acarlsson@apple.com>
18499
18500        Reviewed by Brady.
18501
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:
18516
185172006-10-26  John Sullivan  <sullivan@apple.com>
18518
18519        Reviewed by Darin
18520
18521        More plumbing for grammar checking. Still no grammars is checked.
18522
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;
18538
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
18545
18546=== Safari-521.29 ===
18547
185482006-10-26  Sam Weinig  <sam.weinig@gmail.com>
18549
18550        Reviewed by Mitz.
18551
18552        Fix for http://bugs.webkit.org/show_bug.cgi?id=11424
18553        Cleanup rendering code
18554
18555        - Assorted code cleanup.
18556
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:
18619
186202006-10-26  Justin Garcia  <justin.garcia@apple.com>
18621
18622        Reviewed by john
18623
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:
18637
186382006-10-26  Oliver Hunt  <oliver@apple.com>
18639
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.
18644
18645        * html/CanvasRenderingContext2D.cpp:
18646        (WebCore::CanvasRenderingContext2D::scale):
18647        (WebCore::CanvasRenderingContext2D::rotate):
18648        (WebCore::CanvasRenderingContext2D::translate):
18649
186502006-10-26  Nikolas Zimmermann  <zimmermann@kde.org>
18651
18652        Reviewed by Darin.
18653
18654        Fix Qt/Linux build.
18655
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):
18667
186682006-10-26  Adam Roben  <aroben@apple.com>
18669
18670        Reviewed by Adele.
18671
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
18676
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.
18706
187072006-10-26  Darin Adler  <darin@apple.com>
18708
18709        Reviewed by Anders.
18710
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
18713
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.
18718
187192006-10-26  Maciej Stachowiak  <mjs@apple.com>
18720
18721        Reviewed by Anders.
18722
18723        - .5% speed improvement by avoiding excess CFURLRef allocation
18724
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.
18731
187322006-10-25  Darin Adler  <darin@apple.com>
18733
18734        Reviewed by Anders.
18735
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
18740
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:]):
18809
188102006-10-25  Steve Falkenburg  <sfalken@apple.com>
18811
18812        Reviewed by Darin.
18813
18814        Printing fixes
18815
18816        * page/Frame.cpp:
18817        (WebCore::Frame::adjustPageHeight):
18818        * page/Frame.h:
18819        (WebCore::Frame::setupRootForPrinting):
18820        (WebCore::Frame::computePageRects):
18821
188222006-10-25  Anders Carlsson  <acarlsson@apple.com>
18823
18824        Reviewed by Geoff.
18825
18826        <rdar://problem/4799088>
18827        REGRESSION: Translation widget fails to convert data and reports a "Data unavailable" error.
18828
18829        * loader/mac/WebSubresourceLoader.h:
18830        * loader/mac/WebSubresourceLoader.mm:
18831        (-[WebCoreSubresourceHandle initWithLoader:]):
18832        Set the HTTP method before the HTTP body.
18833
188342006-10-25  Geoffrey Garen  <ggaren@apple.com>
18835
18836        Reviewed by Adam.
18837
18838        Renamed WebFrameLoader to FrameLoader, to match class name.
18839
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:
18852
188532006-10-25  Darin Adler  <darin@apple.com>
18854
18855        - fix full builds
18856
18857        * WebCore.xcodeproj/project.pbxproj: Mark bridge/mac/WebCoreResourceLoader.h as private.
18858
188592006-10-25  David Smith  <catfish.man@gmail.com>
18860
18861        Reviewed by Mitz.
18862
18863        Fixed REGRESSION (r17280): Repro crash when clicking a link with target="_blank"
18864        http://bugs.webkit.org/show_bug.cgi?id=11411
18865
18866        * bridge/mac/WebCoreFrameBridge.mm:
18867        (-[WebCoreFrameBridge canTargetLoadInFrame:]): Check that the target has a frame before using it.
18868
188692006-10-25  Maciej Stachowiak  <mjs@apple.com>
18870
18871        Rubber stamped by Mitz.
18872
18873        - moved some files that are essentially part of the ResourceLoader implementation to platform/network/mac
18874
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.
18879
188802006-10-25  Maciej Stachowiak  <mjs@apple.com>
18881
18882        Rubber stamped by Mark.
18883
18884        - remove no longer existing symbol that was breaking linking
18885
18886        * WebCore.exp:
18887
188882006-10-25  Maciej Stachowiak  <mjs@apple.com>
18889
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
18894
18895        I couldn't figure out how to write a test case.
18896
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(!).
18903
189042006-10-24  Darin Adler  <darin@apple.com>
18905
18906        Reviewed by Anders.
18907
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
18912
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.
18916
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):
19049
190502006-10-24  Darin Adler  <darin@apple.com>
19051
19052        Rubber stamped by Anders.
19053
19054        - get rid of the assertion firing while running the layout tests
19055
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.
19059
19060        * dom/Position.cpp: (WebCore::Position::upstream): Commented out the assertion.
19061
190622006-10-24  Maciej Stachowiak  <mjs@apple.com>
19063
19064        Reviewed by Oliver.
19065
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:
19085
190862006-10-24  Justin Garcia  <justin.garcia@apple.com>
19087
19088        Reviewed by darin
19089
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.
19098
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.
19145
191462006-10-24  Anders Carlsson  <acarlsson@apple.com>
19147
19148        Reviewed by Maciej.
19149
19150        * platform/network/mac/ResourceLoaderMac.mm:
19151        (WebCore::ResourceLoader::start):
19152        Don't retain the header dictionary.
19153
191542006-10-24  Geoffrey Garen  <ggaren@apple.com>
19155
19156        Reviewed by Anders.
19157
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.
19163
19164        * ksvg2/css/SVGRenderStyle.h:
19165        * ksvg2/css/SVGRenderStyleDefs.h:
19166
191672006-10-24  Anders Carlsson  <acarlsson@apple.com>
19168
19169        Reviewed by Mitz.
19170
19171        * platform/network/ResourceRequest.h:
19172        (WebCore::ResourceRequest::ResourceRequest):
19173        Set the http method to "GET" in the constructor that takes a String.
19174
191752006-10-24  Sam Weinig  <sam.weinig@gmail.com>
19176
19177        Reviewed by Tim H.
19178
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.
19182
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.
19205
192062006-10-24  Geoffrey Garen  <ggaren@apple.com>
19207
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.
19212
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):
19232
192332006-10-24  Anders Carlsson  <acarlsson@apple.com>
19234
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):
19241
192422006-10-24  Sam Weinig  <sam.weinig@gmail.com>
19243
19244        Reviewed by Mitz.
19245
19246        Change #includes using <kcanvas/*.h> to use "*.h" instead
19247        to prepare for moving the kcanvas files.
19248
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:
19255
192562006-10-24  Maciej Stachowiak  <mjs@apple.com>
19257
19258        Reviewed by Darin.
19259
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.
19266
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:
19312
193132006-10-24  Anders Carlsson  <acarlsson@apple.com>
19314
19315        Reviewed by Geoff.
19316
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.
19322
193232006-10-24  Geoffrey Garen  <ggaren@apple.com>
19324
19325        Rolling out my last change because it broke the world.
19326
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):
19349
193502006-10-24  Nikolas Zimmermann  <zimmermann@kde.org>
19351
19352        Reviewed by Adam.
19353
19354        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11396
19355
19356        Kill KRenderingFillPainter/KRenderingStrokePainter. Those are not needed
19357        anymore, since kcanvas/ksvg2 are tightly integrated. No LayoutTests fixed
19358        or broken.
19359
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:
19405
194062006-10-24  Geoffrey Garen  <ggaren@apple.com>
19407
19408        Reviewed by Anders.
19409
19410        Nixed a few more redundant loading functions in Frame. Did my best to update
19411        the non-Mac builds.
19412
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):
19432
194332006-10-24  Nikolas Zimmermann  <zimmermann@kde.org>
19434
19435        Reviewed by Maciej.
19436
19437        Fix Qt/Linux build.
19438
19439        - Remove BrowserExtensionQt, move it's methods to Page/FrameQt.
19440        - Fix CMakeLists.txt to include platform/network.
19441
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):
19456
194572006-10-24  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
19458
19459        Reviewed by Tim H.
19460
19461        Fix for http://bugs.webkit.org/show_bug.cgi?id=11314
19462        Fix build when XSLT_SUPPORT is not defined
19463
19464        Fix unconditional use of XSLT support.
19465
19466        * dom/XMLTokenizer.cpp:
19467        (WebCore::XMLTokenizer::end):
19468
194692006-10-24  Simon Hausmann  <hausmann@kde.org>
19470
19471        Reviewed by Darin.
19472
19473        * CMakeLists.txt: Added project name to kde4_automoc macro, as
19474          required by the latest KDE4 cmake module.
19475
194762006-10-24  Mitz Pettel  <mitz@webkit.org>
19477
19478        Reviewed by Tim H.
19479
19480        - fix http://bugs.webkit.org/show_bug.cgi?id=11394
19481          HTMLViewSourceDocuments are leaking
19482
19483        * html/HTMLViewSourceDocument.h: Changed RefPtr to plain pointer to avoid
19484        ref cycle.
19485
194862006-10-23  Geoffrey Garen  <ggaren@apple.com>
19487
19488        Reviewed by Darin.
19489
19490        Removed one of Frame's redundant urlSelected methods.
19491
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):
19512
195132006-10-24  Brady Eidson  <beidson@apple.com>
19514
19515        Reviewed by Maciej
19516
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
19519
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.
19522
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!
19525
19526        * bridge/mac/FrameMac.mm:
19527        (WebCore::FrameMac::FrameMac): Create the FrameLoader
19528        (WebCore::FrameMac::~FrameMac): Nuke it
19529        (WebCore::FrameMac::loadRequest):
19530
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]):
19555
19556        * loader/mac/WebDocumentLoader.mm:
19557        (WebCore::DocumentLoader::frameLoader):
19558
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):
19570
19571        * loader/mac/WebLoader.mm:
19572        (WebCore::WebResourceLoader::frameLoader):
19573
19574        * loader/mac/WebSubresourceLoader.mm:
19575        (-[WebCoreSubresourceHandle initWithLoader:]):
19576
19577        * page/Frame.cpp:
19578        (WebCore::Frame::frameLoader):
19579        * page/Frame.h:
19580        * page/FramePrivate.h:
19581        (WebCore::FramePrivate::FramePrivate):
19582
195832006-10-24  Darin Adler  <darin@apple.com>
19584
19585        Reviewed by Maciej.
19586
19587        - fixed two crashes in layout tests I just introduced
19588
19589        * loader/mac/WebFrameLoader.mm:
19590        (WebCore::FrameLoader::load): Add null check.
19591        (WebCore::FrameLoader::setState): Ditto.
19592
195932006-10-23  Darin Adler  <darin@apple.com>
19594
19595        Reviewed by Geoff.
19596
19597        - converted WebDocumentLoader to C++
19598
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:
19719
197202006-10-23  Brady Eidson  <beidson@apple.com>
19721
19722        Lovingly reviewed by Maciej
19723
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
19726
19727        * bridge/mac/BrowserExtensionMac.mm:
19728        (WebCore::BrowserExtensionMac::createNewWindow): Use FrameMac::loadRequest
19729
19730        * bridge/mac/FrameMac.mm:
19731        (WebCore::FrameMac::loadRequest): loadURL and postURL logic moved from WebCoreFrameBridge to here
19732
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
19737
197382006-10-23  Geoffrey Garen  <ggaren@apple.com>
19739
19740        RS by Maciej.
19741
19742        Inside Frame, moved the plethora of load() and stopLoading() functions next
19743        to each other to facilitate merging and crying.
19744
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:
19769
197702006-10-23  Geoffrey Garen  <ggaren@apple.com>
19771
19772        RS by Maciej.
19773
19774        Moved our plethora of load() and stopLoading() functions next to each other
19775        to facilitate merging and laughter.
19776
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):
19797
197982006-10-23  Darin Adler  <darin@apple.com>
19799
19800        Reviewed by Maciej.
19801
19802        - converted WebFrameLoader to C++
19803
19804        * WebCore.exp: Added many new entry points for WebKit.
19805        * WebCore.xcodeproj/project.pbxproj: Made more files private (SPI).
19806
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:]):
20049
200502006-10-23  Geoffrey Garen  <ggaren@apple.com>
20051
20052        Reviewed by Bradee.
20053
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:
20098
200992006-10-23  Justin Garcia  <justin.garcia@apple.com>
20100
20101        Reviewed by mjs
20102
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
20105
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:
20114
201152006-10-23  John Sullivan  <sullivan@apple.com>
20116
20117        Reviewed by Tim H
20118
20119        * WebCore.xcodeproj/project.pbxproj:
20120        Include WebCorePrefix.h in Xcode project for convenience and for consistency with WebKit
20121
201222006-10-23  Sam Weinig  <sam.weinig@gmail.com>
20123
20124        Reviewed by Tim H.
20125
20126        Patch for http://bugs.webkit.org/show_bug.cgi?id=11291
20127        PNG as cursor image format instead of TIFF
20128
20129        Original patch by Lars Naesbye Christensen (lars@naesbye.dk)
20130
20131        - Convert cursor images from TIFF to PNG.
20132
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):
20168
201692006-10-23  Maciej Stachowiak  <mjs@apple.com>
20170
20171        - fixed build from last change.
20172
20173        * bridge/mac/FrameMac.h:
20174        * bridge/mac/FrameMac.mm:
20175        (WebCore::FrameMac::loadRequest):
20176        (WebCore::FrameMac::openURL):
20177
201782006-10-23  Adam Roben  <aroben@apple.com>
20179
20180        Reviewed by Adele.
20181
20182        Move border-radius rule for <select>s into RenderThemeMac, as this is
20183        really a platform-specific look.
20184
20185        * css/html4.css:
20186        * rendering/RenderThemeMac.mm:
20187        (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
20188
201892006-10-23  Maciej Stachowiak  <mjs@apple.com>
20190
20191        Reviewed by Brady.
20192
20193        - moved things around so loadURL:... is only called from one place
20194
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):
20203
202042006-10-23  Justin Garcia  <justin.garcia@apple.com>
20205
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.
20214
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
202322006-10-23  Adam Roben  <aroben@apple.com>
20233
20234        Reviewed by Adele.
20235
20236        Make popups a little more flexible.
20237
20238        * platform/PopupMenu.h:
20239
202402006-10-23  Sam Weinig  <sam.weinig@gmail.com>
20241
20242        Reviewed by Tim H.
20243
20244        Cleanup CodeGeneratorJS.pm
20245
20246        * bindings/scripts/CodeGeneratorJS.pm:
20247
202482006-10-23  Adam Roben  <aroben@apple.com>
20249
20250        Rubberstamped by Brady.
20251
20252        * loader/icon/IconLoader.h: Changed angle-brackets to quotes for
20253        #include of ResourceLoader.h, since it's a WebCore header.
20254
202552006-10-23  Darin Adler  <darin@apple.com>
20256
20257        - fixed mistake that was preventing any loading from happening
20258
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.
20262
202632006-10-23  Maciej Stachowiak  <mjs@apple.com>
20264
20265        Reviewed by Anders.
20266
20267        - start converting ResourceLoaderClient to new API
20268
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
20273
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:
20315
203162006-10-23  Maciej Stachowiak  <mjs@apple.com>
20317
20318        Rubber stamped by Anders.
20319
20320        - marked files executable
20321
20322        * ksvg2/scripts/csscssmakeprops:
20323        * ksvg2/scripts/csscssmakevalues:
20324
203252006-10-22  Maciej Stachowiak  <mjs@apple.com>
20326
20327        Reviewed by Anders.
20328
20329        - moved ResourceLoader and related files to platform/network
20330        in preparation for building out this API.
20331
20332        I tried to update all the build systems but I'm not sure they are
20333        all fixed properly
20334
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
20355
203562006-10-22  Sam Weinig  <sam.weinig@gmail.com>
20357
20358        Reviewed by Tim H.
20359
20360        - Add DOMHTMLFormElementPrivate.h to the project.
20361
20362        * WebCore.xcodeproj/project.pbxproj:
20363        * bindings/objc/DOMPrivate.h:
20364
203652006-10-22  Darin Adler  <darin@apple.com>
20366
20367        - another try at fixing Qt
20368
20369        * CMakeLists.txt: Added DeleteButton.cpp and DeleteButtonController.cpp.
20370
20371        - and fix a couple warnings while I'm at it
20372
20373        * platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::setRGBA):
20374        Don't do unsigned *= float.
20375
20376        * rendering/break_lines.cpp: (WebCore::nextBreakablePosition): Move unused variable
20377        inside #if so it's consistent.
20378
203792006-10-21  Darin Adler  <darin@apple.com>
20380
20381        - fix the Qt build
20382
20383        * platform/qt/EditorClientQt.cpp:
20384        (WebCore::EditorClientQt::shouldShowDeleteInterface):
20385        * platform/qt/EditorClientQt.h:
20386        * platform/qt/FrameQt.cpp:
20387
203882006-10-21  Darin Adler  <darin@apple.com>
20389
20390        Reviewed by Adele.
20391
20392        - convert WebLoader and its 3 subclasses to C++ (this time with a leak fixed)
20393
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.
20399
20400        Converted the classes to C++ and added Objective-C delegates to forward from
20401        API that still requires Objective-C.
20402
20403        Did not yet rename the source files.
20404
20405        * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
20406        classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
20407        classes.
20408
20409        * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
20410
20411        * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
20412
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++.
20422
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.
20451
204522006-10-21  Adam Roben  <aroben@apple.com>
20453
20454        Reviewed by Anders.
20455
20456        Popup tweaks.
20457
20458        * platform/PopupMenu.h:
20459
204602006-10-21  Darin Adler  <darin@apple.com>
20461
20462        * editing/DeleteButtonController.cpp: (WebCore::enclosingDeletableTable):
20463        Oops, edited this before landing it and introduced a null-deref! This fixes it.
20464
204652006-10-21  Darin Adler  <darin@apple.com>
20466
20467        Reviewed by Anders.
20468
20469        - fix http://bugs.webkit.org/show_bug.cgi?id=11379
20470          assertion failure seen in editing tests (in new DeleteButtonController)
20471
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.
20475
20476        * bridge/mac/FrameMac.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
20477        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
20478
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.
20487
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.
20501
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.
20507
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.
20511
20512        * editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
20513        Updated to call the editor instead of the delete button controller for the selection change.
20514
205152006-10-21  Anders Carlsson  <acarlsson@apple.com>
20516
20517        Reviewed by Darin.
20518
20519        * loader/mac/LoaderFunctionsMac.mm:
20520        (WebCore::ServeSynchronousRequest):
20521        * platform/mac/ResourceLoaderMac.mm:
20522        (WebCore::ResourceLoader::start):
20523        Don't leak the header dictionary.
20524
205252006-10-21  Darin Adler  <darin@apple.com>
20526
20527        Reviewed by Adam.
20528
20529        - http://bugs.webkit.org/show_bug.cgi?id=11376
20530          build scripts should invoke make with "-j" option for multiple processors
20531
20532        * WebCore.xcodeproj/project.pbxproj: Pass -j `sysctl -n hw.ncpu` to make.
20533
205342006-10-21  Timothy Hatcher  <timothy@apple.com>
20535
20536        Reviewed by Geoff.
20537
20538        <rdar://problem/4478625> HTML Editing: Basic table editing and culling
20539
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.
20545
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.
20550
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
20595
205962006-10-21  Sam Weinig  <sam.weinig@gmail.com>
20597
20598        Reviewed by Tim H.
20599
20600        Cleanup bindings generation a little through re-factoring
20601        and general style cleanup.
20602
20603        * bindings/scripts/CodeGenerator.pm:
20604        * bindings/scripts/CodeGeneratorJS.pm:
20605        * bindings/scripts/CodeGeneratorObjC.pm:
20606
206072006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
20608
20609        Reviewed by Mitz.
20610
20611        Fix crashes on Qt/Linux. Offer a default EditorClient and pass it down to Frame ctor.
20612
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:
20621
206222006-10-21  Sam Weinig  <sam.weinig@gmail.com>
20623
20624        Reviewed by Tim H.
20625
20626        Fix for http://bugs.webkit.org/show_bug.cgi?id=11372
20627        Auto-generate a few more Objective-C DOM methods.
20628
20629        - Auto-generate getMatchedCSSRules and getComputedStyle methods.
20630
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:
20638
206392006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
20640
20641        Reviewed by aliu, landed by aliu.
20642
20643        Fix Qt/Linux build.
20644
20645        * CMakeLists.txt:
20646        * platform/qt/FrameQt.cpp:
20647        (WebCore::FrameQt::FrameQt):
20648        * platform/qt/SoundQt.cpp: Added.
20649        (WebCore::systemBeep):
20650
206512006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
20652
20653        Reviewed by Mitz, landed by ap.
20654
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!
20658
20659        * platform/qt/ScrollViewCanvasQt.cpp:
20660        (WebCore::ScrollViewCanvasQt::paintEvent):
20661
206622006-10-20  Steve Falkenburg  <sfalken@apple.com>
20663
20664        Reviewed by Anders.
20665
20666        Send User-Agent on requests.
20667        Send custom request headers properly.
20668
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
20672
206732006-10-20  Timothy Hatcher  <timothy@apple.com>
20674
20675        Reviewed by Hyatt.
20676
20677        Fix some bad formatting.
20678
20679        * css/cssstyleselector.cpp:
20680        (WebCore::CSSStyleSelector::checkOneSelector):
20681
206822006-10-20  Darin Adler  <darin@apple.com>
20683
20684        Reviewed by John.
20685
20686        - fixed <rdar://problem/4795716> REGRESSION: User names and passwords aren't being saved (.Mac, etc.) -- WebKit formState passing empty strings
20687
20688        * loader/mac/WebFormState.mm: (WebCore::FormState::FormState): Fix typo -- need to pass "key"
20689        as the key, not the dictionary itself.
20690
206912006-10-20  Alice Liu  <alice.liu@apple.com>
20692
20693        Reviewed by Maciej.
20694
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
20716
20717        * bridge/EditorClient.h: Added.
20718        (WebCore::EditorClient::~EditorClient):
20719
20720        * bridge/mac/FrameMac.h:
20721        Added an EditingClient to the constructor, to pass down to Frame constructor
20722
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
20766
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
207842006-10-20  David Hyatt  <hyatt@apple.com>
20785
20786        Make sure to support the "encoding" property on form elements for
20787        legacy compatibility.
20788
20789        Reviewed by darin/john
20790
20791        No test cases added.  Not sure how to do a form submission of
20792        various encodings as a layout test.
20793
20794        * html/HTMLFormElement.h:
20795        (WebCore::HTMLFormElement::encoding):
20796        (WebCore::HTMLFormElement::setEncoding):
20797        * html/HTMLFormElement.idl:
20798
207992006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
20800
20801        Reviewed and by Anders.
20802
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().
20806
20807        * CMakeLists.txt: Tiny cleanup + add deps for CodeGenerator(JS).pm on all IDLs.
20808        * bindings/scripts/CodeGeneratorJS.pm:
20809
208102006-10-20  Darin Adler  <darin@apple.com>
20811
20812        - rolled out my loader change; caused world leak and possibly a plug-in crash
20813
208142006-10-20  Anders Carlsson  <acarlsson@apple.com>
20815
20816        Reviewed by Tim H
20817
20818        * loader/mac/LoaderFunctionsMac.mm:
20819        Autorelease the header NSDictionary.
20820
208212006-10-20  Anders Carlsson  <acarlsson@apple.com>
20822
20823        Reviewed by Geoff.
20824
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.
20829
208302006-10-20  Anders Carlsson  <acarlsson@apple.com>
20831
20832        Reviewed by Darin and Geoff.
20833
20834        Remove debugging output.
20835        * xml/xmlhttprequest.cpp:
20836        (WebCore::XMLHttpRequest::send):
20837
208382006-10-20  David Harrison  <harrison@apple.com>
20839
20840        Reviewed by John.
20841
20842        <rdar://problem/4792755> REGRESSON: Drag selecting is erratic
20843
20844        No test because it would require autoscrolling, which is not available to layout tests.
20845
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.
20852
208532006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
20854
20855        Reviewed and landed by Anders.
20856
20857        Fix regression introduced during the ResourceLoader transition (Maciej's rewrite).
20858
20859        * platform/qt/ResourceLoaderManager.cpp:
20860        (WebCore::ResourceLoaderManager::add):
20861
208622006-10-20  Darin Adler  <darin@apple.com>
20863
20864        Reviewed by Adele.
20865
20866        - convert WebLoader and its 3 subclasses to C++
20867
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.
20873
20874        Converted the classes to C++ and added Objective-C delegates to forward from
20875        API that still requires Objective-C.
20876
20877        Did not yet rename the source files.
20878
20879        * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
20880        classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
20881        classes.
20882
20883        * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
20884
20885        * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
20886
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++.
20896
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.
20925
209262006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
20927
20928        Reviewed and landed by Anders.
20929
20930        Offer a way for WebKitPart to be able to detect when
20931        the webpage has been completly loaded (including subresources).
20932
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.
20935
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):
20960
209612006-10-20  Steve Falkenburg  <sfalken@apple.com>
20962
20963        Reviewed by Geoff.
20964
20965        Fix compiler warnings
20966
20967        * platform/ResourceLoaderClient.h:
20968
209692006-10-20  Sam Weinig  <sam.weinig@gmail.com>
20970
20971        Reviewed by Mitz.
20972
20973        Win32 build fix and cleanup.
20974
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):
21031
210322006-10-20  Rob Buis  <buis@kde.org>
21033
21034        Reviewed by Darin.
21035
21036        http://bugs.webkit.org/show_bug.cgi?id=11303
21037        Path::transform() should be implemented on Qt build
21038
21039        Use QPainterPath API to implement Path::transform.
21040        This fixes svg/custom/clip-path-with-transform.svg on
21041        the qt build.
21042
21043        * platform/qt/PathQt.cpp:
21044        (WebCore::Path::transform):
21045
210462006-10-20  Rob Buis  <buis@kde.org>
21047
21048        Reviewed by Mitz.
21049
21050        http://bugs.webkit.org/show_bug.cgi?id=11217
21051        Cleanup svg coding style
21052
21053        Cleanup coding style in svg clipping and painting classes.
21054
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:
21077
210782006-10-20  David Hyatt  <hyatt@apple.com>
21079
21080        Make sure to do the code that checks the repeatInterval before the timer has been
21081        deleted. (Duh.)
21082
21083        Reviewed by andersca
21084
21085        * bindings/js/kjs_window.cpp:
21086        (KJS::DOMWindowTimer::setNestingLevel):
21087        (KJS::Window::timerFired):
21088        (KJS::DOMWindowTimer::fired):
21089        * platform/Timer.h:
21090
210912006-10-20  David Hyatt  <hyatt@apple.com>
21092
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.
21095
21096        Reviewed by anders
21097
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):
21113
211142006-10-20  Steve Falkenburg  <sfalken@apple.com>
21115
21116        Build fix
21117
21118        * ksvg2/svg/SVGAElement.cpp:
21119        (WebCore::SVGAElement::defaultEventHandler):
21120
211212006-10-19  Steve Falkenburg  <sfalken@apple.com>
21122
21123        Reviewed by Adam.
21124
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):
21147
211482006-10-19  David Hyatt  <hyatt@apple.com>
21149
21150        Correct typos from changing "flush" to "prune" using automated search/replace.
21151
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.
21155
21156        Make sizes unsigned instead of ints in the cache's APIs and member variables.
21157
21158        * loader/Cache.cpp:
21159        (WebCore::Cache::prune):
21160        (WebCore::Cache::setMaximumSize):
21161        * loader/Cache.h:
21162        (WebCore::Cache::maximumSize):
21163
211642006-10-19  Anders Carlsson  <acarlsson@apple.com>
21165
21166        Reviewed by Daddy Hyatt.
21167
21168        Use a real hash map for the headers.
21169
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:
21186
211872006-10-19  Adam Roben  <aroben@apple.com>
21188
21189        Reviewed by Ada.
21190
21191        Pippity-poppity popup tweaks.
21192
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):
21221
212222006-10-19  Adam Roben  <aroben@apple.com>
21223
21224        Reviewed by Darin.
21225
21226        Cleaning up Document::nextFocusNode and Document::previousFocusNode.
21227
21228        * dom/Document.cpp:
21229        (WebCore::Document::nextFocusNode):
21230        (WebCore::Document::previousFocusNode):
21231
212322006-10-19  Maciej Stachowiak  <mjs@apple.com>
21233
21234        Reviewed by Geoff.
21235
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):
21293
212942006-10-19  Justin Garcia  <justin.garcia@apple.com>
21295
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:
21322
213232006-10-19  Timothy Hatcher  <timothy@apple.com>
21324
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)
21327
213282006-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.
21336
213372006-10-19  Nikolas Zimmermann  <zimmermann@kde.org>
21338
21339        Reviewed and landed by Anders.
21340
21341        Fix Qt/Linux build.
21342
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):
21355
213562006-10-19  Sam Weinig  <sam.weinig@gmail.com>
21357
21358        Reviewed by ap.
21359
21360        Win32 build fix.
21361
21362        * bridge/win/FrameWin.cpp:
21363        * bridge/win/FrameWin.h:
21364        * platform/win/TemporaryLinkStubs.cpp:
21365        (WebCore::ResourceLoader::retrieveResponseEncoding):
21366
213672006-10-19  Alexey Proskuryakov  <ap@nypop.com>
21368
21369        Reviewed by Mitz.
21370
21371        http://bugs.webkit.org/show_bug.cgi?id=11141
21372        REGRESSION(r16681-r16691): CSS '@import' doesn't respect HTML Base element
21373
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.
21378
21379        Test: http/tests/uri/css-href.php
21380
21381        * html/HTMLStyleElement.cpp:
21382        (WebCore::HTMLStyleElement::childrenChanged):
21383        * ksvg2/svg/SVGStyleElement.cpp:
21384        (WebCore::SVGStyleElement::childrenChanged):
21385
213862006-10-19  Anders Carlsson  <acarlsson@apple.com>
21387
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.
21391
213922006-10-19  Anders Carlsson  <acarlsson@apple.com>
21393
21394        Reviewed by Maciej, Brady.
21395
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):
21426
214272006-10-19  David Hyatt  <hyatt@apple.com>
21428
21429        Rewrite of the WebCore memory cache.  The following changes have been made (along with many more):
21430
21431        (1) Referenced objects are now also cached.
21432
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.
21435
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.
21439
21440        (4) Consolidated the request methods for various types of resources to go through a single
21441        requestResource bottleneck function.
21442
21443        (5) deref on CachedResource is no longer virtual, since the implementation in every subclass was
21444        identical.
21445
21446        (6) Changed "object" to "resource" everywhere.
21447
21448        (7) The Cache is now an actual object, obtained via cache().
21449
21450        (8) Fixed bugs with the autoload images preference so that it would really work properly when disabled
21451        and enabled.
21452
21453        (9) Tweaked ImageDocuments to set up the status properly for the CachedResource that they use.
21454
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.
21458
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.
21461
21462        Reviewed by Maciej, bradee-oh
21463
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):
21601
216022006-10-18  Maciej Stachowiak  <mjs@apple.com>
21603
21604        Reviewed by Geoff.
21605
21606        - remove vestiges of KXMLCore name (former name of WTF).
21607
21608        * config.h:
21609
216102006-10-18  Geoffrey Garen  <ggaren@apple.com>
21611
21612        Reviewed by Beth.
21613
21614        Fixed http://bugs.webkit.org/show_bug.cgi?id=11222
21615
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.
21623
21624        * bindings/js/kjs_window.cpp:
21625        (KJS::):
21626        (KJS::History::getValueProperty):
21627
216282006-10-18  Adam Roben  <aroben@apple.com>
21629
21630        Reviewed by Brady.
21631
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.
21635
21636        * platform/mac/KeyEventMac.mm:
21637        (WebCore::keyIdentifierForKeyEvent):
21638
216392006-10-18  Steve Falkenburg  <sfalken@apple.com>
21640
21641        Reviewed by Adam, Brady.
21642
21643        Loader tweaks.
21644
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):
21652
216532006-10-18  Timothy Hatcher  <timothy@apple.com>
21654
21655        Reviewed by Darin.
21656
21657        <rdar://problem/4752138> Manipulating popup in HTML page crashed Xcode
21658
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.
21662
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
21688
216892006-10-18  Geoffrey Garen  <ggaren@apple.com>
21690
21691        Reviewed by Adele.
21692
21693        Fixed <rdar://problem/3673233> JavaScript timers do not fire if controls
21694        are tracking or menus are down (run loop modes)
21695
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):
21703
217042006-10-18  Sam Weinig  <sam.weinig@gmail.com>
21705
21706        Reviewed by Maciej.
21707
21708        More Win32 buildfix.
21709
21710        * bridge/win/FrameWin.h:
21711
217122006-10-18  Sam Weinig  <sam.weinig@gmail.com>
21713
21714        Reviewed by Mitz
21715
21716        Win32 build fix.
21717
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):
21728
217292006-10-18  Justin Garcia  <justin.garcia@apple.com>
21730
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
21735
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.
21742
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.
21748
217492006-10-18  Adele Peterson  <adele@apple.com>
21750
21751        Reviewed by Beth.
21752
21753        - Fixed http://bugs.webkit.org/show_bug.cgi?id=11343
21754          REGRESSION (r16975): fast/events/objc-event-api is failing
21755
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.
21759
21760        * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent):
21761
217622006-10-17  Geoffrey Garen  <ggaren@apple.com>
21763
21764        Reviewed by Anders.
21765
21766        Factored common scaling code into a helper function.
21767
21768        * platform/mac/ScreenMac.mm:
21769        (WebCore::scale):
21770        (WebCore::scaleScreenRectToPageCoordinates):
21771        (WebCore::scalePageRectToScreenCoordinates):
21772
217732006-10-17  Steve Falkenburg  <sfalken@apple.com>
21774
21775        Build fixes
21776
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:
21789
217902006-10-17  Geoffrey Garen  <ggaren@apple.com>
21791
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.)
21797
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):
21811
218122006-10-17  Sam Weinig  <sam.weinig@gmail.com>
21813
21814        Reviewed by Tim H.
21815
21816        Patch for http://bugs.webkit.org/show_bug.cgi?id=11268
21817        Implement the Objective-C DOM bindings for SVGNumber, SVGRect, and SVGPoint
21818
21819        - Adds implementation for DOMSVGNumber, DOMSVGRect, and DOMSVGPoint.
21820
21821        - Moves the contents of ksvg/bindings/js/ to bindings/js/.
21822
21823        - Moves SVGZoomEvent.idl from ksvg/svg/ to ksvg/events/.
21824
21825        - Adds isSVGColor() and isSVGPaint() methods to StyleBase, matching
21826          the other CSSValue classing, and allowing the bindings to allocate
21827          appropriately.
21828
21829        - Removes #ifdefs around the getBBox() method in SVGLocatable.idl allowing
21830          generation for Objective-C.
21831
21832        - Assorted style cleanups.
21833
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.
21895
218962006-10-17  David Hyatt  <hyatt@apple.com>
21897
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.
21900
21901        Reviewed by beth
21902
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):
21916
219172006-10-17  David Hyatt  <hyatt@apple.com>
21918
21919        Back out my previous patch to the WebCore memory cache.
21920
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:
21948
219492006-10-17  Oliver Hunt  <oliver@apple.com>
21950
21951        Reviewed by Anders.
21952
21953        Make north and east resize cursors use correct image
21954
21955        * platform/win/CursorWin.cpp:
21956        (WebCore::eastResizeCursor):
21957        (WebCore::northResizeCursor):
21958
219592006-10-17  Oliver Hunt  <oliver@apple.com>
21960
21961        Reviewed by Brady
21962
21963        Various cursor fixes
21964
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):
21975
219762006-10-17  Justin Garcia  <justin.garcia@apple.com>
21977
21978        Reviewed by harrison
21979
21980        <rdar://problem/4776665>
21981        REGRESSION: In Mail, caret is visible when the message body isn't focused
21982
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.
21988
219892006-10-17  Justin Garcia  <justin.garcia@apple.com>
21990
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
21995
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.
22000
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.
22005
220062006-10-17  Geoffrey Garen  <ggaren@apple.com>
22007
22008        Reviewed by Brady.
22009
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:
22027
220282006-10-15  Geoffrey Garen  <ggaren@apple.com>
22029
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.
22036
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.
22042
220432006-10-16  Justin Garcia  <justin.garcia@apple.com>
22044
22045        Reviewed by sullivan
22046
22047        <rdar://problem/4776765>
22048        REGRESSION: Caret's ghost left behind after inserting a paragraph separator (11237)
22049
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.
22064
220652006-10-17  David Harrison  <harrison@apple.com>
22066
22067        Reviewed by Adele.
22068
22069        <rdar://problem/4770453> VO not honoring secure edit fields in web pages
22070
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].
22086
22087        (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
22088        Return empty array if [self isPasswordField].
22089
220902006-10-17  David Hyatt  <hyatt@apple.com>
22091
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.
22094
22095        * dom/Document.cpp:
22096        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
22097
220982006-10-17  David Hyatt  <hyatt@apple.com>
22099
22100        Fix a bug where the WebCore memory cache could grow without bound during extended browsing
22101        sessions.
22102
22103        Reviewed by mjs
22104
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:
22127
221282006-10-13  Justin Garcia  <justin.garcia@apple.com>
22129
22130        Reviewed by harrison
22131
22132        <rdar://problem/3655385>
22133        Editing: -indent: method unimplemented
22134
22135        Added Frame and bridge methods.
22136
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:
22145
221462006-10-16  Adam Roben  <aroben@apple.com>
22147
22148        Reviewed by John.
22149
22150        More menulist cleanup/tweaking.
22151
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.
22164
221652006-10-16  Sam Weinig  <sam.weinig@gmail.com>
22166
22167        Reviewed by Adam.
22168
22169        Win32 build fix.
22170
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):
22198
221992006-10-16  David Hyatt  <hyatt@apple.com>
22200
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).
22204
22205        Reviewed by mjs
22206
22207        Test cases added to fast/block/positioning for quirks and strict modes.
22208
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):
22219
222202006-10-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
22221
22222        Reviewed by Anders.
22223
22224        Misc Gdk/Linux build fixes.
22225
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:
22262
222632006-10-15  Sam Weinig  <sam.weinig@gmail.com>
22264
22265        Reviewed by Mitz.
22266
22267        Fix for http://bugs.webkit.org/show_bug.cgi?id=11294
22268        Add getModifierState method to KeyboardEvent
22269
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:
22277
222782006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>
22279
22280        Reviewed and landed by ap.
22281
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.
22287
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!).
22291
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:
22332
223332006-10-14  Rob Buis  <buis@kde.org>
22334
22335        Reviewed by Mitz.
22336
22337        http://bugs.webkit.org/show_bug.cgi?id=11217
22338        Cleanup svg coding style
22339
22340        Cleanup coding style in svg basic datastructure classes.
22341
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:
22405
224062006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>
22407
22408        Reviewed by Oliver.
22409
22410        Implement some functions in FrameQt / ScrollViewQt.
22411
22412        Added comments what needs to be done in quite some places,
22413        marked some functions as no-ops.
22414
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):
22464
224652006-10-14  David Harrison  <harrison@apple.com>
22466
22467        Reviewed by Geoff.
22468
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
22471
22472        The problem is that EventTargetNode::defaultEventHandler() calls event->setDefaultHandled() regardless
22473        of whether frame->view()->advanceFocus() actually changed the focus.
22474
22475        Trivial fix is to preventDefault() only if advanceFocus() returns true.
22476
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.
22482
22483        * dom/EventTargetNode.cpp:
22484        (WebCore::EventTargetNode::defaultEventHandler):
22485
224862006-10-14  Nikolas Zimmermann  <zimmermann@kde.org>
22487
22488        Reviewed by Mitz.
22489
22490        Fix Qt/Linux build & some little fixes:
22491
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.
22496
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):
22519
225202006-10-14  David Carson  <dacarson@gmail.com>
22521
22522        Reviewed by Maciej.
22523
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.
22528
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):
22560
225612006-10-14  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
22562
22563        Reviewed by Maciej.
22564
22565        Fix GDK build by defining FrameGdkClient() constructor as non-virtual.
22566        Pure virtual classes require non-pure destructor, who knew.
22567
22568        Make CURL networking dependent on USE(CURL) instead of PLATFORM(GDK),
22569        so that other platforms can also use CURL, if they wish.
22570
22571        Silence compiler warning about unused variable in SharedTimerLinux.cpp
22572
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):
22581
225822006-10-13  Beth Dakin  <bdakin@apple.com>
22583
22584        Reviewed by Geoff.
22585
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.
22591
22592        * rendering/RenderObject.cpp:
22593        (WebCore::RenderObject::hasOutlineAnnotation):
22594        * rendering/RenderObject.h:
22595        (WebCore::RenderObject::hasOutline):
22596
225972006-10-13  Beth Dakin  <bdakin@apple.com>
22598
22599        Patch written mostly by Ken Kraisler, but also by me.
22600
22601        Reviewed by Hyatt.
22602
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
22606
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.
22638
226392006-10-13  Justin Garcia  <justin.garcia@apple.com>
22640
22641        Reviewed by ggaren and harrison
22642
22643        <rdar://problem/4744008>
22644        9A270: Mail crashes when I try to paste large items from Safari
22645
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.
22657
226582006-10-13  Maciej Stachowiak  <mjs@apple.com>
22659
22660        Reviewed by Darin.
22661
22662        - split FrameLoadRequest off from ResourceRequest - it's a ResourceRequest plus frame name plus lockHistory bool
22663
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):
22690
226912006-10-13  John Sullivan  <sullivan@apple.com>
22692
22693        Reviewed by Maciej
22694
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.
22699
227002006-10-13  Dave Hyatt  <hyatt@apple.com>
22701
22702        Transparency layer work.
22703
22704        Reviewed by aroben
22705
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):
22713
227142006-10-13  Rob Buis  <buis@kde.org>
22715
22716        Reviewed by Mitz.
22717
22718        http://bugs.webkit.org/show_bug.cgi?id=11217
22719        Cleanup svg coding style
22720
22721        Cleanup coding style in svg paint server classes.
22722
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:
22755
227562006-10-13  Geoffrey Garen  <ggaren@apple.com>
22757
22758        Reviewed by Darin, John.
22759
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.
22766
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.
22798
227992006-10-13  David Harrison  <harrison@apple.com>
22800
22801        Reviewed by Justin.
22802
22803        <rdar://problem/4746860> Mail crash in WebCore::CSSMutableStyleDeclaration::merge(WebCore::CSSMutableStyleDeclaration*, bool)
22804
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).
22811
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
22856
228572006-10-13  Nikolas Zimmermann  <zimmermann@kde.org>
22858
22859        Reviewed by Eric.
22860
22861        Fix Qt/Linux build after Adele's popup menu changes.
22862
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:
22879
228802006-10-13  Kevin McCullough  <KMcCullough@apple.com>
22881
22882        Reviewed by Darin.
22883
22884        fixed build failure
22885
22886        * WebCore.xcodeproj/project.pbxproj:
22887        * loader/mac/WebFrameLoader.mm:
22888
228892006-10-13  Darin Adler  <darin@apple.com>
22890
22891        Reviewed by Adele.
22892
22893        - converted WebFormState from Objective-C to C++
22894
22895        * WebCore.exp: Added a new symbol, changed one symbol from C to C++.
22896
22897        * WebCore.xcodeproj/project.pbxproj: Made lots of headers "private" instead of "project".
22898        Added UChar.h and FrameLoaderTypes.h.
22899
22900        * loader/FrameLoaderTypes.h: Added. Has enums from WebFrameLoader.h.
22901
22902        * loader/mac/WebFormState.h: Converted class to C++.
22903        * loader/mac/WebFormState.mm: Ditto.
22904
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.
22920
229212006-10-13  Adele Peterson  <adele@apple.com>
22922
22923        Reviewed by Maciej.
22924
22925        - Fix for <rdar://problem/4768591> REGRESSION: List box selection color should just be a darker version of regular selection color
22926
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):
22936
229372006-10-13  Rob Buis  <buis@kde.org>
22938
22939        Reviewed by Mitz.
22940
22941        http://bugs.webkit.org/show_bug.cgi?id=11217
22942        Cleanup svg coding style
22943
22944        Cleanup coding style in svg structure classes.
22945
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):
23021
230222006-10-12  Adele Peterson  <adele@apple.com>
23023
23024        Reviewed by Anders.
23025
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
23030
23031        * rendering/RenderListBox.cpp: (WebCore::RenderListBox::updateFromElement):
23032          When the options change, call setNeedsLayoutAndMinMaxRecalc.
23033
230342006-10-12  Maciej Stachowiak  <mjs@apple.com>
23035
23036        Reviewed by Oliver.
23037
23038        - moved a bunch of WebFrameBridge code down to WebCoreFrameBridge, now that it no longer has any WebKit dependencies
23039
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:
23072
230732006-10-12  Adele Peterson  <adele@apple.com>
23074
23075        RS by Geoff.
23076
23077        Renamed menuListIsDetaching to disconnectMenuList,
23078        uploadControlDetaching to disconnectUploadControl, and fileChooserDetachingSoon to disconnectFileChooser.
23079        These names match similar methods in WebCore a little better.
23080
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):
23088
230892006-10-12  Adele Peterson  <adele@apple.com>
23090
23091        Reviewed by Maciej.
23092
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
23094
23095        Added private delegate method for clients that want access to a PopupMenu's NSMenu.
23096
23097        * bridge/mac/FrameMac.h:
23098        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::willPopupMenu):
23099        * bridge/mac/WebCoreFrameBridge.h:
23100
23101        * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Calls willPopupMenu with the NSMenu about to be popped up.
23102
231032006-10-12  Adele Peterson  <adele@apple.com>
23104
23105        Reviewed by Alice.
23106
23107        - Fix for <rdar://problem/4707372>
23108          After timers fix, crash in -[NSMenu performActionForItemAtIndex:] after moving/detroying active popup menu
23109
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.
23114
231152006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
23116
23117        Reviewed by Maciej.
23118
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.
23123
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.
23128
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().
23133
231342006-10-12  Adam Roben  <aroben@apple.com>
23135
23136        Reviewed by Adele.
23137
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.
23143
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.
23202
232032006-10-12  Adele Peterson  <adele@apple.com>
23204
23205        Reviewed by Dave Harrison.
23206
23207        - Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
23208
23209        * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout):
23210        Make subtree layouts work for textareas as well as text fields.
23211
232122006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
23213
23214        Reviewed by MacDome.
23215
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.
23221
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):
23242
232432006-10-12  Adam Roben  <aroben@apple.com>
23244
23245        Reviewed by Hyatt.
23246
23247        Bandaid-ing a null-dereference crash until a real fix is made.
23248
23249        * page/FrameView.cpp:
23250        (WebCore::FrameView::windowClipRect):
23251
232522006-10-12  Rob Buis  <buis@kde.org>
23253
23254        Reviewed by Mitz.
23255
23256        http://bugs.webkit.org/show_bug.cgi?id=11217
23257        Cleanup svg coding style
23258
23259        Cleanup coding style in svg text classes.
23260
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:
23297
232982006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
23299
23300        Reviewed by Maciej.
23301
23302        Specialization of alert() for DumpRenderTree - just log the output, don't show any message box.
23303
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:
23309
233102006-10-12  Maciej Stachowiak  <mjs@apple.com>
23311
23312        Reviewed by Eric.
23313
23314        - move m_responseMIMEType out of ResourceRequest, where it doesn't belong
23315
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
23332
233332006-10-12  Maciej Stachowiak  <mjs@apple.com>
23334
23335        Reviewed by Eric.
23336
23337        <rdar://problem/4774321> REGRESSION: "Can't find the server" error page contains unstyled text and missing image
23338
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.
23343
233442006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
23345
23346        Reviewed by Eric.
23347
23348        Fix Qt/Linux build.
23349
23350        * CMakeLists.txt:
23351        * platform/qt/FileChooserQt.cpp:
23352        (WebCore::FileChooser::create):
23353
233542006-10-12  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
23355
23356        Reviewed by Maciej.
23357
23358        Update Gdk\Linux build for recent changes, based on Qt code
23359
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):
23377
233782006-10-12  Dave Hyatt  <hyatt@apple.com>
23379
23380        Patch to add more clipping retrieval functionality for widgets.
23381
23382        Reviewed by mjs
23383
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
234272006-10-11  Darin Adler  <darin@apple.com>
23428
23429        Reviewed by John.
23430
23431        - some changes to prepare for converting more code to C++
23432
23433        * bridge/mac/WebCoreFrameBridge.h: Added import of <Cocoa/Cocoa.h> so this header is
23434        self-sufficient.
23435
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).
23438
23439        * loader/mac/LoaderNSURLExtras.h:
23440        * loader/mac/WebFormDataStream.h:
23441        Added extern "C" so this code can be used from C++.
23442
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.
23453
234542006-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
23459
23460        The hash table to look up an element class given a QualifiedName was
23461        not working at all.
23462
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.
23468
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
234772006-10-11  Adam Roben  <aroben@apple.com>
23478
23479        Rubberstamped by Anders.
23480
23481        Clean up FileChooser::create and Icon::newIconForFile.
23482
23483        * WebCore.xcodeproj/project.pbxproj:
23484        * platform/mac/FileChooserMac.mm:
23485        (WebCore::FileChooser::create):
23486        * platform/mac/IconMac.mm:
23487        (WebCore::Icon::newIconForFile):
23488
234892006-10-11  Oliver Hunt  <oliver@apple.com>
23490
23491        Reviewed by Adam.
23492
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
23496
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):
23504
235052006-10-11  Rob Buis  <buis@kde.org>
23506
23507        Reviewed by Mitz.
23508
23509        http://bugs.webkit.org/show_bug.cgi?id=11221
23510        REGRESSION: iExploder crash due to style="cursor: url()"
23511
23512        Take better care of empty cursor lists.
23513
23514        Test: fast/css/invalid-cursor-property-crash.html
23515
23516        * css/cssparser.cpp:
23517        (WebCore::CSSParser::parseValue):
23518
235192006-10-11  Adam Roben  <aroben@apple.com>
23520
23521        Fixing Windows for real this time.
23522
23523        * platform/win/TemporaryLinkStubs.cpp:
23524        (FileChooser::create):
23525
235262006-10-11  Adam Roben  <aroben@apple.com>
23527
23528        Fix Windows build.
23529
23530        * platform/win/TemporaryLinkStubs.cpp:
23531        (FileChooser::create):
23532
235332006-10-11  Antti Koivisto  <koivisto@iki.fi>
23534
23535        Reviewed by Hyatt.
23536
23537        http://bugs.webkit.org/show_bug.cgi?id=4377
23538
23539        Respect css visibility semantics for layers too
23540
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):
23561
235622006-10-10  Maciej Stachowiak  <mjs@apple.com>
23563
23564        Reviewed by Oliver.
23565
23566        - added RetainPtr, smart pointer for refcounted ObjC objects and CFTypes
23567
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):
23598
235992006-10-10  Brady Eidson  <beidson@apple.com>
23600
23601        Reviewed by Maciej.
23602
23603        Moved WebFrameLoader from WebFrameBridge into WebCoreFrameBridge
23604
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:]):
23617
236182006-10-10  Adam Roben  <aroben@apple.com>
23619
23620        Reviewed by Oliver.
23621
23622        Make FileChooser ref-counted.
23623
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:
23631
236322006-10-10  Sam Weinig  <sam.weinig@gmail.com>
23633
23634        Reviewed by Tim H.
23635
23636        Patch for http://bugs.webkit.org/show_bug.cgi?id=11248
23637        Even More auto-generated Objective-C DOM bindings changes
23638
23639        - Auto-generate DOMSVGPathElement.
23640
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.
23644
23645        - Add SVG classes to DOMNode and DOMEvent internal interfaces.
23646
23647        - Add isSVGZoomEvent() method to Event class to match other Event subclasses
23648          and make DOM binding possible.
23649
23650        - Assorted cleanups.
23651
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:
23687
236882006-10-10  Oliver Hunt  <oliver@apple.com>
23689
23690        rubber stamped by Anders.
23691
23692        More buildbot bustage
23693
23694        * kcanvas/SVGInlineFlowBox.cpp:
23695        (WebCore::placeBoxesVerticallyWithAbsBaseline):
23696
236972006-10-10  Oliver Hunt  <oliver@apple.com>
23698
23699        Reviewed by Anders
23700
23701        Unbreak build bots
23702
23703        * dom/Text.cpp:
23704        * kcanvas/RenderSVGText.cpp:
23705        (WebCore::RenderSVGText::layout):
23706        * kcanvas/SVGInlineFlowBox.cpp:
23707        (WebCore::placePositionedBoxesHorizontally):
23708        (WebCore::placeBoxesVerticallyWithAbsBaseline):
23709
237102006-10-10  Oliver Hunt  <oliver@apple.com>
23711
23712        Reviewed by hyatt.
23713
23714        Fixes bugs #6423, #6559, #10380 and #10839
23715
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:
23772
237732006-10-10  Adam Roben  <aroben@apple.com>
23774
23775        Reviewed by Adele.
23776
23777        Improve popup menu behavior.
23778
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:
23795
237962006-10-10  Adele Peterson  <adele@apple.com>
23797
23798        Reviewed by Beth.
23799
23800
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
23803
23804        Moved autoscroll code to the Frame class
23805
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):
23813
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.
23816
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.
23831
23832        * page/FramePrivate.h:
23833        (WebCore::FramePrivate::FramePrivate): Added mouseDownMayStartDrag and mouseDownMayStartAutoscroll flags.  Moved from FrameMac.
23834
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):
23840
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.
23844
23845        * rendering/RenderListBox.cpp:
23846        (WebCore::RenderListBox::autoscroll): Convert the mouse coordinates to the right space.
23847
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.
23851
238522006-10-10  Darin Adler  <darin@apple.com>
23853
23854        Rubber stamped by Maciej.
23855
23856        - convert many of the loader source files to Objective-C++ to prepare
23857          to convert some of them to C++
23858
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.
23878
238792006-10-10  Maciej Stachowiak  <mjs@apple.com>
23880
23881        Reviewed by Mitz.
23882
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.
23889
238902006-10-10  Maciej Stachowiak  <mjs@apple.com>
23891
23892        - fixed release build
23893
23894        * WebCore.xcodeproj/project.pbxproj:
23895
238962006-10-10  Maciej Stachowiak  <mjs@apple.com>
23897
23898        Rubber stamped by Eric.
23899
23900        - moved a big honkin' pile of code over from WebKit; made minimal needed changes to compile
23901
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.
23917
239182006-10-10  Maciej Stachowiak  <mjs@apple.com>
23919
23920        Reviewed by Oliver (sort of?)
23921
23922        - WebCore part of moving down NSURL extras
23923
23924        * WebCore.exp:
23925        * platform/mac/WebCoreSystemInterface.h:
23926        * platform/mac/WebCoreSystemInterface.mm:
23927
239282006-10-09  Rob Buis  <buis@kde.org>
23929
23930        Reviewed by Mitz.
23931
23932        http://bugs.webkit.org/show_bug.cgi?id=11217
23933        Cleanup svg coding style
23934
23935        Cleanup coding style in svg animation classes.
23936
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):
23957
239582006-10-09  Maciej Stachowiak  <mjs@apple.com>
23959
23960        Reviewed by Oliver.
23961
23962        - added isMainFrame and frameLoader to WebCoreFrameBridge for ease of future code motion
23963
23964        * bridge/mac/WebCoreFrameBridge.h:
23965        * bridge/mac/WebCoreFrameBridge.mm:
23966        (-[WebCoreFrameBridge isMainFrame]):
23967
239682006-10-09  Adam Roben  <aroben@apple.com>
23969
23970        Backing out accidental commit.
23971
23972        * page/Frame.cpp:
23973        (WebCore::Frame::finishedParsing):
23974
239752006-10-09  Adam Roben  <aroben@apple.com>
23976
23977        Reviewed by Darin.
23978
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.
23982
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:
23999
240002006-10-09  Oliver Hunt <ohunt@apple.com>
24001
24002        Reviewed by Anders.
24003
24004        Correcting ifdef's
24005
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:
24033
240342006-10-09  Adam Roben  <aroben@apple.com>
24035
24036        Reviewed by Maciej.
24037
24038        Fix a possible recursive destructor call.
24039
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.
24044
240452006-10-09  Sam Weinig  <sam.weinig@gmail.com>
24046
24047        Reviewed by Tim H.
24048
24049        Patch for http://bugs.webkit.org/show_bug.cgi?id=11234
24050        Assorted Objective-C bindings changes
24051
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.
24061
24062        - Auto-generate absoluteImageURL method for DOMHTMLInputElement and
24063          DOMHTMLObjectElement.
24064
24065        - Auto-generate the internal methods for classes with ivars (notably
24066          DOMNodeIterator and DOMTreeWalker)
24067
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.
24071
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:
24150
241512006-10-09  Peter Kasting  <pkasting@google.com>
24152
24153        Unreviewed build fix.
24154
24155        Fix windows build bustage.
24156
24157        * platform/win/TemporaryLinkStubs.cpp:
24158
241592006-10-09  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
24160
24161        Reviewed by Geoff.
24162
24163        Fix memory leaks discovered via valgrind. Gdk build fixes.
24164
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):
24175
241762006-10-09  Nikolas Zimmermann  <zimmermann@kde.org>
24177
24178        Reviewed by Beth.
24179
24180        Fix LayoutTests/fast/css/case-transform.html with Qt - the last crashing layout test.
24181
24182        * platform/qt/GlyphMapQt.cpp: Handle UTF-16 characters properly
24183        (WebCore::GlyphMap::fillPage):
24184
241852006-10-09  Nikolas Zimmermann  <zimmermann@kde.org>
24186
24187        Unreviewed build fix.
24188
24189        Fix for Qt/Linux build, based on fixes to the Win32 build in r16928 and r16929.
24190
24191        * platform/qt/FrameQt.cpp:
24192        (WebCore::FrameQt::createJavaAppletWidget):
24193        * platform/qt/FrameQt.h:
24194        * platform/qt/TemporaryLinkStubs.cpp:
24195
241962006-10-09  Brady Eidson  <beidson@apple.com>
24197
24198        Reviewed by Maciej
24199
24200        Tiny changes to help reorganize WebFrameLoader code in WebKit
24201
24202        * bridge/mac/WebCoreIconDatabaseBridge.h: Added "createInstance"
24203        * bridge/mac/WebCoreIconDatabaseBridge.mm:
24204        (+[WebCoreIconDatabaseBridge sharedInstance]): Added, uses createInstance from WebKit side
24205
242062006-10-09  Adam Roben  <aroben@apple.com>
24207
24208        Reviewed by Adele.
24209
24210        Remove redundant call to Frame::cancelAndClear from ~Frame, since it's
24211        already called frome ~FrameMac.
24212
24213        * page/Frame.cpp:
24214        (WebCore::Frame::~Frame):
24215
242162006-10-09  Anders Carlsson  <acarlsson@apple.com>
24217
24218        * bridge/win/FrameWin.h:
24219        Add function declaration.
24220
242212006-10-09  Anders Carlsson  <acarlsson@apple.com>
24222
24223        * platform/win/TemporaryLinkStubs.cpp:
24224        (FrameWin::createJavaAppletWidget):
24225        Try fixing the Win32 build.
24226
242272006-10-09  Anders Carlsson  <acarlsson@apple.com>
24228
24229        Reviewed by Adam.
24230
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):
24241
242422006-10-09  Mitz Pettel  <mitz@webkit.org>
24243
24244        Reviewed by Darin.
24245
24246        - http://bugs.webkit.org/show_bug.cgi?id=11220
24247          Fix manual test for http://bugs.webkit.org/show_bug.cgi?id=8276
24248
24249        Subversion does not support resource forks and HFS metadata, so
24250        the resources for this test need to be on a disk image.
24251
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.
24263
242642006-10-09  Rob Buis  <buis@kde.org>
24265
24266        Reviewed by Darin.
24267
24268        http://bugs.webkit.org/show_bug.cgi?id=11217
24269        Cleanup svg coding style
24270
24271        Cleanup coding style in filter classes.
24272
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):
24314
243152006-10-09  Rob Buis  <buis@kde.org>
24316
24317        Reviewed by olliej.
24318
24319        http://bugs.webkit.org/show_bug.cgi?id=11217
24320        Cleanup svg coding style
24321
24322        Cleanup coding style in SVGPath* classes.
24323
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:
24365
243662006-10-09  Rob Buis  <buis@kde.org>
24367
24368        Reviewed by aroben.
24369
24370        http://bugs.webkit.org/show_bug.cgi?id=11217
24371        Cleanup svg coding style
24372
24373        Cleanup coding style in svg shape classes.
24374
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):
24410
244112006-10-08  Darin Adler  <darin@apple.com>
24412
24413        Reviewed by Maciej.
24414
24415        - added a bit more WebCoreSystemInterface
24416
24417            wkGetNSURLResponseCalculatedExpiration
24418            wkGetNSURLResponseLastModifiedDate
24419            wkGetNSURLResponseMustRevalidate
24420
24421        * WebCore.exp: Added the new symbols.
24422        * platform/mac/WebCoreSystemInterface.h: Ditto.
24423        * platform/mac/WebCoreSystemInterface.mm: Ditto.
24424
24425        - quiet down the code generation script
24426
24427        * bindings/scripts/CodeGenerator.pm:
24428
244292006-10-08  Maciej Stachowiak  <mjs@apple.com>
24430
24431        Reviewed by Darin.
24432
24433        - more code laundering - add wkSupportsMultipartXMixedReplace
24434
24435        * WebCore.exp:
24436        * platform/mac/WebCoreSystemInterface.h:
24437        * platform/mac/WebCoreSystemInterface.mm:
24438
244392006-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
24440
24441        Reviewed by Darin and Oliver.
24442
24443        Fix artefacts when drawing polygons, most noticeable when painting <hr> elements.
24444
24445        * platform/qt/GraphicsContextQt.cpp: Fix wrong operator<< usage.
24446        (WebCore::GraphicsContext::drawConvexPolygon):
24447
244482006-10-08  Anders Carlsson  <acarlsson@apple.com>
24449
24450        Reviewed by Darin.
24451
24452        * page/Frame.cpp:
24453        (WebCore::Frame::submitForm):
24454        No need to use latin1() here.
24455
244562006-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
24457
24458        Reviewed by Darin.
24459
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.
24462
24463        * bindings/scripts/CodeGenerator.pm:
24464
244652006-10-08  Maciej Stachowiak  <mjs@apple.com>
24466
24467        Reviewed by Darin.
24468
24469        - split didNotOpenURL: into general and page-cache-specific parts
24470
24471        * bridge/mac/WebCoreFrameBridge.h:
24472        * bridge/mac/WebCoreFrameBridge.mm:
24473        (-[WebCoreFrameBridge didNotOpenURL:]):
24474        (-[WebCoreFrameBridge invalidatePageCache:]):
24475
244762006-10-08  Anders Carlsson  <acarlsson@apple.com>
24477
24478        Reviewed by Darin.
24479
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.
24486
244872006-10-08  Sam Weinig  <sam.weinig@gmail.com>
24488
24489        Reviewed by Darin.
24490
24491        Patch for http://bugs.webkit.org/show_bug.cgi?id=11215
24492        Yet another round of Objective-C SVG DOM bindings auto-generation
24493
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.
24501
24502        - Auto-generate the implementations of DOMHTMLAppletElement and DOMHTMLEmbedElement
24503          using the new [ConvertFromString] property.
24504
24505        - Add forward declarations for NS* types to auto-generated classes.
24506
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:
24535
245362006-10-07  Anders Carlsson  <acarlsson@apple.com>
24537
24538        Reviewed by Maciej.
24539
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
245442006-10-07  Anders Carlsson  <acarlsson@apple.com>
24545
24546        Reviewed by Darin.
24547
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):
24604
246052006-10-07  Sam Weinig  <sam.weinig@gmail.com>
24606
24607        Reviewed by Tim H.
24608
24609        Patch for http://bugs.webkit.org/show_bug.cgi?id=11206
24610        10 more SVG Objective-C auto-generated bindings
24611
24612        - Auto-generate DOMSVGFilterElement, DOMSVGFitToViewBox,
24613          DOMSVGForeignObjectElement, DOMSVGGElement, DOMSVGGradientElement,
24614          DOMSVGImageElement, DOMSVGLineElement, DOMSVGLinearGradientElement,
24615          DOMSVGMarkerElement, DOMSVGMaskElement and DOMSVGPaint.
24616
24617        - Auto-generate the text method for DOMRange.
24618
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:
24642
246432006-10-07  Sam Weinig  <sam.weinig@gmail.com>
24644
24645        Reviewed by Tim H.
24646
24647        Patch for http://bugs.webkit.org/show_bug.cgi?id=11198
24648        Auto-generate a few more Objective-C DOM interfaces
24649
24650        - Fully auto-generate DOMAbstractView and DOMRange.
24651
24652        - Auto-generate just the interface for DOMRGBColor.
24653
24654        - Add DOMRanges.h as the new top level file for Ranges
24655          module.
24656
24657        - Add DOMRanges.h and DOMXPath.h to DOM.mm
24658
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.
24676
246772006-10-07  Andrew Wellington  <proton@wiretapped.net>
24678
24679        Reviewed by Eric.
24680
24681        Bug 10837: REGRESSION: Yahoo New Charts Crashes WebKit
24682        http://bugs.webkit.org/show_bug.cgi?id=10837
24683
24684        Return null when there is no frame. This matches Firefox.
24685
24686        * bindings/js/kjs_html.cpp:
24687        (KJS::JSHTMLDocument::getValueProperty):
24688
246892006-10-07  David Hyatt  <hyatt@apple.com>
24690
24691        Implement scroll corner painting (a white rect fill) for overflow areas to cover up
24692        scrollbar joins properly.
24693
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.
24696
24697        Reviewed by mitz
24698
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:
24715
247162006-10-07  Mark Rowe  <bdash@webkit.org>
24717
24718        Reviewed by Mitz.
24719
24720        Linux/Gdk build fixes, primarily consisting of s/ScrollBar/Scrollbar/ and
24721        matching recent ResourceLoader changes.
24722
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):
24759
247602006-10-06  Dave Hyatt  <hyatt@apple.com>
24761
24762        Implement a new method for obtaining accurate clip rectangles that can be used by plugins to properly clip.
24763
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:
24779
247802006-10-06  Steve Falkenburg  <sfalken@apple.com>
24781
24782        Reviewed by Adam.
24783
24784        Add another method we'll need for scrollbar dodging
24785
24786        * platform/ScrollView.h:
24787        * platform/win/TemporaryLinkStubs.cpp:
24788        (ScrollView::resizerOverlapsContent):
24789
247902006-10-06  Sam Weinig  <sam.weinig@gmail.com>
24791
24792        Reviewed by Tim H.
24793
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
24797
24798        - Fully auto-generate DOMEventTarget, DOMNodeFilter and
24799          DOMHTMLOptionElement.
24800
24801        - Auto-generate just the interface for DOMHTMLAppletElement,
24802          DOMHTMLEmbedElement, DOMSVGNumber, DOMSVGPoint and DOMSVGRect
24803          using the new IDL property ObjCCustomImplementation.
24804
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:
24828
248292006-10-06  Nikolas Zimmermann  <zimmermann@kde.org>
24830
24831        Reviewed by Tim H.
24832
24833        Make Qt/Linux compile again completly.
24834
24835        * platform/qt/WidgetQt.cpp:
24836        (WebCore::Widget::removeFromParent):
24837
248382006-10-06  Nikolas Zimmermann  <zimmermann@kde.org>
24839
24840        Reviewed by Tim H.
24841
24842        Fix Qt/Linux build by adapting the s/ScrollBar/Scrollbar/ patch.
24843
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):
24869
248702006-10-06  Sam Weinig  <sam.weinig@gmail.com>
24871
24872        Reviewed by Tim H.
24873
24874        Patch for http://bugs.webkit.org/show_bug.cgi?id=11177
24875        Another round of Objective-C SVG DOM bindings auto-generation
24876
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.
24889
24890        - Adds interfaces and implementation stubs for DOMSVGNumber, DOMSVGPoint
24891          and DOMSVGRect.
24892
24893        - IDL clean up.
24894
24895        - Make numOctaves in SVGFETurbulenceElement use a long instead of an int
24896          in it's macro declaration and definition.
24897
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:
24969
249702006-10-06  Adam Roben  <aroben@apple.com>
24971
24972        Backing out my previous change.
24973
24974        * WebCore.xcodeproj/project.pbxproj:
24975        * page/FrameView.cpp:
24976        (WebCore::FrameView::adjustViewSize):
24977
249782006-10-06  Adam Roben  <aroben@apple.com>
24979
24980        Build fix.
24981
24982        * WebCore.xcodeproj/project.pbxproj:
24983        * page/FrameView.cpp:
24984        (WebCore::FrameView::windowResizerRect):
24985
249862006-10-06  Adam Roben  <aroben@apple.com>
24987
24988        Reviewed by Maciej.
24989
24990        More loader tweaks.
24991
24992        * platform/ResourceLoader.h:
24993        * platform/ResourceLoaderInternal.h:
24994        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
24995        * platform/win/TemporaryLinkStubs.cpp:
24996        (WebCore::ResourceLoader::newHTTPRequest):
24997
249982006-10-05  Steve Falkenburg  <sfalken@apple.com>
24999
25000        Reviewed by aroben.
25001
25002        Stub out some methods that we'll be able to use to dodge a window resizer.
25003
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):
25016
250172006-10-05  Dave Hyatt  <hyatt@apple.com>
25018
25019        Stub out setFrameGeometry.
25020
25021        * platform/ScrollView.h:
25022
250232006-10-05  Adele Peterson  <adele@apple.com>
25024
25025        Reverting autoscroll fix.  I need to rework this a little.
25026
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):
25036
250372006-10-05  Alice  <alice.liu@apple.com>
25038
25039        Reviewed by Adam.
25040
25041        Fixed <rdar://problem/4731778>
25042
25043        * editing/CommandByName.cpp:
25044        (WebCore::Frame::Command::):
25045        was calling the wrong enabledFn for arrow selection and navigation
25046
250472006-10-05  Adele Peterson  <adele@apple.com>
25048
25049        Reviewed by Maciej.
25050
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
25053
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.
25056
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:
25064
250652006-10-05  Peter Kasting  <pkasting@google.com>
25066
25067        Reviewed by Eric.
25068
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.
25072
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):
25110
251112006-10-05  Geoffrey Garen  <ggaren@apple.com>
25112
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):
25156
251572006-10-05  Geoffrey Garen  <ggaren@apple.com>
25158
25159        build fix.
25160
25161        * platform/Widget.h:
25162        * rendering/RenderLayer.cpp:
25163        (WebCore::RenderLayer::destroyScrollbar):
25164
251652006-10-06  Mitz Pettel  <mitz@webkit.org>
25166
25167        http://bugs.webkit.org/show_bug.cgi?id=8276
25168        Fix broken manual test added back in r13990.
25169
25170        Add resource forks for test resources.
25171
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.
25176
251772006-10-05  David Hyatt  <hyatt@apple.com>
25178
25179        Rename addClip to clip.
25180
25181        Reviewed by darin
25182
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):
25235
252362006-10-05  Mitz Pettel  <mitz@webkit.org>
25237
25238        Reviewed by Darin.
25239
25240        - http://bugs.webkit.org/show_bug.cgi?id=10386
25241          Delete RenderImageButton.* and remove references from .vcproj and .bkl files
25242
25243        * CMakeLists.txt:
25244        * WebCore.vcproj/WebCore/WebCore.vcproj:
25245        * WebCoreSources.bkl:
25246        * rendering/RenderImageButton.cpp: Removed.
25247        * rendering/RenderImageButton.h: Removed.
25248
252492006-10-05  Mitz Pettel  <opendarwin.org@mitzpettel.com>
25250
25251        Reviewed by Darin.
25252
25253        - http://bugs.webkit.org/show_bug.cgi?id=11067
25254          manual-tests/scrollbar-hittest2.html is invalid
25255
25256        * manual-tests/scrollbar-hittest2.html:
25257
252582006-10-05  David Carson  <dacarson@gmail.com>
25259
25260        Reviewed by Darin.
25261
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.
25266
25267        * html/HTMLTokenizer.cpp:
25268        * config.h:
25269
252702006-10-05  Adam Roben  <aroben@apple.com>
25271
25272        Removing accidentally-checked-in do-nothing code.
25273
25274        * html/HTMLInputElement.cpp:
25275        (WebCore::HTMLInputElement::defaultEventHandler):
25276
252772006-10-05  David Carson  <dacarson@gmail.com>
25278
25279        Reviewed by Mitz.
25280
25281        http://bugs.webkit.org/show_bug.cgi?id=11158
25282        Initialize class variables
25283
25284        * rendering/RenderLayer.cpp:
25285        (WebCore::RenderLayer::RenderLayer):
25286
252872006-10-05  Peter Kasting  <pkasting@google.com>
25288
25289        Reviewed by Darin, landed by Adam.
25290
25291        http://bugs.webkit.org/show_bug.cgi?id=11176
25292        Fix win32 build, adapt to Maciej's ResourceLoader changes.
25293
25294        * platform/win/ResourceLoaderWin.cpp:
25295        (WebCore::ResourceLoader::start):
25296
252972006-10-05  Brett Wilson  <brettw@chromium.org>
25298
25299        Reviewed by Darin.
25300
25301        http://bugs.webkit.org/show_bug.cgi?id=10989
25302        Provide a way for embedders to implement BrowserExtensionWin
25303
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:
25321
253222006-10-05  Geoffrey Garen  <ggaren@apple.com>
25323
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.
25333
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):
25418
254192006-10-05  Peter Kasting  <pkasting@google.com>
25420
25421        Reviewed by Adam.
25422
25423        http://bugs.webkit.org/show_bug.cgi?id=11138
25424        Incorrect mouse event generation on Windows
25425
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.
25430
254312006-10-05  Nikolas Zimmermann  <zimmermann@kde.org>
25432
25433        Reviewed and landed by ap.
25434
25435        Fix Qt/Linux build, adapt to Eric's quartz changes and to Maciej's ResourceLoader changes.
25436
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):
25451
254522006-10-05  Alexey Proskuryakov  <ap@nypop.com>
25453
25454        Reviewed by Darin.
25455
25456        http://bugs.webkit.org/show_bug.cgi?id=11054
25457        REGRESSION: Traditional Chinese encoding in login authentication
25458
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.
25462
25463        * platform/StreamingTextDecoderICU.cpp:
25464        (WebCore::TextCodecICU::registerEncodingNames):
25465
254662006-10-05  Eric Seidel  <eric@webkit.org>
25467
25468        Reviewed by mjs.
25469
25470        Removed dead code.
25471        Filed http://bugs.webkit.org/show_bug.cgi?id=11167 to for followup on removed FIXMEs
25472
25473        * WebCore.xcodeproj/project.pbxproj:
25474        * ksvg2/ecma/GlobalObject.cpp: Removed.
25475        * ksvg2/ecma/GlobalObject.h: Removed.
25476
254772006-10-05  Adam Roben  <aroben@apple.com>
25478
25479        Reviewed by Maciej.
25480
25481        Small ResourceLoaderInternal tweak.
25482
25483        * platform/ResourceLoaderInternal.h:
25484        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
25485
254862006-10-05  Eric Seidel  <eric@webkit.org>
25487
25488        Reviewed by mjs.
25489
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.
25494
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:
25519
255202006-10-05  Maciej Stachowiak  <mjs@apple.com>
25521
25522        Reviewed by Adam.
25523
25524        - changed ResourceLoader to be refcounted
25525
25526        It keeps a ref on itself while loading as well. This makes
25527        for a much saner memory management model than the previous.
25528
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:
25555
255562006-10-05  Eric Seidel  <eric@webkit.org>
25557
25558        Reviewed by mjs.
25559
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.
25564
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):
25573
255742006-10-05  Dave Hyatt  <hyatt@apple.com>
25575
25576        Stub out some stuff for widget focusability.
25577
25578        Reviewed by maciej
25579
25580        * page/FrameView.cpp:
25581        (WebCore::FrameView::dispatchMouseEvent):
25582        * platform/ScrollView.h:
25583        * platform/Widget.h:
25584
255852006-10-05  Adam Roben  <aroben@apple.com>
25586
25587        Reviewed by Maciej and Tim H.
25588
25589        Copy some WebKit frame lifetime logic into WebCore -- just a step
25590        along the path to frame lifetime being handled completely in WebCore.
25591
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
25602
256032006-10-04  Alice Liu  <alice.liu@apple.com>
25604
25605        Reviewed by Darin.
25606
25607        Fixed <rdar://problem/4758577> REGRESSION: Business and People widgets fails to complete search query
25608
25609        * xml/xmlhttprequest.cpp:
25610        (WebCore::XMLHttpRequest::setRequestHeader):
25611        removed exception set when the request is not open yet
25612
256132006-10-04  Anders Carlsson  <acarlsson@apple.com>
25614
25615        Reviewed by John Sullivan.
25616
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.
25623
256242006-10-03  Alexey Proskuryakov  <ap@nypop.com>
25625
25626        Reviewed by Tim H.
25627
25628        http://bugs.webkit.org/show_bug.cgi?id=11130
25629        Convert "undefined" to AE missing value
25630
25631        * bridge/mac/WebCoreFrameBridge.mm:
25632        (aeDescFromJSValue): return missing value for UndefinedType.
25633
256342006-10-03  Dave Hyatt  <hyatt@apple.com>
25635
25636        Scrolling work.  Eliminate convertTo/FromContainingWindow as cross-platform functions.  Add back in
25637        the windowToContents/contentsToWindow functions.
25638
25639        Reviewed by anders
25640
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):
25689
256902006-09-26  David Smith  <catfish.man@gmail.com>
25691
25692        Reviewed by Timothy.
25693
25694        http://bugs.webkit.org/show_bug.cgi?id=3723
25695        Add -scrollDOMRangeToVisible:
25696
25697        No automated tests are possible as this code path isn't reachable from JavaScript.
25698
25699        * bridge/mac/WebCoreFrameBridge.h:
25700        * bridge/mac/WebCoreFrameBridge.mm:
25701        (-[WebCoreFrameBridge scrollDOMRangeToVisible:]):
25702
257032006-10-03  Graham Dennis  <graham.dennis@gmail.com>
25704
25705        Reviewed by Timothy.
25706
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.
25720
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):
25739
257402006-10-03  Beth Dakin  <bdakin@apple.com>
25741
25742        Reviewed Darin.
25743
25744        No test cases needed.
25745
25746        Implemented a version of StringImpl::append that takes a UChar* and
25747        a length.
25748
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:
25754
257552006-10-03  Darin Fisher  <darin@chromium.org>
25756
25757        Reviewed by Darin.
25758
25759        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11099
25760        HttpSendRequestEx results in ERROR_HTTP_HEADER_NOT_FOUND
25761
25762        * platform/win/ResourceLoaderWin.cpp:
25763        (WebCore::ResourceLoader::onHandleCreated):
25764
257652006-10-02  Geoffrey Garen  <ggaren@apple.com>
25766
25767        Feared, loathed, reviewed by Darin.
25768
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:
25802
258032006-10-03  Mark Rowe  <bdash@webkit.org>
25804
25805        Reviewed by Mitz.
25806
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
25810
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.
25814
258152006-10-03  Adam Roben  <aroben@apple.com>
25816
25817        Reviewed by Darin.
25818
25819        Handle tab key presses in the DOM.
25820
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.
25828
258292006-10-03  Justin Garcia  <justin.garcia@apple.com>
25830
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.
25844
258452006-10-03  Adele Peterson  <adele@apple.com>
25846
25847        Reviewed by Geoff.
25848
25849        Make code for turning off new listbox implementation mac-only, since there's no implementation on other platforms.
25850
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):
25859
258602006-10-04  Darin Adler  <darin@apple.com>
25861
25862        Reviewed by Geoff.
25863
25864        - fix http://bugs.webkit.org/show_bug.cgi?id=11132
25865          Caret disappears when you're typing
25866
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.
25874
258752006-10-03  David Harrison  <harrison@apple.com>
25876
25877        Reviewed by Maciej.
25878
25879        <rdar://problem/4671286> Candidate Window isn't displayed and only first candidate is displayed at typing location.
25880
25881        Updated test:
25882        * fast/text/justified-text-rect.html
25883
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.
25901
259022006-10-03  Nikolas Zimmermann  <zimmermann@kde.org>
25903
25904        Reviewed by Eric.
25905
25906        Fix Qt/Linux build.
25907
25908        * CMakeLists.txt: Add counter related files.
25909
259102006-10-03  Mark Rowe  <bdash@webkit.org>
25911
25912        Reviewed by Eric.
25913
25914        http://bugs.webkit.org/show_bug.cgi?id=10981
25915        Linux/GDK build fixes
25916
25917        Based on a patch by Krzysztof Kowalczyk.
25918
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):
25951
259522006-10-02  Adam Roben  <aroben@apple.com>
25953
25954        Reviewed by Maciej.
25955
25956        Let Windows determine which mouse button is pressed.
25957
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.
25962
259632006-10-02  Justin Garcia  <justin.garcia@apple.com>
25964
25965        Reviewed by anders
25966
25967        Build fix
25968
25969        * editing/SelectionController.cpp:
25970        (WebCore::SelectionController::empty):
25971        * editing/SelectionController.h:
25972
259732006-10-02  Justin Garcia  <justin.garcia@apple.com>
25974
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
25979
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).
25983
259842006-10-03  Darin Adler  <darin@apple.com>
25985
25986        Reviewed by Justin Garcia.
25987
25988        - correct mistaken code that would restart blinking every
25989          time "invalidateSelection" is called even if the caret
25990          has not moved
25991
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.
26001
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.
26011
26012        * page/FramePrivate.h: Removed unused m_blinkCaret.
26013
260142006-10-02  Beth Dakin  <bdakin@apple.com>
26015
26016        Reviewed by Adam.
26017
26018        Build fix. Add counters to vcproj.
26019
26020        * WebCore.vcproj/WebCore/WebCore.vcproj:
26021
260222006-10-02  Brady Eidson  <beidson@apple.com>
26023
26024        Reviewed by Adele
26025
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.
26028
26029        * loader/icon/IconDataCache.cpp:
26030        (WebCore::IconDataCache::writeToDatabase):
26031
260322006-10-02  Steve Falkenburg  <sfalken@apple.com>
26033
26034        Reviewed by Hyatt.
26035
26036        Added method to find out whether a layout has occurred.
26037
26038        * page/FrameView.cpp:
26039        (WebCore::FrameView::didFirstLayout):
26040        * page/FrameView.h:
26041
260422006-10-02  Beth Dakin  <bdakin@apple.com>
26043
26044        Reviewed by Darin.
26045
26046        Initial implementation of CSS2 counters. See http://
26047        bugs.webkit.org/show_bug.cgi?id=4980 for more details.
26048
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):
26178
261792006-10-02  Adele Peterson  <adele@apple.com>
26180
26181        Reviewed by Adam.
26182
26183        - Fix for <rdar://problem/4463841> Switch to use new list box implementation for <select multiple>
26184
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".
26187
26188        * css/html4.css:
26189
261902006-10-02  David Harrison  <harrison@apple.com>
26191
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):
26198
261992006-10-02  Nikolas Zimmermann  <zimmermann@kde.org>
26200
26201        Reviewed by eseidel.  Landed by eseidel.
26202
26203        Fix Qt/Linux build.
26204
26205        * platform/qt/TemporaryLinkStubs.cpp: s/DeprecatedStringList/Vector<String>/
26206        (WebCore::supportedKeySizes):
26207
262082006-10-02  Nikolas Zimmermann <zimmermann@kde.org>
26209
26210        Reviewed by eseidel & mjs.  Landed by eseidel.
26211
26212        Fix Qt/Linux build with older gcc 3.3.4.
26213        http://bugs.webkit.org/show_bug.cgi?id=11116
26214
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.
26218
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):
26225
262262006-10-01  Maciej Stachowiak  <mjs@apple.com>
26227
26228        Rubber stamped by Alexey.
26229
26230        - reverted fix for http://bugs.webkit.org/show_bug.cgi?id=10893 since it led to layout test crashes
26231
26232        * css/CSSGrammar.y:
26233
262342006-10-01  Eric Seidel  <eric@webkit.org>
26235
26236        Reviewed by mjs.
26237
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.)
26241
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
26246
262472006-10-01  Geoffrey Garen  <ggaren@apple.com>
26248
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.
26266
26267        Layout tests pass. I added a layout test for viewsource mode, since I
26268        broke it in the course of writing this patch.
26269
262702006-10-01  Anders Carlsson  <acarlsson@apple.com>
26271
26272        Reviewed by Geoff.
26273
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.
26294
262952006-09-30  David Harrison  <harrison@apple.com>
26296
26297        Reviewed by John Sullivan.
26298
26299        <rdar://problem/4641262> REGRESSION: Japanese text corrupts on wrapping point
26300
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
26307
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.
26315
263162006-10-01  Anders Carlsson  <acarlsson@apple.com>
26317
26318        Reviewed by Mitz Pettel.
26319
26320        Convert the SVG code to use Vector<String> instead of DeprecatedStringList.
26321
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):
26344
263452006-10-01  Nikolas Zimmermann  <zimmermann@kde.org>
26346
26347        Reviewed by Eric, tweaked and landed by ap.
26348
26349        Fix Qt/Linux build.
26350
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:
26362
263632006-10-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
26364
26365        Reviewed by Darin.
26366
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
26369
26370        No test case added (probably requires new DumpRenderTree functionality)
26371
26372        * rendering/RenderImage.cpp:
26373        (WebCore::RenderImage::imageChanged): Added early return if the document is
26374        being destroyed.
26375
263762006-10-01  Graham Dennis  <graham.dennis@gmail.com>
26377
26378        Reviewed by Hyatt.
26379
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.
26387
26388        * rendering/bidi.cpp:
26389        (WebCore::RenderBlock::findNextLineBreak):
26390
263912006-10-01  Alexey Proskuryakov  <ap@nypop.com>
26392
26393        Reviewed by Maciej and Darin.
26394
26395        http://bugs.webkit.org/show_bug.cgi?id=4372
26396        JavaScript document.write page form does not submit in Safari
26397
26398        Test: fast/forms/document-write.html
26399
26400        * page/Frame.cpp:
26401        (WebCore::Frame::submitForm): Don't check for parsing().
26402
264032006-10-01  Alexey Proskuryakov  <ap@nypop.com>
26404
26405        Build fix.
26406
26407        * bridge/mac/FrameViewMac.mm: Add missing #imports.
26408
264092006-10-01  Dave Hyatt  <hyatt@apple.com>
26410
26411        Refactor the code that passes mouse presses to the Mac scrollbar and make it cross-platform.
26412
26413        Reviewed by mitz
26414
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):
26425
264262006-09-30  Sam Weinig  <sam.weinig@gmail.com>
26427
26428        Reviewed by Darin.
26429
26430        Patch for http://bugs.webkit.org/show_bug.cgi?id=11102
26431        Add more SVG Objective-C DOM bindings
26432
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.
26439
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:
26465
264662006-09-30  Maciej Stachowiak  <mjs@apple.com>
26467
26468        Reviewed by Adele.
26469
26470        - fix build
26471
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.
26477
264782006-09-30  Alexey Proskuryakov  <ap@nypop.com>
26479
26480        Reviewed by Darin.
26481
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
26484
26485        Test: fast/encoding/css-charset-default.xhtml
26486
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.
26492
26493        * css/CSSImportRule.cpp:
26494        (WebCore::CSSImportRule::setCSSStyleSheet):
26495        (WebCore::CSSImportRule::insertedIntoParent): Default to parent stylesheet's charset.
26496        * css/CSSImportRule.h:
26497
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&.
26503
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.
26508
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.
26514
26515        * dom/Document.cpp:
26516        (WebCore::Document::setCSSStyleSheet):
26517        (WebCore::Document::recalcStyleSelector):
26518        * dom/Document.h:
26519        Renamed setStyleSheet() to setCSSStyleSheet().
26520
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:
26527
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:
26533
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.
26539
26540        * loader/Cache.cpp:
26541        (WebCore::Cache::requestCSSStyleSheet):
26542        * loader/Cache.h:
26543        Adjust for setStyleSheet() renaming.
26544
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().
26551
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.
26566
265672006-09-30  Rob Buis  <buis@kde.org>
26568
26569        Reviewed by eseidel.
26570
26571        http://bugs.webkit.org/show_bug.cgi?id=11096
26572        Hit testing for polylines fails
26573
26574        Fix Path::contains so it handles filled, non-closed paths too.
26575
26576        * platform/cg/PathCG.cpp:
26577        (WebCore::Path::contains):
26578
265792006-09-30  Dave Hyatt  <hyatt@apple.com>
26580
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
26586
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):
26624
266252006-09-29  Darin Fisher  <darin@chromium.org>
26626
26627        Reviewed by Adele.
26628
26629        Fixes windows bustage:
26630        http://bugs.webkit.org/show_bug.cgi?id=11093
26631
26632        * platform/win/PlatformScrollBar.h:
26633        * platform/win/TemporaryLinkStubs.cpp:
26634        (PlatformScrollBar::PlatformScrollBar):
26635        (ScrollBar::ScrollBar):
26636
266372006-09-29  David Hyatt  <hyatt@apple.com>
26638
26639        Eliminate RenderLayer::gScrollBar in favor of caching the scrollbar hit
26640        in RenderObject::NodeInfo (and then propagating that Widget to
26641        MouseEventWithHitTestResults).
26642
26643        This allows RenderListBox and RenderBlock to do the same thing when the
26644        mouse is over the scrollbar.
26645
26646        Also land fix to support font-size: 0.
26647
26648        Reviewed by mjs (scrollbar), eric (font-size)
26649
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):
26679
266802006-09-29  Darin Fisher  <darin@chromium.org>
26681
26682        Reviewed by Adele.
26683
26684        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11092
26685
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):
26692
266932006-09-29  Adele Peterson  <adele@apple.com>
26694
26695        Updated with new argument for PlatformScrollBar.
26696
26697        * platform/win/TemporaryLinkStubs.cpp:
26698        (PlatformScrollBar::PlatformScrollBar):
26699
267002006-09-29  Adele Peterson  <adele@apple.com>
26701
26702        Reviewed by Hyatt.
26703
26704        Fixing build bustage with cast to int.
26705
26706        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::lastSelectedListIndex):
26707
267082006-09-29  Adele Peterson  <adele@apple.com>
26709
26710        Fixing accidental include.
26711
26712        * rendering/RenderListBox.cpp:
26713
267142006-09-29  Adele Peterson  <adele@apple.com>
26715
26716        Adding RenderListBox files.
26717
26718        * WebCore.vcproj/WebCore/WebCore.vcproj:
26719
267202006-09-29  Adele Peterson  <adele@apple.com>
26721
26722        Reviewed by Adam.
26723
26724        Initial implementation of engine-based list box control.
26725
26726        * WebCore.xcodeproj/project.pbxproj: Added RenderListBox.h and RenderListBox.cpp
26727
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):
26734
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.
26744
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:
26754
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):
26764
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):
26772
26773        * css/html4.css: Added properties for new list boxes.
26774
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.
26779
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:
26796
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):
26809
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):
26841
268422006-09-29  Beth Dakin  <bdakin@apple.com>
26843
26844        Reviewed by Darin.
26845
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.
26851
26852        No test case possible since this only affects html4.css
26853
26854        * css/MediaQueryEvaluator.cpp: New constructor that expects takes a
26855        char*
26856        (WebCore::MediaQueryEvaluator):
26857        * css/MediaQueryEvaluator.h: Same.
26858
268592006-09-29  Geoffrey Garen  <ggaren@apple.com>
26860
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.)
26870
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.
26889
268902006-09-30  Nikolas Zimmermann  <zimmermann@kde.org>
26891
26892        Reviewed by Hyatt.
26893
26894        Fix Qt/Linux build.
26895
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):
26905
269062006-09-29  Sam Weinig  <sam.weinig@gmail.com>
26907
26908        Reviewed by Tim H.
26909
26910        Patch for http://bugs.webkit.org/show_bug.cgi?id=11082
26911        Simplify Internal methods for the auto-generated Objective-C DOM code
26912
26913        - Auto-generate the internal methods for more Objective-C classes.
26914
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:
26952
269532006-09-29  David Harrison  <harrison@apple.com>
26954
26955        Reviewed by John Sullivan.
26956
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
26959
26960        Test added
26961        * fast/text/attributed-substring-from-range-001.html
26962
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.
26967
269682006-09-29  Rob Buis  <buis@kde.org>
26969
26970        Reviewed by Maciej.
26971
26972        http://bugs.webkit.org/show_bug.cgi?id=10893
26973        InsertRule can not handle @import statements
26974
26975        Allow @import as part of a css rule.
26976
26977        * css/CSSGrammar.y:
26978
269792006-09-28  David Hyatt  <hyatt@apple.com>
26980
26981        Switch over the Mac-specific uses of viewportToContents/contentsToViewport.
26982
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:]):
26991
269922006-09-28  Dave Hyatt  <hyatt@apple.com>
26993
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.)
27000
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):
27031
270322006-09-28  Alice Liu  <alice.liu@apple.com>
27033
27034        Build fix by adding missing files for CommandByName
27035
27036        * WebCore.xcodeproj/project.pbxproj:
27037
270382006-09-28  Alice Liu  <alice.liu@apple.com>
27039
27040        Adding CommandByName files to the vcproj
27041
27042        * WebCore.vcproj/WebCore/WebCore.vcproj:
27043
270442006-09-28  Alice Liu  <alice.liu@apple.com>
27045
27046        Reviewed by Adam Roben.
27047
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
27051
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):
27098
270992006-09-28  Adam Roben  <aroben@apple.com>
27100
27101        Reviewed by Adele.
27102
27103        Remove no-longer-used PopUpButton.
27104
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
27113
271142006-09-28  Darin Adler  <darin@apple.com>
27115
27116        Reviewed by Alice.
27117
27118        - change that should fix <rdar://problem/4733044> REGRESSION: XML iBench shows
27119          10% perf. regression (copying strings while decoding)
27120
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.
27127
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.
27134
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).
27139
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.
27144
271452006-09-28  Sam Weinig  <sam.weinig@gmail.com>
27146
27147        Reviewed by Tim H.
27148
27149        Patch for http://bugs.webkit.org/show_bug.cgi?id=11057
27150        Auto-generate more SVG Objective-C bindings
27151
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.
27159
27160        - Adds ability to CodeGeneratorObjC.pm to handle interfaces with mulitple
27161          parent interfaces and the SVG animated classes.
27162
27163        - Corrects CodeGenerator.pm to only skip the first parent for the main
27164          interface.
27165
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:
27196
271972006-09-28  Brady Eidson  <beidson@apple.com>
27198
27199        Reviewed by Mitz Pettel!!!
27200
27201        Change the error code check for common functions from SQLResultOk to SQLResultDone
27202
27203        * loader/icon/IconDatabase.cpp:
27204        (WebCore::IconDatabase::forgetPageURLQuery):
27205        (WebCore::IconDatabase::setIconIDForPageURLQuery):
27206        (WebCore::IconDatabase::addIconForIconURLQuery):
27207
272082006-09-28  Dave Hyatt  <hyatt@apple.com>
27209
27210        Just eliminate MapWindowPoints usage and use the HWND as
27211        the viewport.
27212
27213        * platform/win/MouseEventWin.cpp:
27214        (WebCore::positionForEvent):
27215        * platform/win/ScrollViewWin.cpp:
27216        (WebCore::ScrollView::viewportToContents):
27217        (WebCore::ScrollView::contentsToViewport):
27218
272192006-09-27  David Hyatt  <hyatt@apple.com>
27220
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.
27224
27225        Reviewed by Eric
27226
27227        * page/FrameView.cpp:
27228        (WebCore::selectCursor):
27229        (WebCore::FrameView::handleMouseMoveEvent):
27230        * platform/ScrollBar.h:
27231        (WebCore::ScrollBar::mouseMoved):
27232
272332006-09-27  Darin Fisher  <darin@chromium.org>
27234
27235        Reviewed by Maciej and Adam, landed by Adam
27236
27237        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11072
27238        Windows build is busted
27239
27240        * platform/win/TemporaryLinkStubs.cpp:
27241        (ScrollView::paint):
27242        (ScrollView::themeChanged):
27243
272442006-09-27  Eric Seidel  <eric@webkit.org>
27245
27246        Reviewed by mitz.
27247
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.
27251
27252        Test: svg/custom/hover-default-fill.svg
27253
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:
27266
272672006-09-27  Rob Buis  <buis@kde.org>
27268
27269        Reviewed by eseidel.
27270
27271        http://bugs.webkit.org/show_bug.cgi?id=11015
27272        SVG handles em units incorrectly
27273
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.
27277
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:
27291
272922006-09-27  Eric Seidel  <eric@webkit.org>
27293
27294        Reviewed by darin.
27295
27296        Change our invalid-fill error behavior to match Opera (and soon Firefox)
27297        http://bugs.webkit.org/show_bug.cgi?id=11017
27298
27299        * ksvg2/misc/KCanvasRenderingStyle.cpp:
27300        (WebCore::KSVGPainterFactory::isFilled):
27301        (WebCore::KSVGPainterFactory::fillPaintServer):
27302        (WebCore::KSVGPainterFactory::isStroked):
27303        (WebCore::KSVGPainterFactory::strokePaintServer):
27304
273052006-09-27  Brady Eidson  <beidson@apple.com>
27306
27307        Build fix
27308
27309        * loader/icon/IconDatabase.cpp:
27310        (WebCore::readySQLStatement):
27311
273122006-09-27  Brady Eidson  <beidson@apple.com>
27313
27314        Reviewed by Adam
27315
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.
27319
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:
27333
273342006-09-26  Darin Adler  <darin@apple.com>
27335
27336        Reviewed by Steve.
27337
27338        - clean up options for font code path
27339
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.
27344
27345        * platform/mac/WebCoreTextRenderer.mm:
27346        (WebCoreSetAlwaysUseATSU): Change to call setCodePath.
27347
273482006-09-26  John Sullivan  <sullivan@apple.com>
27349
27350        Reviewed by Darin
27351
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.
27361
273622006-09-26  Sean Gies  <seangies@apple.com>
27363
27364        Reviewed by Brady Eidson.
27365
27366        * platform/cg/ImageCG.cpp: Removed #if's -- Darin said we don't need these.
27367
273682006-09-26  Justin Garcia  <justin.garcia@apple.com>
27369
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.
27382
273832006-09-26  Geoffrey Garen <ggaren@apple.com>
27384
27385        Reviewed by Darin.
27386
27387        Temporary work-around for frame lifetime issue.
27388
27389        * page/Frame.cpp:
27390        (WebCore::Frame::clear):
27391        (WebCore::Frame::disconnectOwnerElement):
27392
273932006-09-26  Sam Weinig  <sam.weinig@gmail.com>
27394
27395        Reviewed by Tim H.
27396
27397        Patch for http://bugs.webkit.org/show_bug.cgi?id=11038
27398        Auto-generate DOMSVGElement for the Objective-C bindings
27399
27400        - Auto-generates DOMSVGElement.
27401
27402        - Make SVGExceptions work like all the other ExceptionCode
27403          extensions (Range, XPath, etc.) by adding SVGExceptionOffset
27404          and SVGExceptionMax.
27405
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::):
27424
274252006-09-26  Eric Seidel  <eric@webkit.org>
27426
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
27431
27432        Test: svg/hixie/viewbox/003.xml
27433
27434        * ksvg2/svg/svgpathparser.cpp:
27435        (WebCore::isWhitespace): new function
27436        (WebCore::skipOptionalSpaces):
27437        (WebCore::skipOptionalSpacesOrComma):
27438
274392006-09-26  Eric Seidel  <eric@webkit.org>
27440
27441        Reviewed by Tim H.
27442
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
27447
27448        * ksvg2/svg/SVGDocument.cpp:
27449        (WebCore::SVGDocument::createElement):
27450        * ksvg2/svg/SVGDocument.h:
27451
274522006-09-26  Eric Seidel  <eric@webkit.org>
27453
27454        Reviewed by Tim H.
27455
27456        RenderPath::nodeAtPoint does not respect stroke width
27457        http://bugs.webkit.org/show_bug.cgi?id=10829
27458
27459        Test: svg/custom/stroke-width-click.svg
27460
27461        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
27462        (WebCore::RenderPath::strokeContains):
27463        * kcanvas/device/quartz/QuartzSupport.h:
27464        * kcanvas/device/quartz/QuartzSupport.mm:
27465
274662006-09-26  Eric Seidel  <eric@webkit.org>
27467
27468        Reviewed by mitz.
27469
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.
27476
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:
27507
275082006-09-26  Graham Dennis  <graham.dennis@gmail.com>
27509
27510        Reviewed by mitzpettel.
27511
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
27516
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:
27524
275252006-09-26  Anders Carlsson  <acarlsson@apple.com>
27526
27527        Reviewed by Maciej.
27528
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:
27569
275702006-09-25  David Harrison  <harrison@apple.com>
27571
27572        Reviewed by Tim Omernick and Tim Hatcher.
27573
27574        <rdar://problem/4717965> Text Field text parameterized attributes should work
27575        <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
27576
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.
27609
27610        * rendering/RenderTextControl.h:
27611        Made indexForVisiblePosition() and visiblePositionForIndex() public.
27612
276132006-09-25  Adam Roben  <aroben@apple.com>
27614
27615        Reviewed by Brady.
27616
27617        Build fixes.
27618
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):
27637
276382006-09-25  Brady Eidson  <beidson@apple.com>
27639
27640        Requested by ggaren
27641
27642        Disabled IconDatabase logging by default
27643
27644        * platform/Logging.cpp:
27645        (WebCore::):
27646
276472006-09-25  Steve Falkenburg  <sfalken@apple.com>
27648
27649        Build fix
27650
27651        * platform/cf/ResourceLoaderCFNet.cpp:
27652        (WebCore::willCacheResponse):
27653
276542006-09-25  Justin Garcia  <justin.garcia@apple.com>
27655
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.
27664
276652006-09-25  Brady Eidson  <beidson@apple.com>
27666
27667        Reviewed by Steve
27668
27669        Math error in SystemTimeWin
27670
27671        * platform/win/SystemTimeWin.cpp:
27672        (WebCore::currentTime):
27673
276742006-09-25  Alexey Proskuryakov  <ap@nypop.com>
27675
27676        Reviewed by Eric.
27677
27678        Whitespace cleanup; rename *job variables to *loader.
27679
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::):
27703
277042006-09-25  Timothy Hatcher  <timothy@apple.com>
27705
27706        Reviewed by Brady.
27707
27708        - Deprecate the rest of the old-style methods that are not generated.
27709        - Add @property syntax to DOMRange.
27710
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:
27732
277332006-09-25  Eric Seidel  <eric@webkit.org>
27734
27735        Reviewed by mjs.
27736
27737        Outermost <svg> element should clip to viewport
27738        http://bugs.webkit.org/show_bug.cgi?id=11007
27739
27740        Test: svg/custom/viewport-clip.svg
27741
27742        * css/svg.css: change svg:root overflow: from 'visible' to 'hidden'
27743
277442006-09-25  Anders Carlsson  <acarlsson@apple.com>
27745
27746        Reviewed by Maciej.
27747
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.
27811
278122006-09-25  Dave Hyatt  <hyatt@apple.com>
27813
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.
27817
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):
27826
278272006-09-24  Eric Seidel  <eric@webkit.org>
27828
27829        Reviewed by hyatt.
27830
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
27835
27836        * css/cssstyleselector.cpp:
27837        (WebCore::checkPseudoState):
27838
278392006-09-24  Sam Weinig  <sam.weinig@gmail.com>
27840
27841        Reviewed by Tim H.
27842
27843        Patch for http://bugs.webkit.org/show_bug.cgi?id=10882
27844        SVG needs Obj-C DOM bindings
27845
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.
27850
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:
27863
278642006-09-24  Rob Buis  <buis@kde.org>
27865
27866        Reviewed by eseidel.
27867
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
27872
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.
27877
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):
27916
279172006-09-24  Sam Weinig  <sam.weinig@gmail.com>
27918
27919        Reviewed by Tim H.
27920
27921        Patch for http://bugs.webkit.org/show_bug.cgi?id=11009
27922        Auto-generate the internal methods interfaces for the Objective-C bindings
27923
27924        - Auto-generate the internal method declarations into their own files
27925          named in the form DOMFooBarInternal.h for class DOMFooBar.
27926
27927        - Remove all use of DOM_cast from code.
27928
27929        - Assorted cleanups.
27930
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:
27985
279862006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
27987
27988        Reviewed by eseidel.
27989
27990        Fix Qt/Linux build after Dave's Scrollbar changes.
27991
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):
27997
279982006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
27999
28000        Reviewed by eseidel.
28001
28002        Qt/Linux build system changes: enable xpath/xslt by default.
28003        Offer possibility to change all of these using 'ccmake'.
28004
28005        * CMakeLists.txt:
28006
280072006-09-24  Dave Hyatt  <hyatt@apple.com>
28008
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).
28012
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):
28028
280292006-09-23  Alexey Proskuryakov  <ap@nypop.com>
28030
28031        Reviewed by Eric.
28032
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)
28036
28037        Raise an exception if there is a security violation, and also in cases required by
28038        the current draft of XHR specification.
28039
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.
28044
28045        * bindings/js/kjs_binding.cpp:
28046        (KJS::setDOMException): Added support for custom XHR exceptions.
28047
28048        * xml/xmlhttprequest.h: Changed state names to match the current spec. Defined an
28049        exception code range for XHR exceptions.
28050
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):
28060
280612006-09-22  Steve Falkenburg  <sfalken@apple.com>
28062
28063        Reviewed by Jeff Jenkins.
28064
28065        Tweak CF types.
28066
28067        * platform/cf/ResourceLoaderCFNet.cpp:
28068        (WebCore::willCacheResponse):
28069
280702006-09-22  Justin Garcia  <justin.garcia@apple.com>
28071
28072        Reviewed by darin
28073
28074        <http://bugs.webkit.org/show_bug.cgi?id=8029>
28075        Rename Node::isAncestor and RenderObject::hasAncestor to isDescendantOf
28076
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):
28126
281272006-09-22  Timothy Hatcher  <timothy@apple.com>
28128
28129        Reviewed by Darin.
28130
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>.
28137
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:
28151
281522006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>
28153
28154        Reviewed by Eric.
28155
28156        Fix Qt/Linux build and a really stupid mixup in GraphicsContextQt.
28157
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):
28167
281682006-09-22  Dave Hyatt <hyatt@apple.com>
28169
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.
28174
28175        * rendering/RenderThemeMac.mm:
28176        (WebCore::RenderThemeMac::systemFont):
28177
281782006-09-22  Timothy Hatcher  <timothy@apple.com>
28179
28180        Reviewed by Brady.
28181
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.
28185
28186        * platform/GraphicsContext.h:
28187        * platform/cairo/GraphicsContextCairo.cpp:
28188        (WebCore::GraphicsContext::translate):
28189        * platform/cg/GraphicsContextCG.cpp:
28190        (WebCore::GraphicsContext::translate):
28191
281922006-09-22  Brady Eidson  <beidson@apple.com>
28193
28194        Reviewed by Sfalken
28195
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
28199
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):
28209
282102006-09-22  Alexey Proskuryakov  <ap@nypop.com>
28211
28212        Reviewed by Geoff.
28213
28214        http://bugs.webkit.org/show_bug.cgi?id=10803
28215        REGRESSION (r15536-r15544): manual-tests/bugzilla-6821.html failing
28216
28217        * page/FrameView.cpp:
28218        (WebCore::FrameView::hoverTimerFired): Use the current event.
28219
282202006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>
28221
28222        Reviewed by Anders.
28223
28224        Fix (last) svg memory leak.
28225
28226        * ksvg2/svg/SVGTransformable.cpp: delete 't' in error case.
28227        (SVGTransformable::parseTransformAttribute):
28228
282292006-09-22  Eric Seidel  <eric@webkit.org>
28230
28231        No review necessary, just removing a dead file.
28232
28233        Remove unused file (added previously by mistake) to make room for real implementation.
28234
28235        * platform/mac/BitmapImageMac.mm: Removed.
28236
282372006-09-22  Dave Hyatt <hyatt@apple.com>
28238
28239        Move PlatformScrollBar.h down into the platforms.
28240
28241        Reviewed by andersca
28242
28243        * platform/PlatformScrollBar.h: Removed.
28244        * platform/win/PlatformScrollBar.h: Added.
28245        * platform/mac/PlatformScrollBar.h: Added.
28246
282472006-09-22   Dave Hyatt  <hyatt@apple.com>
28248
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.
28251
28252        Reviewed by anders
28253
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):
28261
282622006-09-22  Rob Buis  <buis@kd.org>
28263
28264        Reviewed by eseidel.
28265
28266        http://bugs.webkit.org/show_bug.cgi?id=10901
28267        Merge build fixes from unity
28268
28269        * CMakeLists.txt:
28270
282712006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
28272
28273        Reviewed by eseidel.
28274
28275        http://bugs.webkit.org/show_bug.cgi?id=10977
28276        SVGDocument does not expose 'rootElement' property
28277
28278        Enable 'rootElement' property.
28279
28280        * ksvg2/svg/SVGDocument.idl:
28281
282822006-09-21  Steve Falkenburg  <sfalken@apple.com>
28283
28284        Tweak includes.
28285
28286        * platform/ResourceLoaderInternal.h:
28287
282882006-09-21  Geoffrey Garen  <ggaren@apple.com>
28289
28290        build fixed. band happy.
28291
28292        * platform/cg/GraphicsContextCG.cpp:
28293        (WebCore::GraphicsContext::translate):
28294        * platform/mac/WidgetMac.mm:
28295
282962006-09-21  Geoffrey Garen  <ggaren@apple.com>
28297
28298        Reviewed by Maciej.
28299
28300        Some Widget refactoring.
28301
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):
28355
283562006-09-22  Anders Carlsson  <acarlsson@apple.com>
28357
28358        Reviewed by Tim H.
28359
28360        * platform/TextEncoding.cpp:
28361        (WebCore::TextEncoding::backslashAsCurrencySymbol):
28362        Add comment clarifying why backslashAsCurrencySymbol is needed.
28363
283642006-09-21  Sean Gies  <seangies@apple.com>
28365
28366        Reviewed by Adam Roben.
28367
28368        Add utility functions to get and release HDC from GraphicsContext.
28369
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.
28373
283742006-09-21  Justin Garcia  <justin.garcia@apple.com>
28375
28376        Reviewed by anders
28377
28378        <rdar://problem/4426622>
28379        Plain text paste slow.  Time spent mostly in WebCore::rebalanceWhitespaceInTextNode(...)
28380
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.
28385
283862006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
28387
28388        Reviewed by eseidel.
28389
28390        Don't crash if no IconDatabase is available (ie. on Qt/Gdk)
28391
28392        * page/Frame.cpp:
28393        (WebCore::Frame::endIfNotLoading):
28394
283952006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>
28396
28397        Reviewed by eseidel.
28398
28399        Fix Qt/Linux build.
28400
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):
28414
284152006-09-20  Justin Garcia  <justin.garcia@apple.com>
28416
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
28421
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.
28426
28427=== Safari-521.27 ===
28428
284292006-09-21  Brady Eidson  <beidson@apple.com>
28430
28431        Reviewed by Anders
28432
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!
28435
28436        * page/Frame.cpp:
28437        (WebCore::Frame::endIfNotLoading):
28438
284392006-09-21  Brady Eidson  <beidson@apple.com>
28440
28441        Build fix
28442
28443        * platform/win/TemporaryLinkStubs.cpp:
28444        (ScrollView::wheelEvent):
28445
284462006-09-20  Rob Buis  <buis@kde.org>
28447
28448        Reviewed by eseidel.
28449
28450        http://bugs.webkit.org/show_bug.cgi?id=10946
28451        new marker code draws end-marker in wrong place
28452
28453        Keep track of the start of the subpath so we can handle
28454        closeTo/moveTo correctly.
28455
28456        * kcanvas/RenderPath.cpp:
28457        (WebCore::DrawMarkersData::DrawMarkersData):
28458        (WebCore::updateMarkerDataForElement):
28459
284602006-09-21  David Hyatt <hyatt@apple.com>
28461
28462        Wheel scrolling prep for Win32.
28463
28464        WARNING: NO TEST CASES ADDED OR CHANGED
28465
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:
28472
284732006-09-20  Timothy Hatcher  <timothy@apple.com>
28474
28475        Reviewed by Hyatt.
28476
28477        Bug 10917: REGRESSION (r16027): iFrame transparency broken
28478        http://bugs.webkit.org/show_bug.cgi?id=10917
28479
28480        Don't paint the base background color if we transparent.
28481
28482        * rendering/RenderBox.cpp:
28483        (WebCore::RenderBox::paintBackgroundExtended):
28484
284852006-09-20  Adam Roben  <aroben@apple.com>
28486
28487        Reviewed by andersca.
28488
28489        * platform/FileChooser.h: Remove no-longer-necessary namespace std
28490
284912006-09-20  Eric Seidel  <eric@webkit.org>
28492
28493        Reviewed by beth.
28494
28495        Cleanup style in KCanvas.
28496        Remove extra white-space, unneeded arguments, etc.
28497
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):
28623
286242006-09-20  Anders Carlsson  <acarlsson@apple.com>
28625
28626        Reviewed by Dave Hyatt.
28627
28628        * dom/WheelEvent.cpp:
28629        (WebCore::WheelEvent::WheelEvent):
28630        Use lroundf instead of lround since deltas are floats.
28631
286322006-09-20  Julien Palmas  <julien.palmas@gmail.com>
28633
28634        Reviewed by eseidel.  Landed by eseidel.
28635
28636        Test: svg/custom/pattern-y-offset.svg
28637
28638        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
28639        (WebCore::KRenderingPaintServerPatternQuartz::setup):
28640
286412006-09-20  David Hyatt  <hyatt@apple.com>
28642
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.)
28646
28647        * page/FrameView.cpp:
28648        (WebCore::FrameView::handleWheelEvent):
28649        * platform/ScrollView.h:
28650        (WebCore::ScrollView::wheelEvent):
28651
286522006-09-20  Brady Eidson  <beidson@apple.com>
28653
28654        Reviewed by Tim Omernick
28655
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()
28659
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]):
28680
286812006-09-20  Anders Carlsson  <acarlsson@apple.com>
28682
28683        Reviewed by Darin.
28684
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):
28707
287082006-09-20  Justin Garcia  <justin.garcia@apple.com>
28709
28710        Reviewed by harrison
28711
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.
28716
287172006-09-20  Brady Eidson  <beidson@apple.com>
28718
28719        Reviewed by Darin
28720
28721        Cleaned up my last patch alot, and made the WebCore icon database disabled by default
28722
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!
28736
287372006-09-20  Adam Roben  <aroben@apple.com>
28738
28739        Reviewed by Adele.
28740
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
28744
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
28750
287512006-09-20  Alice Liu  <alice.liu@apple.com>
28752
28753        Reviewed by Adam Roben.
28754
28755        fixed windows build
28756
28757        * dom/WheelEvent.cpp:
28758        (WebCore::WheelEvent::WheelEvent):
28759        changed lrint to lround
28760
287612006-09-20  Sam Weinig  <sam.weinig@gmail.com>
28762
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
28767
28768        * dom/WheelEvent.h:
28769        (WebCore::WheelEvent::isHorizontal):
28770        * dom/WheelEvent.idl:
28771
287722006-09-20  David Hyatt  <hyatt@apple.com>
28773
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.
28777
28778        Reviewed by Eric
28779
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):
28798
287992006-09-19  Eric Seidel  <eric@webkit.org>
28800
28801        Reviewed by hyatt.
28802
28803        Split KCanvasResources.* into multiple files (and some other minor spacing changes).
28804
28805        No tests were harmed in the making of this patch.
28806
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:
28849
288502006-09-19  Brady Eidson <beidson@apple.com>
28851
28852        Reviewed by Sarge Decker
28853
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
28857
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
28882
288832006-09-20  David Hyatt  <hyatt@apple.com>
28884
28885        Massage mouse wheel handling so that it is more cross-platform.  Make
28886        all the work happen in handleWheelEvent on the FrameView.
28887
28888        Reviewed by bradee-oh
28889
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):
28904
289052006-09-19  Eric Seidel  <eric@webkit.org>
28906
28907        Reviewed by adele.
28908
28909        Improve test output for filters with bounding-box relative sizes.
28910        http://bugs.webkit.org/show_bug.cgi?id=8585
28911
28912        Many test results updated.
28913
28914        * kcanvas/KCanvasFilters.cpp:
28915        (WebCore::KCanvasFilter::externalRepresentation):
28916
289172006-09-19  Eric Seidel  <eric@webkit.org>
28918
28919        Reviewed by adele.
28920
28921        Markers should clip to their viewport.
28922        http://bugs.webkit.org/show_bug.cgi?id=5967
28923
28924        Test: svg/custom/marker-overflow-clip.svg
28925
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):
28937
289382006-09-19  Justin Garcia  <justin.garcia@apple.com>
28939
28940        Reviewed by eseidel
28941
28942        Backing out my recent change.
28943
28944        * css/cssstyleselector.cpp:
28945        (WebCore::CSSStyleSelector::adjustRenderStyle):
28946
289472006-09-19  Brady Eidson  <beidson@apple.com>
28948
28949        Reviewed by Kevin McCullough
28950
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
28954
28955        * page/Frame.cpp:
28956        (WebCore::Frame::iconURL):
28957
289582006-09-19  Justin Garcia  <justin.garcia@apple.com>
28959
28960        Reviewed by harrison
28961
28962        <rdar://problem/4735272>
28963        Can not click into link in programmatically editable content
28964
28965        * css/cssstyleselector.cpp:
28966        (WebCore::CSSStyleSelector::adjustRenderStyle): We stopped using
28967        userModify to implement document wide editability.
28968
289692006-09-19  Darin Fisher  <darin@chromium.org>
28970
28971        Reviewed by Darin and landed by Brady
28972
28973        Fixes http://bugs.webkit.org/show_bug.cgi?id=10939
28974        Build broken when SVG is not enabled.
28975
28976        * dom/XMLTokenizer.cpp:
28977        (WebCore::XMLTokenizer::startElementNs):
28978
289792006-09-19  Justin Garcia  <justin.garcia@apple.com>
28980
28981        Reviewed by harrison
28982
28983        <rdar://problem/4727383> REGRESSION: Pasting plain text with tabs into Blot converts the tabs to single spaces
28984
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.
28989
28990        * editing/ApplyStyleCommand.cpp:
28991        (WebCore::StyleChange::init): Don't change the whitespace mode inside
28992        tab spans.
28993
289942006-09-19  David Hyatt  <hyatt@apple.com>
28995
28996        Fix for bug 5298, shape=default not supported for image maps.  Implement
28997        support for it.
28998
28999        Reviewed by timo
29000
29001        * html/HTMLAreaElement.cpp:
29002        (WebCore::HTMLAreaElement::getRegion):
29003        * html/HTMLMapElement.cpp:
29004        (WebCore::HTMLMapElement::mapMouseEvent):
29005
290062006-09-19  Adam Roben  <aroben@apple.com>
29007
29008        Reviewed by Adele.
29009
29010        Fixes http://bugs.webkit.org/show_bug.cgi?id=10824
29011        "no file selected" placeholder text missing from file upload control
29012
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.
29037
290382006-09-19  Eric Seidel  <eric@webkit.org>
29039
29040        Reviewed by hyatt.
29041
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.
29046
29047        * dom/XMLTokenizer.cpp:
29048        (WebCore::XMLTokenizer::XMLTokenizer):
29049        (WebCore::XMLTokenizer::startElementNs):
29050        (WebCore::XMLTokenizer::endElementNs):
29051
290522006-09-19  Krzysztof Kowalczyk <kkowalczyk@gmail.com>
29053
29054        Reviewed by eseidel.  Landed by eseidel.
29055
29056        Build fix only, no tests affected.
29057
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):
29066
290672006-09-19  David Hyatt  <hyatt@apple.com>
29068
29069        Refine the fix for 9805 to really get all the complex cases right.
29070
29071        Reviewed by Eric
29072
29073        * rendering/RenderBlock.cpp:
29074        (WebCore::RenderBlock::clearFloatsIfNeeded):
29075        (WebCore::RenderBlock::handleBottomOfBlock):
29076
290772006-09-18  David Hyatt  <hyatt@apple.com>
29078
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.
29082
29083        Reviewed by Eric
29084
29085        Added fast/block/margin-collapse/empty-clear-blocks.html
29086
29087        * rendering/RenderBlock.cpp:
29088        (WebCore::RenderBlock::clearFloatsIfNeeded):
29089        (WebCore::RenderBlock::handleBottomOfBlock):
29090
290912006-09-18  Darin Fisher  <darin@chromium.org>
29092
29093        Reviewed by Brady, landed by Brady
29094
29095        Send receivedResponse callback to ResourceLoaderClient when loading
29096        file URLs.
29097
29098        See http://bugs.webkit.org/show_bug.cgi?id=10845
29099
29100        * platform/win/ResourceLoaderWin.cpp:
29101        (WebCore::ResourceLoader::fileLoadTimer):
29102
291032006-09-18  Brady Eidson  <beidson@apple.com>
29104
29105        Reviewed by Anders
29106
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.
29112
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):
29130
291312006-09-18  Sam Weinig  <sam.weinig@gmail.com>
29132
29133        Reviewed by Tim H.
29134
29135        - Re-add private method [DOMRGBColor _color] to DOMPrivate.h as
29136          it is it turns out that AppKit uses it.
29137
29138        * bindings/objc/DOMPrivate.h:
29139        * bindings/objc/DOMRGBColor.mm:
29140        (-[DOMRGBColor _color]):
29141
291422006-09-18  Sam Weinig  <sam.weinig@gmail.com>
29143
29144        Reviewed by Tim H.
29145
29146        Patch for http://bugs.webkit.org/show_bug.cgi?id=10903
29147        Yet Another Objective-C Bindings Patch
29148
29149        - Whitespace cleanup for IDLParser.pm
29150
29151        - Split DOMException, DOMRangeException, DOMXPathException, DOMEventsException
29152          and DOMAbstractView into their own files.
29153
29154        - Remove private method [DOMRGBColor _color] from DOMPrivate.h as
29155          it is not used and a public method is available now.
29156
29157        - Remove internal method [DOMDocument _ownerElement] from DOMInternal.h
29158          as it not used.
29159
29160        - Auto-generate method isContentEditable for DOMNode.
29161
29162        - General cleanup of bindings code including removing unneeded #imports
29163          and whitespace cleanup
29164
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:
29268
292692006-09-18  Brady Eidson  <beidson@apple.com>
29270
29271        Windows build fix
29272
29273        * platform/win/TemporaryLinkStubs.cpp:
29274        (IconDatabase::setIconURLForPageURL):
29275
292762006-09-18  David Hyatt  <hyatt@apple.com>
29277
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.
29280
29281        Reviewed by Eric
29282
29283        Added fast/block/float/width-update-after-clear.html
29284
29285        * rendering/RenderBlock.cpp:
29286        (WebCore::RenderBlock::collapseMargins):
29287        (WebCore::RenderBlock::clearFloatsIfNeeded):
29288
292892006-09-18  Brady Eidson  <beidson@apple.com>
29290
29291        Reviewed by John
29292
29293        http://bugs.webkit.org/show_bug.cgi?id=10907
29294        REGRESSION: New Icon Loaders don't handle certain non-server-root URLs correctly
29295
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
29307
293082006-09-18  Rob Buis  <buis@kde.org>
29309
29310        Reviewed by Maciej.
29311
29312        http://bugs.webkit.org/show_bug.cgi?id=10807
29313        REGRESSION (r16259): Repro crash on manual-tests/svg-repaint-image.svg
29314
29315        Make sure the paint method is not exited without popping
29316        context and transparency layer.
29317
29318        WARNING: NO TEST CASES ADDED OR CHANGED
29319
29320        * kcanvas/RenderSVGImage.cpp:
29321        (WebCore::RenderSVGImage::paint):
29322
293232006-09-18  Graham Dennis  <graham.dennis@gmail.com>
29324
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
29333
293342006-09-17  Eric Seidel  <eric@webkit.org>
29335
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
29340
29341        * bridge/mac/WebCoreFrameBridge.mm:
29342        (+[WebCoreFrameBridge stringWithData:textEncodingName:]):
29343
293442006-09-17  Alexey Proskuryakov  <ap@nypop.com>
29345
29346        Reviewed by Hyatt.
29347
29348        http://bugs.webkit.org/show_bug.cgi?id=10779
29349        REGRESSION: Animated GIF ignores frame intervals and loops infinitely
29350
29351        No test possible.
29352
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.
29358
293592006-09-17  Brady Eidson <beidson@apple.com>
29360
29361        Reviewed by Sarge
29362
29363        IconLoader now gracefully handles the condition where there's no document in the frame
29364        (ie. PDFs)
29365
29366        * loader/icon/IconLoader.cpp:
29367        (IconLoader::startLoading):
29368
293692006-09-17  David Hyatt  <hyatt@apple.com>
29370
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).
29374
29375        Reviewed by aroben
29376
29377        Added fast/text/basic/generic-family-changes.html
29378
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==):
29391
293922006-09-17  Alexey Proskuryakov  <ap@nypop.com>
29393
29394        Reviewed by Brady.
29395
29396        http://bugs.webkit.org/show_bug.cgi?id=10852
29397        REGRESSION: Reproducible crash in XMLHttpRequest::abort()
29398
29399        Test: http/tests/xmlhttprequest/xhr-onunload.html
29400
29401        * xml/xmlhttprequest.cpp:
29402        (WebCore::XMLHttpRequest::send): Check the return value of ResourceLoader::start().
29403
29404        * loader/icon/IconLoader.cpp:
29405        (IconLoader::startLoading): Fix a similar latent bug here.
29406
294072006-09-17  Adam Roben  <aroben@apple.com>
29408
29409        Build fix.
29410
29411        * loader/icon/IconDatabase.cpp:
29412
294132006-09-17  Anders Carlsson  <acarlsson@apple.com>
29414
29415        Reviewed by Brady.
29416
29417        Add simplifyWhiteSpace and stripWhiteSpace to the String class.
29418        Change the XSLT Parameter Map to use Strings instead of StringImpls.
29419        General cleanup.
29420
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):
29488
294892006-09-17  David Hyatt  <hyatt@apple.com>
29490
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.
29495
29496        Made avoidsFloats virtual and did some refactoring to make tables, flexboxes
29497        and fieldsets all subclass.
29498
29499        Reviewed by anders
29500
29501        Added fast/forms/float-before-fieldset.html
29502
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):
29512
295132006-09-17  David Hyatt  <hyatt@apple.com>
29514
29515        Fix for bugzilla bug 3240, implement support for the HTML4 "frame" and
29516        "rules" attributes on tables.
29517
29518        Reviewed by bradee-oh
29519
29520        Well-covered by existing layout tests.
29521
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:
29559
295602006-09-17  David Hyatt  <hyatt@apple.com>
29561
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.
29566
29567        Reviewed by bradee-oh
29568
29569        fast/text/basic/generic-family-reset.html
29570
29571        * css/cssstyleselector.cpp:
29572        (WebCore::CSSStyleSelector::applyProperty):
29573
295742006-09-16  Brady Eidson <beidson@apple.com>
29575
29576        Reviewed by Hyatt
29577
29578        Pruning code relating to WebKit's icon loader
29579
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
29586
295872006-09-16  Sam Weinig  <sam.weinig@gmail.com>
29588
29589        Reviewed by Tim H.
29590
29591        Patch for http://bugs.webkit.org/show_bug.cgi?id=10885
29592        Auto-generate DOMHTMLDocument for the Objective-C bindings
29593
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*):
29606
296072006-09-16  Rob Buis  <buis@kde.org>
29608
29609        Reviewed by Eric.
29610
29611        http://bugs.webkit.org/show_bug.cgi?id=10866
29612        Code in kcanvas/ should not use Private
29613
29614        Remove Private classes and tweak coding style.
29615
29616        WARNING: NO TEST CASES ADDED OR CHANGED
29617
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:
29725
297262006-09-16  Mark Rowe  <opendarwin.org@bdash.net.nz>
29727
29728        Reviewed by Anders.
29729
29730        http://bugs.webkit.org/show_bug.cgi?id=10887
29731        Fix build error
29732
29733        * bindings/objc/DOMPrivate.h: Remove reference to DOMEventPrivate.h.
29734
297352006-09-16  Sam Weinig  <sam.weinig@gmail.com>
29736
29737        Reviewed by Anders.
29738
29739        Fix for http://bugs.webkit.org/show_bug.cgi?id=10886
29740        REGRESSION (r16387): Reproducible crash when mousing over HTML document
29741
29742        - Special case method [DOMNode ownerDocument] to call document() instead
29743          or ownerDocument() to return to the old behavior.
29744
29745        * WebCore.xcodeproj/project.pbxproj:
29746        * bindings/scripts/CodeGeneratorObjC.pm:
29747
297482006-09-15  Brady Eidson  <beidson@apple.com>
29749
29750        Reviewed by Tim Hatcher
29751
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
29754
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
29758
297592006-09-15  Timothy Hatcher  <timothy@apple.com>
29760
29761        Reviewed by Brady.
29762
29763        Make new style ObjC methods public API.
29764
29765        * WebCore.xcodeproj/project.pbxproj:
29766        * bindings/objc/DOMPrivate.h:
29767        * bindings/objc/PublicDOMInterfaces.h:
29768
297692006-09-15  Sam Weinig  <sam.weinig@gmail.com>
29770
29771        Reviewed by Tim H.
29772
29773        Patch for http://bugs.webkit.org/show_bug.cgi?id=10870
29774        Auto-generate DOMNode for the Objective-C bindings
29775
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:
29788
297892006-09-15  Timothy Hatcher  <timothy@apple.com>
29790
29791        Reviewed by Justin.
29792
29793        Removed alter selection logic from WebCoreFrameBridge and moved to SelectionController.
29794
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:
29826
298272006-09-15  Brady Eidson  <beidson@apple.com>
29828
29829        Reviewed by Anders
29830
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.
29834
29835        * platform/CString.cpp:
29836        (WebCore::CString::mutableData):
29837        (WebCore::CString::copyBufferIfNeeded):
29838        * platform/CString.h:
29839
298402006-09-15  Justin Garcia  <justin.garcia@apple.com>
29841
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
29846
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.
29852
298532006-09-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
29854
29855        Reviewed by Adam.
29856
29857        http://bugs.webkit.org/show_bug.cgi?id=10864
29858        Bug 10864: Linux\GDK build fixes
29859
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:
29925
299262006-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
29927
29928        Reviewed by Eric.
29929
29930        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10835
29931        Fix svg memory leaks.
29932
29933        Reworked SVGList to deal with RefPtr's for ptr types
29934        which makes manual refcounting unnecessary, and is much safer.
29935
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).
29939
29940        Credits go to Eric/Maciej for the inspiration.
29941
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):
29982
299832006-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
29984
29985        Reviewed by eseidel.  Landed by eseidel.
29986
29987        Fix build on Qt/Linux and implement Frame::addMessageToConsole to
29988        be able to see javascript errors for instance.
29989
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):
29997
299982006-09-15  Sam Weinig  <sam.weinig@gmail.com>
29999
30000        Reviewed by Tim H.
30001
30002        Patch for http://bugs.webkit.org/show_bug.cgi?id=10869
30003        Auto-generate the internal methods for the Objective-C bindings
30004
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.
30008
30009        - Some general cleanup of some of the non-generated bindings, to bring them in-
30010          line with what the generated bindings look like.
30011
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:
30133
301342006-09-15  Adam Roben  <aroben@apple.com>
30135
30136        Reviewed by timothy.
30137
30138        Fixes http://bugs.webkit.org/show_bug.cgi?id=10865
30139        New file upload control should match the width of the old one
30140
30141        Make width of new file upload control match the old one as closely as
30142        possible.
30143
30144        * rendering/RenderFileUploadControl.cpp:
30145
301462006-09-15  Timothy Hatcher  <timothy@apple.com>
30147
30148        Reviewed by Eric.
30149
30150        Remove the SVG IDL files from the Copy Resources phase.
30151
30152        * WebCore.xcodeproj/project.pbxproj:
30153
301542006-09-15  Brady Eidson  <beidson@apple.com>
30155
30156        Reviewed by Eric Siedel
30157
30158        Dumped the use of CGColorRef and directly use the floating point data from
30159        WebCore::Color
30160
30161        This fixes the performance regression found between 16285 and 16286
30162
30163        * platform/mac/FontMac.mm:
30164        (WebCore::Font::drawComplexText):
30165        (WebCore::Font::drawGlyphs):
30166
301672006-09-14  Mark Rowe  <opendarwin.org@bdash.net.nz>
30168
30169        Reviewed by Adam.
30170
30171        http://bugs.webkit.org/show_bug.cgi?id=10838
30172        Bug 10838: REGRESSION: Leaking of WebScriptObjectPrivate
30173
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.
30177
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:
30186
301872006-09-14  Brady Eidson  <beidson@apple.com>
30188
30189        Reviewed by Maciej's rubber stamp
30190
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
30193
30194        * page/Frame.cpp:
30195        (WebCore::Frame::endIfNotLoading):
30196        (WebCore::Frame::stop):
30197
301982006-09-14  Brady Eidson  <beidson@apple.com>
30199
30200        Reviewed by Maciej
30201
30202        Fixed a bad iFrame crash, resolving some of the layout test badness
30203
30204        * page/Frame.cpp:
30205        (WebCore::Frame::endIfNotLoading):
30206        - Added a RefPtr to protect the frame itself to prevent its destruction during this method
30207
302082006-09-14  Justin Garcia  <justin.garcia@apple.com>
30209
30210        Reviewed by harrison
30211
30212        <rdar://problem/4655880> Up/Down arrows skip over To Do
30213
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:
30228
302292006-09-14  Karthik Kumar  <karthikkumar@gmail.com>
30230
30231        Reviewed by timothy. Landed by aroben.
30232
30233        Fixes http://bugs.webkit.org/show_bug.cgi?id=10856
30234        Windows build fixes after r16360
30235
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):
30246
302472006-09-14  Brady Eidson  <beidson@apple.com>
30248
30249        Part of a build fix for Windows - rest will be working out a mess of temporary link stubs
30250
30251        * loader/icon/IconLoader.cpp:
30252        (IconLoader::receivedAllData):
30253        * page/Frame.cpp:
30254        * page/FramePrivate.h:
30255
302562006-09-14  Graham Dennis  <graham.dennis@gmail.com>
30257
30258        Reviewed by Justin Garcia.
30259
30260        - http://bugs.webkit.org/show_bug.cgi?id=10726
30261          Crash in ApplyStyleCommand::applyRelativeFontStyleChange
30262
30263        * editing/ApplyStyleCommand.cpp:
30264        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Prevent a crash by
30265        makeing sure that the 'beyondEnd' node is after the start node.
30266
302672006-09-14  Darin Fisher  <darin@chromium.org>
30268
30269        Reviewed by Brady.
30270
30271        Fixes http://bugs.webkit.org/show_bug.cgi?id=10845
30272        Various bugs/crashes in ResourceLoaderWin with local files.
30273
30274        * platform/ResourceLoaderInternal.h:
30275        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
30276        * platform/win/ResourceLoaderWin.cpp:
30277        (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
30278        (WebCore::ResourceLoader::fileLoadTimer):
30279
302802006-09-13  Brady Eidson <beidson@apple.com>
30281
30282        Reviewed by Maciej
30283
30284        Icon loads now take place in WebCore
30285
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
30308
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
30322
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)
30329
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
30339
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
30345
30346        * platform/mac/ResourceLoaderMac.mm:
30347        (WebCore::ResourceLoader::start):  Added a valuable ASSERT
30348
303492006-09-13  David Hyatt  <hyatt@apple.com>
30350
30351        Fix for 10841, unable to check checkboxes inside labels.
30352
30353        Reviewed by xenon, bradee-oh
30354
30355        * css/html4.css:
30356        * dom/Element.cpp:
30357        (WebCore::Element::contains):
30358        * dom/Element.h:
30359        * html/HTMLLabelElement.cpp:
30360        (WebCore::HTMLLabelElement::defaultEventHandler):
30361
303622006-09-13  Mark Rowe  <opendarwin.org@bdash.net.nz>
30363
30364        Reviewed by Adam.
30365
30366        http://bugs.webkit.org/show_bug.cgi?id=10834
30367        Bug 10834: FileChooser constructor in FileChooserMac appears to overretain m_controller
30368
30369        * platform/mac/FileChooserMac.mm:
30370        (WebCore::FileChooser::FileChooser): Don't over-retain the OpenPanelController.
30371
303722006-09-13  Mark Rowe  <opendarwin.org@bdash.net.nz>
30373
30374        Reviewed by Eric.
30375
30376        http://bugs.webkit.org/show_bug.cgi?id=10836
30377        Bug 10836: REGRESSION: Mac implementation of Font::drawGlyphs leaks a CGColorRef
30378
30379        * platform/mac/FontMac.mm:
30380        (WebCore::Font::drawComplexText): Release CGColorRef after use.
30381        (WebCore::Font::drawGlyphs): Ditto.
30382
303832006-09-14  Anders Carlsson  <acarlsson@apple.com>
30384
30385        Try fixing the Win32 build.
30386
30387        * bridge/win/FrameWin.h:
30388        * platform/win/TemporaryLinkStubs.cpp:
30389        (FrameWin::bindingRootObject):
30390
303912006-09-14  Anders Carlsson  <acarlsson@apple.com>
30392
30393        Reviewed by Tim O.
30394
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:
30421
304222006-09-13  David Hyatt  <hyatt@apple.com>
30423
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.
30427
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:
30480
304812006-09-13  Nikolas Zimmermann  <zimmermann@kde.org>
30482
30483        Reviewed by eseidel.  Landed by eseidel.
30484
30485        Fix newly introduced memory leaks in SVG.
30486        http://bugs.webkit.org/show_bug.cgi?id=10835
30487
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.
30497
304982006-09-13  Darin Fisher  <darin@chromium.org>
30499
30500        Reviewed/landed by aroben.
30501
30502        Fixes http://bugs.webkit.org/show_bug.cgi?id=10833
30503        Windows build needs fixed after move to engine-rendered file upload widget
30504
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):
30520
305212006-09-13  Darin Fisher  <darin@chromium.org>
30522
30523        Reviewed/landed by aroben.
30524
30525        Fixes http://bugs.webkit.org/attachment.cgi?id=10537
30526        Webkit WebCore build fails on Windows
30527
30528        * WebCore.vcproj/WebCore/build-generated-files.sh: export SOURCE_ROOT
30529        variable
30530
305312006-09-13  Nikolas Zimmermann  <zimmermann@kde.org>
30532
30533        Reviewed by Tim H.
30534
30535        Fix Qt/Linux build.
30536
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):
30555
305562006-09-12  Adam Roben  <aroben@apple.com>
30557
30558        Reviewed by eseidel.
30559
30560        Switch back to passing relative paths to generate-bindings.pl when
30561        generating JS bindings.
30562
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.
30566
305672006-09-12  David Hyatt  <hyatt@apple.com>
30568
30569        Fix for bug 3244, implement html4 label support.
30570
30571        Reviewed by mjs, aroben
30572
30573        Added fast/events/label-focus.html
30574
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:
30582
305832006-09-12  Julien Palmas  <julien.palmas@gmail.com>
30584
30585        Reviewed by darin.  Landed by eseidel.
30586
30587        * ksvg2/svg/svgpathparser.cpp:
30588        (WebCore::SVGPolyParser::parsePoints):
30589
305902006-09-11  Kevin McCullough  <KMcCullough@apple.com>
30591
30592        Reviewed by Andersca, Maciej, Brady.
30593
30594        - Implemented intersectsNode in the Range Class
30595          to be compliant with Mozilla standard
30596
30597        * dom/Range.cpp:
30598        (WebCore::Range::intersectsNode):
30599        * dom/Range.h:
30600        * dom/Range.idl:
30601
306022006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>
30603
30604        Reviewed by eseidel.  Landed by eseidel.
30605
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
30613
30614        Enable all JavaScript SVG bindings. Builds on Qt/Linux & OSX.
30615
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.
30715
307162006-09-12  Adam Roben  <aroben@apple.com>
30717
30718        Reviewed by timo, ggaren.
30719
30720        Make Icon ref-counted.
30721
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
30730
30731=== Safari-521.26 ===
30732
307332006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>
30734
30735        Reviewed by Anders.
30736
30737        Add exception codes to SVGList functions, adjust all code using it.
30738
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.
30744
30745        Fix JSSVGNumber to operator on doubles, instead of floats.
30746
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):
30964
309652006-09-12  John Sullivan  <sullivan@apple.com>
30966
30967        Reviewed by Adele Peterson.
30968
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.
30973
309742006-09-12  David Harrison  <harrison@apple.com>
30975
30976        Reviewed by John Sullivan.
30977
30978        <rdar://problem/4717841> Setting AXFocused to true does not activate the insertion point in text field
30979
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.
30984
309852006-09-12  Adam Roben  <aroben@apple.com>
30986
30987        Reviewed by adele.
30988
30989        Make uploading work with the new file upload control.
30990
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.
31004
310052006-09-12  Adam Roben  <aroben@apple.com>
31006
31007        Adding rules to html4.css to style the button in file upload controls.
31008
31009        * css/html4.css:
31010
310112006-09-12  Adam Roben  <aroben@apple.com>
31012
31013        Reviewed many times by darin, hyatt.
31014
31015        Switch to new engine-based implementation of <input type="file">
31016
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::):
31106
311072006-09-12  Anders Carlsson  <acarlsson@apple.com>
31108
31109        Reviewed by John Sullivan.
31110
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:
31120
311212006-09-12  Darin Fisher  <darin@chromium.org>
31122
31123        Reviewed/landed by aroben.
31124
31125        Fixes http://bugs.webkit.org/show_bug.cgi?id=10822
31126        windows build is busted
31127
31128        * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing
31129        JSRangeException.{cpp,h} to project
31130
311312006-09-12  David Hyatt  <hyatt@apple.com>
31132
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.
31136
31137        Reviewed by mjs
31138
31139        Added fast/forms/fieldset-with-float.html
31140
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):
31150
311512006-09-11  Eric Seidel  <eric@webkit.org>
31152
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
31158
31159        No test cases were harmed in the coding of the patch.
31160
31161        * platform/mac/WebCoreTextRenderer.mm:
31162        (WebCoreDrawTextAtPoint):
31163
311642006-09-11  David Hyatt  <hyatt@apple.com>
31165
31166        Fix for bug 8126, column widths apply to the border boxes of cells.
31167
31168        Reviewed by aroben
31169
31170        * rendering/RenderTableCell.cpp:
31171        (WebCore::RenderTableCell::styleOrColWidth):
31172
311732006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>
31174
31175        Reviewed by Adele.
31176
31177        Fix Qt/Linux build.
31178
31179        * CMakeLists.txt: Add dom/RangeException.idl to build & fix feature defines.
31180
311812006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>
31182
31183        Reviewed by eseidel.  Landed by eseidel.
31184
31185        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10750
31186
31187        This finally fixes the SVGAnimated* classes JS bindings!
31188
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
31191
31192        - Remove all SVGAnimated* primitives cpp implementations (Angle/Boolean/Color/Enumeration/Integer/Length/
31193                                                                  LengthList/Number/NumberList/PreserveAspectRatio/
31194                                                                  Rect/String/TransformList)
31195
31196        - Remove unneeded methods from CodeGenerator.pm and add new helper function: IsSVGAnimatedType
31197        - Adjust CodeGeneratorJS.pm to the new SVGAnimated* tear-off concept
31198
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.
31202
31203        - Rewrote SVGList using WTF::Vector, instead of DeprecatedPtrList and killed DOMList.
31204          (SVGAnimated*Lists work again now)
31205
31206        - Adjust macros in SVGElement to create the "*Animated" tear-off classes.
31207
31208        - Adjust all SVG classes which use the ANIMATED macros to include the ClassName as first param in the header.
31209
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:
31370
313712006-09-11  Adam Roben  <aroben@apple.com>
31372
31373        Rubberstamped by Adele.
31374
31375        Rename LocalGraphicsContext.{h,mm} to
31376        LocalCurrentGraphicsContext.{h,mm} to match the class name.
31377
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
31384
313852006-09-11  Brady Eidson  <beidson@apple.com>
31386
31387        Build fix
31388
31389        * WebCore.xcodeproj/project.pbxproj:
31390
313912006-09-11  Kevin McCullough  <KMcCullough@apple.com>
31392
31393        Reviewed by Darin.
31394
31395        - Implements comparePoint on the Range class
31396
31397        - Exposes RangeExceptions in JavaScript
31398
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:
31413
314142006-09-11  Adam Roben  <aroben@apple.com>
31415
31416        Reviewed by timo.
31417
31418        Fixes http://bugs.webkit.org/show_bug.cgi?id=10812
31419        Move LocalGraphicsContext out of RenderThemeMac
31420
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:
31427
314282006-09-11  Vladimir Olexa  <vladimir.olexa@gmail.com>
31429
31430        Reviewed by Darin.
31431
31432        - fix http://bugs.webkit.org/show_bug.cgi?id=10323
31433          REGRESSION: javascript: URL containing '\\' gets passed as '//'
31434
31435        Test: fast/dom/javascript-backslash.html
31436
31437        * platform/KURL.cpp: (WebCore::KURL::init): Don't do backslash
31438        substitution in JavaScript URLs.
31439
314402006-09-11  Sam Weinig  <sam.weinig@gmail.com>
31441
31442        Reviewed by Darin and Tim H.
31443
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
31447
31448        - Replaces [Exclude=LANGUAGE] idiom with preprocessor #if defined(LANGUAGE)
31449          idiom.
31450
31451        - Assorted whitespace changes to IDL files.
31452
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:
31480
314812006-09-11  David Hyatt  <hyatt@apple.com>
31482
31483        Fix an unwitting victim of the kMin->min change.  calcBlockMinMaxWidth
31484        was accidentally renamed to calcBlominMaxWidth.
31485
31486        * rendering/RenderBlock.cpp:
31487        (WebCore::RenderBlock::calcMinMaxWidth):
31488        (WebCore::RenderBlock::calcBlockMinMaxWidth):
31489        * rendering/RenderBlock.h:
31490
314912006-09-10  David Hyatt  <hyatt@apple.com>
31492
31493        Rework the printer font stuff a little bit so that the Font API doesn't
31494        have to be changed.
31495
31496        Reviewed by eseidel
31497
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):
31531
315322006-09-10  Brady Eidson  <beidson@apple.com>
31533
31534        Reviewed by Maciej
31535
31536        Small cleanups + future plans
31537
31538        * loader/icon/IconDatabase.cpp:
31539        (WebCore::IconDatabase::open): path separator cleanup
31540        * platform/Image.h:
31541
315422006-09-10  Brady Eidson  <beidson@apple.com>
31543
31544        Reviewed by Maciej
31545
31546        Added specialized HashTraits
31547
31548        * platform/IntSizeHash.h:
31549
315502006-09-10  Brady Eidson  <beidson@apple.com>
31551
31552        Forgetting header #define protection is BAAAAAD
31553        (and re-alphabetized the project file)
31554
31555        * WebCore.xcodeproj/project.pbxproj:
31556        * platform/IntSizeHash.h:
31557
315582006-09-10  Brady Eidson  <beidson@apple.com>
31559
31560        Reviewed by Maciej
31561
31562        Moved the custom IntSize hash out of IconDatabase into a more generally useful file
31563
31564        * WebCore.xcodeproj/project.pbxproj:
31565        * loader/icon/IconDatabase.h:
31566        * platform/IntSizeHash.h: Added.
31567
315682006-09-10  David Hyatt  <hyatt@apple.com>
31569
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.
31574
31575        Reviewed by aroben
31576
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):
31600
316012006-09-10  Darin Adler  <darin@apple.com>
31602
31603        - test for http://bugs.webkit.org/show_bug.cgi?id=10547
31604
31605        * manual-tests/target-test.html: Added.
31606        * manual-tests/targeted.html: Added.
31607
316082006-09-10  Eric Seidel  <eric@webkit.org>
31609
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.
31615
31616        No tests were harmed in the making of this patch.
31617
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):
31661
316622006-09-09  Steve Falkenburg  <sfalken@apple.com>
31663
31664        Reviewed by aroben.
31665
31666        Fixes to work with string API changes.
31667
31668        * platform/cf/ResourceLoaderCFNet.cpp:
31669        (WebCore::arrayFromFormData):
31670        (WebCore::ResourceLoader::start):
31671        * platform/cf/StringCF.cpp:
31672        * platform/cf/StringImplCF.cpp:
31673
316742006-09-09  David Hyatt  <hyatt@apple.com>
31675
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.
31680
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.
31684
31685        Reviewed by aroben
31686
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:
31717
317182006-09-09  David Hyatt  <hyatt@apple.com>
31719
31720        Implement support for the WinIE clientLeft and clientTop extensions.
31721
31722        Reviewed by aroben
31723
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):
31732
317332006-09-09  Sam Weinig  <sam.weinig@gmail.com>
31734
31735        Reviewed by Eric.
31736
31737        Patch for http://bugs.webkit.org/show_bug.cgi?id=10795
31738        Auto-generate the Objective-C DOM XPath bindings
31739
31740        - Auto-generates DOMXPathExpression, DOMXPathNSResolver and DOMXPathResult.
31741
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:
31751
317522006-09-09  Sam Weinig  <sam.weinig@gmail.com>
31753
31754        Reviewed by Eric.
31755
31756        Patch for http://bugs.webkit.org/show_bug.cgi?id=10791
31757        Even More Objective-C DOM auto-generation cleanup
31758
31759        - Auto-generate some remaining extension methods for DOMDocument
31760          and DOMCSSStyleDeclaration.
31761
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.
31766
31767        - Auto-generate DOMEventListener protocol.
31768
31769        - Clean up the IDL files by separating the extensions from the
31770          specified methods and attributes.
31771
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.
31806
318072006-09-09  Eric Seidel  <eric@webkit.org>
31808
31809        Reviewed by Tim H.
31810
31811        Remove DeprecatedString usage and fix style.
31812        http://bugs.webkit.org/show_bug.cgi?id=10787
31813
31814        No tests were harmed in the making of this patch.
31815
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):
31932
319332006-09-08  Darin Adler  <darin@apple.com>
31934
31935        Reviewed by Tim H.
31936
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.
31941
31942        * css/CSSPrimitiveValue.cpp:
31943        (WebCore::isCSSTokenizerURL):
31944
319452006-09-09  Alexey Proskuryakov  <ap@nypop.com>
31946
31947        Reviewed by Darin.
31948
31949        - http://bugs.webkit.org/show_bug.cgi?id=10759
31950          fast/AppleScript/array.html test failing
31951
31952        * bridge/mac/WebCoreFrameBridge.mm:
31953        (aeDescFromJSValue): Convert integer values to typeSInt32 AE descriptors.
31954
319552006-09-08  Eric Seidel  <eric@webkit.org>
31956
31957        Reviewed by darin.
31958
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
31971
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):
32078
320792006-09-08  Eric Seidel  <eric@webkit.org>
32080
32081        Reviewed by beth.
32082
32083        Remove the last vestiges of KDOM (KDOMCSSValue and KDOMCSSValueList)
32084        http://bugs.webkit.org/show_bug.cgi?id=10778
32085
32086        * ksvg2/css/SVGCSSParser.cpp:
32087        (WebCore::CSSParser::parseSVGValue):
32088        (WebCore::CSSParser::parseSVGStrokeDasharray):
32089        (WebCore::CSSParser::parseSVGPaint):
32090        (WebCore::CSSParser::parseSVGColor):
32091
320922006-09-07  Sam Weinig  <sam.weinig@gmail.com>
32093
32094        Reviewed by Darin and Tim H.
32095
32096        Patch for http://bugs.webkit.org/show_bug.cgi?id=10774
32097        Auto-generate the Objective-C DOM Traversal bindings
32098
32099        - Auto-generates DOMNodeIterator and DOMTreeWalker.
32100
32101        - Splits out DOMNodeFilter into its own file.
32102
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:
32114
321152006-09-07  Darin Fisher  <darin@chromium.org>
32116
32117        Reviewed by Darin, landed by Adam.
32118
32119        Fixes part of bug 10743: Windows build busted.
32120
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):
32131
321322006-09-07  Alexey Proskuryakov  <ap@nypop.com>
32133
32134        Reviewed by Darin.
32135
32136        http://bugs.webkit.org/show_bug.cgi?id=10753
32137        REGRESSION: The beginning of a CSS file is missing
32138
32139        Test: http/tests/incremental/slow-utf8-css.pl
32140
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().
32146
321472006-09-07  Sam Weinig  <sam.weinig@gmail.com>
32148
32149        Reviewed by Darin.
32150
32151        Patch for http://bugs.webkit.org/show_bug.cgi?id=10766
32152        Auto-generate the Objective-C DOM Events bindings
32153
32154        - Auto-generates DOMEvent, DOMKeyboardEvent, DOMMouseEvent, DOMMutationEvent,
32155          DOMOverflowEvent, DOMUIEvent, and DOMWheelEvent.
32156
32157        - Splits out DOMEventListener and DOMEventTarget into their own files.
32158
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:
32180
321812006-09-07  Rob Buis  <buis@kde.org>
32182
32183        Reviewed by Maciej.
32184
32185        http://bugs.webkit.org/show_bug.cgi?id=9753
32186        SVG with width and height 100% leaves room for scrollbar on the right.
32187
32188        Relayout children of svg containers, except svg shapes that do not depend on percentages.
32189
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):
32209
322102006-09-06  Brady Eidson <beidson@apple.com>
32211
32212        Constant renamed in 16250 wasn't changed in each use
32213
32214        * platform/win/GlyphMapWin.cpp:
32215        (WebCore::GlyphMap::fillPage):
32216
322172006-09-06  Darin Adler  <darin@apple.com>
32218
32219        Reviewed by Tim Hatcher.
32220
32221        - fix crashes affecting editing layout tests (regressions from my vector change)
32222
32223        * editing/BreakBlockquoteCommand.cpp:
32224        (WebCore::BreakBlockquoteCommand::doApply): Added check for empty vector.
32225        * editing/InsertParagraphSeparatorCommand.cpp:
32226        (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
32227
322282006-09-06  David Harrison  <harrison@apple.com>
32229
32230        Reviewed and tweaked by Tim H.
32231
32232        <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation
32233
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.
32237
32238        * platform/mac/WebFontCache.mm:
32239        (+[WebFontCache fontWithFamily:traits:size:]):
32240
322412006-09-06  Nikolas Zimmermann  <zimmermann@kde.org>
32242
32243        Reviewed and landed by ap.
32244
32245        Fix Qt/Linux build.
32246
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.
32265
322662006-09-06  Darin Adler  <darin@apple.com>
32267
32268        Reviewed by Tim Hatcher.
32269
32270        - http://bugs.webkit.org/show_bug.cgi?id=10675
32271          tweak font-related headers and convert lists to vectors
32272
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.
32275
32276        * WebCore.xcodeproj/project.pbxproj: Added TextStyle.h.
32277
32278        * bindings/objc/DOM.mm: (-[DOMElement _font]): Changed to not depend on
32279        Font::getNSFont since a WebCore::Font represents more than one NSFont.
32280
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.
32335
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.
32344
32345        * bridge/mac/WebCoreAXObject.mm:
32346        (boundingBoxRect): Updated to use Vector.
32347        (AXAttributeStringSetStyle): Changed to not depend on Font::getNSFont.
32348
32349        * bridge/mac/WebCoreStringTruncator.mm: Updated includes.
32350        * page/Settings.h: Ditto.
32351        * platform/mac/WebCoreTextRenderer.mm: Ditto.
32352        * rendering/EllipsisBox.cpp: Ditto.
32353
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.
32359
32360        * loader/DocLoader.h: Removed unneeded include of DeprecatedPtrList.h.
32361
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.
32366
32367        * platform/TextStyle.h: Added.
32368
32369        * platform/FontData.h: Added a forward declaration of ATSUStyle so this header
32370        can stand alone.
32371
32372        * platform/FontFallbackList.h: Tweaks.
32373        * platform/FontFallbackList.cpp: Tweaks.
32374
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.
32378
32379        * platform/GlyphBuffer.h: Removed unneeded MAX_GLYPH_EXPANSION and GLYPH_BUFFER_SIZE
32380        macros.
32381
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.
32389
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.
32395
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.
32400
32401        * platform/Image.h: Removed unneeded forward declaration of IntSize.
32402
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.
32412
32413        * platform/mac/FontDataMac.mm: Fixed includes. Converted a bunch of macros to be
32414        constants and inline functions instead.
32415
32416        * platform/mac/FontMac.mm: Fixed includes.
32417        * platform/mac/PopUpButtonMac.mm: Ditto.
32418        * rendering/RenderMenuList.cpp: Ditto.
32419        * rendering/RenderTextControl.cpp: Ditto.
32420
32421        * platform/mac/WebCoreSystemInterface.h: Fixes so this header stands alone and is
32422        compatible with all 4 of C, ObjC, C++, ObjC++.
32423
324242006-09-05  Darin Fisher  <darin@chromium.org>
32425
32426        Reviewed/landed by aroben.
32427
32428        Fixes bug 10743: Windows build is busted.
32429
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):
32443
324442006-09-05  Darin Adler  <darin@apple.com>
32445
32446        - some quick build fixes
32447
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.
32453
324542006-09-05  Darin Adler  <darin@apple.com>
32455
32456        Reviewed by Alexey.
32457
32458        - http://bugs.webkit.org/show_bug.cgi?id=10728
32459          text encodings should work without a numeric ID
32460
32461        - includes a fix for http://bugs.webkit.org/show_bug.cgi?id=10681
32462          REGRESSION: Reproducible crash at Wikipedia
32463
32464        - fixed a bug where link elements would not set the charset properly for
32465          CSS stylesheets they loaded
32466
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
32470
32471        Test: fast/encoding/css-link-charset.html
32472        Test: fast/forms/form-data-encoding-normalization-overrun.html
32473
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.
32477
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.
32505
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.
32509
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.
32513
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.
32523
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.
32527
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.
32531
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.
32553
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.
32572
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.
32580
32581        * WebCore.xcodeproj/project.pbxproj: Added new files. Changed the prefix on the
32582        "make character sets" rule to be kTextEncoding instead of kCFStringEncoding.
32583
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.
32608
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>.
32612
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.
32619
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.
32627
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.
32631
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.
32652
32653        * html/HTMLFormElement.cpp:
32654        (WebCore::encodeCString): Changed parameter to CString.
32655        (WebCore::HTMLFormElement::formData): Updated code for improvements to TextEncoding.
32656
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.
32663
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.
32795
32796        * platform/DeprecatedString.cpp:
32797        (WebCore::DeprecatedString::fromUtf8): Updated for changes to TextEncoding.
32798        (WebCore::DeprecatedString::utf8): Ditto.
32799
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.
32810
32811        * platform/Font.cpp: (WebCore::WidthIterator::normalizeVoicingMarks): Fixed
32812        code to use U_ZERO_ERROR instead of a typecast.
32813
32814        * bindings/js/kjs_proxy.h: Removed unneeded declaration of DeprecatedString.
32815        * platform/GraphicsContext.h: Ditto.
32816
32817        * platform/GraphicsContext.cpp: Removed unneeded include of "DeprecatedString.h".
32818        * rendering/break_lines.cpp: Ditto.
32819        * xml/XMLSerializer.cpp: Ditto.
32820
32821        * platform/mac/FontDataMac.mm: Removed unneeded include of <unicode/unorm.h>.
32822
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.
32826
328272006-09-05  Nikolas Zimmermann  <zimmermann@kde.org>
32828
32829        Reviewed by eseidel.  Landed by eseidel.
32830
32831        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10490
32832
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.
32837
32838        -> Replace all usages of "property()->baseVal()" with "propertyBaseValue()".
32839        -> Replace all usages of "property()->setBaseVal()" with "setPropertyBaseValue()".
32840
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.
32844
32845        These classes contain this contextElement() function as pure virtual functions.
32846        The topmost classes (like SVGCircleElement) implement this function with "return this".
32847
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.
32854
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):
33186
331872006-09-05  Eric Seidel  <eric@webkit.org>
33188
33189        Reviewed by aroben.
33190
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.
33195
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):
33204
332052006-09-05  Sam Weinig  <sam.weinig@gmail.com>
33206
33207        Reviewed by Tim H.
33208
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).
33215
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:]):
33246
332472006-09-05  Adele Peterson  <adele@apple.com>
33248
33249        Reviewed by Adam.
33250
33251        Removed dead code for password field.
33252
33253        * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
33254        * platform/mac/WebCoreTextField.h:
33255        * platform/mac/WebCoreTextField.mm:
33256
332572006-09-05  Justin Garcia  <justin.garcia@apple.com>
33258
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.
33273
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):
33422
334232006-09-05  Adele Peterson  <adele@apple.com>
33424
33425        Reviewed by Adam.
33426
33427        Let the engine draw the focus ring for styled menu lists.
33428
33429        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::supportsFocusRing): Added case for MenulistButtonAppearance.
33430
334312006-09-05  Adele Peterson  <adele@apple.com>
33432
33433        Reviewed by Adam.
33434
33435        - Fix for <rdar://problem/4706463> REGRESSION: Must click twice on <select> elements for menu to show
33436
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.
33442
334432006-09-05  Sam Weinig  <sam.weinig@gmail.com>
33444
33445        Reviewed by Tim H.
33446
33447        Patch for http://bugs.webkit.org/show_bug.cgi?id=10738
33448        Consolidate the Objective-C DOM Bindings Internal files into DOMInternal.h
33449
33450        - Consolidate DOMHTMLInternal.h, DOMCSSInternal.h, DOMEventsInternal.h,
33451          DOMViewsInternal.h and DOMXPathInternal.h into DOMInternal.h.
33452
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.
33456
33457        - Auto-generate a couple more methods from DOMExtensions.h.
33458
33459        - Various cleanups of the Objective-C auto-generation code.
33460
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:
33522
335232006-09-05  Steve Falkenburg  <sfalken@apple.com>
33524
33525        Conditionalize new DOM headers for ObjC only
33526
33527        * DerivedSources.make:
33528
335292006-09-04  Alexey Proskuryakov  <ap@nypop.com>
33530
33531        Reviewed by Darin.
33532
33533        http://bugs.webkit.org/show_bug.cgi?id=10716
33534        XMLHttpRequest.responseText is null if HTTP response is empty
33535
33536        Extended existing tests:
33537        - http/tests/xmlhttrequest/zero-length-response.html
33538        - http/tests/xmlhttrequest/zero-length-response-sync.html
33539
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.
33546
335472006-09-04  Timothy Hatcher  <timothy@apple.com>
33548
33549        Reviewed by Darin.
33550
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.
33563
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.
33566
33567        - Make a new parameter name if the original conflicts with a property name.
33568
33569        - Simplified the generation code for dealing with exceptions.
33570
33571        - Moved file opens to WriteData. Files are unlinked before
33572          being opened to work around a Leopard file truncation bug.
33573
33574        - Fixed #imports for DOMImplementation to be DOMDOMImplementation.h
33575
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:
33601
336022006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
33603
33604        Reviewed by Tim H.
33605
33606        Continue fixing the build, I forgot this in my previous patch!
33607
33608        * platform/qt/PathQt.cpp:
33609        (WebCore::Path::apply):
33610
336112006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
33612
33613        Reviewed by Tim H.
33614
33615        Fix build on Qt/Linux.
33616
33617        * CMakeLists.txt:
33618        * platform/qt/PathQt.cpp:
33619        (WebCore::Path::transform):
33620
336212006-09-04  Alexey Proskuryakov  <ap@nypop.com>
33622
33623        Reviewed by Darin.
33624
33625        http://bugs.webkit.org/show_bug.cgi?id=10676
33626        @charset rules not accessible via DOM
33627
33628        Test: fast/encoding/css-charset-dom.html
33629
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.
33634
33635        * css/CSSCharsetRule.h: Make the constructor take an encoding.
33636        * css/CSSCharsetRule.cpp: Added.
33637
33638        * css/CSSGrammar.y: Create CSSStylesheetRules as necessary.
33639
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.
33647
33648        * css/StyleBase.h:
33649        (WebCore::StyleBase::isCharsetRule): Fixed a typo.
33650
33651        * css/cssparser.cpp:
33652        (WebCore::CSSParser::createCharsetRule):
33653        * css/cssparser.h:
33654        Added createCharsetRule().
33655
336562006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
33657
33658        Reviewed by Darin.
33659
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.
33662
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):
33682
336832006-09-04  Eric Seidel  <eric@webkit.org>
33684
33685        Reviewed by andersca.
33686
33687        Clean-up style and spacing.
33688        http://bugs.webkit.org/show_bug.cgi?id=10724
33689        No tests needed, no functional changes.
33690
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):
33702
337032006-09-04  Rob Buis  <buis@kde.org>
33704
33705        Reviewed by Eric.
33706
33707        http://bugs.webkit.org/show_bug.cgi?id=6546
33708        clipPath data does not respect transforms
33709
33710        Get the transform from the dom element and adjust
33711        the clip path with it.
33712
33713        * ksvg2/svg/SVGClipPathElement.cpp:
33714        (SVGClipPathElement::canvasResource):
33715
337162006-09-04  Rob Buis  <buis@kde.org>
33717
33718        Reviewed by Eric.
33719
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.
33724
33725        * platform/Path.cpp:
33726        (WebCore::Path::createRoundedRectangle):
33727        (WebCore::Path::createRectangle):
33728        (WebCore::Path::createEllipse):
33729        (WebCore::Path::createCircle):
33730
337312006-09-03  Sam Weinig  <sam.weinig@gmail.com>
33732
33733        Reviewed by Darin and Tim H.
33734
33735        - patch for http://bugs.webkit.org/show_bug.cgi?id=10711
33736          Auto-generate the Objective-C DOM Stylesheet bindings
33737
33738          Auto-generates DOMMediaList, DOMStyleSheet, and DOMStyleSheetList.
33739
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.
33756
337572006-09-03  Rob Buis  <buis@kde.org>
33758
33759        Reviewed by Darin.
33760
33761        http://bugs.webkit.org/show_bug.cgi?id=10696
33762        RenderPathQuartz and RenderPathQt should not be needed
33763
33764        Cleanup of code related to RenderPath.
33765
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):
33824
338252006-09-03  Timothy Hatcher  <timothy@apple.com>
33826
33827        Reviewed by Darin.
33828
33829        Bug 10685: ObjC DOM should have no unnamed parameters
33830        http://bugs.webkit.org/show_bug.cgi?id=10685
33831
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.
33837
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.
33842
33843        - Made the $interfaceMethodSelector regex in IDLStructure.pm allow "=" so
33844          parameter extended attributes can have values.
33845
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.
33851
33852        - Check if $ENV{"MACOSX_DEPLOYMENT_TARGET"} is defined before we compare.
33853          This caused a perl warning when generating on other platforms.
33854
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.
33858
33859        - Added a way to skip generation if the constructor of the specific
33860          generator returns undef. Not used yet.
33861
33862        - Many cleanup tweaks in CodeGeneratorObjC.pm.
33863
33864        - Removed IDL and CSS files from the project's resource copy phase,
33865          these do no need to be in WebCore's resources.
33866
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
33896
338972006-09-03  Alexey Proskuryakov  <ap@nypop.com>
33898
33899        Reviewed by Tim H.
33900
33901        http://bugs.webkit.org/show_bug.cgi?id=10693
33902        Convert JavaScript arrays to AppleScript lists
33903
33904        Test: fast/AppleScript/array.html
33905
33906        * bridge/mac/WebCoreFrameBridge.mm:
33907        (aeDescFromJSValue): Added a case for ArrayInstance.
33908
339092006-09-03  Alexey Proskuryakov  <ap@nypop.com>
33910
33911        Reviewed by Eric.
33912
33913        http://bugs.webkit.org/show_bug.cgi?id=10697
33914        REGRESSION (r16175): Errors in incremental decoding of UTF-8
33915
33916        Tests:
33917        - http/tests/incremental/slow-utf8-html.pl
33918        - fast/encoding/charset-invalid.html
33919
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().
33927
339282006-09-02  Sam Weinig  <sam.weinig@gmail.com>
33929
33930        Reviewed by Tim H.
33931
33932        - patch for http://bugs.webkit.org/show_bug.cgi?id=10684
33933          Auto-generate the Objective-C DOM CSS bindings
33934
33935          Auto-generates DOMCSSCharsetRule, DOMCSSFontFaceRule, DOMCSSImportRule,
33936          DOMCSSMediaRule, DOMCSSPageRule, DOMCSSPrimitiveValue, DOMCSSRule,
33937          DOMCSSRuleList, DOMCSSStyleDeclaration, DOMCSSStyleRule, DOMCSSStyleSheet,
33938          DOMCSSUnknownRule, DOMCSSValue, DOMCSSValueList, DOMCounter, and DOMRect.
33939
33940          Splits DOMRGBColor into its own files.
33941
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:
33981
339822006-09-02  Graham Dennis  <graham.dennis@gmail.com>
33983
33984        Reviewed by Justin.
33985
33986        http://bugs.webkit.org/show_bug.cgi?id=10579
33987        AppleStyleCommand::applyBlockStyle crash
33988
33989        * editing/ApplyStyleCommand.cpp:
33990        (WebCore::ApplyStyleCommand::applyBlockStyle): Prevent a crash by
33991        making sure that the 'beyondEnd' node is after the start node.
33992
339932006-09-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
33994
33995        Reviewed by Tim H.
33996
33997        Bug 10454: Unix bakefile fixes
33998        http://bugs.webkit.org/show_bug.cgi?id=10454
33999
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:
34010
340112006-09-02  Adele Peterson  <adele@apple.com>
34012
34013        Reviewed by Anders.
34014
34015        - Fix for http://bugs.webkit.org/show_bug.cgi?id=10667
34016          Password: Double-click should select-all to avoid exposing word boundaries
34017
34018        Test: fast/forms/password-doubleclick-selection.html
34019
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.
34027
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.
34033
340342006-09-01  David Hyatt  <hyatt@apple.com>
34035
34036        Fix for 10682, refine the FOUC paint suppression logic so that it
34037        is only triggered when FOUC would really have occurred.
34038
34039        Reviewed by aroben
34040
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):
34055
340562006-09-01  Darin Fisher  <darin@chromium.org>
34057
34058        Reviewed by Darin. Updated/landed by Adam.
34059
34060        Fixes http://bugs.webkit.org/show_bug.cgi?id=10553
34061        Windows build fixes
34062
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:
34090
340912006-09-01  Brady Eidson  <beidson@apple.com>
34092
34093        Reviewed by Tim Omernick
34094
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.
34098
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
34120
341212006-09-01  Adele Peterson  <adele@apple.com>
34122
34123        Reviewed by Tim Omernick.
34124
34125        - Fix for http://bugs.webkit.org/show_bug.cgi?id=6990
34126        Switch to use new text field implementation for <input type="password">
34127
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):
34138
341392006-09-01  Brady Eidson  <beidson@apple.com>
34140
34141        Reviewed by John (though Sarge reviewed a previous patch of mine in an attempt to review this one)
34142
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
34147
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>
34163
341642006-09-01  David Hyatt  <hyatt@apple.com>
34165
34166        Fix for 10680, contrained flexbox is not shrinking flexible children
34167        properly.  (Fixing in case it's hit by the file upload control.)
34168
34169        Reviewed by aroben
34170
34171        Adding 026.html to fast/flexbox.
34172
34173        * rendering/RenderFlexibleBox.cpp:
34174        (WebCore::RenderFlexibleBox::allowedChildFlex):
34175
341762006-09-01  Nikolas Zimmermann  <zimmermann@kde.org>
34177
34178        Reviewed by eseidel.  Landed by eseidel.
34179
34180        Implement support for multiple parents in the SVG idls.
34181
34182        For class "FooBar" go through all parents recursively,
34183        collect their attributes & functions & constants and
34184        add them directly into the class "FooBar".
34185
34186        (Note: It is NOT enabled by default for now - still some things related to SVGAnimated* need to be solved first)
34187
34188        * bindings/scripts/CodeGenerator.pm:
34189        * bindings/scripts/CodeGeneratorJS.pm:
34190        * bindings/scripts/generate-bindings.pl:
34191
341922006-09-02  Nikolas Zimmermann  <zimmermann@kde.org>
34193
34194        Reviewed by hyatt.  Landed by eseidel.
34195
34196        Fix build on Linux.
34197
34198        * CMakeLists.txt: Add platform/CString.cpp.
34199        * platform/qt/FrameQt.cpp: Correct repsondToChangedContents() signature
34200        * platform/qt/FrameQt.h:: Correct respondToChangedContents() signature
34201
342022006-09-01  Darin Adler  <darin@apple.com>
34203
34204        Reviewed by Brady.
34205
34206        - a few small tweaks to the icon database bridge
34207
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.
34212
342132006-09-01  Timothy Hatcher  <timothy@apple.com>
34214
34215        Reviewed by Darin.
34216
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
34219
34220        jsNull should not be returned as NSNull because existing applications do not
34221        expect that return value. Return as nil for backwards compatibility.
34222
34223        * bindings/objc/WebScriptObject.mm:
34224        (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
34225
342262006-09-01  Alexey Proskuryakov  <ap@nypop.com>
34227
34228        Release build fix.
34229
34230        * loader/Decoder.cpp:
34231        (Decoder::Decoder): Use String::latin1().
34232
342332006-09-01  Alexey Proskuryakov  <ap@nypop.com>
34234
34235        Reviewed by Eric.
34236
34237        - http://bugs.webkit.org/show_bug.cgi?id=5620
34238        Should only honor encoding from <meta> in HTML
34239
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
34243
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::):
34257
34258        * bridge/mac/WebCoreEncodings.mm: Pass a content type of text/html to Decoder.
34259
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.
34266
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.
34272
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.
34281
342822006-09-01  Adele Peterson  <adele@apple.com>
34283
34284        Reviewed by John.
34285
34286        - Fix for http://bugs.webkit.org/show_bug.cgi?id=10580
34287          Password: New secure text field allows non-Roman text entry
34288
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.
34295
342962006-09-01  Adele Peterson  <adele@apple.com>
34297
34298        Reviewed by John.
34299
34300        - Fix for http://bugs.webkit.org/show_bug.cgi?id=10665
34301          Password: Disable smartReplace for new password fields
34302
34303        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
34304          Don't smart replace when the selection being replaced is in a password field.
34305
343062006-08-31  Sam Weinig  <sam.weinig@gmail.com>
34307
34308        Reviewed by Tim H.
34309
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.
34321
34322          Splits DOMHTMLAppletElement and DOMHTMLOptionElement into their own
34323          files.
34324
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:
34389
343902006-08-31  Alice Liu  <alice.liu@apple.com>
34391
34392        Reviewed by Darin.
34393
34394        Fixed <rdar://problem/4463870> Switch to use new text field implementation for <isindex>
34395
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()
34420
344212006-08-31  David Harrison  <harrison@apple.com>
34422
34423        Reviewed by Adele.
34424
34425        <rdar://problem/4708119> REGRESSION: Cannot observe an AXTextField element directly
34426
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
34430
34431        Remaining work for those two bugs in new bugs:
34432
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
34436
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.
34463
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.
34469
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.
34485
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.
34507
345082006-08-31  Adele Peterson  <adele@apple.com>
34509
34510        Reviewed by Darin.
34511
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
34514
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:
34519
345202006-08-31  Anders Carlsson  <acarlsson@apple.com>
34521
34522        Reviewed by Tim O, Hyatt.
34523
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
34551
345522006-08-31 Dave Hyatt <hyatt@apple.com>
34553
34554        Make ScrollBar.cpp suitable for compiling on Windows by removing the #import.
34555
34556        Reviewed by adam
34557
34558        * platform/ScrollBar.cpp:
34559
345602006-08-31  Brady Eidson  <beidson@apple.com>
34561
34562        Reviewed by John
34563
34564        Cleaned up my last patch after further considerations
34565
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:
34572
345732006-08-31  Anders Carlsson  <acarlsson@apple.com>
34574
34575        Reviewed by Maciej.
34576
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):
34599
346002006-08-31  Brady Eidson  <beidson@apple.com>
34601
34602        Reviewed by Hyatt
34603
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.
34606
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:
34612
346132006-08-31  Brady Eidson  <beidson@apple.com>
34614
34615        Reviewed by Hyatt
34616
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.
34621
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
34633
346342006-08-31  Sam Weinig  <sam.weinig@gmail.com>
34635
34636        Reviewed by Tim H.
34637
34638        - patch for http://bugs.webkit.org/show_bug.cgi?id=10653
34639          Auto-generate another 20 Objective-C DOM HTML bindings
34640
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.
34647
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:
34664
346652006-08-31  Adele Peterson  <adele@apple.com>
34666
34667        Reviewed by John Sullivan.
34668
34669        Removing use of SPI in favor of Carbon API to enable and disable secure event input.
34670
34671        * WebCore.exp: Removed wkSecureEventInput and wkSetSecureEventInput.
34672        * platform/mac/WebCoreSystemInterface.h: ditto.
34673        * platform/mac/WebCoreSystemInterface.mm: ditto.
34674
34675        * bridge/mac/FrameMac.mm:
34676        (WebCore::FrameMac::setSecureKeyboardEntry): Uses EnableSecureEventInput and DisableSecureEventInput.
34677        (WebCore::FrameMac::secureKeyboardEntry): Uses IsSecureEventInputEnabled.
34678
346792006-08-30  Brady Eidson  <beidson@apple.com>
34680
34681        Reviewed by "common sense" (and Maciej)
34682
34683        Fixed two logging typos
34684
34685        * loader/icon/IconDatabase.cpp:
34686        (WebCore::IconDatabase::syncDatabase):
34687
346882006-08-30  Adele Peterson  <adele@apple.com>
34689
34690        Adding missing nil check for focus node.
34691
34692        * page/Frame.cpp: (WebCore::Frame::setIsActive):
34693
346942006-08-30  Adele Peterson  <adele@apple.com>
34695
34696        Reviewed by Hyatt.
34697
34698        WebCore part of fix for  http://bugs.webkit.org/show_bug.cgi?id=10575
34699        Enable secure input mode for new password fields
34700
34701        * WebCore.exp: Added wkSetSecureEventInput and wkSecureEventInput.
34702        * platform/mac/WebCoreSystemInterface.h: ditto.
34703        * platform/mac/WebCoreSystemInterface.mm: ditto.
34704
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):
34716
347172006-08-30  Darin Adler  <darin@apple.com>
34718
34719        Reviewed by Tim Hatcher.
34720
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
34725
34726        * ForwardingHeaders/wtf/GetPtr.h: Added.
34727
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.
34734
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.
34748
347492006-08-30  Brady Eidson  <beidson@apple.com>
34750
34751        Reviewed by John
34752
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
34757
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:
34775
347762006-08-30  David Harrison  <harrison@apple.com>
34777
34778        Reviewed by John Sullivan.
34779
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
34782
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
347972006-08-30  David Hyatt  <hyatt@apple.com>
34798
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.
34802
34803        Reviewed by darin
34804
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):
34823
348242006-08-31  Nikolas Zimmermann  <zimmermann@kde.org>
34825
34826         Reviewed by Eric. Landed by rwlbuis.
34827
34828         Apply Rob's fixes in RenderPathQt too -> unbreak build.
34829
34830         * kcanvas/RenderPath.h: Some style cleanups.
34831         * kcanvas/device/qt/RenderPathQt.cpp:
34832         (WebCore::RenderPathQt::strokeContains):
34833         * kcanvas/device/qt/RenderPathQt.h:
34834
348352006-08-30  Sam Weinig  <sam.weinig@gmail.com>
34836        Reviewed by Tim H.
34837
34838        - patch for http://bugs.webkit.org/show_bug.cgi?id=10640
34839          Auto-generate 10 more Objective-C DOM HTML bindings
34840
34841          Auto-generates DOMHTMLBaseElement, DOMHTMLBodyElement, DOMHTMLHeadElement,
34842          DOMHTMLHtmlElement, DOMHTMLIsIndexElement, DOMHTMLLinkElement,
34843          DOMHTMLMetaElement, DOMHTMLStyleElement and DOMHTMLTitleElement.
34844
34845          Splits DOMHTMLDocument into it's own files.
34846
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:
34881
348822006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
34883
34884        Reviewed by eseidel.
34885
34886        Use QColor <-> Color conversion operator, instead of faking it.
34887
34888        * platform/qt/FontQt.cpp:
34889        (WebCore::Font::drawGlyphs):
34890        * platform/qt/GraphicsContextQt.cpp:
34891        (WebCore::GraphicsContext::fillRect):
34892
348932006-08-30  Rob Buis  <buis@kde.org>
34894
34895        Reviewed by Eric.
34896
34897        http://bugs.webkit.org/show_bug.cgi?id=10586
34898        pointer-events has issues when things are not stroked/filled
34899
34900        Add a param to fillContains/strokeContains to indicate
34901        whether we still want hit testing when there is no fill/stroke.
34902
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):
34910
349112006-08-29  Justin Garcia  <justin.garcia@apple.com>
34912
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
34917
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).
34926
349272006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
34928
34929        Reviewed by eseidel.
34930
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().
34934
34935        * platform/DeprecatedString.cpp:
34936        (WebCore::DeprecatedString::DeprecatedString):
34937        * platform/qt/StringQt.cpp:
34938
349392006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
34940
34941        Reviewed/landed by Adam.
34942
34943        Implement containsCharacters() / determinePitch() functions.
34944
34945        * platform/qt/FontDataQt.cpp:
34946        (WebCore::FontData::containsCharacters):
34947        (WebCore::FontData::determinePitch):
34948
349492006-08-30  Brady Eidson  <beidson@apple.com>
34950
34951        Reviewed by Darin's rubberstamp
34952
34953        We apparently have a fancy delateAllValues() helper for HashMap/Sets - I'll use that instead
34954
34955        * WebCore.xcodeproj/project.pbxproj:
34956        * loader/icon/IconDatabase.cpp:
34957        (WebCore::IconDatabase::removeAllIcons):
34958
349592006-08-29  waylonis  <waylonis@google.com>
34960
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:]):
34968
349692006-08-30  Adele Peterson  <adele@apple.com>
34970
34971        Reviewed by Darin.
34972
34973        - WebCore part of fix for:
34974        http://bugs.webkit.org/show_bug.cgi?id=10576
34975        Disallow copy from new password fields
34976
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.
34979
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.
34998
34999        * css/html4.css: Added !important to the -webkit-text-security property for password fields.
35000
350012006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
35002
35003        Reviewed by Tim H.
35004
35005        Commit KDE related tweaks, to be able to
35006        differentiate between a Qt-only or a KDE build.
35007
35008        * CMakeLists.txt: Move global variables up to trunk/CMakeLists.txt.
35009                          Also rename USE_WEBKIT_SVG_SUPPORT to WEBKIT_USE_SVG_SUPPORT.
35010
350112006-08-30  Timothy Hatcher  <timothy@apple.com>
35012
35013        Rubber-stamped by Brady.
35014
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.
35018
35019        * WebCore.xcodeproj/project.pbxproj:
35020        * bindings/scripts/CodeGeneratorObjC.pm:
35021
350222006-08-29  Brady Eidson  <beidson@apple.com>
35023
35024        Reviewed by Kevin Decker (Sarge)
35025
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
35028
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()
35044
350452006-08-29  Brady Eidson  <beidson@apple.com>
35046
35047        Reviewed by Alice
35048
35049        Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification
35050        This is a win on the iBench
35051
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:
35058
350592006-08-29  Alice Liu  <alice.liu@apple.com>
35060
35061        Reviewed by Brady.
35062
35063        Fixed <rdar://problem/4702021> REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar
35064
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.
35068
350692006-08-29  Darin Adler  <darin@apple.com>
35070
35071        Reviewed by Hyatt.
35072
35073        - fix <rdar://problem/4701494> REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector)
35074
35075        The bug was that we would return "none" for computed style properties when they were
35076        exactly "-1px".
35077
35078        Test: fast/css/computed-style-negative-top.html
35079
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.
35085
350862006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
35087
35088        Reviewed by eseidel.
35089
35090        Add path-related SVG JavaScript bindings to generation.
35091
35092        * CMakeLists.txt:
35093
350942006-08-29  Eric Seidel  <eric@webkit.org>
35095
35096        Reviewed by kevin.
35097
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
35102
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.
35145
351462006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
35147
35148        Reviewed by Eric, landed by Anders.
35149
35150        Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
35151
35152        Finish Unity merging. Remove libcurl usage, in favour of KIO.
35153        This makes the regression testing fly! IO processing is way faster now.
35154
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):
35185
351862006-08-29  Timothy Hatcher  <timothy@apple.com>
35187
35188        Reviewed by Eric.
35189
35190        Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes
35191        http://bugs.webkit.org/show_bug.cgi?id=10632
35192
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.
35198
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.
35203
352042006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
35205
35206        Reviewed and landed by Anders.
35207
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>
35211
35212        * platform/qt/SystemTimeQt.cpp:
35213        (WebCore::currentTime):
35214
352152006-08-29  Sam Weinig  <sam.weinig@gmail.com>
35216
35217        Reviewed by Tim H.
35218
35219        - patch for http://bugs.webkit.org/show_bug.cgi?id=10628
35220          Auto-generate the remaining Objective-C DOM bindings
35221
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.
35226
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:
35265
352662006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
35267
35268        Reviewed and landed by ap.
35269
35270        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10629.
35271        Drawing convex polygons is broken in the Qt platform.
35272
35273        * platform/qt/GraphicsContextQt.cpp:
35274        (WebCore::GraphicsContext::drawConvexPolygon):
35275
352762006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
35277
35278        Reviewed by Eric.
35279
35280        Implementing font hashing properly, fixes weird crashes in HashMap.
35281
35282        * platform/qt/FontPlatformData.h:
35283        * platform/qt/FontPlatformDataQt.cpp:
35284        (WebCore::FontPlatformData::FontPlatformData):
35285        (WebCore::FontPlatformData::hash):
35286
352872006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
35288
35289        Reviewed by ggaren.
35290
35291        Fix scrollbars to reappear after the first layouting.
35292
35293        * platform/qt/ScrollViewQt.cpp:
35294        (WebCore::ScrollView::suppressScrollBars):
35295
352962006-08-29  Anders Carlsson  <acarlsson@apple.com>
35297
35298        Reviewed by Darin and Geoff.
35299
35300        Move the CF String functions to separate files in platform/cf.
35301        Also, move the files in platform/cfnet to platform/cf.
35302
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:
35314
353152006-08-29  Geoffrey Garen  <ggaren@apple.com>
35316
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):
35323
353242006-08-28  Geoffrey Garen  <ggaren@apple.com>
35325
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.
35336
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:
35365
353662006-08-28  Justin Garcia  <justin.garcia@apple.com>
35367
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
35372
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().
35377
353782006-08-28  Tim Omernick  <timo@apple.com>
35379
35380        Reviewed by John Sullivan.
35381
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
35385
35386        No test cases added, since this is essentially a leak fix.
35387
35388        A brief history of NPP_GetValue(), NPObjects, and reference counting.
35389
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:
35393
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.
35396
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.
35400
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!
35409
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.
35419
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.
35426
354272006-08-28  Alice Liu  <alice.liu@apple.com>
35428
35429        Reviewed by Geoff.
35430
35431        Fixed <rdar://problem/4548537> Document.domain and other attributes are blank for an iframe created with document.write
35432
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
35439
354402006-08-28  Brady Eidson  <beidson@apple.com>
35441
35442        Reviewed by Adele and Adam
35443
35444        Added an optimization to return early if there's no replacements to be made
35445
35446        * platform/StringImpl.cpp:
35447        (WebCore::StringImpl::replace):
35448
354492006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
35450
35451        Reviewed and landed by ap.
35452
35453        Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
35454        Provide stub implementation of RenderPopupMenuQt.
35455
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):
35471
354722006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
35473
35474        Reviewed and landed by ap.
35475
35476        Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
35477        Offer QString -> DeprecatedString conversion.
35478
35479        * platform/DeprecatedString.h:
35480        * platform/qt/StringQt.cpp:
35481        (WebCore::DeprecatedString::DeprecatedString):
35482
354832006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
35484
35485        Reviewed by Tim Hatcher.
35486
35487        Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
35488
35489        * platform/qt/RenderThemeQt.cpp:
35490        (WebCore::RenderThemeQt::systemFont):
35491        Remove annoying notImplemented() usage in systemFont()
35492
354932006-08-28  David Harrison  <harrison@apple.com>
35494
35495        Reviewed by Darin.
35496
35497        <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute
35498
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.
35506
35507        (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
35508        Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
35509
35510        (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
35511        Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.
35512
355132006-08-28  David Harrison  <harrison@apple.com>
35514
35515        Reviewed by Darin.
35516
35517        <rdar://problem/4517383> Hide all images used for spacing purpose in AX
35518
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
35523
355242006-08-27  Brady Eidson  <beidson@apple.com>
35525
35526        Reviewed by Maciej
35527
35528        Rewrote StringImpl::replace(UChar, StringImpl*)
35529
35530        * platform/StringImpl.cpp:
35531        (WebCore::StringImpl::replace):
35532
355332006-08-27  Sam Weinig  <sam.weinig@gmail.com>
35534
35535        Reviewed by Tim H.
35536
35537        - patch for http://bugs.webkit.org/show_bug.cgi?id=4624
35538          WebCore needs autogenerated Obj-C DOM bindings
35539
35540          First round of auto-generated Objective C DOM bindings, starting
35541          with the DOM Core.
35542
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:
35648
356492006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
35650
35651        Reviewed by Tim H.
35652
35653        Fix crash in LayoutTests/css1/font_properties/font.html,
35654        by implementing FontData::smallCapsFontData.
35655
35656        * platform/qt/FontDataQt.cpp:
35657        (WebCore::FontData::platformDestroy):
35658        (WebCore::FontData::smallCapsFontData):
35659
356602006-08-27  Brady Eidson  <beidson@apple.com>
35661
35662        Reviewed by Maciej
35663
35664        Plugged a leak in StringImpl::replace()
35665
35666        * platform/StringImpl.cpp:
35667        (WebCore::StringImpl::replace):
35668
356692006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
35670
35671        Reviewed and landed by Anders.
35672
35673        Remove most annoying notImplemented() usages and
35674        implement some missing ScrollViewQt functions.
35675        Much nicer output when invoking run-webkit-tests.
35676
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):
35697
356982006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
35699
35700        Reviewed and landed by Anders.
35701
35702        Fix Qt build (add SVGMetaDataElement.cpp to build system)
35703
35704        * CMakeLists.txt:
35705
357062006-08-27  Eric Seidel  <eric@webkit.org>
35707
35708        Reviewed by andersca.
35709
35710        No logic changes.  Just cleanup.
35711
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.
35728
357292006-08-27  Brady Eidson  <beidson@apple.com>
35730
35731        Reviewed by Anders
35732
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
35736
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
35754
357552006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
35756
35757        Reviewed by Eric.
35758
35759        Fix switch logic.
35760
35761        * platform/qt/ScrollViewQt.cpp:
35762        (WebCore::ScrollView::setHScrollBarMode):
35763        (WebCore::ScrollView::setVScrollBarMode):
35764
357652006-08-27  Rob Buis  <buis@kde.org>
35766
35767        Reviewed by Eric.
35768
35769        http://bugs.webkit.org/show_bug.cgi?id=10557
35770        KCanvasPath should be replace by platform/Path
35771
35772        Refactoring out the KCanvasPath class.
35773
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):
35902
359032006-08-26  Eric Seidel  <eric@webkit.org>
35904
35905        Reviewed by hyatt.
35906
35907        pointer-events attribute does not work.
35908        http://bugs.webkit.org/show_bug.cgi?id=10415
35909
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:
35924
359252006-08-27  Rob Buis  <buis@kde.org>
35926
35927        Reviewed by Eric.
35928
35929        http://bugs.webkit.org/show_bug.cgi?id=10558
35930        SVG should have support for <metadata> element
35931
35932        Add support for metadata tag.
35933
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:
35943
359442006-08-26  Nikolas Zimmermann  <zimmermann@kde.org>
35945
35946        Reviewed by Eric.
35947
35948        Daily Qt build fixes :-)
35949
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):
35956
359572006-08-26  David Hyatt  <hyatt@apple.com>
35958
35959        Fix the ifdef in Path.h to be CG.
35960
35961        * platform/Path.h:
35962
359632006-08-26  David Hyatt  <hyatt@apple.com>
35964
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.
35968
35969        * rendering/RenderThemeMac.mm:
35970        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
35971        (WebCore::RenderThemeMac::paintMenuListButton):
35972        (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
35973
359742006-08-25  David Hyatt  <hyatt@apple.com>
35975
35976        More refactoring of image to disentangle graphics (e.g., Cairo) from
35977        platform (e.g., Windows).
35978
35979        * WebCore.vcproj/WebCore/WebCore.vcproj:
35980        Add ImageWin to project.
35981
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).
35988
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.
35998
35999        Renamed the methods that set OS-specific data (like NSImage) to PlatformData
36000        instead of NativeData.
36001
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.
36011
36012        * platform/cg/ImageCG.cpp:
36013        (WebCore::Image::drawTiled):
36014        Add FIXMEs to the wkpattern stuff.
36015
36016        * platform/cg/PDFDocumentImage.cpp:
36017        Shouldn't have #imports in .cpp.
36018
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.
36026
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.
36034
36035        * rendering/RenderLayer.cpp:
36036        (WebCore::RenderLayer::paintResizeControl):
36037        * rendering/RenderThemeMac.mm:
36038        (WebCore::RenderThemeMac::paintResizeControl):
36039        loadResource -> loadPlatformResource
36040
360412006-08-26  Adam Roben  <aroben@apple.com>
36042
36043        Rubber-stamped by Adele.
36044
36045        Fixed build.
36046
36047        * platform/cairo/GraphicsContextCairo.cpp:
36048        (WebCore::GraphicsContext::drawConvexPolygon):
36049
360502006-08-25  Adele Peterson  <adele@apple.com>
36051
36052        Patch by Francisco, Reviewed by me.
36053
36054        Preparation for switch to new text field implementation of password field.
36055
36056        Added -webkit-text-security property.
36057
36058        Tests: updated fast/css/computed-style-expected.txt
36059
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.
36067
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.
36077
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:
36081
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.
36093
360942006-08-25  Adele Peterson  <adele@apple.com>
36095
36096        Reviewed by Hyatt.
36097
36098        Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
36099
36100        Tests:   fast/forms/select-baseline.html
36101                 fast/borders/borderRadiusInvalidColor.html
36102        updated: fast/forms/select-style-expected.txt and more...
36103
36104        * css/html4.css: Added style rules for styled select elements.
36105
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.
36109
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.
36119
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.
36129
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.
36133
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.
36145
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.
36157
361582006-08-25  Brady Eidson  <beidson@apple.com>
36159
36160        Reviewed by Adam
36161
36162        Changed some time()-related code to be more platform independent
36163
36164        * loader/icon/IconDatabase.cpp:
36165        (WebCore::IconDatabase::isIconExpiredForIconURL):
36166        (WebCore::IconDatabase::getOrCreateIconDataCache):
36167        (WebCore::IconDatabase::setIconDataForIconURL):
36168
361692006-08-25  David Harrison  <harrison@apple.com>
36170
36171        Reviewed by Geoff.
36172
36173        <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute
36174
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().
36181
361822006-08-25  Brady Eidson  <beidson@apple.com>
36183
36184        Reviewed by Tim Hatcher
36185
36186        Changed some debugging-only code to be more platform independent
36187
36188        * WebCore.xcodeproj/project.pbxproj:
36189        * loader/icon/IconDatabase.cpp:
36190        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
36191        (WebCore::IconDatabase::syncDatabase):
36192
361932006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
36194
36195        Reviewed/landed by Adam.
36196
36197        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10561
36198        Qt platform build fixes.
36199
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:
36210
362112006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
36212
36213        Reviewed/landed by Adam.
36214
36215        Finally fix font caching. WebKit+Qt now works
36216        out of the box without any further patches :-)
36217
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==):
36228
362292006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
36230
36231        Reviewed/landed by Adam.
36232
36233        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10559
36234        Confirm to WebKit style guide - last fixes :-)
36235
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):
36294
362952006-08-24  David Harrison  <harrison@apple.com>
36296
36297        Reviewed by Justin.
36298
36299        Follow up for...
36300        <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
36301
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).
36307
363082006-08-24  Brady Eidson  <beidson@apple.com>
36309
36310        Reviewed by Alice
36311
36312        Fixed my previous checkin, which was pruning the users entire icon db on startup everytime
36313
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
36317
363182006-08-24  Geoffrey Garen  <ggaren@apple.com>
36319
36320        Reviewed by Darin.
36321
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.
36325
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.
36331
36332        Plus some random Windows build fix goodness.
36333
36334        Layout tests still pass.
36335
363362006-08-24  Timothy Hatcher  <timothy@apple.com>
36337
36338        Reviewed by Hyatt.
36339
36340        Allow changing the background color WebCore draws under transparent page backgrounds.
36341        No automated way to test. All tests pass, no performance regression.
36342
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):
36355
363562006-08-24  Darin Adler  <darin@apple.com>
36357
36358        Reviewed by Justin.
36359
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
36364
36365        Test: fast/forms/drag-into-textarea.html
36366
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.
36373
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.
36379
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.
36386
36387        * editing/ApplyStyleCommand.h: Removed document parameter from constructor.
36388        * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto.
36389
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.
36394
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.
36434
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.
36439
36440        * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor.
36441        * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.
36442
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.
36465
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):
36470
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.
36475
36476        * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor.
36477        * editing/InsertIntoTextNodeCommand.cpp:
36478        (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto.
36479
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.
36485
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.
36490
36491        * editing/InsertParagraphSeparatorCommand.cpp:
36492        (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr.
36493
36494        * editing/InsertTextCommand.h: Changed insertTab to take const Position&.
36495        * editing/InsertTextCommand.cpp:
36496        (WebCore::InsertTextCommand::input): Ditto.
36497        (WebCore::InsertTextCommand::insertTab): Ditto.
36498
36499        * editing/JSEditor.h: Tweaked formatting and names.
36500        * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr.
36501
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.
36508
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.
36525
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.
36531
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.
36536
36537        * editing/RemoveCSSPropertyCommand.h: Tweaked formatting.
36538
36539        * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter.
36540        * editing/RemoveNodeAttributeCommand.cpp:
36541        (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto.
36542
36543        * editing/RemoveNodeCommand.h: Removed unnecessary document parameter.
36544        * editing/RemoveNodeCommand.cpp:
36545        (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto.
36546
36547        * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter.
36548        * editing/RemoveNodePreservingChildrenCommand.cpp:
36549        (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto.
36550
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.
36557
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.
36564
36565        * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter.
36566        * editing/SetNodeAttributeCommand.cpp:
36567        (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto.
36568
36569        * editing/SplitElementCommand.h: Removed unnneeded document parameter.
36570        * editing/SplitElementCommand.cpp:
36571        (WebCore::SplitElementCommand::SplitElementCommand): Ditto.
36572
36573        * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter.
36574        * editing/SplitTextNodeCommand.cpp:
36575        (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto.
36576
36577        * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter.
36578        * editing/SplitTextNodeContainingElementCommand.cpp:
36579        (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto.
36580
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.
36594
36595        * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter.
36596        * editing/WrapContentsInDummySpanCommand.cpp:
36597        (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto.
36598
36599        * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of
36600        unsigned short.
36601
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.
36624
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.
36628
366292006-08-24  Brady Eidson  <beidson@apple.com>
36630
36631        Reviewed by Alice
36632
36633        <rdar://problem/4697973> - Unacceptable delay on startup
36634        <rdar://problem/4690949> - Need to correctly prune unretained pageurls and icons on startup
36635
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.
36641
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:
36656
366572006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36658
36659        Reviewed/landed by Adam.
36660
36661        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
36662        WebKit should have Qt platform support
36663
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).
36678
366792006-08-24  Adam Roben  <aroben@apple.com>
36680
36681        Fixing a typo from last patch.
36682
36683        * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
36684        (WebCore::KRenderingPaintServerQt::setPenProperties):
36685
366862006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36687
36688        Reviewed/landed by Adam.
36689
36690        Final cleanup to conform to WebKit coding style!
36691
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):
36807
368082006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36809
36810        Reviewed and landed by Anders.
36811
36812        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
36813        WebKit should have Qt platform support
36814
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):
36899
369002006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36901
36902        Reviewed by ap.
36903
36904        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
36905        WebKit should have Qt platform support
36906
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):
36937
369382006-08-24  David Harrison  <harrison@apple.com>
36939
36940        Reinstate r15966 because layout test changes are correct.
36941
36942        <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
36943
36944        * editing/TextIterator.cpp:
36945        (WebCore::TextIterator::advance):
36946
369472006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
36948
36949        Reviewed by ap.
36950
36951        http://bugs.webkit.org/show_bug.cgi?id=10467
36952        WebKit should have Qt platform support (Part II)
36953
36954        Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
36955        Use AffineTransform everywhere instead.
36956
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):
36965
369662006-08-24  Rob Buis  <buis@kde.org>
36967
36968        Reviewed by Darin.
36969
36970        http://bugs.webkit.org/show_bug.cgi?id=10524
36971        svg transform: comma delimiting breaks display
36972
36973        Properly parse transforms which use ',' as seperators.
36974
36975        * ksvg2/svg/SVGTransformable.cpp:
36976        (SVGTransformable::parseTransformAttribute):
36977
369782006-08-23  Darin Adler  <darin@apple.com>
36979
36980        Reviewed by Maciej.
36981
36982        - added an assert to make it slightly easier to debug the common case of
36983          calling document() on a node of 0
36984
36985        * dom/Node.h: (WebCore::Node::document): ASSERT(this).
36986
369872006-08-23  David Hyatt  <hyatt@apple.com>
36988
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).
36992
36993        Reviewed by darin
36994
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.
37063
370642006-08-23  David Hyatt  <hyatt@apple.com>
37065
37066        Remove the ifdef for platform scrollbars vs. engine scrollbars until
37067        engine scrollbars actually exist.
37068
37069        * platform/ScrollBar.h:
37070        (WebCore::ScrollBar::hasPlatformScrollBars):
37071
370722006-08-23  Justin Garcia  <justin.garcia@apple.com>
37073
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()
37079
37080        * editing/VisiblePosition.cpp:
37081        (WebCore::VisiblePosition::next):
37082        (WebCore::VisiblePosition::previous):
37083        (WebCore::VisiblePosition::canonicalPosition):
37084        * editing/VisiblePosition.h:
37085
370862006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
37087
37088        Reviewed by Alexey. Landed by rwlbuis.
37089
37090        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37091        WebKit should have Qt platform support (Part II)
37092
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):
37165
371662006-08-23  Brady Eidson  <beidson@apple.com>
37167
37168        Reviewed by Adele
37169
37170        Moved default URL icon from WebKit to WebCore
37171
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:
37181
371822006-08-23  Adam Roben  <aroben@apple.com>
37183
37184        Reviewed by Darin, Adele.
37185
37186        Some popup refactoring/cleanup.
37187
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):
37201
372022006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
37203
37204        Reviewed by Anders. Landed by rwlbuis.
37205
37206        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37207        WebKit should have Qt platform support
37208
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):
37232
372332006-08-23  Brady Eidson  <beidson@apple.com>
37234
37235        Reviewed by Maciej
37236
37237        Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries
37238
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
37257
372582006-08-22  Maciej Stachowiak  <mjs@apple.com>
37259
37260        Reviewed by Brady.
37261
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
37269
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.
37301
373022006-08-22  Brady Eidson  <beidson@apple.com>
37303
37304        Reviewed by Maciej
37305
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.
37313
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.
37332
37333
373342006-08-22  Justin Garcia  <justin.garcia@apple.com>
37335
37336        Reviewed by harrison
37337
37338        <http://bugs.webkit.org/show_bug.cgi?id=10449>
37339        REGRESSION(r15918): drag-into-marker.html failing
37340
37341        * editing/ReplaceSelectionCommand.cpp:
37342        (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
37343        in a list item.
37344
373452006-08-22  Brady Eidson  <beidson@apple.com>
37346
37347        Reviewed by Kevin
37348
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
37353
37354        * platform/mac/ImageMac.mm:
37355        (WebCore::Image::getTIFFRepresentation):
37356
373572006-08-22  David Harrison  <harrison@apple.com>
37358
37359        Backed out my last change (r15966) because it broke lots of layout tests.
37360
37361        * editing/TextIterator.cpp:
37362        (WebCore::TextIterator::advance):
37363
373642006-08-22  Maciej Stachowiak  <mjs@apple.com>
37365
37366        Reviewed by Anders.
37367
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
37371
37372        * WebCore.exp:
37373        * WebCore.xcodeproj/project.pbxproj:
37374        * platform/mac/WebCoreSystemInterface.h:
37375        * platform/mac/WebCoreSystemInterface.mm:
37376
373772006-08-22  Justin Garcia  <justin.garcia@apple.com>
37378
37379        Reviewed by harrison
37380
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:
37391
373922006-08-22  David Harrison  <harrison@apple.com>
37393
37394        Reviewed by Darin.
37395
37396        <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole
37397
37398        This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.
37399
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.
37408
374092006-08-22  Rob Buis  <buis@kde.org>
37410
37411        Reviewed by Eric.
37412
37413        http://bugs.webkit.org/show_bug.cgi?id=10402
37414        REPRO: SVG crashes inside gradient code
37415
37416        Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.
37417
37418        * ksvg2/svg/SVGGradientElement.cpp:
37419        (SVGGradientElement::notifyAttributeChange):
37420        (SVGGradientElement::resourceNotification):
37421
374222006-08-22  David Harrison  <harrison@apple.com>
37423
37424        Reviewed by John.
37425
37426        <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange
37427
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
374452006-08-22  David Harrison  <harrison@apple.com>
37446
37447        Reviewed by John.
37448
37449        <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
37450
37451        Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too.
37452
37453        * editing/TextIterator.cpp:
37454        (WebCore::TextIterator::advance):
37455        Include controls.
37456
374572006-08-22  David Harrison  <harrison@apple.com>
37458
37459        Reviewed by Maciej.
37460
37461        <rdar://problem/4407336> Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker
37462
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.
37468
374692006-08-22  Rob Buis  <buis@kde.org>
37470
37471        Reviewed by Eric.
37472
37473        http://bugs.webkit.org/show_bug.cgi?id=10491
37474        KCanvasMatrix removal
37475
37476        Remove KCanvasMatrix from project, using AffineTransform instead.
37477
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):
37525
375262006-08-22  Rob Buis  <buis@kde.org>
37527
37528        Reviewed by Eric.
37529
37530        http://bugs.webkit.org/show_bug.cgi?id=10405
37531        REPRO: SVG Maze crashes in RenderPath code
37532
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.
37535
37536        * kcanvas/RenderPath.cpp:
37537        (WebCore::RenderPath::paint):
37538        * kcanvas/device/quartz/KCanvasPathQuartz.mm:
37539        (WebCore::KCanvasPathQuartz::strokeBoundingBox):
37540
375412006-08-21  Brady Eidson  <beidson@apple.com>
37542
37543        Reviewed by Maciej
37544
37545        <rdar://4690949> - New IconDB: Need to prune unretained icons on startup
37546
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
37552
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:
37561
375622006-08-21  Alexey Proskuryakov  <ap@nypop.com>
37563
37564        Reviewed by Eric.
37565
37566        http://bugs.webkit.org/show_bug.cgi?id=10419
37567        XSLTProcessor transformToFragment fails because of an XML declaration
37568
37569        Test: fast/xsl/transformToFragment-XML-declaration.html
37570
37571        * xml/XSLTProcessor.cpp:
37572        (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.
37573
375742006-08-21  David Harrison  <harrison@apple.com>
37575
37576        Reviewed by Justin.
37577
37578        <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
37579
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
37585
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.
37593
37594        (WebCore::AXAttributeStringSetSpelling):
37595        New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.
37596
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.
37608
376092006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
37610
37611        Reviewed by Eric.
37612
37613        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37614        WebKit should have Qt platform support
37615
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):
37709
377102006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
37711
37712        Reviewed by Maciej.
37713
37714        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37715        WebKit should have Qt platform support
37716
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):
37762
377632006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
37764
37765        Reviewed by Maciej.
37766
37767        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
37768        WebKit should have Qt platform support
37769
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):
37781
377822006-08-21  Brady Eidson  <beidson@apple.com>
37783
37784        Reviewed by John
37785
37786        -Defers writing to the database via a timer and handles starting the timer
37787         intelligently
37788
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:
37800
378012006-08-21  Alexey Proskuryakov  <ap@nypop.com>
37802
37803        Reviewed by Eric.
37804
37805        - http://bugs.webkit.org/show_bug.cgi?id=10429
37806          XSLTProcessor.transformToFragment crashes if the owner document is empty
37807
37808        Test: fast/js/xslt-fragment-in-empty-doc.html
37809
37810        * dom/XMLTokenizer.cpp:
37811        (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty.
37812
378132006-08-21  Brady Eidson  <beidson@apple.com>
37814
37815        Reviewed by Anders
37816
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
37822
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
37842
378432006-08-21  Brady Eidson  <beidson@apple.com>
37844
37845        Reviewed by Maciej's rubberstamp
37846
37847        Removed stale file references from the Xcode.proj
37848
37849        * WebCore.xcodeproj/project.pbxproj:
37850
378512006-08-20  Nikolas Zimmermann  <zimmermann@kde.org>
37852
37853        Reviewed by Maciej. Landed by rwlbuis.
37854
37855        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10463
37856        WebKit should have Qt platform support
37857
37858        Removing HelperQt.h usage by creating appropriate operators
37859        constructor in some of the platform classes, as suggested by Darin.
37860
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):
37887
378882006-08-18  Steve Falkenburg  <sfalken@apple.com>
37889
37890        Rubber stamped by adele.
37891
37892        Fix call to WebFormDelegate's textFieldDidBeginEditing.
37893
37894        * rendering/RenderTextControl.cpp:
37895        (WebCore::RenderTextControl::subtreeHasChanged):
37896
378972006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
37898
37899        Reviewed by Eric. Landed by rwlbuis.
37900
37901        Next chunk of the implementation for:
37902        http://bugs.webkit.org/show_bug.cgi?id=10467
37903
37904        WebKit should have Qt platform support
37905
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):
37914
379152006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
37916
37917        Reviewed by Eric. Landed by rwlbuis.
37918
37919        Next chunk of the implementation for:
37920        http://bugs.webkit.org/show_bug.cgi?id=10467
37921
37922        WebKit should have Qt platform support
37923
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):
37988
37989
379902006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
37991
37992        Reviewed by Eric. Landed by rwlbuis.
37993
37994        First chunk of the implementation for:
37995        http://bugs.webkit.org/show_bug.cgi?id=10467
37996
37997        WebKit should have Qt platform support
37998
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):
38160
381612006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
38162
38163        Reviewed by Eric. Landed by rwlbuis.
38164
38165        First chunk of the implementation for:
38166        http://bugs.webkit.org/show_bug.cgi?id=10467
38167
38168        WebKit should have Qt platform support
38169
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):
38188
38189 2006-08-18  Nikolas Zimmermann  <zimmermann@kde.org>
38190
38191         Reviewed by Eric. Landed by rwlbuis.
38192
38193         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10470
38194         The Qt platform needs a KCanvas device.
38195
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):
38239
382402006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
38241
38242        Reviewed by Eric. Landed by rwlbuis.
38243
38244        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10466
38245        WebKit should have Qt platform support.
38246
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:
38271
382722006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
38273
38274        Reviewed by Eric. Landed by rwlbuis.
38275
38276        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10465
38277        General WebKit Linux build fixes.
38278
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:
38290
382912006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
38292
38293        Reviewed by Eric. Landed by rwlbuis.
38294
38295        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10464
38296        Offer a cmake build system for Qt platform.
38297
38298        * CMakeLists.txt: Added.
38299
383002006-08-17  David Harrison  <harrison@apple.com>
38301
38302        Reviewed by John Sullivan.
38303
38304        <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
38305
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.
38324
38325        (-[WebCoreAXObject role]):
38326        Return NSAccessibilityPopUpButtonRole.
38327
38328        (-[WebCoreAXObject subrole]):
38329        Trivial formatting.
38330
38331        (-[WebCoreAXObject roleDescription]):
38332        Return NSAccessibilityPopUpButtonRole.
38333
38334        (-[WebCoreAXObject textUnderElement]):
38335        Trivial formatting.
38336
38337        (-[WebCoreAXObject value]):
38338        Return the RenderMenuList::text().
38339
38340        (-[WebCoreAXObject position]):
38341         Trivial formatting.
38342
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.
38374
383752006-08-17  David Harrison  <harrison@apple.com>
38376
38377        Reviewed by Maciej.
38378
38379        <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
38380
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
38384
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.
38388
383892006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
38390
38391        Reviewed by Anders.
38392
38393        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10447
38394        AffineTransform should be multi-platform compatible
38395
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):
38404
384052006-08-16  David Hyatt  <hyatt@apple.com>
38406
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).
38410
38411        Reviewed by beth
38412
38413        * css/cssstyleselector.cpp:
38414        (WebCore::CSSStyleSelector::applyProperty):
38415
384162006-08-15  Justin Garcia  <justin.garcia@apple.com>
38417
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).
38490
384912006-08-16  John Sullivan  <sullivan@apple.com>
38492
38493        Reviewed by Brady Eidson
38494
38495        - fixed <rdar://problem/4637156> underlines appearing in white selection text
38496
38497        * rendering/InlineFlowBox.cpp:
38498        (WebCore::InlineFlowBox::paintDecorations):
38499        bail out if phase is PaintPhaseSelection and forceWhiteText is true
38500
385012006-08-16  Brady Eidson  <beidson@apple.com>
38502
38503        Reviewed by John
38504
38505        Updated the DB version number and added a helpful comment explaining its meaning
38506
38507        * loader/icon/IconDatabase.cpp:
38508
385092006-08-16  Brady Eidson  <beidson@apple.com>
38510
38511        Reviewed by Maciej
38512
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
38525
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
38563
385642006-08-15  Jonas Witt <jonas.witt@gmail.com>
38565
38566        Reviewed by Darin.
38567
38568        - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
38569          http://bugs.webkit.org/show_bug.cgi?id=9736
38570
38571        * bindings/objc/DOMEvents.mm:
38572        (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
38573        * bindings/objc/DOMEventsNonstandard.mm:
38574        (-[DOMWheelEvent initWheelEvent:::::::::::]):
38575        * bindings/objc/DOMPrivate.h:
38576
38577        - added an initializer for the WheelEvent
38578
38579        * dom/WheelEvent.cpp:
38580        (WebCore::WheelEvent::initWheelEvent):
38581        * dom/WheelEvent.h:
38582
385832006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
38584
38585        Reviewed by Tim H.
38586
38587        Build fix:  DWARF and -gfull are incompatible with symbol separation.
38588
38589        * WebCore.xcodeproj/project.pbxproj:
38590
385912006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
38592
38593        Reviewed by Tim H.
38594
38595        http://bugs.webkit.org/show_bug.cgi?id=10394
38596        Bug 10394: WebKit Release and Production configurations should enable dead code stripping
38597
38598        * WebCore.xcodeproj/project.pbxproj:
38599
386002006-08-15  Geoffrey Garen  <ggaren@apple.com>
38601
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.
38622
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:
38639
386402006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
38641
38642        Reviewed by Tim H.
38643
38644        http://bugs.webkit.org/show_bug.cgi?id=10384
38645        Bug 10384: Switch to DWARF for Release configuration
38646
38647        * WebCore.xcodeproj/project.pbxproj:
38648
386492006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
38650
38651        Reviewed by Hyatt.
38652        Tweaked and landed by Darin.
38653
38654        http://bugs.webkit.org/show_bug.cgi?id=10399
38655        Bug 10399: RenderTextArea is unused
38656
38657        * WebCore.vcproj/WebCore/WebCore.vcproj:
38658        * WebCore.xcodeproj/project.pbxproj:
38659        * WebCoreSources.bkl:
38660        Removed RenderTextArea source files.
38661
38662        * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
38663        * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
38664
38665        * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
38666
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.
38673
386742006-08-15  Brady Eidson  <beidson@apple.com>
38675
38676        Reviewed by THE OTHER Maciej...
38677
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
38682
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
38691
386922006-08-14  Eric Seidel  <eric@webkit.org>
38693
38694        Reviewed by mjs.
38695
38696        <mask>, <marker>, <pattern> inside <defs> do not work
38697        http://bugs.webkit.org/show_bug.cgi?id=6548
38698
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
38709
387102006-08-14  Eric Seidel  <eric@webkit.org>
38711
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.
38718
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
38755
387562006-08-14  Anders Carlsson  <acarlsson@apple.com>
38757
38758        Reviewed by Maciej.
38759
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.
38775
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.
38787
387882006-08-14  Brady Eidson  <beidson@apple.com>
38789
38790        Reviewed by John
38791
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
38798
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
38815
388162006-08-14  David Hyatt  <hyatt@apple.com>
38817
38818        Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.
38819
38820        Reviewed by ggaren
38821
38822        Added fast/parser/bad-xml-slash.html
38823
38824        * html/HTMLTokenizer.cpp:
38825        (WebCore::HTMLTokenizer::parseTag):
38826
388272006-08-14  Darin Adler  <darin@apple.com>
38828
38829        Reviewed by John Sullivan.
38830
38831        - fix http://bugs.webkit.org/show_bug.cgi?id=10204
38832          REGRESSION: title tag parsing problem breaks Travelocity and Google Analytics pages
38833
38834        Test: fast/parser/title-error-test.html
38835
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.
38839
388402006-08-14  Darin Adler  <darin@apple.com>
38841
38842        Reviewed by Hyatt.
38843
38844        - fixed some storage leaks
38845          (part of http://bugs.webkit.org/show_bug.cgi?id=10259)
38846
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.
38850
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.
38855
388562006-08-14  David Harrison  <harrison@apple.com>
38857
38858        Reviewed by John Sullivan and Geoff Garen.
38859
38860        <rdar://problem/3854950> AX Seed: Blackboard Learning Systems - frame names need to be put in AXDescription AXAttribute
38861
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
38865
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.
38875
388762006-08-11  Anders Carlsson  <acarlsson@apple.com>
38877
38878        Reviewed by Darin.
38879
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.
38905
389062006-08-14  Maciej Stachowiak  <mjs@apple.com>
38907
38908        Reviewed by Brady.
38909
38910        - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
38911
38912        * WebCore.exp: export new functions
38913        * platform/mac/WebCoreSystemInterface.h: Added CFReadStream related functions
38914        * platform/mac/WebCoreSystemInterface.mm: ditto
38915
389162006-08-13  Maks Orlovich  <maksim@kde.org>
38917
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).
38922
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):
38927
389282006-08-12  Eric Seidel  <eric@webkit.org>
38929
38930        Reviewed by hyatt and mjs.
38931
38932        Fix two missing null checks causing layout test crashes.
38933
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
38938
38939
389402006-08-11  Eric Seidel  <eric@webkit.org>
38941
38942        Reviewed by andersca.
38943
38944        The outermost <svg> element needs to clip itself
38945        http://bugs.webkit.org/show_bug.cgi?id=5358
38946
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.
38963
389642006-08-11  Brady Eidson  <beidson@apple.com>
38965
38966        Reviewed by Maciej
38967
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
38972
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
38991
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:
38999
390002006-08-11  David Hyatt  <hyatt@apple.com>
39001
39002        Eliminate RenderImageButton.
39003
39004        Reviewed by darin
39005
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):
39013
390142006-08-11  Adele Peterson  <adele@apple.com>
39015
39016        Reviewed by Brady.
39017
39018        - Fix for <rdar://problem/4656274>
39019        REGRESSION: option elements are selected when added regardless of "selected" property
39020
39021        Test: fast/forms/option-constructor-selected.html
39022
39023        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setOption):
39024        When adding an option element, check that the option element is selected before calling setSelectedIndex.
39025
390262006-08-11  David Hyatt  <hyatt@apple.com>
39027
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).
39030
39031        Test is in fast/dynamic/link-href-change.html
39032
39033        Reviewed by darin
39034
39035        * html/HTMLAnchorElement.cpp:
39036        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
39037        (WebCore::HTMLAnchorElement::parseMappedAttribute):
39038        * html/HTMLAnchorElement.h:
39039        * html/HTMLAreaElement.cpp:
39040        (WebCore::HTMLAreaElement::parseMappedAttribute):
39041
390422006-08-09  Rob Buis  <buis@kde.org>
39043
39044        Reviewed by Darin.
39045
39046        Revert an over-optimization step that messed up the HashSet lookup.
39047
39048        * dom/DOMImplementation.cpp:
39049
390502006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
39051
39052        Rubber stamped by tim
39053
39054        Removed commented out code
39055
39056        * kcanvas/RenderSVGImage.cpp:
39057        (WebCore::RenderSVGImage::paint):
39058
390592006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
39060
39061        Reviewed by geoff
39062
39063        Fixed regression in SVG image layout
39064        (see bug #10346)
39065
39066        * kcanvas/RenderSVGImage.cpp:
39067        (WebCore::RenderSVGImage::paint):
39068
390692006-08-10  Anders Carlsson  <acarlsson@apple.com>
39070
39071        Rubber-stamped by Maciej.
39072
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.
39111
391122006-08-10  David Harrison  <harrison@apple.com>
39113
39114        Reviewed by John Sullivan.
39115
39116        <rdar://problem/4600112> REGRESSION: VO no longer able to review text within an edit field on web pages
39117
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
39121
39122        * bridge/mac/WebCoreAXObject.mm:
39123        (-[WebCoreAXObject value]):
39124        Add handling for text input fields.
39125
391262006-08-09  Graham Dennis  <graham.dennis@gmail.com>
39127
39128        Reviewed by Darin.
39129
39130        - fix http://bugs.webkit.org/show_bug.cgi?id=10247
39131        REGRESSION: Unable to build webkit without SVG/XPATH
39132
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:
39560
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)
39565
395662006-08-08  Rob Buis  <buis@kde.org>
39567
39568        Reviewed by Darin.
39569
39570        http://bugs.webkit.org/show_bug.cgi?id=10230
39571        SVGDOMImplementation should die (and be rolled into DOMImplementation)
39572
39573        Delete SVGDOMImplementation and references to it. The
39574        svg specific functionality is now in DOMImplementation.
39575
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):
39617
396182006-08-07  Brady Eidson  <beidson@apple.com>
39619
39620        Reviewed by Anders and John
39621
39622        Icons can now refresh when new data is sent from WebKit, both on disk and in memory
39623
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
39631
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
39641
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
39647
396482006-08-05  Darin Adler  <darin@apple.com>
39649
39650        Reviewed by Eric Seidel.
39651
39652        - fix a storage leak
39653
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.
39657
396582006-08-05  Darin Adler  <darin@apple.com>
39659
39660        Reviewed by Hyatt.
39661
39662        - fix http://bugs.webkit.org/show_bug.cgi?id=10213
39663          REGRESSION: Crash in WebCore::RenderLayer::isTransparent involving <iframe> and <select>
39664
39665        Test: fast/frames/iframe-option-crash.xhtml
39666
39667        * rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
39668        Check for a nil renderer.
39669
396702006-08-04  David Hyatt  <hyatt@apple.com>
39671
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().
39677
39678        Reviewed by beth
39679
39680        * rendering/RenderBlock.cpp:
39681        (WebCore::RenderBlock::paint):
39682
396832006-08-04  David Hyatt  <hyatt@apple.com>
39684
39685        Fix remove() so that it is equivalent to calling removeChild on the
39686        parent.  This involved moving three operations that remove did.
39687
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.
39690
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.
39695
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.
39699
39700        Reviewed by beth
39701
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):
39712
397132006-08-04  David Hyatt  <hyatt@apple.com>
39714
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).
39720
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.
39724
39725        Reviewed by beth
39726
39727        Test Case: fast/lists/dynamic-marker-crash.html
39728
39729        * rendering/ListMarkerBox.cpp:
39730        * rendering/ListMarkerBox.h:
39731        * rendering/RenderListItem.cpp:
39732        (WebCore::RenderListItem::updateMarkerLocation):
39733
397342006-08-04  Sam Weinig  <sam.weinig@gmail.com>
39735
39736        Reviewed by Darin.
39737
39738        - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
39739          Make WebCore (and friends) compile with -Wshorten-64-to-32
39740
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.
39744
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]):
39758
397592006-08-03  David Hyatt  <hyatt@apple.com>
39760
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).
39765
39766        Reviewed by maciej
39767
39768        * ChangeLog:
39769        * rendering/RenderBlock.cpp:
39770        (WebCore::RenderBlock::getClearDelta):
39771
397722006-08-03  Justin Garcia  <justin.garcia@apple.com>
39773
39774        Reviewed by harrison
39775
39776        <rdar://problem/4641033/4515463/4052426/4046570/4053718/4053724/4060115/4062858>
39777        Copy/Paste fidelity was bad.
39778
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.
39785
397862006-08-03  Sam Weinig  <sam.weinig@gmail.com>
39787
39788        Reviewed by Darin.
39789
39790        - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
39791          Make WebCore compile with -Wundef
39792
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.
39800
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:
39898
398992006-08-03  Adam Roben  <aroben@apple.com>
39900
39901        Reviewed by Maciej and Beth.
39902
39903        Fix use-after-dispose heap corruption bug.
39904
39905        * rendering/ListMarkerBox.cpp:
39906        (WebCore::ListMarkerBox::destroy): Only call removeChild if we're not
39907        destroying the document
39908
399092006-08-03  Adam Roben  <aroben@apple.com>
39910
39911        Reviewed by Anders.
39912
39913        - Fixed Windows build.
39914
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):
39930
399312006-08-02  Justin Garcia  <justin.garcia@apple.com>
39932
39933        Reviewed by mjs
39934
39935        <http://bugs.webkit.org/show_bug.cgi?id=10225>
39936        GMail Editor: Change Hilite Color doesn't work
39937
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.
39943
399442006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
39945
39946        Reviewed by Adele and Darin.
39947
39948        - fix http://bugs.webkit.org/show_bug.cgi?id=10177
39949          REGRESSION: Successfully dragging text into a disabled field
39950
39951        Test: fast/forms/textfield-drag-into-disabled.html
39952
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.
39957
399582006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
39959
39960        Reviewed by Darin.
39961
39962        - fix http://bugs.webkit.org/show_bug.cgi?id=10198
39963          REGRESSION: WebKit r15750 crashes while loading anthem.com
39964
39965        Test: fast/overflow/generated-content-crash.html
39966
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.
39971
399722006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
39973
39974        Reviewed by Anders.
39975
39976        - fix http://bugs.webkit.org/show_bug.cgi?id=10202
39977          REGRESSION: Repro crash when loading an empty image document
39978
39979        Test: fast/tokenizer/image-empty-crash.html
39980
39981        * loader/ImageDocument.cpp:
39982        (WebCore::ImageTokenizer::stopParsing): Added null check for m_imageElement.
39983        (WebCore::ImageTokenizer::finish): Ditto.
39984
399852006-08-03  Darin Adler  <darin@apple.com>
39986
39987        Reviewed by Anders.
39988
39989        - clean up "flip"-related code a tiny bit
39990
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.
39996
39997        * bridge/mac/WebCoreFrameBridge.mm: (globalPoint): Removed type casts and
39998        simplified a bit.
39999
40000        * platform/mac/PlatformMouseEventMac.mm: (WebCore::globalPositionForEvent):
40001        * platform/mac/WheelEventMac.mm: (WebCore::globalPositionForEvent):
40002        Removed unneeded local variable.
40003
400042006-08-02  David Hyatt  <hyatt@apple.com>
40005
40006        Abstract RenderLayer scrollbar creation and destruction so that there
40007        is a clean spot in which to drop in engine scrollbar stuff.
40008
40009        Reviewed by timo
40010
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:
40019
400202006-08-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
40021
40022        Reviewed by Darin.
40023
40024        - fix http://bugs.webkit.org/show_bug.cgi?id=3438
40025          incorrect display of transparent 1x1 PNGs
40026
40027        Test: fast/replaced/image-solid-color-with-alpha.html
40028
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.
40033
400342006-08-02  Adam Roben  <aroben@apple.com>
40035
40036        Reviewed by Brady.
40037
40038        - Remove redundant #include
40039
40040        * loader/loader.cpp:
40041
400422006-07-31  Sam Weinig  <sam.weinig@gmail.com>
40043
40044        Reviewed by Darin.
40045
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.
40050
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):
40075
400762006-07-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
40077
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
40080
40081        Reviewed by Darin.
40082
40083        Pixel test: fast/backgrounds/solid-color-context-restore.html
40084
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.
40089
400902006-07-31  Maciej Stachowiak  <mjs@apple.com>
40091
40092        Rubber-stamped by Tim Hatcher.
40093
40094        - renamed TransferJob to ResourceLoader
40095
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:
40210
402112006-07-31  Darin Adler  <darin@apple.com>
40212
40213        Reviewed by Hyatt.
40214
40215        - removed obsolete cell margin hack
40216
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).
40220
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.
40225
402262006-07-31  Mark Rowe  <opendarwin.org@bdash.net.nz>
40227
40228        Reviewed by Maciej.
40229
40230        http://bugs.webkit.org/show_bug.cgi?id=9738
40231        Bug 9738: Unqualified :hover selector ignored in strict parsing mode
40232
40233        * css/cssstyleselector.cpp:
40234        (WebCore::CSSStyleSelector::checkSelector): Restrict the :hover and :active
40235        exclusion based on onlyHoverActive to quirks mode.
40236
402372006-07-31  David Hyatt  <hyatt@apple.com>
40238
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.
40243
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):
40261
402622006-07-31  David Hyatt  <hyatt@apple.com>
40263
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).
40269
40270        Reviewed by darin
40271
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:
40313
403142006-07-31  Adele Peterson  <adele@apple.com>
40315
40316        Reviewed by John and Anders.
40317
40318        - Fix for <rdar://problem/4380576> onChange does not get called when field changed by return key
40319
40320        Test: fast/forms/onchange-enter-submit.html
40321
40322        Blur (which will fire onChange appropriately) before submitting a form when pressing Enter.
40323        This matches the sequence of events fired in WinIE.
40324
40325        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
40326        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler):
40327
403282006-07-31  Geoffrey Garen  <ggaren@apple.com>
40329
40330        Reviewed by Kevin.
40331
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).
40334
40335        * platform/String.cpp:
40336        (string):
40337
403382006-07-31  David Hyatt  <hyatt@apple.com>
40339
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.
40344
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.
40348
40349        Reviewed by darin
40350
40351        Adding test case from bug into fast/overflow/dynamic-hidden.html
40352
40353        * rendering/RenderLayer.cpp:
40354        (WebCore::RenderLayer::setHasHorizontalScrollbar):
40355        (WebCore::RenderLayer::setHasVerticalScrollbar):
40356        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
40357
403582006-07-31  Graham Dennis  <graham.dennis@gmail.com>
40359
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
40369
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.
40375
403762006-07-31  Geoffrey Garen  <ggaren@apple.com>
40377
40378        Reviewed by Darin.
40379
40380        * platform/String.cpp:
40381        (WebCore::string): Added a debugging function to create a String from a
40382        const char*.
40383
403842006-07-31  Anders Carlsson  <acarlsson@apple.com>
40385
40386        * css/CSSPrimitiveValue.cpp:
40387        Fix windows build.
40388
403892006-07-31  Geoffrey Garen  <ggaren@apple.com>
40390
40391        Reinstating my last change. Everything builds now.
40392
403932006-07-31  Geoffrey Garen  <ggaren@apple.com>
40394
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.
40397
403982006-07-31  Geoffrey Garen  <ggaren@apple.com>
40399
40400        Reviewed by Maciej.
40401
40402        Moved files around to make WebCore's structure clearer
40403        and easier to explain.
40404
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)
40408
40409        WebCore+SVG/DOMList.h -> ksvg2/svg/ (only files inside ksvg2/svg/
40410        use DOMList.h)
40411
40412        icon -> loader/icon
40413
40414        I tested that everything still builds.
40415
404162006-07-30  Darin Adler  <darin@apple.com>
40417
40418        Reviewed by Tim Hatcher.
40419
40420        - some improvements for the benefit of the style pane of the inspector
40421
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.
40437
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.
40448
40449        * css/tokenizer.flex: Whitespace tweaks to line things up better.
40450
404512006-07-30  Eric Seidel  <eric@webkit.org>
40452
40453        Reviewed by gramps!
40454
40455        Remove some unused SVG code.
40456
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.
40462
404632006-07-29  Darin Adler  <darin@apple.com>
40464
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.
40469
40470        * bindings/objc/WebScriptObject.h:
40471        * bindings/objc/WebScriptObject.mm:
40472        * platform/FontData.cpp:
40473
404742006-07-29  Sam Weinig  <sam.weinig@gmail.com>
40475
40476        Reviewed by Darin.
40477
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
40481
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.
40494
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:
40749
407502006-07-29  Rob Buis  <buis@kde.org>
40751
40752        Reviewed by Geoff.
40753
40754        http://bugs.webkit.org/show_bug.cgi?id=10151
40755        ghostmap XHTML + SVG fails due to javascript undefined exception
40756
40757        Make sure document.URL works when called from a non-HTML document.
40758
40759        * bindings/js/kjs_html.cpp:
40760        (KJS::JSHTMLDocument::getValueProperty):
40761        * bindings/js/kjs_html.h:
40762        (KJS::JSHTMLDocument::):
40763        * dom/Document.idl:
40764
407652006-07-29  Mike Emmel  <mike.emmel@gmail.com>
40766
40767        Reviewed and tweaked by Darin.
40768
40769        - fixes for Linux build
40770          (still might not compile, since Darin tweaked but was unable to test).
40771
40772        * WebCoreSources.bkl: Added some new sources, removed some obsolete ones.
40773        * Projects/gdk/webcore-gdk.bkl: Added RenderPopupMenuGdk.cpp
40774
40775        * html/HTMLPlugInElement.h: Removed incorrect syntax with class name
40776        before ::.
40777
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.
40785
40786        * platform/gdk/TemporaryLinkStubs.cpp: Add some new stubs.
40787
407882006-07-29  Mark Rowe  <opendarwin.org@bdash.net.nz>
40789
40790        Reviewed by Darin.
40791
40792        http://bugs.webkit.org/show_bug.cgi?id=10022
40793        Bug 10022: REGRESSION: Crash in WebCore::XMLTokenizer::characters
40794
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.
40798
407992006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
40800
40801        Reviewed by John Sullivan.
40802
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])
40806
40807        * manual-tests/subview-click-assertion.html: Added.
40808
408092006-07-29  Andrew Wellington  <proton@wiretapped.net>
40810
40811        Reviewed by Darin.
40812
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
40815
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.
40821
408222006-07-29  Alexey Proskuryakov  <ap@nypop.com>
40823
40824        Reviewed by Darin.
40825
40826        Fix http://bugs.webkit.org/show_bug.cgi?id=10147
40827        REGRESSION: custom attribute values set via javascript are not persistent
40828
40829        Test: fast/dom/Element/setAttribute-case-insensitivity.html
40830
40831        * dom/Element.cpp:
40832        (WebCore::Element::setAttribute): Use the lowercased localName for retrieving the old value, too.
40833
408342006-07-28  Timothy Hatcher  <timothy@apple.com>
40835
40836        Suggested by Darin.
40837
40838        Moving the implementation of isContentEditable to the
40839        the WebPrivate category.
40840
40841        * bindings/objc/DOM.mm:
40842        (-[DOMNode isContentEditable]):
40843
408442006-07-28  Justin Garcia  <justin.garcia@apple.com>
40845
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.
40856
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):
40867
408682006-07-27  Justin Garcia  <justin.garcia@apple.com>
40869
40870        Reviewed by levi
40871
40872        More changes for:
40873        <rdar://problem/4242293>
40874        Poor paste fidelity of http://www.google.com/
40875
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.
40891
408922006-07-28  Timothy Hatcher  <timothy@apple.com>
40893
40894        Reviewed by John.
40895
40896        Adding isContentEditable to DOMNode's private category.
40897
40898        * bindings/objc/DOMPrivate.h:
40899
409002006-07-28  Alexey Proskuryakov  <ap@nypop.com>
40901
40902        Rolling out http://bugs.webkit.org/show_bug.cgi?id=6010 because of failing layout tests.
40903        Add better SVGLoad event support.
40904
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):
40937
409382006-07-28  Adele Peterson  <adele@apple.com>
40939
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.
40942
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:
40956
409572006-07-27  Eric Seidel  <eric@webkit.org>
40958
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.
40965
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
41002
410032006-07-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41004
41005        Reviewed by Anders.
41006
41007        - http://bugs.webkit.org/show_bug.cgi?id=10135
41008          Cleanup: remove useless parameters from RenderObject::position()
41009
41010        No test possible (no functionality change)
41011
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):
41027
410282006-07-27  Rob Buis  <buis@kde.org>
41029
41030        Reviewed by Maciej.
41031
41032        http://bugs.webkit.org/show_bug.cgi?id=9753
41033        SVG with width and height 100% leaves room for scrollbar on the right.
41034
41035        Relayout children of svg containers, except svg shapes that do not depend on percentages.
41036
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):
41049
410502006-07-27  Justin Garcia  <justin.garcia@apple.com>
41051
41052        Reviewed by levi
41053
41054        <rdar://problem/4242293>
41055        Poor paste fidelity of http://www.google.com/
41056
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.
41062
410632006-07-27  Alexander Kellett  <lypanov@kde.org>
41064
41065        Reviewed by Darin.
41066
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
41069
41070        * bindings/scripts/CodeGeneratorJS.pm: add new attribute - HasOverridingNameGetter
41071        * html/HTMLFormElement.idl:
41072
410732006-07-27  Rob Buis  <buis@kde.org>
41074
41075        Reviewed by Anders.
41076
41077        http://bugs.webkit.org/show_bug.cgi?id=8992
41078        Some HTML DOM attributes have incorrect types
41079
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.
41084
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:
41095
410962006-07-27  Justin Garcia  <justin.garcia@apple.com>
41097
41098        Reviewed by levi
41099
41100        <rdar://problem/4628409>
41101        Safari crashes in CompositeEditCommand::removeBlockPlaceholder entering text in a web page form
41102
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.
41113
411142006-07-27  Graham Dennis  <graham.dennis@gmail.com>
41115
41116        Reviewed by Darin.
41117
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
41122
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
41128
411292006-07-27  Eric Seidel  <eric@webkit.org>
41130
41131        Reviewed by ap.
41132
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.
41136
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):
41147
411482006-07-27  Rob Buis  <buis@kde.org>
41149
41150        Reviewed by Darin.
41151
41152        http://bugs.webkit.org/show_bug.cgi?id=9938
41153        Fix viewBox issues in Hixie's test
41154
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.
41158
41159        * ksvg2/svg/SVGFitToViewBox.cpp:
41160        (SVGFitToViewBox::parseViewBox):
41161
411622006-07-27  Eric Seidel  <eric@webkit.org>
41163
41164        Reviewed by ap.
41165
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.
41170
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):
41211
412122006-07-26  Alexey Proskuryakov  <ap@nypop.com>
41213
41214        Reviewed by Darin.
41215
41216        Fix http://bugs.webkit.org/show_bug.cgi?id=9901
41217        XSLTProcessor cannot parse text nodes for INPUT ELEMENTS in an XSLT stylesheet
41218
41219        Test: fast/js/xhtml-serialize.html
41220
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.
41224
412252006-07-26  Alice Liu  <alice.liu@apple.com>
41226
41227        Reviewed by John Sullivan (and Kevin and Timo).
41228
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
41231
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.
41237
412382006-07-26  Justin Garcia  <justin.garcia@apple.com>
41239
41240        Reviewed by darin
41241
41242        <rdar://problem/4652788>
41243        REGRESSION: Can't change size or style of any text in message body
41244
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:
41252
412532006-07-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41254
41255        Reviewed by ap.
41256
41257        - fix debug-only information() string for table cells
41258
41259        * rendering/RenderObject.cpp:
41260        (WebCore::RenderObject::information):
41261
412622006-07-25  David Harrison  <harrison@apple.com>
41263
41264        Reviewed by timo and Darin.
41265
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.
41273
412742006-07-25  Justin Garcia  <justin.garcia@apple.com>
41275
41276        Reviewed by adele
41277
41278        <rdar://problem/4649560>
41279        REGRESSION: Can't Select All when the body is contentEditable="true"
41280
41281        * editing/VisiblePosition.cpp:
41282        (WebCore::VisiblePosition::canonicalPosition): Allow descent from a non-editable html
41283        element into an editable body as a convenience.
41284
412852006-07-25  Justin Garcia  <justin.garcia@apple.com>
41286
41287        Reviewed by darin
41288
41289        <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">
41290
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.
41297
412982006-07-25  David Kilzer  <ddkilzer@kilzer.net>
41299
41300        Reviewed by Darin.
41301
41302        - fix http://bugs.webkit.org/show_bug.cgi?id=9717
41303          Replace IDL ConvertUndefinedToTrue parameter attribute with Optional attribute
41304
41305        No test added because there is no change in functionality.
41306
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.
41314
413152006-07-24  Dan Waylonis  <waylonis@google.com>
41316
41317        Reviewed and tweaked a bunch by Darin.
41318
41319        Test: plugins/bindings-test.html
41320
41321        - fix http://bugs.webkit.org/show_bug.cgi?id=9902
41322          jsNull and NSNull not properly converted between JS and ObjC
41323
41324        * bindings/objc/WebScriptObject.mm:
41325        (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
41326        Added case that converts jsNull to NSNull.
41327
413282006-07-24  Darin Adler  <darin@apple.com>
41329
41330        Reviewed by Adele and Justin.
41331
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
41337
41338        Test: fast/forms/textarea-type-spaces.html
41339        Test: fast/forms/textarea-paste-newline.html
41340
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.
41344
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.
41357
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.
41361
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.
41367
41368        * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
41369        Use a text node instead of a break element when inserting and the style is preserveNewline.
41370
41371        * editing/JSEditor.cpp: (WebCore::execRemoveFormat): Pass the selection range
41372        to createFragmentFromText.
41373
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.
41377
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.
41403
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.
41414
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.
41417
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.
41423
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.
41430
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.
41441
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.
41446
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.
41453
41454        * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setDefaultValue):
41455        Changed to use Vector instead of DeprecatedPtrList.
41456
41457        * editing/HTMLInterchange.cpp: Removed obsolete comment.
41458
41459        * loader/Cache.h: Removed a stray include.
41460
414612006-07-24  Adele Peterson  <adele@apple.com>
41462
41463        Reviewed by Justin.
41464
41465        - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails
41466
41467        Test: * editing/style/apple-style-editable-mix.html
41468
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.
41473
414742006-07-24  Darin Adler  <darin@apple.com>
41475
41476        Reviewed by Hyatt.
41477
41478        - implement String::createCFString
41479
41480        * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.
41481
41482        * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.
41483
41484        * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
41485        and added the CFStringRef ones.
41486        * platform/mac/StringMac.mm: Added. Ditto.
41487
414882006-07-24  David Hyatt  <hyatt@apple.com>
41489
41490        Two bug fixes.
41491
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.
41495
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.
41501
41502        * rendering/RootInlineBox.cpp:
41503        (WebCore::RootInlineBox::addHighlightOverflow):
41504        * rendering/RootInlineBox.h:
41505        * rendering/bidi.cpp:
41506        (WebCore::RenderBlock::layoutInlineChildren):
41507
415082006-07-24  Anders Carlsson  <acarlsson@apple.com>
41509
41510        Reviewed by Adele.
41511
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.
41520
415212006-07-24  Dave MacLachlan  <dmaclach@mac.com>
41522
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>
41527
41528        Test: svg/custom/non-opaque-filters.svg
41529
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
41546
415472006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41548
41549        Reviewed by Hyatt.
41550
41551        - fix http://bugs.webkit.org/show_bug.cgi?id=9669
41552          Incomplete repaint when changing an inline's border
41553
41554        Test: fast/repaint/line-overflow.html
41555
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.
41568
415692006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41570
41571        Reviewed by Darin.
41572
41573        - fix http://bugs.webkit.org/show_bug.cgi?id=10075
41574          REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages
41575
41576        Test: fast/forms/select-visual-hebrew.html
41577
41578        * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.
41579
415802006-07-24  Alexey Proskuryakov  <ap@nypop.com>
41581
41582        Reviewed by Darin.
41583
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)
41586
41587        * page/Frame.cpp:
41588        (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
41589        claims it.
41590
415912006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41592
41593        Reviewed by Darin.
41594
41595        - fix http://bugs.webkit.org/show_bug.cgi?id=10083
41596          REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing
41597
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).
41603
416042006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
41605
41606        Reviewed by maciej.
41607
41608        Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
41609        http://bugs.webkit.org/show_bug.cgi?id=9686
41610
41611        WebCore portion of the fix.
41612
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.
41617
416182006-07-23  Alice Liu  <alice.liu@apple.com>
41619
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).
41622
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
41628
416292006-07-23  David Harrison  <harrison@apple.com>
41630
41631        Reviewed by timo.
41632
41633        <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
41634
41635        * Test: editing/deleting/delete-mixed-editable-content-001.html
41636
41637        * editing/visible_units.cpp:
41638        (WebCore::startOfParagraph):
41639        Respect editable boundary the same way endOfParagraph does.
41640
416412006-07-23  Beth Dakin  <bdakin@apple.com>
41642
41643        Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
41644
41645        Fix for <rdar://problem/4529398> WebCore crashes when pasting rich
41646        text - WebCore::InlineBox::root()
41647
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.
41656
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:
41672
416732006-07-23  Alice Liu  <alice.liu@apple.com>
41674
41675        Reviewed by Darin.
41676
41677        fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point
41678
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
41687
416882006-07-23  Adele Peterson  <adele@apple.com>
41689
41690        Reviewed by Darin.
41691
41692        Updating fix from last checkin.
41693
41694        * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
41695        Only tell the view about this flexbox if there isn't another flexbox already cached.
41696
416972006-07-23  Adele Peterson  <adele@apple.com>
41698
41699        Reviewed by Maciej.
41700
41701        - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling
41702
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.
41708
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):
41713
417142006-07-22  Alexey Proskuryakov  <ap@nypop.com>
41715
41716        Reviewed by Darin.
41717
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
41721
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.
41726
417272006-07-21  Maciej Stachowiak  <mjs@apple.com>
41728
41729        Reviewed by Adele and Tim Omernick.
41730
41731        <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field
41732
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:
41759
417602006-07-21  Adele Peterson  <adele@apple.com>
41761
41762        Reviewed by Darin.
41763
41764        Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text
41765
41766        Test: fast/forms/textarea-scrolled-endline-caret.html
41767
41768        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
41769        When looking for the closest line box, take the scroll offset into account.
41770
417712006-07-21  Tim Omernick  <timo@apple.com>
41772
41773        Reviewed by Geoff & Maciej.
41774
41775        <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6
41776
41777        Geoff is working on a layout test for this.
41778
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
417862006-07-21  Maciej Stachowiak  <mjs@apple.com>
41787
41788        Reviewed by Darin.
41789
41790        <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value
41791
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.
41801
418022006-07-21  Beth Dakin  <bdakin@apple.com>
41803
41804        Reviewed by Darin.
41805
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.
41809
41810        * bridge/mac/WebCoreFrameBridge.mm:
41811        (-[WebCoreFrameBridge drawRect:]):
41812
418132006-07-21  Justin Garcia  <justin.garcia@apple.com>
41814
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
41819
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:
41834
41835=== Safari-521.20 ===
41836
418372006-07-21  Tim Omernick  <timo@apple.com>
41838
41839        Reviewed by Beth Dakin & John Sullivan.
41840
41841        <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]
41842
41843        Beth is in the middle of making a layout test for this; she will land it soon.
41844
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().
41852
418532006-07-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
41854
41855        Reviewed by Darin.
41856
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
41859
41860        Test: editing/selection/select-from-textfield-outwards.html
41861
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.
41878
418792006-07-21  Geoffrey Garen  <ggaren@apple.com>
41880
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.
41896
41897        * bindings/js/kjs_css.cpp:
41898        (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
41899
419002006-07-20  Justin Garcia  <justin.garcia@apple.com>
41901
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.
41916
419172006-07-21  Anders Carlsson  <acarlsson@apple.com>
41918
41919        Reviewed by Geoff.
41920
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.
41930
419312006-07-20  Anders Carlsson  <acarlsson@apple.com>
41932
41933        Reviewed by Geoff.
41934
41935        <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails
41936
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.
41942
419432006-07-20  Alice Liu  <alice.liu@apple.com>
41944
41945        Reviewed by Tim Omernick.
41946
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.
41949
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
41954
419552006-07-20  Alice Liu  <alice.liu@apple.com>
41956
41957        Reviewed by Adele.
41958
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.
41961
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
41976
419772006-07-20  Brady Eidson  <beidson@apple.com>
41978
41979        Reviewed by Maciej
41980
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.
41984
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
41994
41995        * dom/Document.h:
41996        Changed the EventListener list to be a vanilla pointer list to a refptr list
41997
419982006-07-20  John Sullivan  <sullivan@apple.com>
41999
42000        Reviewed by Maciej
42001
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
42012
420132006-07-19  Alexey Proskuryakov  <ap@nypop.com>
42014
42015        Reviewed by Darin.
42016
42017        Fix http://bugs.webkit.org/show_bug.cgi?id=8272
42018        Use of window.open & window.close can cause crash
42019
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.
42025
42026        * bridge/mac/FrameMac.mm:
42027        (WebCore::FrameMac::handleMouseMoveEvent):
42028        * rendering/RenderFormElement.cpp:
42029        (WebCore::RenderFormElement::clicked):
42030        Updated for the above changes.
42031
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.
42039
42040        * manual-tests/invalid-mouse-event.html: Added.
42041
420422006-07-20  Maciej Stachowiak  <mjs@apple.com>
42043
42044        Reviewed by Anders.
42045
42046        - delete line that I only commented in the last patch - meant to do this before landing
42047
42048        * html/HTMLFrameElement.cpp:
42049        (WebCore::HTMLFrameElement::close):
42050
420512006-07-19  Maciej Stachowiak  <mjs@apple.com>
42052
42053        Reviewed by Geoff.
42054
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.
42059
42060        * html/HTMLFrameElement.cpp:
42061        (WebCore::HTMLFrameElement::close): detach the child frame from
42062        its element, not the frame containing this element.
42063
420642006-07-20  Anders Carlsson  <acarlsson@apple.com>
42065
42066        Reviewed by Darin.
42067
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.
42071
420722006-07-19  Mark Rowe  <opendarwin.org@bdash.net.nz>
42073
42074        Reviewed by Darin.
42075
42076        http://bugs.webkit.org/show_bug.cgi?id=10021
42077        Bug 10021: REGRESSION: Stack overflow due to infinite recursion in
42078        Image::checkForSolidColor
42079
42080        * platform/Image.cpp:
42081        (WebCore::Image::cacheFrame): Don't call checkForSolidColor unless
42082        the frame was decoded successfully.
42083
420842006-07-19  Adele Peterson  <adele@apple.com>
42085
42086        Reviewed by Maciej.
42087
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
42091
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
42094
42095        Needs an http test. (http://bugs.webkit.org/show_bug.cgi?id=10020)
42096
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.
42100
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().
42105
42106        * bindings/objc/DOM.mm: (-[DOMElement isFocused]): Added SPI for autofill.
42107        * bindings/objc/DOMPrivate.h:
42108
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.
42122
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.
42129
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:
42135
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:
42141
421422006-07-19  Justin Garcia  <justin.garcia@apple.com>
42143
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
42148
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:
42159
421602006-07-19  Anders Carlsson  <acarlsson@apple.com>
42161
42162        Reviewed by Adele.
42163
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
421702006-07-19  David Hyatt  <hyatt@apple.com>
42171
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.
42175
42176        Reviewed by darin
42177
42178        WARNING: NO TEST CASES ADDED OR CHANGED (need test cases still)
42179
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):
42194
421952006-07-19  Justin Garcia  <justin.garcia@apple.com>
42196
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)
42201
42202        * editing/InsertParagraphSeparatorCommand.cpp:
42203        (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreakCommand instead of bailing
42204        if the enclosingBlockFlowElement doesn't have a parent.
42205
422062006-07-19  David Harrison  <harrison@apple.com>
42207
42208        Reviewed by Tim Hatcher.
42209
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.
42214
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.
42220
42221=== Safari-521.19 ===
42222
422232006-07-19  David Harrison  <harrison@apple.com>
42224
42225        Reviewed by Tim Hatcher.
42226
42227        <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
42228
42229        No test case as this can only be reproduced through ObjC APIs.
42230
42231        * editing/markup.cpp:
42232        (WebCore::createMarkup):
42233        Adjust the range for ancestor markup handling when main loop skips first node.
42234
422352006-07-18  David Hyatt  <hyatt@apple.com>
42236
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.
42240
42241        Reviewed by mjs and adele
42242
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:
42251
422522006-07-18  Anders Carlsson  <acarlsson@apple.com>
42253
42254        Reviewed by Darin.
42255
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
422772006-07-18  Alexey Proskuryakov  <ap@nypop.com>
42278
42279        Reviewed by Darin.
42280
42281        Fix http://bugs.webkit.org/show_bug.cgi?id=9013
42282        Let correct CSS custom cursor declarations parse
42283
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.
42288
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.
42291
422922006-07-18  Timothy Hatcher  <timothy@apple.com>
42293
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.
42301
42302        * WebCore.xcodeproj/project.pbxproj:
42303
423042006-07-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
42305
42306        Reviewed by Justin.
42307
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
42310
42311        Test: editing/selection/click-start-of-line.html
42312
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.
42317
423182006-07-18  Anders Carlsson  <acarlsson@apple.com>
42319
42320        Reviewed by Darin.
42321
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.
42333
423342006-07-17  Tim Omernick  <timo@apple.com>
42335
42336        Reviewed by Maciej.
42337
42338        <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
42339        by script
42340
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:
42355
423562006-07-17  Maciej Stachowiak  <mjs@apple.com>
42357
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/
42361
42362        * editing/htmlediting.cpp:
42363        (WebCore::editingIgnoresContent):
42364
423652006-07-17  Justin Garcia  <justin.garcia@apple.com>
42366
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.
42373
42374        No layout test because of 9980.
42375
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.
42380
423812006-07-17  Timothy Hatcher  <timothy@apple.com>
42382
42383        Reviewed by Darin.
42384
42385        <rdar://problem/4635281> JSCanvasRenderingContext2D::drawImage needs to initialize the exception code to zero
42386
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
42391
423922006-07-17  Timothy Hatcher  <timothy@apple.com>
42393
42394        Reviewed by Maciej.
42395
42396        <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
42397
42398        Moves WebScriptObject and WebUndefined to WebCore.
42399
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:
42414
424152006-07-17  David Hyatt  <hyatt@apple.com>
42416
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.
42420
42421        This fixes Yahoo.com.
42422
42423        Reviewed by darin
42424
42425        * css/cssparser.cpp:
42426        (WebCore::CSSParser::parseFont):
42427
424282006-07-17  Justin Garcia  <justin.garcia@apple.com>
42429
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):
42436
424372006-07-17  Maciej Stachowiak  <mjs@apple.com>
42438
42439        Reviewed by Beth.
42440
42441        <rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard
42442
42443        * html/HTMLInputElement.cpp:
42444        (WebCore::HTMLInputElement::setChecked):
42445        (WebCore::HTMLInputElement::preDispatchEventHandler):
42446        * html/HTMLInputElement.h:
42447
424482006-07-16  David Kilzer  <ddkilzer@kilzer.net>
42449
42450        Reviewed by Darin.
42451
42452        - fix for http://bugs.webkit.org/show_bug.cgi?id=9954
42453          REGRESSION: document.dir should return empty string in <head>
42454
42455        Test: fast/dom/document-dir-property.html
42456
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.
42460
424612006-07-16  David Kilzer  <ddkilzer@kilzer.net>
42462
42463        Reviewed by Darin.
42464
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.
42469
424702006-07-16  Darin Adler  <darin@apple.com>
42471
42472        Reviewed by John Sullivan.
42473
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
42477
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.
42481
42482        Test: fast/html/body-offset-properties.html
42483
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).
42488
424892006-07-16  Beth Dakin  <bdakin@apple.com>
42490
42491        Reviewed by Maciej.
42492
42493        Fix for <rdar://problem/4616595> REGRESSION: Problems with world
42494        clock widget clock hand motion on 9A211 + 4604574
42495
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.
42506
42507        * platform/cg/GraphicsContextCG.cpp:
42508        (WebCore::GraphicsContext::roundToDevicePixels):
42509
425102006-07-15  Darin Adler  <darin@apple.com>
42511
42512        - fix mistake from fix for 8952 that was breaking layout tests
42513
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.
42518
42519        I will write 100 times on the blackboard: "When Justin says something about editing,
42520        assume he is right."
42521
425222006-07-15  Darin Adler  <darin@apple.com>
42523
42524        - try to fix Windows build
42525
42526        * WebCore.vcproj/WebCore/WebCore.vcproj: Added StreamingTextDecoderICU.cpp/h.
42527
425282006-07-15  Darin Adler  <darin@apple.com>
42529
42530        Reviewed by John Sullivan.
42531
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
42535
42536        Test: fast/dynamic/move-node-with-selection.html
42537
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.
42542
425432006-07-15  Darin Adler  <darin@apple.com>
42544
42545        Reviewed by John Sullivan.
42546
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
42550
42551        Test: fast/lists/numeric-markers-outside-list.html
42552
42553        * rendering/RenderListItem.cpp: (WebCore::previousListItem):
42554        Look for list items, even when we're outside any list.
42555
425562006-07-15  Adele Peterson  <adele@apple.com>
42557
42558        Reviewed by John.
42559
42560        - Fix for <rdar://problem/4593970> REGRESSION (NativeTextField): autofill menu disappears after typing a 2nd character
42561
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.
42565
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.
42577
425782006-07-15  Geoffrey Garen  <ggaren@apple.com>
42579
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.
42593
425942006-07-15  Darin Adler  <darin@apple.com>
42595
42596        Reviewed by Adele.
42597
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
42601
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
42605
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.
42609
42610        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
42611        Consume Enter key keypress events even if the element is not in a form.
42612
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.
42617
426182006-07-15  Darin Adler  <darin@apple.com>
42619
42620        Reviewed by John Sullivan.
42621
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
42625
42626        Test: fast/forms/select-selected.html
42627
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).
42636
426372006-07-15  Darin Adler  <darin@apple.com>
42638
42639        Reviewed by John Sullivan.
42640
42641        - fix http://bugs.webkit.org/show_bug.cgi?id=9928
42642          REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
42643
42644        * bindings/objc/DOM.mm:
42645        (-[DOMNode addEventListener:::]): Moved into DOMEventTarget category.
42646        (-[DOMNode removeEventListener:::]): Ditto.
42647        (-[DOMNode dispatchEvent:]): Ditto.
42648
42649        * WebCore.xcodeproj/project.pbxproj: Allow Xcode to do its thing.
42650
426512006-07-15  Maciej Stachowiak  <mjs@apple.com>
42652
42653        Reviewed by Anders.
42654
42655        <rdar://problem/4632144> REGRESSION: table column tests failing as a result of very recent fix
42656
42657        * rendering/RenderTable.cpp:
42658        (WebCore::RenderTable::addChild): columns and colgroups are valid children of a table too, not
42659        just table sections!
42660
426612006-07-15  Anders Carlsson  <acarlsson@apple.com>
42662
42663        Reviewed by Darin.
42664
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.
42672
426732006-07-14  Alexey Proskuryakov  <ap@nypop.com>
42674
42675        Reviewed by Darin.
42676
42677        Fix http://bugs.webkit.org/show_bug.cgi?id=4195
42678        REGRESSION: KOI8-U encoding no longer supported.
42679
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
42685
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.
42690
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.
42695
42696        * loader/Decoder.cpp:
42697        (Decoder::Decoder):
42698        (Decoder::setEncodingName):
42699        (Decoder::decode):
42700        Use StreamingTextDecoder::create().
42701
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.
42707
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.
42724
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().
42731
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.
42749
42750        * platform/mac/TextEncodingMac.cpp: Removed. Code moved to StreamingTextDecoderMac.
42751
42752        * WebCore.xcodeproj/project.pbxproj:
42753
42754=== Safari-521.17 ===
42755
427562006-07-14  Timothy Hatcher  <timothy@apple.com>
42757
42758        <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
42759
42760        Made a DOMNode category in DOMEvents.h that lets DOMNode conform to the
42761        DOMEventTarget protocol that works with GCC 5412.
42762
42763        Removed forward declarations of WebCoreWidgetHolder and imported WebCoreWidgetHolder.h.
42764
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.
42767
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:
42801
428022006-07-14  Geoffrey Garen  <ggaren@apple.com>
42803
42804        Reviewed by Maciej.
42805
42806        - Updated ScriptInterpreter to work with Interpreter ref-counting in
42807        JavaScriptCore.
42808
42809        (KJS::ScriptInterpreter::~ScriptInterpreter): Now protected to catch
42810        manual delete.
42811
428122006-07-14  Anders Carlsson  <acarlsson@apple.com>
42813
42814        Reviewed by Adele and Justin.
42815
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.
42829
42830        * manual-tests/form-element-spelling.html: Added.
42831
428322006-07-14  Beth Dakin  <bdakin@apple.com>
42833
42834        Reviewed by Hyatt.
42835
42836        Fix for <rdar://problem/4621660> REGRESSION: Safari crashing in
42837        WebCore::FrameView::updateOverflowStatus
42838
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.
42842
42843        * page/FrameView.cpp:
42844        (WebCore::FrameView::updateOverflowStatus): Nil check.
42845
428462006-07-14  Adele Peterson  <adele@apple.com>
42847
42848        RS by Darin.
42849
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
42852
42853        Darin had a better fix in WebKit for this.
42854
42855        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
42856
428572006-07-14  Adele Peterson  <adele@apple.com>
42858
42859        Reviewed by Darin.
42860
42861        - Fix for <rdar://problem/4614054> REGRESSION: Safari submits forms when the Return key is hit to complete inline inputs
42862
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.
42869
428702006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
42871
42872        Reviewed by Darin.
42873
42874        - fix http://bugs.webkit.org/show_bug.cgi?id=9907
42875          REGRESSION (r15418): editing/pasteboard/paste-table-001 fails in pixel  mode
42876
42877        * rendering/RenderText.cpp:
42878        (WebCore::RenderText::caretRect): Fixed the calculation of the max/min allowed caret
42879        position.
42880
428812006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
42882
42883        Reviewed by Darin.
42884
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
42887
42888        Test: editing/deleting/delete-at-start-or-end.html
42889
42890        * editing/TypingCommand.cpp:
42891        (WebCore::TypingCommand::deleteKeyPressed): Added null check.
42892        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
42893
428942006-07-14  David Kilzer  <ddkilzer@kilzer.net>
42895
42896        Reviewed by Geoffrey.
42897
42898        - fix http://bugs.webkit.org/show_bug.cgi?id=9903
42899          Simplify logic in JSHTMLOptionsCollection::setLength() by using no-arg getNumber()
42900
42901        No test cases since there is no change in functionality.
42902
42903        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
42904        (WebCore::JSHTMLOptionsCollection::setLength):  Simplified logic by using the
42905        no-argument getNumber() method.
42906
429072006-07-14  Geoffrey Garen  <ggaren@apple.com>
42908
42909        Reviewed by Adele.
42910
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):
42917
429182006-07-14  Timothy Hatcher  <timothy@apple.com>
42919
42920        Reviewed by Maciej.
42921
42922        Make JavaScriptCore a public framework. Adjusted the paths.
42923
42924        * WebCore.xcodeproj/project.pbxproj:
42925
429262006-07-14  Maciej Stachowiak  <mjs@apple.com>
42927
42928        Reviewed by Hyatt.
42929
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.
42933
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
42946
429472006-07-13  Adele Peterson  <adele@apple.com>
42948
42949        Reviewed by Maciej.
42950
42951        - Fix for <rdar://problem/4604703>
42952        REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field
42953
42954        Test:
42955        * manual-tests/password-ctrl-click-lose-focus.html: Added.
42956
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.
42960
429612006-07-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
42962
42963        Reviewed by Hyatt.
42964
42965        - fix http://bugs.webkit.org/show_bug.cgi?id=9670
42966          REGRESSION: RTL white-space:pre-wrap text is offset to the right
42967
42968        Test: fast/text/international/rtl-white-space-pre-wrap.html
42969
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.
42983
429842006-07-13  David Harrison  <harrison@apple.com>
42985
42986        Reviewed by Dave Hyatt.
42987
42988        <rdar://problem/4624203> -webkit-highlight should be behind images
42989
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.
42997
429982006-07-13  David Harrison  <harrison@apple.com>
42999
43000        Reviewed by Justin and Levi.
43001
43002        <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
43003
43004        * Tests:
43005        editing/deleting/delete-by-word-001.html
43006        editing/deleting/delete-by-word-002.html
43007
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.
43021
430222006-07-12  Levi Weintraub  <lweintraub@apple.com>
43023
43024        Reviewed by justin
43025
43026        <rdar://problem/4622763> Deleting from beginning of paragraph following a table deletes rather than selects the table
43027
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.
43046
430472006-07-13  Alexey Proskuryakov  <ap@nypop.com>
43048
43049        Reviewed by Darin.
43050
43051        - fix http://bugs.webkit.org/show_bug.cgi?id=9880
43052          Memory leaks running DOM-Hanoi
43053
43054        No change in behavior, thus no test included.
43055
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.
43059
430602006-07-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
43061
43062        Reviewed by Adele.
43063
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>
43067
43068        Test: fast/frames/repaint-display-none-crash.html
43069
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.
43073
430742006-07-12  Justin Garcia  <justin.garcia@apple.com>
43075
43076        Reviewed by levi
43077
43078        <rdar://problem/4509393>
43079        selected DOM range starts with <object>, 0 offset but selection should include the <object>
43080
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.
43091
430922006-07-12  John Sullivan  <sullivan@apple.com>
43093
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)
43098
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.
43104
431052006-07-13  Anders Carlsson  <acarlsson@apple.com>
43106
43107        Reviewed by Justin.
43108
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.
43115
431162006-07-12  Anders Carlsson  <acarlsson@apple.com>
43117
43118        Reviewed by Adele.
43119
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.
43125
43126        * manual-tests/textarea-onpaste.html: Added.
43127
431282006-07-12  Beth Dakin  <bdakin@apple.com>
43129
43130        Reviewed by Anders.
43131
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.
43135
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.
43141
431422006-07-12  Darin Adler  <darin@apple.com>
43143
43144        Reviewed by Maciej.
43145
43146        - fix http://bugs.webkit.org/show_bug.cgi?id=9806
43147          <rdar://problem/4622622>
43148          REGRESSION: Large rowspan causes WebKit to call abort()
43149
43150        Test: fast/table/large-rowspan-crash.html
43151
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.
43157
431582006-07-12  Anders Carlsson  <acarlsson@apple.com>
43159
43160        Reviewed by Maciej.
43161
43162        <rdar://problem/4586665> REGRESSION: autorestore.apple.com: Crashes Safari in WebCore::Widget::client() const
43163
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.
43178
431792006-07-12  Beth Dakin  <bdakin@apple.com>
43180
43181        Reviewed by Adele.
43182
43183        Fix for <rdar://problem/4615765> Input[type='search' fields
43184        initially render too large in Widgets
43185
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.
43193
43194        No test case added since this appears only to affect Dashboard.
43195
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.
43213
432142006-07-12  Adele Peterson  <adele@apple.com>
43215
43216        Reviewed by Maciej.
43217
43218        Fix for: http://bugs.webkit.org/show_bug.cgi?id=9813
43219        OPTION text can paint over select element's scrollbar
43220
43221        Test: fast/forms/option-text-clip.html
43222
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.
43227
432282006-07-11  David Kilzer  <ddkilzer@kilzer.net>
43229
43230        Windows build fix.  Reviewed by NOBODY.
43231
43232        * WebCore.vcproj/WebCore/WebCore.vcproj:  Added JSHTMLOptionsCollection.cpp/h
43233        and JSHTMLOptionsCollectionCuston.cpp.  VC++ Express realphabetized the file list.
43234
432352006-07-11  Darin Adler  <darin@apple.com>
43236
43237        Reviewed by Adele.
43238
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
43242
43243        - includes http://bugs.webkit.org/show_bug.cgi?id=9853
43244          improvements to select element, including some storage leak fixes
43245
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.
43327
433282006-07-11  Justin Garcia  <justin.garcia@apple.com>
43329
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
43334
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
43339
433402006-07-11  Tim Omernick  <timo@apple.com>
43341
43342        Reviewed by NOBODY (build fix)
43343
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.
43349
433502006-07-12  Anders Carlsson  <acarlsson@apple.com>
43351
43352        Reviewed by Geoff.
43353
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.
43365
433662006-07-11  John Sullivan  <sullivan@apple.com>
43367
43368        Reviewed by Kevin, Timo O, Brady, Darin, and Hyatt (whee!)
43369
43370        - added support for creating a selection image with white text
43371
43372        * rendering/RenderObject.h:
43373        (WebCore::):
43374        add PaintRestriction enum
43375        (WebCore::RenderObject::PaintInfo::PaintInfo):
43376        add forceWhiteText boolean to PaintInfo struct
43377
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
43382
43383        * page/Frame.cpp:
43384        (WebCore::Frame::paint):
43385        updated to use & pass m_paintRestriction where it used to use & pass just m_selectionOnly
43386
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
43391
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
43397
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
43404
43405        * kcanvas/KCanvasResources.cpp:
43406        (WebCore::KCanvasMarker::draw):
43407        updated for changed signature of PaintInfo constructor
43408
43409        * ksvg2/svg/SVGMaskElement.cpp:
43410        (WebCore::SVGMaskElement::drawMaskerContent):
43411        ditto
43412
43413        * ksvg2/svg/SVGPatternElement.cpp:
43414        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
43415        ditto
43416
43417        * rendering/InlineTextBox.cpp:
43418        (WebCore::InlineTextBox::paint):
43419        paint with white text color if forceWhiteText is set in PaintInfo struct
43420
434212006-07-11  Tim Omernick  <timo@apple.com>
43422
43423        Reviewed by Anders.
43424
43425        <http://bugs.webkit.org/show_bug.cgi?id=9843>:
43426        Give Netscape plug-ins access to their own DOM element
43427
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.
43441
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
43454
43455        * bindings/objc/DOMPrivate.h:
43456        Added -[DOMElement _NPObject].
43457
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
434632006-07-11  Adele Peterson  <adele@apple.com>
43464
43465        Reviewed by Hyatt.
43466
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
43472
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.
43475
43476        I also did some cleanup to remove the PopupButton code path from DeprecatedRenderSelect
43477
43478        Test: fast/forms/select-change-listbox-to-popup.html
43479
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.
43492
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.
43496
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):
43505
43506        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
43507        Backed out previous fix since this is now done in HTMLSelectElement.
43508
435092006-07-11  Adele Peterson  <adele@apple.com>
43510
43511        Reviewed by Hyatt.
43512
43513        Fix for http://bugs.webkit.org/show_bug.cgi?id=9859
43514        REGRESSION: Can't dynamically change popup to list box
43515
43516        Test: fast/forms/select-change-popup-to-listbox.html
43517
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.
43522
435232006-07-11  John Sullivan  <sullivan@apple.com>
43524
43525        Reviewed by Beth Dakin and Tim Omernick
43526
43527        - fixed <rdar://problem/4622794> HiDPI: dragging the selection in Safari can show pixel cracks
43528        at non-integral scale factors
43529
43530        * bridge/mac/FrameMac.mm:
43531        (WebCore::FrameMac::imageFromRect):
43532        round image rect in window coordinate space
43533
435342006-07-10  Darin Adler  <darin@apple.com>
43535
43536        Reviewed by Geoff.
43537
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
43541
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.
43546
435472006-07-10  Darin Adler  <darin@apple.com>
43548
43549        Reviewed by Geoff.
43550
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
43554
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.
43558
43559=== Safari-521.16 ===
43560
435612006-07-10  David Kilzer  <ddkilzer@kilzer.net>
43562
43563        Reviewed by Darin.
43564
43565        - fix http://bugs.webkit.org/show_bug.cgi?id=9179
43566          Implement select.options.add() method
43567
43568        Tests:
43569        - fast/dom/select-selectedIndex-multiple.html
43570        - fast/dom/select-selectedIndex.html
43571        - fast/js/select-options-add.html
43572
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.
43602
436032006-07-10  David Harrison  <harrison@apple.com>
43604
43605        Reviewed by Dave Hyatt.
43606
43607        <rdar://problem/4602408> -webkit-highlight needs to support images and elements other than text
43608
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.
43621
43622        * rendering/RenderWidget.cpp:
43623        (WebCore::RenderWidget::paint):
43624        Custom highlight in front of objects.
43625
436262006-07-10  David Hyatt  <hyatt@apple.com>
43627
43628        <rdar://problem/4620557> REGRESSION: In a mail message, text isn't painted
43629        correctly after choosing Redo Typing
43630
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.
43634
43635        Reviewed by darin
43636
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):
43648
436492006-07-10  Adele Peterson  <adele@apple.com>
43650
43651        Reviewed by Beth.
43652
43653        - Fix for <rdar://problem/4621442> REGRESSION (NativePopup) : Popup menus aren't drawn correctly on page at orbitz.com; cheaptickets.com
43654
43655        Test: fast/forms/select-style.html
43656
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.
43660
436612006-07-10  Justin Garcia  <justin.garcia@apple.com>
43662
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*)
43669
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
43676
436772006-07-10  Beth Dakin  <bdakin@apple.com>
43678
43679        Reviewed by Adele.
43680
43681        Shuffling comments around from my last check-in to make things read
43682        more clearly.
43683
43684        * page/DOMWindow.h:
43685        * page/DOMWindow.idl:
43686
436872006-07-10  Beth Dakin  <bdakin@apple.com>
43688
43689        Reviewed by Darin.
43690
43691        Fix for <rdar://problem/4621095> The should be a way to
43692        access the user interface scale factor through the DOM
43693
43694        window.devicePixelRatio returns the user interface scale factor.
43695
43696        * page/DOMWindow.cpp:
43697        (WebCore::DOMWindow::devicePixelRatio):
43698        * page/DOMWindow.h:
43699        * page/DOMWindow.idl:
43700
437012006-07-10  Brady Eidson  <beidson@apple.com>
43702
43703        Reviewed by Alexey
43704
43705        Resolved the console error messages people got from the new DB even if they didn't have it enabled
43706
43707        * icon/IconDatabase.cpp:
43708        (WebCore::IconDatabase::pruneUnreferencedIcons):
43709        (WebCore::IconDatabase::pruneUnretainedIcons):
43710        Added quick check to bail if the DB isn't open
43711
437122006-07-10  David Harrison  <harrison@apple.com>
43713
43714        Reviewed by Tim Hatcher
43715
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.
43722
437232006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
43724
43725        Reviewed by Darin.
43726
43727        - fix http://bugs.webkit.org/show_bug.cgi?id=9808
43728          REGRESSION: Incorrect layout (and ERROR) when forcing ATSU For All Text
43729
43730        * manual-tests/ATSU-bad-layout.html: Added.
43731        * platform/mac/FontMac.mm:
43732        (WebCore::Font::floatWidthForComplexText): Return 0 immediately for empty runs.
43733
437342006-07-10  Darin Adler  <darin@apple.com>
43735
43736        - try to fix the no-SVG build
43737
43738        * ksvg2/misc/SVGImageLoader.cpp: Move namespace brace inside the #if.
43739
437402006-07-10  Darin Adler  <darin@apple.com>
43741
43742        Reviewed by Anders.
43743
43744        - fix http://bugs.webkit.org/show_bug.cgi?id=9833
43745          REGRESSION: Reproducible crash: RenderMenuList.cpp:58: failed assertion `!m_first'
43746
43747        * manual-tests/empty-title-popup.html: Added.
43748
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.
43756
437572006-07-10  Rob Buis  <buis@kde.org>
43758
43759        Reviewed by Maciej via IRC.
43760
43761        Make sure the attributes are calculated against viewport width value,
43762        as defined in the spec.  http://paste.lisp.org/display/22342
43763
43764        * ksvg2/svg/SVGEllipseElement.cpp:
43765        (WebCore::SVGEllipseElement::rx): Changed LM_HEIGHT to LM_WIDTH.
43766        * ksvg2/svg/SVGLineElement.cpp:
43767        (SVGLineElement::x2): Ditto.
43768
437692006-07-10  Beth Dakin  <bdakin@apple.com>
43770
43771        Reviewed by Maciej.
43772
43773        Fix for <rdar://problem/4610314> Support the CSS3 content property
43774        for images
43775
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.
43779
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.
43803
438042006-07-10  Brady Eidson  <beidson@apple.com>
43805
43806        Reviewed by NOBODY (Build Fix!)
43807
43808        * icon/SiteIcon.cpp:
43809        (SiteIcon::getImage):
43810        Release build made an "unused variable" warning, which is, of course, an error.  fixed that.
43811
438122006-07-10  Brady Eidson  <beidson@apple.com>
43813
43814        Reviewed by Maciej
43815
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
43820
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
43850
438512006-07-10  Anders Carlsson  <acarlsson@apple.com>
43852
43853        Reviewed by Adele.
43854
43855        http://bugs.webkit.org/show_bug.cgi?id=9245
43856        Quirksmode: Incorrect handling of disabled BUTTON elements
43857
43858        * html/HTMLButtonElement.cpp:
43859        (WebCore::HTMLButtonElement::defaultEventHandler):
43860        Don't call prepareSubmit if the element is disabled.
43861
43862        * html/HTMLInputElement.cpp:
43863        (WebCore::HTMLInputElement::defaultEventHandler):
43864        Don't call prepareSubmit if the element is disabled.
43865
438662006-07-10  Darin Adler  <darin@apple.com>
43867
43868        - try to fix Windows build
43869
43870        * platform/win/TemporaryLinkStubs.cpp: Put a few functions in the WebCore namespace.
43871        * platform/gdk/TemporaryLinkStubs.cpp: Ditto.
43872
438732006-07-10  Darin Adler  <darin@apple.com>
43874
43875        Reviewed by Geoff.
43876
43877        - fix failures seen in layout tests
43878
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.)
43882
438832006-07-10  Darin Adler  <darin@apple.com>
43884
43885        - try to fix Windows build
43886
43887        * rendering/RenderLayer.h: Correct a forward declaration of ScrollBar.
43888
438892006-07-09  Adele Peterson  <adele@apple.com>
43890
43891        Reviewed by Maciej.
43892
43893        Fix for <rdar://problem/4463835> Switch to use new popup menu implementation for <select>
43894
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.
43902
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.
43920
439212006-07-09  Darin Adler  <darin@apple.com>
43922
43923        - add back "unused code" for plain text fields, still used by <isindex>!
43924
43925        * platform/TextField.h:
43926        * platform/mac/TextFieldMac.mm:
43927        * platform/mac/WebCoreTextField.h:
43928        * platform/mac/WebCoreTextField.mm:
43929        * rendering/RenderLineEdit.cpp:
43930
439312006-07-09  Darin Adler  <darin@apple.com>
43932
43933        Reviewed by Tim Hatcher.
43934
43935        - put more into the WebCore namespace
43936        - removed unused code for plain text fields
43937
43938        Put more classes, class templates, enums, functions, and constants into
43939        the WebCore namespace, including all the headers in the platform directory.
43940
43941        Removed lots of unneeded "WebCore::" qualifiers and "using" directives.
43942
43943        Added some "WebCore::" qualifiers in a few places.
43944
43945        Removed "uses WebCore::" in headers that we said we'd remove "when
43946        everything is in the WebCore namespace".
43947
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:
44166
441672006-07-09  Geoffrey Garen  <ggaren@apple.com>
44168
44169        Reviewed by Beth.
44170
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.
44174
441752006-07-09  Timothy Hatcher  <timothy@apple.com>
44176
44177        Reviewed by Darin.
44178
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
44181
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:
44202
442032006-07-09  Beth Dakin  <bdakin@apple.com>
44204
44205        Reviewed by Maciej.
44206
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!
44223
44224        Will add layout test so soon.
44225
44226        * rendering/bidi.cpp:
44227        (WebCore::RenderBlock::layoutInlineChildren): Remove firstLineBox
44228        check.
44229
442302006-07-09  David Harrison  <harrison@apple.com>
44231
44232        Reviewed by John Sullivan.
44233
44234        <rdar://problem/4598149> Deleting the contents of a DOMRange and then inserting a node into it crashes in WebCore::Font::canUseGlyphCache
44235
44236        Test: fast/dom/delete-contents.html
44237
44238        * dom/Range.cpp:
44239        (WebCore::Range::processContents):
44240
442412006-07-09  Darin Adler  <darin@apple.com>
44242
44243        - another round of renaming; and KWQ is dead
44244
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.
44250
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.
44263
44264        * bridge/AXObjectCache.h: Added.
44265        * bridge/mac/AXObjectCacheMac.mm: Added.
44266        * bridge/mac/WebCoreAXObject.h: Added.
44267        * bridge/mac/WebCoreAXObject.mm: Added.
44268
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.
44274
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.
44280
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.
44340
44341        * platform/mac/can-convert.mm: Removed.
44342
443432006-07-09  Anders Carlsson  <acarlsson@apple.com>
44344
44345        Reviewed by Tim O.
44346
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.
44357
443582006-07-09  Brady Eidson  <beidson@apple.com>
44359
44360        Reviewed by Maciej
44361
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.
44364
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:
44374
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):
44379
443802006-07-09  Darin Adler  <darin@apple.com>
44381
44382        - move all but the last 12 files out of kwq directory
44383        - removed a few unused source files I discovered
44384
44385        * WebCore.vcproj/WebCore/WebCore.vcproj: Update for new file locations.
44386        * WebCore.xcodeproj/project.pbxproj: Ditto.
44387
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.
44416
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.
44425
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.
44449
44450        * loader/CachePolicy.h: Added.
44451        * loader/LoaderFunctions.h: Added.
44452
44453        * loader/mac/LoaderFunctionsMac.mm: Added.
44454
44455        * page/Settings.h: Added.
44456
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.
44468
44469        * platform/cg/AffineTransformCG.cpp: Added.
44470
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.
44481
444822006-07-09  Darin Adler  <darin@apple.com>
44483
44484        - move 4 files out of kwq directory
44485        - make some minor project adjustments for the WebCore project
44486
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.
44496
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.
44500
44501        * WebCoreSources.bkl: Moved the files from their old locations to the new ones.
44502
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.
44511
445122006-07-09  Darin Adler  <darin@apple.com>
44513
44514        Rubber stamped by Maciej (kinda).
44515
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)
44518
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:
44831
448322006-07-09  Rob Buis  <buis@kde.org>
44833
44834        Reviewed by Darin.
44835
44836        http://bugs.webkit.org/show_bug.cgi?id=8251
44837        navigator.platform incorrect in WebKit.app on Intel Macs
44838
44839        For navigator.platform return "MacIntel" for Intel processors, "MacPPC"
44840        otherwise.
44841
44842        * bindings/js/kjs_navigator.cpp:
44843        (KJS::Navigator::getValueProperty):
44844
448452006-07-08  Timothy Hatcher  <timothy@apple.com>
44846
44847        Reviewed by Maciej.
44848
44849        Bug 5312: comments aren't available via DOM
44850        http://bugs.webkit.org/show_bug.cgi?id=5312
44851
44852        <rdar://problem/4564414> getting comments via DOM isn't working (5312)
44853        <rdar://problem/4545691> DOM_COMMENT node masking out real DOM elements
44854
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
44867
448682006-07-08  Anders Carlsson  <acarlsson@apple.com>
44869
44870        Reviewed by Darin, tweaked slightly and landed by Maciej.
44871
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.
44886
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.
44907
449082006-07-08  Darin Adler  <darin@apple.com>
44909
44910        Reviewed by Geoff.
44911
44912        - better fix for http://bugs.webkit.org/show_bug.cgi?id=9622
44913          REGRESSION: showModalDialog returnValue ignored, function result is always "undefined"
44914
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.
44923
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.
44930
449312006-07-08  Darin Adler  <darin@apple.com>
44932
44933        - try to fix Windows build
44934
44935        * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing source files.
44936
44937=== Safari-521.15 ===
44938
449392006-07-07  Justin Garcia  <justin.garcia@apple.com>
44940
44941        Reviewed by levi
44942
44943        Fix Mail ToDo crashers.
44944
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.
44973
449742006-07-07  Levi Weintraub  <lweintraub@apple.com>
44975
44976        Reviewed by justin
44977
44978        Allowed deletion typing commands to take in a granularity
44979
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
44990
449912006-07-07  Brady Eidson  <beidson@apple.com>
44992
44993        Reviewed by Anders and Tim Hatcher
44994
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.
44997
44998        * icon/IconDatabase.cpp:
44999        (WebCore::IconDatabase::open):  Disable full syncing to the SQLite db to speed up writes to the icondb
45000
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"
45006
450072006-07-07  Darin Adler  <darin@apple.com>
45008
45009        Reviewed by Maciej.
45010
45011        - fixed a storage leak noticed by the buildbot
45012
45013        * dom/Document.cpp: (WebCore::Document::removedLastRef):
45014        Call delete on the markers before clearing the map containing them.
45015
450162006-07-08  Anders Carlsson  <acarlsson@apple.com>
45017
45018        Reviewed by Brady.
45019
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.
45040
450412006-07-07  Darin Adler  <darin@apple.com>
45042
45043        Reviewed by Anders.
45044
45045        - fixed a storage leak noticed by the buildbot
45046
45047        * page/FrameView.cpp: (WebCore::FrameViewPrivate::~FrameViewPrivate):
45048        Delete m_scheduledEvents.
45049
450502006-07-07  Darin Adler  <darin@apple.com>
45051
45052        Reviewed by Adele.
45053
45054        - fixed a couple of storage leaks noticed by the buildbot
45055
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.
45060
450612006-07-07  Darin Adler  <darin@apple.com>
45062
45063        Reviewed by Adele.
45064
45065        - fix some license mistakes
45066
45067        * LICENSE-APPLE: Added more years of publication to the copyright here.
45068
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.
45073
450742006-07-06  Levi Weintraub  <lweintraub@apple.com>
45075
45076        Reviewed by justin
45077
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.
45081
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
45094
450952006-07-07  Sam Weinig  <sam.weinig@gmail.com>
45096
45097        Reviewed by Eric.
45098
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).
45102
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:
45111
451122006-07-07  Anders Carlsson  <acarlsson@apple.com>
45113
45114        Reviewed by Darin.
45115
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
451222006-07-07  Maciej Stachowiak  <mjs@apple.com>
45123
45124        Reviewed by Tim Hatcher.
45125
45126        - fix 20 Node leaks on fast/events tests - these should be the last ones
45127
45128        * bindings/objc/DOMEvents.mm:
45129        (-[DOMEvent dealloc]): implement - deref the event!
45130        (-[DOMEvent finalize]): ditto
45131
451322006-07-06  Maciej Stachowiak  <mjs@apple.com>
45133
45134        Reviewed by Tim Hatcher.
45135
45136        - fix 26 Node leaks on fast/dom tests
45137
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
45155
451562006-07-06  Adele Peterson  <adele@apple.com>
45157
45158        Reviewed by Maciej.
45159
45160        Fixed new popup control to open up when the spacebar and the up and down arrows are pressed.
45161
45162        - Fixed http://bugs.webkit.org/show_bug.cgi?id=9762
45163        [Native pop up] Highlighted item text is black instead of white
45164
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.
45178
451792006-07-06  Justin Garcia  <justin.garcia@apple.com>
45180
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:
45201
452022006-07-06  Anders Carlsson  <acarlsson@apple.com>
45203
45204        Reviewed by Adele.
45205
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.
45217
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.
45222
452232006-07-06  Adele Peterson  <adele@apple.com>
45224
45225        Reviewed by Tim Hatcher.
45226
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)
45228
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.
45232
452332006-07-06  Anders Carlsson  <acarlsson@apple.com>
45234
45235        Reviewed by Maciej.
45236
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.
45297
452982006-07-06  Timothy Hatcher  <timothy@apple.com>
45299
45300        Reviewed by Geoff.
45301
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
45305
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]):
45321
453222006-07-06  Maciej Stachowiak  <mjs@apple.com>
45323
45324        Reviewed by Adele.
45325
45326        - fix 435 more layout tests Node leaks
45327
45328        * editing/CompositeEditCommand.cpp:
45329        (WebCore::CompositeEditCommand::moveParagraphs): fix more instances of leaked DOM ranges
45330
453312006-07-06  David Harrison  <harrison@apple.com>
45332
45333        Reviewed by Geoff
45334
45335        <rdar://problem/4565031> innerHTML of XMP tag returns special characters like '&gt;' instead of '>'
45336
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.
45343
453442006-07-06  Maciej Stachowiak  <mjs@apple.com>
45345
45346        - back out earlier leak fix, as it caused a crash on one of the fast/invalid layout tests
45347
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):
45357
453582006-07-06  Maciej Stachowiak  <mjs@apple.com>
45359
45360        Reviewed by Anders.
45361
45362        - fix ~3000 Node leaks on the editing tests
45363
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.
45367
453682006-07-06  Maciej Stachowiak  <mjs@apple.com>
45369
45370        Reviewed by Anders.
45371
45372        - fix 26 Node leaks on various fast/dom tests
45373
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
45387
453882006-07-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
45389
45390        Reviewed by Adele.
45391
45392        * rendering/RenderMenuList.h:
45393        (WebCore::RenderMenuList::createsAnonymousWrapper): This method replaces
45394        allowsReusingAnonymousChild() and has the opposite meaning.
45395
453962006-07-05  Adele Peterson  <adele@apple.com>
45397
45398        Build fixes.
45399
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:
45407
454082006-07-05  Maciej Stachowiak  <mjs@apple.com>
45409
45410        Reviewed by Adele.
45411
45412        - fix 308 Node leaks on the editing layout tests
45413
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.
45417
454182006-07-05  Adele Peterson  <adele@apple.com>
45419
45420        Reviewed by Maciej and Hyatt.
45421
45422        Initial implementation of popup menu control.  This can be turned on by setting -webkit-appearance: menulist on a select element.
45423
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):
45440
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):
45464
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:
45474
45475        * WebCore.exp: Added _wkPopupMenu.
45476        * platform/mac/WebCoreSystemInterface.h: Added wkPopupMenu to get the NSMenu to pop up.
45477        * platform/mac/WebCoreSystemInterface.mm:
45478
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.
45489
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):
45537
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:
45558
455592006-07-05  Brady Eidson  <beidson@apple.com>
45560
45561        Reviewed by Tim Omernick.
45562
45563        IconDatabase now respects private browsing via the use of in memory, temporary tables
45564
45565        * bridge/mac/WebCoreIconDatabaseBridge.mm:
45566        (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
45567        (-[WebCoreIconDatabaseBridge iconURLForPageURL:]): Renamed WebCore::IconDatabase methods, changes reflected here
45568
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
45587
45588        * icon/IconDatabase.h:  Some methods added, others renamed, some comments added
45589
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;
45596
455972006-07-05  John Sullivan  <sullivan@apple.com>
45598
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
45603
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.
45618
456192006-07-05  Anders Carlsson  <acarlsson@apple.com>
45620
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.
45627
456282006-07-05  Anders Carlsson  <acarlsson@apple.com>
45629
45630        * WebCore.xcodeproj/project.pbxproj:
45631        Revert accidental change of debug format to DWARF.
45632
456332006-07-05  Anders Carlsson  <acarlsson@apple.com>
45634
45635        Reviewed by Maciej.
45636
45637        http://bugs.webkit.org/show_bug.cgi?id=3581
45638        iFrames set to display:none are Missing from frames array
45639
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.
45649
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.
45664
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.
45704
457052006-07-04  Kevin Ollivier  <kevino@theolliviers.com>
45706
45707        Reviewed by Maciej, reworked a bit by Darin.
45708
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.
45728
45729        * loader/mac/ImageDocumentMac.h: Added.
45730        * loader/mac/ImageDocumentMac.mm: Added.
45731
457322006-07-04  Sam Weinig  <sam.weinig@gmail.com>
45733
45734        Build fix.
45735
45736        * platform/Color.cpp:
45737        (WebCore::makeRGBAFromHSLA):
45738
457392006-07-02  David Carson  <dacarson@gmail.com>
45740
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
45747
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().
45769
457702006-07-02  Mike Emmel  <mike.emmel@gmail.com>
45771
45772        Reviewed and landed by ggaren.
45773
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
45783
457842006-07-02  Shawn Stricker  <kb1ibt@gmail.com>
45785
45786        Reviewed by Timothy Hatcher.  Build fix for Linux.
45787
45788        - fix http://bugs.webkit.org/show_bug.cgi?id=9684
45789          [GDK] multiple little fixes and a few new things for Templinkstubs
45790
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.
45797
457982006-07-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
45799
45800        Reviewed by Darin.
45801
45802        - fix http://bugs.webkit.org/show_bug.cgi?id=9674
45803          REGRESSION (r15075): Blank or incomplete pages on digg.com
45804
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
45810
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::):
45818
458192006-07-01  David Kilzer  <ddkilzer@kilzer.net>
45820
45821        Reviewed by NOBODY (build fix).
45822
45823        * platform/gdk/TransferJobManager.cpp:
45824        (WebCore::writeCallback): Changed 'static_cat' to 'static_cast'.
45825
458262006-06-30  Mike Emmel  <mike.emmel@gmail.com>
45827
45828        Reviewed and worked over a lot by Darin.
45829
45830        - check in first set of GDK-specific sources
45831
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.
45860
458612006-06-30  Mike Emmel  <mike.emmel@gmail.com>
45862
45863        Reviewed by Darin.
45864
45865        * WebCoreSources.bkl: Updated for recent file changes.
45866
458672006-06-30  Mike Emmel  <mike.emmel@gmail.com>
45868
45869        Reviewed and enhanced by Darin.
45870
45871        Compilation fixes for Linux/Gdk.
45872
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.
45876
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.
45880
458812006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
45882
45883        Reviewed by Hyatt.
45884
45885        - fix http://bugs.webkit.org/show_bug.cgi?id=7204
45886          float inserted in fixed height block via DOM not repainted
45887
45888        Test: fast/repaint/float-move-during-layout.html
45889
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:
45902
459032006-06-30  Levi Weintraub  <lweintraub@apple.com>
45904
45905        Reviewed by justin
45906
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.
45915
45916=== Safari-521.14 ===
45917
459182006-06-30  Justin Garcia  <justin.garcia@apple.com>
45919
45920        Reviewed by levi
45921
45922        * editing/htmlediting.cpp:
45923        (WebCore::canHaveChildrenForEditing): Don't insert children into
45924        object tags while editing.
45925
459262006-06-30  Justin Garcia  <justin.garcia@apple.com>
45927
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:
45952
459532006-06-30  David Kilzer  <ddkilzer@kilzer.net>
45954
45955        Reviewed by Darin.
45956
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
45960
45961        Test: editing/deleting/delete-all-text-in-text-field-assertion.html
45962
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
45966
45967        * html/HTMLInputElement.cpp:
45968        (WebCore::HTMLInputElement::setValueFromRenderer): Work around "\n" value
45969        when all characters are deleted from a text field.
45970
459712006-06-30  David Harrison  <harrison@apple.com>
45972
45973        Reviewed by Tim Omernick
45974
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.
45980
459812006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
45982
45983        Reviewed by Tim H.
45984
45985        - fix http://bugs.webkit.org/show_bug.cgi?id=9664
45986          REGRESSION (r15106): Crash in fast/events/mouseover-mouseout2.html
45987
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.
45991
459922006-06-29  Timothy Hatcher  <timothy@apple.com>
45993
45994        Reviewed by Darin.
45995
45996        <rdar://problem/3694163> -[KWQPageState finalize] is incorrect; design change needed
45997        <rdar://problem/3694165> -[WebCoreFrameBridge finalize] is incorrect; design change needed
45998
45999        Added close methods that need to be called before these
46000        objects can be released. This ensures proper tear-down under GC.
46001
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]):
46022
460232006-06-29  Sam Weinig  <sam.weinig@gmail.com>
46024
46025        Reviewed by Hyatt.
46026
46027        - test for http://bugs.webkit.org/show_bug.cgi?id=4874
46028        Table with absolute bottom positioning is positioned incorrectly
46029
46030        Note: patch originally from Mitz, spruced up by Weinig.
46031
46032        * rendering/RenderBox.cpp:
46033        (WebCore::RenderBox::calcAbsoluteVerticalValues):
46034        * rendering/RenderTable.cpp:
46035        (WebCore::RenderTable::layout):
46036
460372006-06-29  Graham Dennis  <Graham.Dennis@gmail.com>
46038
46039        Reviewed by Justin.
46040
46041        - fix http://bugs.webkit.org/show_bug.cgi?id=9505
46042          moveParagraphContentsToNewBlockIfNecessary creates a new block outside the current position
46043
46044        * editing/CompositeEditCommand.cpp:
46045        Added sanity checking to prevent modifying nodes outside of
46046        where we should be
46047        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
46048
460492006-06-29  Brady Eidson  <beidson@apple.com>
46050
46051        Reviewed by Levi.
46052
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.
46057
46058        * icon/IconDatabase.cpp:
46059        (WebCore::IconDatabase::recreateDatabase):
46060        (WebCore::IconDatabase::createPrivateTables):
46061
46062        (WebCore::hexToUnsignedChar): These two functions are the text-to-character-data converters for the time being
46063        (WebCore::hexStringToVector):
46064
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*
46071
46072        * icon/SQLStatement.cpp:
46073        (WebCore::SQLStatement::columnCount):
46074        (WebCore::SQLStatement::getColumnBlob):
46075        * icon/SiteIcon.cpp:
46076        (SiteIcon::getImage):
46077
460782006-06-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46079
46080        Reviewed by Darin.
46081
46082        - fix http://bugs.webkit.org/show_bug.cgi?id=9652
46083          Assertion failure when changing an RTL table cell to display:none
46084
46085        Test: fast/table/rtl-cell-display-none-assert.html
46086
46087        * rendering/RenderTableSection.cpp:
46088        (WebCore::RenderTableSection::layoutRows): Corrected the index used as
46089        the last index in the columnPos vector.
46090
460912006-06-29  Darin Adler  <darin@apple.com>
46092
46093        Reviewed by Anders.
46094
46095        - fix http://bugs.webkit.org/show_bug.cgi?id=9622
46096          showModalDialog returnValue ignored, function result is always "undefined"
46097
46098        * manual-tests/modal-dialog.html: Added.
46099        * manual-tests/show-modal-dialog-test.html: Added.
46100
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.
46104
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.
46108
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.
46112
46113        * manual-tests/modal-dialog.html: Added.
46114        * manual-tests/show-modal-dialog-test.html: Added.
46115
461162006-06-29  Beth Dakin  <bdakin@apple.com>
46117
46118        Reviewed by Hyatt.
46119
46120        Fix for <rdar://problem/4450615> Add composite mode to background
46121        styles
46122
46123        -webkit-background-composite will set a composite mode on a
46124        background image.
46125
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):
46168
461692006-06-29  David Kilzer  <ddkilzer@kilzer.net>
46170
46171        Reviewed by Darin.
46172
46173        http://bugs.webkit.org/show_bug.cgi?id=9649
46174        The no-svg build broke after r15091
46175
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.
46182
461832006-06-29  Anders Carlsson  <acarlsson@apple.com>
46184
46185        Reviewed by Tim O.
46186
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.
46229
462302006-06-28  David Hyatt  <hyatt@apple.com>
46231
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).
46235
46236        Reviewed by harrison
46237
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:
46249
462502006-06-28  Levi Weintraub  <lweintraub@apple.com>
46251
46252        Reviewed by justin
46253
46254        <rdar://problem/4592005> FormatBlock inserts in the wrong place, disregarding editable content
46255        <rdar://problem/4590763> FormatBlock for paragraph style doesn't work
46256
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
46262
462632006-06-28  Justin Garcia  <justin.garcia@apple.com>
46264
46265        Reviewed by levi
46266
46267        svg/custom/text-hit-test.svg was failing
46268
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.
46275
462762006-06-28  David Hyatt  <hyatt@apple.com>
46277
46278        Make the view source document properly handle <script>.  We don't syntax
46279        highlight the JS yet, but it shows up properly now.
46280
46281        Reviewed by john
46282
46283        * WebCore.xcodeproj/project.pbxproj:
46284        * html/HTMLTokenizer.cpp:
46285        (WebCore::HTMLTokenizer::scriptHandler):
46286
462872006-06-28  Timothy Hatcher  <timothy@apple.com>
46288
46289        Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
46290
46291        * WebCore.xcodeproj/project.pbxproj:
46292
462932006-06-28  Justin Garcia  <justin.garcia@apple.com>
46294
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:
46304
463052006-06-28  Levi Weintraub  <lweintraub@apple.com>
46306
46307         Build Fix. Reviewed by NOBODY
46308
46309        * editing/IndentOutdentCommand.cpp:
46310        (WebCore::IndentOutdentCommand::indentRegion):
46311
463122006-06-28  Levi Weintraub  <lweintraub@apple.com>
46313
46314        Reviewed by justin
46315
46316        http://bugs.webkit.org/show_bug.cgi?id=7568
46317        Bug 7568: Implement Indent/Outdent
46318
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:
46341
463422006-06-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46343
46344        Reviewed by Darin and Hyatt.
46345
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
46348
46349        Test: fast/forms/button-generated-content.html
46350
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.
46379
463802006-06-27  Brady Eidson  <beidson@apple.com>
46381
46382        Reviewed by Maciej
46383
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.
46388
46389        * WebCore.xcodeproj/project.pbxproj:  Added file SiteIcon.cpp
46390
46391        * bridge/mac/WebCoreIconDatabaseBridge.h:
46392        * bridge/mac/WebCoreIconDatabaseBridge.mm:
46393        (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
46394        (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
46395        (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
46396        (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
46397
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):
46424
464252006-06-27  Rob Buis  <buis@kde.org>
46426
46427        Reviewed by Darin.
46428
46429        http://bugs.webkit.org/show_bug.cgi?id=9605
46430        REGRESSION: pageX and pageY are both 0 for events created with initMouseEvent
46431
46432        Calculate pageX/pageY and clientX/clientY values when using initMouseEvent.
46433
46434        * dom/MouseEvent.cpp:
46435        (WebCore::MouseEvent::initMouseEvent):
46436        * dom/MouseRelatedEvent.cpp:
46437        (WebCore::MouseRelatedEvent::initCoordinates):
46438        * dom/MouseRelatedEvent.h:
46439
464402006-06-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46441
46442        Reviewed by Maciej and Darin.
46443
46444        - fix http://bugs.webkit.org/show_bug.cgi?id=9317
46445          REGRESSION: crash in HTML tokenizer at Japanese Apple support page
46446
46447        Test: fast/tokenizer/write-unclosed-script.html
46448
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).
46465
464662006-06-27  Justin Garcia  <justin.garcia@apple.com>
46467
46468        Reviewed by levi
46469
46470        * editing/JSEditor.cpp: Added RemoveFormat.
46471
464722006-06-27  Kevin Decker    <kdecker@apple.com>
46473
46474        Reviewed by brady.
46475
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.
46479
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.
46484
464852006-06-28  Anders Carlsson  <acarlsson@apple.com>
46486
46487        Reviewed by Darin.
46488
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.
46497
464982006-06-27  Justin Garcia  <justin.garcia@apple.com>
46499
46500        Reviewed by darin
46501
46502        * rendering/RenderContainer.cpp: Fixed #include formatting.
46503
465042006-06-27  Justin Garcia  <justin.garcia@apple.com>
46505
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
46509
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.
46519
465202006-06-27  David Hyatt  <hyatt@apple.com>
46521
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.
46524
46525        Reviewed by darin
46526
46527        * WebCore.xcodeproj/project.pbxproj:
46528        * html/HTMLTokenizer.cpp:
46529        (WebCore::HTMLTokenizer::parseEntity):
46530
465312006-06-27  Anders Carlsson  <acarlsson@apple.com>
46532
46533        Reviewed by Geoff.
46534
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.
46541
465422006-06-27  Maciej Stachowiak  <mjs@apple.com>
46543
46544        Reviewed by Adele
46545
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:
46558
465592006-06-27  Brady Eidson  <beidson@apple.com>
46560
46561        Reviewed by Levi
46562
46563        Some SQLDatabase cleanup (style stuff) and enhancements
46564
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):
46586
465872006-06-27  Ada Chan <adachan@apple.com>
46588
46589        Reviewed by sfalken.
46590
46591        Fixed build.
46592
46593        * WebCore.vcproj/WebCore/WebCore.vcproj:
46594
465952006-06-27  Beth Dakin  <bdakin@apple.com>
46596
46597        Reviewed by Hyatt.
46598
46599        Fix for <rdar://problem/4602635> Media queries must be extended to
46600        address CSS pixel scaling factor
46601
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):
46611
466122006-06-27  Darin Adler  <darin@apple.com>
46613
46614        Reviewed by Geoff.
46615
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
46618
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.
46623
466242006-06-27  Darin Adler  <darin@apple.com>
46625
46626        Reviewed by Geoff.
46627
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
46630
46631        Test: fast/events/anchor-image-scrolled-x-y.html
46632        Test: fast/events/input-image-scrolled-x-y.html
46633
46634        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): Use pageX/Y.
46635        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
46636
466372006-06-27  Brady Eidson  <beidson@apple.com>
46638
46639        Reviewed by Maciej
46640
46641        Added functionality to WebCore::Image to get multiple representations/sizes into TIFF data
46642
46643        * platform/mac/ImageMac.mm:
46644        (WebCore::Image::getTIFFRepresentation):
46645
466462006-06-26  David Hyatt  <hyatt@apple.com>
46647
46648        Fix for 9538, support syntax highlighted HTML source.  Lots of loose
46649        ends still (script/style/comments/doctype/entities/accurate whitespace).
46650
46651        Reviewed by darin
46652
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):
46706
467072006-06-26  Anders Carlsson  <acarlsson@apple.com>
46708
46709        Reviewed by Darin.
46710
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.
46724
467252006-06-26  Rob Buis  <buis@kde.org>
46726
46727        Reviewed and reworked by Darin.
46728
46729        Code cleanup, calculate clientX/clientY in one central place.
46730
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.
46736
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.
46743
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.
46751
46752        * dom/WheelEvent.h:
46753        * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): Removed clientX/Y
46754        parameter.
46755
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.
46759
467602006-06-25  David Carson  <dacarson@gmail.com>
46761
46762        Reviewed and tweaked by Darin.
46763
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.
46769
46770        * dom/NamedMappedAttrMap.h:
46771        (WebCore::NamedMappedAttrMap::getAttributeItem):
46772        Added to static_cast method.
46773
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.
46783
46784        * html/HTMLInputElement.h:
46785        (WebCore::HTMLInputElement::respectHeightAndWidthAttrs):
46786        New method added to report if this input type uses height & width.
46787
467882006-06-25  David Kilzer  <ddkilzer@kilzer.net>
46789
46790        Reviewed by Darin.
46791
46792        - http://bugs.webkit.org/show_bug.cgi?id=9537
46793          REGRESSION: Reproducible crash in WebCore::RenderTextField::textWithHardLineBreaks()
46794
46795        Test: fast/forms/textarea-hard-linewrap-empty.html
46796
46797        * rendering/RenderTextField.cpp:
46798        (WebCore::RenderTextField::textWithHardLineBreaks): Added null check for
46799        m_div->firstChild()->renderer().
46800
468012006-06-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46802
46803        Reviewed by Darin.
46804
46805        - fix http://bugs.webkit.org/show_bug.cgi?id=9388
46806          REGRESSION: outlines don't get erased when removed in some cases
46807
46808        Test: fast/repaint/outline-shrinking.html
46809
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.
46813
468142006-06-25  Rob Buis  <buis@kde.org>
46815
46816        Reviewed by Darin.
46817
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
46820
46821        Make sure clientX and clientY take into account the scroll offsets
46822        of the view.
46823
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):
46837
468382006-06-25  Timothy Hatcher  <timothy@apple.com>
46839
46840        Reviewed by Darin.
46841
46842        Bug 9574: Drosera should show inline scripts within the original HTML
46843        http://bugs.webkit.org/show_bug.cgi?id=9574
46844
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.
46849
46850        * bridge/mac/WebCoreScriptDebugger.h:
46851        * bridge/mac/WebCoreScriptDebugger.mm:
46852        (toNSURL):
46853        (WebCoreScriptDebuggerImp::sourceParsed):
46854
468552006-06-24  David Kilzer  <ddkilzer@kilzer.net>
46856
46857        Build fix.  Reviewed by NOBODY.
46858
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
46861
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):
46873
468742006-06-24  Rob Buis  <buis@kde.org>
46875
46876        Reviewed by Darin.
46877
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
46880
46881        Make sure clientX and clientY take into account the scroll offsets
46882        of the view.
46883
46884        Test: fast/dom/window-xy-properties.html
46885
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):
46897
468982006-06-24  Rob Buis  <buis@kde.org>
46899
46900        Reviewed by Darin.
46901
46902        http://bugs.webkit.org/show_bug.cgi?id=9352
46903        Webkit doesn't respect stroke-width in SVG for smaller <circle>s
46904
46905        Make sure the stroke path is set before applying gradient transforms.
46906
46907        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
46908        (WebCore::KRenderingPaintServerGradientQuartz::setup):
46909        (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
46910
469112006-06-24  Alexey Proskuryakov  <ap@nypop.com>
46912
46913        Rubber-stamped by Eric.
46914
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).
46917
46918        * WebCore.xcodeproj/project.pbxproj:
46919
469202006-06-24  James G. Speth  <speth@end.com>
46921
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
46941
469422006-06-24  David Kilzer  <ddkilzer@kilzer.net>
46943
46944        Reviewed by Timothy.
46945
46946        * Info.plist: Fixed copyright to include 2003-2006.
46947        * manual-tests/NPN_Invoke/Info.plist: Added copyright statement.
46948
469492006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46950
46951        Reviewed by Darin, landed by ap.
46952
46953        - fix http://bugs.webkit.org/show_bug.cgi?id=9547
46954          Resize corner does not track the mouse accurately
46955
46956        Test: fast/css/resize-corner-tracking.html
46957
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:
46974
469752006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46976
46977        Reviewed by Darin, landed by ap.
46978
46979        - fix http://bugs.webkit.org/show_bug.cgi?id=9316
46980          REGRESSION: text field width shrinks on first keystroke
46981
46982        Test: fast/forms/floating-textfield-relayout.html
46983
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.
46992
469932006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
46994
46995        Reviewed by Hyatt.
46996
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
46999
47000        The change affects many existing tests.
47001
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.
47010
470112006-06-24  Alexey Proskuryakov  <ap@nypop.com>
47012
47013        Reviewed by Darin.
47014
47015        - fix http://bugs.webkit.org/show_bug.cgi?id=7461
47016          Always encode the path part of an URI as UTF-8
47017
47018        Test: http/tests/uri/utf8-path.html
47019
47020        * platform/KURL.cpp:
47021        (encodeRelativeString): Always set pathEncoding to UTF-8.
47022
470232006-06-24  Graham Dennis  <Graham.Dennis@gmail.com>
47024
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
47031
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):
47047
470482006-06-24  Jonas Witt <jonas.witt@gmail.com>
47049
47050        Reviewed by ggaren, landed by ap.
47051
47052        - http://bugs.webkit.org/show_bug.cgi?id=9181
47053          Complete DOMUIEvent Obj-C API to reflect UIEvent
47054
47055        * WebCore.exp: add new classes DOMKeyboardEvent and DOMWheelEvent to the exported
47056          symbols list of WebCore.framework
47057
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
47063
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:
47098
470992006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
47100
47101        Reviewed and landed by ap.
47102
47103        - http://bugs.webkit.org/show_bug.cgi?id=9563
47104          Remove unused layoutSuppressed field and inLayout() method
47105
47106        No test added because there is no change in functionality.
47107
47108        * page/FrameView.cpp:
47109        (WebCore::FrameViewPrivate::reset):
47110        (WebCore::FrameView::layout):
47111        * page/FrameView.h:
47112        * rendering/RenderView.cpp:
47113        (WebCore::RenderView::layout):
47114
471152006-06-24  Alexey Proskuryakov  <ap@nypop.com>
47116
47117        Reviewed by Darin.
47118
47119        - http://bugs.webkit.org/show_bug.cgi?id=8177
47120        Javascript search incredibly slow
47121
47122        No change in functionality, thus no test.
47123
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.
47127
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):
47187
471882006-06-24  Alexey Proskuryakov  <ap@nypop.com>
47189
47190        Reviewed by Darin.
47191
47192        - http://bugs.webkit.org/show_bug.cgi?id=9418
47193        WebKit will not build when Space exists in path
47194
47195        * WebCore.xcodeproj/project.pbxproj: Enclose search paths in quotes; create symlinks to
47196        avoid passing paths with spaces to make.
47197
471982006-06-23  Tim Omernick  <timo@apple.com>
47199
47200        Reviewed by Tim Hatcher.
47201
47202        <rdar://problem/4560947> Leopard REGRESSION: Dragging to TileGame Widget is broken
47203
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.
47209
472102006-06-23  Timothy Hatcher  <timothy@apple.com>
47211
47212        Reviewed by Eric.
47213
47214        Manual test added: cursor.html
47215
47216        Bug 9560: should support new CSS3 cursor types to get more resizing directions
47217        http://bugs.webkit.org/show_bug.cgi?id=9560
47218
47219        Adds support for ew-resize, ns-resize, nesw-resize, nwse-resize,
47220        col-resize and row-resize CSS3 cursor values.
47221
47222        Also converted some of the cursor images to grayscale tiffs,
47223        some were RGB but had no color data.
47224
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
47266
472672006-06-23  John Sullivan  <sullivan@apple.com>
47268
47269        Reviewed by Tim Omernick
47270
47271        - fixed <rdar://problem/4597685> stale rects for document markers can be left behind in certain cases
47272
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.
47287
472882006-06-23  Justin Garcia  <justin.garcia@apple.com>
47289
47290        Reviewed by levi
47291
47292        <rdar://problem/4527702>
47293        REGRESSION: Quote bars go away on first paragraph when I delete reply text
47294
47295        * editing/DeleteSelectionCommand.cpp:
47296        (WebCore::DeleteSelectionCommand::mergeParagraphs):
47297        Add a rule for when to merge into empty blocks.
47298
47299=== WebCore-521.13 ===
47300
473012006-06-23  Patrick Beard  <beard@apple.com>
47302
47303        Reviewed by Tim Hatcher.
47304
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.
47309
47310        * platform/mac/FontPlatformData.h:
47311        (WebCore::FontPlatformData::FontPlatformData):
47312        (WebCore::FontPlatformData::~FontPlatformData):
47313
473142006-06-23  Justin Garcia  <justin.garcia@apple.com>
47315
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
47322
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.
47327
473282006-06-23  Brady Eidson  <beidson@apple.com>
47329
47330        Reviewed by Kevin.
47331
47332        Added 64-bit String::number() functions
47333
47334        * platform/PlatformString.h:
47335        * platform/String.cpp:
47336        (WebCore::String::number):
47337
473382006-06-22  Mitz Pettel  <opendarwin.org@mitzpettel.com>
47339
47340        Reviewed by Hyatt.
47341
47342        - fix http://bugs.webkit.org/show_bug.cgi?id=9497
47343          REGRESSION: Incomplete repainting when scrolling thumbnails on Flickr
47344
47345        Test: fast/repaint/clipped-relative.html
47346
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:
47363
473642006-06-22  Beth Dakin  <bdakin@apple.com>
47365
47366        Reviewed by Maciej.
47367
47368        Fix for <rdar://problem/4599015> REGRESSION: Hand on clock widget
47369        don't appear at all
47370
47371        This regression was caused by <rdar://problem/4567520> HIDPI: pixel
47372        cracks in weather widget at 1.83 scaling
47373
47374        * html/CanvasRenderingContext2D.cpp:
47375        (WebCore::CanvasRenderingContext2D::drawImage): Do the contains
47376        check before rounding to integral device pixels.
47377
473782006-06-22  Anders Carlsson  <acarlsson@apple.com>
47379
47380        Reviewed by John.
47381
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
473882006-06-22  Anders Carlsson  <acarlsson@apple.com>
47389
47390        Reviewed by Maciej.
47391
47392        <rdar://problem/4499675> Package Tracker widget always crashes in WebCore::Frame::jScriptEnabled() const + 0
47393
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.
47399
474002006-06-22  Anders Carlsson  <acarlsson@apple.com>
47401
47402        Reviewed by Maciej.
47403
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
474272006-06-21  David Hyatt  <hyatt@apple.com>
47428
47429        Back out -webkit-overlay and just rename it back to overlay.
47430
47431        Reviewed by darin
47432
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):
47440
474412006-06-21  Justin Garcia  <justin.garcia@apple.com>
47442
47443        Reviewed by levi
47444
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.
47454
474552006-06-21  Beth Dakin  <bdakin@apple.com>
47456
47457        Reviewed by John.
47458
47459        Fix for <rdar://problem/3914965> Misspelled text underline doesn't
47460        look right at non-standard scale factors
47461
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.
47466
474672006-06-21  David Hyatt  <hyatt@apple.com>
47468
47469        Fix for 7362, implement the CSS3 overflow-x and overflow-y properties.
47470
47471        Reviewed by adele
47472
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):
47539
475402006-06-21  Justin Garcia  <justin.garcia@apple.com>
47541
47542        Reviewed by levi
47543
47544        <rdar://problem/4590366>
47545        REGRESSION: Selection incorrectly paints gaps on TOT
47546
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.
47579
475802006-06-21  David Hyatt  <hyatt@apple.com>
47581
47582        Reviewed and committed by Beth.
47583
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.
47587
47588        * rendering/RenderBlock.cpp:
47589        (WebCore::RenderBlock::layoutBlockChildren): Also layout if the
47590        child's min or max height is a percent.
47591
475922006-06-21  Anders Carlsson  <acarlsson@apple.com>
47593
47594        Reviewed by Geoff.
47595
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.
47618
476192006-06-21  Steve Falkenburg  <sfalken@apple.com>
47620
47621        Fix build break
47622
47623        * platform/win/TemporaryLinkStubs.cpp:
47624        (FrameWin::shouldInterruptJavaScript):
47625
476262006-06-21  Anders Carlsson  <acarlsson@apple.com>
47627
47628        Move FrameWin::shouldInterruptJavaScript to TemporaryLinkStubs.cpp
47629
47630        * bridge/win/FrameWin.cpp:
47631        * platform/win/TemporaryLinkStubs.cpp:
47632        (FrameWin::shouldInterruptJavaScript):
47633
476342006-06-21  Ben Goodger <bengoodger@gmail.com>
47635
47636        Reviewed by Maciej.
47637
47638        Fix for: http://bugs.webkit.org/show_bug.cgi?id=9523
47639        More Win32 build bustage.
47640
47641        * WebCore.vcproj/WebCore/WebCore.vcproj:
47642        * bridge/win/FrameWin.cpp:
47643        (WebCore::FrameWin::shouldInterruptJavaScript):
47644        * bridge/win/FrameWin.h:
47645
476462006-06-20  Adele Peterson  <adele@apple.com>
47647
47648        Reviewed by Anders.
47649
47650        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8948
47651        Switch to use new text field implementation for <textarea>
47652
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):
47669
476702006-06-20  Brady Eidson  <beidson@apple.com>
47671
47672        Reviewed by Maciej
47673
47674        Fixed capitalization mistake that I made, someone else fixed, then I accidentally made it go back to the old way
47675
47676        * icon/SQLStatement.cpp:
47677
476782006-06-20  Brady Eidson  <beidson@apple.com>
47679
47680        Reviewed by Maciej.
47681
47682        More changes/additions setting the stage for the major IconDatabase hookup.
47683
47684        * WebCore.xcodeproj/project.pbxproj:  Added SQLTransaction.cpp
47685
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:]):
47699
47700        * bridge/mac/WebCorePageBridge.mm: Added WebCore's IconDatabase logging channel to the user-prefs check
47701        (initializeLoggingChannelsIfNecessary):
47702
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):
47719
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):
47723
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):
47731
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):
47738
477392006-06-20  Adele Peterson  <adele@apple.com>
47740
47741        Reviewed by Maciej.
47742
47743        Fixes for:
47744        http://bugs.webkit.org/show_bug.cgi?id=8724
47745        REGRESSION: onSelect handler doesn't work for text fields
47746
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
47749
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
47752
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.
47755
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
47761
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.
47768
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.
47777
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.
47790
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.
47797
477982006-06-21  Anders Carlsson  <acarlsson@apple.com>
47799
47800        * bridge/win/FrameWin.cpp:
47801        (WebCore::shouldInterruptJavaScript):
47802        * bridge/win/FrameWin.h:
47803        Try fixing the Windows build.
47804
478052006-06-20  Adele Peterson  <adele@apple.com>
47806
47807        RS by Tim Hatcher.
47808
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.
47837
478382006-06-20  Anders Carlsson  <acarlsson@apple.com>
47839
47840        Reviewed by Geoff.
47841
47842        http://bugs.webkit.org/show_bug.cgi?id=9509
47843        Would like a way to pause/resume XML parsing
47844
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.
47893
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
479042006-06-20  David Hyatt  <hyatt@apple.com>
47905
47906        Don't send the custom highlighter callback when painting is disabled.
47907
47908        Reviewed by harrison
47909
47910        * WebCore.xcodeproj/project.pbxproj:
47911        * rendering/InlineTextBox.cpp:
47912        (WebCore::InlineTextBox::paint):
47913
479142006-06-20  Anders Carlsson  <acarlsson@apple.com>
47915
47916        Reviewed by John
47917
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.
47927
479282006-06-20  Maciej Stachowiak  <mjs@apple.com>
47929
47930        Reviewed by Eric.
47931
47932        - fix crasher on one of the layout tests caused by my recent checkin
47933
47934        * kcanvas/RenderSVGText.cpp:
47935        (WebCore::RenderSVGText::paint):
47936
479372006-06-19  Alexey Proskuryakov  <ap@nypop.com>
47938
47939        Reviewed by Darin.
47940
47941        - http://bugs.webkit.org/show_bug.cgi?id=5499
47942        Page reload does not send any cache control headers
47943
47944        Test: http/tests/misc/refresh-headers.php
47945
47946        * bindings/js/kjs_window.cpp:
47947        (KJS::LocationFunc::callAsFunction): Call scheduleRefresh() for Location::Reload.
47948
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.
47951
47952        * page/FramePrivate.h: Replace TransferJob with a HashMap for storing response headers.
47953
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.
47962
479632006-06-19  Ben Goodger  <bengoodger@gmail.com>
47964
47965        Reviewed by Darin.
47966
47967        http://bugs.webkit.org/show_bug.cgi?id=9501
47968        Windows build fails with link error CharsetTable not defined
47969
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.
47974
479752006-06-18  Maciej Stachowiak  <mjs@apple.com>
47976
47977        Reviewed by Darin.
47978
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"
47990
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.
47997
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:
48009
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:
48022
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.
48029
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.
48034
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.
48044
480452006-06-19  Sam Weinig  <sam.weinig@gmail.com>
48046
48047        Reviewed by Darin.
48048
48049        - fix for http://bugs.webkit.org/show_bug.cgi?id=9500
48050          Split dom2_eventsimpl.* into separate files (one class per file).
48051
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:
48196
481972006-06-19  Darin Adler  <darin@apple.com>
48198
48199        Reviewed by Brady.
48200
48201        - removed a few empty/unused files Brady found by tracking down the nm error message
48202
48203        * editing/VisibleRange.cpp: Removed.
48204        * editing/VisibleRange.h: Removed.
48205        * kcanvas/KCanvasImage.cpp: Removed.
48206
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.
48210
482112006-06-19  Alexey Proskuryakov  <ap@nypop.com>
48212
48213        Reviewed by Darin.
48214
48215        - http://bugs.webkit.org/show_bug.cgi?id=9492
48216        Fix or remove window.debug.
48217
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.
48220
48221        * bindings/js/kjs_proxy.cpp:
48222        (WebCore::KJSProxy::initScriptIfNeeded): Don't add window.debug.
48223
482242006-06-19  Alexey Proskuryakov  <ap@nypop.com>
48225
48226        Reviewed by Darin.
48227
48228        - http://bugs.webkit.org/show_bug.cgi?id=8972
48229        REGRESSION: invalid UTF-8 sequences are not displayed
48230
48231        Test: LayoutTests/fast/encoding/invalid-UTF-8.html
48232
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();
48237
48238        * platform/StreamingTextDecoder.cpp:
48239        (WebCore::StreamingTextDecoder::appendOmittingBOM): Only omit BOM characters.
48240        Renamed back from appendOmittingUnwanted();
48241
48242        (WebCore::StreamingTextDecoder::convertUsingICU):
48243        * platform/StreamingTextDecoder.h:
48244        Update for the above function renaming.
48245
482462006-06-18  David Kilzer  <ddkilzer@kilzer.net>
48247
48248        Reviewed by darin.
48249
48250        http://bugs.webkit.org/show_bug.cgi?id=9498
48251        Remove dead code left in JSHTMLDocument::getOwnPropertySlot() from r14298 (Bug 7838)
48252
48253        * bindings/js/kjs_html.cpp:
48254        (KJS::JSHTMLDocument::getOwnPropertySlot): Remove dead code.
48255
482562006-06-18  David Kilzer  <ddkilzer@kilzer.net>
48257
48258        Reviewed by ggaren.
48259
48260        * manual-tests/redraw-page-cache-visited-links.html: Changed to use DOM mouse event.
48261
482622006-06-18  David Kilzer  <ddkilzer@kilzer.net>
48263
48264        Reviewed by ggaren.
48265
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
48268
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.
48273
482742006-06-17  Anders Carlsson  <acarlsson@apple.com>
48275
48276        Reviewed by Geoff.
48277
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
483092006-06-17  Alexey Proskuryakov  <ap@nypop.com>
48310
48311        Reviewed by ggaren.
48312
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
48315
48316        Most of the properties were already fixed, this just adds adds a prototype to window.debug.
48317
48318        Test: fast/dom/everything-to-string.html
48319
48320        * bindings/js/kjs_proxy.cpp:
48321        (WebCore::TestFunctionImp::TestFunctionImp):
48322        (WebCore::KJSProxy::initScriptIfNeeded):
48323
483242006-06-17  David Kilzer  <ddkilzer@kilzer.net>
48325
48326        Reviewed by Maciej.
48327
48328        - Fix capitalization issue for case-sensitive filesystems.
48329
48330        * icon/SQLStatement.cpp: Change assertions.h to Assertions.h.
48331
483322006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
48333
48334        Reviewed by Hyatt.
48335
48336        - fix http://bugs.webkit.org/show_bug.cgi?id=7395
48337          Table not properly re-flowed when floated div removed from layout
48338
48339        Test: fast/block/float/table-relayout.html
48340
48341        * rendering/RenderBlock.cpp:
48342        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): Added marking
48343        of children that use lineWidth.
48344        * rendering/RenderBlock.h: Added a FIXME.
48345
483462006-06-17  Rob Buis  <buis@kde.org>
48347
48348        Reviewed by Darin.
48349
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
48352
48353        Update selectedIndex when a new option is added using javascript.
48354
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:
48362
483632006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
48364
48365        Reviewed by Darin.
48366
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
48369
48370        * manual-tests/reset-initiatedDrag.html: Added.
48371
483722006-06-16  David Kilzer  <ddkilzer@kilzer.net>
48373
48374        Reviewed by darin.
48375
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
48379
48380        * css/CSSGrammar.y: Create CSSSelector for FUNCTION using CSSParser::createFloatingSelector()
48381        instead of the bare constructor.
48382
483832006-06-16  David Harrison  <harrison@apple.com>
48384
48385        Reviewed by Hatcher.
48386
48387        <rdar://problem/4565312> Mail has a weird drawing artifact with dotted red lines running across the window
48388
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.
48392
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.
48397
48398        * platform/mac/GraphicsContextMac.mm:
48399        (WebCore::GraphicsContext::drawLineForMisspelling):
48400        Early return if paintingDisabled().
48401
484022006-06-16  Adele Peterson  <adele@apple.com>
48403
48404        Reviewed by Hyatt.
48405
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.
48410
48411        These changes will be tested by current layout tests when the
48412        new textarea implementation takes effect.
48413
48414        * rendering/RenderTextField.cpp:
48415        (WebCore::RenderTextField::createDivStyle):
48416        (WebCore::RenderTextField::calcHeight):
48417
484182006-06-16  John Sullivan  <sullivan@apple.com>
48419
48420        Reviewed by Darin
48421
48422        - fixed <rdar://problem/4590062> crash in marker code with particular set of steps on daringfireball.net
48423
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()].
48428
484292006-06-16  Adele Peterson  <adele@apple.com>
48430
48431        Reviewed by Alice.
48432
48433        Added code to draw Cocoa-like border for textareas instead of just using CSS.
48434
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.
48442
484432006-06-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
48444
48445        Reviewed by hyatt.
48446
48447        - fix http://bugs.webkit.org/show_bug.cgi?id=9432
48448          REGRESSION: crash in capitalization code due to empty-string generated content
48449
48450        Test: fast/text/capitalize-empty-generated-string.html
48451
48452        * rendering/RenderText.cpp:
48453        (WebCore::RenderText::setText): Skip empty-string text renderers when
48454        looking for the previous character.
48455
484562006-06-15  Justin Garcia  <justin.garcia@apple.com>
48457
48458        Reviewed by levi
48459
48460        <http://bugs.webkit.org/show_bug.cgi?id=8637>
48461        REGRESSION (11-16-05): Selection gaps left behind after delete
48462
48463        * editing/SelectionController.cpp:
48464        (WebCore::SelectionController::nodeWillBeRemoved): Invalidate the selection so that
48465        selection gaps are invalidated.
48466
484672006-06-15  Timothy Hatcher  <timothy@apple.com>
48468
48469        Reviewed by Geoff and Darin.
48470
48471        Prefer the DWARF debugging symbols format for use in Xcode 2.3.
48472
48473        * WebCore.xcodeproj/project.pbxproj:
48474
484752006-06-15  Justin Garcia  <justin.garcia@apple.com>
48476
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.
48484
484852006-06-15  Nicholas Shanks  <contact@nickshanks.com>
48486
48487        Reviewed by Hyatt, landed by Joost de Valk.
48488
48489        Fix http://bugs.webkit.org/show_bug.cgi?id=3233
48490
48491        Add support for the :lang pseudo-class.
48492
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:
48503
485042006-06-15  Justin Garcia  <justin.garcia@apple.com>
48505
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).
48517
485182006-06-15  David Kilzer  <ddkilzer@kilzer.net>
48519
48520        Reviewed by mjs.
48521
48522        http://bugs.webkit.org/show_bug.cgi?id=9382
48523        IDL files missing copyright/license headers
48524
48525        Add Apple BSD license and copyright to IDL files.
48526
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:
48634
486352006-06-14  Justin Garcia  <justin.garcia@apple.com>
48636
48637        Reviewed by levi
48638
48639        <rdar://problem/4439248>
48640        REGRESSION(412-417): [RTL] Serious problem with RTL signatures in Mail.app in 10.4.4 (7766)
48641
48642        * editing/markup.cpp:
48643        (WebCore::renderedText): Use plainText so that we'll pull rendered text but in DOM order.
48644
486452006-06-14  Levi Weintraub  <lweintraub@apple.com>
48646
48647        Reviewed by justin
48648
48649        <http://bugs.webkit.org/show_bug.cgi?id=7580>
48650        TinyMCE: Implement execCommand(formatBlock, ...)
48651
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:
48693
486942006-06-14  Maciej Stachowiak  <mjs@apple.com>
48695
48696        Reviewed by Anders.
48697
48698        - fixed <rdar://problem/4586051> 10.4.7 regression: 'Saved and recent' button on mapquest.com does not work
48699
48700        * dom/EventTargetNode.cpp:
48701        (WebCore::EventTargetNode::dispatchWindowEvent):
48702
487032006-06-14  David Hyatt  <hyatt@apple.com>
48704
48705        Rename RenderSlider to DeprecatedSlider, so that I can start work on
48706        the new NSView-less slider.
48707
48708        Reviewed by john
48709
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.
48723
487242006-06-13  Geoffrey Garen  <ggaren@apple.com>
48725
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.
48735
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):
48743
487442006-06-13  Alice Liu  <alice.liu@apple.com>
48745
48746        Reviewed by Adele.
48747
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
48749
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()
48754
487552006-06-13  Darin Adler  <darin@apple.com>
48756
48757        Reviewed by Geoff.
48758
48759        - fix <rdar://problem/4585333> Changing location for weather on yahoo.com home page redirects to another page
48760
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.
48765
48766        Test: fast/events/event-listener-html-non-html-confusion.html
48767
48768        * bindings/js/kjs_window.h: Add additional listener maps for HTML event listeners.
48769
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.
48776
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.
48787
487882006-06-13  Maciej Stachowiak  <mjs@apple.com>
48789
48790        Reviewed by Darin.
48791
48792        <rdar://problem/4583892> 10.4.7 regression: Hang occurs when attempting to load search results at mapquest.com
48793
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.
48798
487992006-06-13  Antti Koivisto  <koivisto@iki.fi>
48800
48801        Reviewed by Hyatt.
48802
48803        http://bugs.webkit.org/show_bug.cgi?id=9314
48804        Relative positioned block size doesnt update root layer size
48805
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):
48827
488282006-06-13  Anders Carlsson  <acarlsson@apple.com>
48829
48830        Reviewed by Dave Hyatt.
48831
48832        http://bugs.webkit.org/show_bug.cgi?id=9427
48833        xml-stylesheet processing instructions outside of the prolog should have no effect.
48834
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.
48842
488432006-06-13  Anders Carlsson  <acarlsson@apple.com>
48844
48845        Reviewed by Geoff.
48846
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.
48853
488542006-06-12  Geoffrey Garen  <ggaren@apple.com>
48855
48856        build fix -- forgot to svn add this file
48857
48858        * ForwardingHeaders/kjs/SavedBuiltins.h: Added.
48859
488602006-06-12  Brady Eidson  <beidson@apple.com>
48861
48862        Reviewed by Maciej.
48863
48864        Fixed a bug in append(char) and append(UChar) where our intended copy-on-write semantics was ignored!
48865
48866        * platform/String.cpp:
48867        (WebCore::String::append):
48868
488692006-06-12  Geoffrey Garen  <ggaren@apple.com>
48870
48871        Reviewed by TimO, Maciej.
48872
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:
48888
488892006-06-12  Brady Eidson <beidson@apple.com>
48890
48891        Reviewed by Maciej.
48892
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.
48899
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.
48915
48916        * platform/PlatformString.h:
48917        * platform/String.cpp:
48918        (WebCore::String::ascii):
48919        * platform/StringImpl.cpp:
48920        (WebCore::StringImpl::ascii):
48921        * platform/StringImpl.h:
48922
489232006-06-12  Dave Hyatt <hyatt@apple.com>
48924
48925        Add the notion of a selection foreground color to the engine for
48926        Win32.  Rename existing selectionColor methods to be
48927        selectionBackgroundColor instead.
48928
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.
48934
48935        Reviewed by mjs
48936
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):
48979
489802006-06-12  John Sullivan  <sullivan@apple.com>
48981
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.
48988
489892006-06-12  Brady Eidson  <beidson@apple.com>
48990
48991        Reviewed by Levi and Tim Omernick.
48992
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
48996
48997        * icon/IconDatabase.cpp:
48998        (WebCore::IconDatabase::open):
48999        (WebCore::IconDatabase::isValidDatabase):
49000        (WebCore::IconDatabase::clearDatabase):
49001        (WebCore::IconDatabase::recreateDatabase):
49002        * icon/IconDatabase.h:
49003
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)
49017
490182006-06-12  Brady Eidson  <beidson@apple.com>
49019
49020        Reviewed by Levi.
49021
49022        -Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.
49023        -Changed the base IconDatabase over to this new framework.
49024
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
49029
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
49038
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
49078
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.
49084
490852006-06-11  David Kilzer  <ddkilzer@kilzer.net>
49086
49087        Reviewed by Maciej.
49088
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"
49091
49092        * DerivedSources.make: Fix clean builds.
49093
490942006-06-11  Darin Adler  <darin@apple.com>
49095
49096        - another try at fixing Windows
49097
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>/
49115
491162006-06-11  Darin Adler  <darin@apple.com>
49117
49118        - try to fix Windows build
49119
49120        * platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
49121        Use Vector<char> instead of DeprecatedByteArray.
49122
49123        * platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
49124        Don't try to return 0 from a function that returns a Vector<char>.
49125
491262006-06-11  Sam Weinig  <sam.weinig@gmail.com>
49127
49128        Reviewed by Hyatt, tweaked quite a bit and landed by Darin.
49129
49130        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8039
49131          Remove use of DeprecatedArray in favor of new Vector class
49132
49133        This removes most of the uses of DeprecatedArray and
49134        DeprecatedByteArray, with the exception of DeprecatedCString.
49135
49136        No test cases added because there is no change in
49137        functionality.
49138
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):
49190
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:
49273
492742006-06-11  David Kilzer  <ddkilzer@kilzer.net>
49275
49276        Reviewed by darin.
49277
49278        http://bugs.webkit.org/show_bug.cgi?id=9394
49279        Fix no-SVG build
49280
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.
49402
494032006-06-11  Anders Carlsson  <acarlsson@apple.com>
49404
49405        Reviewed by Geoff.
49406
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.
49460
494612006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
49462
49463        Reviewed by hyatt.
49464
49465        - fix http://bugs.webkit.org/show_bug.cgi?id=9334
49466          Incomplete repaint when changing block from non-positioned to positioned
49467
49468        Test: fast/repaint/static-to-positioned.html
49469
49470        * rendering/RenderObject.cpp:
49471        (WebCore::RenderObject::setStyle): If changing from static to positioned, repaint
49472        as static.
49473
494742006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
49475
49476        Reviewed by hyatt.
49477
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
49480
49481        Test: fast/layers/opacity-outline.html
49482
49483        - fix repainting of layer children's outlines that extend beyond the layer
49484
49485        Test: fast/repaint/layer-child-outline.html
49486
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.
49493
494942006-06-10  Steve Falkenburg  <sfalken@apple.com>
49495
49496        Fix build break
49497
49498        * platform/cairo/GraphicsContextCairo.cpp:
49499        * platform/win/TemporaryLinkStubs.cpp:
49500        (GraphicsContext::scale):
49501
495022006-06-10  Geoffrey Garen  <ggaren@apple.com>
49503
49504        - http://bugs.webkit.org/show_bug.cgi?id=8515
49505        Linux porting compile bug
49506
49507        Fix by Mike Emmel, Reviewed by Darin.
49508
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:
49540
495412006-06-09  John Sullivan  <sullivan@apple.com>
49542
49543        Reviewed by Tim Omernick and Dave Hyatt.
49544
49545        WebCore support for computing but not highlighting rects for text matches.
49546
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.
49583
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
495902006-06-10  Anders Carlsson  <acarlsson@apple.com>
49591
49592        Reviewed by Eric.
49593
49594        * bindings/js/kjs_html.cpp:
49595        (KJS::JSHTMLElement::put):
49596        Call WebCore::JSHTMLElement::put so that autogenerated setters will work
49597        for HTMLElement.
49598
495992006-06-09  Geoffrey Garen  <ggaren@apple.com>
49600
49601        - Build fix after last JSC check-in (oops!)
49602
49603        * bridge/mac/WebCoreScriptDebugger.mm:
49604        (-[WebCoreScriptCallFrame scopeChain]):
49605        (-[WebCoreScriptCallFrame functionName]):
49606        (-[WebCoreScriptCallFrame evaluateWebScript:]):
49607
496082006-06-09  David Hyatt  <hyatt@apple.com>
49609
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.
49613
49614        Pull code that was incorrectly factored into Mac-only code out of FrameMac
49615        and back up into Frame.
49616
49617        Reviewed by andersca
49618
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):
49627
496282006-06-09  David Hyatt  <hyatt@apple.com>
49629
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.
49635
49636        Reviewed by sfalken
49637
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):
49698
496992006-06-09  Justin Garcia  <justin.garcia@apple.com>
49700
49701        Reviewed by levi
49702
49703        <rdar://problem/4549980>
49704        REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
49705
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:
49720
497212006-06-09  Steve Falkenburg  <sfalken@apple.com>
49722
49723        Fix build break
49724
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):
49732
497332006-06-09  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
49734
49735        Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth.
49736        Landed by Beth.
49737
49738        CSS3 Media Queries implementation.
49739        <http://bugs.webkit.org/show_bug.cgi?id=4127>
49740
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):
49865
498662006-06-08  Levi Weintraub  <lweintraub@apple.com>
49867
49868        Reviewed by justin
49869
49870        <http://bugs.webkit.org/show_bug.cgi?id=4468>
49871        Implement execCommand(Insert{Un}OrderedList)
49872
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:
49925
499262006-06-08  David Harrison  <harrison@apple.com>
49927
49928        Reviewed by Geoff and John.
49929
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.
49934
49935        Test: fast/dom/setPrimitiveValue.html
49936
49937        * css/CSSPrimitiveValue.cpp:
49938        (WebCore::CSSPrimitiveValue::setFloatValue):
49939        (WebCore::CSSPrimitiveValue::setStringValue):
49940        Move parameter checks ahead of call to cleanup().
49941
499422006-06-08  Alice Liu  <alice.liu@apple.com>
49943
49944        Reviewed by justin.
49945
49946        - fixed <rdar://problem/4578115> support Range.isPointInRange
49947        - fixed <rdar://problem/4578123> support Range.comparePoint
49948
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
49958
499592006-06-08  Darin Adler  <darin@apple.com>
49960
49961        Reviewed by justin.
49962
49963        - fix http://bugs.webkit.org/show_bug.cgi?id=8616
49964          REGRESSION: TinyMCE: Crash on Undo
49965
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.
49971
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.
49976
499772006-06-07  Justin Garcia  <justin.garcia@apple.com>
49978
49979        Reviewed by levi
49980
49981        Fixed some comments and removed an unused variable.
49982
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:
49997
499982006-06-07  David Hyatt  <hyatt@apple.com>
49999
50000        Add support for custom highlighting.  This is all ifdefed to be Mac-only.
50001
50002        Reviewed by justin
50003
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:
50014
500152006-06-07  Adele Peterson  <adele@apple.com>
50016
50017        Reviewed by Hyatt
50018
50019        Added support for cross-platform resize property.
50020
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.
50025
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.
50032
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.
50043
50044        * platform/cairo/ImageCairo.cpp:
50045        (WebCore::Image::loadResource): Loads image resources.
50046
500472006-06-07  David Hyatt  <hyatt@apple.com>
50048
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.
50051
50052        Reviewed by beth
50053
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):
50070
500712006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50072
50073        Fix suggested by Rob Buis. Reviewed by Darin.
50074
50075        - fix http://bugs.webkit.org/show_bug.cgi?id=9341
50076          REGRESSION: Repro crash caused by style="font:bold"
50077
50078        Test: fast/css/font-shorthand-weight-only.html
50079
50080        * css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
50081        made to fix bug 5564.
50082
500832006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50084
50085        Reviewed by Hyatt.
50086
50087        - fix http://bugs.webkit.org/show_bug.cgi?id=9122
50088          REGRESSION: Incorrect vertical position for text fields in a "display: table" block
50089
50090        Test: fast/table/text-field-baseline.html
50091
50092        * rendering/RenderTableCell.cpp:
50093        (WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
50094        use their baseline.
50095
500962006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50097
50098        Reviewed by Hyatt (concept) and Darin (some coding details).
50099
50100        - fix http://bugs.webkit.org/show_bug.cgi?id=4334
50101          REGRESSION: Flickering when css-hover should change opacity on floating elements
50102
50103        Pixel test: fast/block/float/nopaint-after-layer-destruction.html
50104
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.
50113
501142006-06-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50115
50116        Reviewed by Hyatt.
50117
50118        - fix http://bugs.webkit.org/show_bug.cgi?id=9121
50119          REGRESSION: [Incremental Repaint] DHTML movement test failures
50120
50121        Test (repaint): fast/repaint/containing-block-position-change.html
50122
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):
50138
501392006-06-06  Justin Garcia  <justin.garcia@apple.com>
50140
50141        Reviewed by levi
50142
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:
50194
501952006-06-06  Beth Dakin  <bdakin@apple.com>
50196
50197        Reviewed by Maciej.
50198
50199        Fix for <rdar://problem/4570475> Dashboard regions do not scale for
50200        non-1.0 scale factors.
50201
50202        No test cases added since this only affects non-1.0 resolution
50203        scale factors.
50204
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.
50216
502172006-06-06  John Sullivan  <sullivan@apple.com>
50218
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.
50226
50227        * dom/Document.h:
50228        Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained
50229
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.
50236
502372006-06-06  Anders Carlsson  <acarlsson@apple.com>
50238
50239        Reviewed by Darin.
50240
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
502492006-06-06  Anders Carlsson  <acarlsson@apple.com>
50250
50251        Reviewed by John.
50252
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.
50261
502622006-06-05  Rob Buis  <buis@kde.org>
50263
50264        Reviewed by mjs.
50265
50266        http://bugs.webkit.org/show_bug.cgi?id=5564
50267        'font' shorthand parsing should be more tolerant in quirks mode
50268
50269        When not in strict mode accept font property specifications
50270        lacking a font family part, like WinIE does.
50271
50272        * css/cssparser.cpp:
50273        (WebCore::CSSParser::parseFont):
50274
502752006-06-05  Beth Dakin  <bdakin@apple.com>
50276
50277        Reviewed by Darin.
50278
50279        Fix for <rdar://problem/4567520> Pixel cracks in weather widget at
50280        1.83 scaling
50281
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.
50289
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.
50312
503132006-06-05  Geoffrey Garen  <ggaren@apple.com>
50314
50315        Reviewed by Darin.
50316
50317        - http://bugs.webkit.org/show_bug.cgi?id=9310
50318        Add missing DOM prototypes and other DOM cleanup
50319
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::):
50354
503552006-06-04  Darin Adler  <darin@apple.com>
50356
50357        Reviewed by Maciej.
50358
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)
50362
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.
50366
503672006-06-04  Darin Adler  <darin@apple.com>
50368
50369        Reviewed by Maciej.
50370
50371        - fix http://bugs.webkit.org/show_bug.cgi?id=9176
50372          REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
50373
50374        Test: fast/loader/link-no-URL.html
50375
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.
50388
503892006-06-04  Darin Adler  <darin@apple.com>
50390
50391        Reviewed by Adele.
50392
50393        - fix http://bugs.webkit.org/show_bug.cgi?id=7291
50394          REGRESSION: delete key does not work in isIndex fields
50395
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.
50409
504102006-06-04  Darin Adler  <darin@apple.com>
50411
50412        Reviewed by Anders.
50413
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
50419
50420        * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
50421        generating the bindings for XPathNSResolver.
50422
50423        * dom/DOMImplementation.h: Added a virtual destructor for the benefit of
50424        SVGDOMImplementation.
50425        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.
50426
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.
50431
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.
50437
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.
50443
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.
50457
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.
50467
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.
50499
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".
50510
50511        * xpath/impl/XPathStep.h:
50512        * xpath/impl/XPathStep.cpp: Renamed AxisType to Axis. Removed unused axisAsString
50513        function and default constructor.
50514
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.
50518
50519        * xpath/impl/XPathVariableReference.cpp: (WebCore::XPath::VariableReference::doEvaluate):
50520        Use a reference instead of a pointer.
50521
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.
50538
505392006-06-04  Sam Weinig  <sam.weinig@gmail.com>
50540
50541        Reviewed by hyatt.
50542
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
50546
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:
50556
505572006-06-04  Anders Carlsson  <acarlsson@apple.com>
50558
50559        Reviewed by Darin.
50560
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.
50594
505952006-06-03  Rob Buis  <buis@kde.org>
50596
50597        Reviewed by mjs.  Tweaked and landed by ddkilzer.
50598
50599        http://bugs.webkit.org/show_bug.cgi?id=7281
50600        With java disabled wrong information is displayed.
50601
50602        Test: fast/replaced/applet-rendering-java-disabled.html
50603
50604        Match WinIE, render applet content inline when java is
50605        disabled.
50606
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.
50614
506152006-06-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50616
50617        Reviewed by Hyatt.
50618
50619        - fix http://bugs.webkit.org/show_bug.cgi?id=9252
50620          REGRESSION: Very odd roll-over issues (content disappearing)
50621
50622        Test: fast/dom/HTMLLinkElement/pending-stylesheet-count.html
50623
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.
50628
506292006-06-03  Darin Adler  <darin@apple.com>
50630
50631        - fix Windows build
50632
50633        * platform/Widget.h: Moved scaleFactor function out of Apple-specific
50634        section of the header into the common part.
50635
506362006-06-03  Beth Dakin  <bdakin@apple.com>
50637
50638        Reviewed by Darin.
50639
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.
50643
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.
50655
506562006-06-03  Steve Falkenburg  <sfalken@apple.com>
50657
50658        Reviewed by hyatt.
50659
50660        Don't send empty referrers.  Fixes image load fail on Spinneret default content.
50661
50662        * platform/win/TransferJobWin.cpp:
50663        (WebCore::TransferJob::start):
50664
506652006-06-02  Adele Peterson  <adele@apple.com>
50666
50667        Reviewed by Darin.
50668
50669        Windows theme for textareas.  Also made some formatting changes.
50670
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):
50680
506812006-06-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
50682
50683        Reviewed by Hyatt, checked in by Tim H.
50684
50685        Explicitly run perl on *.pl files instead of relying
50686        on Windows shell figuring out which program to run for
50687        this extention.
50688
50689        * DerivedSources.make:
50690
506912006-06-02  David Carson  <dacarson@gmail.com>
50692
50693        Reviewed by Hyatt, checked in by Tim H.
50694
50695        fixes http://bugs.webkit.org/show_bug.cgi?id=9115
50696        Changed RenderLayer to only render layers that are not
50697        totally transparent.
50698
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.
50703
507042006-06-02  Rob Buis  <buis@kde.org>
50705
50706        Reviewed by Hyatt, checked in by Tim H.
50707
50708        http://bugs.webkit.org/show_bug.cgi?id=8223
50709        WebKit fails to update style on element via DOM
50710
50711        Handle !important by detecting it and using a different code
50712        path from normal priority.
50713
50714        * bindings/js/kjs_css.cpp:
50715        (KJS::DOMCSSStyleDeclaration::put):
50716        * css/CSSStyleDeclaration.cpp:
50717        (WebCore::CSSStyleDeclaration::setProperty):
50718        * css/CSSStyleDeclaration.h:
50719
507202006-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
507302006-06-02  Steve Falkenburg  <sfalken@apple.com>
50731
50732        Reviewed by darin.
50733
50734        Platform hookup fixes
50735
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):
50748
507492006-06-02  Rémi Zara  <remi_zara@mac.com>
50750
50751        Reviewed by Hyatt.
50752
50753        - fix http://bugs.webkit.org/show_bug.cgi?id=3379
50754          attr(X) does not work
50755
50756        Test: fast/css-generated-content/016.html
50757
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.
50763
50764        * rendering/render_style.cpp: Did a lot of reformatting, and this one real change.
50765        (WebCore::RenderStyle::RenderStyle): Initialize m_unique to false.
50766
50767        * rendering/render_style.h:
50768        (WebCore::RenderStyle::unique): Added. Returns value of m_unique.
50769        (WebCore::RenderStyle::setUnique): Added. Sets m_unique.
50770
507712006-06-02  David Kilzer  <ddkilzer@kilzer.net>
50772
50773        Reviewed by mjs.
50774
50775        http://bugs.webkit.org/show_bug.cgi?id=9183
50776        Finish renaming of RenderCanvas to RenderView
50777
50778        * rendering/RenderView.h: Changed renderName from "RenderCanvas" to "RenderView".
50779
507802006-06-01  Darin Adler  <darin@apple.com>
50781
50782        - try to fix Windows build
50783
50784        * bridge/win/FrameWin.cpp: Added include of Decoder.h.
50785
507862006-06-01  Darin Adler  <darin@apple.com>
50787
50788        Reviewed by Maciej.
50789
50790        - WebCore doesn't need to load WebKit images any more; removed code for that
50791
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.
50798
507992006-06-01  Sam Weinig  <sam.weinig@gmail.com>
50800
50801        Reviewed by Geoff, tweaked a bit by Darin.
50802
50803        - http://bugs.webkit.org/show_bug.cgi?id=9064
50804          Split dom2_traversalimpl.* into separate files (one class per file).
50805
50806        * WebCore.xcodeproj/project.pbxproj: Updated for new files.
50807        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
50808
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.
50815
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.
50826
50827        * dom/dom2_traversalimpl.cpp: Removed.
50828        * dom/dom2_traversalimpl.h: Removed.
50829
508302006-06-01  David Carson  <dacarson@gmail.com>
50831
50832        Reviewed by Maciej and Adele
50833
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
50841
508422006-06-01  David Carson  <dacarson@gmail.com>
50843
50844        Reviewed by Hyatt.
50845
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
50853
508542006-06-01  Adele Peterson  <adele@apple.com>
50855
50856        Reviewed by Maciej.
50857
50858        Missed an initialization in my last checkin which caused too many
50859        resizers to be drawn.
50860
50861        * rendering/render_style.cpp: (WebCore::resize):
50862        Initialize resize to RESIZE_NONE.
50863
508642006-06-01  Dave Hyatt <hyatt@apple.com>
50865
50866        Implement form POST using WinINet.  This code is crazy... CRAZY!
50867
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):
50876
508772006-06-01  Adele Peterson  <adele@apple.com>
50878
50879        Reviewed by Hyatt.
50880
50881        Fix for http://bugs.webkit.org/show_bug.cgi?id=9216
50882        Implement CSS3 resize property
50883
50884        * css/html4.css: Sets resize:both for textareas. This won't affect old-style textareas.
50885
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.
50890
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):
50897
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.
50905
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.
50922
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.
50928
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.
50935
509362006-06-01  Brady Eidson  <beidson@apple.com>
50937
50938        Reviewed by Maciej.
50939
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.
50944
50945        There are also changes to our String classes to allow appending
50946        a single character to a String without creating a temporary object.
50947
50948        * WebCore.exp:
50949        -Added a symbol export
50950
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
50959
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):
50971
50972        * icon/IconDatabase.h: Added.
50973        (WebCore::IconDatabase::isOpen):
50974        * platform/Logging.cpp:
50975        * platform/Logging.h:
50976        -Added an IconDatabase logging channel
50977
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
50988
509892006-06-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
50990
50991        Reviewed and landed by Anders.
50992
50993        - fixed all places in the Canvas to RenderView rename patch where
50994          view() should have been changed to frameView().
50995
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):
51005
510062006-06-01  Geoffrey Garen  <ggaren@apple.com>
51007
51008        Fix by Mitz. Reviewed, tweaked, tested, landed by me.
51009
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):
51025
510262006-06-01  Anders Carlsson  <acarlsson@apple.com>
51027
51028        * platform/KURL.cpp:
51029        (equalIgnoringRef):
51030        Whoops. Fix build.
51031
510322006-06-01  Anders Carlsson  <acarlsson@apple.com>
51033
51034        Reviewed by Darin.
51035
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.
51061
510622006-06-01  Anders Carlsson  <acarlsson@apple.com>
51063
51064        Reviewed by Maciej.
51065
51066        http://bugs.webkit.org/show_bug.cgi?id=9212
51067        dispatchEvent13.html crashes under GuardMalloc
51068
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
51091
510922006-06-01  Justin Garcia  <justin.garcia@apple.com>
51093
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
51097
51098        * dom/Element.cpp:
51099        (WebCore::Element::focus):
51100
511012006-06-01  David Kilzer  <ddkilzer@kilzer.net>
51102
51103        Reviewed by darin.
51104
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)
51107
51108        * manual-tests/redraw-page-cache-visited-links.html: Added.
51109        * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added.
51110
511112006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
51112
51113        Reviewed by Hyatt.
51114
51115        - fix http://bugs.webkit.org/show_bug.cgi?id=9124
51116          Drop shadow obscures "add more stuff" bubble at live.com
51117
51118        Test: fast/css/find-next-layer.html
51119
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.
51123
511242006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
51125
51126        Reviewed by Geoff.
51127
51128        - http://bugs.webkit.org/show_bug.cgi?id=9109
51129          Remove bogus assertion in RenderBlock::tabWidth
51130
51131        Changed the uninitialized value of m_tabWidth to -1 and removed the
51132        assertion that it cannot be 0.
51133
51134        * rendering/RenderBlock.cpp:
51135        (WebCore:::RenderBlock::RenderBlock):
51136        (WebCore::RenderBlock::setStyle):
51137        * rendering/bidi.cpp:
51138        (WebCore::RenderBlock::tabWidth):
51139
511402006-05-31  Sam Weinig  <sam.weinig@gmail.com>
51141
51142        Reviewed by Hyatt.
51143
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
51147
51148        * rendering/RenderBox.cpp:
51149        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Add support for case when all values are specified.
51150        (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto
51151
511522006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
51153
51154        Reviewed by Hyatt.
51155
51156        - fix http://bugs.webkit.org/show_bug.cgi?id=9012
51157          Row height not updated when cell heights change
51158
51159        Test: fast/table/row-height-recalc.html
51160
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).
51169
511702006-05-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
51171
51172        Reviewed by Hyatt.
51173
51174        - fix for http://bugs.webkit.org/show_bug.cgi?id=8969
51175          REGRESSION: typing in textfield repaints whole web page at gamefaqs.com
51176
51177        No test possible (no functionality change)
51178
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:
51201
512022006-05-31  Sam Weinig  <sam.weinig@gmail.com>
51203
51204        Reviewed by Darin.
51205
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.
51210
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:
51218
512192006-05-31  Sam Weinig  <sam.weinig@gmail.com>
51220
51221        Reviewed by Hyatt.
51222
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):
51242
512432006-05-31  Rob Buis  <buis@kde.org>
51244
51245        Reviewed by Geoff.
51246
51247        Fix for http://bugs.webkit.org/show_bug.cgi?id=8455
51248        selectedIndex for a select after a Form reset() has wrong value
51249
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.
51253
51254        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::reset):
51255
512562006-05-31  Rob Buis  <buis@kde.org>
51257
51258        Reviewed by Geoff.
51259
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)
51262
51263        Allow input elements with name attributes as possible named
51264        items for document.all.
51265
51266        * html/HTMLCollection.cpp:
51267        (WebCore::HTMLCollection::checkForNameMatch):
51268        (WebCore::HTMLCollection::updateNameCache):
51269
512702006-05-31  Dave Hyatt <hyatt@apple.com>
51271
51272        Adding stubs for BMP/ICO/XBM image decoders.  They don't
51273        do anything yet though.
51274
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.
51293
512942006-05-31  David Hyatt  <hyatt@apple.com>
51295
51296        Fix for the gmail tab-focus-stealing bug.
51297
51298        Reviewed by darin
51299
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:
51315
513162006-05-31  Beth Dakin  <bdakin@apple.com>
51317
51318        Reviewed by Hyatt.
51319
51320        Fix for http://bugs.webkit.org/show_bug.cgi?id=6755 CSS3:
51321        Borders rounded with border-radius don't draw the roundings
51322
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.
51326
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:
51350
513512006-05-30  Eric Seidel  <eric@webkit.org>
51352
51353        Reviewed by andersca.
51354
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
51359
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.
51689
516902006-05-30  Geoffrey Garen  <ggaren@apple.com>
51691
51692        Reviewed by Maciej.
51693
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.
51702
51703        * manual-tests/window-open-features.html: Removed.
51704        * manual-tests/window-sizing.html: Added. More test coverage.
51705
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
51737
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):
51746
517472006-05-30  David Hyatt  <hyatt@apple.com>
51748
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). :)
51753
51754        Reviewed by andersca
51755
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):
51921
519222006-05-30  Tim Omernick  <timo@apple.com>
51923
51924        Reviewed by Geoff.
51925
51926        <rdar://problem/4567776> REGRESSION: window.open() links do not work at www.newarchery.com
51927
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.
51932
519332006-05-30  Sam Weinig  <sam.weinig@gmail.com>
51934
51935        Reviewed by Maciej, landed by Beth.
51936
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
51941
51942        Adds special case.
51943
51944        * rendering/RenderBox.cpp:
51945        (WebCore::RenderBox::calcPercentageHeight):
51946        (WebCore::RenderBox::calcReplacedHeightUsing):
51947
519482006-05-30  Sam Weinig  <sam.weinig@gmail.com>
51949
51950        Reviewed by Hyatt, landed by Beth.
51951
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
51955
51956        * rendering/RenderBox.cpp:
51957        (WebCore::RenderBox::calcAbsoluteVertical):
51958        (WebCore::RenderBox::calcAbsoluteVerticalValues):
51959        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
51960        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
51961
519622006-05-30  Eric Seidel  <eric@webkit.org>
51963
51964        Reviewed by andersca.
51965
51966        Small amount of svg-related code cleanup.
51967        No test case possible.
51968
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:
52002
520032006-05-30  Eric Seidel  <eric@webkit.org>
52004
52005        Reviewed by andersca.
52006
52007        Small amount of bindings-related code cleanup.
52008        No test case possible.
52009
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):
52025
520262006-05-27  Anders Carlsson  <acarlsson@apple.com>
52027
52028        * bindings/js/JSHTMLElementWrapperFactory.cpp:
52029        Correct include file names.
52030
520312006-05-26  Justin Garcia  <justin.garcia@apple.com>
52032
52033        Reviewed by levi
52034
52035        <rdar://problem/4564296> Mail crashes on Leopard9A184 when I attempt to compose a new message
52036
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.
52056
520572006-05-26  Adele Peterson  <adele@apple.com>
52058
52059        Reviewed by Justin.
52060
52061        Fixes a mistake in my last checkin.  Uses maxDeepOffset to get the end position for
52062        the textarea's inner div.
52063
52064        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::textWithHardLineBreaks):
52065
520662006-05-26  Adele Peterson  <adele@apple.com>
52067
52068        Reviewed by Hyatt.
52069
52070        Added support for wrap=hard for new textarea implementation.
52071
52072        Tests: fast/forms/textarea-appearance-wrap.html
52073
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.
52095
520962006-05-26  Anders Carlsson  <acarlsson@apple.com>
52097
52098        Reviewed by Geoff.
52099
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
521082006-05-26  David Harrison  <harrison@apple.com>
52109
52110        Reviewed by John Sullivan.
52111
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
52161
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
52171
52172        * editing/htmlediting.cpp:
52173        (WebCore::createOrderedListElement):
52174        (WebCore::createUnorderedListElement):
52175        * editing/htmlediting.h:
52176
521772006-05-26  Steve Falkenburg  <sfalken@apple.com>
52178
52179        Reviewed by adele.
52180
52181        Build fixes/tweaks
52182
52183        * WebCore.vcproj/WebCore/WebCore.vcproj:
52184        * config.h:
52185        * ksvg2/scripts/make_names.pl:
52186
521872006-05-26  Steve Falkenburg  <sfalken@apple.com>
52188
52189        Reviewed by adele.
52190
52191        Fix build
52192
52193        * WebCore.vcproj/WebCore/WebCore.vcproj:
52194        * config.h:
52195
521962006-05-25  Dave Hyatt <hyatt@apple.com>
52197
52198        Change default font size for fixed pitch to 13 to match Safari
52199        on Mac (and every other browser on the planet too).
52200
52201        Reviewed by adele
52202
52203        * bridge/win/FrameWin.cpp:
52204        (WebCore::FrameWin::FrameWin):
52205        * platform/win/FontCacheWin.cpp:
52206        (WebCore::FontCache::getFontLinkInterface):
52207
522082006-05-25  Alice Liu  <alice.liu@apple.com>
52209
52210        Reviewed by Adele.
52211
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
52224
522252006-05-25  Dave Hyatt <hyatt@apple.com>
52226
52227        Make soft hyphens work on Win32 by special casing them
52228        along with normal hyphens.
52229
52230        Reviewed by mjs
52231
52232        * rendering/break_lines.cpp:
52233        (WebCore::nextBreakablePosition):
52234
522352006-05-25  Dave Hyatt <hyatt@apple.com>
52236
52237        Implement the fallback method containsCharacters for
52238        checking if a font has the necessary glyphs to be
52239        selected as a fallback choide.
52240
52241        * platform/win/FontDataWin.cpp:
52242        (WebCore::FontData::containsCharacters):
52243
522442006-05-25  Dave Hyatt <hyatt@apple.com>
52245
52246        For now eliminate the logical scale factor from Cairo.
52247        This enables bitmap fonts like MS Sans Serif to work on
52248        Win32.
52249
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):
52263
522642006-05-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
52265
52266        Reviewed by hyatt.  Landed by eseidel.
52267
52268        - fix http://bugs.webkit.org/show_bug.cgi?id=8848
52269          TFOOT borders are copied to THEAD and TBODY
52270
52271        Test: fast/table/border-collapsing/border-collapsing-head-foot.html
52272
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.
52282
522832006-05-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
52284
52285        Reviewed by hyatt.  Landed by eseidel.
52286
52287        - fix http://bugs.webkit.org/show_bug.cgi?id=3297
52288          height property is not honored on table rows
52289
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.
52297
522982006-05-25  Rob Buis  <buis@kde.org>
52299
52300        Reviewed by darin.  Landed by eseidel.
52301
52302        Fix for http://bugs.webkit.org/show_bug.cgi?id=5978
52303        WebKIt+SVG should use SVGDocumentImpl for image/svg+xml
52304
52305        Make sure SVGDocument is created for standalone svg
52306        documents.
52307
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):
52322
523232006-05-25  Rob Buis  <buis@kde.org>
52324
52325        Reviewed by darin.  Landed by eseidel.
52326
52327        http://bugs.webkit.org/show_bug.cgi?id=5889
52328        HTMLNames.* should be generated using make_names.pl
52329
52330        Use a patched make_names.pl to autogenerate HTMLNames.*
52331
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:
52339
523402006-05-25  Eric Seidel  <eric@webkit.org>
52341
52342        Reviewed by andersca.
52343
52344        Add "HasIndexGetter" support to bindings autogen system.
52345        http://bugs.webkit.org/show_bug.cgi?id=9057
52346
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.
52357
523582006-05-24  David Hyatt  <hyatt@apple.com>
52359
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.
52363
52364        Reviewed by maciej
52365
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).
52368
52369        * platform/FontCache.cpp:
52370        (WebCore::alternateFamilyName):
52371        (WebCore::FontCache::getCachedFontPlatformData):
52372        * platform/FontCache.h:
52373        * rendering/RenderContainer.cpp:
52374        (WebCore::RenderContainer::removeLeftoverAnonymousBoxes):
52375
52376=== WebCore-521.11 ===
52377
523782006-05-24  Justin Garcia  <justin.garcia@apple.com>
52379
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)
52384
52385        * page/Frame.cpp:
52386        (WebCore::Frame::setSelectionFromNone): Find the body and stick a caret
52387        in it.
52388
523892006-05-24  Geoffrey Garen  <ggaren@apple.com>
52390
52391        Rubber stamped by Anders.
52392
52393        Removed meaningless 'dom::' prefix in IDL files.
52394
52395        * dom/Range.idl:
52396        * html/CanvasRenderingContext2D.idl:
52397        * html/HTMLOptionElement.idl:
52398
523992006-05-24  Geoffrey Garen  <ggaren@apple.com>
52400
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:
52409
524102006-05-24  Geoffrey Garen  <ggaren@apple.com>
52411
52412        Reviewed by mjs.
52413
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)
52418
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.
52429
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.
52438
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:]):
52455
524562006-05-24  Dave Hyatt <hyatt@apple.com>
52457
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.
52461
52462        * platform/win/FontDataWin.cpp:
52463        (WebCore::FontData::platformDestroy):
52464        (WebCore::FontData::smallCapsFontData):
52465        * platform/win/FontPlatformDataWin.cpp:
52466        (WebCore::FontPlatformData::~FontPlatformData):
52467
524682006-05-24  Anders Carlsson  <acarlsson@apple.com>
52469
52470        Reviewed by Maciej.
52471
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
524902006-05-24  Anders Carlsson  <acarlsson@apple.com>
52491
52492        Reviewed by Geoff.
52493
52494        http://bugs.webkit.org/show_bug.cgi?id=9092
52495        innerText is empty for elements without renderers
52496
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.
52505
525062006-05-24  Dave Hyatt <hyatt@apple.com>
52507
52508        Fix a bug with the computation of the Cairo glyph offsets
52509        on the Win32 code path.
52510
52511        * ChangeLog:
52512        * platform/GlyphBuffer.h:
52513        (WebCore::GlyphBuffer::add):
52514        * platform/win/FontWin.cpp:
52515        (WebCore::Font::drawGlyphs):
52516
525172006-05-23  Dave Hyatt <hyatt@apple.com>
52518
52519        Disable some code in Cairo that is attempting to clip
52520        runs of text to their glyph boundaries, since:
52521
52522        (a) Why re-measure text again when I just gave you
52523        the glyph bounds anyway.
52524        (b) It gets the measurements wrong.
52525
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):
52533
525342006-05-23  Timothy Hatcher  <timothy@apple.com>
52535
52536        Reviewed by Eric.
52537
52538        Remove the recent idl files from the WebCore target to prevent them
52539        from being copied into the framework resources.
52540
52541        * WebCore.xcodeproj/project.pbxproj:
52542
525432006-05-23  John Sullivan  <sullivan@apple.com>
52544
52545        Reviewed by Justin Garcia and Levi Weintraub.
52546
52547        - fixed Bug 9072: REGRESSION: Misspelling marker incorrect in editing/deleting/delete-and-undo.html
52548
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.
52555
525562006-05-23  Dave Hyatt <hyatt@apple.com>
52557
52558        Do an initial implementation of CookieJar on Win32.  No policy
52559        checking yet and the cookies are just always on.
52560
52561        Reviewed by mjs
52562
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:
52569
525702006-05-23  Dave Hyatt <hyatt@apple.com>
52571
52572        Fix the JS autogeneration for WebCore so that the hashtables
52573        are correct on Win32.
52574
52575        Switch to using GetCharWidthI so that we can obtain widths
52576        for glyphs instead of having to obtain them from UChars.
52577
52578        Reviewed by eric (autogeneration) and maciej (fonts)
52579
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):
52591
525922006-05-23  Levi Weintraub  <lweintraub@apple.com>
52593
52594        Reviewed by Hyatt.
52595
52596        Cleaned up changes to markup by adding the non-virtual
52597        nodeNamePreservingCase accessor function.
52598
52599        * dom/Element.cpp:
52600        (WebCore::Element::nodeNamePreservingCase):
52601        * dom/Element.h:
52602        * editing/markup.cpp:
52603        (WebCore::startMarkup):
52604        (WebCore::endMarkup):
52605
526062006-05-23  John Sullivan  <sullivan@apple.com>
52607
52608        Reviewed by Anders Carlsson.
52609
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.
52617
526182006-05-23  Anders Carlsson  <acarlsson@apple.com>
52619
52620        Reviewed by Maciej.
52621
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.
52641
526422006-05-22  Eric Seidel  <eric@webkit.org>
52643
52644        Rubber-stamped by adele.
52645
52646        * bindings/js/kjs_html.h: simple style cleanup.
52647
52648=== WebCore-521.10 ===
52649
526502006-05-22  John Sullivan  <sullivan@apple.com>
52651
52652        Reviewed by Anders Carlsson.
52653
52654        - fixed Bug 9038: Rework Document::TextMarker mechanism to not use deprecated data structures
52655
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):
52670
526712006-05-22  Levi Weintraub  <lweintraub@apple.com>
52672
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
52678
52679        * editing/markup.cpp:
52680        (WebCore::startMarkup):
52681        (WebCore::endMarkup):
52682
526832006-05-21  Dave Hyatt <hyatt@apple.com>
52684
52685        Fix Win32 bustage.   I forgot to add a bunch of files.
52686        Also tweak some existing functions a bit (just cleanup).
52687
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):
52697
526982006-05-21  Adele Peterson  <adele@apple.com>
52699
52700        Reviewed by Maciej.
52701
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
52704
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.
52709
527102006-05-21  Anders Carlsson  <acarlsson@apple.com>
52711
52712        Fix build.
52713
52714        * ForwardingHeaders/wtf/MathExtras.h: Added.
52715
527162006-05-20  Dave Hyatt <hyatt@apple.com>
52717
52718        Switch on Cairo-based text rendering on Win32.  This is tracked
52719        by bug 9019.
52720
52721        Reviewed by maciej
52722
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):
52776
527772006-05-20  Alexey Proskuryakov  <ap@nypop.com>
52778
52779        Reviewed by Darin.
52780
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
52784
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.
52788
527892006-05-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
52790
52791        Reviewed and landed by ap.
52792
52793        - fix http://bugs.webkit.org/show_bug.cgi?id=9009
52794          REGRESSION: ToT crash in WebCore at Zap2it
52795
52796        Test: fast/table/empty-section-crash.html
52797
52798        * rendering/RenderTableSection.cpp:
52799        (WebCore::RenderTableSection::paint): Return immediately if the section
52800        has 0 rows or 0 columns.
52801
528022006-05-19  Levi Weintraub  <lweintraub@apple.com>
52803
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.
52811
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:
52822
528232006-05-19  Alice Liu  <alice.liu@apple.com>
52824
52825        Reviewed by Adele.
52826
52827        * html/HTMLButtonElement.idl:
52828        added support for HTMLButtonElement.click()
52829
528302006-05-19  Geoffrey Garen  <ggaren@apple.com>
52831
52832        Reviewed by Eric.
52833
52834        - Fixed non-autogenerated global constructors to match autogenerated
52835        ones and FF. (Found this bug while @ the GOOG.)
52836
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:
52856
528572006-05-19  Anders Carlsson  <acarlsson@apple.com>
52858
52859        Reviewed by Eric.
52860
52861        http://bugs.webkit.org/show_bug.cgi?id=8983
52862        Autogenerate another 22 HTML classes
52863
52864        Already covered by existing DOM tests.
52865
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.
52926
529272006-05-18  David Hyatt  <hyatt@apple.com>
52928
52929        Turn off responding to font changes while running.  It doesn't work
52930        right anyway.
52931
52932        Reviewed by darin
52933
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):
52943
529442006-05-18  Darin Adler  <darin@apple.com>
52945
52946        - try to fix the Windows build
52947
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.
52953
529542006-05-18  Sam Weinig  <sam.weinig@gmail.com>
52955
52956        Reviewed by Hyatt.
52957
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.
52961
52962        Use the parent's direction instead of the containing
52963        block's in quirks mode for absolute positioning to match
52964        WinIE.
52965
52966        * rendering/RenderBox.cpp:
52967        (WebCore::RenderBox::calcAbsoluteHorizontal):
52968        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
52969        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
52970        * rendering/RenderBox.h:
52971
529722006-05-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
52973
52974        Reviewed and tweaked (way too much) by Darin.
52975
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
52978
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.
52985
529862006-05-18  David Hyatt  <hyatt@apple.com>
52987
52988        Horrible glyph map performance regression fix.
52989        The initial page of the map was being rebuilt over and over again.
52990
52991        Reviewed by andersca
52992
52993        * platform/GlyphMap.cpp:
52994        (WebCore::GlyphMap::locatePage):
52995        * platform/GlyphWidthMap.cpp:
52996        (WebCore::GlyphWidthMap::locatePage):
52997
529982006-05-18  Anders Carlsson  <acarlsson@apple.com>
52999
53000        Reviewed by Darin.
53001
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.
53050
530512006-05-17  David Hyatt  <hyatt@apple.com>
53052
53053        Convert the width map for glyphs into the same new HashMap-style as the
53054        glyph map for characters.
53055
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):
53071
530722006-05-17  David Hyatt  <hyatt@apple.com>
53073
53074        Rename FontData.mm to FontData.cpp, since it has no obj-c in it.
53075
53076        * WebCore.xcodeproj/project.pbxproj:
53077        * platform/FontData.cpp: Added.
53078
530792006-05-17  David Hyatt  <hyatt@apple.com>
53080
53081        Split FontData.mm into platform-specific and cross-platform pieces.
53082
53083        Reviewed by andersca
53084
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):
53093
530942006-05-17  John Sullivan  <sullivan@apple.com>
53095
53096        Reviewed by Darin Adler
53097
53098        Improvement to my previous patch, suggested by Darin
53099
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
53110
531112006-05-17  Eric Seidel  <eseidel@apple.com>
53112
53113        Reviewed by andersca.
53114
53115        Autogenerate button, optgroup, option, input and textarea js bindings
53116        http://bugs.webkit.org/show_bug.cgi?id=8953
53117
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.
53160
531612006-05-17  Adele Peterson  <adele@apple.com>
53162
53163        Reviewed by Hyatt.
53164
53165        First step for http://bugs.webkit.org/show_bug.cgi?id=8948
53166        Switch to use new text field implementation for <textarea>
53167
53168        New textareas can be turned on by setting -webkit-appearance:textarea.
53169
53170        Tests:
53171        * LayoutTests/fast/block/float/032.html - Updated results.
53172
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.
53177
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.
53182
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.
53199
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.
53237
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.
53260
532612006-05-17  David Hyatt  <hyatt@apple.com>
53262
53263        Fix for 8954, separate the glyph map out into its own files and make it
53264        cross-platform.
53265
53266        Reviewed by darin
53267
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:
53294
532952006-05-17  Anders Carlsson  <acarlsson@apple.com>
53296
53297        Reviewed by Maciej.
53298
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.
53332
533332006-05-17  John Sullivan  <sullivan@apple.com>
53334
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.
53339
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
53367
53368        * WebCore.xcodeproj/project.pbxproj:
53369        newer Xcode removed some obsolete settings
53370
533712006-05-17  Adele Peterson  <adele@apple.com>
53372
53373        Reviewed by Beth.
53374
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.
53383
533842006-05-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
53385
53386        Reviewed by Maciej, tweaked by Darin.
53387
53388        - fix http://bugs.webkit.org/show_bug.cgi?id=8951
53389          AtomicString hash corrupted by high-bit Latin-1
53390
53391        Test: fast/encoding/high-bit-latin1.html
53392
53393        * platform/AtomicString.cpp: (WebCore::CStringTranslator::equal): Use an
53394        unsigned char local.
53395        * platform/StringImpl.cpp: (WebCore::StringImpl::init): Ditto.
53396
533972006-05-17  Rob Buis  <buis@kde.org>
53398
53399        Reviewed by Maciej.
53400
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.
53404
53405        Keep track of attributes used in attribute selectors to
53406        check after setAttribute whether a style recalc is needed.
53407
53408        Test: fast/css/selector-set-attribute.html
53409
53410        * css/cssstyleselector.cpp:
53411        (WebCore::CSSStyleSelector::checkOneSelector):
53412        (WebCore::CSSStyleSelector::hasSelectorForAttribute):
53413        * css/cssstyleselector.h:
53414        * dom/StyledElement.cpp:
53415        (WebCore::StyledElement::attributeChanged):
53416
534172006-05-17  Rob Buis  <buis@kde.org>
53418
53419        Reviewed by Darin.
53420
53421        Fix for http://bugs.webkit.org/show_bug.cgi?id=5264
53422        document.createElementNS() should not allow to insert a second <html> element
53423
53424        Do extra checks for document nodes to detect multiple document elements
53425        and document types.
53426
53427        Test: fast/dom/createDocumentType2.html
53428        Test: fast/dom/createElementNS.html
53429
53430        * dom/Document.cpp:
53431        (WebCore::Document::childTypeAllowed):
53432        * dom/Document.h:
53433
534342006-05-17  Anders Carlsson  <acarlsson@apple.com>
53435
53436        Reviewed by Darin.
53437
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
534772006-05-16  Darin Adler  <darin@apple.com>
53478
53479        Reviewed by Anders.
53480
53481        - http://bugs.webkit.org/show_bug.cgi?id=8940
53482          remove extra copy of image code
53483
53484        * WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRenderer.h.
53485        * platform/mac/WebCoreImageRenderer.h: Removed.
53486
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]):
53493
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.
53500
53501        * platform/mac/ClipboardMac.mm: Removed an unneeded include of
53502        WebCoreImageRenderer.h.
53503
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.
53509
53510        * platform/mac/WebCoreSystemInterface.h: Added some new calls.
53511        * platform/mac/WebCoreSystemInterface.mm: Ditto.
53512        * WebCore.exp: Ditto.
53513
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.
53519
535202006-05-16  Anders Carlsson  <acarlsson@apple.com>
53521
53522        Reviewed by Dave Hyatt.
53523
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.
53531
535322006-05-16  Darin Adler  <darin@apple.com>
53533
53534        Reviewed by Hyatt.
53535
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
53540
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.
53545
535462006-05-16  Eric Seidel  <eseidel@apple.com>
53547
53548        Reviewed by andersca.
53549
53550        Autogenerate BASE, HEAD, LINK, STYLE and TITLE JS bindings.
53551
53552        Already covered by existing dom tests.
53553
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.
53573
535742006-05-16  Anders Carlsson  <acarlsson@apple.com>
53575
53576        Reviewed by Maciej.
53577
53578        http://bugs.webkit.org/show_bug.cgi?id=8921
53579        Use WebCore to render full-frame images.
53580
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.
53633
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
536432006-05-16  Eric Seidel  <eseidel@apple.com>
53644
53645        Reviewed by andersca.
53646
53647        Autogenerate JSHTMLMetaElement.
53648        http://bugs.webkit.org/show_bug.cgi?id=8938
53649
53650        Test: fast/dom/HTMLMetaElement/meta-attributes.html
53651
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:
53663
536642006-05-16  David Hyatt  <hyatt@apple.com>
53665
53666        Bug 8936, eliminate WebTextRendererFactory and convert it over to the
53667        new FontCache.
53668
53669        Reviewed by andersca
53670
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.
53735
537362006-05-16  Eric Seidel  <eseidel@apple.com>
53737
53738        Reviewed by andersca.
53739
53740        Add Rect.idl, even though it can't be used quite yet due to generator limitations.
53741
53742        * WebCore.xcodeproj/project.pbxproj:
53743        * css/Rect.idl: Added.
53744
537452006-05-16  Sam Weinig  <sam.weinig@gmail.com>
53746
53747        Reviewed by darin.  Landed by eseidel.
53748
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):
53755
537562006-05-16  Eric Seidel  <eseidel@apple.com>
53757
53758        Reviewed by hyatt.
53759
53760        Split css_base.* into separate files (one per class).
53761        http://bugs.webkit.org/show_bug.cgi?id=8935
53762
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):
53834
538352006-05-15  Eric Seidel  <eseidel@apple.com>
53836
53837        Reviewed by hyatt.
53838
53839        Split css_valueimpl.* and css_ruleimpl.* into separate files (one per class).
53840        http://bugs.webkit.org/show_bug.cgi?id=8934
53841
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:
54009
540102006-05-15  Darin Adler  <darin@apple.com>
54011
54012        * WebCore.xcodeproj/project.pbxproj: Removed duplicate files that were
54013        screwing up Xcode.
54014
540152006-05-15  Darin Adler  <darin@apple.com>
54016
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.
54020
540212006-05-15  Eric Seidel  <eseidel@apple.com>
54022
54023        Reviewed by mjs.
54024
54025        Split css_stylesheetimpl.* into separate files (one per class).
54026        http://bugs.webkit.org/show_bug.cgi?id=8933
54027
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.
54059
540602006-05-15  Eric Seidel  <eseidel@apple.com>
54061
54062        * WebCore.xcodeproj/project.pbxproj: build fix.
54063
540642006-05-15  Eric Seidel  <eseidel@apple.com>
54065
54066        Reviewed by ggaren.
54067
54068        Split dom_xmlimpl.* into separate files (one per class).
54069
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.
54085
540862006-05-15  Eric Seidel  <eseidel@apple.com>
54087
54088        Reviewed by Tim Hatcher.
54089
54090        Split html_imageimpl.* into separate files (one per class).
54091        http://bugs.webkit.org/show_bug.cgi?id=8929
54092
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):
54136
541372006-05-15  Eric Seidel  <eseidel@apple.com>
54138
54139        Reviewed by beth.
54140
54141        Split html_blockimpl.* into separate files (one per class).
54142        http://bugs.webkit.org/show_bug.cgi?id=8927
54143
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:
54172
541732006-05-15  Eric Seidel  <eseidel@apple.com>
54174
54175        Reviewed by ggaren.
54176
54177        Split render_list.* and html_listimpl.* into separate files (one per class).
54178        http://bugs.webkit.org/show_bug.cgi?id=8925
54179
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.
54259
542602006-05-15  Sam Weinig  <sam.weinig@gmail.com>
54261
54262        Reviewed by eseidel.
54263
54264        Split render_form.* into separate files (one per class).
54265        http://bugs.webkit.org/show_bug.cgi?id=8889
54266
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.
54391
543922006-05-15  Anders Carlsson  <acarlsson@apple.com>
54393
54394        Reviewed by Eric.
54395
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):
54423
544242006-05-15  Eric Seidel  <eseidel@apple.com>
54425
54426        Fix linux build.
54427
54428        * html/HTMLBodyElement.cpp: Fix case of #include "cssstyleselector.h"
54429
544302006-05-15  Anders Carlsson  <acarlsson@apple.com>
54431
54432        Reviewed by Maciej.
54433
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]):
54441
544422006-05-15  David Hyatt  <hyatt@apple.com>
54443
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.
54448
54449        Reviewed by mjs
54450
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:]):
54470
544712006-05-15  Anders Carlsson  <acarlsson@apple.com>
54472
54473        Reviewed by Maciej.
54474
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)
54478
544792006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
54480
54481        Reviewed by Hyatt.
54482
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.
54488
54489        Test: fast/repaint/table-collapsed-border.html
54490
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.
54546
545472006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
54548
54549        Reviewed by Darin.
54550
54551        - test for http://bugs.webkit.org/show_bug.cgi?id=8739
54552          Crash in RenderTableSection::paint due to manipulating DOM on resize
54553
54554        * manual-tests/dom-manipulation-on-resize.html: Added.
54555
545562006-05-14  Rob Buis  <buis@kde.org>
54557
54558        Reviewed by Darin.
54559
54560        Fix for http://bugs.webkit.org/show_bug.cgi?id=5882:
54561        disabled type="file" element doesn't appear disabled
54562
54563        Be sure to call setDisabled on the file button when in
54564        RenderFileButton::updateFromElement.
54565
54566        * kwq/KWQFileButton.h:
54567        * kwq/KWQFileButton.mm:
54568        (-[WebFileChooserButton setEnabled:]):
54569        (KWQFileButton::setDisabled):
54570        * rendering/render_form.cpp:
54571        (WebCore::RenderFileButton::updateFromElement):
54572
545732006-05-14  Steve Falkenburg  <sfalken@apple.com>
54574
54575        Fix Windows build.
54576
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):
54584
545852006-05-14  David Hyatt  <hyatt@apple.com>
54586
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.
54590
54591        Reviewed by darin
54592
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):
54639
546402006-05-14  Sam Weinig  <sam.weinig@gmail.com>
54641
54642        Reviewed by Hyatt, landed by ap.
54643
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"
54646
54647        Test: fast/inline/inline-borders-with-bidi-override.html: added
54648
54649        * rendering/InlineFlowBox.cpp:
54650        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
54651
546522006-05-14  Steve Falkenburg  <sfalken@apple.com>
54653
54654        Fix the Windows build the rest of the way
54655
54656        * WebCore.vcproj/WebCore/WebCore.vcproj:
54657
546582006-05-14  Steve Falkenburg  <sfalken@apple.com>
54659
54660        Get FontWin.cpp compiling.
54661        WebCore and JSCore now build, but Spinneret still gets link errors.
54662
54663        * platform/win/FontWin.cpp:
54664        (WebCore::Font::offsetForPosition):
54665
546662006-05-14  Steve Falkenburg  <sfalken@apple.com>
54667
54668        Reviewed by maciej.
54669
54670        Fix Windows build except for fontwin.cpp.
54671
54672        * WebCore/platform/win/FontWin.cpp:
54673        * WebCore.vcproj/WebCore/WebCore.vcproj:
54674        * bridge/win/FrameWin.cpp:
54675
546762006-05-13  Kevin M. Ollivier  <kevino@theolliviers.com>
54677
54678        Reviewed by Darin, landed by ap.
54679
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
54700
547012006-05-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
54702
54703        Reviewed by Darin, landed by ap.
54704
54705        - fix http://bugs.webkit.org/show_bug.cgi?id=8485
54706          iExploder(#11705): Freeze in RenderBlock::layout()
54707
54708        Test: fast/text/midword-break-hang.html
54709
54710        * rendering/bidi.cpp:
54711        (WebCore::RenderBlock::findNextLineBreak): If this is a mid-word break,
54712        ignore breakOnlyAfterWhiteSpace.
54713
547142006-05-13  Alexey Proskuryakov  <ap@nypop.com>
54715
54716        Fix release build.
54717
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.
54723
547242006-05-13  Alexey Proskuryakov  <ap@nypop.com>
54725
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.
54728
54729        * rendering/RootInlineBox.cpp:
54730        (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
54731        and m_selectionBottom.
54732        * rendering/render_line.cpp: Removed.
54733
547342006-05-13  Rob Buis  <buis@kde.org>
54735
54736        Reviewed by Darin, landed by ap.
54737
54738        Fix for http://bugs.webkit.org/show_bug.cgi?id=8132
54739        CSS parser sometimes accepts real number as integer
54740
54741        Add a boolean variable per css value to catch whether values
54742        are specified as floats or integers.
54743
54744        Test: fast/css/rgb-float.html
54745
54746        * css/CSSGrammar.y:
54747        * css/cssparser.cpp:
54748        (WebCore::CSSParser::validUnit):
54749        (WebCore::CSSParser::lex):
54750        * css/cssparser.h:
54751        * css/tokenizer.flex:
54752
547532006-05-13  Sam Weinig  <sam.weinig@gmail.com>
54754
54755        Reviewed by Hyatt, landed by ap.
54756
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()
54760
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.
54765
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:
54775
547762006-05-12  David Hyatt  <hyatt@apple.com>
54777
54778        Bug 8880, remove the remaining drawing/hit testing code from
54779        FontData.
54780
54781        Reviewed by tim h
54782
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):
54799
548002006-05-12  Kevin M. Ollivier  <kevino@theolliviers.com>
54801
54802        Reviewed by Maciej.
54803
54804        Add missing include.
54805
54806        * dom/Node.h: Add missing include for DeprecatedString.
54807
548082006-05-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
54809
54810        Reviewed by Darin.
54811
54812        - fix http://bugs.webkit.org/show_bug.cgi?id=8835
54813          REGRESSION: Line moves but selection highlight stays behind
54814
54815        Test: fast/dynamic/selection-highlight-adjust.html
54816
54817        * rendering/render_line.cpp:
54818        (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
54819        and m_selectionBottom.
54820
548212006-05-12  Timothy Hatcher  <timothy@apple.com>
54822
54823        Reviewed by Darin.
54824
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.
54831
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):
54841
548422006-05-12  Eric Seidel  <eseidel@apple.com>
54843
54844        Reviewed by timo.
54845
54846        Split out html_inlineimpl.* into separate files (one per class).
54847
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:
54875
548762006-05-12  Eric Seidel  <eseidel@apple.com>
54877
54878        Reviewed by beth.
54879
54880        Fix build error.
54881
54882        * rendering/InlineFlowBox.cpp:
54883        * rendering/RootInlineBox.cpp:
54884
548852006-05-12  Eric Seidel  <eseidel@apple.com>
54886
54887        Reviewed by beth.
54888
54889        Split out render_line.* into separate files (one per class).
54890
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.
54917
549182006-05-12  Eric Seidel  <eseidel@apple.com>
54919
54920        Reviewed by hyatt.
54921
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.
54924
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.
54949
549502006-05-12  David Hyatt  <hyatt@apple.com>
54951
54952        Bug 8877.  Change form controls and the bridge entry points from the
54953        Safari UI to use Font instead of FontData.
54954
54955        Reviewed by mjs
54956
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):
54997
549982006-05-12  Eric Seidel  <eseidel@apple.com>
54999
55000        Reviewed by kevin.
55001
55002        Move render_button to RenderButton.
55003        Various small style cleanup.
55004
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):
55039
550402006-05-12  Eric Seidel  <eseidel@apple.com>
55041
55042        Reviewed by mjs.
55043
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
55046
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.
55171
551722006-05-12  Eric Seidel  <eseidel@apple.com>
55173
55174        Reviewed by beth.
55175
55176        Split html_headimpl.* into separate files (one per class)
55177        http://bugs.webkit.org/show_bug.cgi?id=8875
55178
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):
55364
553652006-05-12  Eric Seidel  <eseidel@apple.com>
55366
55367        Reviewed by beth.
55368
55369        Split out html_tableimpl.* into multiple files (one per class)
55370        http://bugs.webkit.org/show_bug.cgi?id=8873
55371
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.
55415
554162006-05-10  Eric Seidel  <eseidel@apple.com>
55417
55418        Reviewed by mjs & adele.
55419
55420        Split html_objectimpl.* into multiple files (one per class)
55421        http://bugs.webkit.org/show_bug.cgi?id=8836
55422
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):
55459
554602006-05-12  Darin Adler  <darin@apple.com>
55461
55462        Reviewed by Adele.
55463
55464        - fix http://bugs.webkit.org/show_bug.cgi?id=8521
55465          crash bringing up context menu with CSS generated content
55466
55467        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
55468        Added a null check.
55469
55470        * manual-tests/context-click-generated-content.html: Added.
55471
554722006-05-12  Darin Adler  <darin@apple.com>
55473
55474        Reviewed by Adele.
55475
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.
55478
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.
55481
55482        * manual-tests/caret-image.html: Added.
55483
554842006-05-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
55485
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
55490
55491        Test: fast/text/international/rtl-caret.html
55492
55493        * rendering/InlineTextBox.cpp:
55494        (WebCore::InlineTextBox::positionForOffset): Added missing m_toAdd argument.
55495
554962006-05-12  David Hyatt  <hyatt@apple.com>
55497
55498        Bug 8864. Lift WebCoreTextStyle up into the API (as TextStyle).
55499
55500        Reviewed by mjs
55501
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):
55549
555502006-05-11  Alexey Proskuryakov  <ap@nypop.com>
55551
55552        Reviewed by Darin.
55553
55554        - http://bugs.webkit.org/show_bug.cgi?id=8770
55555          XMLHttpRequest should strip CR/LF characters from the URL
55556
55557        Test: fast/loader/url-strip-cr-lf-tab.html
55558
55559        * platform/KURL.cpp:
55560        (appendEscapingBadChars): Strip CR, LF and TAB, as Firefox and IE do.
55561
555622006-05-11  David Hyatt  <hyatt@apple.com>
55563
55564        Remove the misspelling drawing code from Font and FontData.  Implement it
55565        natively in GraphicContext instead.
55566
55567        Reviewed by maciej
55568
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):
55581
555822006-05-11  David Hyatt  <hyatt@apple.com>
55583
55584        Remove drawLineForText from the Font API.  Implement it natively in
55585        the two GraphicsContexts (CG and Cairo) instead.
55586
55587        Reviewed by maciej
55588
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):
55606
556072006-05-11  Steve Falkenburg  <sfalken@apple.com>
55608
55609        Reviewed by eric.
55610
55611        Fix last fix.
55612
55613        * dom/QualifiedName.h:
55614        (WebCore::QualifiedName::QualifiedName):
55615
556162006-05-11  Steve Falkenburg  <sfalken@apple.com>
55617
55618        Reviewed by eric.
55619
55620        Fix crash on static constructors builds at exit due to qualified name default constructor not
55621        initializing m_impl.
55622
55623        * dom/QualifiedName.cpp:
55624        (WebCore::QualifiedName::deref):
55625
556262006-05-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
55627
55628        Reviewed by hyatt
55629
55630        - fix http://bugs.webkit.org/show_bug.cgi?id=8851
55631          REGRESSION: RTL text shifted to the right
55632
55633        Already covered by several tests in fast/text
55634
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.
55649
556502006-05-11  David Hyatt  <hyatt@apple.com>
55651
55652        Fix a regression from the TextRun landing.  Delete the characters in
55653        the adjustedRun, not the ones in the original run!
55654
55655        Reviewed by beth
55656
55657        * platform/mac/FontMac.mm:
55658        (WebCore::Font::drawComplexText):
55659
556602006-05-10  Justin Garcia  <justin.garcia@apple.com>
55661
55662        Reviewed by thatcher, levi
55663
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.
55669
556702006-05-11  David Hyatt  <hyatt@apple.com>
55671
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.
55675
55676        Reviewed by andersca
55677
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.
55683
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.
55689
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.
55696
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).
55703
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.
55710
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.
55716
557172006-05-11  Darin Adler  <darin@apple.com>
55718
55719        Reviewed by Adele.
55720
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)
55724
55725        Test: fast/forms/double-focus.html
55726
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.
55731
557322006-05-11  Darin Adler  <darin@apple.com>
55733
55734        Reviewed by Tim Hatcher (earlier version).
55735
55736        - http://bugs.webkit.org/show_bug.cgi?id=8821
55737          use the preprocessor for IDL files
55738
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.
55745
557462006-05-11  Anders Carlsson  <acarlsson@apple.com>
55747
55748        Reviewed by Darin.
55749
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
558012006-05-11  David Hyatt  <hyatt@apple.com>
55802
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.
55806
55807        Reviewed by andersca
55808
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):
55881
558822006-05-10  Justin Garcia  <justin.garcia@apple.com>
55883
55884        Reviewed by darin
55885
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.
55902
559032006-05-10  David Hyatt  <hyatt@apple.com>
55904
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.
55909
55910        Reviewed by darin
55911
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):
55927
559282006-05-10  Darin Adler  <darin@apple.com>
55929
55930        * WebCore: Removed an extra WebCore subtree that somehow got checked in.
55931
559322006-05-10  David Carson <dacarson@gmail.com>
55933
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
55938
55939        Reviewed by Darin, landed by Timothy.
55940
55941        * platform/Font.cpp:
55942        (WebCore::isSpace):
55943        * platform/mac/FontData.mm:
55944        (WebCore::widthForGlyph):
55945        (WebCore::isRoundingHackCharacter):
55946        (WebCore::glyphForCharacter):
55947
559482006-05-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
55949
55950        Reviewed and landed by Anders.
55951
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
55954
55955        Already covered by several pixel tests in fast/text
55956
55957        * platform/Font.cpp:
55958        (WebCore::Font::drawSimpleText):
55959
559602006-05-10  David Hyatt  <hyatt@apple.com>
55961
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.
55966
55967        Reviewed by darin
55968
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):
56029
560302006-05-10  Darin Adler  <darin@apple.com>
56031
56032        - another try at fixing the Windows build
56033
56034        * platform/win/FontWin.cpp: (WebCore::getFontData): Use characters()
56035        instead of unicode().
56036
56037== Rolled over to ChangeLog-2006-05-10 ==
56038