1 2006-07-31 Maciej Stachowiak <mjs@apple.com>
3 Rubber-stamped by Tim Hatcher.
5 - renamed TransferJob to ResourceLoader
7 * Projects/gdk/webcore-gdk.bkl:
8 * WebCore.vcproj/WebCore/WebCore.vcproj:
9 * WebCore.xcodeproj/project.pbxproj:
11 * bridge/mac/FrameMac.mm:
12 * bridge/mac/WebCoreResourceLoaderImp.h:
13 * bridge/mac/WebCoreResourceLoaderImp.mm:
14 (-[WebCoreResourceLoaderImp redirectedToURL:]):
15 (-[WebCoreResourceLoaderImp addData:]):
16 (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
17 * bridge/win/FrameWin.cpp:
18 * dom/XMLTokenizer.cpp:
21 * loader/LoaderFunctions.h:
23 (WebCore::Loader::servePendingRequests):
24 (WebCore::Loader::receivedAllData):
25 (WebCore::Loader::receivedResponse):
26 (WebCore::Loader::receivedData):
27 (WebCore::Loader::cancelRequests):
28 (WebCore::Loader::jobForRequest):
30 * loader/mac/LoaderFunctionsMac.mm:
31 (WebCore::ServeSynchronousRequest):
32 * platform/ResourceLoader.cpp: Added.
33 (WebCore::ResourceLoader::ResourceLoader):
34 (WebCore::ResourceLoader::isErrorPage):
35 (WebCore::ResourceLoader::error):
36 (WebCore::ResourceLoader::setError):
37 (WebCore::ResourceLoader::queryMetaData):
38 (WebCore::ResourceLoader::addMetaData):
39 (WebCore::ResourceLoader::kill):
40 (WebCore::ResourceLoader::url):
41 (WebCore::ResourceLoader::postData):
42 (WebCore::ResourceLoader::method):
43 (WebCore::ResourceLoader::client):
44 * platform/ResourceLoader.h: Added.
45 (WebCore::ResourceLoader::getInternal):
46 * platform/ResourceLoaderClient.h: Added.
47 (WebCore::ResourceLoaderClient::~ResourceLoaderClient):
48 (WebCore::ResourceLoaderClient::receivedRedirect):
49 (WebCore::ResourceLoaderClient::receivedResponse):
50 (WebCore::ResourceLoaderClient::receivedData):
51 (WebCore::ResourceLoaderClient::receivedAllData):
52 * platform/ResourceLoaderInternal.h: Added.
53 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
54 * platform/TransferJob.cpp: Removed.
55 * platform/TransferJob.h: Removed.
56 * platform/TransferJobClient.h: Removed.
57 * platform/TransferJobInternal.h: Removed.
58 * platform/gdk/FrameGdk.cpp:
59 (WebCore::FrameGdk::openURL):
60 (WebCore::FrameGdk::urlSelected):
61 (WebCore::FrameGdk::receivedData):
62 (WebCore::FrameGdk::receivedAllData):
63 * platform/gdk/FrameGdk.h:
64 * platform/gdk/ResourceLoaderCurl.cpp: Added.
65 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
66 (WebCore::ResourceLoader::~ResourceLoader):
67 (WebCore::ResourceLoader::start):
68 (WebCore::ResourceLoader::cancel):
69 * platform/gdk/ResourceLoaderManager.cpp: Added.
70 (WebCore::ResourceLoaderManager::ResourceLoaderManager):
71 (WebCore::ResourceLoaderManager::get):
72 (WebCore::ResourceLoaderManager::useSimpleTransfer):
73 (WebCore::writeCallback):
74 (WebCore::ResourceLoaderManager::downloadTimerCallback):
75 (WebCore::ResourceLoaderManager::remove):
76 (WebCore::ResourceLoaderManager::add):
77 (WebCore::ResourceLoaderManager::cancel):
78 * platform/gdk/ResourceLoaderManager.h: Added.
79 * platform/gdk/TemporaryLinkStubs.cpp:
80 (WebCore::ServeSynchronousRequest):
81 (WebCore::ResourceLoader::assembleResponseHeaders):
82 (WebCore::ResourceLoader::retrieveCharset):
83 * platform/gdk/TransferJobCurl.cpp: Removed.
84 * platform/gdk/TransferJobManager.cpp: Removed.
85 * platform/gdk/TransferJobManager.h: Removed.
86 * platform/mac/ResourceLoaderMac.mm: Added.
87 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
88 (WebCore::ResourceLoader::~ResourceLoader):
89 (WebCore::ResourceLoader::start):
90 (WebCore::ResourceLoader::assembleResponseHeaders):
91 (WebCore::ResourceLoader::retrieveCharset):
92 (WebCore::ResourceLoader::setLoader):
93 (WebCore::ResourceLoader::receivedResponse):
94 (WebCore::ResourceLoader::cancel):
95 * platform/mac/TransferJobMac.mm: Removed.
96 * platform/win/ResourceLoaderWin.cpp: Added.
97 (WebCore::addToOutstandingJobs):
98 (WebCore::lookupResourceLoader):
99 (WebCore::ResourceLoaderWndProc):
100 (WebCore::initializeOffScreenResourceLoaderWindow):
101 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
102 (WebCore::ResourceLoader::~ResourceLoader):
103 (WebCore::ResourceLoader::start):
104 (WebCore::ResourceLoader::fileLoadTimer):
105 (WebCore::ResourceLoader::cancel):
106 * platform/win/ResourceLoaderWin.h: Added.
107 * platform/win/TemporaryLinkStubs.cpp:
108 (WebCore::ServeSynchronousRequest):
109 (WebCore::ResourceLoader::assembleResponseHeaders):
110 (WebCore::ResourceLoader::retrieveCharset):
111 * platform/win/TransferJobWin.cpp: Removed.
112 * platform/win/TransferJobWin.h: Removed.
113 * xml/XSLTProcessor.cpp:
114 (WebCore::docLoaderFunc):
115 * xml/xmlhttprequest.cpp:
116 (WebCore::XMLHttpRequest::send):
117 (WebCore::XMLHttpRequest::receivedAllData):
118 (WebCore::XMLHttpRequest::receivedRedirect):
119 (WebCore::XMLHttpRequest::receivedData):
120 * xml/xmlhttprequest.h:
122 2006-07-31 Darin Adler <darin@apple.com>
126 - removed obsolete cell margin hack
128 * rendering/RenderBox.cpp: (WebCore::RenderBox::calcVerticalMargins):
129 Set top and bottom margins to 0 for table cells instead of -16384.
130 No effect on layout (including layout tests).
132 * css/CSSComputedStyleDeclaration.cpp:
133 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
134 Added a few comments about differences between this class and the
135 what the CSS specification says about computed style.
137 2006-07-31 Mark Rowe <opendarwin.org@bdash.net.nz>
141 http://bugzilla.opendarwin.org/show_bug.cgi?id=9738
142 Bug 9738: Unqualified :hover selector ignored in strict parsing mode
144 * css/cssstyleselector.cpp:
145 (WebCore::CSSStyleSelector::checkSelector): Restrict the :hover and :active
146 exclusion based on onlyHoverActive to quirks mode.
148 2006-07-31 David Hyatt <hyatt@apple.com>
150 Fix for bug 10179, digg.com scrolls slowly. Improve fixed positioning
151 and fixed backgrounds so that a count of them is kept on the FrameView.
152 This allows us to switch slow scrolling on and off as these objects come
155 * css/cssstyleselector.cpp:
156 (WebCore::CSSStyleSelector::adjustRenderStyle):
157 (WebCore::CSSStyleSelector::applyProperty):
158 * page/FrameView.cpp:
159 (WebCore::FrameViewPrivate::reset):
160 (WebCore::FrameView::layout):
161 (WebCore::FrameView::useSlowRepaints):
162 (WebCore::FrameView::setUseSlowRepaints):
163 (WebCore::FrameView::addSlowRepaintObject):
164 (WebCore::FrameView::removeSlowRepaintObject):
166 * rendering/RenderBox.cpp:
167 (WebCore::RenderBox::paintBackgroundExtended):
168 * rendering/RenderObject.cpp:
169 (WebCore::RenderObject::setStyle):
170 * rendering/RenderView.cpp:
171 (WebCore::RenderView::paintBoxDecorations):
173 2006-07-31 David Hyatt <hyatt@apple.com>
175 Begin disentangling of scrollbar logic in preparation for engine-implemented
176 scrollbars. Split ScrollBar into two classes, an abstract base (still named
177 ScrollBar) and a new PlatformScrollBar subclass. This subclass is used only
178 by platforms that want to continue to use a platform scrollbar (rather than
183 * WebCore.xcodeproj/project.pbxproj:
184 * html/HTMLCanvasElement.h:
186 * platform/PlatformScrollBar.h: Added.
187 (WebCore::PlatformScrollBar::isWidget):
188 * platform/ScrollBar.h:
189 (WebCore::ScrollBarClient::~ScrollBarClient):
190 (WebCore::ScrollBar::~ScrollBar):
191 (WebCore::ScrollBar::orientation):
192 (WebCore::ScrollBar::value):
193 (WebCore::ScrollBar::client):
194 * platform/mac/PlatformScrollBarMac.mm: Added.
195 (-[WebCoreScrollBar initWithPlatformScrollBar:]):
196 (-[WebCoreScrollBar detachPlatformScrollBar]):
197 (-[WebCoreScrollBar scroll:]):
198 (-[WebCoreScrollBar widget]):
199 (-[WebCoreScrollBar mouseDown:]):
200 (WebCore::PlatformScrollBar::PlatformScrollBar):
201 (WebCore::PlatformScrollBar::~PlatformScrollBar):
202 (WebCore::PlatformScrollBar::setScrollBarValue):
203 (WebCore::PlatformScrollBar::setKnobProportion):
204 (WebCore::PlatformScrollBar::scrollbarHit):
205 (WebCore::PlatformScrollBar::width):
206 (WebCore::PlatformScrollBar::height):
207 (WebCore::PlatformScrollBar::setRect):
208 (WebCore::PlatformScrollBar::setEnabled):
209 (WebCore::PlatformScrollBar::paint):
210 * platform/mac/ScrollBarMac.mm: Removed.
211 * platform/mac/WebCoreTextArea.mm:
212 * rendering/RenderBlock.cpp:
213 (WebCore::RenderBlock::isPointInScrollbar):
214 * rendering/RenderFormElement.cpp:
215 * rendering/RenderLayer.cpp:
216 (WebCore::RenderLayer::horizontalScrollbarWidget):
217 (WebCore::RenderLayer::verticalScrollbarWidget):
218 (WebCore::RenderLayer::valueChanged):
219 (WebCore::RenderLayer::setHasHorizontalScrollbar):
220 (WebCore::RenderLayer::setHasVerticalScrollbar):
221 (WebCore::RenderLayer::positionScrollbars):
222 * rendering/RenderLayer.h:
223 * rendering/RenderWidget.h:
225 2006-07-31 Adele Peterson <adele@apple.com>
227 Reviewed by John and Anders.
229 - Fix for <rdar://problem/4380576> onChange does not get called when field changed by return key
231 Test: fast/forms/onchange-enter-submit.html
233 Blur (which will fire onChange appropriately) before submitting a form when pressing Enter.
234 This matches the sequence of events fired in WinIE.
236 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
237 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler):
239 2006-07-31 Geoffrey Garen <ggaren@apple.com>
243 Moved string debug function outside of the WebCore namespace so that it's
244 easier to call in the debugger. I will never doubt Darin again (x100).
246 * platform/String.cpp:
249 2006-07-31 David Hyatt <hyatt@apple.com>
251 Partial fix for 5453. Improve overflow so that when it changes
252 dynamically from scroll/auto to hidden that we properly hide the
253 scrollbars. Also refine the dirty dashboard region updating so that
254 it only happens if the scrollbars genuinely come and go.
256 Also eliminate the extra repaint of the entire block. This should not be
257 necessary, since the scrollbars repaint themselves already and children
258 will repaint already if they move.
262 Adding test case from bug into fast/overflow/dynamic-hidden.html
264 * rendering/RenderLayer.cpp:
265 (WebCore::RenderLayer::setHasHorizontalScrollbar):
266 (WebCore::RenderLayer::setHasVerticalScrollbar):
267 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
269 2006-07-31 Graham Dennis <graham.dennis@gmail.com>
273 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9507>
274 Empty style spans created in applyInlineStyle
276 Improves paste fidelity because some of these empty font/style spans had a non-zero
277 size and were messing up the layout of pasted content:
278 <rdar://problem/4515463>
279 REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
281 * editing/ApplyStyleCommand.cpp:
282 (WebCore::ApplyStyleCommand::applyInlineStyle): Use the adjusted start node instead
283 of start.node(). Don't do any application if the endpoints are swapped. Adjust
284 endNode if the start node is a descendant of it, so that the pre-order traversal will
287 2006-07-31 Geoffrey Garen <ggaren@apple.com>
291 * platform/String.cpp:
292 (WebCore::string): Added a debugging function to create a String from a
295 2006-07-31 Anders Carlsson <acarlsson@apple.com>
297 * css/CSSPrimitiveValue.cpp:
300 2006-07-31 Geoffrey Garen <ggaren@apple.com>
302 Reinstating my last change. Everything builds now.
304 2006-07-31 Geoffrey Garen <ggaren@apple.com>
306 Backing out my last change because it causes a build failure in some
307 configurations. This seems to be the cleanest way to get svn to cooperate.
309 2006-07-31 Geoffrey Garen <ggaren@apple.com>
313 Moved files around to make WebCore's structure clearer
314 and easier to explain.
316 DerivedSources/JS* -> bindings/js/DerivedSources/ (so JS* files
317 show up when you search inside bindings/js/, but are marked, at
318 the same time, as files that you should not edit manually)
320 WebCore+SVG/DOMList.h -> ksvg2/svg/ (only files inside ksvg2/svg/
325 I tested that everything still builds.
327 2006-07-30 Darin Adler <darin@apple.com>
329 Reviewed by Tim Hatcher.
331 - some improvements for the benefit of the style pane of the inspector
333 * css/CSSComputedStyleDeclaration.cpp: Removed background-position
334 and border-spacing from the list of properties that show up in
335 computed style, because of background-position-x, background-position-y,
336 -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
337 (WebCore::valueForLength): Added handling for undefinedLength, intrinsic,
339 (WebCore::primitiveValueFromLength): Removed code that would add a
340 space to the string for no good reason.
341 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a
342 special case for a line clamp of -1, which should come back as "none"
343 rather than an actual "-1".
344 (WebCore::CSSComputedStyleDeclaration::length): Return 0 if the
345 declaration has no corresponding node or no renderer.
346 (WebCore::CSSComputedStyleDeclaration::item): Check against length()
347 so that the two stay consistent rather than using a constant.
349 * css/CSSPrimitiveValue.cpp:
350 (WebCore::isCSSTokenizerIdentifier): Added.
351 (WebCore::isCSSTokenizerURL): Added.
352 (WebCore::quoteString): Added.
353 (WebCore::quoteStringIfNeeded): Changed to quote strings in many more
354 cases -- any cases where they would not parse in the CSS parser otherwise.
355 The main case this affects is font names with spaces in them.
356 (WebCore::quoteURLIfNeeded): Added.
357 (WebCore::CSSPrimitiveValue::cssText): Use quoteURLIfNeeded in the case
358 where we're making the text form of a URI.
360 * css/tokenizer.flex: Whitespace tweaks to line things up better.
362 2006-07-30 Eric Seidel <eric@eseidel.com>
366 Remove some unused SVG code.
368 * ksvg2/ecma/Ecma.cpp: Removed.
369 * ksvg2/ecma/Ecma.h: Removed.
370 * ksvg2/ecma/GlobalObject.cpp: remove a couple dead functions.
371 * ksvg2/ecma/GlobalObject.h: add a comment about this dead code.
372 * ksvg2/ecma/SVGLookup.h: Removed.
374 2006-07-29 Darin Adler <darin@apple.com>
376 - Removed tabs from these source files that still had them.
377 We don't use them; that way source files look fine in editors
378 that have tabs set to 8 spaces or to 4 spaces.
379 - Removed allow-tabs Subversion property from the files too.
381 * bindings/objc/WebScriptObject.h:
382 * bindings/objc/WebScriptObject.mm:
383 * platform/FontData.cpp:
385 2006-07-29 Sam Weinig <sam.weinig@gmail.com>
389 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
390 Adopt pedantic changes from the Unity project to improve
391 cross-compiler compatibility
394 * Removing trailing semicolon from namespace braces.
395 * Removing trailing comma from last enum declaration.
396 * Updating to match style guidelines.
397 * Adding missing newline to the end of the file.
398 * Turning on gcc warning for missing newline at the end of a source file
399 (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
400 * Alphabetical sorting of Xcode source list files.
401 * Use abs() function from <math.h> instead of ABS() macro.
402 * Use C-style comments instead of C++ comments in files that might
403 be included by either C or C++ files.
404 * Use -numeric_limits<double>::infinity() instead of -HUGE_VAL.
406 * WebCore+SVG/DOMList.h:
407 * WebCore.xcodeproj/project.pbxproj:
409 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
410 * bindings/js/JSXSLTProcessor.h:
411 * bindings/js/kjs_domnode.h:
413 * bindings/objc/DOMCSS.h:
414 (-[DOMCSSValue enum]):
415 * bindings/objc/DOMCore.h:
416 (-[DOMImplementation createDocument:::]):
417 * bindings/objc/DOMEvents.h:
418 (-[DOMOverflowEvent enum]):
419 * bindings/objc/DOMRange.h:
420 * bindings/objc/DOMTraversal.h:
421 * bindings/objc/DOMXPath.h:
422 (-[DOMXPathNSResolver lookupNamespaceURI:]):
423 * bridge/mac/WebCoreFrameBridge.h:
424 * bridge/mac/WebCoreKeyboardAccess.h:
427 * dom/ChildNodeList.h:
430 (WebCore::Document::):
431 * dom/DocumentMarker.h:
432 (WebCore::DocumentMarker::):
433 (WebCore::DocumentMarker::operator==):
434 (WebCore::DocumentMarker::operator!=):
435 * dom/EventTargetNode.h:
436 * dom/KeyboardEvent.h:
437 (WebCore::KeyboardEvent::):
438 * dom/NameNodeList.h:
439 (WebCore::NameNodeList::rootNodeChildrenChanged):
440 * dom/QualifiedName.cpp:
441 * editing/TypingCommand.h:
442 (WebCore::TypingCommand::):
443 * editing/UnlinkCommand.h:
444 (WebCore::UnlinkCommand::editingAction):
445 * html/FormDataList.h:
446 (WebCore::FormDataListItem::FormDataListItem):
447 (WebCore::FormDataList::appendData):
448 * html/HTMLBlockquoteElement.h:
449 * html/HTMLDivElement.h:
450 * html/HTMLFormElement.h:
451 * html/HTMLHRElement.h:
452 * html/HTMLHeadingElement.h:
453 * html/HTMLMarqueeElement.h:
454 * html/HTMLParagraphElement.h:
455 * html/HTMLPlugInElement.h:
456 * html/HTMLPreElement.h:
457 * html/HTMLTokenizer.h:
458 (WebCore::HTMLTokenizer::State::):
459 * icon/IconDatabase.cpp:
460 * icon/SQLStatement.cpp:
461 * kcanvas/KCanvasFilters.h:
463 (WebCore::KCanvasPoint3F::KCanvasPoint3F):
464 (WebCore::KCanvasFilter::KCanvasFilter):
465 (WebCore::KCanvasFilter::~KCanvasFilter):
466 (WebCore::KCanvasFilterEffect::~KCanvasFilterEffect):
467 (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
468 (WebCore::KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix):
469 (WebCore::KCLightSource::KCLightSource):
470 (WebCore::KCDistantLightSource::KCDistantLightSource):
471 (WebCore::KCPointLightSource::KCPointLightSource):
472 (WebCore::KCSpotLightSource::KCSpotLightSource):
473 (WebCore::KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting):
474 (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
475 (WebCore::KCanvasFEImage::KCanvasFEImage):
476 (WebCore::KCanvasFESpecularLighting::KCanvasFESpecularLighting):
477 * kcanvas/RenderSVGImage.h:
478 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
479 * ksvg2/css/SVGRenderStyle.h:
480 (WebCore::SVGRenderStyle::InheritedFlags::):
481 (WebCore::SVGRenderStyle::NonInheritedFlags::):
482 * ksvg2/css/SVGRenderStyleDefs.h:
484 * ksvg2/events/SVGZoomEvent.h:
487 * ksvg2/misc/KCanvasRenderingStyle.h:
488 * ksvg2/misc/SVGImageLoader.h:
489 * ksvg2/scripts/make_names.pl:
490 * ksvg2/svg/SVGAElement.h:
491 * ksvg2/svg/SVGAngle.h:
492 * ksvg2/svg/SVGAnimateColorElement.h:
493 * ksvg2/svg/SVGAnimateElement.h:
494 * ksvg2/svg/SVGAnimateTransformElement.h:
495 * ksvg2/svg/SVGAnimatedAngle.h:
496 * ksvg2/svg/SVGAnimatedBoolean.h:
497 * ksvg2/svg/SVGAnimatedColor.h:
498 * ksvg2/svg/SVGAnimatedEnumeration.h:
499 * ksvg2/svg/SVGAnimatedInteger.h:
500 * ksvg2/svg/SVGAnimatedLength.h:
501 * ksvg2/svg/SVGAnimatedLengthList.h:
502 * ksvg2/svg/SVGAnimatedNumber.h:
503 * ksvg2/svg/SVGAnimatedNumberList.h:
504 * ksvg2/svg/SVGAnimatedPathData.h:
505 * ksvg2/svg/SVGAnimatedPoints.h:
506 * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
507 * ksvg2/svg/SVGAnimatedRect.h:
508 * ksvg2/svg/SVGAnimatedString.h:
509 * ksvg2/svg/SVGAnimatedTemplate.h:
510 * ksvg2/svg/SVGAnimatedTransformList.h:
511 * ksvg2/svg/SVGAnimationElement.cpp:
512 (SVGAnimationElement::calculateCurrentValueItem):
513 (SVGAnimationElement::calculateRelativeTimePercentage):
514 * ksvg2/svg/SVGAnimationElement.h:
516 * ksvg2/svg/SVGCircleElement.h:
517 * ksvg2/svg/SVGClipPathElement.h:
518 * ksvg2/svg/SVGColor.h:
519 * ksvg2/svg/SVGComponentTransferFunctionElement.h:
520 * ksvg2/svg/SVGCursorElement.h:
521 * ksvg2/svg/SVGDOMImplementation.h:
522 * ksvg2/svg/SVGDefsElement.h:
523 * ksvg2/svg/SVGDescElement.h:
524 * ksvg2/svg/SVGDocument.h:
525 * ksvg2/svg/SVGElement.h:
526 (WebCore::SVGElement::rendererIsNeeded):
527 (WebCore::svg_dynamic_cast):
528 * ksvg2/svg/SVGElementInstance.h:
529 * ksvg2/svg/SVGElementInstanceList.h:
530 * ksvg2/svg/SVGEllipseElement.h:
531 * ksvg2/svg/SVGExternalResourcesRequired.h:
532 * ksvg2/svg/SVGFEBlendElement.h:
533 * ksvg2/svg/SVGFEColorMatrixElement.h:
534 * ksvg2/svg/SVGFEComponentTransferElement.h:
535 * ksvg2/svg/SVGFECompositeElement.h:
536 * ksvg2/svg/SVGFEDiffuseLightingElement.h:
537 * ksvg2/svg/SVGFEDisplacementMapElement.h:
538 * ksvg2/svg/SVGFEDistantLightElement.h:
539 * ksvg2/svg/SVGFEFloodElement.h:
540 * ksvg2/svg/SVGFEFuncAElement.h:
541 * ksvg2/svg/SVGFEFuncBElement.h:
542 * ksvg2/svg/SVGFEFuncGElement.h:
543 * ksvg2/svg/SVGFEFuncRElement.h:
544 * ksvg2/svg/SVGFEGaussianBlurElement.h:
545 * ksvg2/svg/SVGFEImageElement.h:
546 * ksvg2/svg/SVGFELightElement.h:
547 * ksvg2/svg/SVGFEMergeElement.h:
548 * ksvg2/svg/SVGFEMergeNodeElement.h:
549 * ksvg2/svg/SVGFEOffsetElement.h:
550 * ksvg2/svg/SVGFEPointLightElement.h:
551 * ksvg2/svg/SVGFESpecularLightingElement.h:
552 * ksvg2/svg/SVGFESpotLightElement.h:
553 * ksvg2/svg/SVGFETileElement.h:
554 * ksvg2/svg/SVGFETurbulenceElement.h:
555 * ksvg2/svg/SVGFilterElement.h:
556 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
557 * ksvg2/svg/SVGFitToViewBox.h:
558 * ksvg2/svg/SVGForeignObjectElement.cpp:
559 * ksvg2/svg/SVGForeignObjectElement.h:
560 * ksvg2/svg/SVGGElement.h:
561 * ksvg2/svg/SVGGradientElement.h:
562 * ksvg2/svg/SVGHelper.h:
564 * ksvg2/svg/SVGImageElement.h:
565 * ksvg2/svg/SVGLangSpace.h:
566 * ksvg2/svg/SVGLength.h:
567 * ksvg2/svg/SVGLengthList.h:
568 * ksvg2/svg/SVGLineElement.h:
569 * ksvg2/svg/SVGLinearGradientElement.h:
570 * ksvg2/svg/SVGList.h:
571 * ksvg2/svg/SVGLocatable.h:
572 * ksvg2/svg/SVGMarkerElement.h:
573 * ksvg2/svg/SVGMaskElement.h:
574 * ksvg2/svg/SVGMatrix.h:
575 * ksvg2/svg/SVGNumber.h:
576 * ksvg2/svg/SVGNumberList.h:
577 * ksvg2/svg/SVGPaint.h:
578 * ksvg2/svg/SVGPathElement.h:
579 * ksvg2/svg/SVGPathSeg.h:
580 * ksvg2/svg/SVGPathSegArc.h:
581 * ksvg2/svg/SVGPathSegClosePath.h:
582 * ksvg2/svg/SVGPathSegCurvetoCubic.h:
583 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
584 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
585 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
586 * ksvg2/svg/SVGPathSegLineto.h:
587 * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
588 * ksvg2/svg/SVGPathSegLinetoVertical.h:
589 * ksvg2/svg/SVGPathSegList.h:
590 * ksvg2/svg/SVGPathSegMoveto.h:
591 * ksvg2/svg/SVGPatternElement.h:
592 * ksvg2/svg/SVGPoint.h:
593 * ksvg2/svg/SVGPointList.h:
594 * ksvg2/svg/SVGPolyElement.h:
595 * ksvg2/svg/SVGPolygonElement.h:
596 * ksvg2/svg/SVGPolylineElement.h:
597 * ksvg2/svg/SVGPreserveAspectRatio.h:
598 * ksvg2/svg/SVGRadialGradientElement.h:
599 * ksvg2/svg/SVGRect.h:
600 * ksvg2/svg/SVGRectElement.h:
601 * ksvg2/svg/SVGSVGElement.h:
602 * ksvg2/svg/SVGScriptElement.h:
603 * ksvg2/svg/SVGSetElement.h:
604 * ksvg2/svg/SVGStopElement.h:
605 * ksvg2/svg/SVGStringList.h:
606 * ksvg2/svg/SVGStylable.h:
607 * ksvg2/svg/SVGStyleElement.h:
608 * ksvg2/svg/SVGStyledElement.h:
609 (WebCore::SVGStyledElement::rendererIsNeeded):
610 (WebCore::SVGStyledElement::canvasResource):
611 * ksvg2/svg/SVGStyledLocatableElement.h:
612 * ksvg2/svg/SVGStyledTransformableElement.h:
613 * ksvg2/svg/SVGSwitchElement.h:
614 * ksvg2/svg/SVGSymbolElement.h:
615 * ksvg2/svg/SVGTRefElement.h:
616 * ksvg2/svg/SVGTSpanElement.h:
617 * ksvg2/svg/SVGTests.h:
618 * ksvg2/svg/SVGTextContentElement.h:
619 * ksvg2/svg/SVGTextElement.h:
620 * ksvg2/svg/SVGTextPositioningElement.h:
621 * ksvg2/svg/SVGTitleElement.h:
622 * ksvg2/svg/SVGTransform.h:
623 * ksvg2/svg/SVGTransformList.h:
624 * ksvg2/svg/SVGTransformable.h:
625 * ksvg2/svg/SVGURIReference.h:
626 * ksvg2/svg/SVGUseElement.h:
627 * ksvg2/svg/SVGViewElement.h:
628 * ksvg2/svg/SVGZoomAndPan.h:
629 * ksvg2/svg/svgpathparser.h:
632 * platform/AffineTransform.h:
633 * platform/FontCache.cpp:
634 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
635 * platform/FontData.cpp:
636 (WebCore::FontData::FontData):
637 * platform/FontData.h:
638 * platform/TextBox.h:
639 (WebCore::TextBox::):
640 * platform/Timer.cpp:
641 (WebCore::TimerBase::heapPop):
642 * platform/mac/FontCacheMac.mm:
643 * platform/mac/GlyphMapMac.cpp:
644 * platform/mac/WebFontCache.mm:
646 * rendering/DeprecatedRenderSelect.cpp:
647 (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
648 * rendering/EllipsisBox.h:
649 * rendering/RenderBR.h:
650 (WebCore::RenderBR::renderName):
651 (WebCore::RenderBR::width):
652 * rendering/RenderBlock.h:
654 * rendering/RenderFlexibleBox.h:
655 * rendering/RenderFlow.h:
656 (WebCore::RenderFlow::RenderFlow):
657 * rendering/RenderFrame.cpp:
659 * rendering/break_lines.cpp:
661 2006-07-29 Rob Buis <buis@kde.org>
665 http://bugzilla.opendarwin.org/show_bug.cgi?id=10151
666 ghostmap XHTML + SVG fails due to javascript undefined exception
668 Make sure document.URL works when called from a non-HTML document.
670 * bindings/js/kjs_html.cpp:
671 (KJS::JSHTMLDocument::getValueProperty):
672 * bindings/js/kjs_html.h:
673 (KJS::JSHTMLDocument::):
676 2006-07-29 Mike Emmel <mike.emmel@gmail.com>
678 Reviewed and tweaked by Darin.
680 - fixes for Linux build
681 (still might not compile, since Darin tweaked but was unable to test).
683 * WebCoreSources.bkl: Added some new sources, removed some obsolete ones.
684 * Projects/gdk/webcore-gdk.bkl: Added RenderPopupMenuGdk.cpp
686 * html/HTMLPlugInElement.h: Removed incorrect syntax with class name
689 * platform/gdk/FrameGdk.h:
690 * platform/gdk/FrameGdk.cpp: Updated parameters of constructor. Moved a couple stubs
692 * platform/gdk/RenderPopupMenuGdk.h: Added.
693 * platform/gdk/RenderPopupMenuGdk.cpp: Added. Just a file full of empty stubs.
694 * platform/gdk/RenderThemeGdk.h:
695 * platform/gdk/RenderThemeGdk.cpp: (WebCore::RenderThemeGdk::createPopupMenu): Added.
697 * platform/gdk/TemporaryLinkStubs.cpp: Add some new stubs.
699 2006-07-29 Mark Rowe <opendarwin.org@bdash.net.nz>
703 http://bugzilla.opendarwin.org/show_bug.cgi?id=10022
704 Bug 10022: REGRESSION: Crash in WebCore::XMLTokenizer::characters
706 * dom/XMLTokenizer.cpp:
707 (WebCore::XMLTokenizer::resumeParsing): If the write() call resulted in new callbacks being
708 added, don't call through to end() just yet.
710 2006-07-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
712 Reviewed by John Sullivan.
714 - manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
715 ASSERTION FAILURE: _private->mouseDownEvent != nil
716 (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
718 * manual-tests/subview-click-assertion.html: Added.
720 2006-07-29 Andrew Wellington <proton@wiretapped.net>
724 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8587 / <rdar://problem/4631844>
725 REGRESSION: {display:list-item} items outside an ol or ul element don't number correctly
727 * rendering/RenderListItem.cpp:
728 (WebCore::enclosingList): If no real list element is found, use parent instead.
729 (WebCore::previousListItem): Check list elements to see if they are list items -- the
730 old code assumed that a list would never be a list item but this is entirely possible
731 with CSS and especially with the new rule that means any DOM element could act as a list.
733 2006-07-29 Alexey Proskuryakov <ap@nypop.com>
737 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10147
738 REGRESSION: custom attribute values set via javascript are not persistent
740 Test: fast/dom/Element/setAttribute-case-insensitivity.html
743 (WebCore::Element::setAttribute): Use the lowercased localName for retrieving the old value, too.
745 2006-07-28 Timothy Hatcher <timothy@apple.com>
749 Moving the implementation of isContentEditable to the
750 the WebPrivate category.
752 * bindings/objc/DOM.mm:
753 (-[DOMNode isContentEditable]):
755 2006-07-28 Justin Garcia <justin.garcia@apple.com>
760 <rdar://problem/4515463>
761 REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
763 Migrate to isBlock and enclosingBlock.
764 Changed RendereringInfo::isBlock and ReplacementFragment::isBlock
765 to wasBlock so that they don't conflict with isBlock and because
766 it's more descriptive.
768 * editing/ReplaceSelectionCommand.cpp:
769 (WebCore::ReplacementFragment::mergeStartNode):
770 (WebCore::ReplacementFragment::wasBlock):
771 (WebCore::ReplacementFragment::saveRenderingInfo):
772 (WebCore::ReplacementFragment::renderedBlocks):
773 (WebCore::RenderingInfo::RenderingInfo):
774 (WebCore::ReplaceSelectionCommand::shouldMergeStart):
775 (WebCore::ReplaceSelectionCommand::doApply):
776 * editing/ReplaceSelectionCommand.h:
777 (WebCore::RenderingInfo::wasBlock):
779 2006-07-27 Justin Garcia <justin.garcia@apple.com>
784 <rdar://problem/4242293>
785 Poor paste fidelity of http://www.google.com/
787 * editing/markup.cpp:
788 (WebCore::needInterchangeNewlineAfter): Added.
789 (WebCore::createMarkup):
790 Only add an interchangeNewline if we're annotating for interchange. Can't test
791 this until we expose createMarkup in non-annotate mode (I'd expose Range::toHTML).
792 Remove the FIXME about prepending the interchangeNewline before creating the rest
793 of the markup. Its correct to surround the interchangeNewline in ancestors of the
795 Fixed the check to see if an interchangeNewline is needed (!inSameBlock). This would
796 add an interchangeNewline for a selection that started before a table.
797 Removed the workaround for the bug where markup for a table was not included when
798 selecting the contents of a table, since this change fixes the general problem of
799 markup for ancestors of the startNode being left out.
800 Don't leave out ancestors of the startNode as we leave their subtrees. Execute the
801 code to include them even if we closed ancestors in the ancestorsToClose list.
803 2006-07-28 Timothy Hatcher <timothy@apple.com>
807 Adding isContentEditable to DOMNode's private category.
809 * bindings/objc/DOMPrivate.h:
811 2006-07-28 Alexey Proskuryakov <ap@nypop.com>
813 Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=6010 because of failing layout tests.
814 Add better SVGLoad event support.
816 * dom/EventTargetNode.cpp:
817 (WebCore::EventTargetNode::dispatchGenericEvent):
818 * html/HTMLImageLoader.cpp:
819 (WebCore::HTMLImageLoader::dispatchLoadEvent):
820 * html/HTMLImageLoader.h:
821 * ksvg2/misc/SVGImageLoader.cpp:
822 (WebCore::SVGImageLoader::SVGImageLoader):
823 * ksvg2/misc/SVGImageLoader.h:
824 * ksvg2/svg/SVGAElement.cpp:
825 (WebCore::SVGAElement::parseMappedAttribute):
826 * ksvg2/svg/SVGAnimatedBoolean.h:
827 * ksvg2/svg/SVGElement.cpp:
828 (WebCore::SVGElement::SVGElement):
829 (WebCore::SVGElement::parseMappedAttribute):
830 * ksvg2/svg/SVGElement.h:
831 (WebCore::SVGElement::adjustViewportClipping):
832 (WebCore::SVGElement::closeRenderer):
833 (WebCore::SVGElement::rendererIsNeeded):
834 (WebCore::SVGElement::isClosed):
835 (WebCore::svg_dynamic_cast):
836 * ksvg2/svg/SVGExternalResourcesRequired.h:
837 * ksvg2/svg/SVGImageElement.cpp:
838 (SVGImageElement::SVGImageElement):
839 * ksvg2/svg/SVGImageElement.h:
840 * ksvg2/svg/SVGSVGElement.cpp:
841 (WebCore::SVGSVGElement::parseMappedAttribute):
842 * ksvg2/svg/SVGScriptElement.cpp:
843 (SVGScriptElement::SVGScriptElement):
844 (SVGScriptElement::parseMappedAttribute):
845 (SVGScriptElement::executeScript):
846 * xml/xmlhttprequest.cpp:
847 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
849 2006-07-28 Adele Peterson <adele@apple.com>
851 Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=9753 because of failing layout tests.
852 SVG with width and height 100% leaves room for scrollbar on the right.
854 * kcanvas/RenderPath.cpp:
855 * kcanvas/RenderPath.h:
856 * kcanvas/RenderSVGContainer.cpp:
857 (WebCore::RenderSVGContainer::layout):
858 * ksvg2/svg/SVGCircleElement.cpp:
859 * ksvg2/svg/SVGCircleElement.h:
860 * ksvg2/svg/SVGEllipseElement.cpp:
861 * ksvg2/svg/SVGEllipseElement.h:
862 * ksvg2/svg/SVGLineElement.cpp:
863 * ksvg2/svg/SVGLineElement.h:
864 * ksvg2/svg/SVGRectElement.cpp:
865 * ksvg2/svg/SVGRectElement.h:
866 * ksvg2/svg/SVGStyledElement.h:
868 2006-07-27 Eric Seidel <eric@eseidel.com>
872 Add better SVGLoad event support.
873 http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
874 There will still need to be additional support added for <link> and <script> elements.
875 Not all of the error -> loaded -> error transition cases work yet.
877 * dom/EventTargetNode.cpp:
878 (WebCore::EventTargetNode::dispatchGenericEvent):
879 * html/HTMLImageLoader.cpp:
880 (WebCore::HTMLImageLoader::dispatchLoadEvent):
881 * html/HTMLImageLoader.h:
882 (WebCore::HTMLImageLoader::haveFiredLoadEvent):
883 (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
884 * ksvg2/misc/SVGImageLoader.cpp:
885 (WebCore::SVGImageLoader::SVGImageLoader):
886 (WebCore::SVGImageLoader::dispatchLoadEvent):
887 * ksvg2/misc/SVGImageLoader.h:
888 * ksvg2/svg/SVGAElement.cpp:
889 (WebCore::SVGAElement::parseMappedAttribute):
890 * ksvg2/svg/SVGAnimatedBoolean.h:
891 * ksvg2/svg/SVGElement.cpp:
892 (WebCore::SVGElement::SVGElement):
893 (WebCore::SVGElement::parseMappedAttribute):
894 (WebCore::SVGElement::haveLoadedRequiredResources):
895 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
896 (WebCore::SVGElement::closeRenderer):
897 * ksvg2/svg/SVGElement.h:
898 (WebCore::SVGElement::rendererIsNeeded):
899 (WebCore::svg_dynamic_cast):
900 * ksvg2/svg/SVGExternalResourcesRequired.h:
901 * ksvg2/svg/SVGImageElement.cpp:
902 (SVGImageElement::SVGImageElement):
903 (SVGImageElement::haveLoadedRequiredResources):
904 * ksvg2/svg/SVGImageElement.h:
905 * ksvg2/svg/SVGSVGElement.cpp:
906 (WebCore::SVGSVGElement::parseMappedAttribute):
907 * ksvg2/svg/SVGScriptElement.cpp:
908 (WebCore::SVGScriptElement::SVGScriptElement):
909 (WebCore::SVGScriptElement::parseMappedAttribute):
910 (WebCore::SVGScriptElement::executeScript):
911 * xml/xmlhttprequest.cpp:
912 (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
914 2006-07-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
918 - http://bugzilla.opendarwin.org/show_bug.cgi?id=10135
919 Cleanup: remove useless parameters from RenderObject::position()
921 No test possible (no functionality change)
923 * rendering/RenderBox.cpp:
924 (WebCore::RenderBox::position):
925 * rendering/RenderBox.h:
926 * rendering/RenderObject.h:
927 (WebCore::RenderObject::position):
928 * rendering/RenderTableRow.h:
929 (WebCore::RenderTableRow::position):
930 * rendering/RenderTableSection.h:
931 (WebCore::RenderTableSection::position):
932 * rendering/RenderText.cpp:
933 (WebCore::RenderText::position):
934 * rendering/RenderText.h:
935 * rendering/bidi.cpp:
936 (WebCore::RenderBlock::constructLine):
937 (WebCore::RenderBlock::computeVerticalPositionsForLine):
939 2006-07-27 Rob Buis <buis@kde.org>
943 http://bugzilla.opendarwin.org/show_bug.cgi?id=9753
944 SVG with width and height 100% leaves room for scrollbar on the right.
946 Relayout children of svg containers, except svg shapes that do not depend on percentages.
948 * kcanvas/RenderPath.cpp: (WebCore::RenderPath::hasPercentageValues):
949 * kcanvas/RenderPath.h:
950 * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
951 * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::hasPercentageValues):
952 * ksvg2/svg/SVGCircleElement.h:
953 * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::hasPercentageValues):
954 * ksvg2/svg/SVGEllipseElement.h:
955 * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::hasPercentageValues):
956 * ksvg2/svg/SVGLineElement.h:
957 * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::hasPercentageValues):
958 * ksvg2/svg/SVGRectElement.h:
959 * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::hasPercentageValues):
961 2006-07-27 Justin Garcia <justin.garcia@apple.com>
965 <rdar://problem/4242293>
966 Poor paste fidelity of http://www.google.com/
968 * editing/ApplyStyleCommand.cpp:
969 (WebCore::ApplyStyleCommand::applyInlineStyle): Fixed crasher with nil-check.
970 * editing/markup.cpp:
971 (WebCore::startMarkup): Style information wasn't added to an element if it had
972 attributes but no style attribute.
974 2006-07-27 Alexander Kellett <lypanov@kde.org>
978 - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9867
979 REGRESSION: code that modifies form element in Firefox modifies form attribute in WebKit
981 * bindings/scripts/CodeGeneratorJS.pm: add new attribute - HasOverridingNameGetter
982 * html/HTMLFormElement.idl:
984 2006-07-27 Rob Buis <buis@kde.org>
988 http://bugzilla.opendarwin.org/show_bug.cgi?id=8992
989 Some HTML DOM attributes have incorrect types
991 Adjust idl and dom source code for HTMLImageElement and
992 HTMLBaseFontElement to choose correct type for
993 HTMLImageElement::border and HTMLBaseFontElement::size
996 * html/HTMLBaseFontElement.cpp:
997 (WebCore::HTMLBaseFontElement::size):
998 (WebCore::HTMLBaseFontElement::setSize):
999 * html/HTMLBaseFontElement.h:
1000 * html/HTMLBaseFontElement.idl:
1001 * html/HTMLImageElement.cpp:
1002 (WebCore::HTMLImageElement::border):
1003 (WebCore::HTMLImageElement::setBorder):
1004 * html/HTMLImageElement.h:
1005 * html/HTMLImageElement.idl:
1007 2006-07-27 Justin Garcia <justin.garcia@apple.com>
1011 <rdar://problem/4628409>
1012 Safari crashes in CompositeEditCommand::removeBlockPlaceholder entering text in a web page form
1014 * editing/CompositeEditCommand.cpp:
1015 (WebCore::CompositeEditCommand::removeBlockPlaceholder):
1016 A script on the page shrinks the textarea down to zero rows just
1017 before insertion. That gives the shadow div a zero height, removing
1018 [div, 0] as a candidate for a VisiblePosition. Then
1019 InsertTextCommand::input() tries to create a VisiblePosition from
1020 [div, 0] and fails. A nil check is a quick fix. Another might
1021 be to make positions where there is a caret selection candidates.
1022 Another might be to make any [div, 0] where div is a shadow div inside
1023 a form element a candidate.
1025 2006-07-27 Graham Dennis <graham.dennis@gmail.com>
1029 - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10094
1030 Japanese characters improperly rendering in TOT
1032 Test: fast/encoding/denormalised-voiced-japanese-chars.html
1034 * platform/Font.cpp:
1035 (WebCore::WidthIterator::advance): pass currentCharacter to normalizeVoicingMarks
1036 (WebCore::WidthIterator::normalizeVoicingMarks): turn the currentCharacter variable
1037 into an argument as WidthIterator::advance doesn't update m_currentCharacter while
1040 2006-07-27 Eric Seidel <eric@eseidel.com>
1044 Complex entities seem to fail on TOT
1045 http://bugzilla.opendarwin.org/show_bug.cgi?id=6390
1046 Use an alternative work-around to an XML Entity parsing bug.
1048 * dom/XMLTokenizer.cpp:
1049 (WebCore::XMLTokenizer::write):
1050 (WebCore::hackAroundLibXMLEntityBug): added.
1051 (WebCore::startElementNsHandler):
1052 (WebCore::endElementNsHandler):
1053 (WebCore::charactersHandler):
1054 (WebCore::processingInstructionHandler):
1055 (WebCore::cdataBlockHandler):
1056 (WebCore::commentHandler):
1057 (WebCore::getEntityHandler):
1059 2006-07-27 Rob Buis <buis@kde.org>
1063 http://bugzilla.opendarwin.org/show_bug.cgi?id=9938
1064 Fix viewBox issues in Hixie's test
1066 Do a more accurate and quicker job of parsing the viewBox
1067 attribute. Handle properly on negative width/height and
1068 invalid syntax in general.
1070 * ksvg2/svg/SVGFitToViewBox.cpp:
1071 (SVGFitToViewBox::parseViewBox):
1073 2006-07-27 Eric Seidel <eric@eseidel.com>
1077 Enables getSVGDocument() support for HTMLObjectElement and HTMLEmbedElement
1078 http://bugzilla.opendarwin.org/show_bug.cgi?id=9237
1079 This patch does not try to autogenerate anything, but enables the SVG functionality.
1080 Also fix HTMLObjectElement vspace and hspace to be numbers instead of strings to match IE & Firefox.
1082 * bindings/js/kjs_dom.cpp:
1084 * bindings/js/kjs_html.cpp:
1085 (KJS::JSHTMLElement::objectGetter):
1086 (KJS::HTMLElementFunction::callAsFunction):
1087 (KJS::JSHTMLElement::objectSetter):
1088 * bindings/js/kjs_html.h:
1089 (KJS::JSHTMLElement::):
1091 (WebCore::Document::isSVGDocument):
1092 * html/HTMLEmbedElement.cpp:
1093 (WebCore::HTMLEmbedElement::contentDocument):
1094 (WebCore::HTMLEmbedElement::getSVGDocument):
1095 * html/HTMLEmbedElement.h:
1096 * html/HTMLObjectElement.cpp:
1097 (WebCore::HTMLObjectElement::HTMLObjectElement):
1098 (WebCore::HTMLObjectElement::getInstance):
1099 (WebCore::HTMLObjectElement::parseMappedAttribute):
1100 (WebCore::HTMLObjectElement::contentDocument):
1101 (WebCore::HTMLObjectElement::rendererIsNeeded):
1102 (WebCore::HTMLObjectElement::createRenderer):
1103 (WebCore::HTMLObjectElement::setCode):
1104 (WebCore::HTMLObjectElement::setArchive):
1105 (WebCore::HTMLObjectElement::setBorder):
1106 (WebCore::HTMLObjectElement::setCodeBase):
1107 (WebCore::HTMLObjectElement::setCodeType):
1108 (WebCore::HTMLObjectElement::setData):
1109 (WebCore::HTMLObjectElement::hspace):
1110 (WebCore::HTMLObjectElement::setHspace):
1111 (WebCore::HTMLObjectElement::setStandby):
1112 (WebCore::HTMLObjectElement::setType):
1113 (WebCore::HTMLObjectElement::setUseMap):
1114 (WebCore::HTMLObjectElement::vspace):
1115 (WebCore::HTMLObjectElement::setVspace):
1116 (WebCore::HTMLObjectElement::getSVGDocument):
1117 * html/HTMLObjectElement.h:
1118 * ksvg2/svg/SVGDocument.h:
1119 (WebCore::SVGDocument::isSVGDocument):
1120 * rendering/RenderWidget.h:
1121 (WebCore::RenderWidget::frameView):
1123 2006-07-26 Alexey Proskuryakov <ap@nypop.com>
1127 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9901
1128 XSLTProcessor cannot parse text nodes for INPUT ELEMENTS in an XSLT stylesheet
1130 Test: fast/js/xhtml-serialize.html
1132 * editing/markup.cpp:
1133 (WebCore::endMarkup): If the element has child nodes, write a closing tag even if it
1134 is not permitted in HTML, to make it valid XML.
1136 2006-07-26 Alice Liu <alice.liu@apple.com>
1138 Reviewed by John Sullivan (and Kevin and Timo).
1140 landing this patch for John et al.
1141 Fixed <rdar://problem/4651380> REGRESSION (9A232->9A234): existing web clips don't render if you restart Dashboard
1143 * page/FrameView.cpp:
1144 (WebCore::FrameView::layout):
1145 moved the call to didFirstLayout to above the check for needsLayout
1146 because we need to call didFirstLayout for every webview, not just
1147 ones we think need layout.
1149 2006-07-26 Justin Garcia <justin.garcia@apple.com>
1153 <rdar://problem/4652788>
1154 REGRESSION: Can't change size or style of any text in message body
1157 (WebCore::Node::isContentRichlyEditable): Mimic Node::isContentEditable.
1158 * html/HTMLElement.cpp:
1159 (WebCore::HTMLElement::isContentRichlyEditable): First check
1160 the frame for editability, then userModify, like what
1161 HTMLElement::isContentEditable() does.
1162 * html/HTMLElement.h:
1164 2006-07-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
1168 - fix debug-only information() string for table cells
1170 * rendering/RenderObject.cpp:
1171 (WebCore::RenderObject::information):
1173 2006-07-25 David Harrison <harrison@apple.com>
1175 Reviewed by timo and Darin.
1177 <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
1179 * WebCore.xcodeproj/project.pbxproj:
1180 * bridge/mac/WebCoreFrameBridge.h:
1181 * bridge/mac/WebCoreFrameBridge.mm:
1182 (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
1183 Add matchStyle parameter for use by WebKit.
1185 2006-07-25 Justin Garcia <justin.garcia@apple.com>
1189 <rdar://problem/4649560>
1190 REGRESSION: Can't Select All when the body is contentEditable="true"
1192 * editing/VisiblePosition.cpp:
1193 (WebCore::VisiblePosition::canonicalPosition): Allow descent from a non-editable html
1194 element into an editable body as a convenience.
1196 2006-07-25 Justin Garcia <justin.garcia@apple.com>
1200 <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">
1203 (WebCore::Document::inDesignMode): Removed some spaces.
1205 (WebCore::Frame::applyEditingStyleToElement): Just add CSS properties needed for editing.
1206 (WebCore::Frame::removeEditingStyleFromElement): Made this a no-op, we'll remove
1209 2006-07-25 David Kilzer <ddkilzer@kilzer.net>
1213 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9717
1214 Replace IDL ConvertUndefinedToTrue parameter attribute with Optional attribute
1216 No test added because there is no change in functionality.
1218 * bindings/js/kjs_binding.cpp: Removed valueToBooleanTreatUndefinedAsTrue() method.
1219 * bindings/js/kjs_binding.h: Ditto.
1220 * bindings/scripts/CodeGeneratorJS.pm: Removed support for ConvertUndefinedToTrue parameter attribute.
1221 * dom/Element.h: Set default value to true for scrollIntoView() and scrollIntoViewIfNeeded() arguments.
1222 * dom/Element.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
1223 Fixed name of scrollIntoViewIfNeeded() argument to match implementation.
1224 * page/DOMWindow.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
1226 2006-07-24 Dan Waylonis <waylonis@google.com>
1228 Reviewed and tweaked a bunch by Darin.
1230 Test: plugins/bindings-test.html
1232 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9902
1233 jsNull and NSNull not properly converted between JS and ObjC
1235 * bindings/objc/WebScriptObject.mm:
1236 (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
1237 Added case that converts jsNull to NSNull.
1239 2006-07-24 Darin Adler <darin@apple.com>
1241 Reviewed by Adele and Justin.
1243 - fix <rdar://problem/4613616> REGRESSION: some spaces typed in <textarea> are posted as non-breaking spaces (9630)
1244 http://bugzilla.opendarwin.org/show_bug.cgi?id=9630
1245 - also fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9939
1246 REGRESSION: Pasting text into native text area with newline at end does not preserve newline
1247 - removed some uses of DeprecatedPtrList in the markup code
1249 Test: fast/forms/textarea-type-spaces.html
1250 Test: fast/forms/textarea-paste-newline.html
1252 * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithText:]):
1253 Updated call to pass a range -- in this case it is the range of the entire document,
1254 so this will not handle the whitespace properly.
1256 * bridge/mac/WebCoreFrameBridge.h: Added range context parameter to the
1257 documentFragmentWithText: method, so we can handle whitespace properly.
1258 * bridge/mac/WebCoreFrameBridge.mm:
1259 (-[WebCoreFrameBridge nodesFromList:]): Changed from DeprecatedPtrList to Vector.
1260 (-[WebCoreFrameBridge markupStringFromNode:nodes:]): Ditto.
1261 (-[WebCoreFrameBridge markupStringFromRange:nodes:]): Ditto.
1262 (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Added range context
1263 parameter -- pass it on to createFragmentFromText.
1264 (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): Changed from
1265 DeprecatedPtrList to Vector.
1266 (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
1267 Pass the range of the current selection as context when creating the fragment.
1269 * dom/Position.cpp: (WebCore::Position::inRenderedText): Replace range check with
1270 a call to the new containsCaretOffset function -- helps make the caret work right when
1271 it is past the end of the last line in a textarea.
1273 * editing/CompositeEditCommand.cpp:
1274 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Don't do anything if the
1275 style does not call for collapsing whitespace.
1276 (WebCore::CompositeEditCommand::rebalanceWhitespace): Call replaceWhitespaceAt
1277 to share code, including the new logic mentioned above.
1279 * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
1280 Use a text node instead of a break element when inserting and the style is preserveNewline.
1282 * editing/JSEditor.cpp: (WebCore::execRemoveFormat): Pass the selection range
1283 to createFragmentFromText.
1285 * editing/RebalanceWhitespaceCommand.cpp: (WebCore::RebalanceWhitespaceCommand::doApply):
1286 Assert that we're in a style that collapses whitespace. It's the caller's responsibility
1287 not to call otherwise.
1289 * editing/ReplaceSelectionCommand.h: Removed unused destructor, type, isSingleTextNode,
1290 isTreeFragment, m_type, and added a context parameter to inertFragmentForTestRendering.
1291 Also changed the constructor to take a selection rather than a pointer to the root
1292 editable element, replaced removeEndBRIfNeeded with shouldRemoveEndBR and removed an
1293 unused parameter from shouldMergeEnd.
1294 * editing/ReplaceSelectionCommand.cpp:
1295 (WebCore::ReplacementFragment::ReplacementFragment): Removed code to set up m_type.
1296 Compute root editable element from passed-in selection. Used the start of the selection
1297 as a base node for style purposes for the test rendering. Removed the special case
1298 "single text node" alternative to createFragmentFromText in the plain text case, since
1299 createFragmentFromText now handles that correctly.
1300 (WebCore::ReplacementFragment::insertFragmentForTestRendering): Copy the whitespace
1301 property from the source location when creating a temporary element for test rendering.
1302 (WebCore::ReplacementFragment::shouldMergeEnd): Removed unneeded boolean
1303 parameter fragmentHadInterchangeNewlineAtEnd, which is always false.
1304 (WebCore::ReplaceSelectionCommand::doApply): Update for ReplacementFragment changes,
1305 change code to not remove end BR when it can be re-used instead, don't call the
1306 paragraph separator insertion when the position is at the start of a paragraph already,
1307 removed redundant computation of identical "next" value, removed unneeded boolean
1308 parameter to shouldMergeEnd, add case for merging when all we need to do is to delete
1309 a newline character, removed unneeded code to set insertionPos after all code that uses
1310 it, and use spaces instead of non-breaking spaces when doing smart paste if the
1311 context is one where we do not collapse white space.
1312 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renamed and changed to return
1313 a boolean instead of doing the removal.
1315 * editing/markup.h: Use Vector instead of DeprecatedPtrList. Change the
1316 createFragmentFromText function to take a range for context instead of a document.
1317 * editing/markup.cpp:
1318 (WebCore::markup): Use Vector instead of DeprecatedPtrList.
1319 (WebCore::createMarkup): Ditto.
1320 (WebCore::createParagraphContentsFromString): Remove unneeded document parameter
1321 and changed a couple places to use isEmpty instead of comparing with "".
1322 (WebCore::createFragmentFromText): Given the new context parameter, if the context
1323 is one that preserves newlines, then use "\n" instead of <br> elements.
1324 (WebCore::createFragmentFromNodes): Use Vector instead of DeprecatedPtrList.
1326 * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText): Do not use <br>
1327 elements if the context of this node is one where we preserve newlines.
1329 * rendering/InlineTextBox.h:
1330 * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::containsCaretOffset):
1331 Added. Implements the appropriate rule for determining if a caret position is
1332 in this line or not. Returns true for both one line and the next in cases where
1333 affinity must be considered to determine which line the caret is on.
1335 * rendering/RenderText.h: Make atLineWrap no longer be a member function.
1336 * rendering/RenderText.cpp:
1337 (WebCore::atLineWrap): Remove special rule about preserveNewline and isLineBreak,
1338 which will no longer apply due to the new containsCaretOffset function logic.
1339 (WebCore::RenderText::caretRect): Use containsCaretOffset.
1340 (WebCore::RenderText::inlineBox): Ditto.
1342 * rendering/RenderTextControl.cpp:
1343 (WebCore::RenderTextControl::updateFromElement): Make a placeholder <br> element
1344 after calling setInnerText so that the last newline in the string has the effect
1345 we expect outside the HTML world (an additional line).
1346 (WebCore::RenderTextControl::setSelectionRange): Set granularity of the selection
1347 too. The layout tests caught this problem, which needs a better solution long term.
1348 (WebCore::RenderTextControl::text): Call textContent with the parameter false
1349 so it will not include newlines for <br> elements. Now the only <br> element
1350 that will ever be in the shadow DOM tree is the one to prevent collapsing, and
1351 that one should not show up in the text value.
1353 * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Took a rule
1354 that specifically called out the pre whitespace mode and made it work for all
1355 the modes that preserve newlines. This makes sure we get a last line box for
1356 text after the last "\n" even in cases where there is no <br> afterward.
1358 * editing/DeleteSelectionCommand.cpp:
1359 (WebCore::DeleteSelectionCommand::fixupWhitespace):
1360 * editing/InsertParagraphSeparatorCommand.cpp:
1361 (WebCore::InsertParagraphSeparatorCommand::doApply):
1362 Added assertions to make sure we don't do anything when we're not collapsing
1365 * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setDefaultValue):
1366 Changed to use Vector instead of DeprecatedPtrList.
1368 * editing/HTMLInterchange.cpp: Removed obsolete comment.
1370 * loader/Cache.h: Removed a stray include.
1372 2006-07-24 Adele Peterson <adele@apple.com>
1376 - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails
1378 Test: * editing/style/apple-style-editable-mix.html
1380 * dom/Node.cpp: (WebCore::Node::isContentRichlyEditable): Doesn't need to check the editable root. It now just
1381 checks the user modify property of its own renderer, since that is inherited.
1382 * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): If the end position is in a table,
1383 Adjust the end node to the last descendant of the table, so we don't skip over any runs.
1385 2006-07-24 Darin Adler <darin@apple.com>
1389 - implement String::createCFString
1391 * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.
1393 * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.
1395 * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
1396 and added the CFStringRef ones.
1397 * platform/mac/StringMac.mm: Added. Ditto.
1399 2006-07-24 David Hyatt <hyatt@apple.com>
1403 (1) Make sure to mark positioned objects that depend on line position to
1404 mark themselves as needing layout when their line box placeholder gets
1407 * rendering/RenderBox.cpp:
1408 (WebCore::RenderBox::position):
1410 (2) Improve highlighting to factor the inflation into overflow so that
1411 invalidation and repainting will work properly.
1413 * rendering/RootInlineBox.cpp:
1414 (WebCore::RootInlineBox::addHighlightOverflow):
1415 * rendering/RootInlineBox.h:
1416 * rendering/bidi.cpp:
1417 (WebCore::RenderBlock::layoutInlineChildren):
1419 2006-07-24 Anders Carlsson <acarlsson@apple.com>
1423 <rdar://problem/4641824> REGRESSION: Wikipedia widget fails to complete a search after pressing return key
1425 * html/HTMLInputElement.cpp:
1426 (WebCore::HTMLInputElement::defaultEventHandler):
1427 Don't eat enter events for search fields that have no enclosing form; they need to be passed to AppKit so
1428 that onsearch can be invoked.
1430 * manual-tests/onsearch-enter.html: Added.
1432 2006-07-24 Dave MacLachlan <dmaclach@mac.com>
1434 Reviewed by Darin and Alexey.
1436 Fix for: <http://bugzilla.opendarwin.org/show_bug.cgi?id=8425>
1437 and <http://bugzilla.opendarwin.org/show_bug.cgi?id=6947>
1439 Test: svg/custom/non-opaque-filters.svg
1441 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1442 (WebCore::KCanvasFilterQuartz::prepareFilter):
1443 We create an autorelease pool so we can control the deallocation of the
1444 CIContext that we're creating. The CIContext retains the CGContext that
1445 you pass it internally so when the CIContext is released, the
1446 CGContext is released as well.
1447 This is all fine and dandy unless you wrap the creation of the CIFilter
1448 with a pair of CGBegin/EndTransparencyLayer calls which swap the context
1449 out from underneath you. So if you start with context A,
1450 CGBeginTransparencyLayer swaps it out and gives you B. You create a CIFilter
1451 with it and add a reference to B. CGEndTransparencyLayer swaps out B and
1452 gives you back A. Autorelease pool comes and cleans up the Filter, and calls
1453 release on A, but A never got the refcount in the first place. B did. BOOM!
1454 So we create a pool, then do a retain, then release the pool so that we
1455 don't have to worry about the pool releasing it at a later time.
1456 See <rdar://problem/4647735> for reduction of CGEndTransparencyLayer case
1458 2006-07-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
1462 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9669
1463 Incomplete repaint when changing an inline's border
1465 Test: fast/repaint/line-overflow.html
1467 * rendering/RenderBlock.h:
1468 * rendering/bidi.cpp:
1469 (WebCore::RenderBlock::layoutInlineChildren): Added repaintTop and repaintBottom
1470 variables to track the vertical edges of the area that changed, accounting for
1471 lines that were deleted, inserted or moved. Removed unnecessary updating of
1473 (WebCore::RenderBlock::determineStartPosition): Removed unnecessary updating of
1475 (WebCore::RenderBlock::determineEndPosition):
1476 (WebCore::RenderBlock::matchedEndLine): Added repaintTop and repaintBottom
1477 arguments, which this method updates to account for deleted lines.
1478 (WebCore::RenderBlock::checkLinesForOverflow): Removed outdated FIXME.
1480 2006-07-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
1484 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10075
1485 REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages
1487 Test: fast/forms/select-visual-hebrew.html
1489 * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.
1491 2006-07-24 Alexey Proskuryakov <ap@nypop.com>
1495 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
1496 REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
1499 (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
1502 2006-07-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
1506 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10083
1507 REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing
1509 * rendering/RenderBlock.cpp:
1510 (WebCore::RenderBlock::positionForCoordinates): Added back change from the fix
1511 for bug 9312: For coordinates outside a replaced object, return the position
1512 just before (after) the element if the coordinates are above or to the left (below
1515 2006-07-23 Mark Rowe <opendarwin.org@bdash.net.nz>
1519 Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
1520 http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
1522 WebCore portion of the fix.
1524 * bridge/mac/WebCoreScriptDebugger.h:
1525 (-[WebScriptDebugger exceptionRaised:sourceId:line::]): Add delegate method.
1526 * bridge/mac/WebCoreScriptDebugger.mm:
1527 (WebCoreScriptDebuggerImp::exception): Call delegate method when an exception is raised.
1529 2006-07-23 Alice Liu <alice.liu@apple.com>
1532 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).
1534 * editing/visible_units.cpp:
1535 (WebCore::previousLinePosition):
1536 When setting selection endpoints, don't traverse down into nodes where editing would ignore its contents. Use the parent node instead.
1537 (WebCore::nextLinePosition):
1540 2006-07-23 David Harrison <harrison@apple.com>
1544 <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
1546 * Test: editing/deleting/delete-mixed-editable-content-001.html
1548 * editing/visible_units.cpp:
1549 (WebCore::startOfParagraph):
1550 Respect editable boundary the same way endOfParagraph does.
1552 2006-07-23 Beth Dakin <bdakin@apple.com>
1554 Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
1556 Fix for <rdar://problem/4529398> WebCore crashes when pasting rich
1557 text - WebCore::InlineBox::root()
1559 The initial rendering crash was due to a render object having a
1560 stale reference to an inline box that had already been deleted and
1561 then recreated in the exact same location in memory. (Crazy, I
1562 know.) The situation seemed pretty specific to list markers
1563 according to Hyatt according to Maciej, so that is what I patched
1564 specifically. Fixing this crash unearthed a separate editing crash
1565 where we were trying to insert a block into itself. I worked on
1566 that with Maciej and Harrison, and Harrison came up with a fix.
1568 * editing/CompositeEditCommand.cpp:
1569 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic
1570 node, insert the new block into the parent instead.
1571 * rendering/InlineBox.cpp:
1572 (WebCore::InlineBox::isChildOfParent): This function is for
1573 posterity. It will help keep the linebox tree in check.
1574 * rendering/InlineBox.h:
1575 * rendering/InlineFlowBox.cpp:
1576 (WebCore::InlineFlowBox::addToLine): Added assert.
1577 (WebCore::InlineFlowBox::deleteLine): Added assert.
1578 * rendering/ListMarkerBox.cpp:
1579 (WebCore::ListMarkerBox::destroy): If this has a parent, call
1580 removeChild on this.
1581 (WebCore::ListMarkerBox::operator delete):
1582 * rendering/ListMarkerBox.h:
1584 2006-07-23 Alice Liu <alice.liu@apple.com>
1588 fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point
1590 * rendering/RenderBlock.cpp:
1591 (WebCore::RenderBlock::positionForCoordinates):
1592 removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
1593 * rendering/RenderTextControl.cpp:
1594 (WebCore::RenderTextControl::nodeAtPoint):
1595 added implementation
1596 * rendering/RenderTextControl.h:
1597 added function protocol
1599 2006-07-23 Adele Peterson <adele@apple.com>
1603 Updating fix from last checkin.
1605 * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
1606 Only tell the view about this flexbox if there isn't another flexbox already cached.
1608 2006-07-23 Adele Peterson <adele@apple.com>
1612 - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling
1614 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
1616 * rendering/RenderFlexibleBox.cpp:
1617 (WebCore::RenderFlexibleBox::layoutBlock): ditto.
1618 (WebCore::RenderFlexibleBox::layoutVerticalBox): Let the view know if this flex box is doing its first pass at layout.
1620 * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): Caches a flexible box that's doing its first layout.
1621 * rendering/RenderView.h:
1622 (WebCore::RenderView::setFlexBoxInFirstLayout):
1623 (WebCore::RenderView::flexBoxInFirstLayout):
1625 2006-07-22 Alexey Proskuryakov <ap@nypop.com>
1629 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10038
1630 REGRESSION: Length of navigator.mimeTypes collection returns number of installed plugins, not number
1631 of registered mime types
1633 * bindings/js/kjs_navigator.cpp:
1634 (KJS::MimeTypes::getValueProperty): Return the length of the mime types vector, not the plugins one.
1635 (KJS::MimeTypes::getOwnPropertySlot): Fixed another typo, which prevented MimeTypes::getValueProperty()
1636 from even being called.
1638 2006-07-21 Maciej Stachowiak <mjs@apple.com>
1640 Reviewed by Adele and Tim Omernick.
1642 <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field
1644 Couldn't figure out how to make layout test, here's a manual test:
1645 * manual-tests/remove-select-onchange.html: Added.
1647 * rendering/RenderMenuList.cpp:
1648 (WebCore::RenderMenuList::showPopup): Don't add the RenderPopupMenu to the render
1649 tree so it doesn't get destroyed if we do.
1651 The remaining changes are to let the RenderPopupMenu know its menu list w/o having
1652 to be in the render tree:
1654 * rendering/RenderPopupMenu.cpp:
1655 (WebCore::RenderPopupMenu::RenderPopupMenu):
1656 * rendering/RenderPopupMenu.h:
1657 (WebCore::RenderPopupMenu::menuList):
1658 * rendering/RenderPopupMenuMac.h:
1659 * rendering/RenderPopupMenuMac.mm:
1660 (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
1661 * rendering/RenderPopupMenuWin.h:
1662 (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
1663 * rendering/RenderTheme.h:
1664 * rendering/RenderThemeMac.h:
1665 * rendering/RenderThemeMac.mm:
1666 (WebCore::RenderThemeMac::createPopupMenu):
1667 * rendering/RenderThemeWin.cpp:
1668 (WebCore::RenderThemeWin::createPopupMenu):
1669 * rendering/RenderThemeWin.h:
1671 2006-07-21 Adele Peterson <adele@apple.com>
1675 Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text
1677 Test: fast/forms/textarea-scrolled-endline-caret.html
1679 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
1680 When looking for the closest line box, take the scroll offset into account.
1682 2006-07-21 Tim Omernick <timo@apple.com>
1684 Reviewed by Geoff & Maciej.
1686 <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6
1688 Geoff is working on a layout test for this.
1690 * bridge/mac/FrameMac.mm:
1691 (WebCore::FrameMac::focusWindow):
1692 (WebCore::FrameMac::unfocusWindow):
1693 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
1694 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
1697 2006-07-21 Maciej Stachowiak <mjs@apple.com>
1701 <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value
1703 * rendering/RenderTextControl.cpp:
1704 (WebCore::RenderTextControl::updateFromElement): Clear the undo
1705 chain when the text control contents have been set
1707 * bridge/mac/FrameMac.mm:
1708 (WebCore::FrameMac::clearUndoRedoOperations): Before clearing undo
1709 stack, close all open undo groups and then open an equal number,
1710 since otherwise NSUndoManager ends up in an inconsistent state
1711 leading to uncaught ObjC exceptions.
1713 2006-07-21 Beth Dakin <bdakin@apple.com>
1717 Just moving this assertion down a couple of lines. It was hitting
1718 every time you try to print a page because we put it too early in
1721 * bridge/mac/WebCoreFrameBridge.mm:
1722 (-[WebCoreFrameBridge drawRect:]):
1724 2006-07-21 Justin Garcia <justin.garcia@apple.com>
1728 <rdar://problem/4548238>
1729 REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window
1731 * editing/CompositeEditCommand.cpp:
1732 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1733 Moved from InsertParagraphSeparator. Does its own typing style restoration.
1734 * editing/CompositeEditCommand.h:
1735 * editing/InsertParagraphSeparatorCommand.cpp:
1736 (WebCore::InsertParagraphSeparatorCommand::doApply): Call breakOutOfEmptyListItem.
1737 * editing/TypingCommand.cpp:
1738 (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyListItem if
1739 the endingSelection is at the start of an editable region.
1740 * editing/htmlediting.cpp:
1741 (WebCore::embeddedSublist): Moved from InsertParagraphSeparator.
1742 (WebCore::appendedSublist): Ditto.
1743 (WebCore::enclosingEmptyListItem): Ditto.
1744 * editing/htmlediting.h:
1746 === Safari-521.20 ===
1748 2006-07-21 Tim Omernick <timo@apple.com>
1750 Reviewed by Beth Dakin & John Sullivan.
1752 <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]
1754 Beth is in the middle of making a layout test for this; she will land it soon.
1756 * platform/mac/ScrollBarMac.mm:
1757 (ScrollBar::~ScrollBar):
1758 Call Widget::removeFromSuperview() rather than -removeFromSuperview directly on the scroll bar view.
1759 Widget::removeFromSuperview() obeys the "mustStayInWindow" flag, which is set while tracking the mouse
1760 in view-based widgets to prevent their destruction while the tracking is in progress.
1761 I searched around WebCore and this is the only Widget subclass that directly removes its view rather
1762 than using removeFromSuperview().
1764 2006-07-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
1768 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9312
1769 REGRESSION: Selection bug in new text fields when selecting past the first letter
1771 Test: editing/selection/select-from-textfield-outwards.html
1773 * editing/Selection.cpp:
1774 (WebCore::Selection::adjustForEditableContent): Added code to handle the case
1775 where the selection starts (resp. ends) in the last (resp. first) visual position
1776 inside an editable root.
1777 * editing/htmlediting.cpp:
1778 (WebCore::comparePositions): Fixed the case of comparing a position inside a shadow
1779 tree with a position in the shadow ancestor.
1780 * rendering/RenderBlock.cpp:
1781 (WebCore::RenderBlock::positionForCoordinates): For coordinates outside a replaced
1782 object, return the position just before (after) the element if the coordinates are above or
1783 to the left (below or to the right).
1784 * rendering/RenderObject.cpp:
1785 (WebCore::RenderObject::caretMaxOffset): Changed to return 1 for replaced objects.
1786 * rendering/RenderText.cpp:
1787 (WebCore::RenderText::positionForCoordinates): Changed to return the last position
1788 in the lowest text box if the y coordinate is below all text boxes.
1790 2006-07-21 Geoffrey Garen <ggaren@apple.com>
1794 - Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on
1795 HousingMaps.com (Google Maps-based site)
1797 - Made style.filter undetectable, like document.all.
1799 Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
1800 which conflicts with IE's custom CSS attribute by the same name. Web programs
1801 like the Google maps API test for style.filter, and assume it's the IE
1802 style.filter if they find it, so we need to make style.filter undetectable
1803 to avoid breaking them.
1805 An alternative solution would be to hotwire a delorean, go back in time,
1806 and beg the web standards makers to make standards that work on the web.
1808 * bindings/js/kjs_css.cpp:
1809 (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
1811 2006-07-20 Justin Garcia <justin.garcia@apple.com>
1815 <rdar://problem/4641033>
1816 REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content
1818 * editing/markup.cpp:
1819 (WebCore::createMarkup): We surround the currently accumulated markup with markup
1820 for ancestors of the startNode when the pre-order traversal leaves the trees rooted
1821 at those ancestors. We assumed that any ancestors of the current node not in the
1822 ancestorsToClose list were those kind of ancestors. But we don't add renderer-less
1823 containers to the ancestorsToClose list. So, we were incorrectly surrounding the
1824 currently accumulated markup with markup for render-less containers. Most of the
1825 content at apple.com was being put inside an <optgroup> inside a <select> element.
1826 Then on Paste createContextualFragment would drop it.
1828 2006-07-21 Anders Carlsson <acarlsson@apple.com>
1833 (WebCore::Document::):
1834 * dom/EventTargetNode.cpp:
1835 (WebCore::EventTargetNode::addEventListener):
1836 * page/FrameView.cpp:
1837 (WebCore::FrameView::layout):
1838 * rendering/RenderLayer.cpp:
1839 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1840 Only dispatch overflowchanged events if overflowchanged event listeners have been registered on the document.
1842 2006-07-20 Anders Carlsson <acarlsson@apple.com>
1846 <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails
1848 * xml/XSLTProcessor.cpp:
1849 (WebCore::xsltParamArrayFromParameterMap):
1850 Turns out parameters never worked. String parameters need to be escaped so we create a transform context,
1851 add the parameters to it quoted and then use xsltApplyStylesheetUser which lets us pass the transform context to it.
1852 This also works around a bug in libxslt where a hash table isn't allocated.
1854 2006-07-20 Alice Liu <alice.liu@apple.com>
1856 Reviewed by Tim Omernick.
1858 Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
1859 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.
1861 * manual-tests/remove-input-file-onchange.html: Added.
1862 * platform/mac/FileButtonMac.mm:
1863 (-[WebFileChooserButton chooseFilename:]):
1864 swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget
1866 2006-07-20 Alice Liu <alice.liu@apple.com>
1870 Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
1871 added a manual test because of the need to use AutoFill.
1874 (WebCore::Node::aboutToUnload):
1875 added virtual function prototype
1876 * html/HTMLInputElement.cpp:
1877 (WebCore::HTMLInputElement::aboutToUnload):
1878 added implementation that sends textFieldDidEndEditing notification
1879 * html/HTMLInputElement.h:
1880 added virtual function prototype
1881 * manual-tests/input-type-file-autocomplete-frame-1.html: Added.
1882 * manual-tests/input-type-file-autocomplete-frame-2.html: Added.
1883 * manual-tests/input-type-file-autocomplete-refresh.html: Added.
1885 (WebCore::Frame::stopLoading):
1886 before unloading, call aboutToUnload on the current focused node
1888 2006-07-20 Brady Eidson <beidson@apple.com>
1892 fixed <rdar://problem/4611303> REGRESSION: repro crash in WebCore::EventTargetNode::dispatchWindowEvent at aeropostale.com
1893 There was an attempt to deref an EventListener that got cleaned up in GC. Changing Document's EventListener list from
1894 vanilla ptrs to refptrs to prevent GC, following EventTargetNode's proven example.
1897 (WebCore::Document::Document):
1898 (WebCore::Document::clear):
1899 (WebCore::Document::handleWindowEvent):
1900 (WebCore::Document::getHTMLWindowEventListener):
1901 (WebCore::Document::removeHTMLWindowEventListener):
1902 (WebCore::Document::removeWindowEventListener):
1903 (WebCore::Document::hasWindowEventListener):
1904 Changed all of the list iterators to work with RefPtrs instead of vanilla ptrs
1907 Changed the EventListener list to be a vanilla pointer list to a refptr list
1909 2006-07-20 John Sullivan <sullivan@apple.com>
1913 - WebCore part of fix for:
1914 <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving
1915 closing tabs after clicking in a web page
1917 * bridge/mac/WebCoreFrameBridge.h:
1918 (-[WebCoreFrameBridge textViewWasFirstResponderAtMouseDownTime:])
1919 renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
1920 * bridge/mac/FrameMac.mm:
1921 (WebCore::FrameMac::passMouseDownEventToWidget):
1922 updated for name change
1924 2006-07-19 Alexey Proskuryakov <ap@nypop.com>
1928 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8272
1929 Use of window.open & window.close can cause crash
1931 * platform/PlatformMouseEvent.h:
1932 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1933 * platform/mac/PlatformMouseEventMac.mm:
1934 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1935 The default constructor now creates a "zero" event, and a new one was added to create the "current" one.
1937 * bridge/mac/FrameMac.mm:
1938 (WebCore::FrameMac::handleMouseMoveEvent):
1939 * rendering/RenderFormElement.cpp:
1940 (WebCore::RenderFormElement::clicked):
1941 Updated for the above changes.
1943 * platform/gdk/MouseEventGdk.cpp:
1944 * platform/gdk/TemporaryLinkStubs.cpp:
1945 (PlatformMouseEvent::PlatformMouseEvent):
1946 * platform/win/MouseEventWin.cpp:
1947 * platform/win/TemporaryLinkStubs.cpp:
1948 (PlatformMouseEvent::PlatformMouseEvent):
1949 Trying not to break other platforms.
1951 * manual-tests/invalid-mouse-event.html: Added.
1953 2006-07-20 Maciej Stachowiak <mjs@apple.com>
1957 - delete line that I only commented in the last patch - meant to do this before landing
1959 * html/HTMLFrameElement.cpp:
1960 (WebCore::HTMLFrameElement::close):
1962 2006-07-19 Maciej Stachowiak <mjs@apple.com>
1966 - fixed <rdar://problem/4634484> REGRESSION: Project Change Request form should have vertical scroll bar, but doesn't
1968 I couldn't figure out how to make an automated test case for this,
1969 or even a manual one. It seems to be timing-related in some way.
1971 * html/HTMLFrameElement.cpp:
1972 (WebCore::HTMLFrameElement::close): detach the child frame from
1973 its element, not the frame containing this element.
1975 2006-07-20 Anders Carlsson <acarlsson@apple.com>
1979 * bridge/mac/FrameMac.mm:
1980 (WebCore::FrameMac::nextKeyViewInFrame):
1981 Hold a ref to the node in case it gets destroyed by an event handler.
1983 2006-07-19 Mark Rowe <opendarwin.org@bdash.net.nz>
1987 http://bugzilla.opendarwin.org/show_bug.cgi?id=10021
1988 Bug 10021: REGRESSION: Stack overflow due to infinite recursion in
1989 Image::checkForSolidColor
1991 * platform/Image.cpp:
1992 (WebCore::Image::cacheFrame): Don't call checkForSolidColor unless
1993 the frame was decoded successfully.
1995 2006-07-19 Adele Peterson <adele@apple.com>
2000 <rdar://problem/4422657> REGRESSION: member name field or password field should have focus after loading webmail.mac.com (7405)
2001 http://bugzilla.opendarwin.org/show_bug.cgi?id=7405
2003 <rdar://problem/4614181> REGRESSION: Crash in WebCore::RenderTextField::text() when quoting post at the Ars Technica forum (9707)
2004 http://bugzilla.opendarwin.org/show_bug.cgi?id=9707
2006 Needs an http test. (http://bugzilla.opendarwin.org/show_bug.cgi?id=10020)
2008 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.
2009 Now, we detect this case and let setFocusNode be called. And when the stylesheet finishes loading, and the element attaches, a timer will fire,
2010 which will cause the correct selection & scrolling behavior to occur.
2012 This fix removes selection and scrolling behavior from the focus method. This code is now in a new method, updateFocusAppearance.
2013 updateFocusAppearance can now be called directly from focus(), but it can also be called when a timer fires. This timer gets set
2014 up when an element attaches, and its already been focused by the focus method. We have to use a timer, because updateFocusAppearance can cause
2015 a layout to happen, and we don't want that to happen in the middle of attach().
2017 * bindings/objc/DOM.mm: (-[DOMElement isFocused]): Added SPI for autofill.
2018 * bindings/objc/DOMPrivate.h:
2021 (WebCore::Element::Element): Initializes timer and needFocusAppearanceUpdate bool.
2022 (WebCore::Element::attach): Checks needsFocusAppearanceUpdate, and if the node is focused, then starts the timer.
2023 (WebCore::Element::focus): Updated to check supportsFocus before calling setFocusNode,
2024 and only requiring the element to be focusable now before updating focus appearance.
2025 (WebCore::Element::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
2026 (WebCore::Element::updateFocusAppearanceTimerFired): Stops the timer, and if the element is focusable, calls updateFocusAppearance.
2027 (WebCore::Element::stopUpdateFocusAppearanceTimer): Cancels timer, and setsNeedsFocusAppearanceUpdate(false).
2028 (WebCore::Element::detach): Calls stopUpdateFocusAppearanceTimer.
2029 (WebCore::Element::blur): ditto.
2031 (WebCore::Element::needsFocusAppearanceUpdate): Added so the timer only fires when focus() methods have caused an element to be focused.
2032 (WebCore::Element::setNeedsFocusAppearanceUpdate): Added so focus methods can set this flag.
2034 * dom/Node.h: (WebCore::Node::supportsFocus): Added. Base class just calls isFocusable.
2035 * html/HTMLAnchorElement.h: Added supportsFocus.
2036 * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::supportsFocus): Added. Checks for the case where stylesheets haven't loaded yet,
2037 so we can still focus the node without a renderer, and when it gets a renderer, we'll update the focus appearance.
2038 * html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::supportsFocus): ditto.
2039 * html/HTMLGenericFormElement.cpp: Removed include of Document.h since this is now in the header.
2041 * html/HTMLInputElement.cpp:
2042 (WebCore::HTMLInputElement::focus): Updated to check supportsFocus before calling setFocusNode,
2043 and only requiring the element to be focusable now before updating focus appearance.
2044 (WebCore::HTMLInputElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
2045 * html/HTMLInputElement.h:
2047 * html/HTMLTextAreaElement.cpp:
2048 (WebCore::HTMLTextAreaElement::focus): Updated to check supportsFocus before calling setFocusNode,
2049 and only requiring the element to be focusable now before updating focus appearance.
2050 (WebCore::HTMLTextAreaElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
2051 * html/HTMLTextAreaElement.h:
2053 2006-07-19 Justin Garcia <justin.garcia@apple.com>
2057 <rdar://problem/4631972>
2058 REGRESSION: Mail crashes when pasting entire contents of http://www.apple.com/support/ into a new mail message
2061 (WebCore::Position::upstream): Deployed isBlock and enclosingBlock.
2062 (WebCore::Position::downstream): Ditto.
2063 * editing/CompositeEditCommand.cpp:
2064 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Ditto.
2065 * editing/htmlediting.cpp:
2066 (WebCore::canHaveChildrenForEditing): Added !iframe.
2067 (WebCore::isBlock): Added, returns !node->renderer()->isInline()
2068 (WebCore::enclosingBlock): Added.
2069 * editing/htmlediting.h:
2071 2006-07-19 Anders Carlsson <acarlsson@apple.com>
2075 <rdar://problem/4631272> REGRESSION: Crash tabbing out of hostname field at autorestore.apple.com
2077 * bridge/mac/FrameMac.mm:
2078 (WebCore::FrameMac::nextKeyViewInFrame):
2079 Take into account that focus handlers can cause a node's renderer to be destroyed.
2081 2006-07-19 David Hyatt <hyatt@apple.com>
2083 Fix for 4638376. The 1x1 solid color image optimization was broken when
2084 I re-architected image. This patch restores the optimization for CG. Cairo
2085 will still need the optimization.
2089 WARNING: NO TEST CASES ADDED OR CHANGED (need test cases still)
2091 * platform/Image.cpp:
2092 (WebCore::Image::Image):
2093 (WebCore::Image::invalidateData):
2094 (WebCore::Image::cacheFrame):
2096 (WebCore::Image::setIsPDF):
2097 * platform/cairo/ImageCairo.cpp:
2098 (WebCore::Image::checkForSolidColor):
2099 * platform/mac/ImageMac.mm:
2100 (WebCore::Image::initNativeData):
2101 (WebCore::Image::invalidateNativeData):
2102 (WebCore::Image::checkForSolidColor):
2103 (WebCore::Image::draw):
2104 (WebCore::Image::drawTiled):
2106 2006-07-19 Justin Garcia <justin.garcia@apple.com>
2110 <rdar://problem/4613519>
2111 REGRESSION: Pasting text in native text area inserts text one character before it should (9527)
2113 * editing/InsertParagraphSeparatorCommand.cpp:
2114 (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreakCommand instead of bailing
2115 if the enclosingBlockFlowElement doesn't have a parent.
2117 2006-07-19 David Harrison <harrison@apple.com>
2119 Reviewed by Tim Hatcher.
2121 <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
2122 <rdar://problem/4062218> pasting in contents of web.apple.com strips off the <table> element from the first table
2124 Better patch than previous checkin.
2126 * test: editing/pasteboard/paste-table-003.html
2128 * editing/markup.cpp:
2129 (WebCore::createMarkup):
2130 Make sure to include the table when including a tbody.
2132 === Safari-521.19 ===
2134 2006-07-19 David Harrison <harrison@apple.com>
2136 Reviewed by Tim Hatcher.
2138 <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
2140 No test case as this can only be reproduced through ObjC APIs.
2142 * editing/markup.cpp:
2143 (WebCore::createMarkup):
2144 Adjust the range for ancestor markup handling when main loop skips first node.
2146 2006-07-18 David Hyatt <hyatt@apple.com>
2148 Fix for radar 4611287, make resizable text fields opt-in rather than
2149 opt-out. Open source users will need to write the pref into their defaults
2150 to see the resizers on textareas now.
2152 Reviewed by mjs and adele
2154 * WebCore.xcodeproj/project.pbxproj:
2155 * bridge/mac/WebCoreSettings.mm:
2156 (-[WebCoreSettings setTextAreasAreResizable:]):
2157 * css/cssparser.cpp:
2158 (WebCore::CSSParser::parseValue):
2159 * css/cssstyleselector.cpp:
2160 (WebCore::CSSStyleSelector::applyProperty):
2163 2006-07-18 Anders Carlsson <acarlsson@apple.com>
2167 http://bugzilla.opendarwin.org/show_bug.cgi?id=9959
2168 REGRESSION: iframes stop rendering after 200th one on successive reloads
2170 * html/HTMLFrameElement.cpp:
2171 (WebCore::HTMLFrameElement::attach):
2172 (WebCore::HTMLFrameElement::close):
2173 * html/HTMLIFrameElement.cpp:
2174 (WebCore::HTMLIFrameElement::insertedIntoDocument):
2175 (WebCore::HTMLIFrameElement::willRemove):
2176 Remove calls to incrementFrameCount and decrementFrameCount.
2179 (WebCore::Frame::Frame):
2180 Call incrementFrameCount here.
2182 (WebCore::Frame::~Frame):
2183 Call disconnectOwnerElement.
2185 (WebCore::Frame::disconnectOwnerElement):
2186 Call decrementFrameCount here.
2188 2006-07-18 Alexey Proskuryakov <ap@nypop.com>
2192 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9013
2193 Let correct CSS custom cursor declarations parse
2195 * css/cssparser.cpp:
2196 (WebCore::CSSParser::parseValue): Ignore any values following a custom CSS cursor URI, instead of
2197 requiring that it is the only one in the list (which is actually illegal, according to the spec).
2198 This is only a temporary hack, with a real implementation to follow in bug 6001/6002.
2200 * manual-tests/custom-cursors.html: Added a test for this issue.
2201 * manual-tests/resources/helpCursor.tiff: A cursor image used in the test.
2203 2006-07-18 Timothy Hatcher <timothy@apple.com>
2207 <rdar://problem/4636216> NetNewsWire fails to launch on 9A224 - missing symbols
2209 WebCore needs to add -sub_library libobjc to maintain
2210 backwards compatibility with binaries linked with WebKit
2211 before JavaScriptCore moved out of WebKit.
2213 * WebCore.xcodeproj/project.pbxproj:
2215 2006-07-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
2219 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9978
2220 REGRESSION (r12949-r12988): Clicking the first letter on a line places the caret at the end of the previous line
2222 Test: editing/selection/click-start-of-line.html
2224 * rendering/RenderText.cpp:
2225 (WebCore::RenderText::positionForCoordinates): Changed to return downstream
2226 affinity if the x coordinate is to the left of the middle of the first character
2229 2006-07-18 Anders Carlsson <acarlsson@apple.com>
2233 http://bugzilla.opendarwin.org/show_bug.cgi?id=9695
2234 <rdar://problem/4614085>
2235 TOT REGRESSION: NativeTextArea: Text area does not respond to Cmd-UpArrow/Cmd-DownArrow (9695)
2237 * editing/SelectionController.cpp:
2238 (WebCore::SelectionController::modifyExtendingRightForward):
2239 (WebCore::SelectionController::modifyMovingRightForward):
2240 (WebCore::SelectionController::modifyExtendingLeftBackward):
2241 (WebCore::SelectionController::modifyMovingLeftBackward):
2242 If the caret is inside an editable region, the beginning/end of the document should actually be the
2243 beginning/end of the editable region.
2245 2006-07-17 Tim Omernick <timo@apple.com>
2249 <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
2252 * bridge/mac/WebCoreFrameBridge.h:
2253 * bridge/mac/WebCoreFrameBridge.mm:
2254 (-[WebCoreFrameBridge setProhibitsScrolling:]):
2256 (WebCore::Frame::prohibitsScrolling):
2257 (WebCore::Frame::setProhibitsScrolling):
2259 * page/FramePrivate.h:
2260 (WebCore::FramePrivate::FramePrivate):
2261 * page/FrameView.cpp:
2262 (WebCore::FrameView::scrollPointRecursively):
2263 (WebCore::FrameView::setContentsPos):
2265 * platform/ScrollView.h:
2267 2006-07-17 Maciej Stachowiak <mjs@apple.com>
2269 Reviewed by Dave Harrison.
2271 - fixed <rdar://problem/4618089> Blot crashes when I paste in all the contents of http://www.apple.com/startpage/
2273 * editing/htmlediting.cpp:
2274 (WebCore::editingIgnoresContent):
2276 2006-07-17 Justin Garcia <justin.garcia@apple.com>
2280 <rdar://problem/4621728>
2281 REGRESSION: Selecting by dragging down creates selection in wrong direction, with certain steps
2282 <rdar://problem/4604932>
2283 REGRESSION: Dragging too far left on a line will select all lines above it.
2285 No layout test because of 9980.
2287 * rendering/RenderBlock.cpp:
2288 (WebCore::RenderBlock::positionForCoordinates): Don't return positions inside editable roots
2289 for coordinates outside those roots, except for coordinates outside a document that is entirely
2292 2006-07-17 Timothy Hatcher <timothy@apple.com>
2296 <rdar://problem/4635281> JSCanvasRenderingContext2D::drawImage needs to initialize the exception code to zero
2298 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2299 (WebCore::JSCanvasRenderingContext2D::drawImage): initialize ec to zero
2300 * html/CanvasRenderingContext2D.cpp:
2301 (WebCore::CanvasRenderingContext2D::drawImage): initialize ec before earlier return
2303 2006-07-17 Timothy Hatcher <timothy@apple.com>
2307 <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
2309 Moves WebScriptObject and WebUndefined to WebCore.
2312 * WebCore.xcodeproj/project.pbxproj:
2313 * bindings/objc/DOM.mm:
2314 * bindings/objc/DOMCore.h:
2315 * bindings/objc/DOMInternal.mm:
2316 * bindings/objc/DOMUtility.mm:
2317 * bindings/objc/WebScriptObject.mm: Added.
2318 (+[WebUndefined allocWithZone:]):
2319 (-[WebUndefined initWithCoder:]):
2320 (-[WebUndefined encodeWithCoder:]):
2321 (-[WebUndefined copyWithZone:]):
2322 * bindings/objc/WebScriptObjectPrivate.h: Added.
2323 * bridge/mac/FrameMac.mm:
2324 * bridge/mac/WebCoreScriptDebugger.mm:
2326 2006-07-17 David Hyatt <hyatt@apple.com>
2328 Back out the fix for 5564, since it turns out font:x-small; is a pretty
2329 prominent IE-specific CSS hack. Because Web sites rely on IE's incorrect
2330 font parsing as a means of also correcting IE's incorrect font size rules.
2332 This fixes Yahoo.com.
2336 * css/cssparser.cpp:
2337 (WebCore::CSSParser::parseFont):
2339 2006-07-17 Justin Garcia <justin.garcia@apple.com>
2343 <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
2346 (WebCore::Document::updateSelection):
2348 2006-07-17 Maciej Stachowiak <mjs@apple.com>
2352 <rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard
2354 * html/HTMLInputElement.cpp:
2355 (WebCore::HTMLInputElement::setChecked):
2356 (WebCore::HTMLInputElement::preDispatchEventHandler):
2357 * html/HTMLInputElement.h:
2359 2006-07-16 David Kilzer <ddkilzer@kilzer.net>
2363 - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9954
2364 REGRESSION: document.dir should return empty string in <head>
2366 Test: fast/dom/document-dir-property.html
2368 * bindings/js/kjs_html.cpp:
2369 (KJS::JSHTMLDocument::getValueProperty): Return an empty string instead of an
2370 undefined value for an unset document.dir property.
2372 2006-07-16 David Kilzer <ddkilzer@kilzer.net>
2376 * dom/NodeFilter.idl:
2377 Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
2378 * manual-tests/input-empty-on-focus.html:
2379 Removed "Property changes" that snuck in as part of the "apply patch" process.
2381 2006-07-16 Darin Adler <darin@apple.com>
2383 Reviewed by John Sullivan.
2385 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9943
2386 <rdar://problem/4590613>
2387 REGRESSION (Tiger-TOT): menus are offset to the right at http://movies.aol.com/movie-photo-bts/superman-returns
2389 The problem turns out to be the fact that body.offsetLeft is returning a non-zero value.
2390 I have no idea why the menus worked in Tiger Safari, because body.offsetLeft behavior has not changed.
2391 Presumably some other bug that we fixed had been compensating.
2393 Test: fast/html/body-offset-properties.html
2395 * rendering/RenderObject.cpp:
2396 (WebCore::RenderObject::offsetLeft): Always return 0 for any object without an offsetParent.
2397 (WebCore::RenderObject::offsetTop): Ditto.
2398 (WebCore::RenderObject::offsetParent): Return 0 for the body (treat as a special case).
2400 2006-07-16 Beth Dakin <bdakin@apple.com>
2404 Fix for <rdar://problem/4616595> REGRESSION: Problems with world
2405 clock widget clock hand motion on 9A211 + 4604574
2407 The second hand on the widget was jiggling because the rotation was
2408 messing up the use of the affine transformation matrix while
2409 rounding to pixel boundaries in device space. We are mainly
2410 concerned with rounding to pixel boundaries with the scale in mind,
2411 so this patch extracts the scale to device space from the matrix,
2412 and rounds to pixel boundaries using only the scale. This doesn't
2413 seem like it is a perfect solution, but it definitely solves the
2414 immediate problem. We will probably need to re-address what should
2415 happen to avoid pixel cracks with rotations at non-integral scale
2418 * platform/cg/GraphicsContextCG.cpp:
2419 (WebCore::GraphicsContext::roundToDevicePixels):
2421 2006-07-15 Darin Adler <darin@apple.com>
2423 - fix mistake from fix for 8952 that was breaking layout tests
2425 * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
2426 Justin was right! I changed the behavior of the function by accident. Changed it
2427 back so that it doesn't blow away the selection on the DOM side in the case where
2430 I will write 100 times on the blackboard: "When Justin says something about editing,
2431 assume he is right."
2433 2006-07-15 Darin Adler <darin@apple.com>
2435 - try to fix Windows build
2437 * WebCore.vcproj/WebCore/WebCore.vcproj: Added StreamingTextDecoderICU.cpp/h.
2439 2006-07-15 Darin Adler <darin@apple.com>
2441 Reviewed by John Sullivan.
2443 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8952
2444 <rdar://problem/4575185>
2445 REGRESSION: crash on drag of highlighted Google custom home page modules
2447 Test: fast/dynamic/move-node-with-selection.html
2449 * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
2450 Call updateRendering before calling clearSelection(), since it's important to do any
2451 work beforehand, and there are calls inside clearSelection that will indirectly do an
2452 updateRendering. Also change code to make fewer assumptions about object lifetime.
2454 2006-07-15 Darin Adler <darin@apple.com>
2456 Reviewed by John Sullivan.
2458 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8587
2459 <rdar://problem/4631844>
2460 REGRESSION: {display:list-item} on items outside an ol or ul element no longer causes incremental numbering
2462 Test: fast/lists/numeric-markers-outside-list.html
2464 * rendering/RenderListItem.cpp: (WebCore::previousListItem):
2465 Look for list items, even when we're outside any list.
2467 2006-07-15 Adele Peterson <adele@apple.com>
2471 - Fix for <rdar://problem/4593970> REGRESSION (NativeTextField): autofill menu disappears after typing a 2nd character
2473 This was caused by composite editing commands, (like typing or pasting) that include a DeleteCommand, being
2474 interpreted by the form delegate as an actual delete. This fix doesn't notify the form delegate if the deletion is
2475 part of an editing command to replace the selected text.
2477 * editing/DeleteSelectionCommand.h: Added m_replace to keep track of whether this deletion is
2478 part of a composite command to replace the text being deleted.
2479 * editing/DeleteSelectionCommand.cpp:
2480 (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize m_replace.
2481 (WebCore::DeleteSelectionCommand::doApply): Only notify the form delegate of the deletion if the text is not being replaced.
2482 * editing/CompositeEditCommand.h:
2483 * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteSelection):
2484 Added replace argument to construct DeleteSelectionCommand.
2486 * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Call deleteSelection with replace argument.
2487 * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): ditto.
2489 2006-07-15 Geoffrey Garen <ggaren@apple.com>
2491 Reviewed by Maciej, tweaked to match Darin's patch.
2493 - Fixed <rdar://problem/4631837> REGRESSION: Reproducible crash on
2494 FCKeditor demo (9911)
2496 * WebCore.xcodeproj/project.pbxproj:
2497 * bindings/js/kjs_html.cpp:
2498 (KJS::JSHTMLDocument::putValueProperty): Check for a null body element before
2499 forwarding the put request to it. I confirmed that no other parts of the
2500 file use 'body' or 'bodyElement' without checking for null.
2502 Also, use 'body' rather than 'bodyElement' because dir can bet set on
2503 any element, not just HTMLBodyElement.
2505 2006-07-15 Darin Adler <darin@apple.com>
2509 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8871
2510 <rdar://problem/4575417>
2511 REGRESSION: Pressing Enter/Return in a text input removes the selected text
2513 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9743
2514 <rdar://problem/4614228>
2515 REGRESSION: crash dispatching JavaScript-created keyboard event to input element
2517 * bridge/mac/FrameMac.mm: (WebCore::FrameMac::doTextFieldCommandFromEvent):
2518 Add a null check to fix the crash, and a FIXME explaining why this is not necessarily
2519 enough for the future.
2521 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
2522 Consume Enter key keypress events even if the element is not in a form.
2524 * platform/mac/KeyEventMac.mm: (WebCore::keyIdentifierForKeyEvent): Added \n to the
2525 characters that turn into "Enter". Actual keyboard events always are \r or \003 on
2526 the Macintosh, but in layout tests we can use \n, and everything other than the
2527 code path here works, so worth fixing.
2529 2006-07-15 Darin Adler <darin@apple.com>
2531 Reviewed by John Sullivan.
2533 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9883
2534 <rdar://problem/4631821>
2535 REGRESSION: NativePopups don't work correctly in some forum software
2537 Test: fast/forms/select-selected.html
2539 * rendering/RenderMenuList.h:
2540 * rendering/RenderMenuList.cpp:
2541 (WebCore::RenderMenuList::updateFromElement): Added code to map the selected option
2542 index to a list index before using it to index into the list.
2543 (WebCore::RenderMenuList::showPopup): Added code to map the selection option index
2544 to a list index before passing it to the menu renderer.
2545 (WebCore::RenderMenuList::valueChanged): Added code to map the list index back to a
2546 option index before calling setSelectedIndex (that function takes an option index).
2548 2006-07-15 Darin Adler <darin@apple.com>
2550 Reviewed by John Sullivan.
2552 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
2553 REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
2555 * bindings/objc/DOM.mm:
2556 (-[DOMNode addEventListener:::]): Moved into DOMEventTarget category.
2557 (-[DOMNode removeEventListener:::]): Ditto.
2558 (-[DOMNode dispatchEvent:]): Ditto.
2560 * WebCore.xcodeproj/project.pbxproj: Allow Xcode to do its thing.
2562 2006-07-15 Maciej Stachowiak <mjs@apple.com>
2566 <rdar://problem/4632144> REGRESSION: table column tests failing as a result of very recent fix
2568 * rendering/RenderTable.cpp:
2569 (WebCore::RenderTable::addChild): columns and colgroups are valid children of a table too, not
2570 just table sections!
2572 2006-07-15 Anders Carlsson <acarlsson@apple.com>
2576 http://bugzilla.opendarwin.org/show_bug.cgi?id=9866
2577 <rdar://problem/4631561>
2578 REGRESSION: Repro crash from mangleme using iframe, only from server.
2580 * html/HTMLIFrameElement.cpp:
2581 (WebCore::HTMLIFrameElement::attach):
2582 Add null check for contentFrame() since content frames won't be created for invalid URLs.
2584 2006-07-14 Alexey Proskuryakov <ap@nypop.com>
2588 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4195
2589 REGRESSION: KOI8-U encoding no longer supported.
2592 * http/tests/misc/BOM-override.pl
2593 * http/tests/misc/BOM-override-script.html
2594 * fast/encoding/charset-koi8-u.html
2595 * fast/encoding/charset-x-nextstep.html
2597 Restored a TEC code path for encodings that are not supported by ICU (but which currently
2598 passes all layout tests even by itself with ICU disabled). A lot of refactoring is
2599 still needed - most importantly, round-tripping encoding names via CFStringEncoding
2600 makes little sense now.
2603 * bridge/mac/WebCoreTextDecoder.h: Removed.
2604 * bridge/mac/WebCoreTextDecoder.mm: Removed.
2605 WebCoreTextDecoder was not used anywhere since WebTextView was moved into WebCore.
2607 * loader/Decoder.cpp:
2609 (Decoder::setEncodingName):
2611 Use StreamingTextDecoder::create().
2613 * platform/StreamingTextDecoder.cpp:
2614 (WebCore::StreamingTextDecoder::create):
2615 (WebCore::StreamingTextDecoder::~StreamingTextDecoder):
2616 * platform/StreamingTextDecoder.h:
2617 StreamingTextDecoder is just an abstract interface to implementations now.
2619 * platform/StreamingTextDecoderICU.cpp: Added.
2620 (WebCore::StreamingTextDecoderICU::StreamingTextDecoderICU):
2621 (WebCore::StreamingTextDecoderICU::~StreamingTextDecoderICU):
2622 (WebCore::StreamingTextDecoderICU::releaseICUConverter):
2623 (WebCore::StreamingTextDecoderICU::textEncodingSupported):
2624 (WebCore::StreamingTextDecoderICU::convertUTF16):
2625 (WebCore::StreamingTextDecoderICU::convertIfASCII):
2626 (WebCore::StreamingTextDecoderICU::createICUConverter):
2627 (WebCore::StreamingTextDecoderICU::appendOmittingBOM):
2628 (WebCore::StreamingTextDecoderICU::convertUsingICU):
2629 (WebCore::StreamingTextDecoderICU::convert):
2630 (WebCore::StreamingTextDecoderICU::toUnicode):
2631 (WebCore::StreamingTextDecoderICU::fromUnicode):
2632 * platform/StreamingTextDecoderICU.h: Added.
2633 Renamed from StreamingTextDecoder; added a way to tell whether the encoding is actually
2634 supported by the decoder; minor cleanup.
2636 * platform/TextEncoding.cpp:
2637 (WebCore::TextEncoding::effectiveEncoding): Moved from StreamingTextDecoder.
2638 (WebCore::TextEncoding::toUnicode): Use StreamingTextDecoder::create().
2639 (WebCore::TextEncoding::fromUnicode): Moved to StreamingTextDecoderICU.
2641 * platform/TextEncoding.h: Changed __APPLE__ to PLATFORM(MAC); added effectiveEncoding().
2643 * platform/mac/StreamingTextDecoderMac.cpp: Added.
2644 (WebCore::StreamingTextDecoderMac::StreamingTextDecoderMac):
2645 (WebCore::StreamingTextDecoderMac::~StreamingTextDecoderMac):
2646 (WebCore::StreamingTextDecoderMac::releaseTECConverter):
2647 (WebCore::StreamingTextDecoderMac::textEncodingSupported):
2648 (WebCore::StreamingTextDecoderMac::convertUTF16):
2649 (WebCore::StreamingTextDecoderMac::convertIfASCII):
2650 (WebCore::StreamingTextDecoderMac::createTECConverter):
2651 (WebCore::StreamingTextDecoderMac::appendOmittingBOM):
2652 (WebCore::StreamingTextDecoderMac::convertOneChunkUsingTEC):
2653 (WebCore::StreamingTextDecoderMac::convertUsingTEC):
2654 (WebCore::StreamingTextDecoderMac::convert):
2655 (WebCore::StreamingTextDecoderMac::toUnicode):
2656 (WebCore::StreamingTextDecoderMac::fromUnicode):
2657 * platform/mac/StreamingTextDecoderMac.h: Added.
2658 (WebCore::StreamingTextDecoderMac::convert):
2659 This is a TEC+CFString code path for decoding, basically restored from a year-old revision.
2661 * platform/mac/TextEncodingMac.cpp: Removed. Code moved to StreamingTextDecoderMac.
2663 * WebCore.xcodeproj/project.pbxproj:
2665 === Safari-521.17 ===
2667 2006-07-14 Timothy Hatcher <timothy@apple.com>
2669 <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
2671 Made a DOMNode category in DOMEvents.h that lets DOMNode conform to the
2672 DOMEventTarget protocol that works with GCC 5412.
2674 Removed forward declarations of WebCoreWidgetHolder and imported WebCoreWidgetHolder.h.
2676 Removed all <Cocoa/Cocoa.h> and <Foundation/Foundation.h> imports in other headers,
2677 we import <Cocoa/Cocoa.h> in the prefix header for ObjC.
2679 * WebCore.xcodeproj/project.pbxproj:
2680 * bindings/objc/DOMCore.h:
2681 * bindings/objc/DOMEvents.h:
2682 * bridge/mac/FormDataMac.h:
2683 * bridge/mac/WebCoreAXObject.h:
2684 * bridge/mac/WebCoreCache.h:
2685 * bridge/mac/WebCoreEncodings.h:
2686 * bridge/mac/WebCoreFrameBridge.h:
2687 * bridge/mac/WebCoreFrameNamespaces.h:
2688 * bridge/mac/WebCoreJavaScript.h:
2689 * bridge/mac/WebCorePageBridge.h:
2690 * bridge/mac/WebCorePageState.h:
2691 * bridge/mac/WebCoreResourceLoader.h:
2692 * bridge/mac/WebCoreScriptDebugger.h:
2693 * bridge/mac/WebCoreSettings.h:
2694 * bridge/mac/WebCoreStringTruncator.h:
2695 * bridge/mac/WebCoreStringTruncator.mm:
2696 * bridge/mac/WebCoreTextDecoder.h:
2697 * bridge/mac/WebDashboardRegion.h:
2698 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2699 * platform/mac/CookieJar.mm:
2700 * platform/mac/DeprecatedStringMac.mm:
2701 * platform/mac/FontDataMac.mm:
2702 * platform/mac/FoundationExtras.h:
2703 * platform/mac/TextBoundaries.mm:
2704 * platform/mac/WebCoreHistory.h:
2705 * platform/mac/WebCoreHistory.m:
2706 * platform/mac/WebCoreKeyGenerator.h:
2707 * platform/mac/WebCoreTextArea.h:
2708 * platform/mac/WebCoreTextField.h:
2709 * platform/mac/WebCoreTextRenderer.h:
2710 * platform/mac/WebCoreView.h:
2711 * platform/mac/WebCoreWidgetHolder.h:
2713 2006-07-14 Geoffrey Garen <ggaren@apple.com>
2717 - Updated ScriptInterpreter to work with Interpreter ref-counting in
2720 (KJS::ScriptInterpreter::~ScriptInterpreter): Now protected to catch
2723 2006-07-14 Anders Carlsson <acarlsson@apple.com>
2725 Reviewed by Adele and Justin.
2727 http://bugzilla.opendarwin.org/show_bug.cgi?id=9658
2728 <rdar://problem/4613948>
2729 REGRESSION: Check Spelling does not work in textarea elements
2731 * bridge/mac/FrameMac.mm:
2732 (WebCore::FrameMac::advanceToNextMisspelling):
2733 Don't use setStartBefore or setEndAfter on the search range because for shadow trees, there
2734 is no notion of before and after. Instead, use setStart and setEnd and pass in the start and end
2735 indices respectively.
2738 (WebCore::Range::checkNodeBA):
2739 Allow range operations on shadow trees.
2741 * manual-tests/form-element-spelling.html: Added.
2743 2006-07-14 Beth Dakin <bdakin@apple.com>
2747 Fix for <rdar://problem/4621660> REGRESSION: Safari crashing in
2748 WebCore::FrameView::updateOverflowStatus
2750 m_viewportRenderer is never initialized for framesets, and it
2751 shouldn't be. So we just need to nil-check for it in
2752 updateOverflowStatus() and return early.
2754 * page/FrameView.cpp:
2755 (WebCore::FrameView::updateOverflowStatus): Nil check.
2757 2006-07-14 Adele Peterson <adele@apple.com>
2761 Backing out fix for <rdar://problem/4604703>
2762 REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field
2764 Darin had a better fix in WebKit for this.
2766 * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
2768 2006-07-14 Adele Peterson <adele@apple.com>
2772 - Fix for <rdar://problem/4614054> REGRESSION: Safari submits forms when the Return key is hit to complete inline inputs
2774 * page/Frame.h: (WebCore::Frame::inputManagerHasMarkedText): Added.
2775 * bridge/mac/FrameMac.h: ditto.
2776 * bridge/mac/FrameMac.mm: (WebCore::FrameMac::inputManagerHasMarkedText): Added. Asks the input manager if there's marked text.
2777 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): For text fields, don't submit the form on Enter
2778 if the input manager says there's marked text. I added this code for all text field paths. For widgets, WebCoreTextField.mm
2779 has code to deal with this case. But as we convert search, password, and isindex, they will need to do this check too.
2781 2006-07-14 Mitz Pettel <opendarwin.org@mitzpettel.com>
2785 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9907
2786 REGRESSION (r15418): editing/pasteboard/paste-table-001 fails in pixel mode
2788 * rendering/RenderText.cpp:
2789 (WebCore::RenderText::caretRect): Fixed the calculation of the max/min allowed caret
2792 2006-07-14 Mitz Pettel <opendarwin.org@mitzpettel.com>
2796 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9905
2797 REGRESSION (r15404-r15415): Repro crash when pressing delete in an empty editable div
2799 Test: editing/deleting/delete-at-start-or-end.html
2801 * editing/TypingCommand.cpp:
2802 (WebCore::TypingCommand::deleteKeyPressed): Added null check.
2803 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2805 2006-07-14 David Kilzer <ddkilzer@kilzer.net>
2807 Reviewed by Geoffrey.
2809 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9903
2810 Simplify logic in JSHTMLOptionsCollection::setLength() by using no-arg getNumber()
2812 No test cases since there is no change in functionality.
2814 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2815 (WebCore::JSHTMLOptionsCollection::setLength): Simplified logic by using the
2816 no-argument getNumber() method.
2818 2006-07-14 Geoffrey Garen <ggaren@apple.com>
2822 - Build fix: don't need BLOCK_OBJC_EXCEPTIONS because we already have
2823 one surrounding this function, and the nested one makes the compiler
2824 think our local variable is volatile (seems like a compiler bug to me).
2826 * bridge/mac/FrameMac.mm:
2827 (WebCore::FrameMac::sendContextMenuEvent):
2829 2006-07-14 Timothy Hatcher <timothy@apple.com>
2833 Make JavaScriptCore a public framework. Adjusted the paths.
2835 * WebCore.xcodeproj/project.pbxproj:
2837 2006-07-14 Maciej Stachowiak <mjs@apple.com>
2841 - fixed <rdar://problem/4567031> REGRESSION: Crash at WebCore::RenderBlock::createLineBoxes (seems to be a security hole?)
2843 I also fixed all the similar crash / assertion failure cases I could think of.
2846 (WebCore::Node::nextRendererWithSameParent): Helper function for some of the above.
2848 * rendering/RenderTable.cpp:
2849 (WebCore::RenderTable::addChild): Don't allow inserting forms when not in
2850 an HTML document, since we don't need that quirk and because parsing won't
2851 do certain render tree fixups. Also watch out for case when inserting before
2852 the renderer of a misnested child.
2853 * rendering/RenderTableRow.cpp:
2854 (WebCore::RenderTableRow::addChild): ditto
2855 * rendering/RenderTableSection.cpp:
2856 (WebCore::RenderTableSection::addChild): ditto
2858 2006-07-13 Adele Peterson <adele@apple.com>
2862 - Fix for <rdar://problem/4604703>
2863 REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field
2866 * manual-tests/password-ctrl-click-lose-focus.html: Added.
2868 * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
2869 If we're about to set a selection in the current view, make sure its the first responder.
2870 In this case, this will cause the password field to resign first responder at the right time.
2872 2006-07-13 Mitz Pettel <opendarwin.org@mitzpettel.com>
2876 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9670
2877 REGRESSION: RTL white-space:pre-wrap text is offset to the right
2879 Test: fast/text/international/rtl-white-space-pre-wrap.html
2881 * rendering/RenderText.cpp:
2882 (WebCore::RenderText::caretRect): Fixed LTR case and added the RTL case
2883 of clipping the caret position to the text box when the caret is after
2884 the trailing space of an autowrapped line.
2885 * rendering/bidi.cpp:
2886 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to truncate-
2887 to-fit the logically last text box if it contains the trailing spaces of an
2889 (WebCore::RenderBlock::bidiReorderLine): Remember the logically last text run.
2890 In the case of autowrapped text with white space that overflows beyond the line,
2891 the last text run is the one containing the overflowing white space.
2892 (WebCore::RenderBlock::findNextLineBreak): Split overflowing white space on a
2893 line that autowraps only after white space into a separate text run.
2895 2006-07-13 David Harrison <harrison@apple.com>
2897 Reviewed by Dave Hyatt.
2899 <rdar://problem/4624203> -webkit-highlight should be behind images
2901 * rendering/RenderImage.cpp:
2902 (WebCore::RenderImage::paint):
2903 * rendering/RenderListMarker.cpp:
2904 (WebCore::RenderListMarker::paint):
2905 * rendering/RenderWidget.cpp:
2906 (WebCore::RenderWidget::paint):
2907 Call custom highlighter before painting the image, marker, or widget.
2909 2006-07-13 David Harrison <harrison@apple.com>
2911 Reviewed by Justin and Levi.
2913 <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
2916 editing/deleting/delete-by-word-001.html
2917 editing/deleting/delete-by-word-002.html
2919 * editing/TypingCommand.cpp:
2920 (WebCore::TypingCommand::deleteKeyPressed):
2921 (WebCore::TypingCommand::forwardDeleteKeyPressed):
2922 (WebCore::TypingCommand::doApply):
2923 * editing/TypingCommand.h:
2924 Delete and forward delete to use specified granularity.
2925 Undo of delete and forward delete to select what had been deleted (non-char granularity only).
2928 (WebCore::Frame::setSelection):
2929 Close typing and end style even if selection is not changing.
2931 Remove unused setSelection parameter keepTypingStyle.
2933 2006-07-12 Levi Weintraub <lweintraub@apple.com>
2937 <rdar://problem/4622763> Deleting from beginning of paragraph following a table deletes rather than selects the table
2939 * editing/DeleteSelectionCommand.cpp:
2940 (WebCore::DeleteSelectionCommand::initializeStartEnd): Added selection expansion for HRs.
2941 (WebCore::DeleteSelectionCommand::initializePositionData): Now uses enclosingBlockFlowOrTableElement
2942 instead of enclosingBlockFlowElement.
2943 (WebCore::DeleteSelectionCommand::removeNode): Use to identify that we need a placeholder
2944 when the start or end block is removed.
2945 (WebCore::DeleteSelectionCommand::handleGeneralDelete): Added check for canHaveChildrenForEditing
2946 to keep things like HRs from being given children.
2947 (WebCore::DeleteSelectionCommand::doApply): Switched to use member variable for needPlaceholder.
2948 * editing/DeleteSelectionCommand.h: Made needPlaceholder a member variable.
2949 * editing/TypingCommand.cpp:
2950 (WebCore::TypingCommand::deleteKeyPressed): Fixed selection bug for tables and open typing commands.
2951 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2952 * editing/htmlediting.cpp:
2953 (WebCore::editingIgnoresContent): Added check for HRs, since it's not considered a widget.
2954 * editing/visible_units.cpp:
2955 (WebCore::startOfParagraph): Fix for HRs and tables.
2956 (WebCore::endOfParagraph): Ditto.
2958 2006-07-13 Alexey Proskuryakov <ap@nypop.com>
2962 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9880
2963 Memory leaks running DOM-Hanoi
2965 No change in behavior, thus no test included.
2967 * bridge/mac/FrameMac.mm:
2968 (WebCore::FrameMac::setStatusBarText): Use a local autorelease pool to release the temporaries -
2969 the test runs non-stop, and the enclosing pool doesn't get a chance to be drained.
2971 2006-07-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
2975 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9862
2976 REGRESSION: GMail: Crash in RenderView::repaintViewRectangle when spoofing as FF
2977 - see also <rdar://problem/4622407>
2979 Test: fast/frames/repaint-display-none-crash.html
2981 * rendering/RenderView.cpp:
2982 (WebCore::RenderView::repaintViewRectangle): Added null checking of the owner element's
2983 renderer, which can be null if the iframe is set to display:none.
2985 2006-07-12 Justin Garcia <justin.garcia@apple.com>
2989 <rdar://problem/4509393>
2990 selected DOM range starts with <object>, 0 offset but selection should include the <object>
2992 * editing/ReplaceSelectionCommand.cpp:
2993 (WebCore::ReplaceSelectionCommand::shouldMergeStart):
2994 Don't pull content out of a table cell.
2995 * editing/htmlediting.cpp:
2996 (WebCore::editingIgnoresContent): Added <select> nodes.
2997 (WebCore::rangeCompliantEquivalent): Convert [node, 0] positions to positionBeforeNode(node)
2998 for more types of nodes.
2999 * rendering/RenderContainer.cpp:
3000 (WebCore::RenderContainer::positionForCoordinates):
3001 Fix a crasher when right clicking on an anonymous table.
3003 2006-07-12 John Sullivan <sullivan@apple.com>
3005 Reviewed by Brady Eidson
3007 - fixed <rdar://problem/4611164> REGRESSION: Crash occurs when undoing a series of
3008 misspelled words (WebCore::RenderObject::repaint(bool)
3011 (WebCore::Document::removeMarkers):
3012 put (it - markers.begin()) in a local variable before altering markers, in every case where this was
3013 happening. One of the cases like this was fixed a while back, but other cases were
3014 either missed at that time or crept in since.
3016 2006-07-13 Anders Carlsson <acarlsson@apple.com>
3020 http://bugzilla.opendarwin.org/show_bug.cgi?id=9663
3021 REGRESSION (r14948-r14956): Selection in text field remains highlighted when the text field loses focus
3024 (WebCore::Document::updateSelection):
3025 Don't return early if the selection is empty.
3027 2006-07-12 Anders Carlsson <acarlsson@apple.com>
3031 <rdar://problem/4614656> REGRESSION: onpaste() handlers don't run for textarea elements
3033 * bridge/mac/FrameMac.mm:
3034 (WebCore::FrameMac::dispatchCPPEvent):
3035 If the element is a shadow node, dispatch the event to its real parent.
3037 * manual-tests/textarea-onpaste.html: Added.
3039 2006-07-12 Beth Dakin <bdakin@apple.com>
3043 Fix for layout test regressions after my check-in last night. Just
3044 a silly mistake where I should have asked if we were NOT printing
3045 instead of if we were in the listbox code.
3047 * WebCore.xcodeproj/project.pbxproj: Project file wars. Back to
3049 * platform/mac/ListBoxMac.mm:
3050 (itemTextRenderer): Inverted check.
3051 (groupLabelTextRenderer): Inverted check.
3053 2006-07-12 Darin Adler <darin@apple.com>
3057 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9806
3058 <rdar://problem/4622622>
3059 REGRESSION: Large rowspan causes WebKit to call abort()
3061 Test: fast/table/large-rowspan-crash.html
3063 * rendering/RenderTableSection.cpp:
3064 (WebCore::RenderTableSection::ensureRows):
3065 Use sizeof(RowStruct) instead of sizeof(int).
3066 Clearly we'll need something better to solve this completely.
3067 I expect another smaller, but still huge, value will still cause a problem.
3069 2006-07-12 Anders Carlsson <acarlsson@apple.com>
3073 <rdar://problem/4586665> REGRESSION: autorestore.apple.com: Crashes Safari in WebCore::Widget::client() const
3075 * bridge/mac/FrameMac.h:
3076 Add focusCallResultedInViewBeingCreated argument.
3078 * bridge/mac/FrameMac.mm:
3079 (WebCore::FrameMac::nextKeyViewInFrame):
3080 If the call to focus() caused the node to get a native widget, set focusCallResultedInViewBeingCreated to true.
3082 (WebCore::FrameMac::nextKeyViewInFrameHierarchy):
3083 Don't reset the focus node if focusCallResultedInViewBeingCreated is true. Also, add magic to prevent setting
3084 a text field as the first responder if its field editor already is the current first responder.
3086 * page/FrameView.cpp:
3087 (WebCore::FrameView::handleMousePressEvent):
3088 In some cases, get the event target node again after dispatching the mouse event.
3090 2006-07-12 Beth Dakin <bdakin@apple.com>
3094 Fix for <rdar://problem/4615765> Input[type='search' fields
3095 initially render too large in Widgets
3097 Fundamentally, the problem here is that we were miscalculating
3098 things because [NSGraphicsContext currentContextDrawingToScreen]
3099 was evaluating to false when widgets first load. We only ever used
3100 this check, however, to determine if we were printing or not, so it
3101 should not have evaluated to false for loading in Dashbaord.
3102 Instead, if we query the RenderView about whether or not we are
3103 printing, we will get the right answer.
3105 No test case added since this appears only to affect Dashboard.
3107 * bridge/mac/WebCoreFrameBridge.mm:
3108 (-[WebCoreFrameBridge drawRect:]): Ask the RenderView if we are
3109 printing instead. This is not part of the actual bug fix, but it
3110 seems wise to get rid of all calls to [NSGraphicsContext
3111 currentContextDrawingToScreen] when we are just trying to determine
3112 if we are printing or not.
3113 * platform/mac/ListBoxMac.mm:
3114 (itemTextRenderer):This function now takes a boolean, isPrinting.
3115 (groupLabelTextRenderer): Same as above.
3116 (ListBox::sizeForNumberOfLines): Ask the RenderView if we are
3118 (-[WebCoreTableView drawRow:clipRect:]): Same as above.
3119 * platform/mac/PopUpButtonMac.mm:
3120 (PopUpButton::sizeHint): Same as above.
3121 * platform/mac/TextFieldMac.mm:
3122 (-[NSSearchFieldCell _addStringToRecentSearches:]):
3123 * rendering/RenderLineEdit.cpp: Same as above.
3125 2006-07-12 Adele Peterson <adele@apple.com>
3129 Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=9813
3130 OPTION text can paint over select element's scrollbar
3132 Test: fast/forms/option-text-clip.html
3134 * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::paintObject):
3135 When calculating the clip to apply to the button text, also consider padding.
3136 In the future, we may have separate renderers for the text part, and the arrow part
3137 of the control, and then the separation should be natural. For now, we use padding.
3139 2006-07-11 David Kilzer <ddkilzer@kilzer.net>
3141 Windows build fix. Reviewed by NOBODY.
3143 * WebCore.vcproj/WebCore/WebCore.vcproj: Added JSHTMLOptionsCollection.cpp/h
3144 and JSHTMLOptionsCollectionCuston.cpp. VC++ Express realphabetized the file list.
3146 2006-07-11 Darin Adler <darin@apple.com>
3150 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9809
3151 <rdar://problem/4619515>
3152 focus ring fails to appear on select element after choosing item from popup
3154 - includes http://bugzilla.opendarwin.org/show_bug.cgi?id=9853
3155 improvements to select element, including some storage leak fixes
3157 * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::index): Use a const
3158 reference for the list items, so we don't have to copy a vector.
3159 * html/HTMLSelectElement.cpp:
3160 (WebCore::HTMLSelectElement::selectedIndex): Ditto.
3161 (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
3162 (WebCore::HTMLSelectElement::length): Ditto.
3163 (WebCore::HTMLSelectElement::remove): Ditto.
3164 (WebCore::HTMLSelectElement::value): Ditto.
3165 (WebCore::HTMLSelectElement::setValue): Ditto.
3166 (WebCore::HTMLSelectElement::stateValue): Ditto.
3167 (WebCore::HTMLSelectElement::restoreState): Ditto.
3168 (WebCore::HTMLSelectElement::appendFormData): Ditto.
3169 (WebCore::HTMLSelectElement::optionToListIndex): Ditto.
3170 (WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
3171 (WebCore::HTMLSelectElement::recalcListItems): Made const, with the appropriate
3173 (WebCore::HTMLSelectElement::reset): Use a const reference for
3174 the list items, so we don't have to copy the vector. Remove the call to
3175 setSelectionChanged for the RenderMenuList case.
3176 (WebCore::HTMLSelectElement::notifyOptionSelected): Ditto, on both counts.
3177 (WebCore::HTMLSelectElement::defaultEventHandler): Call focus() before showing
3179 * html/HTMLSelectElement.h: The RenderMenuList class is no longer a friend.
3180 Changed the listItems function to return a const reference to the vector so
3181 it no longer copies the vector. Removed the const_cast to the call to
3182 recalcListItems and changed it to a const member function. Made m_recalcListItems
3184 * rendering/DeprecatedRenderSelect.cpp:
3185 (WebCore::DeprecatedRenderSelect::updateFromElement): Removed an unnecessary call
3186 to recalcListItems, which is called automatically. Use a const reference for the
3187 list items so we don't have to copy a vector.
3188 (WebCore::DeprecatedRenderSelect::layout): Ditto.
3189 (WebCore::DeprecatedRenderSelect::selectionChanged): Ditto.
3190 (WebCore::DeprecatedRenderSelect::updateSelection): Ditto.
3191 * rendering/RenderMenuList.cpp:
3192 (WebCore::RenderMenuList::RenderMenuList): Updated for renamed data members.
3193 (WebCore::RenderMenuList::createInnerBlock): Ditto.
3194 (WebCore::RenderMenuList::addChild): Ditto.
3195 (WebCore::RenderMenuList::removeChild): Ditto.
3196 (WebCore::RenderMenuList::setStyle): Ditto. Also removed code to set the style
3197 on the pop-up menu, because it's created with the correct style and destroyed
3198 before it a style change could occur.
3199 (WebCore::RenderMenuList::updateFromElement): Rearranged code to compute the
3200 maximum width in a simpler fashion, and to not bother trying to maintain
3201 the "selected" flags on the elements, since the HTMLSelectElement class
3202 takes care of that. Store the width as an int. Call setText to set the text
3203 based on the selected element's option text.
3204 (WebCore::RenderMenuList::paintObject): Don't check m_inner when setting
3205 up the clip -- always set up the clip.
3206 (WebCore::RenderMenuList::calcMinMaxWidth): Use m_optionsWidth directly
3207 instead of calling ceilf on m_longestWidth.
3208 (WebCore::RenderMenuList::showPopup): Don't use m_popupMenu to store the
3209 menu -- instead keep the pointer in a local variable. Get the selected
3210 index from the HTMLSelectElement.
3211 (WebCore::RenderMenuList::valueChanged): Call HTMLSelectElement::setSelectedIndex
3212 to do most of the work.
3213 * rendering/RenderMenuList.h: Renamed m_inner to m_innerBlock. Removed
3214 m_popupMenu, m_size, m_selectionChanged, and m_selectedIndex. Renamed
3215 m_longestWidth to m_optionsWidth and changed it to be an int. Removed
3216 unneeded override of removeLeftoverAnonymousBoxes function. Removed
3217 unneeded selectionChanged, setSelectionChanged, updateSelection, and
3218 hasPopupMenu functions. Removed extra includes.
3219 * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate):
3220 Change to iterate the list items instead of iterating all children
3222 * rendering/RenderPopupMenu.h: Renamed getRenderMenuList to menuList.
3223 * rendering/RenderPopupMenuMac.mm:
3224 (WebCore::RenderPopupMenuMac::populate): Moved code to clear and create
3225 the pop-up here from the caller. Removed an extra retain that would cause
3226 the NSPopUpButtonCell to leak.
3227 (WebCore::RenderPopupMenuMac::showPopup): Removed unnecessary code to
3228 create the pop-up, which is now in populate, and also the call to the
3229 clear function, for the same reason. Reorganized code to make it a bit
3230 more readable. Removed an unnecessary if to check if frame is nil.
3231 Used a RefPtr to make sure we don't make a call on a frame after it's
3232 deleted. As part of the reorganization fixed a problem where we'd retain
3233 the event and then return early without releasing it in one case.
3234 (WebCore::RenderPopupMenuMac::addSeparator): Tweaked a little.
3235 (WebCore::RenderPopupMenuMac::addGroupLabel): Grouped all the code to
3236 manage the NSMenu at the bottom of the function.
3237 (WebCore::RenderPopupMenuMac::addOption): Ditto.
3239 2006-07-11 Justin Garcia <justin.garcia@apple.com>
3243 <rdar://problem/4620686>
3244 REGRESSION: Mispelling markers are still displayed when using the delete key to place caret into a misspelled word
3246 * bridge/mac/FrameMac.mm:
3247 (WebCore::FrameMac::respondToChangedSelection): Remove markers from newAdjacentWords
3248 even if oldAdjacentWords is equal to newAdjacentWords. This happens during a deletion.
3251 2006-07-11 Tim Omernick <timo@apple.com>
3253 Reviewed by NOBODY (build fix)
3255 * bindings/objc/DOMPrivate.h:
3256 Don't @class NPObject; that breaks files that actually #import <JavaScriptCore/npruntime.h>, since the NPObject
3257 there is of a different type.
3258 Also clarified a highly misleading comment from my last commit. I meant to clarify the comment
3261 2006-07-12 Anders Carlsson <acarlsson@apple.com>
3265 http://bugzilla.opendarwin.org/show_bug.cgi?id=9635
3266 REGRESSION: Crash when adding to cart at <http://www.yemeksepeti.com/>
3268 * html/HTMLTokenizer.cpp:
3269 (WebCore::HTMLTokenizer::scriptHandler):
3270 Don't load external scripts if the parser is stopped.
3272 * manual-tests/open-close-tokenizer-crash.html: Added.
3273 * manual-tests/resources/empty-file.js: Added.
3274 * manual-tests/resources/open-close-tokenizer-crash.html: Added.
3277 2006-07-11 John Sullivan <sullivan@apple.com>
3279 Reviewed by Kevin, Timo O, Brady, Darin, and Hyatt (whee!)
3281 - added support for creating a selection image with white text
3283 * rendering/RenderObject.h:
3285 add PaintRestriction enum
3286 (WebCore::RenderObject::PaintInfo::PaintInfo):
3287 add forceWhiteText boolean to PaintInfo struct
3289 * page/FramePrivate.h:
3290 (WebCore::FramePrivate::FramePrivate):
3291 replaced m_selectionOnly bool with m_paintRestriction, which also handles forcing the
3295 (WebCore::Frame::paint):
3296 updated to use & pass m_paintRestriction where it used to use & pass just m_selectionOnly
3298 * bridge/mac/FrameMac.h:
3299 * bridge/mac/FrameMac.mm:
3300 (WebCore::FrameMac::selectionImage):
3301 now takes forceWhiteText parameter, stored in FramePrivate as part of PaintRestriction
3303 * bridge/mac/WebCoreFrameBridge.h:
3304 * bridge/mac/WebCoreFrameBridge.mm:
3305 (-[WebCoreFrameBridge selectionImageForcingWhiteText:]):
3306 renamed from selectionImage, now takes forceWhiteText parameter, which is passed
3309 * rendering/RenderLayer.h:
3310 * rendering/RenderLayer.cpp:
3311 (WebCore::RenderLayer::paint):
3312 use a PaintRestriction value where we used to use a selectionOnly bool
3313 (WebCore::RenderLayer::paintLayer):
3314 ditto; also stores forceWhiteText in PaintInfo struct
3316 * kcanvas/KCanvasResources.cpp:
3317 (WebCore::KCanvasMarker::draw):
3318 updated for changed signature of PaintInfo constructor
3320 * ksvg2/svg/SVGMaskElement.cpp:
3321 (WebCore::SVGMaskElement::drawMaskerContent):
3324 * ksvg2/svg/SVGPatternElement.cpp:
3325 (WebCore::SVGPatternElement::drawPatternContentIntoTile):
3328 * rendering/InlineTextBox.cpp:
3329 (WebCore::InlineTextBox::paint):
3330 paint with white text color if forceWhiteText is set in PaintInfo struct
3332 2006-07-11 Tim Omernick <timo@apple.com>
3336 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>:
3337 Give Netscape plug-ins access to their own DOM element
3339 * html/HTMLPlugInElement.h:
3340 Just import JSC headers on Mac. The NPObject and Bindings::Instance stuff is only used on Mac anyway.
3341 Changed __APPLE__ to PLATFORM(MAC).
3342 Added m_NPObject ivar.
3343 * html/HTMLPlugInElement.cpp:
3344 (WebCore::HTMLPlugInElement::HTMLPlugInElement):
3345 Initialize the NPObject.
3346 (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
3347 Release the NPObject when the element is destroyed.
3348 (WebCore::HTMLPlugInElement::createNPObject):
3349 Creates an NPObject for the element.
3350 (WebCore::HTMLPlugInElement::getNPObject):
3351 Returns the NPObject for the element, creating and caching it if necessary.
3353 * html/HTMLAppletElement.h:
3354 Changed __APPLE__ to PLATFORM(MAC).
3355 * html/HTMLAppletElement.cpp:
3357 * html/HTMLEmbedElement.h:
3359 * html/HTMLEmbedElement.cpp:
3361 * html/HTMLObjectElement.h:
3363 * html/HTMLObjectElement.cpp:
3366 * bindings/objc/DOMPrivate.h:
3367 Added -[DOMElement _NPObject].
3369 * bindings/objc/DOM.mm:
3370 (-[DOMElement _NPObject]):
3371 Returns the NPObject for the element. Since this is only needed by the Netscape plug-in API, you can only get
3372 the NPObject for applet, embed, and object elements.
3374 2006-07-11 Adele Peterson <adele@apple.com>
3378 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9861
3379 REGRESSION: Can't dynamically change list box to popup
3381 and updated fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9859
3382 REGRESSION: Can't dynamically change popup to list box
3384 The original fix for 9859 was in the renderer, and I think we can catch the change
3385 earlier in the element to detach and reattach.
3387 I also did some cleanup to remove the PopupButton code path from DeprecatedRenderSelect
3389 Test: fast/forms/select-change-listbox-to-popup.html
3391 * html/HTMLSelectElement.cpp:
3392 (WebCore::HTMLSelectElement::parseMappedAttribute): If the new attribute value is going to require us to change from listbox to popup or vice versa,
3393 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
3395 (WebCore::HTMLSelectElement::recalcStyle): Updated shouldUseMenuList since it no longer takes a RenderStyle.
3396 (WebCore::HTMLSelectElement::isKeyboardFocusable): ditto.
3397 (WebCore::HTMLSelectElement::isMouseFocusable): ditto.
3398 (WebCore::HTMLSelectElement::createRenderer): ditto.
3399 (WebCore::HTMLSelectElement::setRecalcListItems): ditto.
3400 (WebCore::HTMLSelectElement::reset): ditto.
3401 (WebCore::HTMLSelectElement::notifyOptionSelected): ditto.
3402 (WebCore::HTMLSelectElement::defaultEventHandler): ditto.
3404 * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList):
3405 This method no longer takes a RenderStyle. That was leftover from when we used to use the appearance
3406 to determine whether or not to use the new menu list implementation.
3408 * rendering/DeprecatedRenderSelect.h: Removed PopupButton code path.
3409 * rendering/DeprecatedRenderSelect.cpp:
3410 (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
3411 (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
3412 (WebCore::DeprecatedRenderSelect::updateFromElement):
3413 (WebCore::DeprecatedRenderSelect::baselinePosition):
3414 (WebCore::DeprecatedRenderSelect::layout):
3415 (WebCore::DeprecatedRenderSelect::updateSelection):
3417 * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
3418 Backed out previous fix since this is now done in HTMLSelectElement.
3420 2006-07-11 Adele Peterson <adele@apple.com>
3424 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9859
3425 REGRESSION: Can't dynamically change popup to list box
3427 Test: fast/forms/select-change-popup-to-listbox.html
3429 * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
3430 If the select element has the multiple property set, or has a size > 1, then it
3431 really should be a list box, so we detach and attach the element so it creates the
3432 correct type of renderer.
3434 2006-07-11 John Sullivan <sullivan@apple.com>
3436 Reviewed by Beth Dakin and Tim Omernick
3438 - fixed <rdar://problem/4622794> HiDPI: dragging the selection in Safari can show pixel cracks
3439 at non-integral scale factors
3441 * bridge/mac/FrameMac.mm:
3442 (WebCore::FrameMac::imageFromRect):
3443 round image rect in window coordinate space
3445 2006-07-10 Darin Adler <darin@apple.com>
3449 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9811
3450 rdar://problem/4619572
3451 OPTION text contained in OPTGROUP appears at the wrong size
3454 * dom/Node.cpp: (WebCore::Node::renderStyle): Made a const member function.
3455 The derived classes were overriding with const member functions, and I could
3456 change either this or the derived -- decided to do this.
3458 2006-07-10 Darin Adler <darin@apple.com>
3462 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9810
3463 rdar://problem/4619534
3464 OPTGROUP label text is using the default font instead of Lucida Grande
3466 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize):
3467 Code wants the family name, but was calling fontName, which is not the same thing.
3468 Also removed the unneeded conversion to DeprecatedString.
3470 === Safari-521.16 ===
3472 2006-07-10 David Kilzer <ddkilzer@kilzer.net>
3476 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9179
3477 Implement select.options.add() method
3480 - fast/dom/select-selectedIndex-multiple.html
3481 - fast/dom/select-selectedIndex.html
3482 - fast/js/select-options-add.html
3484 * DerivedSources.make: Added JSHTMLOptionsCollection.h.
3485 * ForwardingHeaders/kjs/operations.h: Added.
3486 * WebCore.xcodeproj/project.pbxproj: Added new source files.
3487 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: Added.
3488 (WebCore::JSHTMLOptionsCollection::length):
3489 (WebCore::JSHTMLOptionsCollection::setLength):
3490 (WebCore::JSHTMLOptionsCollection::indexSetter):
3491 * bindings/js/kjs_html.cpp: Removed JSHTMLOptionsCollection implementation.
3492 Renamed classes and methods for consistency.
3493 (KJS::JSHTMLElement::selectGetter):
3494 (KJS::JSHTMLElement::put):
3495 (KJS::JSHTMLElement::selectSetter):
3496 (KJS::JSHTMLCollection::JSHTMLCollection):
3497 (KJS::JSHTMLCollectionProtoFunc::callAsFunction):
3498 (KJS::getHTMLOptionsCollection):
3499 * bindings/js/kjs_html.h: Ditto.
3500 * bindings/scripts/CodeGeneratorJS.pm: Added support for HasCustomIndexSetter class attribute.
3501 Added support for Optional parameter attribute, which makes generated code assume overloaded
3502 implementation methods are available for a JavaScript function with optional arguments. Changed
3503 local 'impl' variables to 'imp' so that impl() methods could be called without class designation.
3504 * html/HTMLOptionElement.idl: Added GenerateNativeConverter attribute.
3505 * html/HTMLOptionsCollection.cpp: Added methods used by generated JSHTMLOptionsCollection class.
3506 (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
3507 (WebCore::HTMLOptionsCollection::add):
3508 (WebCore::HTMLOptionsCollection::selectedIndex):
3509 (WebCore::HTMLOptionsCollection::setSelectedIndex):
3510 (WebCore::HTMLOptionsCollection::setLength):
3511 * html/HTMLOptionsCollection.h: Ditto.
3512 * html/HTMLOptionsCollection.idl: Added.
3514 2006-07-10 David Harrison <harrison@apple.com>
3516 Reviewed by Dave Hyatt.
3518 <rdar://problem/4602408> -webkit-highlight needs to support images and elements other than text
3520 * rendering/RenderBox.cpp:
3521 (WebCore::RenderBox::paintCustomHighlight):
3522 * rendering/RenderBox.h:
3523 Utility for subclasses.
3525 * rendering/RenderImage.cpp:
3526 (WebCore::RenderImage::paint):
3527 Custom highlight in front of images.
3529 * rendering/RenderListMarker.cpp:
3530 (WebCore::RenderListMarker::paint):
3531 Custom highlight in front of list markers.
3533 * rendering/RenderWidget.cpp:
3534 (WebCore::RenderWidget::paint):
3535 Custom highlight in front of objects.
3537 2006-07-10 David Hyatt <hyatt@apple.com>
3539 <rdar://problem/4620557> REGRESSION: In a mail message, text isn't painted
3540 correctly after choosing Redo Typing
3542 Better fix for repainting issue with positioned objects when height
3543 changes. Optimize when only a positioned child changes so that we don't
3544 incorrectly do normal flow layout.
3548 * WebCore.xcodeproj/project.pbxproj:
3549 * rendering/RenderBlock.cpp:
3550 (WebCore::RenderBlock::layoutBlock):
3551 * rendering/RenderFlexibleBox.cpp:
3552 (WebCore::RenderFlexibleBox::layoutBlock):
3553 * rendering/RenderTable.cpp:
3554 (WebCore::RenderTable::layout):
3555 * rendering/RenderView.cpp:
3556 (WebCore::RenderView::layout):
3557 * rendering/bidi.cpp:
3558 (WebCore::RenderBlock::layoutInlineChildren):
3560 2006-07-10 Adele Peterson <adele@apple.com>
3564 - Fix for <rdar://problem/4621442> REGRESSION (NativePopup) : Popup menus aren't drawn correctly on page at orbitz.com; cheaptickets.com
3566 Test: fast/forms/select-style.html
3568 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
3569 Don't let popups be style-able for now. We'll allow it later, when we
3570 have a good way to handle border & backgrounds and still having it look like a control.
3572 2006-07-10 Justin Garcia <justin.garcia@apple.com>
3574 Reviewed by harrison
3576 <rdar://problem/4619260>
3577 9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
3578 <rdar://problem/4619841>
3579 REGRESSION: Dragging selection over input field results in a crash (WebCore::maxDeepOffset(WebCore::Node const*)
3581 * WebCore.xcodeproj/project.pbxproj:
3582 * editing/Selection.cpp:
3583 (WebCore::Selection::adjustForEditableContent): Iterate using next/previousVisuallyDistinctCandidate
3584 instead of traverseNext/Previous node because we were skipping positions. Jump out of shadow trees.
3585 Migrate to isEditablePosition instead of isContentEditable.
3588 2006-07-10 Beth Dakin <bdakin@apple.com>
3592 Shuffling comments around from my last check-in to make things read
3596 * page/DOMWindow.idl:
3598 2006-07-10 Beth Dakin <bdakin@apple.com>
3602 Fix for <rdar://problem/4621095> The should be a way to
3603 access the user interface scale factor through the DOM
3605 window.devicePixelRatio returns the user interface scale factor.
3607 * page/DOMWindow.cpp:
3608 (WebCore::DOMWindow::devicePixelRatio):
3610 * page/DOMWindow.idl:
3612 2006-07-10 Brady Eidson <beidson@apple.com>
3616 Resolved the console error messages people got from the new DB even if they didn't have it enabled
3618 * icon/IconDatabase.cpp:
3619 (WebCore::IconDatabase::pruneUnreferencedIcons):
3620 (WebCore::IconDatabase::pruneUnretainedIcons):
3621 Added quick check to bail if the DB isn't open
3623 2006-07-10 David Harrison <harrison@apple.com>
3625 Reviewed by Tim Hatcher
3628 <rdar://problem/4619260> 9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
3630 * editing/Selection.cpp:
3631 (WebCore::Selection::adjustForEditableContent):
3632 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.
3634 2006-07-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
3638 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9808
3639 REGRESSION: Incorrect layout (and ERROR) when forcing ATSU For All Text
3641 * manual-tests/ATSU-bad-layout.html: Added.
3642 * platform/mac/FontMac.mm:
3643 (WebCore::Font::floatWidthForComplexText): Return 0 immediately for empty runs.
3645 2006-07-10 Darin Adler <darin@apple.com>
3647 - try to fix the no-SVG build
3649 * ksvg2/misc/SVGImageLoader.cpp: Move namespace brace inside the #if.
3651 2006-07-10 Darin Adler <darin@apple.com>
3655 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9833
3656 REGRESSION: Reproducible crash: RenderMenuList.cpp:58: failed assertion `!m_first'
3658 * manual-tests/empty-title-popup.html: Added.
3660 * rendering/RenderMenuList.h: Add createInnerBlock.
3661 * rendering/RenderMenuList.cpp:
3662 (WebCore::RenderMenuList::createInnerBlock): Factored out of addChild.
3663 (WebCore::RenderMenuList::addChild): Call createInnerBlock.
3664 (WebCore::RenderMenuList::setText): Changed parameter type.
3665 (WebCore::RenderMenuList::showPopup): Call createInnerBlock before calling
3666 the parent class's addChild.
3668 2006-07-10 Rob Buis <buis@kde.org>
3670 Reviewed by Maciej via IRC.
3672 Make sure the attributes are calculated against viewport width value,
3673 as defined in the spec. http://paste.lisp.org/display/22342
3675 * ksvg2/svg/SVGEllipseElement.cpp:
3676 (WebCore::SVGEllipseElement::rx): Changed LM_HEIGHT to LM_WIDTH.
3677 * ksvg2/svg/SVGLineElement.cpp:
3678 (SVGLineElement::x2): Ditto.
3680 2006-07-10 Beth Dakin <bdakin@apple.com>
3684 Fix for <rdar://problem/4610314> Support the CSS3 content property
3687 This patch provides initial support for the CSS3 content property.
3688 It lacks support for any content other than images, and only allows
3689 content for elements that seemed safe for now.
3691 * css/cssstyleselector.cpp:
3692 (WebCore::CSSStyleSelector::applyProperty): Remove restrictions for
3693 just :before and :after
3694 * html/HTMLBRElement.cpp:
3695 (WebCore::HTMLBRElement::createRenderer):
3696 * html/HTMLFrameSetElement.cpp:
3697 (WebCore::HTMLFrameSetElement::createRenderer):
3698 * html/HTMLImageElement.cpp:
3699 (WebCore::HTMLImageElement::createRenderer):
3700 * html/HTMLLegendElement.cpp:
3701 (WebCore::HTMLLegendElement::createRenderer):
3702 * rendering/RenderImage.cpp:
3703 (WebCore::RenderImage::RenderImage):
3704 (WebCore::RenderImage::setCachedImage): Don't allow the image to be
3705 set this way if it was already set with the content property.
3706 * rendering/RenderImage.h:
3707 (WebCore::RenderImage::setIsAnonymousImage): Anonymous images are
3708 those set through the content property.
3709 (WebCore::RenderImage::isAnonymousImage):
3710 * rendering/RenderObject.cpp:
3711 (WebCore::RenderObject::createObject): If there is content
3712 specified, create a RenderImage with the content and initialize the
3713 cached image to whatever was specified in the CSS.
3715 2006-07-10 Brady Eidson <beidson@apple.com>
3717 Reviewed by NOBODY (Build Fix!)
3719 * icon/SiteIcon.cpp:
3720 (SiteIcon::getImage):
3721 Release build made an "unused variable" warning, which is, of course, an error. fixed that.
3723 2006-07-10 Brady Eidson <beidson@apple.com>
3727 SQLite Icon DB now fully replicates functionality of the old DB, including pruning to keep unused
3728 information out to keep down disk usage. For now, it is still off by default, as the critical
3729 feature of importing old icons into the new DB is still unrealized.
3730 If you'd like to test, add #define ICONDEBUG to your WebKitPrefix.h
3732 * icon/IconDatabase.cpp:
3733 (WebCore::IconDatabase::IconDatabase):
3734 (WebCore::IconDatabase::open):
3735 -Sets up a timer for initial pruning
3736 (WebCore::IconDatabase::iconForPageURL):
3737 -Switched away from "dirty blob hack" as the problem is provisionally solved
3738 (WebCore::IconDatabase::retainIconForURL):
3739 (WebCore::IconDatabase::releaseIconForURL):
3740 -Same as found in WebKit
3741 (WebCore::IconDatabase::totalRetainCountForIconURL):
3742 -Adds up all retainers of icon
3743 (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
3744 -Wipes an Icon table entry out
3745 (WebCore::IconDatabase::establishTemporaryIconIDForIconURL):
3746 (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
3747 (WebCore::IconDatabase::establishIconIDForIconURL):
3748 (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
3749 -Added ability to get an iconID without creating a new one if a lookup is all
3750 that is genuinely wanted
3751 (WebCore::IconDatabase::pruneUnreferencedIcons):
3752 (WebCore::IconDatabase::pruneUnretainedIcons):
3753 -Called on a timer on DB startup to clean it out
3754 * icon/IconDatabase.h:
3755 * icon/SiteIcon.cpp:
3756 (SiteIcon::SiteIcon):
3757 (SiteIcon::~SiteIcon):
3758 -Deletes the image on deletion
3759 (SiteIcon::getImage):
3760 -Cut down on no-longer-necessary debug info
3762 2006-07-10 Anders Carlsson <acarlsson@apple.com>
3766 http://bugzilla.opendarwin.org/show_bug.cgi?id=9245
3767 Quirksmode: Incorrect handling of disabled BUTTON elements
3769 * html/HTMLButtonElement.cpp:
3770 (WebCore::HTMLButtonElement::defaultEventHandler):
3771 Don't call prepareSubmit if the element is disabled.
3773 * html/HTMLInputElement.cpp:
3774 (WebCore::HTMLInputElement::defaultEventHandler):
3775 Don't call prepareSubmit if the element is disabled.
3777 2006-07-10 Darin Adler <darin@apple.com>
3779 - try to fix Windows build
3781 * platform/win/TemporaryLinkStubs.cpp: Put a few functions in the WebCore namespace.
3782 * platform/gdk/TemporaryLinkStubs.cpp: Ditto.
3784 2006-07-10 Darin Adler <darin@apple.com>
3788 - fix failures seen in layout tests
3790 * bindings/js/kjs_dom.cpp: (KJS::toJS): Restore one of the few WebCore:: prefixes
3791 that really needed to be there -- because we have two classes named JSHTMLDocument
3792 at the moment! (One in KJS and one in WebCore namespace.)
3794 2006-07-10 Darin Adler <darin@apple.com>
3796 - try to fix Windows build
3798 * rendering/RenderLayer.h: Correct a forward declaration of ScrollBar.
3800 2006-07-09 Adele Peterson <adele@apple.com>
3804 Fix for <rdar://problem/4463835> Switch to use new popup menu implementation for <select>
3806 * css/html4.css: Added style for new selects, and for list boxes.
3807 * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Removed check for appearance so new popups can be styled.
3809 * rendering/RenderMenuList.cpp:
3810 (WebCore::RenderMenuList::setStyle): Removed padding. This is now set by the theme.
3811 (WebCore::RenderMenuList::calcMinMaxWidth): Now takes minimum text size into account.
3812 * rendering/RenderMenuList.h: Removed baselinePosition since we're letting the theme calculate that.
3814 * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlContainer): Added menuList as a ControlContainer,
3815 so RenderThemeMac will compute its baseline.
3816 * rendering/RenderTheme.h: (WebCore::RenderTheme::minimumTextSize): Added.
3817 * rendering/RenderThemeMac.h: Added minimumTextSize, setPopupPaddingFromControlSize, popupButtonSizes, popupButtonMargins, popupButtonPadding.
3818 Removed sizeOfArrowControl.
3819 * rendering/RenderThemeMac.mm:
3820 (WebCore::): Added enum for padding.
3821 (WebCore::RenderThemeMac::adjustRepaintRect): Now inflates rect to account for control shadow.
3822 (WebCore::RenderThemeMac::baselinePosition): Now calculates baseline for menulist.
3823 (WebCore::RenderThemeMac::popupButtonMargins): Tweaked values.
3824 (WebCore::RenderThemeMac::popupButtonSizes): Added.
3825 (WebCore::RenderThemeMac::popupButtonPadding): Added, so different padding can be set for different control sizes.
3826 (WebCore::RenderThemeMac::setPopupPaddingFromControlSize): Added.
3827 (WebCore::RenderThemeMac::paintMenuList): Now inflates rect to account for control shadow.
3828 (WebCore::RenderThemeMac::adjustMenuListStyle): Resets border, sets padding, sets control size.
3829 (WebCore::RenderThemeMac::setPopupButtonCellState): Removed unnecessary class name.
3830 (WebCore::RenderThemeMac::minimumTextSize): Added.
3832 2006-07-09 Darin Adler <darin@apple.com>
3834 - add back "unused code" for plain text fields, still used by <isindex>!
3836 * platform/TextField.h:
3837 * platform/mac/TextFieldMac.mm:
3838 * platform/mac/WebCoreTextField.h:
3839 * platform/mac/WebCoreTextField.mm:
3840 * rendering/RenderLineEdit.cpp:
3842 2006-07-09 Darin Adler <darin@apple.com>
3844 Reviewed by Tim Hatcher.
3846 - put more into the WebCore namespace
3847 - removed unused code for plain text fields
3849 Put more classes, class templates, enums, functions, and constants into
3850 the WebCore namespace, including all the headers in the platform directory.
3852 Removed lots of unneeded "WebCore::" qualifiers and "using" directives.
3854 Added some "WebCore::" qualifiers in a few places.
3856 Removed "uses WebCore::" in headers that we said we'd remove "when
3857 everything is in the WebCore namespace".
3859 * bindings/js/JSDOMParser.cpp:
3860 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3861 * bindings/js/JSXSLTProcessor.cpp:
3862 * bindings/js/kjs_binding.cpp:
3863 * bindings/js/kjs_css.cpp:
3864 * bindings/js/kjs_dom.cpp:
3865 * bindings/js/kjs_dom.h:
3866 * bindings/js/kjs_events.cpp:
3867 * bindings/js/kjs_proxy.h:
3868 * bindings/js/kjs_window.h:
3869 * bindings/objc/DOM.mm:
3871 * bridge/JavaAppletWidget.h:
3872 * bridge/mac/FormDataMac.h:
3873 * bridge/mac/FormDataMac.mm:
3874 * bridge/mac/WebCoreAXObject.mm:
3875 * bridge/mac/WebCoreEncodings.mm:
3876 * bridge/mac/WebCoreFrameBridge.h:
3877 * bridge/mac/WebCoreIconDatabaseBridge.mm:
3878 * bridge/mac/WebCorePageState.h:
3879 * bridge/mac/WebCoreScriptDebugger.mm:
3880 * bridge/mac/WebCoreSettings.h:
3882 * css/CSSPageRule.cpp:
3883 * css/CSSPageRule.h:
3884 * css/MediaList.cpp:
3885 * css/cssstyleselector.h:
3889 * dom/EventTargetNode.h:
3894 * dom/XMLTokenizer.cpp:
3895 * editing/AppendNodeCommand.h:
3896 * editing/ApplyStyleCommand.cpp:
3897 * editing/BreakBlockquoteCommand.cpp:
3898 * editing/BreakBlockquoteCommand.h:
3899 * editing/CompositeEditCommand.cpp:
3900 * editing/CompositeEditCommand.h:
3901 * editing/CreateLinkCommand.h:
3902 * editing/DeleteFromTextNodeCommand.h:
3903 * editing/DeleteSelectionCommand.h:
3904 * editing/FormatBlockCommand.h:
3905 * editing/HTMLInterchange.cpp:
3906 * editing/HTMLInterchange.h:
3907 * editing/IndentOutdentCommand.h:
3908 * editing/InsertIntoTextNodeCommand.h:
3909 * editing/InsertLineBreakCommand.h:
3910 * editing/InsertListCommand.h:
3911 * editing/InsertNodeBeforeCommand.h:
3912 * editing/InsertTextCommand.cpp:
3913 * editing/InsertTextCommand.h:
3914 * editing/JSEditor.cpp:
3915 * editing/JSEditor.h:
3916 * editing/JoinTextNodesCommand.h:
3917 * editing/MergeIdenticalElementsCommand.cpp:
3918 * editing/MergeIdenticalElementsCommand.h:
3919 * editing/ModifySelectionListLevel.h:
3920 * editing/MoveSelectionCommand.h:
3921 * editing/RebalanceWhitespaceCommand.h:
3922 * editing/RemoveNodeAttributeCommand.h:
3923 * editing/RemoveNodeCommand.h:
3924 * editing/RemoveNodePreservingChildrenCommand.h:
3925 * editing/ReplaceSelectionCommand.h:
3926 * editing/SetNodeAttributeCommand.h:
3927 * editing/SplitElementCommand.cpp:
3928 * editing/SplitElementCommand.h:
3929 * editing/SplitTextNodeCommand.cpp:
3930 * editing/SplitTextNodeCommand.h:
3931 * editing/SplitTextNodeContainingElementCommand.h:
3932 * editing/TypingCommand.cpp:
3933 * editing/TypingCommand.h:
3934 * editing/UnlinkCommand.h:
3935 * editing/VisiblePosition.cpp:
3936 * editing/WrapContentsInDummySpanCommand.cpp:
3937 * editing/WrapContentsInDummySpanCommand.h:
3938 * editing/markup.cpp:
3940 * html/HTMLAnchorElement.cpp:
3941 * html/HTMLBodyElement.cpp:
3942 * html/HTMLButtonElement.h:
3943 * html/HTMLCollection.h:
3944 * html/HTMLDocument.h:
3945 * html/HTMLEmbedElement.cpp:
3946 * html/HTMLFormElement.cpp:
3947 * html/HTMLFormElement.h:
3948 * html/HTMLFrameElement.cpp:
3949 * html/HTMLFrameSetElement.cpp:
3950 * html/HTMLKeygenElement.cpp:
3951 * html/HTMLLabelElement.cpp:
3952 * html/HTMLObjectElement.cpp:
3953 * html/HTMLObjectElement.h:
3954 * html/HTMLTableElement.cpp:
3955 * html/HTMLTablePartElement.cpp:
3956 * icon/IconDatabase.h:
3957 * kcanvas/KCanvasPath.h:
3958 * kcanvas/KCanvasResources.cpp:
3959 * kcanvas/KCanvasResources.h:
3960 * kcanvas/KCanvasTreeDebug.cpp:
3961 * kcanvas/KCanvasTreeDebug.h:
3962 * kcanvas/RenderSVGContainer.cpp:
3963 * kcanvas/RenderSVGText.h:
3964 * kcanvas/device/KRenderingPaintServer.h:
3965 * kcanvas/device/KRenderingPaintServerGradient.h:
3966 * kcanvas/device/KRenderingPaintServerSolid.cpp:
3967 * ksvg2/misc/SVGImageLoader.cpp:
3968 * ksvg2/svg/SVGElement.cpp:
3969 * ksvg2/svg/SVGElement.h:
3970 * ksvg2/svg/SVGForeignObjectElement.cpp:
3971 * ksvg2/svg/SVGForeignObjectElement.h:
3972 * ksvg2/svg/SVGImageElement.cpp:
3973 * ksvg2/svg/SVGPoint.h:
3974 * ksvg2/svg/SVGStylable.h:
3975 * ksvg2/svg/SVGTRefElement.cpp:
3976 * ksvg2/svg/SVGTRefElement.h:
3977 * ksvg2/svg/SVGTSpanElement.cpp:
3978 * ksvg2/svg/SVGTSpanElement.h:
3979 * ksvg2/svg/SVGTextElement.h:
3980 * ksvg2/svg/svgpathparser.cpp:
3981 * ksvg2/svg/svgpathparser.h:
3983 * loader/DocLoader.h:
3984 * loader/LoaderFunctions.h:
3985 * loader/mac/LoaderFunctionsMac.mm:
3990 * platform/AffineTransform.cpp:
3991 * platform/AffineTransform.h:
3992 * platform/Arena.cpp:
3994 * platform/CookieJar.h:
3995 * platform/DeprecatedCString.cpp:
3996 * platform/DeprecatedCString.h:
3997 * platform/DeprecatedPtrList.h:
3998 * platform/DeprecatedPtrListImpl.cpp:
3999 * platform/DeprecatedPtrListImpl.h:
4000 * platform/DeprecatedPtrQueue.h:
4001 * platform/DeprecatedString.cpp:
4002 * platform/DeprecatedString.h:
4003 * platform/DeprecatedStringList.cpp:
4004 * platform/DeprecatedStringList.h:
4005 * platform/DeprecatedValueList.h:
4006 * platform/DeprecatedValueListImpl.cpp:
4007 * platform/DeprecatedValueListImpl.h:
4008 * platform/FileButton.h:
4009 * platform/FloatPoint.h:
4010 * platform/FloatRect.h:
4011 * platform/FloatSize.h:
4012 * platform/FontData.h:
4013 * platform/FontFallbackList.h:
4014 * platform/GraphicsContext.h:
4015 * platform/IntPoint.h:
4016 * platform/IntRect.h:
4017 * platform/IntSize.h:
4018 * platform/KURL.cpp:
4020 * platform/ListBox.h:
4021 * platform/Logging.cpp:
4022 * platform/Logging.h:
4024 * platform/PopUpButton.h:
4025 * platform/RegularExpression.cpp:
4026 * platform/RegularExpression.h:
4027 * platform/SSLKeyGenerator.h:
4028 * platform/ScrollBar.h:
4029 * platform/SegmentedString.h:
4030 * platform/Shared.h:
4031 * platform/Slider.h:
4032 * platform/StringImpl.h:
4033 * platform/TextBox.h:
4034 * platform/TextField.h:
4035 * platform/TextStream.cpp:
4036 * platform/TextStream.h:
4037 * platform/TransferJob.h:
4038 * platform/TransferJobClient.h:
4039 * platform/Widget.h:
4040 * platform/cg/AffineTransformCG.cpp:
4041 * platform/mac/ClipboardMac.h:
4042 * platform/mac/ClipboardMac.mm:
4043 * platform/mac/DeprecatedStringListMac.mm:
4044 * platform/mac/FontCacheMac.mm:
4045 * platform/mac/KURLMac.mm:
4046 * platform/mac/ListBoxMac.mm:
4047 * platform/mac/PopUpButtonMac.mm:
4048 * platform/mac/SSLKeyGeneratorMac.mm:
4049 * platform/mac/TextBoxMac.mm:
4050 * platform/mac/TextFieldMac.mm:
4051 * platform/mac/WebCoreTextArea.h:
4052 * platform/mac/WebCoreTextArea.mm:
4053 * platform/mac/WebCoreTextField.h:
4054 * platform/mac/WebCoreTextField.mm:
4055 * rendering/DeprecatedRenderSelect.h:
4056 * rendering/RenderArena.cpp:
4057 * rendering/RenderArena.h:
4058 * rendering/RenderBlock.cpp:
4059 * rendering/RenderBox.cpp:
4060 * rendering/RenderContainer.cpp:
4061 * rendering/RenderFlexibleBox.cpp:
4062 * rendering/RenderFlow.cpp:
4063 * rendering/RenderLayer.cpp:
4064 * rendering/RenderLineEdit.cpp:
4065 * rendering/RenderObject.h:
4066 * rendering/RenderStyle.cpp:
4067 * rendering/RenderStyle.h:
4068 * rendering/RenderText.cpp:
4069 * rendering/RenderTextFragment.cpp:
4070 * rendering/RenderTheme.h:
4071 * rendering/RenderTreeAsText.cpp:
4072 * rendering/RenderTreeAsText.h:
4073 * rendering/RenderView.h:
4075 * xml/XSLStyleSheet.cpp:
4076 * xml/XSLTProcessor.cpp:
4078 2006-07-09 Geoffrey Garen <ggaren@apple.com>
4082 * bindings/js/kjs_window.cpp:
4083 (KJS::Window::clear): Garbage collect after reinitalizing the global
4084 object, not before, since the reinitialization tends to create garbage.
4086 2006-07-09 Timothy Hatcher <timothy@apple.com>
4090 Bug 9820: Move new DOM API that has been through API review to public headers
4091 http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
4093 * bindings/objc/DOM.mm:
4094 (-[DOMElement focus]):
4095 (-[DOMElement blur]):
4097 (-[DOMRange _text]):
4098 * bindings/objc/DOMCSS.mm:
4099 (-[DOMRGBColor color]):
4100 (-[DOMRGBColor _color]):
4101 * bindings/objc/DOMCore.h:
4102 * bindings/objc/DOMEvents.h:
4103 * bindings/objc/DOMExtensions.h:
4104 * bindings/objc/DOMHTML.mm:
4105 (-[DOMHTMLElement titleDisplayString]):
4106 (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
4107 (-[DOMHTMLDocument createDocumentFragmentWithText:]):
4108 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
4109 (-[DOMHTMLDocument _createDocumentFragmentWithText:]):
4110 * bindings/objc/DOMPrivate.h:
4111 * bindings/objc/DOMXPath.h:
4112 * bindings/objc/DOMXPath.mm:
4114 2006-07-09 Beth Dakin <bdakin@apple.com>
4118 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9749 A
4119 nested content editable div causes unnecessary screen redraws.
4121 We were repainting too much because we were deciding that we needed
4122 a full layout because we didn't have a first line box. Our code
4123 used to hold a lot of assumptions that positioned elements would
4124 always have line boxes, but I fixed a few bugs a while back that
4125 appeared because this assumption isn't true. This assumption was
4126 also causing the extra redraws because the check meant that we
4127 would decide to do a full layout for any positioned element that
4128 did not have any line&nb