1 2006-03-20 Eric Seidel <eseidel@apple.com>
3 Reviewed by adele & ggaren.
5 Added new cachePluginDataIfNecessary function to update
6 plugins and mimes arrays. Made sure to call this in
7 constructor as well as refresh. The crash was caused by
8 a refresh rendering a "plugins" object invalid.
9 Changed existing test case to depend on this new correct behavior.
11 <rdar://problem/4480571> Safari crashed at exit at KXMLCore::deleteAllValues + 24
13 * khtml/ecma/kjs_navigator.cpp:
14 (KJS::PluginBase::cachePluginDataIfNecessary):
15 (KJS::PluginBase::PluginBase):
16 (KJS::PluginBase::~PluginBase):
17 (KJS::PluginBase::refresh):
19 2006-03-20 Adele Peterson <adele@apple.com>
23 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
24 When calculating the VisiblePosition for the first position in the text field, it
25 makes more sense for the position to have a downstream affinity.
27 2006-03-20 Maciej Stachowiak <mjs@apple.com>
31 <rdar://problem/4458568> WebCore should not disclose https referrers
33 * bridge/mac/WebCoreFrameBridge.mm:
34 (-[WebCoreFrameBridge canLoadURL:fromReferrer:hideReferrer:]):
35 Don't send https URLs as referrers to non-secure http sites.
37 2006-03-20 Darin Adler <darin@apple.com>
41 - http://bugzilla.opendarwin.org/show_bug.cgi?id=7867
42 get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
44 * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString,
47 * WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the
48 namespace for SVG names.
49 * ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into
50 recompiling, since they are in a different namespace now.
52 * ForwardingHeaders/kjs/identifier.h: Added.
54 * dom/PlatformWheelEvent.idl: Removed.
55 * dom/WheelEvent.idl: Added. This file was renamed by accident.
57 * bindings/js/JSDOMCore.cpp:
58 * bindings/js/JSDOMEvents.cpp:
59 * bindings/js/JSDOMHTML.cpp:
61 * dom/CharacterData.idl:
62 * dom/DOMImplementation.idl:
63 * dom/DocumentType.idl:
66 * dom/MutationEvent.idl:
68 * dom/ProcessingInstruction.idl:
70 * html/CanvasGradient.idl:
71 * html/CanvasPattern.idl:
72 * html/CanvasRenderingContext2D.idl:
73 Touched, to get CodeGeneratorJS.pm changes to take effect.
76 * css/css_valueimpl.cpp: (WebCore::propertyID):
77 Changed calls to get CSS property values to use an explicit SVG:: namespace,
78 to match what the script writes out.
80 * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String.
82 * ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
83 props: Made this compile with warnings and strict turned on.
84 Really just a trick to get properties to recompile, which turned out to be unneeded.
85 * ksvg2/scripts/cssmakevalues: Ditto.
87 * ksvg2/svg/SVGAElement.cpp:
88 (SVGAElement::parseMappedAttribute):
89 (SVGAElement::defaultEventHandler):
90 * ksvg2/svg/SVGAnimateTransformElement.cpp:
91 (SVGAnimateTransformElement::parseMappedAttribute):
92 * ksvg2/svg/SVGAnimationElement.cpp:
93 (SVGAnimationElement::parseMappedAttribute):
94 * ksvg2/svg/SVGClipPathElement.cpp:
95 (SVGClipPathElement::parseMappedAttribute):
96 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
97 (SVGComponentTransferFunctionElement::parseMappedAttribute):
98 * ksvg2/svg/SVGExternalResourcesRequired.cpp:
99 (SVGExternalResourcesRequired::parseMappedAttribute):
100 * ksvg2/svg/SVGFEBlendElement.cpp:
101 (SVGFEBlendElement::parseMappedAttribute):
102 * ksvg2/svg/SVGFEColorMatrixElement.cpp:
103 (SVGFEColorMatrixElement::parseMappedAttribute):
104 * ksvg2/svg/SVGFEComponentTransferElement.cpp:
105 (SVGFEComponentTransferElement::parseMappedAttribute):
106 * ksvg2/svg/SVGFECompositeElement.cpp:
107 (SVGFECompositeElement::parseMappedAttribute):
108 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
109 (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
110 * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
111 (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
112 (SVGFEDisplacementMapElement::stringToChannel):
113 (SVGFEDisplacementMapElement::parseMappedAttribute):
114 (SVGFEDisplacementMapElement::filterEffect):
115 * ksvg2/svg/SVGFEDisplacementMapElement.h:
116 * ksvg2/svg/SVGFEFloodElement.cpp:
117 (SVGFEFloodElement::parseMappedAttribute):
118 * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
119 (SVGFEGaussianBlurElement::parseMappedAttribute):
120 * ksvg2/svg/SVGFEImageElement.cpp:
121 (SVGFEImageElement::parseMappedAttribute):
122 * ksvg2/svg/SVGFELightElement.cpp:
123 (SVGFELightElement::parseMappedAttribute):
124 * ksvg2/svg/SVGFEMergeNodeElement.cpp:
125 (SVGFEMergeNodeElement::parseMappedAttribute):
126 * ksvg2/svg/SVGFEOffsetElement.cpp:
127 (SVGFEOffsetElement::parseMappedAttribute):
128 * ksvg2/svg/SVGFESpecularLightingElement.cpp:
129 (SVGFESpecularLightingElement::parseMappedAttribute):
130 * ksvg2/svg/SVGFETileElement.cpp:
131 (SVGFETileElement::parseMappedAttribute):
132 * ksvg2/svg/SVGFETurbulenceElement.cpp:
133 (SVGFETurbulenceElement::parseMappedAttribute):
134 * ksvg2/svg/SVGFilterElement.cpp:
135 (SVGFilterElement::parseMappedAttribute):
136 * ksvg2/svg/SVGGradientElement.cpp:
137 (SVGGradientElement::parseMappedAttribute):
138 * ksvg2/svg/SVGMaskElement.cpp:
139 (WebCore::SVGMaskElement::parseMappedAttribute):
140 * ksvg2/svg/SVGPolyElement.cpp:
141 (SVGPolyElement::parseMappedAttribute):
142 * ksvg2/svg/SVGStopElement.cpp:
143 (SVGStopElement::parseMappedAttribute):
144 * ksvg2/svg/SVGStyledElement.cpp:
145 (WebCore::SVGStyledElement::parseMappedAttribute):
146 * ksvg2/svg/SVGTests.cpp:
147 (WebCore::SVGTests::parseMappedAttribute):
148 * ksvg2/svg/SVGTextContentElement.cpp:
149 (SVGTextContentElement::parseMappedAttribute):
150 * ksvg2/svg/SVGTextPositioningElement.cpp:
151 (SVGTextPositioningElement::parseMappedAttribute):
152 * ksvg2/svg/SVGViewElement.cpp:
153 (SVGViewElement::parseMappedAttribute):
154 * ksvg2/svg/SVGZoomAndPan.cpp:
155 (SVGZoomAndPan::parseMappedAttribute):
156 Changed code that converts an AtomicString to a String to do it in a
157 more-efficient fashion that works even with all the new conversions.
160 (WebCore::getString): Removed unneeded .deprecatedString().
161 (WebCore::Frame::begin): Removed the only use of QSTRING_NULL.
163 * platform/AtomicString.h: Added conversion to and from KJS::Identifier
165 * platform/AtomicString.cpp:
166 (WebCore::AtomicString::add): Added overloads for Identifier and UString.
167 (WebCore::AtomicString::operator Identifier): Added.
168 (WebCore::AtomicString::operator UString): Added.
170 * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier
172 * platform/DeprecatedString.cpp:
173 (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString.
174 (DeprecatedString::operator Identifier): Added.
175 (DeprecatedString::operator UString): Added.
177 * platform/PlatformString.h: Added conversion to and from KJS::Identifier
179 * platform/String.cpp:
180 (WebCore::String::String): Added overloads for Identifier and UString.
181 (WebCore::String::operator Identifier): Added.
182 (WebCore::String::operator UString): Added.
184 * platform/StringImpl.h: Added constructors that take KJS::Identifier
186 * platform/StringImpl.cpp:
187 (WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar
188 instead because of ambiguity with KJS::UChar.
189 (WebCore::StringImpl::StringImpl): Added overloads for Identifier and String.
191 * bindings/js/JSCanvasRenderingContext2DBase.cpp:
192 (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
193 (WebCore::toHTMLCanvasStyle):
194 * bindings/scripts/CodeGeneratorJS.pm:
195 * bridge/mac/WebCoreFrameBridge.mm:
197 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
198 * dom/QualifiedName.cpp:
199 (WebCore::QualifiedName::toString):
200 * khtml/ecma/JSDOMParser.cpp:
201 (KJS::DOMParserProtoFunc::callAsFunction):
202 * khtml/ecma/JSXMLHttpRequest.cpp:
203 (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
204 * khtml/ecma/JSXSLTProcessor.cpp:
205 (KJS::XSLTProcessorProtoFunc::callAsFunction):
206 * khtml/ecma/kjs_binding.cpp:
207 (KJS::valueToStringWithNullCheck):
208 * khtml/ecma/kjs_css.cpp:
209 (KJS::cssPropertyName):
210 (KJS::DOMCSSStyleDeclaration::put):
211 (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
212 (KJS::DOMStyleSheetList::nameGetter):
213 (KJS::DOMStyleSheetList::getOwnPropertySlot):
214 (KJS::DOMMediaList::put):
215 (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
216 (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
217 (KJS::DOMCSSRule::putValueProperty):
218 (KJS::DOMCSSRuleFunc::callAsFunction):
219 (KJS::DOMCSSValue::put):
220 (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
221 * khtml/ecma/kjs_dom.cpp:
222 (KJS::DOMNode::putValueProperty):
223 (KJS::DOMNode::toString):
224 (KJS::DOMNodeProtoFunc::callAsFunction):
225 (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
226 (KJS::DOMNodeList::nameGetter):
227 (KJS::DOMNodeList::getOwnPropertySlot):
228 (KJS::DOMDocument::putValueProperty):
229 (KJS::DOMDocumentProtoFunc::callAsFunction):
230 (KJS::DOMElement::attributeGetter):
231 (KJS::DOMElement::getOwnPropertySlot):
232 (KJS::DOMNamedNodeMap::nameGetter):
233 (KJS::DOMNamedNodeMap::getOwnPropertySlot):
234 (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
235 (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
236 * khtml/ecma/kjs_events.cpp:
237 (KJS::JSAbstractEventListener::handleEvent):
238 (KJS::DOMEvent::getValueProperty):
239 (KJS::DOMEventProtoFunc::callAsFunction):
240 (KJS::DOMUIEventProtoFunc::callAsFunction):
241 (KJS::DOMMouseEventProtoFunc::callAsFunction):
242 (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
243 (KJS::Clipboard::putValueProperty):
244 (KJS::ClipboardProtoFunc::callAsFunction):
245 * khtml/ecma/kjs_html.cpp:
246 (KJS::HTMLDocFunction::callAsFunction):
247 (KJS::JSHTMLDocument::namedItemGetter):
248 (KJS::JSHTMLDocument::getOwnPropertySlot):
249 (KJS::JSHTMLDocument::putValueProperty):
250 (KJS::JSHTMLElement::framesetNameGetter):
251 (KJS::JSHTMLElement::getOwnPropertySlot):
252 (KJS::HTMLElementFunction::callAsFunction):
253 (KJS::JSHTMLElement::putValueProperty):
254 (KJS::JSHTMLCollection::callAsFunction):
255 (KJS::JSHTMLCollection::getNamedItems):
256 (KJS::HTMLCollectionProtoFunc::callAsFunction):
257 (KJS::OptionConstructorImp::construct):
258 * khtml/ecma/kjs_navigator.cpp:
259 (KJS::Plugins::nameGetter):
260 (KJS::Plugins::getOwnPropertySlot):
261 (KJS::MimeTypes::nameGetter):
262 (KJS::MimeTypes::getOwnPropertySlot):
263 (KJS::Plugin::nameGetter):
264 (KJS::Plugin::getOwnPropertySlot):
265 * khtml/ecma/kjs_proxy.cpp:
266 (WebCore::KJSProxy::evaluate):
267 * khtml/ecma/kjs_range.cpp:
268 (KJS::DOMRangeProtoFunc::callAsFunction):
269 * khtml/ecma/kjs_views.cpp:
270 (KJS::DOMAbstractViewProtoFunc::callAsFunction):
271 * khtml/ecma/kjs_window.cpp:
272 (KJS::parseModalDialogFeatures):
273 (KJS::showModalDialog):
274 (KJS::Window::childFrameGetter):
275 (KJS::Window::namedFrameGetter):
276 (KJS::Window::namedItemGetter):
277 (KJS::Window::getOwnPropertySlot):
279 (KJS::WindowFunc::callAsFunction):
280 (KJS::ScheduledAction::execute):
281 (KJS::Window::installTimeout):
282 (KJS::FrameArray::nameGetter):
283 (KJS::FrameArray::getOwnPropertySlot):
284 (KJS::Location::put):
285 (KJS::LocationFunc::callAsFunction):
286 (KJS::SelectionFunc::callAsFunction):
287 Removed explicit calls to domString(), sometimes replacing with explicit calls to the
288 String() constructor. Other similar changes for AtomicString and DeprecatedString use.
290 2006-03-20 Eric Seidel <eseidel@apple.com>
294 Remove many, many uses of DeprecatedString.
295 Fix various style issues throughout the touched code.
297 * bindings/objc/DOM.mm:
299 * bridge/mac/BrowserExtensionMac.mm:
300 (WebCore::BrowserExtensionMac::createNewWindow):
301 * bridge/mac/FrameMac.h:
302 (WebCore::FrameMac::bridge):
303 (WebCore::FrameMac::markedTextRange):
305 * bridge/mac/FrameMac.mm:
306 (WebCore::FrameMac::openURLRequest):
307 (WebCore::FrameMac::searchForLabelsAboveCell):
308 (WebCore::FrameMac::searchForLabelsBeforeElement):
309 (WebCore::FrameMac::matchLabelsAgainstElement):
310 (WebCore::FrameMac::findString):
311 (WebCore::FrameMac::submitForm):
312 (WebCore::FrameMac::urlSelected):
313 (WebCore::FrameMac::objectContentType):
314 (WebCore::FrameMac::createPlugin):
315 (WebCore::FrameMac::createFrame):
316 (WebCore::FrameMac::setTitle):
317 (WebCore::FrameMac::setStatusBarText):
318 (WebCore::FrameMac::advanceToNextMisspelling):
319 (WebCore::FrameMac::userAgent):
320 (WebCore::FrameMac::mimeTypeForFileName):
321 (WebCore::FrameMac::openURLFromPageCache):
322 (WebCore::FrameMac::incomingReferrer):
323 (WebCore::FrameMac::attributedString):
324 (WebCore::FrameMac::overrideMediaType):
325 (WebCore::FrameMac::shouldClose):
326 * bridge/mac/WebCoreFrameBridge.mm:
327 (-[WebCoreFrameBridge _documentTypeString]):
328 (-[WebCoreFrameBridge selectedString]):
329 (-[WebCoreFrameBridge stringForRange:]):
330 (-[WebCoreFrameBridge advanceToNextMisspelling]):
331 (-[WebCoreFrameBridge advanceToNextMisspellingStartingJustBeforeSelection]):
332 (-[WebCoreFrameBridge domain]):
333 * bridge/mac/WebCoreSettings.mm:
334 (-[WebCoreSettings setStandardFontFamily:]):
335 (-[WebCoreSettings setFixedFontFamily:]):
336 (-[WebCoreSettings setSerifFontFamily:]):
337 (-[WebCoreSettings setSansSerifFontFamily:]):
338 (-[WebCoreSettings setCursiveFontFamily:]):
339 (-[WebCoreSettings setFantasyFontFamily:]):
340 (-[WebCoreSettings setUserStyleSheetLocation:]):
341 (-[WebCoreSettings setDefaultTextEncoding:]):
342 * css/css_valueimpl.cpp:
343 (WebCore::quoteStringIfNeeded):
344 * css/cssstyleselector.cpp:
345 (WebCore::CSSStyleSelector::CSSStyleSelector):
346 (WebCore::CSSStyleSelector::setEncodedURL):
347 (WebCore::cleanpath):
348 (WebCore::checkPseudoState):
349 (WebCore::CSSStyleSelector::styleForElement):
350 (WebCore::CSSStyleSelector::styleRulesForElement):
351 (WebCore::convertToLength):
352 (WebCore::colorForCSSValue):
353 (WebCore::CSSStyleSelector::applyProperty):
354 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
355 * css/cssstyleselector.h:
356 * dom/CDATASection.cpp:
357 (WebCore::CDATASection::toString):
359 (WebCore::Document::recalcStyle):
361 (WebCore::Document::baseTarget):
362 (WebCore::Document::setBaseTarget):
363 * dom/dom_elementimpl.cpp:
364 (WebCore::Element::openTagStartToString):
365 * dom/xml_tokenizer.cpp:
366 (WebCore::handleElementAttributes):
367 (WebCore::XMLTokenizer::startElementNs):
368 * editing/SelectionController.cpp:
369 (WebCore::SelectionController::type):
370 * editing/TextIterator.cpp:
371 (WebCore::TextIterator::advance):
372 (WebCore::TextIterator::handleTextBox):
373 (WebCore::TextIterator::handleNonTextNode):
374 (WebCore::TextIterator::exitNode):
375 (WebCore::SimplifiedBackwardsTextIterator::advance):
376 (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
377 (WebCore::CharacterIterator::advance):
378 (WebCore::WordAwareIterator::advance):
379 (WebCore::WordAwareIterator::length):
380 (WebCore::WordAwareIterator::characters):
381 (WebCore::CircularSearchBuffer::CircularSearchBuffer):
382 (WebCore::CircularSearchBuffer::append):
383 (WebCore::TextIterator::rangeFromLocationAndLength):
384 (WebCore::findPlainText):
385 * editing/TextIterator.h:
386 * html/HTMLFormElement.cpp:
387 (WebCore::HTMLFormElement::formData):
388 * khtml/ecma/kjs_navigator.cpp:
389 (KJS::Navigator::getValueProperty):
390 * khtml/ecma/kjs_proxy.cpp:
391 (WebCore::KJSProxy::initScriptIfNeeded):
392 * khtml/ecma/kjs_window.cpp:
393 (KJS::Location::getValueProperty):
394 * ksvg2/misc/KCanvasRenderingStyle.cpp:
395 (WebCore::KSVGPainterFactory::fillPaintServer):
396 (WebCore::KSVGPainterFactory::strokePaintServer):
397 * ksvg2/svg/SVGAngle.cpp:
398 (SVGAngle::calculate):
399 (SVGAngle::setValueAsString):
400 (SVGAngle::valueAsString):
401 (SVGAngle::convertToSpecifiedUnits):
402 (SVGAngle::shortestArcBisector):
403 * ksvg2/svg/SVGAngle.h:
404 * ksvg2/svg/SVGAnimationElement.cpp:
405 (SVGAnimationElement::targetElement):
406 (SVGAnimationElement::parseMappedAttribute):
407 (SVGAnimationElement::parseClockValue):
408 (SVGAnimationElement::targetAttribute):
409 (SVGAnimationElement::setTargetAttribute):
410 (SVGAnimationElement::detectAnimationMode):
411 (SVGAnimationElement::calculateCurrentValueItem):
412 (SVGAnimationElement::calculateRelativeTimePercentage):
413 * ksvg2/svg/SVGColor.cpp:
414 (SVGColor::setRGBColor):
415 * ksvg2/svg/SVGDOMImplementation.cpp:
417 (SVGDOMImplementation::self):
418 (SVGDOMImplementation::hasFeature):
419 (SVGDOMImplementation::createDocumentType):
420 (SVGDOMImplementation::createDocument):
421 * ksvg2/svg/SVGDOMImplementation.h:
422 * ksvg2/svg/SVGPaint.cpp:
424 * ksvg2/svg/SVGPathSegClosePath.h:
425 (WebCore::SVGPathSegClosePath::toString):
426 * ksvg2/svg/SVGPreserveAspectRatio.cpp:
427 (SVGPreserveAspectRatio::parsePreserveAspectRatio):
428 (SVGPreserveAspectRatio::getCTM):
429 * ksvg2/svg/SVGStopElement.cpp:
430 (SVGStopElement::parseMappedAttribute):
431 * ksvg2/svg/SVGStyleElement.cpp:
432 (SVGStyleElement::childrenChanged):
433 * ksvg2/svg/SVGURIReference.cpp:
434 (SVGURIReference::getTarget):
435 * kwq/ClipboardMac.mm:
436 (WebCore::ClipboardMac::setData):
437 (WebCore::ClipboardMac::types):
438 (WebCore::ClipboardMac::setEffectAllowed):
439 (WebCore::cocoaOpFromIEOp):
440 (WebCore::IEOpFromCocoaOp):
441 (WebCore::ClipboardMac::sourceOperation):
442 (WebCore::ClipboardMac::destinationOperation):
443 * kwq/KWQCString.cpp:
444 (DeprecatedCString::append):
445 * kwq/KWQKHTMLSettings.h:
446 (KHTMLSettings::stdFontName):
447 (KHTMLSettings::fixedFontName):
448 (KHTMLSettings::serifFontName):
449 (KHTMLSettings::sansSerifFontName):
450 (KHTMLSettings::cursiveFontName):
451 (KHTMLSettings::fantasyFontName):
452 (KHTMLSettings::minFontSize):
453 (KHTMLSettings::minLogicalFontSize):
454 (KHTMLSettings::mediumFontSize):
455 (KHTMLSettings::mediumFixedFontSize):
456 (KHTMLSettings::autoLoadImages):
457 (KHTMLSettings::isJavaScriptEnabled):
458 (KHTMLSettings::JavaScriptCanOpenWindowsAutomatically):
459 (KHTMLSettings::isJavaEnabled):
460 (KHTMLSettings::isPluginsEnabled):
461 (KHTMLSettings::encoding):
462 (KHTMLSettings::userStyleSheet):
463 (KHTMLSettings::shouldPrintBackgrounds):
464 (KHTMLSettings::textAreasAreResizable):
465 (KHTMLSettings::setStdFontName):
466 (KHTMLSettings::setFixedFontName):
467 (KHTMLSettings::setSerifFontName):
468 (KHTMLSettings::setSansSerifFontName):
469 (KHTMLSettings::setCursiveFontName):
470 (KHTMLSettings::setFantasyFontName):
471 (KHTMLSettings::setMinFontSize):
472 (KHTMLSettings::setMinLogicalFontSize):
473 (KHTMLSettings::setMediumFontSize):
474 (KHTMLSettings::setMediumFixedFontSize):
475 (KHTMLSettings::setAutoLoadImages):
476 (KHTMLSettings::setIsJavaScriptEnabled):
477 (KHTMLSettings::setIsJavaEnabled):
478 (KHTMLSettings::setArePluginsEnabled):
479 (KHTMLSettings::setJavaScriptCanOpenWindowsAutomatically):
480 (KHTMLSettings::setEncoding):
481 (KHTMLSettings::setUserStyleSheet):
482 (KHTMLSettings::setShouldPrintBackgrounds):
483 (KHTMLSettings::setTextAreasAreResizable):
485 (KWQServeSynchronousRequest):
486 * kwq/KWQTextStream.cpp:
487 (QTextStream::QTextStream):
488 (QTextStream::operator<<):
489 (QTextStream::precision):
490 * kwq/KWQTextStream.h:
491 * kwq/RenderTreeAsText.cpp:
493 (quoteAndEscapeNonPrintables):
498 (WebCore::Cache::init):
499 (WebCore::Cache::requestImage):
500 (WebCore::Cache::requestStyleSheet):
501 (WebCore::Cache::preloadStyleSheet):
502 (WebCore::Cache::requestScript):
503 (WebCore::Cache::preloadScript):
504 (WebCore::Cache::requestXSLStyleSheet):
505 (WebCore::Cache::requestXBLDocument):
506 (WebCore::Cache::remove):
508 * loader/CachedCSSStyleSheet.cpp:
509 (WebCore::CachedCSSStyleSheet::error):
510 * loader/CachedCSSStyleSheet.h:
511 * loader/CachedImage.cpp:
512 (WebCore::CachedImage::error):
513 * loader/CachedImage.h:
514 * loader/CachedObject.h:
515 * loader/CachedScript.cpp:
516 (WebCore::CachedScript::checkNotify):
517 (WebCore::CachedScript::error):
518 * loader/CachedScript.h:
519 * loader/CachedXBLDocument.cpp:
520 (WebCore::CachedXBLDocument::error):
521 * loader/CachedXBLDocument.h:
522 * loader/CachedXSLStyleSheet.cpp:
523 (WebCore::CachedXSLStyleSheet::error):
524 * loader/CachedXSLStyleSheet.h:
525 * loader/DocLoader.cpp:
526 (WebCore::DocLoader::DocLoader):
527 (WebCore::DocLoader::~DocLoader):
528 (WebCore::DocLoader::needReload):
529 (WebCore::DocLoader::requestImage):
530 (WebCore::DocLoader::requestStyleSheet):
531 (WebCore::DocLoader::requestScript):
532 (WebCore::DocLoader::requestXSLStyleSheet):
533 (WebCore::DocLoader::requestXBLDocument):
534 (WebCore::DocLoader::setAutoloadImages):
535 (WebCore::DocLoader::setShowAnimations):
536 (WebCore::DocLoader::removeCachedObject):
538 (WebCore::Loader::receivedAllData):
539 (WebCore::Loader::receivedResponse):
541 (WebCore::UserStyleSheetLoader::setStyleSheet):
542 (WebCore::Frame::didOpenURL):
543 (WebCore::Frame::setMetaRefreshEnabled):
544 (WebCore::Frame::setAutoloadImages):
545 (WebCore::Frame::autoloadImages):
546 (WebCore::Frame::clear):
547 (WebCore::Frame::receivedFirstData):
548 (WebCore::Frame::begin):
549 (WebCore::Frame::write):
550 (WebCore::Frame::baseTarget):
551 (WebCore::Frame::completeURL):
552 (WebCore::Frame::scheduleRedirection):
553 (WebCore::Frame::scheduleLocationChange):
554 (WebCore::Frame::scheduleHistoryNavigation):
555 (WebCore::Frame::changeLocation):
556 (WebCore::Frame::redirectionTimerFired):
557 (WebCore::Frame::encoding):
558 (WebCore::Frame::gotoAnchor):
559 (WebCore::Frame::setStandardFont):
560 (WebCore::Frame::setFixedFont):
561 (WebCore::Frame::selectedText):
562 (WebCore::Frame::selection):
563 (WebCore::Frame::dragCaret):
564 (WebCore::Frame::setSelection):
565 (WebCore::Frame::setDragCaret):
566 (WebCore::Frame::paintCaret):
567 (WebCore::Frame::paintDragCaret):
568 (WebCore::Frame::urlSelected):
569 (WebCore::Frame::requestFrame):
570 (WebCore::Frame::requestObject):
571 (WebCore::Frame::shouldUsePlugin):
572 (WebCore::Frame::loadPlugin):
573 (WebCore::Frame::loadSubframe):
574 (WebCore::Frame::submitForm):
575 (WebCore::Frame::lastModified):
576 (WebCore::Frame::reparseConfiguration):
577 (WebCore::Frame::shouldChangeSelection):
578 (WebCore::Frame::appliedEditing):
579 (WebCore::Frame::unappliedEditing):
580 (WebCore::Frame::reappliedEditing):
581 (WebCore::Frame::executeScript):
582 (WebCore::updateState):
583 (WebCore::Frame::isCharacterSmartReplaceExempt):
584 (WebCore::Frame::openURL):
585 (WebCore::Frame::didNotOpenURL):
586 (WebCore::Frame::setEncoding):
587 (WebCore::Frame::saveInterpreterBuiltins):
588 (WebCore::Frame::restoreInterpreterBuiltins):
589 (WebCore::Frame::mutableInstances):
590 (WebCore::Frame::setPolicyBaseURL):
591 (WebCore::Frame::addMetaData):
592 (WebCore::Frame::scrollToAnchor):
593 (WebCore::Frame::setMediaType):
594 (WebCore::Frame::highlightAllMatchesForString):
595 (WebCore::Frame::tree):
597 (WebCore::Frame::instances):
598 * page/FramePrivate.h:
599 * page/FrameView.cpp:
600 (WebCore::FrameViewPrivate::FrameViewPrivate):
601 (WebCore::FrameView::FrameView):
602 (WebCore::FrameView::~FrameView):
603 (WebCore::FrameView::init):
604 (WebCore::FrameView::setMarginWidth):
605 (WebCore::FrameView::setMarginHeight):
606 (WebCore::FrameView::adjustViewSize):
607 (WebCore::FrameView::layout):
608 (WebCore::FrameView::dispatchDragEvent):
609 (WebCore::FrameView::scrollTo):
610 (WebCore::FrameView::setMediaType):
611 (WebCore::FrameView::mediaType):
612 (WebCore::FrameView::setResizingFrameSet):
613 (WebCore::FrameView::setIgnoreWheelEvents):
615 (WebCore::FrameView::frameWidth):
616 (WebCore::FrameView::marginWidth):
617 (WebCore::FrameView::marginHeight):
618 (WebCore::FrameView::ref):
619 (WebCore::FrameView::deref):
620 * page/ResourceRequest.h:
621 (WebCore::ResourceRequest::contentType):
622 (WebCore::ResourceRequest::setContentType):
623 * platform/FontFamily.h:
629 (KURL::encode_string):
632 * platform/PlatformString.h:
633 (WebCore::String::left):
634 (WebCore::String::right):
635 * platform/String.cpp:
636 (WebCore::String::toInt):
637 * platform/StringImpl.cpp:
638 (WebCore::StringImpl::toInt):
639 * platform/TransferJob.cpp:
640 (WebCore::TransferJob::queryMetaData):
641 (WebCore::TransferJob::addMetaData):
642 * platform/TransferJob.h:
643 * platform/mac/ImageMac.mm:
644 (WebCore::Image::supportsType):
645 * platform/mac/TransferJobMac.mm:
646 (WebCore::TransferJob::start):
647 * rendering/RenderObject.cpp:
648 (WebCore::RenderObject::information):
649 * rendering/RenderTextField.cpp:
650 (WebCore::RenderTextField::updateFromElement):
651 * xml/xmlhttprequest.cpp:
652 (WebCore::getMIMEType):
653 (WebCore::getCharset):
654 (WebCore::XMLHttpRequest::getReadyState):
655 (WebCore::XMLHttpRequest::getResponseText):
656 (WebCore::XMLHttpRequest::getResponseXML):
657 (WebCore::XMLHttpRequest::XMLHttpRequest):
658 (WebCore::XMLHttpRequest::~XMLHttpRequest):
659 (WebCore::XMLHttpRequest::changeState):
660 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
661 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
662 (WebCore::XMLHttpRequest::open):
663 (WebCore::XMLHttpRequest::send):
664 (WebCore::XMLHttpRequest::abort):
665 (WebCore::XMLHttpRequest::overrideMIMEType):
666 (WebCore::XMLHttpRequest::setRequestHeader):
667 (WebCore::XMLHttpRequest::getRequestHeader):
668 (WebCore::XMLHttpRequest::getAllResponseHeaders):
669 (WebCore::XMLHttpRequest::getResponseHeader):
670 (WebCore::XMLHttpRequest::responseIsXML):
671 (WebCore::XMLHttpRequest::getStatus):
672 (WebCore::XMLHttpRequest::getStatusText):
673 (WebCore::XMLHttpRequest::processSyncLoadResults):
674 (WebCore::XMLHttpRequest::receivedAllData):
675 (WebCore::XMLHttpRequest::receivedRedirect):
676 (WebCore::XMLHttpRequest::receivedData):
677 (WebCore::XMLHttpRequest::cancelRequests):
678 (WebCore::XMLHttpRequest::detachRequests):
679 * xml/xmlhttprequest.h:
681 2006-03-20 Alexey Proskuryakov <ap@nypop.com>
685 - http://bugzilla.opendarwin.org/show_bug.cgi?id=3439
686 mouseover effects can get stuck sometimes due to missing events
687 - http://bugzilla.opendarwin.org/show_bug.cgi?id=7701
688 mouseout sent to the wrong element when layout changes simultaneously
690 Implemented saving the previous node under the mouse, so that we don't need to
691 recalculate it, which is slow and even not really possible. This has fixed a number
692 of issues with mouse event dispatching when the content changes.
693 The code still needs refactoring and cleanup, see bug 3439 for comments.
695 Tests (both files perform multiple checks):
696 - fast/events/mouseover-mouseout.html
697 - fast/events/mouseover-mouseout2.html
699 * page/Frame.h: Added a Frame parameter to passSubframeEventToSubframe(),
700 used for mouseMoved events.
701 * bridge/mac/FrameMac.h: Ditto.
702 * bridge/mac/FrameMac.mm:
703 (WebCore::FrameMac::passSubframeEventToSubframe): Use the passed subframe to target
705 * page/FrameView.h: Added a prepareMouseEvent() helper that does viewportToContents translation.
706 * page/FrameView.cpp: Added data members for storing the previous node and subframe
707 under the mouse to FrameViewPrivate. Removed the now unused prevMouseX/prevMouseY.
708 (WebCore::FrameViewPrivate::reset): Reset the new data members.
709 (WebCore::subframeForEvent): A temporary place for the code that extracts a subframe
710 pointer from MouseEventWithHitTestResults, moved from FrameMac::passSubframeEventToSubframe().
711 (WebCore::FrameView::prepareMouseEvent): The new helper.
712 (WebCore::FrameView::handleMousePressEvent): Use the new helper.
713 (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
714 (WebCore::FrameView::handleMouseReleaseEvent): Ditto.
715 (WebCore::FrameView::updateDragAndDrop): Ditto.
716 (WebCore::FrameView::hoverTimerFired): Ditto.
717 (WebCore::FrameView::dispatchMouseEvent): Store and use the oldUnder node, don't store
719 (WebCore::FrameView::handleMouseMoveEvent): Rewrote dispatching events to subframes using
720 a stored oldSubframe reference. Protect "this" from being removed while in this function.
722 2006-03-20 Darin Adler <darin@apple.com>
726 - http://bugzilla.opendarwin.org/show_bug.cgi?id=7875
727 autogenerate bindings for Range
729 * dom/Range.idl: Added.
730 * khtml/ecma/kjs_range.cpp: Removed.
731 * khtml/ecma/kjs_range.h: Removed.
733 * WebCore.vcproj/WebCore/build-generated-files.sh: Removed code to generate
736 * WebCore.xcodeproj/project.pbxproj: Added Range.idl source file.
737 Removed kjs_range.h and kjs_range.cpp source files. Sorted the "dom" group.
738 Removed rule to generate kjs_range.lut.h.
740 * bindings/js/JSDOMCore.cpp: Added include of JSRange.cpp.
742 * bindings/scripts/CodeGeneratorJS.pm: Added DocumentFragment, Range, CompareHow,
743 and short to the types this script can handle. Added code to generate toRange
744 functions and the like. Added separate code to handle exceptions for getters
745 vs. setters for attributes. Changed return values for the "bad ID" case to 0
746 -- there's no need to generate the extra code to return jsUndefined() in such
747 cases, which should be unreachable. Changed exception handling to use setDOMException
748 directly instead of DOMExceptionTranslator; DOMExceptionTranslator was a trick
749 to make it easier to convert existing bindings and shouldn't be used going
750 forward. Fixed names of constructors to use the JavaScript class name (the
751 interface name), not the name of the C++ implementation class. Fixed generation
752 of code for functions that have no parameters but do raise exceptions.
754 * bindings/scripts/IDLParser.pm: Added parsing for separate getter and setter
755 exceptions in attributes. The syntax is not real IDL, but real IDL doesn't support
756 declaring exceptions on attributes at all. We'll probably want to revisit our
757 syntax for this some day.
759 * bindings/scripts/IDLStructure.pm: Removed unused exceptionName field from
760 domAttribute, and replaced raisesExceptions field with getterExceptions and
761 setterExceptions. Added regular expressions for parsing getter/setter syntax.
762 We'll probably have to redo this whole thing parse in a better way at some
763 point -- the regular expressions allow any invalid syntax in between them.
765 * dom/Attr.idl: Change exception declaration for setting the value attribute
766 to use setter-specific exception syntax.
767 * dom/CharacterData.idl: Change exception declaration for setting the data
768 attribute to use setter-specific exception syntax.
769 * dom/ProcessingInstruction.idl: Change exception declaration for setting the
770 data attribute to use setter-specific exception syntax.
772 * khtml/ecma/kjs_dom.cpp: Include JSRange.h instead of kjs_range.h.
773 * khtml/ecma/kjs_window.cpp: Include JSRange.h instead of kjs_range.h.
774 (KJS::Window::getValueProperty): Use JSRange::getConstructor instead of
777 2006-03-20 Eric Seidel <eseidel@apple.com>
783 * Viewer/ImageView.cpp:
784 * platform/GraphicsContext.cpp:
785 (WebCore::WebCore::GraphicsContext::createGraphicsContextPrivate):
786 (WebCore::WebCore::GraphicsContext::destroyGraphicsContextPrivate):
787 * platform/cairo/GraphicsContextCairo.cpp:
788 (WebCore::fillRectSourceOver):
789 (WebCore::GraphicsContext::drawLine):
790 (WebCore::GraphicsContext::drawFocusRing):
791 * platform/win/FontWin.cpp:
792 (WebCore::Font::drawHighlightForText):
793 (WebCore::Font::drawLineForText):
795 2006-03-19 Darin Adler <darin@apple.com>
797 Rubber stamped by Eric.
799 - moved khtml/html files all into html directory
801 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new paths.
802 * WebCore.vcproj/WebCore/build-generated-files.sh: Ditto.
803 * WebCore.xcodeproj/project.pbxproj: Ditto.
805 * khtml/html: Removed.
807 * html/DocTypeStrings.gperf: Moved.
808 * html/FormDataList.cpp: Ditto.
809 * html/FormDataList.h: Ditto.
810 * html/HTMLBaseFontElement.cpp: Ditto.
811 * html/HTMLBaseFontElement.h: Ditto.
812 * html/HTMLButtonElement.cpp: Ditto.
813 * html/HTMLButtonElement.h: Ditto.
814 * html/HTMLCanvasElement.cpp: Ditto.
815 * html/HTMLCanvasElement.h: Ditto.
816 * html/HTMLCollection.cpp: Ditto.
817 * html/HTMLCollection.h: Ditto.
818 * html/HTMLDocument.cpp: Ditto.
819 * html/HTMLDocument.h: Ditto.
820 * html/HTMLElement.cpp: Ditto.
821 * html/HTMLElement.h: Ditto.
822 * html/HTMLElementFactory.cpp: Ditto.
823 * html/HTMLElementFactory.h: Ditto.
824 * html/HTMLEntityNames.gperf: Ditto.
825 * html/HTMLFieldSetElement.cpp: Ditto.
826 * html/HTMLFieldSetElement.h: Ditto.
827 * html/HTMLFormCollection.cpp: Ditto.
828 * html/HTMLFormCollection.h: Ditto.
829 * html/HTMLFormElement.cpp: Ditto.
830 * html/HTMLFormElement.h: Ditto.
831 * html/HTMLGenericFormElement.cpp: Ditto.
832 * html/HTMLGenericFormElement.h: Ditto.
833 * html/HTMLInputElement.cpp: Ditto.
834 * html/HTMLInputElement.h: Ditto.
835 * html/HTMLIsIndexElement.cpp: Ditto.
836 * html/HTMLIsIndexElement.h: Ditto.
837 * html/HTMLKeygenElement.cpp: Ditto.
838 * html/HTMLKeygenElement.h: Ditto.
839 * html/HTMLLabelElement.cpp: Ditto.
840 * html/HTMLLabelElement.h: Ditto.
841 * html/HTMLLegendElement.cpp: Ditto.
842 * html/HTMLLegendElement.h: Ditto.
843 * html/HTMLNameCollection.cpp: Ditto.
844 * html/HTMLNameCollection.h: Ditto.
845 * html/HTMLNames.cpp: Ditto.
846 * html/HTMLNames.h: Ditto.
847 * html/HTMLOptGroupElement.cpp: Ditto.
848 * html/HTMLOptGroupElement.h: Ditto.
849 * html/HTMLOptionElement.cpp: Ditto.
850 * html/HTMLOptionElement.h: Ditto.
851 * html/HTMLOptionsCollection.cpp: Ditto.
852 * html/HTMLOptionsCollection.h: Ditto.
853 * html/HTMLParser.cpp: Ditto.
854 * html/HTMLParser.h: Ditto.
855 * html/HTMLSelectElement.cpp: Ditto.
856 * html/HTMLSelectElement.h: Ditto.
857 * html/HTMLTextAreaElement.cpp: Ditto.
858 * html/HTMLTextAreaElement.h: Ditto.
859 * html/HTMLTextFieldInnerElement.cpp: Ditto.
860 * html/HTMLTextFieldInnerElement.h: Ditto.
861 * html/HTMLTokenizer.cpp: Ditto.
862 * html/HTMLTokenizer.h: Ditto.
863 * html/html_baseimpl.cpp: Ditto.
864 * html/html_baseimpl.h: Ditto.
865 * html/html_blockimpl.cpp: Ditto.
866 * html/html_blockimpl.h: Ditto.
867 * html/html_headimpl.cpp: Ditto.
868 * html/html_headimpl.h: Ditto.
869 * html/html_imageimpl.cpp: Ditto.
870 * html/html_imageimpl.h: Ditto.
871 * html/html_inlineimpl.cpp: Ditto.
872 * html/html_inlineimpl.h: Ditto.
873 * html/html_listimpl.cpp: Ditto.
874 * html/html_listimpl.h: Ditto.
875 * html/html_objectimpl.cpp: Ditto.
876 * html/html_objectimpl.h: Ditto.
877 * html/html_tableimpl.cpp: Ditto.
878 * html/html_tableimpl.h: Ditto.
880 * bindings/objc/DOM.mm:
881 * bridge/mac/WebCoreEncodings.mm:
882 * bridge/mac/WebCoreFrameBridge.mm:
884 * css/cssstyleselector.cpp:
886 * dom/EventTargetNode.cpp:
887 * dom/NameNodeList.cpp:
890 * dom/dom_elementimpl.cpp:
891 * dom/xml_tokenizer.cpp:
892 * editing/ApplyStyleCommand.cpp:
893 * editing/BreakBlockquoteCommand.cpp:
894 * editing/CompositeEditCommand.cpp:
895 * editing/DeleteSelectionCommand.cpp:
896 * editing/InsertLineBreakCommand.cpp:
897 * editing/InsertParagraphSeparatorCommand.cpp:
898 * editing/JSEditor.cpp:
899 * editing/ReplaceSelectionCommand.cpp:
900 * editing/TextIterator.cpp:
901 * editing/VisiblePosition.cpp:
902 * editing/htmlediting.cpp:
903 * editing/markup.cpp:
904 * editing/visible_units.cpp:
905 * html/CanvasRenderingContext2D.cpp:
906 * kcanvas/KCanvasTreeDebug.cpp:
907 * khtml/ecma/JSDOMParser.cpp:
908 * khtml/ecma/kjs_css.cpp:
909 * khtml/ecma/kjs_dom.cpp:
910 * khtml/ecma/kjs_events.cpp:
911 * khtml/misc/decoder.cpp:
912 * khtml/xsl/XSLStyleSheet.cpp:
913 * khtml/xsl/XSLTProcessor.cpp:
914 * ksvg2/misc/SVGImageLoader.h:
915 * ksvg2/svg/SVGElement.cpp:
916 * ksvg2/svg/SVGSVGElement.cpp:
917 * kwq/WebCoreAXObject.mm:
919 * page/FrameView.cpp:
920 * rendering/RenderBlock.cpp:
921 * rendering/RenderBox.cpp:
922 * rendering/RenderFlow.cpp:
923 * rendering/RenderHTMLCanvas.cpp:
924 * rendering/RenderImage.cpp:
925 * rendering/RenderLayer.cpp:
926 * rendering/RenderObject.cpp:
927 * rendering/RenderTable.cpp:
928 * rendering/RenderTableCell.cpp:
929 * rendering/RenderTableCol.cpp:
930 * rendering/RenderTableRow.cpp:
931 * rendering/RenderTableSection.cpp:
932 * rendering/RenderTextField.cpp:
933 * rendering/RenderTheme.cpp:
934 * rendering/render_applet.cpp:
935 * rendering/render_button.cpp:
936 * rendering/render_frames.cpp:
937 * rendering/render_list.cpp:
940 2006-03-17 Eric Seidel <eseidel@apple.com>
944 Move Form code from MacFrame to Frame.
945 Move GraphicsContext code from GraphicsContextMac to GraphicsContext.
946 Use IntRect, FloatRect in more places throughout the code.
947 http://bugzilla.opendarwin.org/show_bug.cgi?id=7824
949 * bridge/mac/MacFrame.h:
950 * bridge/mac/MacFrame.mm:
951 (WebCore::MacFrame::MacFrame):
952 (WebCore::MacFrame::searchForLabelsAboveCell):
953 (WebCore::MacFrame::searchForLabelsBeforeElement):
954 (WebCore::dictionaryFromHashMap):
955 (WebCore::MacFrame::submitForm):
956 (WebCore::MacFrame::setView):
957 (WebCore::MacFrame::currentEventIsMouseDownInWidget):
958 (WebCore::MacFrame::currentEventIsKeyboardOptionTab):
959 (WebCore::MacFrame::handleKeyboardOptionTabInView):
960 (WebCore::MacFrame::tabsToAllControls):
961 (WebCore::MacFrame::shouldDragAutoNode):
962 (WebCore::MacFrame::selectionImage):
963 (WebCore::MacFrame::snapshotDragImage):
964 * bridge/mac/WebCoreFrameBridge.mm:
965 (-[WebCoreFrameBridge nextKeyView]):
966 (-[WebCoreFrameBridge previousKeyView]):
967 (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
968 (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
969 * kcanvas/RenderSVGImage.cpp:
970 (WebCore::RenderSVGImage::paint):
972 (WebCore::Frame::Frame):
973 (WebCore::Frame::clearRecordedFormValues):
974 (WebCore::Frame::recordFormValue):
975 (WebCore::Frame::didNotOpenURL):
976 (WebCore::scanForForm):
977 (WebCore::Frame::paint):
978 (WebCore::Frame::prepareForUserAction):
980 * platform/GraphicsContext.cpp:
981 (WebCore::GraphicsContextState::GraphicsContextState):
982 (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
983 (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
984 (WebCore::GraphicsContext::save):
985 (WebCore::GraphicsContext::restore):
986 (WebCore::GraphicsContext::font):
987 (WebCore::GraphicsContext::setFont):
988 (WebCore::GraphicsContext::pen):
989 (WebCore::GraphicsContext::setPen):
990 (WebCore::GraphicsContext::setBrush):
991 (WebCore::GraphicsContext::brush):
992 (WebCore::GraphicsContext::setUsesInactiveTextBackgroundColor):
993 (WebCore::GraphicsContext::usesInactiveTextBackgroundColor):
994 (WebCore::GraphicsContext::updatingControlTints):
995 (WebCore::GraphicsContext::setUpdatingControlTints):
996 (WebCore::GraphicsContext::setPaintingDisabled):
997 (WebCore::GraphicsContext::paintingDisabled):
998 (WebCore::GraphicsContext::printing):
999 (WebCore::GraphicsContext::drawImageAtPoint):
1000 (WebCore::GraphicsContext::drawImageInRect):
1001 (WebCore::GraphicsContext::drawImage):
1002 (WebCore::GraphicsContext::initFocusRing):
1003 (WebCore::GraphicsContext::clearFocusRing):
1004 (WebCore::GraphicsContext::addFocusRingRect):
1005 (WebCore::GraphicsContext::focusRingWidth):
1006 (WebCore::GraphicsContext::focusRingOffset):
1007 (WebCore::GraphicsContext::focusRingRects):
1008 * platform/GraphicsContext.h:
1009 * platform/mac/GraphicsContextMac.mm:
1010 (WebCore::fillRectSourceOver):
1011 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1012 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
1013 (WebCore::GraphicsContext::GraphicsContext):
1014 (WebCore::GraphicsContext::~GraphicsContext):
1015 (WebCore::GraphicsContext::savePlatformState):
1016 (WebCore::GraphicsContext::restorePlatformState):
1017 (WebCore::GraphicsContext::drawRect):
1018 (WebCore::GraphicsContext::setColorFromBrush):
1019 (WebCore::GraphicsContext::setColorFromPen):
1020 (WebCore::GraphicsContext::drawLine):
1021 (WebCore::GraphicsContext::drawEllipse):
1022 (WebCore::GraphicsContext::drawArc):
1023 (WebCore::GraphicsContext::drawConvexPolygon):
1024 (WebCore::GraphicsContext::drawFloatImage):
1025 (WebCore::GraphicsContext::drawTiledImage):
1026 (WebCore::GraphicsContext::drawScaledAndTiledImage):
1027 (WebCore::GraphicsContext::selectedTextBackgroundColor):
1028 (WebCore::GraphicsContext::fillRect):
1029 (WebCore::GraphicsContext::addClip):
1030 (WebCore::GraphicsContext::addRoundedRectClip):
1031 (WebCore::GraphicsContext::beginTransparencyLayer):
1032 (WebCore::GraphicsContext::endTransparencyLayer):
1033 (WebCore::GraphicsContext::setShadow):
1034 (WebCore::GraphicsContext::clearShadow):
1035 (WebCore::GraphicsContext::drawFocusRing):
1036 * rendering/render_box.cpp:
1037 (WebCore::RenderBox::paintBackgroundExtended):
1038 (WebCore::RenderBox::outlineBox):
1039 * rendering/render_frames.cpp:
1040 (WebCore::RenderFrameSet::userResize):
1041 * rendering/render_image.cpp:
1042 (WebCore::RenderImage::paint):
1043 * rendering/render_list.cpp:
1044 (WebCore::RenderListMarker::paint):
1045 * rendering/render_object.cpp:
1046 (WebCore::RenderObject::drawBorder):
1047 (WebCore::RenderObject::paintBorderImage):
1049 2006-03-19 Darin Adler <darin@apple.com>
1053 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7854
1054 CanvasGradient leaks
1056 * html/CanvasGradient.cpp: (WebCore::CanvasGradient::platformShading):
1057 Don't make the CG shading object keep a reference to the DOM gradient object.
1058 I got confused because in the case of a CanvasPattern, the pattern does need
1059 to keep a reference to the DOM pattern object, but the object lifetime is
1060 handled differently here. The CG shading object is used right away, not set
1061 in a graphics context.
1063 2006-03-19 Darin Adler <darin@apple.com>
1067 - attempt to fix the buildbot by handling DOMImplementation another way
1069 * WebCore.xcodeproj/project.pbxproj: Added DOMImplementationFront.h/cpp.
1071 * bindings/objc/DOMImplementationFront.cpp: Added.
1072 * bindings/objc/DOMImplementationFront.h: Added.
1074 * bindings/objc/DOMInternal.h: Use DOMImplementationFront, not DOMImplementation.
1075 * bindings/objc/DOM.mm:
1076 (-[DOMImplementation dealloc]): Ditto.
1077 (-[DOMImplementation finalize]): Ditto.
1078 (-[DOMImplementation _initWithDOMImplementation:]): Ditto.
1079 (+[DOMImplementation _DOMImplementationWith:]): Ditto.
1080 (-[DOMImplementation _DOMImplementation]): Ditto.
1081 (-[DOMDocument implementation]): Call implementationFront from the
1082 DOMImplementationFront header instead of using the real implementation
1083 function on the Document.
1085 2006-03-19 Darin Adler <darin@apple.com>
1087 - global rename, done by script
1089 * <lots of files>: Renamed XXXImpl to XXX, and a number of other renames.
1090 See WebKitTools/Scripts/do-webcore-rename version 13392 for details.
1092 2006-03-19 Darin Adler <darin@apple.com>
1094 - roll out fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6314
1095 Unclosed <style> element in <head> makes page completely blank
1097 This fix was breaking major sites -- details in the bug report.
1099 * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
1100 Removed the bug fix, added a FIXME about the <title> code that has
1103 2006-03-18 David Carson <dacarson@gmail.com>
1105 Test: fast/canvas/patternfill-repeat.html
1109 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7830
1110 <canvas> createPattern 'repeat' options fail
1112 * CanvasPattern.cpp (CanvasPattern::createPattern)
1113 Change stepping so that repeat-x, repeat-y, and no-repeat repeat
1114 outside the view area by using large values for repeat interval.
1116 2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
1118 Test: fast/dom/Element/class-attribute-whitespace.html
1122 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7761
1123 Tabs in class attribute not treated as whitespace
1125 * dom/dom_elementimpl.cpp:
1126 (WebCore::isClassWhitespace): Helper function to check if a character
1127 in the class attribute should be treated as whitespace. Added \r and \t.
1128 (WebCore::NamedMappedAttrMapImpl::parseClassAttribute): Instead of creating
1129 a QStringList and iterating it, do everything in one pass over the string.
1131 2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
1133 Test: fast/block/float/vertical-move-relayout.html
1137 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6795
1138 Slow image load causes render problem
1140 * rendering/RenderBlock.cpp:
1141 (WebCore::RenderBlock::layoutBlockChildren): Call markAllDescendantsWithFloatsForLayout
1142 when the child's vertical position changes.
1144 2006-03-18 David Kilzer <ddkilzer@kilzer.net>
1148 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6314
1149 Unclosed <style> element in <head> makes page completely blank
1151 Test: fast/js/exception-linenums-in-html-3.html
1152 Test: fast/js/missing-style-end-tag-js.html
1153 Test: fast/tokenizer/missing-style-end-tag-1.html
1154 Test: fast/tokenizer/missing-style-end-tag-2.html
1156 * khtml/html/htmlparser.cpp:
1157 (WebCore::HTMLParser::handleError): Add check for missing </style> tag and handle
1158 this condition if identified.
1159 * khtml/html/htmltokenizer.cpp:
1160 (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
1161 document looking for a </style> tag, reset the state of the tokenizer and
1162 retokenize with no special handling for <style>. The parser will handle the
1163 missing </style> tag in HTMLParser::handleError().
1165 2006-03-18 Rob Buis <buis@kde.org>
1169 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5351:
1170 SVG: Safari ignores <title> elements
1172 Make SVGTitleElementImpl act the same as HTMLTitleElementImpl,
1173 in the process setting the title on the right triggers.
1175 * ksvg2/svg/SVGTitleElementImpl.cpp:
1176 (SVGTitleElementImpl::SVGTitleElementImpl):
1177 (SVGTitleElementImpl::title):
1178 (SVGTitleElementImpl::closeRenderer):
1179 (SVGTitleElementImpl::insertedIntoDocument):
1180 (SVGTitleElementImpl::removedFromDocument):
1181 (SVGTitleElementImpl::childrenChanged):
1182 * ksvg2/svg/SVGTitleElementImpl.h:
1184 2006-03-18 Darin Adler <darin@apple.com>
1186 - another try at fixing Windows build
1188 * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTargetNodeImpl.h and .cpp.
1190 2006-03-18 Darin Adler <darin@apple.com>
1192 - another try at fixing Windows build
1194 * bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress): Added EventTargetNodeCast.
1196 2006-03-18 Darin Adler <darin@apple.com>
1198 - try to fix Windows build
1200 * bridge/win/FrameWin.h: Remove KURL parameter.
1201 * bridge/win/FrameWin.cpp: (WebCore::FrameWin::urlSelected): Ditto.
1202 * platform/win/TemporaryLinkStubs.cpp: (BrowserExtensionWin::canRunModal): Ditto.
1204 2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
1208 - fix leaks caused by the fix for Bugzilla bug 3560
1210 * rendering/RenderContainer.cpp:
1211 (WebCore::RenderContainer::destroyLeftoverChildren): Text renderers with
1212 first-letter pseudo style are children of an existing first-letter inline
1213 that has been updated, and should be destroyed.
1215 2006-03-18 David Hyatt <hyatt@apple.com>
1217 Fix for bug 7841, tables, table rows, and table row groups should
1218 all support overflow:hidden.
1222 * css/cssstyleselector.cpp:
1223 (WebCore::CSSStyleSelector::adjustRenderStyle):
1224 * rendering/RenderTable.cpp:
1225 (WebCore::RenderTable::layout):
1226 (WebCore::RenderTable::paint):
1227 (WebCore::RenderTable::getOverflowClipRect):
1228 * rendering/RenderTable.h:
1229 * rendering/RenderTableCol.h:
1230 (WebCore::RenderTableCol::requiresLayer):
1231 * rendering/RenderTableRow.h:
1232 (WebCore::RenderTableRow::requiresLayer):
1233 * rendering/render_box.cpp:
1234 (WebCore::RenderBox::setStyle):
1235 * rendering/render_layer.cpp:
1236 (WebCore::RenderLayer::paintLayer):
1238 2006-03-17 Alice Liu <alice.liu@apple.com>
1242 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6999
1243 "Dynamically added link-tag disables the use of change styles
1246 * khtml/html/html_headimpl.cpp:
1247 (WebCore::HTMLLinkElementImpl::process):
1248 - dynamically added link-tags for stylesheets were messing up the
1249 counting of pending stylesheets. If a head link element
1250 specifies a new stylesheet but the previously specified
1251 stylesheet is still loading, tell the document that stylesheets
1252 are loaded so that there are no remaining requests for it to be
1255 2006-03-17 Geoffrey Garen <ggaren@apple.com>
1259 - Fixed some crashes in event dispatch and settled the question of
1260 when getDocument() can return NULL, removing superfluous NULL checks.
1262 I promise to check in a test case soon, but I need to land this before
1263 the global rename happens, and I left the test file on my other machine.
1267 (1) Removed NULL checks for getDocument() in cases where we know it
1268 should not return NULL (which turned out to be all but one). Replaced
1269 with ASSERT inside getDocument(). Tested to ensure there was no
1270 regression @ albertsons.com.
1272 (2) Added the EventTargetNode class, which represents Nodes that
1273 implement the DOM EventTarget interface. Discussed this design with
1274 Maciej and Hyatt. The previous dsign -- assuming that all Nodes were
1275 EventTargets -- made it possible to crash WebKit by, for example,
1276 dispatching a mouse event to a documentType node that was not
1277 associated with a document.
1279 (3) Reflected (2) into the JS bindings and touched JSDOMCore.cpp to
1282 (4) Using classInfo checking, strengthened type constraints on
1283 JavaScript method dispatch so that you can't finagle JavaScript into,
1284 for example, invoking a document-dependent method belonging to a
1285 node type that's guaranteed to have a document on a node type that may
1288 (5) Pushed some IE-specific JS bindings that depend on a node having a
1289 document down from DOMNode to DOMElement. (An element always has a
1290 document.) Tested that Firefox's behavior matched. Confirmed with MSDN.
1292 (6) Updated Objc bindigns to throw an exception if you try to use
1293 the event interface on a node that doesn't support it. Discussed this
1294 design with Maciej and TimH.
1296 (7) Consolidated repeated documentElement-finding code in the Position
1297 class into the Position::documentElement() method. Did the same for
1298 repeated top-level document finding and DocumentImpl::topDocument().
1300 * WebCore+SVG/KDOMHeaders.h:
1301 * WebCore.xcodeproj/project.pbxproj:
1302 * bindings/js/JSDOMCore.cpp:
1303 * bindings/objc/DOM.mm:
1304 (-[DOMNode addEventListener:::]):
1305 (-[DOMNode removeEventListener:::]):
1306 (-[DOMNode dispatchEvent:]):
1307 (-[DOMNode KJS::Bindings::]):
1308 * bridge/mac/MacFrame.mm:
1309 (WebCore::MacFrame::keyEvent):
1310 (WebCore::MacFrame::dispatchCPPEvent):
1311 * bridge/mac/WebCoreFrameBridge.mm:
1312 (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
1313 (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
1315 (WebCore::StyleBaseImpl::baseURL):
1316 * css/css_computedstyle.cpp:
1317 (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
1318 * css/css_valueimpl.cpp:
1319 (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
1320 (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
1321 * css/cssstyleselector.cpp:
1322 (WebCore::CSSStyleSelector::applyProperty):
1324 * dom/CharacterData.idl:
1325 * dom/CharacterDataImpl.cpp:
1326 (WebCore::CharacterDataImpl::CharacterDataImpl):
1327 (WebCore::CharacterDataImpl::rendererIsNeeded):
1328 (WebCore::CharacterDataImpl::dump):
1329 * dom/CharacterDataImpl.h:
1330 * dom/ContainerNodeImpl.cpp:
1331 (WebCore::ContainerNodeImpl::ContainerNodeImpl):
1332 (WebCore::ContainerNodeImpl::removeChild):
1333 (WebCore::ContainerNodeImpl::attach):
1334 (WebCore::ContainerNodeImpl::detach):
1335 (WebCore::ContainerNodeImpl::insertedIntoDocument):
1336 (WebCore::ContainerNodeImpl::removedFromDocument):
1337 (WebCore::ContainerNodeImpl::insertedIntoTree):
1338 (WebCore::ContainerNodeImpl::removedFromTree):
1339 (WebCore::ContainerNodeImpl::setFocus):
1340 (WebCore::ContainerNodeImpl::setActive):
1341 (WebCore::ContainerNodeImpl::setHovered):
1342 (WebCore::dispatchChildInsertionEvents):
1343 (WebCore::dispatchChildRemovalEvents):
1344 * dom/ContainerNodeImpl.h:
1345 * dom/DOMImplementationImpl.cpp:
1346 (WebCore::DOMImplementationImpl::createDocument):
1347 * dom/DocumentImpl.cpp:
1348 (WebCore::DocumentImpl::removeAllEventListenersFromAllNodes):
1349 (WebCore::DocumentImpl::removeAllDisconnectedNodeEventListeners):
1350 (WebCore::DocumentImpl::getAccObjectCache):
1351 (WebCore::DocumentImpl::setFocusNode):
1352 (WebCore::DocumentImpl::topDocument):
1354 * dom/EventTargetNodeImpl.cpp: Added.
1355 (WebCore::EventTargetNodeImpl::EventTargetNodeImpl):
1356 (WebCore::EventTargetNodeImpl::~EventTargetNodeImpl):
1357 (WebCore::EventTargetNodeImpl::insertedIntoDocument):
1358 (WebCore::EventTargetNodeImpl::removedFromDocument):
1359 (WebCore::EventTargetNodeImpl::addEventListener):
1360 (WebCore::EventTargetNodeImpl::removeEventListener):
1361 (WebCore::EventTargetNodeImpl::removeAllEventListeners):
1362 (WebCore::EventTargetNodeImpl::handleLocalEvents):
1363 (WebCore::EventTargetNodeImpl::dispatchGenericEvent):
1364 (WebCore::EventTargetNodeImpl::dispatchEvent):
1365 (WebCore::EventTargetNodeImpl::dispatchSubtreeModifiedEvent):
1366 (WebCore::EventTargetNodeImpl::dispatchWindowEvent):
1367 (WebCore::EventTargetNodeImpl::dispatchUIEvent):
1368 (WebCore::EventTargetNodeImpl::dispatchKeyEvent):
1369 (WebCore::EventTargetNodeImpl::dispatchMouseEvent):
1370 (WebCore::EventTargetNodeImpl::dispatchSimulatedMouseEvent):
1371 (WebCore::EventTargetNodeImpl::dispatchWheelEvent):
1372 (WebCore::EventTargetNodeImpl::dispatchHTMLEvent):
1373 (WebCore::EventTargetNodeImpl::removeHTMLEventListener):
1374 (WebCore::EventTargetNodeImpl::setHTMLEventListener):
1375 (WebCore::EventTargetNodeImpl::getHTMLEventListener):
1376 (WebCore::EventTargetNodeImpl::disabled):
1377 (WebCore::EventTargetNodeImpl::defaultEventHandler):
1378 (WebCore::EventTargetNodeImpl::dump):
1379 * dom/EventTargetNodeImpl.h: Added.
1380 (WebCore::EventTargetNodeImpl::isEventTargetNode):
1381 (WebCore::EventTargetNodeImpl::preDispatchEventHandler):
1382 (WebCore::EventTargetNodeImpl::postDispatchEventHandler):
1383 (WebCore::EventTarget):
1384 (WebCore::forbidEventDispatch):
1385 (WebCore::allowEventDispatch):
1386 (WebCore::eventDispatchForbidden):
1388 (WebCore::NodeImpl::NodeImpl):
1389 (WebCore::NodeImpl::~NodeImpl):
1390 (WebCore::NodeImpl::dump):
1391 (WebCore::NodeImpl::detach):
1392 (WebCore::NodeImpl::insertedIntoDocument):
1393 (WebCore::NodeImpl::removedFromDocument):
1395 (WebCore::NodeImpl::isEventTargetNode):
1396 (WebCore::NodeImpl::isLink):
1397 (WebCore::NodeImpl::getDocument):
1398 (WebCore::NodeImpl::inDocument):
1399 * dom/dom2_eventsimpl.cpp:
1400 (WebCore::MouseRelatedEventImpl::receivedTarget):
1401 * dom/dom2_rangeimpl.cpp:
1402 (WebCore::RangeImpl::commonAncestorContainer):
1403 * dom/dom_elementimpl.cpp:
1404 (WebCore::inHTMLDocument):
1405 (WebCore::ElementImpl::focus):
1406 (WebCore::ElementImpl::blur):
1407 (WebCore::StyledElementImpl::parseMappedAttribute):
1408 * dom/dom_position.cpp:
1409 (WebCore::Position::documentElement):
1410 * dom/dom_position.h:
1411 * editing/ReplaceSelectionCommand.cpp:
1412 (WebCore::computeAndStoreNodeDesiredStyle):
1413 * editing/SelectionController.cpp:
1414 (WebCore::SelectionController::needsCaretRepaint):
1415 * editing/visible_units.cpp:
1416 (WebCore::previousBoundary):
1417 (WebCore::nextBoundary):
1418 (WebCore::previousLinePosition):
1419 (WebCore::nextLinePosition):
1420 (WebCore::startOfDocument):
1421 (WebCore::endOfDocument):
1422 * khtml/ecma/kjs_dom.cpp:
1423 (KJS::DOMNode::mark):
1424 (KJS::DOMNode::getValueProperty):
1425 (KJS::DOMNode::putValueProperty):
1426 (KJS::DOMNodeProtoFunc::callAsFunction):
1427 (KJS::DOMEventTargetNode::DOMEventTargetNode):
1428 (KJS::DOMEventTargetNode::getOwnPropertySlot):
1429 (KJS::DOMEventTargetNode::getValueProperty):
1430 (KJS::DOMEventTargetNode::put):
1431 (KJS::DOMEventTargetNode::putValueProperty):
1432 (KJS::DOMEventTargetNode::setListener):
1433 (KJS::DOMEventTargetNode::getListener):
1434 (KJS::DOMEventTargetNode::pushEventHandlerScope):
1435 (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
1437 (KJS::DOMDocument::DOMDocument):
1438 (KJS::DOMDocument::getOwnPropertySlot):
1439 (KJS::DOMDocument::put):
1440 (KJS::DOMDocument::putValueProperty):
1441 (KJS::DOMDocumentProtoFunc::callAsFunction):
1442 (KJS::DOMElement::DOMElement):
1443 (KJS::DOMElement::getValueProperty):
1444 (KJS::DOMElement::put):
1445 (KJS::DOMElement::putValueProperty):
1446 (KJS::DOMElement::getOwnPropertySlot):
1447 (KJS::DOMElementProtoFunc::callAsFunction):
1448 (KJS::checkNodeSecurity):
1449 * khtml/ecma/kjs_dom.h:
1451 (KJS::DOMEventTargetNode::):
1452 (KJS::DOMElement::):
1453 * khtml/ecma/kjs_events.cpp:
1454 (KJS::JSLazyEventListener::parseCode):
1455 (KJS::getNodeEventListener):
1456 * khtml/ecma/kjs_html.cpp:
1457 (KJS::HTMLElement::bodyGetter):
1458 (KJS::HTMLElement::anchorGetter):
1459 (KJS::HTMLElement::getValueProperty):
1460 (KJS::HTMLElement::bodySetter):
1461 * khtml/ecma/kjs_views.cpp:
1462 (KJS::DOMAbstractViewProtoFunc::callAsFunction):
1463 * khtml/html/HTMLFormElementImpl.cpp:
1464 (WebCore::HTMLFormElementImpl::registerFormElement):
1465 (WebCore::HTMLFormElementImpl::removeFormElement):
1466 * khtml/html/HTMLGenericFormElementImpl.cpp:
1467 (WebCore::HTMLGenericFormElementImpl::insertedIntoTree):
1468 * khtml/html/HTMLInputElementImpl.cpp:
1469 (WebCore::HTMLInputElementImpl::~HTMLInputElementImpl):
1470 (WebCore::HTMLInputElementImpl::focus):
1471 * khtml/html/HTMLOptionElementImpl.cpp:
1472 (WebCore::HTMLOptionElementImpl::text):
1473 * khtml/html/HTMLSelectElementImpl.cpp:
1474 (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl):
1475 * khtml/html/HTMLTextAreaElementImpl.cpp:
1476 (WebCore::HTMLTextAreaElementImpl::~HTMLTextAreaElementImpl):
1477 * khtml/html/html_baseimpl.cpp:
1478 (WebCore::HTMLBodyElementImpl::insertedIntoDocument):
1479 (WebCore::HTMLFrameElementImpl::isURLAllowed):
1480 (WebCore::HTMLFrameElementImpl::openURL):
1481 (WebCore::HTMLFrameElementImpl::frameWidth):
1482 (WebCore::HTMLFrameElementImpl::frameHeight):
1483 * khtml/html/html_imageimpl.cpp:
1484 (WebCore::HTMLImageLoader::~HTMLImageLoader):
1485 (WebCore::HTMLImageLoader::updateFromElement):
1486 (WebCore::HTMLImageLoader::notifyFinished):
1487 (WebCore::HTMLImageElementImpl::width):
1488 (WebCore::HTMLImageElementImpl::height):
1489 (WebCore::HTMLMapElementImpl::~HTMLMapElementImpl):
1490 * khtml/html/html_inlineimpl.cpp:
1491 (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
1492 * khtml/html/htmltokenizer.cpp:
1493 (WebCore::HTMLTokenizer::notifyFinished):
1494 * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
1495 (SVGAnimateColorElementImpl::handleTimerEvent):
1496 * ksvg2/svg/SVGAnimateElementImpl.cpp:
1497 (SVGAnimateElementImpl::handleTimerEvent):
1498 * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
1499 (SVGAnimateTransformElementImpl::handleTimerEvent):
1500 * ksvg2/svg/SVGAnimationElementImpl.cpp:
1501 (SVGAnimationElementImpl::closeRenderer):
1502 * ksvg2/svg/SVGDOMImplementationImpl.cpp:
1503 * ksvg2/svg/SVGDocumentImpl.cpp:
1504 (WebCore::SVGDocumentImpl::dispatchRecursiveEvent):
1505 * ksvg2/svg/SVGDocumentImpl.h:
1506 * ksvg2/svg/SVGImageElementImpl.cpp:
1507 * ksvg2/svg/SVGSetElementImpl.cpp:
1508 (SVGSetElementImpl::handleTimerEvent):
1509 * kwq/KWQAccObject.mm:
1510 (-[KWQAccObject mouseButtonListener]):
1511 (-[KWQAccObject accessibilityPerformAction:]):
1512 * kwq/KWQTextArea.mm:
1513 (-[KWQTextAreaTextView dispatchHTMLEvent:]):
1515 (WebCore::dispatchKHTMLEditableContentChanged):
1516 * page/FrameView.cpp:
1517 (WebCore::FrameView::dispatchDragEvent):
1518 (WebCore::FrameView::dispatchMouseEvent):
1519 (WebCore::FrameView::viewportWheelEvent):
1520 * rendering/render_layer.cpp:
1521 (WebCore::RenderLayer::scrollToOffset):
1522 * rendering/render_object.cpp:
1523 (WebCore::RenderObject::shouldSelect):
1524 (WebCore::RenderObject::backslashAsCurrencySymbol):
1525 * rendering/render_replaced.cpp:
1526 (WebCore::RenderWidget::sendConsumedMouseUp):
1528 2006-03-17 David Hyatt <hyatt@apple.com>
1530 Fix for 7837, make opacity work with table rows. Make transparent backgrounds
1531 stack properly in cells (so that the layers behind can show through like they
1536 * rendering/RenderTableCell.cpp:
1537 (WebCore::RenderTableCell::requiresLayer):
1538 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1539 (WebCore::RenderTableCell::paintBoxDecorations):
1540 * rendering/RenderTableCell.h:
1541 * rendering/RenderTableRow.cpp:
1542 (WebCore::RenderTableRow::paint):
1543 * rendering/RenderTableRow.h:
1544 (WebCore::RenderTableRow::requiresLayer):
1545 * rendering/RenderTableSection.cpp:
1546 (WebCore::RenderTableSection::paint):
1547 * rendering/render_layer.cpp:
1548 (WebCore::RenderLayer::updateLayerPosition):
1549 (WebCore::RenderLayer::isTransparent):
1550 (WebCore::RenderLayer::transparentAncestor):
1551 (WebCore::RenderLayer::beginTransparencyLayers):
1552 (WebCore::RenderLayer::paintLayer):
1553 (WebCore::RenderLayer::absoluteBoundingBox):
1554 * rendering/render_object.cpp:
1555 (WebCore::RenderObject::requiresLayer):
1556 * rendering/render_object.h:
1557 (WebCore::RenderObject::isTransparent):
1558 (WebCore::RenderObject::opacity):
1560 2006-03-17 Maciej Stachowiak <mjs@apple.com>
1564 - clean up ResourceRequest to be closer to a proper request interface
1566 * page/ResourceRequest.h: folded URL into ResourceRequest, other cleanup
1567 (WebCore::ResourceRequest::ResourceRequest): Add new explicit constructor
1569 (WebCore::ResourceRequest::url): getter for KURL
1570 (WebCore::ResourceRequest::setURL): corresponding setter
1571 (WebCore::ResourceRequest::referrer): new getter for referrer, instead
1572 of storing it in m_metaData (it was the only remaining real use of it)
1573 (WebCore::ResourceRequest::setReferrer): corresponding setter
1574 * bridge/BrowserExtension.h:
1575 - removed unused openURLRequest and openURLNotify methods
1576 - folded KURL parameter into ResourceRequest
1577 * bridge/mac/BrowserExtensionMac.h: remove KURL args from methods that
1578 also take a ResourceRequest
1579 * bridge/mac/BrowserExtensionMac.mm:
1580 (WebCore::BrowserExtensionMac::createNewWindow): adjust for ResourceRequest
1582 * bridge/mac/MacFrame.h: remove KURL args from methods that also take a
1584 * bridge/mac/MacFrame.mm:
1585 (WebCore::MacFrame::openURLRequest): adjust for ResourceRequest changes
1586 (WebCore::MacFrame::submitForm): ditto
1587 (WebCore::MacFrame::urlSelected): ditto
1588 * bridge/mac/WebCoreFrameBridge.mm:
1589 (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
1590 adjust for ResourceRequest changes
1591 * bridge/win/BrowserExtensionWin.h:
1592 * khtml/ecma/kjs_window.cpp:
1593 (KJS::createNewWindow): adjust for ResourceRequest changes
1594 (KJS::WindowFunc::callAsFunction): ditto
1596 (WebCore::Frame::didOpenURL): adjust for ResourceRequest changes
1597 (WebCore::Frame::receivedFirstData): ditto
1598 (WebCore::Frame::begin): ditto
1599 (WebCore::Frame::completeURL): ditto
1600 (WebCore::Frame::changeLocation): ditto
1601 (WebCore::Frame::urlSelected): ditto
1602 (WebCore::Frame::requestFrame): ditto
1603 (WebCore::Frame::submitForm): ditto
1605 * platform/win/TemporaryLinkStubs.cpp:
1606 (BrowserExtensionWin::createNewWindow): ditto
1608 2006-03-17 Adele Peterson <adele@apple.com>
1612 Make default backgrounds for new text fields white
1613 instead of transparent. This will move to html4.css
1614 when we flip the switch.
1617 * fast/forms/input-appearance-default-bkcolor.html
1619 * rendering/render_theme_mac.mm:
1620 (WebCore::RenderThemeMac::adjustTextFieldStyle):
1622 2006-03-17 David Hyatt <hyatt@apple.com>
1624 Make table sections and table captions support opacity.
1628 Covered by some of the new Mozilla table tests.
1630 * rendering/RenderTable.cpp:
1631 (WebCore::RenderTable::paint):
1633 2006-03-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
1635 Reviewed by Maciej, landed by Beth.
1637 fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3560
1638 page with use of first-letter crashes reproducibly in
1639 RenderObject::renderArena()
1641 * rendering/RenderBlock.cpp:
1642 (WebCore::RenderBlock::updateFirstLetter): Pass the first-leter
1643 renderer to the remaining text fragment.
1644 * rendering/RenderContainer.cpp:
1645 (WebCore::RenderContainer::destroyLeftoverChildren): Do not destroy
1646 first-letter renderers since they are destroyed by their remaining
1648 * rendering/RenderTextFragment.cpp:
1649 (khtml::RenderTextFragment::RenderTextFragment):
1650 (khtml::RenderTextFragment::destroy): Destroy the first-letter
1652 * rendering/RenderTextFragment.h:
1653 (khtml::RenderTextFragment::firstLetter):
1655 2006-03-17 Adele Peterson <adele@apple.com>
1659 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7798
1660 New text fields are much wider than they should be for a specified size
1662 I changed the character we use to calculate the width from "w" back to "0",
1663 which matches our old behavior. The original change was intentional, to try
1664 to better match other browsers, but "w" is a little too wide. For now, lets
1665 go back to the old behavior.
1667 I also set the minWidth = maxWidth. We were trying to match a WinIE quirk,
1668 but that caused some odd behavior with growth of the text field in table cells.
1670 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
1672 2006-03-17 Eric Seidel <eseidel@apple.com>
1678 Add previously forgotten KeyEventWin class.
1679 Pass MouseEvent() instead of 0 in a couple places to make compiler happy.
1681 * WebCore.vcproj/WebCore/WebCore.vcproj:
1682 * bridge/win/BrowserExtensionWin.h:
1683 * bridge/win/FrameWin.cpp:
1684 (WebCore::FrameWin::urlSelected):
1685 (WebCore::FrameWin::keyPress):
1686 * bridge/win/FrameWin.h:
1687 * bridge/win/PageWin.cpp: Added.
1688 (WebCore::rootWindowForFrame):
1689 (WebCore::Page::windowRect):
1690 (WebCore::Page::setWindowRect):
1691 * page/FrameView.cpp:
1692 (WebCore::FrameView::updateDragAndDrop):
1693 (WebCore::FrameView::hoverTimerFired):
1695 (WebCore::Page::mainFrame):
1696 * platform/win/KeyEventWin.cpp: Added.
1697 (WebCore::KeyEvent::KeyEvent):
1698 * platform/win/TemporaryLinkStubs.cpp:
1699 (WebCore::findNextWordFromIndex):
1700 (FrameWin::passMouseDownEventToWidget):
1701 (FrameWin::scheduleClose):
1702 (BrowserExtensionWin::createNewWindow):
1703 (WebCore::findWordBoundary):
1704 (FrameWin::registerCommandForUndo):
1705 (FrameWin::markMisspellingsInAdjacentWords):
1706 (FrameWin::respondToChangedContents):
1708 2006-03-17 David Hyatt <hyatt@apple.com>
1710 Fix pixel test regression in fast/table/overflowHidden.html. There was
1711 a borderTopExtra error made in the new boundingBox code for layers that
1712 caused the bottom half of cells with opacity set to be clipped out.
1714 Reviewed by andersca
1716 * rendering/render_layer.cpp:
1717 (WebCore::RenderLayer::absoluteBoundingBox):
1719 2006-03-17 David Hyatt <hyatt@apple.com>
1721 Give table rows and sections accurate dimensions. Fix absolutePosition
1722 to work for table cells properly. Add an absolutePositionForContent method
1723 to make sure callers that want to deal with the content of a cell handle
1724 the cell's extra space correctly.
1728 Existing layout tests cover this change.
1730 * bridge/mac/WebCoreFrameBridge.mm:
1731 (-[WebCoreFrameBridge copyRenderNode:copier:]):
1732 * dom/ContainerNodeImpl.cpp:
1733 (WebCore::ContainerNodeImpl::getUpperLeftCorner):
1734 (WebCore::ContainerNodeImpl::getLowerRightCorner):
1736 (WebCore::NodeImpl::getRect):
1737 * editing/SelectionController.cpp:
1738 (WebCore::SelectionController::layout):
1739 (WebCore::SelectionController::caretRect):
1740 * editing/visible_units.cpp:
1741 (WebCore::previousLinePosition):
1742 (WebCore::nextLinePosition):
1743 * khtml/html/HTMLInputElementImpl.cpp:
1744 (WebCore::HTMLInputElementImpl::defaultEventHandler):
1745 * kwq/KWQRenderTreeDebug.cpp:
1747 * rendering/RenderBlock.cpp:
1748 (WebCore::RenderBlock::selectionGapRects):
1749 (WebCore::RenderBlock::positionForCoordinates):
1750 * rendering/RenderContainer.cpp:
1751 (WebCore::RenderContainer::positionForCoordinates):
1752 (WebCore::RenderContainer::lineBoxRects):
1753 * rendering/RenderTableCell.cpp:
1754 (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
1755 (WebCore::RenderTableCell::absolutePosition):
1756 * rendering/RenderTableRow.cpp:
1757 (WebCore::RenderTableRow::addChild):
1758 (WebCore::RenderTableRow::getAbsoluteRepaintRect):
1759 (WebCore::RenderTableRow::nodeAtPoint):
1760 * rendering/RenderTableRow.h:
1761 * rendering/RenderTableSection.cpp:
1762 (WebCore::RenderTableSection::ensureRows):
1763 (WebCore::RenderTableSection::addCell):
1764 (WebCore::RenderTableSection::layoutRows):
1765 (WebCore::RenderTableSection::recalcCells):
1766 (WebCore::RenderTableSection::nodeAtPoint):
1767 * rendering/RenderTableSection.h:
1768 * rendering/RenderText.cpp:
1769 (WebCore::RenderText::lineBoxRects):
1770 (WebCore::RenderText::positionForCoordinates):
1771 (WebCore::RenderText::caretRect):
1772 (WebCore::RenderText::posOfChar):
1773 (WebCore::RenderText::selectionRect):
1774 * rendering/render_box.cpp:
1775 (WebCore::RenderBox::absolutePosition):
1776 (WebCore::RenderBox::caretRect):
1777 * rendering/render_br.cpp:
1778 (WebCore::RenderBR::caretRect):
1779 * rendering/render_canvas.h:
1780 * rendering/render_flow.cpp:
1781 (WebCore::RenderFlow::caretRect):
1782 * rendering/render_frames.cpp:
1783 (WebCore::RenderPart::updateWidgetPosition):
1784 * rendering/render_layer.cpp:
1785 (WebCore::RenderLayer::updateLayerPosition):
1786 * rendering/render_object.cpp:
1787 (WebCore::RenderObject::absoluteRects):
1788 (WebCore::RenderObject::absoluteBoundingBoxRect):
1789 (WebCore::RenderObject::absolutePosition):
1790 * rendering/render_object.h:
1791 (WebCore::RenderObject::absolutePositionForContent):
1792 (WebCore::RenderObject::offsetHeight):
1793 * rendering/render_replaced.cpp:
1794 (WebCore::RenderWidget::updateWidgetPosition):
1796 2006-03-17 Adele Peterson <adele@apple.com>
1800 WebCore part of fix for:
1801 http://bugzilla.opendarwin.org/show_bug.cgi?id=7797
1802 Can't set background color on new text fields
1804 Bezeled NSTextFieldCells always draw a background, so instead we'll use a new
1805 WebKitSystemInterface function to just draw the border of the cell.
1807 Since the theme is drawing the border and the engine is drawing the background
1808 (which is different from the other form controls), we have to make sure we let the
1809 theme paint the border after the engine paints the background.
1811 * platform/mac/WebCoreGraphicsBridge.h:
1812 * platform/mac/WebCoreGraphicsBridge.m:
1813 (-[WebCoreGraphicsBridge drawBezeledTextFieldCell:enabled:]):
1814 * rendering/render_box.cpp: (WebCore::RenderBox::paintBoxDecorations):
1815 * rendering/render_theme.cpp:
1816 (WebCore::RenderTheme::paint):
1817 (WebCore::RenderTheme::paintBorder):
1818 (WebCore::RenderTheme::shouldPaintBorder):
1819 * rendering/render_theme.h:
1820 * rendering/render_theme_mac.mm:
1821 (WebCore::RenderThemeMac::paintTextField):
1822 (WebCore::RenderThemeMac::setTextFieldCellState):
1824 2006-03-16 Darin Adler <darin@apple.com>
1828 - removed KWQWindowWidget
1829 - changed most event handling to use references instead of pointers
1830 - chagned PageMac to no longer be a subclass of Page
1832 Yes, I know there's no detail in this ChangeLog entry.
1833 No, I don't plan to make a habit of doing things this way.
1834 Yes, this will probably break the Windows build again.
1836 * WebCore.xcodeproj/project.pbxproj:
1837 * bridge/mac/BrowserExtensionMac.mm:
1838 (WebCore::BrowserExtensionMac::createNewWindow):
1839 * bridge/mac/FrameViewMac.mm:
1840 * bridge/mac/MacFrame.h:
1841 * bridge/mac/MacFrame.mm:
1842 (WebCore::MacFrame::MacFrame):
1843 (WebCore::MacFrame::~MacFrame):
1844 (WebCore::MacFrame::wheelEvent):
1845 (WebCore::MacFrame::keyEvent):
1846 (WebCore::MacFrame::khtmlMousePressEvent):
1847 (WebCore::MacFrame::khtmlMouseMoveEvent):
1848 (WebCore::MacFrame::khtmlMouseReleaseEvent):
1849 (WebCore::MacFrame::mouseDown):
1850 (WebCore::MacFrame::mouseDragged):
1851 (WebCore::MacFrame::mouseUp):
1852 (WebCore::MacFrame::mouseMoved):
1853 (WebCore::MacFrame::sendContextMenuEvent):
1854 (WebCore::MacFrame::setBridge):
1855 (WebCore::MacFrame::dragSourceMovedTo):
1856 (WebCore::MacFrame::dragSourceEndedAt):
1857 (WebCore::MacFrame::dispatchDragSrcEvent):
1858 * bridge/mac/PageMac.h: Removed.
1859 * bridge/mac/PageMac.mm: Added.
1860 (WebCore::Page::Page):
1861 (WebCore::Page::windowRect):
1862 (WebCore::Page::setWindowRect):
1863 * bridge/mac/WebCoreFrameBridge.h:
1864 * bridge/mac/WebCoreFrameBridge.mm:
1865 (-[WebCoreFrameBridge page]):
1866 (-[WebCoreFrameBridge initializeSettings:]):
1868 (createMouseEventFromDraggingInfo):
1869 (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
1870 (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
1871 (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
1872 (-[WebCoreFrameBridge dragSourceMovedTo:]):
1873 (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
1874 * bridge/mac/WebCoreFrameNamespaces.mm:
1876 * bridge/mac/WebCorePageBridge.h:
1877 * bridge/mac/WebCorePageBridge.mm:
1878 (-[WebCorePageBridge init]):
1879 * dom/DocumentImpl.cpp:
1880 (WebCore::DocumentImpl::prepareMouseEvent):
1881 (WebCore::DocumentImpl::defaultEventHandler):
1882 * dom/DocumentImpl.h:
1884 (WebCore::NodeImpl::dispatchMouseEvent):
1885 (WebCore::NodeImpl::dispatchKeyEvent):
1886 (WebCore::NodeImpl::dispatchWheelEvent):
1888 * dom/dom2_eventsimpl.cpp:
1889 (WebCore::KeyboardEventImpl::KeyboardEventImpl):
1890 * dom/dom2_eventsimpl.h:
1891 (WebCore::KeyboardEventImpl::keyEvent):
1892 * khtml/ecma/kjs_window.cpp:
1893 (KJS::Window::getValueProperty):
1894 (KJS::WindowFunc::callAsFunction):
1895 * khtml/html/html_inlineimpl.cpp:
1896 (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
1897 * ksvg2/svg/SVGDocumentImpl.cpp:
1898 * ksvg2/svg/SVGDocumentImpl.h:
1899 * kwq/KWQWindowWidget.h:
1900 * kwq/KWQWindowWidget.mm: Removed.
1902 (WebCore::Frame::selectClosestWordFromMouseEvent):
1903 (WebCore::Frame::handleMousePressEventDoubleClick):
1904 (WebCore::Frame::handleMousePressEventTripleClick):
1905 (WebCore::Frame::handleMousePressEventSingleClick):
1906 (WebCore::Frame::khtmlMousePressEvent):
1907 (WebCore::Frame::handleMouseMoveEventSelection):
1908 (WebCore::Frame::khtmlMouseMoveEvent):
1909 (WebCore::Frame::khtmlMouseReleaseEvent):
1910 (WebCore::Frame::khtmlMouseDoubleClickEvent):
1911 (WebCore::Frame::passWidgetMouseDownEventToWidget):
1913 * page/FrameView.cpp:
1914 (WebCore::FrameView::viewportMousePressEvent):
1915 (WebCore::FrameView::viewportMouseDoubleClickEvent):
1916 (WebCore::FrameView::viewportMouseMoveEvent):
1917 (WebCore::FrameView::viewportMouseReleaseEvent):
1918 (WebCore::FrameView::dispatchDragEvent):
1919 (WebCore::FrameView::updateDragAndDrop):
1920 (WebCore::FrameView::cancelDragAndDrop):
1921 (WebCore::FrameView::performDragAndDrop):
1922 (WebCore::FrameView::dispatchMouseEvent):
1923 (WebCore::FrameView::viewportWheelEvent):
1925 * page/MouseEventWithHitTestResults.h:
1926 (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
1927 (WebCore::MouseEventWithHitTestResults::event):
1929 (WebCore::Page::init):
1931 (WebCore::Page::bridge):
1932 * platform/KeyEvent.h:
1933 (WebCore::KeyEvent::isAutoRepeat):
1934 * platform/MouseEvent.h:
1935 (WebCore::MouseEvent::MouseEvent):
1936 * platform/mac/KeyEventMac.mm:
1937 (WebCore::KeyEvent::KeyEvent):
1938 * platform/win/TemporaryLinkStubs.cpp:
1939 (FrameView::isFrameView):
1940 * rendering/render_form.cpp:
1941 (WebCore::RenderFormElement::clicked):
1943 2006-03-16 Eric Seidel <eseidel@apple.com>
1947 Add additional hackish Font, focusring and caret code.
1948 http://bugzilla.opendarwin.org/show_bug.cgi?id=7803
1950 * WebCore.vcproj/WebCore/WebCore.vcproj:
1951 * WebCore.vcproj/WebCore/build-generated-files.sh:
1952 * bindings/js/JSCanvasRenderingContext2DBase.cpp:
1953 * bridge/win/FrameWin.cpp:
1954 (WebCore::FrameWin::keyPress):
1955 * bridge/win/FrameWin.h:
1956 * html/CanvasRenderingContext2D.h:
1957 * platform/IntSize.h:
1958 * platform/KeyEvent.h:
1959 * platform/cairo/GraphicsContextCairo.cpp:
1960 (WebCore::GraphicsContext::drawArc):
1961 (WebCore::GraphicsContext::drawFocusRing):
1962 * platform/win/FontWin.cpp:
1963 (WebCore::hackishExtentForString):
1964 (WebCore::Font::floatWidth):
1965 (WebCore::convertRange):
1966 (WebCore::Font::drawText):
1967 (WebCore::Font::drawHighlightForText):
1968 (WebCore::Font::selectionRectForText):
1969 (WebCore::Font::checkSelectionPoint):
1970 (WebCore::Font::drawLineForText):
1971 (WebCore::Font::misspellingLineThickness):
1972 * platform/win/IntSizeWin.cpp: Added.
1973 (WebCore::IntSize::IntSize):
1974 (WebCore::IntSize::operator SIZE):
1975 * platform/win/ScrollViewWin.cpp:
1976 (WebCore::ScrollView::visibleContentRect):
1977 * platform/win/TemporaryLinkStubs.cpp:
1978 (Widget::disableFlushDrawing):
1979 (GraphicsContext::GraphicsContext):
1980 (QListBox::setSelected):
1981 (QListBox::sizeForNumberOfLines):
1982 (QListBox::isSelected):
1983 (QListBox::appendItem):
1984 (QListBox::doneAppendingItems):
1985 (FrameWin::locationbarVisible):
1986 (FrameWin::canUndo):
1987 (FrameWin::mimeTypeForFileName):
1988 (FrameWin::issueTransposeCommand):
1989 (RenderCanvasImage::setNeedsImageUpdate):
1990 (FrameWin::shouldChangeSelection):
1991 (FrameWin::respondToChangedSelection):
1992 (FrameWin::clearRecordedFormValues):
1993 (FrameWin::recordFormValue):
1994 (BrowserExtensionWin::getHistoryLength):
1995 (Widget::setIsSelected):
1996 (GraphicsContext::selectedTextBackgroundColor):
1997 (GraphicsContext::addRoundedRectClip):
1998 (QScrollBar::QScrollBar):
1999 (QScrollBar::~QScrollBar):
2000 (QScrollBar::setSteps):
2001 (QScrollBar::scroll):
2002 (QScrollBar::setValue):
2003 (QScrollBar::setKnobProportion):
2004 (QListBox::QListBox):
2005 (QListBox::~QListBox):
2006 (QListBox::setSelectionMode):
2007 (QListBox::setFont):
2008 * rendering/render_canvasimage.h:
2010 2006-03-16 Maciej Stachowiak <mjs@apple.com>
2014 - renamed URLArgs to ResourceRequest, split it into its own header
2015 - moved methods to get and set ResourceRequest to Frame
2017 * WebCore.xcodeproj/project.pbxproj:
2018 * bridge/BrowserExtension.h:
2019 * bridge/mac/BrowserExtensionMac.h:
2020 * bridge/mac/BrowserExtensionMac.mm:
2021 (WebCore::BrowserExtensionMac::openURLRequest):
2022 (WebCore::BrowserExtensionMac::createNewWindow):
2023 * bridge/mac/MacFrame.h:
2024 * bridge/mac/MacFrame.mm:
2025 (WebCore::MacFrame::openURLRequest):
2026 (WebCore::MacFrame::submitForm):
2027 (WebCore::MacFrame::urlSelected):
2028 * bridge/mac/WebCoreFrameBridge.mm:
2029 (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
2030 * khtml/ecma/kjs_window.cpp:
2031 (KJS::createNewWindow):
2032 (KJS::WindowFunc::callAsFunction):
2034 (WebCore::Frame::didOpenURL):
2035 (WebCore::Frame::receivedFirstData):
2036 (WebCore::Frame::setResourceRequest):
2037 (WebCore::Frame::resourceRequest):
2038 (WebCore::Frame::begin):
2039 (WebCore::Frame::changeLocation):
2040 (WebCore::Frame::urlSelected):
2041 (WebCore::Frame::requestFrame):
2042 (WebCore::Frame::submitForm):
2044 * page/FramePrivate.h:
2045 * page/ResourceRequest.h: Added.
2046 (WebCore::ResourceRequest::ResourceRequest):
2047 (WebCore::ResourceRequest::contentType):
2048 (WebCore::ResourceRequest::setContentType):
2049 (WebCore::ResourceRequest::doPost):
2050 (WebCore::ResourceRequest::setDoPost):
2051 (WebCore::ResourceRequest::lockHistory):
2052 (WebCore::ResourceRequest::setLockHistory):
2053 (WebCore::ResourceRequest::metaData):
2055 2006-03-16 Darin Adler <darin@apple.com>
2057 - need to touch one more file to fix the build
2058 (Darn the lack of dependencies for autogenerated bindings!)
2060 * dom/Element.idl: Touch. (Really this time.)
2062 2006-03-16 Eric Seidel <eseidel@apple.com>
2066 Pushed focus ring handling down into GraphicsContext.cpp
2068 * bridge/mac/MacFrame.mm:
2069 (WebCore::MacFrame::mouseDown):
2070 * platform/GraphicsContext.cpp:
2071 (WebCore::GraphicsContext::initFocusRing):
2072 (WebCore::GraphicsContext::clearFocusRing):
2073 (WebCore::GraphicsContext::addFocusRingRect):
2074 * platform/GraphicsContext.h:
2075 * platform/mac/GraphicsContextMac.mm:
2076 (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
2077 (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
2078 (WebCore::GraphicsContext::GraphicsContext):
2079 (WebCore::GraphicsContext::drawFocusRing):
2080 * rendering/render_flow.cpp:
2081 (WebCore::RenderFlow::addFocusRingRects):
2082 * rendering/render_object.cpp:
2083 (WebCore::RenderObject::addFocusRingRects):
2085 2006-03-15 Darin Adler <darin@apple.com>
2089 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7749
2090 canvas should be in DOM, not implemented in the JS bindings
2092 * WebCore.xcodeproj/project.pbxproj: Added new files.
2093 Changed bindings-generation code to work on the new html directory
2094 as well as the dom one.
2096 * bindings/js/JSCanvasRenderingContext2DBase.cpp: Added.
2097 * bindings/js/JSCanvasRenderingContext2DBase.h: Added.
2098 * bindings/js/JSDOMHTML.cpp: Added.
2100 * html/CanvasGradient.cpp: Added.
2101 * html/CanvasGradient.h: Added.
2102 * html/CanvasGradient.idl: Added.
2103 * html/CanvasPattern.cpp: Added.
2104 * html/CanvasPattern.h: Added.
2105 * html/CanvasPattern.idl: Added.
2106 * html/CanvasRenderingContext2D.cpp: Added.
2107 * html/CanvasRenderingContext2D.h: Added.
2108 * html/CanvasRenderingContext2D.idl: Added.
2109 * html/CanvasStyle.cpp: Added.
2110 * html/CanvasStyle.h: Added.
2112 * bindings/js/JSDOMCore.cpp: Touched so that it will recompile.
2113 * bindings/js/JSDOMEvents.cpp: Ditto.
2114 * dom/Attr.idl: Ditto.
2115 * dom/DOMImplementation.idl: Ditto.
2116 * dom/DocumentType.idl: Ditto.
2117 * dom/MutationEvent.idl: Ditto.
2118 * dom/ProcessingInstruction.idl: Ditto.
2119 * dom/Text.idl: Ditto.
2121 * khtml/ecma/kjs_binding.h: (KJS::toJS): Added. Template so that you can call
2122 toJS on a PassRefPtr as well as on a raw pointer.
2124 * bindings/scripts/CodeGeneratorJS.pm: Fixed handling of a class that has only
2125 a legacy parent, no conventional parents. Added JSCanvasRenderingContext2DBase
2126 as a legacy parent, and html as a legacy module. Added CanvasRenderingContext2D,
2127 CanvasGradient, and CanvasPattern to the "waht to include". Added a special
2128 case for strings beginning with Canvas to not add an "Impl" suffix. Made the
2129 generated impl() function be a const member function. Made m_mimpl be private
2130 instead of protected. Generate a toJS function for each class. Added flaot as
2131 a type. Generate String, not DOMString. Made the HashTable const.
2133 * bindings/scripts/IDLParser.pm: Fix a couple small things. I had started to
2134 try to make a missing semicolon trigger an error, but ended up giving up on
2137 * khtml/html/html_canvasimpl.h:
2138 * khtml/html/html_canvasimpl.cpp:
2139 (WebCore::HTMLCanvasElementImpl::HTMLCanvasElementImpl): Set m_2DContext to 0.
2140 (WebCore::HTMLCanvasElementImpl::~HTMLCanvasElementImpl): Call detachCanvas
2141 on m_2DContext, if any.
2142 (WebCore::HTMLCanvasElementImpl::detach): Call reset on m_2DContext, if any.
2143 (WebCore::HTMLCanvasElementImpl::getContext): Added.
2144 (WebCore::HTMLCanvasElementImpl::size): Added.
2145 (WebCore::HTMLCanvasElementImpl::createPlatformImage): Added.
2148 * platform/Image.cpp: (WebCore::Image::compositeOperatorFromString):
2149 Changed to take a String instead of a const char*.
2151 * khtml/html/html_imageimpl.h:
2152 * khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas):
2153 Tweaked formatting. Changed to use PassRefPtr.
2155 * bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
2156 * khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty):
2157 * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
2158 * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
2159 * khtml/ecma/kjs_css.cpp:
2160 (KJS::DOMCSSStyleDeclaration::getValueProperty):
2161 (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
2163 (KJS::DOMStyleSheet::getValueProperty):
2164 (KJS::DOMStyleSheetList::indexGetter):
2165 (KJS::DOMStyleSheetList::nameGetter):
2166 (KJS::DOMStyleSheetListFunc::callAsFunction):
2167 (KJS::DOMCSSStyleSheet::getValueProperty):
2168 (KJS::DOMCSSRuleList::indexGetter):
2169 (KJS::DOMCSSRuleListFunc::callAsFunction):
2170 (KJS::DOMCSSRule::getValueProperty):
2171 (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
2172 (KJS::DOMCSSValueList::indexGetter):
2173 (KJS::DOMCSSValueListFunc::callAsFunction):
2174 (KJS::DOMRect::getValueProperty):
2175 * khtml/ecma/kjs_css.h:
2176 * khtml/ecma/kjs_dom.cpp:
2177 (KJS::DOMNode::getValueProperty):
2178 (KJS::DOMNodeProtoFunc::callAsFunction):
2179 (KJS::DOMNodeList::indexGetter):
2180 (KJS::DOMNodeList::nameGetter):
2181 (KJS::DOMNodeList::callAsFunction):
2182 (KJS::DOMNodeListFunc::callAsFunction):
2183 (KJS::DOMDocument::getValueProperty):
2184 (KJS::DOMDocumentProtoFunc::callAsFunction):
2185 (KJS::DOMNamedNodeMap::indexGetter):
2186 (KJS::DOMNamedNodeMap::nameGetter):
2187 (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
2189 (KJS::DOMNamedNodesCollection::indexGetter):
2190 * khtml/ecma/kjs_dom.h:
2191 * khtml/ecma/kjs_events.cpp:
2192 (KJS::JSAbstractEventListener::handleEvent):
2193 (KJS::JSLazyEventListener::parseCode):
2194 (KJS::DOMEvent::getValueProperty):
2196 (KJS::DOMUIEvent::getValueProperty):
2197 (KJS::DOMMouseEvent::getValueProperty):
2198 * khtml/ecma/kjs_events.h:
2199 * khtml/ecma/kjs_html.cpp:
2200 (KJS::HTMLDocFunction::callAsFunction):
2201 (KJS::HTMLDocument::namedItemGetter):
2202 (KJS::HTMLDocument::getValueProperty):
2203 (KJS::HTMLDocument::put):
2204 (KJS::HTMLDocument::putValueProperty):
2205 (KJS::HTMLElement::classInfo):
2206 (KJS::HTMLElement::formIndexGetter):
2207 (KJS::HTMLElement::selectIndexGetter):
2208 (KJS::HTMLElement::implementsCall):
2209 (KJS::HTMLElement::callAsFunction):
2210 (KJS::HTMLElement::linkGetter):
2211 (KJS::HTMLElement::isIndexGetter):
2212 (KJS::HTMLElement::styleGetter):
2213 (KJS::HTMLElement::selectGetter):
2214 (KJS::HTMLElement::optionGetter):
2215 (KJS::HTMLElement::inputGetter):
2216 (KJS::HTMLElement::textAreaGetter):
2217 (KJS::HTMLElement::buttonGetter):
2218 (KJS::HTMLElement::labelGetter):
2219 (KJS::HTMLElement::fieldSetGetter):
2220 (KJS::HTMLElement::legendGetter):
2221 (KJS::HTMLElement::objectGetter):
2222 (KJS::HTMLElement::tableGetter):
2223 (KJS::HTMLElement::frameGetter):
2224 (KJS::HTMLElement::iFrameGetter):
2225 (KJS::HTMLElement::getValueProperty):
2226 (KJS::HTMLElement::toString):
2227 (KJS::HTMLElement::pushEventHandlerScope):
2229 (KJS::HTMLElementFunction::callAsFunction):
2230 (KJS::HTMLElement::put):
2231 (KJS::HTMLCollection::indexGetter):
2232 (KJS::HTMLCollection::callAsFunction):
2233 (KJS::HTMLCollection::getNamedItems):
2234 (KJS::HTMLCollectionProtoFunc::callAsFunction):
2235 (KJS::HTMLSelectCollection::put):
2236 (KJS::OptionConstructorImp::construct):
2237 (KJS::ImageConstructorImp::construct):
2238 * khtml/ecma/kjs_html.h:
2239 * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
2240 * khtml/ecma/kjs_range.cpp:
2241 (KJS::DOMRange::getValueProperty):
2242 (KJS::DOMRangeProtoFunc::callAsFunction):
2244 * khtml/ecma/kjs_range.h:
2245 * khtml/ecma/kjs_traversal.cpp:
2246 (KJS::DOMNodeIterator::getValueProperty):
2247 (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
2249 (KJS::DOMTreeWalker::getValueProperty):
2250 (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
2251 (KJS::JSNodeFilterCondition::acceptNode):
2252 * khtml/ecma/kjs_traversal.h:
2253 * khtml/ecma/kjs_views.cpp:
2254 (KJS::DOMAbstractView::getValueProperty):
2255 (KJS::DOMAbstractViewProtoFunc::callAsFunction):
2257 * khtml/ecma/kjs_views.h:
2258 * khtml/ecma/kjs_window.cpp:
2259 (KJS::Window::getValueProperty):
2260 (KJS::Window::namedItemGetter):
2261 (KJS::Selection::getValueProperty):
2262 (KJS::SelectionFunc::callAsFunction):
2263 Rename uses and definitions of all the various converstions to JavaScript
2264 wrappers to the new common overloaded name: "toJS".
2266 2006-03-15 Eric Seidel <eseidel@apple.com>
2270 Push more of MacFrame down into Frame.
2271 Add visibleContentRect method to ScrollView.
2273 * bridge/mac/MacFrame.h:
2274 * bridge/mac/MacFrame.mm:
2275 (WebCore::MacFrame::imageFromRect):
2276 (WebCore::MacFrame::setDisplaysWithFocusAttributes):
2277 (WebCore::MacFrame::bodyBackgroundColor):
2278 * bridge/mac/WebCoreFrameBridge.mm:
2280 (WebCore::Frame::visibleSelectionRect):
2281 (WebCore::Frame::setDisplaysWithFocusAttributes):
2283 * platform/ScrollView.h:
2284 * platform/mac/ScrollViewMac.mm:
2285 (WebCore::ScrollView::visibleWidth):
2286 (WebCore::ScrollView::visibleHeight):
2287 (WebCore::ScrollView::visibleContentRect):
2288 (WebCore::ScrollView::contentsWidth):
2289 (WebCore::ScrollView::contentsHeight):
2290 (WebCore::ScrollView::contentsX):
2291 (WebCore::ScrollView::contentsY):
2292 (WebCore::ScrollView::scrollXOffset):
2293 (WebCore::ScrollView::scrollYOffset):
2294 (WebCore::ScrollView::inWindow):
2296 2006-03-15 Eric Seidel <eseidel@apple.com>
2300 Remove unused code and clean-up style.
2302 * bridge/mac/MacFrame.mm:
2303 (WebCore::MacFrame::advanceToNextMisspelling):
2304 (WebCore::MacFrame::wheelEvent):
2305 (WebCore::MacFrame::nextKeyViewInFrame):
2306 (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
2307 (WebCore::MacFrame::nextKeyView):
2310 * page/FrameView.cpp:
2311 (WebCore::FrameView::dispatchMouseEvent):
2313 2006-03-15 Eric Seidel <eseidel@apple.com>
2317 http://bugzilla.opendarwin.org/show_bug.cgi?id=7790
2318 addEventListener does not work with "dblclick" event.
2319 Renamed khtmlDblclickEvent to dblclickEvent to fix.
2321 Test: fast/events/dblclick-addEventListener.html
2323 * WebCore.xcodeproj/project.pbxproj:
2324 * bridge/mac/MacFrame.mm:
2325 (WebCore::MacFrame::mouseUp):
2326 (WebCore::MacFrame::mouseMoved):
2327 (WebCore::MacFrame::shouldDragAutoNode):
2328 (WebCore::MacFrame::sendContextMenuEvent):
2331 (WebCore::NodeImpl::dispatchMouseEvent):
2333 * khtml/ecma/kjs_binding.cpp:
2334 (KJS::ScriptInterpreter::wasRunByUserGesture):
2335 * khtml/ecma/kjs_dom.cpp:
2336 (KJS::DOMNode::getValueProperty):
2337 (KJS::DOMNode::putValueProperty):
2338 * khtml/ecma/kjs_window.cpp:
2339 (KJS::Window::getValueProperty):
2341 * khtml/html/HTMLElementImpl.cpp:
2342 (WebCore::HTMLElementImpl::parseMappedAttribute):
2343 * page/FrameView.cpp:
2344 (WebCore::FrameView::dispatchMouseEvent):
2347 2006-03-16 Alexey Proskuryakov <ap@nypop.com>
2351 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4395
2352 REGRESSION: document.open doesn't clear the document
2354 Test: fast/dom/Document/document-reopen.html
2355 Test: fast/dom/Document/doc-open-while-parsing.html
2357 * dom/DocumentImpl.cpp:
2358 (WebCore::DocumentImpl::open): Only ignore open() while the frame is still loading the main resource.
2360 (WebCore::Frame::isComplete): Added const specifier.
2361 (WebCore::Frame::isLoadingMainResource): New function.
2364 2006-03-15 Adele Peterson <adele@apple.com>
2368 - Fixes win32 build.
2370 * page/Frame.cpp: (WebCore::Frame::autoscrollTimerFired): Calls isMouseButtonDown instead of CG function.
2371 * platform/MouseEvent.h: Added isMouseButtonDown
2372 * platform/mac/MouseEventMac.mm: (WebCore::MouseEvent::isMouseButtonDown): Calls CG function to get state of mouse button.
2373 * platform/win/TemporaryLinkStubs.cpp: (MouseEvent::isMouseButtonDown): Added stub.
2375 2006-03-15 Eric Seidel <eseidel@apple.com>
2379 * platform/KeyEvent.h: Fix #define from QEvent_H to KeyEvent_H
2381 2006-03-15 David Hyatt <hyatt@apple.com>
2383 Fix the box-sizing layout test by stopping integer overflowing from
2384 occurring in the flexbox code.
2388 * rendering/render_flexbox.cpp:
2389 (khtml::RenderFlexibleBox::allowedChildFlex):
2391 2006-03-15 Beth Dakin <bdakin@apple.com>
2395 Fix for some leaks and intermittent broken pipes in the layout
2396 tests after check-in for http://bugzilla.opendarwin.org/
2397 show_bug.cgi?id=4171.
2399 * platform/StringImpl.cpp:
2400 (WebCore::StringImpl::capitalize): Call deleteQCharVector() for
2401 stringWithPrevious and make sure we don't walk off the end of
2402 stringWithPrevious when copying to capitalizedString.
2404 2006-03-15 Adele Peterson <adele@apple.com>
2408 Followup fix for previous checkin.
2409 http://bugzilla.opendarwin.org/show_bug.cgi?id=7114
2410 <rdar://problem/3695120> dragging to scroll doesn't work with overflow:auto/scroll/overlay areas
2412 Many of the bugs related to the Radar bug have to do with autoscrolling in the RSS View.
2413 This fix walks the layer tree to find the first scrollable layer, so that autoscrolling will
2414 also work with nested layers, like those in the RSS View.
2416 * bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent):
2418 2006-03-15 Adele Peterson <adele@apple.com>
2422 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7114
2423 Dragging to scroll doesn't work for overflow areas
2425 No test case. There doesn't appear to be a way to trigger the autoscroll with the EventSender.
2427 * bridge/mac/MacFrame.mm:
2428 (WebCore::MacFrame::khtmlMouseMoveEvent): If we have a layer that can scroll, let the layer handle its autoscroll.
2429 Otherwise, call over the bridge to let AppKit scroll the view.
2430 (WebCore::MacFrame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
2432 (WebCore::Frame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
2433 (WebCore::Frame::handleAutoscroll): Added. Saves the layer, and starts the timer.
2434 (WebCore::Frame::autoscrollTimerFired): Added. Calls autoscroll() on the layer.
2435 (WebCore::Frame::startAutoscrollTimer): Added.
2436 (WebCore::Frame::stopAutoscrollTimer): Added.
2437 * page/Frame.h: Added new autoscroll methods.
2438 * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Initialize m_autoscrollTimer and m_autoscrollLayer.
2439 * rendering/render_layer.cpp:
2440 (WebCore::RenderLayer::autoscroll): Calculates how much the layer should scroll, and actually scrolls.
2441 (WebCore::RenderLayer::shouldAutoscroll): If the layer has overflow then it should be able to scroll.
2442 Except for overflow:hidden areas that aren't editable.
2443 In the future, we may want to have a css property that indicates an overflow:hidden style that should also scroll.
2444 * rendering/render_layer.h: Added new autoscroll methods.
2446 2006-03-14 Justin Garcia <justin.garcia@apple.com>
2450 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7578>
2451 TinyMCE: Implement execCommand CreateLink
2453 Used ApplyStyleCommand so that creating a link from
2454 a selection doesn't change document structure.
2456 * WebCore.xcodeproj/project.pbxproj:
2457 * editing/ApplyStyleCommand.cpp:
2458 (WebCore::ApplyStyleCommand::ApplyStyleCommand):
2459 (WebCore::ApplyStyleCommand::doApply):
2460 (WebCore::ApplyStyleCommand::removeInlineStyle):
2461 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2462 * editing/ApplyStyleCommand.h:
2463 * editing/CompositeEditCommand.cpp:
2464 (WebCore::CompositeEditCommand::applyStyle):
2465 * editing/CreateLinkCommand.cpp: Added.
2466 (WebCore::CreateLinkCommand::CreateLinkCommand):
2467 (WebCore::CreateLinkCommand::doApply):
2468 * editing/CreateLinkCommand.h: Added.
2469 * editing/jsediting.cpp:
2471 (WebCore::Frame::computeAndSetTypingStyle):
2472 (WebCore::Frame::applyStyle):
2473 (WebCore::Frame::applyParagraphStyle):
2475 2006-03-14 Beth Dakin <bdakin@apple.com>
2479 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4171
2480 This patch changes the word-break algorithm used to apply text-
2481 transform:capitalize to use a UBreakIterator. This fixes some
2482 existing edge cases we have in our text-transform:capitalize
2483 support and generally makes our results more consistent.
2485 * platform/StringImpl.cpp:
2486 (WebCore::getWordBreakIterator): Returns a UBreakIterator for a
2487 given string of a given length.
2488 (WebCore::StringImpl::capitalize): Now uses the UBreakIterator to
2489 step between words and requires the previous character as input.
2490 * platform/StringImpl.h: Change the declaration of capitalize() to
2491 take the previous character as a parameter.
2492 * rendering/RenderText.cpp:
2493 (WebCore::RenderText::setText): Find the previous character and
2494 send it to StringImpl::capitalize()
2496 2006-03-14 Justin Garcia <justin.garcia@apple.com>
2500 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7770>
2501 Should only dispatch the khtmlTextInsertedEvent for high level editing operations
2503 Dispatching this event for low level editing operations
2504 isn't necessary and causes a big performance regression.
2505 Also renamed the event because it's dispatched for changes
2506 other than just text insertion.
2509 * editing/EditCommand.cpp:
2510 (WebCore::EditCommand::apply):
2511 (WebCore::EditCommand::unapply):
2512 (WebCore::EditCommand::reapply):
2513 * khtml/html/HTMLTextFieldInnerElementImpl.cpp:
2514 (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
2516 (WebCore::dispatchKHTMLEditableContentChanged):
2517 (WebCore::Frame::appliedEditing):
2518 (WebCore::Frame::unappliedEditing):
2519 (WebCore::Frame::reappliedEditing):
2521 2006-03-14 Darin Adler <darin@apple.com>
2525 - fix <rdar://problem/4478121> -[WebCoreFrameBridge finalize] crashes under GC
2527 * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge finalize]):
2528 Don't call setBridge(nil).
2530 2006-03-14 Darin Adler <darin@apple.com>
2532 - oops, didn't mean to check this in
2534 * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::parseMappedAttribute):
2535 Reverted nil-document check that I didn't mean to remove.
2537 2006-03-14 Beth Dakin <bdakin@apple.com>
2541 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6796
2542 This fix prevents infinite recursion when a block with overflow:
2543 auto can't decide if it needs scrollbars or not. This fix puts a
2544 guard in place in updateScrollInforAfterLayout that only allows you
2545 to re-layout if you are not currently laying out.
2547 * rendering/render_layer.cpp:
2548 (WebCore::RenderLayer::RenderLayer): Initialize
2549 m_inOverflowRelayout to false. Fixed spacing too.
2550 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Place guard
2551 around layout calls in overflow:auto case.
2552 * rendering/render_layer.h: Add m_inOverflowRelayout.
2554 2006-03-14 Darin Adler <darin@apple.com>
2556 Reviewed by Geoff and Eric.
2558 - fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=7765>, <rdar://problem/4474884>
2559 hasAttribute always returns false for uppercase attribute names like "STYLE"
2560 - re-add missing JavaScript binding for getAttributeNS
2561 - fixed handling of null namespace parameters in getAttributeNS and friends
2563 Test: fast/dom/Element/attribute-uppercase.html
2565 To match Gecko's behavior, the magic "lowercasing" of all attribute names
2566 is only done when calling DOM Level 1 functions that lack an NS suffix.
2567 The functions with an NS suffix are case sensitive, even in HTML documents.
2569 * dom/NamedNodeMapImpl.h: Changed getNamedItem and removeNamedItem to be pure virtual
2570 functions instead of calling through to getNamedItemNS and removeNamedItemNS.
2572 * dom/dom_elementimpl.h: Eliminated inline versions of non-NS functions that called
2573 the NS functions. They can't work that way any more since the lowercasing behavior
2575 * dom/dom_elementimpl.cpp:
2576 (WebCore::ElementImpl::getAttribute): Added. Lowercases the name if the document
2577 is an HTML document, and then calls through to the qualified name version. Removed
2578 the null check since getDocument is guaranteed to never return 0 now that nodes
2579 hold a reference to their document.
2580 (WebCore::ElementImpl::getAttributeNS): Removed the lowercasing code.
2581 (WebCore::ElementImpl::setAttribute): More of the same.
2582 (WebCore::ElementImpl::setAttributeNS): Ditto.
2583 (WebCore::ElementImpl::removeAttribute): Ditto.
2584 (WebCore::ElementImpl::removeAttributeNS): Ditto.
2585 (WebCore::ElementImpl::getAttributeNode): Ditto.
2586 (WebCore::ElementImpl::getAttributeNodeNS): Ditto.
2587 (WebCore::ElementImpl::hasAttribute): Ditto.
2588 (WebCore::ElementImpl::hasAttributeNS): Ditto.
2589 (WebCore::NamedAttrMapImpl::getNamedItem): Ditto.
2590 (WebCore::NamedAttrMapImpl::getNamedItemNS): Ditto.
2591 (WebCore::NamedAttrMapImpl::removeNamedItem): Ditto.
2592 (WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto.
2593 (WebCore::StyledElementImpl::parseMappedAttribute): Removed another unneeded null
2594 check like the one mentioned above.
2596 * dom/Element.idl: Set ConvertNullToNullString for all the namespaceURI
2597 parameters, since we don't want null to turn into "null". Added a semicolon
2598 to the end of the hasAttributeNS line -- was causing the next declaration to
2599 be eaten up (so getAttributeNS was completely broken).
2601 * khtml/ecma/kjs_dom.cpp: (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
2602 Call valueToStringWithNullCheck to do the equivalent of ConvertNullToNullString
2603 for both getNamedItemNS and removeNamedItemNS.
2605 * bindings/js/JSDOMCore.cpp: Touched so that the changes above will take effect.
2607 2006-03-14 David Hyatt <hyatt@apple.com>
2609 Fix for bug 7259, opacity performs badly.
2613 Adding some tests in fast/opacity.
2615 * rendering/RenderTableRow.h:
2616 (WebCore::RenderTableRow::requiresLayer):
2617 * rendering/render_layer.cpp:
2618 (WebCore::transparencyClipBox):
2619 (WebCore::RenderLayer::beginTransparencyLayers):
2620 (WebCore::RenderLayer::paintLayer):
2621 (WebCore::RenderLayer::intersectsDamageRect):
2622 (WebCore::RenderLayer::absoluteBoundingBox):
2623 * rendering/render_layer.h:
2624 (WebCore::RenderLayer::root):
2626 2006-03-14 Eric Seidel <eseidel@apple.com>
2632 * platform/image-decoders/gif/GIFImageReader.cpp:
2633 (GIFImageReader::do_lzw): Initialize array after new.
2635 2006-03-14 Eric Seidel <eseidel@apple.com>
2639 Make MouseEvents aware of current scroll position.
2641 * platform/win/ScrollViewWin.cpp:
2642 (WebCore::ScrollView::viewportToContents):
2643 (WebCore::ScrollView::contentsToViewport):
2645 2006-03-13 Eric Seidel <eseidel@apple.com>
2649 Fix mouse events to be window-relative.
2651 * platform/win/MouseEventWin.cpp:
2652 (WebCore::positionForEvent):
2653 (WebCore::globalPositionForEvent):
2654 (WebCore::MouseEvent::MouseEvent):
2656 2006-03-13 Eric Seidel <eseidel@apple.com>
2660 Close DeviceContext leaks in Font code.
2661 Also add moveCursor stub to make maps.google.com not crash.
2663 * platform/win/FontWin.cpp:
2664 (WebCore::getFontData):
2665 (WebCore::Font::floatWidth):
2666 (WebCore::Font::drawText):
2667 * platform/win/TemporaryLinkStubs.cpp:
2669 (WebCore::moveCursor):
2671 2006-03-13 Eric Seidel <eseidel@apple.com>
2673 Reviewed by ggaren & TimH.
2675 <rdar://problem/4473288> XSL file containing <xsl:include href="../Styles/EscapeString.xsl" /> fails to load file
2676 XML_DTD_NODE objects in the tree were causing loadChildSheets to
2677 fail to preload child stylesheets, this patch causes us to
2678 correctly ignore all nodes besides the first XML_ELEMENT_NODE at
2679 the root level when searching the tree for xsl:include statements
2682 Test: fast/xsl/xslt-second-level-import.xml
2684 * khtml/xsl/xsl_stylesheetimpl.cpp:
2685 (WebCore::XSLStyleSheetImpl::loadChildSheets):
2687 2006-03-10 Rob Buis <buis@kde.org>
2689 Reviewed by darin. Landed by eseidel.
2691 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7666:
2692 dasharray on rounded rectangles is broken
2694 Make sure the rounded rectangle is drawn clockwise, as outlined
2695 in the specification.
2697 Test: svg/custom/dashArrayOrigin.svg
2699 * kcanvas/KCanvasCreator.cpp:
2700 (WebCore::KCanvasCreator::createRoundedRectangle):
2702 2006-03-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
2704 Reviewed by Maciej, landed by ap.
2706 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5923
2707 REGRESSION: scrolling on Google maps continues after the mouse is
2708 released outside the window
2710 Test: fast/events/drag-outside-window.html
2712 * rendering/render_layer.cpp:
2713 (WebCore::RenderLayer::containsPoint): Always return true for the root
2714 object to ensure that mouse events occurring outside the window target
2717 2006-03-12 Alexey Proskuryakov <ap@nypop.com>
2721 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7735
2722 REGRESSION: crash on importing bookmarks
2724 No test - only reproducible when Safari imports the bookmarks.
2726 * dom/EventNames.cpp:
2727 (WebCore::EventNames::init): Initialize AtomicString before using it.
2728 * dom/QualifiedName.cpp:
2729 (WebCore::QualifiedName::init): Ditto.
2730 * khtml/html/htmlnames.cpp:
2731 (WebCore::HTMLNames::init): Ditto.
2732 * ksvg2/scripts/make_names.pl: Ditto.
2734 2006-03-12 David Kilzer <ddkilzer@kilzer.net>
2736 Reviewed by Darin, landed by ap.
2738 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7724
2739 Minor refactoring to HTMLParser::handleError() to remove duplicate code
2741 Test: fast/invalid/missing-address-end-tag.html
2742 Test: fast/invalid/missing-dl-end-tag.html
2743 Test: fast/invalid/missing-dt-end-tag.html
2744 Test: fast/invalid/missing-font-end-tag.html
2746 * khtml/html/htmlparser.cpp:
2747 (WebCore::HTMLParser::handleError): Refactored code.
2749 2006-03-10 Darin Adler <darin@apple.com>
2753 * bridge/win/FrameWin.h: Removed declaration of generateFrameName.
2755 2006-03-10 Darin Adler <darin@apple.com>
2759 - removed some unused stuff from Frame and MacFrame
2761 * page/Frame.h: Removed autoloadImages (the setter), enableMetaRefresh,
2762 setCharset, backgroundURL, findTextBegin, findTextNext, preloadStyleSheet,
2763 preloadScript, restored, onURL, selectionChanged, htmlError, openFile,
2764 updateActions, openURLInFrame, overURL, checkLinkSecurity, and cacheId.
2765 * page/FramePrivate.h: Removed m_restored, m_frameNameId, m_strSelectedURL,
2766 m_strSelectedURLTarget, m_bDnd, m_bClearing, m_bSecurityInQuestion,
2767 m_focusNodeRestored, m_focusNodeNumber, and m_newJSInterpreterExists.
2769 (WebCore::Frame::didOpenURL): Removed use of m_restored, code to set
2771 (WebCore::Frame::clear): Removed code to set m_bClearing and m_frameNameId.
2772 (WebCore::Frame::khtmlMousePressEvent): Removed code to set m_strSelectedURL
2773 and m_strSelectedURLTarget.
2775 * bridge/mac/MacFrame.h: Removed scheduleHistoryNavigation and
2777 * bridge/mac/MacFrame.mm:
2778 (WebCore::MacFrame::openURLFromPageCache): Removed use of m_restored.
2779 Removed unused requestedURLString.
2781 * bridge/mac/WebCoreFrameBridge.h: Removed requestedURLString.
2783 2006-03-10 Darin Adler <darin@apple.com>
2787 * page/FrameTree.cpp: Add include of <stdarg.h>.
2789 2006-03-10 Darin Adler <darin@apple.com>
2793 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3308
2794 Pop-up blocking blocks window.open for already open windows
2796 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7422
2797 Setting a frame name to the same value resets it to a generated one
2799 - refactor frame-name-related functions into the FrameTree object
2801 * WebCore.xcodeproj/project.pbxproj: Update for rename.
2802 * bridge/mac/MacFrame.h: Remove generateFrameName.
2803 * bridge/mac/MacFrame.mm: Ditto.
2804 * bridge/mac/PageMac.h: Added a declaration for WebCorePageBridge.
2806 * bridge/mac/WebCoreFrameBridge.h: Remove _frameNamespace, generateFrameName,
2807 setFrameNamespace, frameNamespace.
2808 * bridge/mac/WebCoreFrameBridge.mm:
2809 (-[WebCoreFrameBridge childFrameNamed:]): Change to call the new child
2810 function on the FrameTree.
2811 (-[WebCoreFrameBridge findFrameNamed:]): Change to call the new find
2812 function on the FrameTree.
2813 (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Change since the
2814 contentPart function has been renamed to contentFrame.
2816 * bridge/mac/WebCoreFrameNamespaces.h: Removed everything except for the
2817 one method still used on the WebKit side, framesInNamespace:.
2818 * bridge/mac/WebCoreFrameNamespaces.m: Renamed.
2819 * bridge/mac/WebCoreFrameNamespaces.mm: Added. Reimplemented the
2820 framesInNamespace method to use the namespace in WebCore::Page.
2822 * bridge/mac/WebCorePageBridge.h: Added setGroupName and groupName.
2823 * bridge/mac/WebCorePageBridge.mm:
2824 (-[WebCorePageBridge setGroupName:]): Added. Calls through to Page.
2825 (-[WebCorePageBridge groupName]): Ditto.
2827 * khtml/ecma/kjs_html.cpp:
2828 (KJS::HTMLDocument::namedItemGetter): Changed to call contentFrame by its new name.
2829 (KJS::HTMLElement::frameGetter): Ditto.
2830 (KJS::HTMLElement::iFrameGetter): Ditto.
2832 * khtml/ecma/kjs_window.cpp:
2833 (KJS::Window::getValueProperty): Changed to call FrameTree::childCount
2834 instead of Frame::frames.
2835 (KJS::Window::childFrameGetter): Changed to call FrameTree::child
2836 instead of Frame::childFrameNamed.
2837 (KJS::Window::namedFrameGetter): Changed to call FrameTree::find
2838 instead of Frame::findFrame.
2839 (KJS::Window::indexGetter): Changed to call FrameTree::child
2840 instead of Frame::frames.
2841 (KJS::Window::getOwnPropertySlot): Changed to call FrameTree::child,
2842 FrameTree::find, and FrameTree::childCount instead of Frame::childFrameNamed,
2843 and Frame::findFrame, and Frame::frames.
2844 (KJS::WindowFunc::callAsFunction): Call FrameTree::find to check if the window
2845 is already open when considering whether to block a pop-up.
2846 (KJS::FrameArray::getValueProperty): Changed to call FrameTree::childCount
2847 instead of Frame::frames.
2848 (KJS::FrameArray::indexGetter): Changed to call FrameTree::child
2849 instead of Frame::frames.
2850 (KJS::FrameArray::nameGetter): Changed to call FrameTree::child
2851 instead of Frame::findFrame.
2852 (KJS::FrameArray::getOwnPropertySlot): Changed to call FrameTree::child,
2853 and FrameTree::childCount instead of Frame::findFrame and Frame::frames.
2855 * khtml/html/html_baseimpl.h:
2856 * khtml/html/html_baseimpl.cpp:
2857 (WebCore::HTMLFrameElementImpl::isURLAllowed): Changed to call Page::frameCount
2858 instead of Frame::topLevelFrameCount.
2859 (WebCore::HTMLFrameElementImpl::openURL): Changed to call FrameTree::child
2860 instead of Frame::findFrame.
2861 (WebCore::HTMLFrameElementImpl::attach): Changed to call Page::incrementFrameCount
2862 instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
2863 instead of Frame::requestFrameName.
2864 (WebCore::HTMLFrameElementImpl::close): Changed to call Page::decrementFrameCount
2865 instead of Frame::decrementFrameCount. Changed to call FrameTree::child
2866 instead of Frame::findFrame.
2867 (WebCore::HTMLFrameElementImpl::contentFrame): Renamed from contentPart. Also
2868 changed to call FrameTree::child instead of Frame::findFrame.
2869 (WebCore::HTMLFrameElementImpl::contentDocument): Updated for name change of
2870 contentFrame from contentPart.
2871 (WebCore::HTMLIFrameElementImpl::attach): Changed to call Page::incrementFrameCount
2872 instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
2873 instead of Frame::requestFrameName.
2875 * rendering/render_frames.cpp: (WebCore::isURLAllowed): Changed to call Page::frameCount
2876 instead of Frame::topLevelFrameCount.
2878 * page/Frame.h: Removed frameNames, frames, childFrameNamed, findFrame, currentFrame,
2879 frameExists, incrementFrameCount, decrementFrameCount, topLevelFrameCount,
2880 generateFrameName, and requestFrameName functions.
2881 * page/Frame.cpp: (WebCore::Frame::requestFrame): Changed to use FrameTree::child
2882 instead of Frame::childFrameNamed.
2884 * page/FrameTree.h: Changed name to an atomic string. Changed childCount to unsigned.
2885 Added isDescendantOf, traverseNext, child, find, uniqueChildName.
2886 * page/FrameTree.cpp:
2887 (WebCore::FrameTree::setName): Changed to call uniqueChildName to handle name
2889 (WebCore::FrameTree::uniqueChildName): Added. Checks for duplication and generates
2890 an appropriate frame name if there is a duplicate.
2891 (WebCore::FrameTree::child): Added.
2892 (WebCore::FrameTree::find): Added.
2893 (WebCore::FrameTree::isDescendantOf): Added.
2894 (WebCore::FrameTree::traverseNext): Added.
2896 * page/Page.h: Added setGroupName, groupName, frameNamespace, incrementFrameCount,
2897 decrementFrameCount, and frameCount.
2899 (WebCore::Page::Page): Initialize m_frameCount to 0.
2900 (WebCore::Page::~Page): Call setGroupName to remove the page from any group it's in.
2901 (WebCore::Page::setGroupName): Added.
2902 (WebCore::Page::frameNamespace): Added.
2904 * platform/win/TemporaryLinkStubs.cpp: Removed FrameWin::generateFrameName.
2906 2006-03-10 Justin Garcia <justin.garcia@apple.com>
2908 Reviewed by darin, harrison
2910 ~3x speedup pasting plain text from the console
2912 * dom/dom_position.cpp:
2913 (WebCore::Position::next):
2914 (WebCore::Position::atEnd):
2916 2006-03-10 David Hyatt <hyatt@apple.com>
2918 More refactoring. Split the FontData into cross-platform and
2919 platform-specific components.
2923 * WebCore.vcproj/WebCore/WebCore.vcproj:
2924 * platform/FontData.h: Added.
2925 (WebCore::FontData:::m_platformData):
2926 (WebCore::FontData::platformData):
2927 (WebCore::FontData::setMetrics):
2928 (WebCore::FontData::ascent):
2929 (WebCore::FontData::descent):
2930 (WebCore::FontData::xHeight):
2931 (WebCore::FontData::lineSpacing):
2932 * platform/FontPlatformData.h: Added.
2933 (WebCore::FontPlatformData::hfont):
2934 (WebCore::FontPlatformData::scaledFont):
2935 * platform/win/FontPlatformDataWin.cpp: Added.
2936 (WebCore::FontPlatformData::FontPlatformData):
2937 (WebCore::FontPlatformData::~FontPlatformData):
2938 * platform/win/FontWin.cpp:
2939 (WebCore::Font::floatWidth):
2940 (WebCore::Font::drawText):
2942 2006-03-10 Maciej Stachowiak <mjs@apple.com>
2946 - fix win32 networking to properly use async load API
2948 * platform/win/TransferJobWin.cpp:
2949 (WebCore::TransferJobWndProc):
2950 (WebCore::TransferJob::start):
2952 2006-03-10 Eric Seidel <eseidel@apple.com>
2956 * platform/win/FontWin.cpp:
2957 (WebCore::getFontData):
2958 * platform/win/TemporaryLinkStubs.cpp:
2960 2006-03-10 Adele Peterson <adele@apple.com>
2962 Reviewed by Tim Hatcher.
2964 - fix for <rdar://problem/4469419>
2965 REGRESSION: RadioButtons are not checked in Safari when name attribute comes after checked attribute
2967 Test: fast/forms/radio-attr-order.html
2969 * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::parseMappedAttribute):
2970 When the name attribute gets parsed for radio buttons, if its supposed to be checked by default, call setChecked.
2971 Also, when the name changes on a checked button, we don't need to check that
2972 there's a form before removing it as the checked button for that group.
2973 That was an old check from when we required a form to keep track of checked buttons.
2975 2006-03-10 Eric Seidel <eseidel@apple.com>
2979 Add real ScrollViewWin implementation (fixes redraw bugs, adds ScrollBar support.)
2981 * platform/ScrollView.h:
2982 * platform/Widget.h:
2983 * platform/win/FontWin.cpp:
2984 (WebCore::getCairoFont): Fix crasher.
2985 * platform/win/ScrollViewWin.cpp:
2986 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2987 (WebCore::ScrollView::ScrollView):
2988 (WebCore::ScrollView::~ScrollView):
2989 (WebCore::ScrollView::updateContents):
2990 (WebCore::ScrollView::visibleWidth):
2991 (WebCore::ScrollView::visibleHeight):
2992 (WebCore::ScrollView::setContentsPos):
2993 (WebCore::ScrollView::resizeContents):
2994 (WebCore::ScrollView::contentsX):
2995 (WebCore::ScrollView::contentsY):
2996 (WebCore::ScrollView::contentsWidth):
2997 (WebCore::ScrollView::contentsHeight):
2998 (WebCore::ScrollView::viewportToContents):
2999 (WebCore::ScrollView::contentsToViewport):
3000 (WebCore::ScrollView::scrollXOffset):
3001 (WebCore::ScrollView::scrollYOffset):
3002 (WebCore::ScrollView::scrollBy):
3003 (WebCore::ScrollView::hScrollBarMode):
3004 (WebCore::ScrollView::vScrollBarMode):
3005 (WebCore::ScrollView::suppressScrollBars):
3006 (WebCore::ScrollView::setHScrollBarMode):
3007 (WebCore::ScrollView::setVScrollBarMode):
3008 (WebCore::ScrollView::setScrollBarsMode):
3009 (WebCore::ScrollView::setStaticBackground):
3010 (WebCore::ScrollView::updateScrollInfo):
3011 (WebCore::ScrollView::updateScrollBars):
3012 * platform/win/TemporaryLinkStubs.cpp:
3013 (BrowserExtensionWin::goBackOrForward):
3014 (BrowserExtensionWin::setIconURL):
3015 (ScrollView::scrollPointRecursively):
3016 * platform/win/WidgetWin.cpp:
3017 (WebCore::Widget::windowHandle): mark as const
3019 2006-03-10 David Hyatt <hyatt@apple.com>
3021 Rename the m_renderer variable to m_dataSet now that the class name
3026 * platform/Font.cpp:
3027 (WebCore::m_wordSpacing):
3028 (WebCore::Font::Font):
3029 (WebCore::Font::operator=):
3030 (WebCore::Font::update):
3032 * platform/FontDataSet.h:
3033 * platform/mac/FontMac.mm:
3034 (WebCore::Font::getWebCoreFont):
3035 (WebCore::Font::ascent):
3036 (WebCore::Font::descent):
3037 (WebCore::Font::lineSpacing):
3038 (WebCore::Font::xHeight):
3039 (WebCore::Font::isFixedPitch):
3040 (WebCore::Font::selectionRectForText):
3041 (WebCore::Font::drawText):
3042 (WebCore::Font::drawHighlightForText):
3043 (WebCore::Font::drawLineForText):
3044 (WebCore::Font::drawLineForMisspelling):
3045 (WebCore::Font::misspellingLineThickness):
3046 (WebCore::Font::floatWidth):
3047 (WebCore::Font::checkSelectionPoint):
3048 * platform/win/FontWin.cpp:
3049 (WebCore::FontData::FontData):
3050 (WebCore::FontData::~FontData):
3051 (WebCore::getFontData):
3052 (WebCore::FontDataSet::primaryFont):
3053 (WebCore::Font::floatWidth):
3054 (WebCore::Font::ascent):
3055 (WebCore::Font::descent):
3056 (WebCore::Font::xHeight):
3057 (WebCore::Font::lineSpacing):
3058 (WebCore::Font::isFixedPitch):
3059 (WebCore::Font::drawText):
3061 2006-03-10 David Hyatt <hyatt@apple.com>
3063 Rename FontRenderer to FontDataSet.
3067 * WebCore.xcodeproj/project.pbxproj:
3068 * platform/Font.cpp:
3069 (WebCore::Font::update):
3071 * platform/FontDataSet.h: Added.
3072 * platform/FontRenderer.h: Removed.
3073 * platform/mac/FontMac.mm:
3074 (WebCore::FontDataSet::~FontDataSet):
3075 (WebCore::FontDataSet::getWebCoreFont):
3076 (WebCore::FontDataSet::getRenderer):
3077 (WebCore::FontDataSet::determinePitch):
3078 (WebCore::FontDataSet::invalidate):
3079 * platform/win/FontWin.cpp:
3080 (WebCore::getCairoFont):
3081 (WebCore::FontDataSet::~FontDataSet):
3082 (WebCore::FontDataSet::determinePitch):
3083 (WebCore::FontDataSet::invalidate):
3084 (WebCore::FontDataSet::primaryCairoFont):
3086 2006-03-09 Justin Garcia <justin.garcia@apple.com>
3090 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7692>
3091 Should use an iterator in CompositeEditCommand::doUnapply()
3093 ~30% speedup of a big undo
3095 * editing/CompositeEditCommand.cpp:
3096 (WebCore::CompositeEditCommand::doUnapply):
3097 (WebCore::CompositeEditCommand::doReapply):
3099 2006-03-09 Adele Peterson <adele@apple.com>
3103 Removed unnecessary alerts in TextIterator advance methods.
3104 We want to be able to use advance() even if the iterator is already at the end.
3106 * editing/visible_text.cpp:
3107 (khtml::TextIterator::advance): remove assert since TextIterator will just do nothing if its already at the end.
3108 (khtml::CharacterIterator::advance): ditto.
3109 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
3110 Since the asserts in the iterator are removed, we don't have to check for it.atEnd() before calling advance.
3112 2006-03-09 David Hyatt <hyatt@apple.com>
3114 Make text paint with the correct foreground color on Windows.
3115 Make the face validation check case insensitive.
3116 Force ClearType to be on for font rendering.
3118 Reviewed by Tim Hatcher
3120 * platform/win/FontWin.cpp:
3121 (WebCore::getCairoFont):
3122 (WebCore::Font::drawText):
3124 2006-03-09 Adele Peterson <adele@apple.com>
3128 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7675
3129 When new text fields change from visibility:hidden to visibility:visible, value doesn't display
3131 Test: fast/forms/input-appearance-visibility.html
3133 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setStyle):
3134 Sets the style directly on the children of the inner div.
3136 2006-03-09 David Hyatt <hyatt@apple.com>
3138 Make basic text rendering work on Win32.
3142 * WebCore.vcproj/WebCore/WebCore.vcproj:
3143 Add FontDescription.h to the Visual Studio project.
3145 * bridge/win/FrameWin.cpp:
3146 (WebCore::FrameWin::FrameWin):
3147 Add some good default font settings to KHTMLSettings.
3149 * platform/Font.cpp:
3150 (WebCore::Font::update):
3151 Renamed the FontRenderer method to invalidate, so that's what
3154 * platform/FontRenderer.h:
3155 * platform/mac/FontMac.mm:
3156 (WebCore::FontRenderer::~FontRenderer):
3157 (WebCore::FontRenderer::invalidate):
3158 Rename the update method to invalidate. Make sure the Mac
3159 font renderer releases its resources when it gets destroyed.
3161 * platform/win/FontWin.cpp:
3162 (WebCore::CairoFont::CairoFont):
3163 (WebCore::CairoFont::~CairoFont):
3164 (WebCore::CairoFont::hfont):
3165 (WebCore::CairoFont::scaledFont):
3166 (WebCore::CairoFont::setMetrics):
3167 (WebCore::CairoFont::ascent):
3168 (WebCore::CairoFont::descent):
3169 (WebCore::CairoFont::xHeight):
3170 (WebCore::CairoFont::lineSpacing):
3171 Implement a new class called CairoFont that encapsulates
3172 the windows HFONT, the cairo font face, and the cairo scaled
3175 (WebCore::getCairoFont):
3176 The method to look up a Cairo font. This will eventually use
3177 a hash, but for now it just always makes the fonts over and
3180 (WebCore:::m_pitch):
3181 (WebCore::FontRenderer::~FontRenderer):
3182 (WebCore::FontRenderer::determinePitch):
3183 (WebCore::FontRenderer::invalidate):
3184 More of the FontRenderer plumbing.
3186 (WebCore::FontRenderer::primaryCairoFont):
3187 Returns the primary Cairo font for a family list. This is basically
3188 the first family that is present on the system.
3190 (WebCore::Font::floatWidth):
3191 The width method uses GetTextExtentPoint32W for now. This
3192 is totally wrong and will eventually be replaced by Cairo
3195 (WebCore::Font::ascent):
3196 (WebCore::Font::descent):
3197 (WebCore::Font::xHeight):
3198 (WebCore::Font::lineSpacing):
3199 (WebCore::Font::isFixedPitch):
3200 Accessors for the metrics and pitch info.
3202 (WebCore::Font::drawText):
3203 Drawing of text. Uses TextOut and is also basically throwaway
3206 * platform/win/TemporaryLinkStubs.cpp:
3207 (Font::checkSelectionPoint):
3208 Move the checkSelectionPoint method back to the link stubs.
3210 2006-03-09 Justin Garcia <justin.garcia@apple.com>
3212 Reviewed by harrison
3214 Fixed formatting and changed functions to take in
3215 a const Selection& instead of a Selection.
3217 * editing/ModifySelectionListLevelCommand.cpp:
3218 (WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel):
3219 (WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel):
3220 (WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel):
3221 (WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel):
3222 (WebCore::modifySelectionListLevel):
3223 (WebCore::getStartEndListChildren):
3224 (WebCore::canIncreaseListLevel):
3225 (WebCore::canDecreaseListLevel):
3226 (WebCore::ModifySelectionListLevelCommand::increaseListLevel):
3227 (WebCore::ModifySelectionListLevelCommand::decreaseListLevel):
3228 * editing/ModifySelectionListLevelCommand.h:
3230 2006-03-09 Adele Peterson <adele@apple.com>
3234 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6814
3235 Implement selection methods for RenderTextField
3237 Test: fast/forms/input-appearance-selection.html
3239 * rendering/RenderTextField.cpp:
3240 (WebCore::RenderTextField::createDivStyle): removed extra space.
3241 (WebCore::RenderTextField::select): Removed checks for document and m_div since there should always be a document and
3242 m_div will be initialized as the renderer gets attached.
3243 (WebCore::RenderTextField::selectionStart): Calls indexForVisiblePosition.
3244 (WebCore::RenderTextField::selectionEnd): ditto.
3245 (WebCore::RenderTextField::setSelectionStart): calls setSelectionRange.
3246 (WebCore::RenderTextField::setSelectionEnd): ditto.
3247 (WebCore::RenderTextField::setSelectionRange): gets VisiblePositions for both indices, and sets the selection.
3248 (WebCore::RenderTextField::visiblePositionForIndex): Added helper method.
3249 (WebCore::RenderTextField::indexForVisiblePosition): Added helper method.
3250 * rendering/RenderTextField.h: Added new helper methods for selection.
3252 2006-03-09 David Carson <dacarson@gmail.com>
3254 Test: fast/canvas/fillrect_gradient.html
3258 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6103
3259 Rectangles are not filled according to the Web Applications Working Draft
3261 * khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::callAsFunction):
3262 Modified fillrect function to check and use a gradient if set.
3263 Builds a path to fill rects with a gradient.
3265 2006-03-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
3267 No test because this fixes an existing pixel test (and does not affect
3272 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7664
3273 REGRESSION: tests that include numeric list markers fail in pixel mode
3275 * platform/GraphicsContext.cpp:
3276 (WebCore::GraphicsContext::drawText): Restored AlignRight behavior.
3278 2006-03-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
3280 No test because we couldn't figure out how to write one.
3284 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7680
3285 REGRESSION: Ellipsis painted over the chrome and in invalid contexts
3287 * rendering/render_line.cpp:
3288 (WebCore::EllipsisBox::paint): Replaced call to Font::drawText with
3289 GraphicsContext::drawText, which checks the paintingDisabled flag.
3291 2006-03-09 Maciej Stachowiak <mjs@apple.com>
3295 - make link clicks work by propagating them up to a client
3297 * Viewer/ImageView.cpp:
3298 * bridge/win/FrameWin.cpp:
3299 * bridge/win/FrameWin.h:
3300 * platform/win/TemporaryLinkStubs.cpp:
3301 (FrameWin::incomingReferrer):
3303 2006-03-09 Eric Seidel <eseidel@apple.com>
3307 Add support for Timers under 10ms.
3308 Fix random crashers due to multi-threaded loading.
3310 * platform/TransferJob.h:
3311 * platform/TransferJobInternal.h:
3312 (WebCore::TransferJobInternal::TransferJobInternal):
3313 * platform/Widget.h:
3314 * platform/win/SharedTimerWin.cpp:
3315 (WebCore::TimerWindowWndProc):
3316 (WebCore::initializeOffScreenTimerWindow):
3317 (WebCore::setSharedTimerFireTime):
3318 * platform/win/TemporaryLinkStubs.cpp:
3319 (WebCore::TransferJob::assembleResponseHeaders):
3320 (WebCore::TransferJob::retrieveCharset):
3321 * platform/win/TransferJobWin.cpp:
3322 (WebCore::addToOutstandingJobs):
3323 (WebCore::removeFromOutstandingJobs):
3324 (WebCore::lookupTransferJob):
3325 (WebCore::TransferJobWndProc):
3326 (WebCore::initializeOffScreenTransferJobWindow):
3327 (WebCore::TransferJob::~TransferJob):
3328 (WebCore::transferJobStatusCallback):
3329 (WebCore::TransferJob::start):
3330 (WebCore::TransferJob::cancel):
3331 * platform/win/WidgetWin.cpp:
3333 2006-03-08 Justin Garcia <justin.garcia@apple.com>
3337 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7579>
3338 TinyMCE: Implement execCommand(insertImage, ...)
3340 Implemented InsertImage and also changed paste to use a single
3341 rule for when to remove junk that remains after node removal.
3343 * editing/ReplaceSelectionCommand.cpp:
3344 (WebCore::ReplaceSelectionCommand::removeNodeAndPruneAncestors):
3345 (WebCore::ReplaceSelectionCommand::doApply):
3346 (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded):
3347 * editing/ReplaceSelectionCommand.h:
3348 * editing/htmlediting.cpp:
3349 * editing/jsediting.cpp:
3351 2006-03-08 Eric Seidel <eseidel@apple.com>
3355 Fix build script to properly copy dll files.
3357 * WebCore.vcproj/WebCore/build-generated-files.sh:
3359 2006-03-08 Rob Buis <buis@kde.org>
3361 Reviewed by eseidel.
3363 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6899 SVG <rect> does not respect display: none
3365 For svg elements that can render, call StyledElementImpl::rendererIsNeeded
3366 to decide whether the element should render. In particular this way
3367 any setting of display="none" is handled.
3369 * ksvg2/svg/SVGAElementImpl.h:
3370 (WebCore::SVGAElementImpl::rendererIsNeeded):
3371 * ksvg2/svg/SVGCircleElementImpl.h:
3372 (WebCore::SVGCircleElementImpl::rendererIsNeeded):
3373 * ksvg2/svg/SVGEllipseElementImpl.h:
3374 (WebCore::SVGEllipseElementImpl::rendererIsNeeded):
3375 * ksvg2/svg/SVGForeignObjectElementImpl.h:
3376 (WebCore::SVGForeignObjectElementImpl::rendererIsNeeded):
3377 * ksvg2/svg/SVGGElementImpl.h:
3378 (WebCore::SVGGElementImpl::rendererIsNeeded):
3379 * ksvg2/svg/SVGImageElementImpl.h:
3380 (WebCore::SVGImageElementImpl::rendererIsNeeded):
3381 * ksvg2/svg/SVGLineElementImpl.h:
3382 (WebCore::SVGLineElementImpl::rendererIsNeeded):
3383 * ksvg2/svg/SVGMarkerElementImpl.h:
3384 (WebCore::SVGMarkerElementImpl::rendererIsNeeded):
3385 * ksvg2/svg/SVGMaskElementImpl.h:
3386 (WebCore::SVGMaskElementImpl::rendererIsNeeded):
3387 * ksvg2/svg/SVGPathElementImpl.h:
3388 (WebCore::SVGPathElementImpl::rendererIsNeeded):
3389 * ksvg2/svg/SVGPatternElementImpl.h:
3390 (WebCore::SVGPatternElementImpl::rendererIsNeeded):
3391 * ksvg2/svg/SVGPolyElementImpl.h:
3392 (WebCore::SVGPolyElementImpl::rendererIsNeeded):
3393 * ksvg2/svg/SVGRectElementImpl.h:
3394 (WebCore::SVGRectElementImpl::rendererIsNeeded):
3395 * ksvg2/svg/SVGSVGElementImpl.h:
3396 (WebCore::SVGSVGElementImpl::rendererIsNeeded):
3397 * ksvg2/svg/SVGSwitchElementImpl.h:
3398 (WebCore::SVGSwitchElementImpl::rendererIsNeeded):
3399 * ksvg2/svg/SVGTSpanElementImpl.h:
3400 (WebCore::SVGTSpanElementImpl::rendererIsNeeded):
3401 * ksvg2/svg/SVGTextElementImpl.h:
3402 (WebCore::SVGTextElementImpl::rendererIsNeeded):
3403 * ksvg2/svg/SVGUseElementImpl.h:
3404 (WebCore::SVGUseElementImpl::rendererIsNeeded):
3406 2006-03-08 Eric Seidel <eseidel@apple.com>
3410 Add stubs to allow JavaScript-enabled WebCore to not crash.
3411 Add ScreenWin implementation.
3412 Add alert() support.
3414 * WebCore.vcproj/WebCore/WebCore.vcproj:
3415 * bridge/win/FrameWin.cpp:
3416 (WebCore::FrameWin::runJavaScriptAlert):
3417 (WebCore::FrameWin::runJavaScriptConfirm):
3418 * platform/win/ScreenWin.cpp: Added.
3419 (WebCore::monitorInfoForWidget):
3420 (WebCore::WebCore::screenRect):
3421 (WebCore::WebCore::screenDepth):
3422 (WebCore::WebCore::usableScreenRect):
3423 * platform/win/TemporaryLinkStubs.cpp:
3424 (FrameWin::canUndo):
3425 (FrameWin::runJavaScriptPrompt):
3426 (FrameWin::canPaste):
3427 (WebCore::setCookies):
3429 (WebCore::cookiesEnabled):
3430 (PlugInInfoStore::createPluginInfoForPluginAtIndex):
3431 (PlugInInfoStore::pluginCount):
3432 (WebCore::refreshPlugins):
3433 (FrameWin::clearUndoRedoOperations):
3434 (FrameWin::incomingReferrer):
3436 2006-03-08 Darin Adler <darin@apple.com>
3440 - fix another instance of the bug I just fixed in the Macintosh-specific code path
3442 * platform/image-decoders/gif/GIFImageReader.h: Remove not-so-useful 100ms constant.
3443 * platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read):
3444 Use the correct rule for minimum frame durations.
3446 2006-03-08 Maciej Stachowiak <mjs@apple.com>
3450 - very rough implementation of networking in TransferJob for windows
3452 * platform/TransferJob.h:
3453 * platform/TransferJobInternal.h:
3454 (WebCore::TransferJobInternal::TransferJobInternal):
3455 * platform/win/TransferJobWin.cpp:
3456 (WebCore::transferJobStatusCallback):
3457 (WebCore::TransferJob::start):
3459 2006-03-08 Maciej Stachowiak <mjs@apple.com>
3465 * platform/win/FontWin.cpp:
3466 (WebCore::Font::drawText):
3467 (WebCore::Font::drawHighlightForText):
3468 * platform/win/TemporaryLinkStubs.cpp:
3469 (GraphicsContext::clearFocusRing):
3470 (GraphicsContext::selectedTextBackgroundColor):
3471 (Font::selectionRectForText):
3473 2006-03-08 Darin Adler <darin@apple.com>
3477 - fix one more thing from http://bugzilla.opendarwin.org/show_bug.cgi?id=7528
3478 REGRESSION: GIF animation speeds are wrong on a page with many animated GIFs
3480 No layout test because I don't know how to test animated GIF speed.
3482 * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
3483 Use the correct rule for minimum frame durations. It's a bit non-intuitive, so
3484 I made the comment more explicit. The old code in WebKit had this rule.
3486 2006-03-08 David Hyatt <hyatt@apple.com>
3488 Make GraphicsContext call into Font to draw all text and eliminate
3489 all knowledge of WebTextRenderers from it.
3494 * platform/GraphicsContext.cpp:
3495 (WebCore::GraphicsContext::drawText):
3496 (WebCore::GraphicsContext::drawHighlightForText):
3497 (WebCore::GraphicsContext::drawLineForText):
3498 (WebCore::GraphicsContext::drawLineForMisspelling):
3499 (WebCore::GraphicsContext::misspellingLineThickness):
3500 * platform/GraphicsContext.h:
3501 (WebCore::GraphicsContext::platformContext):
3502 * platform/cairo/GraphicsContextCairo.cpp:
3503 (WebCore::GraphicsContext::platformContext):
3504 * platform/mac/FontMac.mm:
3505 (WebCore::Font::drawText):
3506 (WebCore::Font::drawHighlightForText):
3507 (WebCore::Font::drawLineForText):
3508 (WebCore::Font::drawLineForMisspelling):
3509 (WebCore::Font::misspellingLineThickness):
3510 * platform/mac/GraphicsContextMac.mm:
3511 * platform/win/FontWin.cpp:
3512 (WebCore::Font::drawText):
3513 * rendering/InlineTextBox.cpp:
3514 (WebCore::InlineTextBox::paint):
3515 (WebCore::InlineTextBox::paintSelection):
3516 (WebCore::InlineTextBox::paintMarkedTextBackground):
3517 (WebCore::InlineTextBox::paintTextMatchMarker):
3519 2006-03-08 Darin Adler <darin@apple.com>
3523 - fixed super-fast animation of many animated GIFs
3525 No layout test because I don't know how to test animated GIF speed.
3527 * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
3528 Always take the minimum duration into account, even if there's some kind of failure
3529 getting the duration from the GIF.
3531 2006-03-07 Darin Adler <darin@apple.com>
3535 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
3536 unwanted output while running layout tests
3538 * khtml/xsl/xsl_stylesheetimpl.cpp: (WebCore::XSLStyleSheetImpl::parseString):
3539 Pass XML_PARSE_NOERROR and XML_PARSE_NOWARNING. We don't want errors and warnings
3540 to be logged to stdout or stderr. If we later decide we want the error messages,
3541 then we should do the additional work to put them into the web page or the
3542 console (along with the JavaScript errors).
3544 * platform/ArrayImpl.cpp: (WebCore::ArrayImpl::resize): Add a preflight to protect
3545 against integer overflow due to large array size. Noticed this while looking into
3546 the malloc error message.
3548 2006-03-07 Darin Adler <darin@apple.com>
3552 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7647
3553 Crash when typing into text contols
3555 I missed a couple places that were still saying KWQWidgetHolder
3556 in the change I landed late last night.
3558 * kwq/KWQTextArea.h:
3559 * kwq/KWQTextArea.mm:
3560 * kwq/KWQTextField.h: