1 2008-02-29 Mark Rowe <mrowe@apple.com>
3 Reviewed by Anders Carlsson.
5 Replace use of WKPathFromFont with implementation in terms of public API.
7 * WebCore.base.exp: Remove unused symbol.
8 * platform/graphics/mac/SimpleFontDataMac.mm:
9 (WebCore::initFontData):
10 (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
11 (WebCore::SimpleFontData::platformInit):
12 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
13 * platform/mac/WebCoreSystemInterface.mm: Ditto.
15 2008-02-29 Anders Carlsson <andersca@apple.com>
19 Move a bunch of files from bridge/mac to page/mac.
21 * WebCore.xcodeproj/project.pbxproj:
22 * bridge/mac: Removed.
23 * bridge/mac/AXObjectCacheMac.mm: Removed.
24 * bridge/mac/GlobalHistoryMac.mm: Removed.
25 * bridge/mac/WebCoreAXObject.h: Removed.
26 * bridge/mac/WebCoreAXObject.mm: Removed.
27 * bridge/mac/WebCoreScriptDebugger.h: Removed.
28 * bridge/mac/WebCoreScriptDebugger.mm: Removed.
29 * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
30 * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
31 * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
32 * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
33 * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
34 * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
36 2008-02-29 David Hyatt <hyatt@apple.com>
38 Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
39 guard malloc. Pass along the style selector so it can be accessed, since it has not yet
40 been assigned into the document's member variable.
44 * css/CSSStyleSelector.cpp:
45 (WebCore::CSSRuleSet::addRulesFromSheet):
46 * css/MediaQueryEvaluator.cpp:
47 (WebCore::MediaQueryEvaluator::eval):
48 * css/MediaQueryEvaluator.h:
50 2008-02-29 David Hyatt <hyatt@apple.com>
52 <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
54 Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
55 Be more precise in terms of what nodes we mark dirty.
59 * css/CSSStyleSelector.cpp:
60 (WebCore::CSSStyleSelector::checkSelector):
62 (WebCore::Element::recalcStyle):
63 (WebCore::checkForSiblingStyleChanges):
64 (WebCore::Element::childrenChanged):
65 (WebCore::Element::finishParsingChildren):
66 * rendering/RenderStyle.cpp:
67 (WebCore::RenderStyle::RenderStyle):
68 * rendering/RenderStyle.h:
69 (WebCore::RenderStyle::childrenAffectedByPositionalRules):
70 (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
71 (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
73 2008-02-29 Alexey Proskuryakov <ap@webkit.org>
77 <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
79 Test: http/tests/xmlhttprequest/status-after-abort.html
81 * xml/XMLHttpRequest.cpp:
82 (WebCore::XMLHttpRequest::getStatus):
83 (WebCore::XMLHttpRequest::getStatusText):
84 Changed to match Firefox more closely (IE just raises an exception in most of those cases).
86 2008-02-29 Dan Bernstein <mitz@apple.com>
88 Reviewed by Darin Adler.
90 - fix a bug where explicit embedding past the end of a line could
93 Test: fast/text/embed-at-end-of-pre-wrap-line.html
96 (WebCore::RenderBlock::skipWhitespace): Removed calls to
98 (WebCore::RenderBlock::findNextLineBreak): Added calls to
99 setAdjustEmbedding() around skipWhitespace() only where needed.
101 2008-02-29 Mark Rowe <mrowe@apple.com>
103 Reviewed by Oliver Hunt.
105 Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
107 * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
108 * platform/mac/WebCoreSystemInterface.mm: Ditto.
109 * platform/network/mac/ResourceRequestMac.mm:
110 (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
111 * WebCore.Tiger.exp: Move Tiger-only symbol here.
114 2008-02-29 Mark Rowe <mrowe@apple.com>
116 Rubber-stamped by Eric Seidel.
118 Remove unneeded includes of WebCoreSystemInterface.h.
120 * loader/mac/LoaderNSURLExtras.m:
121 * page/mac/FrameMac.mm:
122 * page/mac/WebCoreFrameBridge.mm:
123 * platform/MIMETypeRegistry.cpp:
124 * platform/graphics/mac/ImageMac.mm:
125 * platform/mac/PasteboardMac.mm:
127 2008-02-29 Mark Rowe <mrowe@apple.com>
129 Reviewed by Oliver Hunt and Oliver Hunt.
131 <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
133 * platform/mac/SystemTimeMac.cpp: Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
134 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
135 * platform/mac/WebCoreSystemInterface.mm: Ditto.
136 * WebCore.base.exp: Ditto.
138 2008-02-28 Mark Rowe <mrowe@apple.com>
140 Reviewed by Dave Hyatt.
142 Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
144 * DerivedSources.make: Add Tiger-only symbols to the export file when running on Tiger.
145 * WebCore.Tiger.exp: Added. Move Tiger-only symbol here from WebCore.base.exp.
147 * platform/graphics/mac/SimpleFontDataMac.mm:
148 (WebCore::SimpleFontData::platformInit): Use Leopard APIs when building on Leopard.
149 * platform/mac/WebCoreSystemInterface.h: Don't declare wkGetFontMetrics on Leopard as it is unused.
150 * platform/mac/WebCoreSystemInterface.mm: Ditto.
152 2008-02-28 Matt Lilek <webkit@mattlilek.com>
154 Reviewed by Tim Hatcher.
156 Bug 16535: Stylesheets loaded with @import are not editable
157 http://bugs.webkit.org/show_bug.cgi?id=16535
158 <rdar://problem/5712899>
160 Sheets loaded using @import were incorrectly being flagged as non-editable
161 user agent sheets because their parent sheet doesn't have an ownerNode. We now
162 check to make sure sheets also don't have a href before restricting their editability.
164 * page/inspector/StylesSidebarPane.js:
166 2008-02-28 Rodney Dawes <dobey@wayofthemonkey.com>
168 Reviewed by Adam Roben.
170 Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
171 Add PluginPackage.cpp to build configurations.
172 Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
173 Use cross-platform pathGetFilename method.
174 Remove platform-specific code from shared PluginPackage implementation.
175 Remove shared code from PluginPackageWin.cpp.
179 * WebCoreSources.bkl:
180 * WebCore.vcproj/WebCore.vcproj:
181 * platform/gtk/TemporaryLinkStubs.cpp:
182 * platform/qt/TemporaryLinkStubs.cpp:
183 * platform/wx/TemporaryLinkStubs.cpp:
184 * plugins/PluginPackage.cpp:
185 * plugins/win/PluginPackageWin.cpp:
187 2008-02-28 Justin Garcia <justin.garcia@apple.com>
189 Reviewed by Darin Adler.
191 <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
193 Add a second style span at copy time to hold document default styles. This helps us
194 differentiate between those and user applied styles at paste time, where we'll want
195 to let Mail's Paste As Quotation blockquote override document default styles, but
198 * css/CSSComputedStyleDeclaration.cpp:
199 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used
200 for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that
201 are thick | medium | thin | <length>. Before, there was a mismatch between the unit
202 type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for
203 an element and that element's inlineStyleDecl(), causing identical values to always appear
205 * editing/ReplaceSelectionCommand.cpp:
206 (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed. Don't just change
207 the class to an empty string, completely remove it, it's no longer needed.
208 (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
209 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
210 Added, replaces removeRedundantStyles.
211 We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
212 unused code and renamed the function.
213 There won't be more than two style spans that we need to consider, the one with the
214 source document's default styles and styles on the commonAncestor of the copied Range,
215 so don't look for more than two.
216 Let elements that wrap the incoming fragment override the source document's styles.
217 (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
218 and call the renamed handleStyleSpans.
219 * editing/ReplaceSelectionCommand.h:
220 * editing/markup.cpp:
221 (WebCore::removeDefaultStyles): Added. Don't add document defaults to the style span
222 that holds user applied styles, since they'll be added to their own style span.
223 (WebCore::createMarkup):
224 Add a second style span that holds just the document defaults. This lets us differentiate
225 between those and user applied styles at paste time.
226 Mail blockquotes are just another type of special element, moved their handling there. This
227 also lets paste code make assumptions about the position of the two style spans (they are
228 *always* parent-child).
230 2008-02-28 Brent Fulgham <bfulgham@gmail.com>
232 http://bugs.webkit.org/show_bug.cgi?id=17576
233 Modify RenderThemeWin to use SOFT_LINK
235 Reviewed by Adam Roben.
237 * rendering/RenderThemeWin.h: Remove unneeded library handle
238 * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
239 rather than hand-coded load library calls.
241 2008-02-28 Dan Bernstein <mitz@apple.com>
243 Reviewed by Darin Adler.
245 - fix http://bugs.webkit.org/show_bug.cgi?id=17590
246 ASSERTION FAILED: subject in jsRegExpExecute()
248 * page/mac/FrameMac.mm:
249 (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
250 case the element name is empty.
252 2008-02-28 Justin Garcia <justin.garcia@apple.com>
254 Reviewed by Dan Bernstein
256 Small editing speed up.
259 (WebCore::Position::upstream): Don't check for a change in editability
260 if the current node hasn't changed.
261 (WebCore::Position::downstream): Ditto.
263 2008-02-27 Dan Bernstein <mitz@apple.com>
265 Reviewed by John Sullivan.
267 - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
269 Test: fast/text/soft-hyphen-2.html
271 * rendering/bidi.cpp:
272 (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
273 that if there are two midpoints at the given position, only the last one
276 2008-02-27 Dan Bernstein <mitz@apple.com>
278 Reviewed by Darin Adler.
280 - make centered text in right-to-left blocks spill over to the left
282 Test: fast/text/align-center-rtl-spill.html
284 * rendering/bidi.cpp:
285 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
287 2008-02-27 Dan Bernstein <mitz@apple.com>
289 Reviewed by Darin Adler.
291 - more bidi.cpp cleanup
293 * platform/text/BidiResolver.h:
294 (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
295 (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
297 (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
299 (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
300 destroy(), avoiding the need to specialize this method in BidiState.
301 * rendering/bidi.cpp:
302 (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
303 (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
304 (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
305 (WebCore::RenderBlock::createLineBoxes):
306 (WebCore::RenderBlock::constructLine):
307 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
308 (WebCore::RenderBlock::computeVerticalPositionsForLine):
309 (WebCore::buildCompactRuns):
310 (WebCore::RenderBlock::layoutInlineChildren):
311 (WebCore::RenderBlock::determineStartPosition):
312 (WebCore::RenderBlock::determineEndPosition):
313 (WebCore::RenderBlock::matchedEndLine):
314 (WebCore::skipNonBreakingSpace):
315 (WebCore::RenderBlock::skipWhitespace):
316 (WebCore::shouldSkipWhitespaceAfterStartObject):
318 (WebCore::BidiRun): Added m_ prefixes to several member variables.
320 2008-02-27 Sam Weinig <sam@webkit.org>
324 Fix for <rdar://problem/5768769>
326 - Don't allow cross-origin calls using window.functionName.call(otherFrame)
329 * bindings/js/JSLocation.cpp:
330 (WebCore::jsLocationProtoFuncToString): Do same-origin check.
331 * bindings/js/kjs_window.cpp:
332 (KJS::windowProtoFuncAToB): Ditto.
333 (KJS::windowProtoFuncBToA): Ditto.
334 (KJS::windowProtoFuncOpen): Ditto.
335 (KJS::windowProtoFuncClearTimeout): Ditto.
336 * bindings/scripts/CodeGeneratorJS.pm: Ditto.
338 2008-02-27 David Hyatt <hyatt@apple.com>
340 More cleanup in preparation for fixing the HTML5 spec performance regression.
342 Reviewed by Sam Weinig
345 (WebCore::Attr::childrenChanged):
347 * dom/ContainerNode.cpp:
348 (WebCore::ContainerNode::insertBefore):
349 (WebCore::ContainerNode::replaceChild):
350 (WebCore::ContainerNode::removeChild):
351 (WebCore::ContainerNode::removeChildren):
352 (WebCore::ContainerNode::appendChild):
353 (WebCore::ContainerNode::addChild):
354 (WebCore::ContainerNode::childrenChanged):
355 * dom/ContainerNode.h:
357 (WebCore::Document::childrenChanged):
360 (WebCore::Element::childrenChanged):
363 (WebCore::Node::childrenChanged):
364 * html/HTMLObjectElement.cpp:
365 (WebCore::HTMLObjectElement::childrenChanged):
366 * html/HTMLObjectElement.h:
367 * html/HTMLOptGroupElement.cpp:
368 (WebCore::HTMLOptGroupElement::childrenChanged):
369 * html/HTMLOptGroupElement.h:
370 * html/HTMLOptionElement.cpp:
371 (WebCore::HTMLOptionElement::childrenChanged):
372 * html/HTMLOptionElement.h:
373 * html/HTMLScriptElement.cpp:
374 (WebCore::HTMLScriptElement::childrenChanged):
375 * html/HTMLScriptElement.h:
376 * html/HTMLSelectElement.cpp:
377 (WebCore::HTMLSelectElement::childrenChanged):
378 * html/HTMLSelectElement.h:
379 * html/HTMLStyleElement.cpp:
380 (WebCore::HTMLStyleElement::childrenChanged):
381 * html/HTMLStyleElement.h:
382 * html/HTMLTextAreaElement.cpp:
383 (WebCore::HTMLTextAreaElement::childrenChanged):
384 * html/HTMLTextAreaElement.h:
385 * html/HTMLTitleElement.cpp:
386 (WebCore::HTMLTitleElement::childrenChanged):
387 * html/HTMLTitleElement.h:
388 * svg/SVGClipPathElement.cpp:
389 (WebCore::SVGClipPathElement::childrenChanged):
390 * svg/SVGClipPathElement.h:
391 * svg/SVGDefinitionSrcElement.cpp:
392 (WebCore::SVGDefinitionSrcElement::childrenChanged):
393 * svg/SVGDefinitionSrcElement.h:
394 * svg/SVGFontFaceElement.cpp:
395 (WebCore::SVGFontFaceElement::childrenChanged):
396 * svg/SVGFontFaceElement.h:
397 * svg/SVGFontFaceFormatElement.cpp:
398 (WebCore::SVGFontFaceFormatElement::childrenChanged):
399 * svg/SVGFontFaceFormatElement.h:
400 * svg/SVGFontFaceSrcElement.cpp:
401 (WebCore::SVGFontFaceSrcElement::childrenChanged):
402 * svg/SVGFontFaceSrcElement.h:
403 * svg/SVGFontFaceUriElement.cpp:
404 (WebCore::SVGFontFaceUriElement::childrenChanged):
405 * svg/SVGFontFaceUriElement.h:
406 * svg/SVGGElement.cpp:
407 (WebCore::SVGGElement::childrenChanged):
409 * svg/SVGGradientElement.cpp:
410 (WebCore::SVGGradientElement::childrenChanged):
411 * svg/SVGGradientElement.h:
412 * svg/SVGMarkerElement.cpp:
413 (WebCore::SVGMarkerElement::childrenChanged):
414 * svg/SVGMarkerElement.h:
415 * svg/SVGMaskElement.cpp:
416 (WebCore::SVGMaskElement::childrenChanged):
417 * svg/SVGMaskElement.h:
418 * svg/SVGPatternElement.cpp:
419 (WebCore::SVGPatternElement::childrenChanged):
420 * svg/SVGPatternElement.h:
421 * svg/SVGStyleElement.cpp:
422 (WebCore::SVGStyleElement::childrenChanged):
423 * svg/SVGStyleElement.h:
424 * svg/SVGStyledElement.cpp:
425 (WebCore::SVGStyledElement::childrenChanged):
426 * svg/SVGStyledElement.h:
427 * svg/SVGTitleElement.cpp:
428 (WebCore::SVGTitleElement::childrenChanged):
429 * svg/SVGTitleElement.h:
430 * svg/SVGUseElement.cpp:
431 (WebCore::SVGUseElement::childrenChanged):
432 * svg/SVGUseElement.h:
434 2008-02-27 Julien Chaffraix <julien.chaffraix@gmail.com>
438 http://bugs.webkit.org/show_bug.cgi?id=17481
439 Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
441 Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
443 * xml/XMLHttpRequest.cpp:
444 (WebCore::XMLHttpRequest::open):
446 2008-02-27 Sriram Neelakandan <sriram.neelakandan@gmail.com>
448 Reviewed, tweaked and landed by ap.
450 http://bugs.webkit.org/show_bug.cgi?id=17487
451 HTMLInput mysteriously fails to work if ICU dat file is missing
453 * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
456 2008-02-27 Adam Roben <aroben@apple.com>
458 Windows build fix after r30616
460 * platform/win/ClipboardWin.cpp:
462 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
466 Small style cleanup, and obvious fix: SVGGElement reacted on
467 'clipPathUnits' changes, which is a funny copy&paste error.
469 * svg/SVGGElement.cpp:
470 (WebCore::SVGGElement::parseMappedAttribute):
471 (WebCore::SVGGElement::svgAttributeChanged):
472 (WebCore::SVGGElement::createRenderer):
474 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
478 Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
479 Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
481 * svg/SVGDefsElement.cpp:
482 (WebCore::SVGDefsElement::createRenderer):
483 * svg/SVGDefsElement.h:
484 * svg/SVGDescElement.h:
486 2008-02-26 Antti Koivisto <antti@apple.com>
490 Fix <rdar://problem/5761326>
491 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
493 Generate better code with VS:
494 - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
495 - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
496 - Add a separate version of the function for cases where error messages are not wanted
498 * bindings/js/JSDOMWindowCustom.cpp:
499 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
500 * bindings/js/kjs_window.cpp:
501 (KJS::Window::allowsAccessFrom):
502 (KJS::Window::allowsAccessFromNoErrorMessage):
503 (KJS::Window::allowsAccessFromPrivate):
504 (KJS::Window::crossDomainAccessErrorMessage):
505 * bindings/js/kjs_window.h:
507 2008-02-26 Sam Weinig <sam@webkit.org>
509 Reviewed by Dave Hyatt.
511 - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
515 * WebCore.vcproj/WebCore.vcproj:
516 * WebCore.xcodeproj/project.pbxproj:
517 * WebCoreSources.bkl:
518 * platform/ArrayImpl.cpp: Removed.
519 * platform/ArrayImpl.h: Removed.
520 * platform/DeprecatedArray.h: Removed.
521 * platform/DeprecatedCString.cpp: Removed.
522 * platform/DeprecatedCString.h: Removed.
523 * platform/text/CString.cpp:
524 (WebCore::CString::length):
525 * platform/text/CString.h:
527 2008-02-26 David Hyatt <hyatt@apple.com>
529 Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
531 Reviewed by Sam Weinig
534 (WebCore::Attr::childrenChanged):
535 * dom/ContainerNode.cpp:
536 (WebCore::ContainerNode::insertBefore):
537 (WebCore::ContainerNode::replaceChild):
538 (WebCore::ContainerNode::removeChild):
539 (WebCore::ContainerNode::removeChildren):
540 (WebCore::ContainerNode::appendChild):
541 (WebCore::ContainerNode::addChild):
542 (WebCore::ContainerNode::childrenChanged):
543 * dom/ContainerNode.h:
544 * dom/EventTargetNode.cpp:
545 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
546 * dom/EventTargetNode.h:
547 * dom/NamedAttrMap.cpp:
548 (WebCore::NamedAttrMap::addAttribute):
549 (WebCore::NamedAttrMap::removeAttribute):
551 2008-02-26 Darin Adler <darin@apple.com>
555 - remove use of DeprecatedCString from Windows pasteboard code
557 * platform/win/ClipboardUtilitiesWin.cpp:
558 (WebCore::createGlobalData): Added an overload for Vector<char>.
559 Streamlined the logic a bit.
560 (WebCore::append): Added. Helper functions for appending to a
562 (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
563 of DeprecatedCString. Also simplified the logic a bit and used
564 macros to handle the integer width.
565 (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
566 (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
567 * platform/win/ClipboardUtilitiesWin.h: Update type of return
568 value from markupToCF_HTML. Did a bit of streamlining too.
569 * platform/win/ClipboardWin.cpp:
570 (WebCore::writeURL): Update for above changes.
571 (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
572 (WebCore::ClipboardWin::writeRange): Ditto.
573 * platform/win/PasteboardWin.cpp:
574 (WebCore::Pasteboard::writeSelection): Ditto.
575 (WebCore::Pasteboard::writeURL): Ditto.
577 2008-02-26 Timothy Hatcher <timothy@apple.com>
579 Reviewed by Adam Roben.
581 <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
582 source list does not scroll when item at edge is reached (16572)
584 Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
585 we were using in utilities.js.
587 * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
588 * page/inspector/Resource.js: Ditto.
589 * page/inspector/inspector.js: Ditto.
590 * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
591 of scrollIntoView, so the source line is centered in the view if needed.
592 * page/inspector/utilities.js: Removed scrollToElement().
594 2008-02-26 David Hyatt <hyatt@apple.com>
598 http://bugs.webkit.org/show_bug.cgi?id=17485
600 Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
601 Fixes a regression on huffingtonpost.com.
603 New tests added to fast/inline
605 * rendering/InlineFlowBox.cpp:
606 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
607 (WebCore::InlineFlowBox::placeBoxesVertically):
608 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
609 * rendering/RenderFlow.cpp:
610 (WebCore::RenderFlow::calcMargins):
611 * rendering/RenderFlow.h:
612 * rendering/RenderObject.h:
613 (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
614 (WebCore::RenderObject::hasHorizontalBordersOrPadding):
615 * rendering/bidi.cpp:
616 (WebCore::getBorderPaddingMargin):
617 (WebCore::RenderBlock::layoutInlineChildren):
618 (WebCore::inlineFlowRequiresLineBox):
620 2008-02-26 Sam Weinig <sam@webkit.org>
624 * platform/text/PlatformString.h:
625 (WebCore::reverseFind):
627 2008-02-26 Dan Bernstein <mitz@apple.com>
629 Reviewed by Darin Adler.
631 - fix http://bugs.webkit.org/show_bug.cgi?id=17555
632 <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
634 Test: fast/dynamic/subtree-table-cell-height.html
636 * rendering/RenderObject.cpp:
637 (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
638 height depends on their contents even if the CSS height property is
641 2008-02-25 Sam Weinig <sam@webkit.org>
643 Reviewed by Dan Bernstein.
645 Make the cleanPath function in CSSStyleSelector more efficient by using
648 * css/CSSStyleSelector.cpp:
649 (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
650 of a String. Also remove unnecessary reverseFind call that could be acomplished
652 (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
654 * platform/text/PlatformString.h:
655 (WebCore::find): Make this find generic enough that it can be used for
657 (WebCore::reverseFind): Implement reverseFind so that it can be used
658 for with a UChar* and length.
659 * platform/text/StringImpl.cpp:
660 (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
661 (WebCore::StringImpl::reverseFind): Ditto,
663 2008-02-26 Satoshi Nakagawa <artension@gmail.com>
665 Reviewed by Darin. Tweaked and landed by Alexey.
667 http://bugs.webkit.org/show_bug.cgi?id=17411
668 Ideographic comma and full stop should be treated as line-breakable characters
670 Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
672 * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
673 * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
674 Unicode 5.0 that is causing this.
676 2008-02-26 MorganL <morganl.webkit@yahoo.com>
678 Reviewed by eseidel. Landed by eseidel
680 Fix improperly initialized m_isUpToDate member variable.
681 Fixs 50+ layout tests when run on Tiger.
682 http://bugs.webkit.org/show_bug.cgi?id=17549
684 * platform/network/cf/ResourceResponse.h:
685 (WebCore::ResourceResponse::ResourceResponse):
686 * platform/network/mac/ResourceResponse.h:
687 (WebCore::ResourceResponse::ResourceResponse):
689 2008-02-25 Dan Bernstein <mitz@apple.com>
691 Reviewed by Sam Weinig.
693 - fix http://bugs.webkit.org/show_bug.cgi?id=17152
694 Paragraphs indented with :first-letter and text-align CSS render incorrectly
696 Test: fast/text/apply-start-width-after-skipped-text.html
698 * rendering/bidi.cpp:
699 (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
700 to figure in the padding, border and margin before a text node when the
701 line begins inside a text node.
703 2008-02-25 Kevin Ollivier <kevino@theolliviers.com>
705 Windows build fix for wx port.
707 * loader/FTPDirectoryDocument.cpp:
709 2008-02-25 Mark Rowe <mrowe@apple.com>
713 * platform/network/cf/ResourceResponseCFNet.cpp:
714 (WebCore::ResourceResponse::platformCompare): Implement platformCompare for ResourceResponseCFNet.cpp.
716 2008-02-25 Beth Dakin <bdakin@apple.com>
720 Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in
721 Document::removePendingSheet() from r30438
723 r30438 added a call to CachedResource::error() from inside
724 Loader::didReceiveData() if a CSS file 4xxs. There was an
725 assumption in the loader, though, that either error() would be
726 called, or didFinishLoading() would be called, so some work is
727 duplicated in each. Now that we are calling an error() on files
728 that will also make it to didFinishLoading() (since they succeeded
729 in the network layer), we need to make sure we do not duplicate the
730 work. CachedCSSStyleSheet::error() calls checkNotify, which ends up
731 decrementing the document's pending style sheet counter.
732 checkNotify() was still getting called, though, through the normal
733 didFinishLoading code path, and the counter was being decremented
737 (WebCore::Loader::didFinishLoading):
738 (WebCore::Loader::didReceiveData):
740 2008-02-25 Mark Rowe <mrowe@apple.com>
742 Fix the Gtk, wx and Qt builds.
744 * GNUmakefile.am: Add new files.
745 * WebCore.pro: Ditto.
746 * WebCoreSources.bkl: Ditto.
747 * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
749 2008-02-25 MorganL <morganl.webkit@yahoo.com>
751 Reviewed by Darin Adler.
753 Eliminate some #ifdefs from headers in platform/network.
754 http://bugs.webkit.org/show_bug.cgi?id=17210
758 * WebCore.vcproj/WebCore.vcproj:
759 * WebCore.xcodeproj/project.pbxproj:
760 * dom/XMLTokenizer.cpp:
761 * loader/ResourceLoader.h:
762 * platform/network/AuthenticationChallenge.cpp: Removed.
763 * platform/network/AuthenticationChallenge.h: Removed.
764 * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
765 (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
766 (WebCore::AuthenticationChallengeBase::previousFailureCount):
767 (WebCore::AuthenticationChallengeBase::proposedCredential):
768 (WebCore::AuthenticationChallengeBase::protectionSpace):
769 (WebCore::AuthenticationChallengeBase::failureResponse):
770 (WebCore::AuthenticationChallengeBase::error):
771 (WebCore::AuthenticationChallengeBase::isNull):
772 (WebCore::AuthenticationChallengeBase::nullify):
773 (WebCore::AuthenticationChallengeBase::compare):
774 * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
775 (WebCore::AuthenticationChallengeBase::platformCompare):
776 (WebCore::operator==):
777 (WebCore::operator!=):
778 * platform/network/ResourceError.cpp: Removed.
779 * platform/network/ResourceError.h: Removed.
780 * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
781 (WebCore::ResourceErrorBase::lazyInit):
782 (WebCore::ResourceErrorBase::compare):
783 * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
784 (WebCore::ResourceErrorBase::isNull):
785 (WebCore::ResourceErrorBase::domain):
786 (WebCore::ResourceErrorBase::errorCode):
787 (WebCore::ResourceErrorBase::failingURL):
788 (WebCore::ResourceErrorBase::localizedDescription):
789 (WebCore::ResourceErrorBase::ResourceErrorBase):
790 (WebCore::ResourceErrorBase::platformLazyInit):
791 (WebCore::ResourceErrorBase::platformCompare):
792 (WebCore::operator==):
793 * platform/network/ResourceResponseBase.cpp:
794 (WebCore::ResourceResponseBase::isHTTP):
795 (WebCore::ResourceResponseBase::url):
796 (WebCore::ResourceResponseBase::setUrl):
797 (WebCore::ResourceResponseBase::mimeType):
798 (WebCore::ResourceResponseBase::setMimeType):
799 (WebCore::ResourceResponseBase::expectedContentLength):
800 (WebCore::ResourceResponseBase::setExpectedContentLength):
801 (WebCore::ResourceResponseBase::textEncodingName):
802 (WebCore::ResourceResponseBase::setTextEncodingName):
803 (WebCore::ResourceResponseBase::suggestedFilename):
804 (WebCore::ResourceResponseBase::setSuggestedFilename):
805 (WebCore::ResourceResponseBase::httpStatusCode):
806 (WebCore::ResourceResponseBase::setHTTPStatusCode):
807 (WebCore::ResourceResponseBase::httpStatusText):
808 (WebCore::ResourceResponseBase::setHTTPStatusText):
809 (WebCore::ResourceResponseBase::httpHeaderField):
810 (WebCore::ResourceResponseBase::setHTTPHeaderField):
811 (WebCore::ResourceResponseBase::httpHeaderFields):
812 (WebCore::ResourceResponseBase::isAttachment):
813 (WebCore::ResourceResponseBase::setExpirationDate):
814 (WebCore::ResourceResponseBase::expirationDate):
815 (WebCore::ResourceResponseBase::setLastModifiedDate):
816 (WebCore::ResourceResponseBase::lastModifiedDate):
817 (WebCore::ResourceResponseBase::lazyInit):
818 (WebCore::ResourceResponseBase::compare):
819 * platform/network/ResourceResponseBase.h:
820 (WebCore::ResourceResponseBase::ResourceResponseBase):
821 (WebCore::ResourceResponseBase::platformLazyInit):
822 (WebCore::ResourceResponseBase::platformCompare):
823 (WebCore::operator==):
824 * platform/network/cf/AuthenticationCF.cpp:
825 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
826 (WebCore::AuthenticationChallenge::platformCompare):
827 * platform/network/cf/AuthenticationChallenge.h: Added.
828 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
829 (WebCore::AuthenticationChallenge::sourceHandle):
830 (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
831 * platform/network/cf/ResourceError.h: Added.
832 (WebCore::ResourceError::ResourceError):
833 * platform/network/cf/ResourceErrorCF.cpp:
834 (WebCore::ResourceError::ResourceError):
835 (WebCore::ResourceError::platformLazyInit):
836 (WebCore::ResourceError::platformCompare):
837 (WebCore::ResourceError::operator CFStreamError):
838 * platform/network/cf/ResourceResponse.h:
839 (WebCore::ResourceResponse::ResourceResponse):
840 * platform/network/cf/ResourceResponseCFNet.cpp:
841 (WebCore::ResourceResponse::platformLazyInit):
842 * platform/network/curl/AuthenticationChallenge.h: Added.
843 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
844 * platform/network/curl/ResourceError.h: Added.
845 (WebCore::ResourceError::ResourceError):
846 * platform/network/curl/ResourceResponse.h:
847 (WebCore::ResourceResponse::ResourceResponse):
848 * platform/network/mac/AuthenticationChallenge.h: Added.
849 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
850 (WebCore::AuthenticationChallenge::sender):
851 (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
852 * platform/network/mac/AuthenticationMac.mm:
853 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
854 (WebCore::AuthenticationChallenge::platformCompare):
855 * platform/network/mac/ResourceError.h: Added.
856 (WebCore::ResourceError::ResourceError):
857 * platform/network/mac/ResourceErrorMac.mm:
858 (WebCore::ResourceError::platformLazyInit):
859 (WebCore::ResourceError::platformCompare):
860 * platform/network/mac/ResourceResponse.h:
861 (WebCore::ResourceResponse::ResourceResponse):
862 * platform/network/mac/ResourceResponseMac.mm:
863 (WebCore::ResourceResponse::platformLazyInit):
864 (WebCore::ResourceResponse::platformCompare):
865 * platform/network/qt/AuthenticationChallenge.h: Added.
866 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
867 * platform/network/qt/ResourceError.h: Added.
868 (WebCore::ResourceError::ResourceError):
869 * platform/network/qt/ResourceResponse.h:
870 (WebCore::ResourceResponse::ResourceResponse):
871 * xml/XSLTProcessor.cpp:
873 2008-02-25 Anders Carlsson <andersca@apple.com>
877 Move remaining render style objects over to start with a refcount of 1 and get
878 rid of DeprecatedDataRef.
880 * rendering/DataRef.h:
881 (WebCore::DataRef::operator*):
882 (WebCore::DataRef::operator->):
883 * rendering/RenderStyle.h:
884 * rendering/SVGRenderStyle.cpp:
885 (WebCore::SVGRenderStyle::SVGRenderStyle):
886 * rendering/SVGRenderStyle.h:
887 (WebCore::SVGRenderStyle::create):
888 (WebCore::SVGRenderStyle::copy):
889 * rendering/SVGRenderStyleDefs.cpp:
890 (StyleFillData::StyleFillData):
891 (StyleStrokeData::StyleStrokeData):
892 (StyleStopData::StyleStopData):
893 (StyleTextData::StyleTextData):
894 (StyleClipData::StyleClipData):
895 (StyleMaskData::StyleMaskData):
896 (StyleMarkerData::StyleMarkerData):
897 (StyleMiscData::StyleMiscData):
898 * rendering/SVGRenderStyleDefs.h:
899 (WebCore::StyleFillData::create):
900 (WebCore::StyleFillData::copy):
901 (WebCore::StyleStrokeData::create):
902 (WebCore::StyleStrokeData::copy):
903 (WebCore::StyleStopData::create):
904 (WebCore::StyleStopData::copy):
905 (WebCore::StyleTextData::create):
906 (WebCore::StyleTextData::copy):
907 (WebCore::StyleClipData::create):
908 (WebCore::StyleClipData::copy):
909 (WebCore::StyleMaskData::create):
910 (WebCore::StyleMaskData::copy):
911 (WebCore::StyleMarkerData::create):
912 (WebCore::StyleMarkerData::copy):
913 (WebCore::StyleMiscData::create):
914 (WebCore::StyleMiscData::copy):
916 2008-02-25 Dan Bernstein <mitz@apple.com>
918 Reviewed by Dave Hyatt.
920 - remove file-static BidiRun variables from bidi.cpp
922 * platform/text/BidiResolver.h:
923 (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
924 (WebCore::BidiResolver::logicallyLastRun): Added.
925 (WebCore::BidiResolver::runCount): Made unsigned.
926 (WebCore::::reverseRuns): Changed ints to unsigned.
927 (WebCore::::createBidiRunsForLine): Made this function set
929 * rendering/RenderBlock.h:
930 * rendering/bidi.cpp:
931 (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
932 (WebCore::RenderBlock::constructLine): Removed unused start parameter
933 and added run count and first and last run parameters. Replaced end
934 parameter with lastLine boolean and endObject pointer.
935 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
936 and logically last run parameters.
937 (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
939 (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
941 (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
942 accessors instead of file statics.
944 2008-02-25 Rodney Dawes <dobey@wayofthemonkey.com>
946 Reviewed by Jon Honeycutt.
948 http://bugs.webkit.org/show_bug.cgi?id=16924
949 Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
951 Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
952 Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
953 Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
954 Add new PluginDatabase.cpp to Windows build.
955 Add temporary stubs for new PluginDatabase and PluginPackage.
956 shared classes to GTK+, Qt, and Wx ports.
957 Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
958 Remove shared code from PluginDatabaseWin.cpp.
959 Remove Windows-specific code from PluginDatabase.cpp.
960 Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
961 Remove extraneous PluginPackage:: from hash() class method prototype.
962 Subsume storeFileVersion into PluginPackage::fetchInfo.
963 Add cross-platform PlatformModuleVersion type definition.
964 Use PlatformModuleVersion to store the module version.
965 Rename m_fileVersion[ML]S to m_moduleVersion.
966 Change compareFileVersion to use PlatformModuleVersion as the argument.
967 Move PluginView::determineQuirks and m_quirks to PluginPackage.
968 Updated determineQuirks for the PlatformModuleVersion.
972 * WebCoreSources.bkl:
974 * WebCore.vcproj/WebCore.vcproj:
975 * Platform/FileSystem.h:
976 * platform/qt/PlugInInfoStoreQt.cpp:
977 * platform/gtk/TemporaryLinkStubs.cpp:
978 * platform/qt/TemporaryLinkStubs.cpp:
979 * platform/wx/TemporaryLinkStubs.cpp:
980 * plugins/PluginDatabase.cpp:
981 * plugins/PluginDatabase.h:
982 * plugins/win/PluginDatabaseWin.cpp:
983 * plugins/PluginPackage.h:
984 * plugins/win/PluginPackageWin.cpp:
985 * plugins/PluginView.h:
986 * plugins/win/PluginViewWin.cpp:
988 2008-02-25 Anders Carlsson <andersca@apple.com>
992 Make more style objects start out with a refcount of 1.
994 * rendering/RenderStyle.cpp:
995 (WebCore::StyleSurroundData::StyleSurroundData):
996 (WebCore::StyleBoxData::StyleBoxData):
997 (WebCore::StyleVisualData::StyleVisualData):
998 (WebCore::StyleBackgroundData::StyleBackgroundData):
999 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1000 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1001 (WebCore::StyleInheritedData::StyleInheritedData):
1002 * rendering/RenderStyle.h:
1003 (WebCore::StyleSurroundData::create):
1004 (WebCore::StyleSurroundData::copy):
1005 (WebCore::StyleBoxData::create):
1006 (WebCore::StyleBoxData::copy):
1007 (WebCore::StyleVisualData::create):
1008 (WebCore::StyleVisualData::copy):
1009 (WebCore::StyleBackgroundData::create):
1010 (WebCore::StyleBackgroundData::copy):
1011 (WebCore::StyleBackgroundData::~StyleBackgroundData):
1012 (WebCore::StyleRareNonInheritedData::create):
1013 (WebCore::StyleRareNonInheritedData::copy):
1014 (WebCore::StyleRareInheritedData::create):
1015 (WebCore::StyleRareInheritedData::copy):
1016 (WebCore::StyleInheritedData::create):
1017 (WebCore::StyleInheritedData::copy):
1019 2008-02-25 Anders Carlsson <andersca@apple.com>
1023 Make some of the refcounted style objects start out with a refcount of 1.
1025 * rendering/DataRef.h:
1026 Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
1027 Change DataRef to use ::create() and ::copy() instead of the constructors.
1028 Change DataRef's pointer to be a RefPtr instead.
1030 * rendering/RenderStyle.cpp:
1031 (WebCore::StyleMarqueeData::StyleMarqueeData):
1032 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1033 (WebCore::StyleMultiColData::StyleMultiColData):
1034 (WebCore::StyleTransformData::StyleTransformData):
1035 Start with a RefCount of 1.
1037 * rendering/RenderStyle.h:
1038 * rendering/SVGRenderStyle.h:
1039 Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
1041 2008-02-25 Darin Adler <darin@apple.com>
1044 Based on a patch by Tim Steele <timsteele41@gmail.com>.
1046 - fix http://bugs.webkit.org/show_bug.cgi?id=17186
1047 Fragment navigation within a page permanently cancels meta refresh
1049 Test: fast/loader/meta-refresh-anchor-click.html
1051 * loader/FrameLoader.cpp:
1052 (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
1053 always do a real load. This makes sure that meta refresh loads are treated as real loads
1054 rather than anchor scrolls. Also tweaked formatting a bit.
1055 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
1056 an alternate way to complete a load, so it needs to start the redirection timer if
1057 redirection has already been scheduled.
1059 2008-02-25 Dan Bernstein <mitz@apple.com>
1061 Reviewed by Darin Adler.
1063 - avoid counting spaces in non-justified text
1065 * rendering/bidi.cpp:
1066 Removed file-static numSpaces.
1067 (WebCore::BidiState::addRun): Removed space counting.
1068 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
1069 counting, conditional on the block having the text-align: justify
1071 (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
1074 2008-02-25 Darin Adler <darin@apple.com>
1078 * platform/graphics/cg/ImageSourceCG.cpp:
1079 (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
1080 variable (because CFSTR is inefficient on Windows).
1082 2008-02-25 Darin Adler <darin@apple.com>
1086 * WebCore.base.exp: Export blankURL, and sort the file.
1088 2008-02-25 Simon Hausmann <hausmann@webkit.org>
1090 Reviewed by Mark Rowe.
1092 Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
1096 * editing/Selection.cpp:
1097 * editing/SelectionController.cpp:
1098 * editing/VisiblePosition.cpp:
1099 * history/HistoryItem.cpp:
1101 * loader/FTPDirectoryParser.cpp:
1102 * platform/KURL.cpp:
1103 * platform/gtk/FileSystemGtk.cpp:
1104 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1105 * platform/text/TextCodecLatin1.cpp:
1106 * platform/text/TextCodecUserDefined.cpp:
1107 * rendering/CounterNode.cpp:
1108 * rendering/RenderObject.cpp:
1110 2008-02-25 Johnny Ding <johnnyding.webkit@gmail.com>
1112 Reviewed by Darin Adler.
1114 - fix http://bugs.webkit.org/show_bug.cgi?id=17444
1116 In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
1117 whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
1118 and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
1119 to decide whether to save prependingSrc or not. The later behavior is not right
1120 because, in scriptHandler and scriptExecution, even the pendingScripts queue is
1121 empty, the testBit:LoadingExtScript might be TRUE.
1123 Test: fast/tokenizer/nested-multiple-scripts.html
1125 * html/HTMLTokenizer.cpp:
1126 (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
1127 checking state.loadingExtScript().
1128 (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
1129 checking state.loadingExtScript().
1131 2008-02-24 Darin Adler <darin@apple.com>
1133 * dom/Document.h: Removed stray duplicate declaration of
1134 RegisteredEventListenerList.
1136 2008-02-24 Darin Adler <darin@apple.com>
1139 (WebCore::Range::surroundContents): Removed incorrect comment.
1140 I added it a while ago, and I was just mixed up.
1142 2008-02-24 Darin Adler <darin@apple.com>
1144 - quick follow-up to that last check-in
1146 * platform/graphics/cg/ImageSourceCG.cpp:
1147 (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
1148 WebCore::String's == for speed.
1150 2008-02-24 Michael Knaup <michael.knaup@mac.com>
1154 Bug 8749: XBM rendered incorrectly as black on white
1156 xbm images are now created and rendered using black on a
1157 transparent background (same behavior as in Firefox)
1159 Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
1161 * platform/graphics/cg/ImageSourceCG.cpp:
1162 (WebCore::ImageSource::createFrameAtIndex):
1164 2008-02-24 Dan Bernstein <mitz@apple.com>
1166 Reviewed by Darin Adler.
1168 - fix http://bugs.webkit.org/show_bug.cgi?id=17471
1169 REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
1171 Test: http/tests/misc/object-image-error.html
1173 * html/HTMLObjectElement.cpp:
1174 (WebCore::HTMLObjectElement::attach): Added an early return in case
1175 updateFromElement() has changed the object to use fallback content.
1177 2008-02-24 Dan Bernstein <mitz@apple.com>
1179 Reviewed by Darin Adler.
1181 - fix float positioning when a float that does not fit on the line is
1182 followed by a float that does
1184 Test: fast/block/float/narrow-after-wide.html
1186 * rendering/bidi.cpp:
1187 (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
1188 more floats on the line once a float that does not fit is encountered.
1189 That float should be pushed to the next line, and so should all floats
1190 that follow, regardless of whether they can fit on the current line.
1192 2008-02-24 Darin Adler <darin@apple.com>
1196 - fix http://bugs.webkit.org/show_bug.cgi?id=16770
1197 Acid3 expects :visited styled links to restyle on iframe load
1199 Disentangle global history updating from the back/forward history.
1200 There are many cases where we don't want to create a new back/forward
1201 item, but we do still want to add to the global history (used for visited
1202 link coloring) in those cases.
1204 Test: fast/history/subframe-is-visited.html
1206 * loader/FrameLoader.cpp:
1207 (WebCore::FrameLoader::updateGlobalHistory): Renamed from
1208 addHistoryForCurrentLocation and removed the back/forward handling.
1209 (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
1210 bit. Replaced call to addHistoryForCurrentLocation with a call to
1211 addBackForwardItemClippedAtTarget. Added an unconditional call to
1212 updateGlobalHistory.
1213 (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
1214 why doesn't this function update global history?
1215 (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
1216 (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
1217 the client with a call to the new updateGlobalHistory function.
1218 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
1219 the same changes as for updateHistoryForStandardLoad.
1220 * loader/FrameLoader.h: More of the same.
1222 * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
1223 renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
1225 * svg/graphics/SVGImageEmptyClients.h:
1226 (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
1229 2008-02-23 Darin Adler <darin@apple.com>
1233 - fix http://bugs.webkit.org/show_bug.cgi?id=17508
1234 REGRESSION (r30535): mailto regression tests failing
1236 * html/HTMLFormElement.cpp:
1237 (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
1238 trip through String do to the replace operation. It's inefficient, but there's
1239 no real reason to worry about the efficiency of mailto forms, since that feature
1242 2008-02-23 Darin Adler <darin@apple.com>
1246 - replace SegmentedString's use of DeprecatedValueList with Deque
1248 Testing indicates this is a slight speed-up for page loading.
1250 * platform/text/SegmentedString.cpp:
1251 (WebCore::SegmentedString::length): Update to use Deque.
1252 (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
1253 (WebCore::SegmentedString::append): Ditto.
1254 (WebCore::SegmentedString::prepend): Ditto.
1255 (WebCore::SegmentedString::advanceSubstring): Ditto.
1256 (WebCore::SegmentedString::toString): Ditto.
1257 * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
1258 class private with a single friend. Change m_sbstrings from a DeprecatedValueList
1261 2008-02-23 Darin Adler <darin@apple.com>
1265 - fix http://bugs.webkit.org/show_bug.cgi?id=17506
1266 REGRESSION (r30535): ASSERTION FAILED: i < size()
1268 * loader/TextResourceDecoder.cpp:
1269 (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
1272 2008-02-23 Matt Lilek <webkit@mattlilek.com>
1274 Not reviewed, build fix.
1276 * platform/network/cf/FormDataStreamCFNet.cpp:
1277 (WebCore::httpBodyFromRequest):
1278 * plugins/win/PluginViewWin.cpp:
1279 (WebCore::PluginView::handlePost):
1281 2008-02-23 Dan Bernstein <mitz@apple.com>
1285 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1286 (WebCore::GlyphPage::fill):
1287 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1288 (WebCore::GlyphPage::fill):
1290 2008-02-23 Dan Bernstein <mitz@apple.com>
1292 Reviewed by Anders Carlsson.
1294 - fix GlyphPage::fill() logic for partial page fills
1296 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1297 (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
1298 work correctly when the length parameter is less than a full page size.
1299 Also updated the comment.
1300 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1301 (WebCore::GlyphPage::fill): Ditto.
1303 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
1305 Reviewed by Darin Adler.
1307 Move text drawing into wxcode, as we need platform-dependent
1308 APIs for drawing non-kerned text, which wx doesn't yet have.
1309 (But hopefully will, once these APIs are fleshed out on all
1312 http://bugs.webkit.org/show_bug.cgi?id=17396
1314 * platform/graphics/wx/FontWx.cpp:
1315 (WebCore::Font::drawGlyphs):
1316 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
1317 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
1318 * platform/wx/wxcode/non-kerned-drawing.h: Added.
1319 * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
1322 2008-02-23 Darin Adler <darin@apple.com>
1324 Pointed out by Mitz.
1326 * loader/TextResourceDecoder.cpp:
1327 (WebCore::find): Fix a "==" that was supposed to be ">".
1328 (WebCore::findIgnoringCase): Ditto.
1330 2008-02-23 Darin Adler <darin@apple.com>
1334 * html/HTMLFormElement.cpp:
1335 (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
1337 2008-02-23 Darin Adler <darin@apple.com>
1341 - remove all but 1 remaining use of DeprecatedCString
1342 - change FormData to start refcount at 1
1344 * html/HTMLFormElement.cpp:
1345 (WebCore::appendString): Added. Helpers for Vector<char>.
1346 (WebCore::appendEncodedString): Renamed from encodeCString and changed to
1347 append to an existing Vector<char> to cut down a bit on memory allocation.
1348 (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
1349 enc_string with a Vector<char> called encodedData. Change to use the new
1350 FormData::create function.
1351 (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
1353 * loader/TextResourceDecoder.cpp:
1354 (WebCore::find): Added. Helper for searching in char* with length.
1355 (WebCore::findIgnoringCase): Ditto.
1356 (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
1357 when we have a char* with length rather than a null-terminated char*.
1358 (WebCore::findXMLEncoding): Changed to use char* and length rather than
1359 DeprecatedCString. Also fixed some things that would be one-character
1360 buffer overruns in a string that's not null-terminated.
1361 (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
1362 findTextEncoding rather than constructing a CString to pass to the
1363 TextEncodingconstructor.
1364 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
1366 * platform/network/FormData.cpp:
1367 (WebCore::FormData::FormData): Changed to start refcount at 1.
1368 (WebCore::FormData::create): Added.
1369 (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
1370 * platform/network/FormData.h: Made constructor private. Added create functions.
1372 * platform/network/mac/ResourceRequestMac.mm:
1373 (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
1374 * xml/XMLHttpRequest.cpp:
1375 (WebCore::XMLHttpRequest::send): Ditto.
1377 2008-02-23 Darin Adler <darin@apple.com>
1381 - http://bugs.webkit.org/show_bug.cgi?id=17067
1382 eliminate attributes parameter from JSObject::put for speed/clarity
1384 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1385 (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
1387 * bindings/js/JSCanvasPixelArrayCustom.cpp:
1388 (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
1389 (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
1390 CanvasPixelArray object, for consistency with the getter. Removed attributes
1393 * bindings/js/JSDOMWindowCustom.cpp:
1394 (WebCore::JSDOMWindow::customPut): Removed special case for variable
1395 initialization, which is not needed since that does use put any more.
1396 Removed attributes argument.
1398 * bindings/js/JSEventTargetBase.h:
1399 (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
1400 (WebCore::JSEventTargetBase::put): Ditto.
1401 (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
1402 * bindings/js/JSEventTargetNode.cpp:
1403 (WebCore::JSEventTargetNode::put): Removed attributes argument.
1404 (WebCore::JSEventTargetNode::putValueProperty): Ditto.
1405 * bindings/js/JSEventTargetNode.h: Ditto.
1406 * bindings/js/JSHTMLAppletElementCustom.cpp:
1407 (WebCore::JSHTMLAppletElement::customPut): Ditto.
1408 * bindings/js/JSHTMLEmbedElementCustom.cpp:
1409 (WebCore::JSHTMLEmbedElement::customPut): Ditto.
1410 * bindings/js/JSHTMLInputElementBase.cpp:
1411 (WebCore::JSHTMLInputElementBase::put): Ditto.
1412 (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
1413 * bindings/js/JSHTMLInputElementBase.h: Ditto.
1414 * bindings/js/JSHTMLObjectElementCustom.cpp:
1415 (WebCore::JSHTMLObjectElement::customPut): Ditto.
1416 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1417 (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
1418 * bindings/js/JSHTMLSelectElementCustom.cpp:
1419 (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
1420 * bindings/js/JSHistoryCustom.cpp:
1421 (WebCore::JSHistory::customPut): Ditto.
1422 * bindings/js/JSLocation.cpp:
1423 (WebCore::JSLocation::put): Ditto.
1424 * bindings/js/JSLocation.h: Ditto.
1425 * bindings/js/JSXMLHttpRequest.cpp:
1426 (WebCore::JSXMLHttpRequest::put): Ditto.
1427 (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
1428 * bindings/js/JSXMLHttpRequest.h: Ditto.
1430 * bindings/js/kjs_dom.cpp:
1431 (WebCore::getRuntimeObject): Changed return type to JSObject*.
1432 * bindings/js/kjs_dom.h: Ditto.
1434 * bindings/js/kjs_events.cpp:
1435 (WebCore::JSClipboard::put): Removed attributes argument.
1436 (WebCore::JSClipboard::putValueProperty): Ditto.
1437 * bindings/js/kjs_events.h: Ditto.
1439 * bindings/js/kjs_html.cpp:
1440 (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
1441 return a JSObject. Used early exit idiom.
1442 (WebCore::runtimeObjectPropertyGetter): Ditto.
1443 (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
1444 (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
1445 that we should put with the property syntax instead of canPut.
1446 (WebCore::runtimeObjectImplementsCall): Ditto.
1447 (WebCore::runtimeObjectCallAsFunction): Ditto.
1448 * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
1450 * bindings/js/kjs_window.cpp:
1451 (KJS::Window::put): Removed attributes argument.
1452 * bindings/js/kjs_window.h: Ditto.
1454 * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
1455 putValueProperty, customPut, and indexSetter.
1457 * html/CanvasPixelArray.h:
1458 (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
1459 function. Before, the checking was done in the JavaScript bindings for set.
1461 2008-02-23 Brent Fulgham <bfulgham@gmail.com>
1463 Reviewed by Adam and Darin.
1465 http://bugs.webkit.org/show_bug.cgi?id=17442
1466 Correct the Windows Cairo implementation of GraphicsContext so
1467 that Windows 'WorldTransform' is kept in sync with the Cairo
1470 Also corrects an uninitialized variable in the Cairo Windows
1473 WARNING: NO TEST CASES ADDED OR CHANGED
1475 * platform/graphics/cairo/GraphicsContextCairo.cpp: Modify
1476 methods to call GraphicsContextPlatformPrivate calls, just
1477 as is done for the CoreGraphics version. These calls are
1478 nop's for everything but Windows.
1479 (WebCore::GraphicsContext::savePlatformState):
1480 (WebCore::GraphicsContext::restorePlatformState):
1481 (WebCore::GraphicsContext::clip):
1482 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1483 (WebCore::GraphicsContext::translate):
1484 (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
1485 (WebCore::GraphicsContext::beginTransparencyLayer):
1486 (WebCore::GraphicsContext::endTransparencyLayer):
1487 (WebCore::GraphicsContext::rotate):
1488 (WebCore::GraphicsContext::scale):
1489 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1490 * platform/graphics/win/GraphicsContextCGWin.cpp: Move common
1491 code for handling WorldTransform calls to parent class.
1492 * platform/graphics/win/GraphicsContextCairoWin.cpp: Add common
1493 code for handling WorldTransform calls.
1494 (WebCore::GraphicsContextPlatformPrivate::concatCTM): Change
1495 implementation so that it only handles WorldTransform. The
1496 Cairo update is done in GraphicsContextCairo.cpp
1497 * platform/graphics/win/GraphicsContextWin.cpp: Call platform-private
1498 methods to keep WorldTransform in sync.
1499 (WebCore::GraphicsContextPlatformPrivate::save):
1500 (WebCore::GraphicsContextPlatformPrivate::restore):
1501 (WebCore::GraphicsContextPlatformPrivate::clip):
1502 (WebCore::GraphicsContextPlatformPrivate::scale):
1503 (WebCore::GraphicsContextPlatformPrivate::rotate):
1504 (WebCore::GraphicsContextPlatformPrivate::translate):
1505 * platform/win/DragImageCairoWin.cpp:
1506 (WebCore::createDragImageFromImage): Correct uninitialized value
1508 2008-02-23 Dan Bernstein <mitz@apple.com>
1510 Reviewed by Dave Hyatt.
1512 - make non-autowrapping text clear floats
1514 Test: fast/text/whitespace/nowrap-clear-float.html
1516 * rendering/RenderBlock.cpp:
1517 (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
1518 this and changed to avoid comparing bottom to 0 in each iteration.
1519 (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
1520 * rendering/RenderBlock.h:
1521 * rendering/bidi.cpp:
1522 (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
1523 findNextLineBreak() and simplified.
1524 (WebCore::RenderBlock::findNextLineBreak): Changed to call
1525 fitBelowFloats(). Fixed the bug by trying to fit below floats in the
1526 case of non-wrapping text. Removed some redundancy.
1528 2008-02-23 Sam Weinig <sam@webkit.org>
1530 Reviewed by Oliver Hunt.
1532 Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
1533 Speed up DOM lists array subscription syntax by using the fast
1534 getOwnPropertySlot and set paths
1536 - 6x speed improvement on Oliver's ImageData put test.
1538 * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
1539 and put when an indexGetter or indexSetter is used. We can not use the fast
1540 path if an overridingNameGetter is used as there would be no way to override.
1542 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
1544 wx build fix after JSImageData.cpp was added.
1546 * WebCoreSources.bkl:
1548 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
1550 Windows build fix - move ThreadCondition implementation from WebCore to WTF.
1552 * WebCore.vcproj/WebCore.vcproj:
1553 * platform/win/ThreadConditionWin.cpp: Removed.
1555 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
1559 Move basic threading support from WebCore to WTF.
1561 One call that remains in WebCore is callOnMainThread(), and it has its own header now.
1563 * ForwardingHeaders/wtf/Locker.h: Added.
1564 * ForwardingHeaders/wtf/MessageQueue.h: Added.
1565 * ForwardingHeaders/wtf/Threading.h: Added.
1568 * WebCore.vcproj/WebCore.vcproj:
1569 * WebCore.xcodeproj/project.pbxproj:
1570 * WebCoreSources.bkl:
1571 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1572 * dom/XMLTokenizer.cpp:
1573 * loader/icon/IconDatabase.cpp:
1574 (WebCore::iconDatabase):
1575 * loader/icon/IconDatabase.h:
1576 * platform/Locker.h: Removed.
1577 * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
1578 (WebCore::initializeThreadingAndMainThread):
1579 * platform/MessageQueue.h: Removed.
1580 * platform/SecurityOrigin.h:
1581 * platform/Threading.h: Removed.
1582 * platform/ThreadingNone.cpp: Removed.
1583 * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
1584 * platform/gtk/ThreadingGtk.cpp: Removed.
1585 * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
1586 * platform/mac/Threading.mm: Removed.
1587 * platform/pthreads: Removed.
1588 * platform/pthreads/ThreadingPthreads.cpp: Removed.
1589 * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
1590 * platform/qt/ThreadingQt.cpp: Removed.
1591 * platform/sql/SQLValue.h:
1592 * platform/sql/SQLiteAuthorizer.h:
1593 * platform/sql/SQLiteDatabase.h:
1594 * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
1595 (WebCore::initializeThreadingAndMainThread):
1596 * platform/win/MutexWin.cpp: Removed.
1597 * platform/win/ThreadingWin.cpp: Removed.
1598 * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
1599 * platform/wx/ThreadingWx.cpp: Removed.
1600 * storage/Database.cpp:
1601 (WebCore::Database::Database):
1602 * storage/Database.h:
1603 * storage/DatabaseTask.h:
1604 * storage/DatabaseThread.h:
1605 * storage/DatabaseTracker.cpp:
1606 * storage/OriginQuotaManager.h:
1607 * storage/SQLError.h:
1608 * storage/SQLResultSet.h:
1609 * storage/SQLStatement.h:
1610 * storage/SQLStatementCallback.h:
1611 * storage/SQLStatementErrorCallback.h:
1612 * storage/SQLTransaction.h:
1613 * storage/SQLTransactionCallback.h:
1614 * storage/SQLTransactionErrorCallback.h:
1617 2008-02-23 David Kilzer <ddkilzer@apple.com>
1619 Please clarify licensing for some files
1620 <http://bugs.webkit.org/show_bug.cgi?id=14970>
1624 * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
1625 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
1626 * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
1628 2008-02-22 Justin Garcia <justin.garcia@apple.com>
1630 Reviewed by Anders Carlsson.
1632 <rdar://problem/5714333> Add document.getSelection()
1634 Add a synonym for window.getSelection() that FF supports. There were requests in
1635 this bugs dupes to also support the IE only document.selection, but IE's Selection
1636 object is too different than ours currently for that to be safe (specifically, we
1637 don't support enough of IE's TextRange methods on our DOM Range object yet). I
1638 filed <rdar://problem/5761233> to cover that.
1641 (WebCore::Document::getSelection): Added.
1643 * dom/Document.idl: Ditto. JS only since this is about web compatibility.
1645 2008-02-22 Oliver Hunt <oliver@apple.com>
1649 * WebCoreSources.bkl:
1651 2008-02-22 Oliver Hunt <oliver@apple.com>
1653 Once more with the cairo/qt/wx build fixing
1655 * platform/graphics/cairo/ImageBufferCairo.cpp:
1656 * platform/graphics/qt/ImageBufferQt.cpp:
1657 * platform/graphics/wx/ImageBufferWx.cpp:
1659 2008-02-22 Mark Rowe <mrowe@apple.com>
1661 Windows build fix. Add missing include of DeprecatedCString.h and sort existing includes.
1663 * platform/win/PasteboardWin.cpp:
1665 2008-02-22 Mark Rowe <mrowe@apple.com>
1667 Speculative Windows build fix.
1669 * platform/win/ClipboardUtilitiesWin.cpp: Add missing include of DeprecatedCString.h and sort existing includes.
1670 * platform/win/ClipboardWin.cpp: Ditto.
1672 2008-02-22 Oliver Hunt <oliver@apple.com>
1674 Build fix for windows, wx and qt
1676 * html/CanvasPixelArray.h:
1677 (WebCore::CanvasPixelArray::set):
1679 2008-02-22 Oliver Hunt <oliver@apple.com>
1681 Unbreak windows vcproj
1683 * WebCore.vcproj/WebCore.vcproj:
1685 2008-02-22 Oliver Hunt <oliver@apple.com>
1689 Support Canvas.getImageData and Canvas.createImageData
1691 This patch adds support for all the pixel reading portions
1692 of the HTML5 Canvas spec. There are two new types ImageData
1693 and CanvasPixelArray which are used to provide the HTML5
1694 ImageData object, and the required semantics for assignment
1695 to the ImageData data array.
1697 We only implement the CG version of ImageBuffer::getImageData,
1698 but the logic is null safe, so this will not introduce any
1699 crashes into other platforms, unfortunately it will result in
1700 JS Object detection "lying" on non-CG platforms.
1702 Tests: fast/canvas/canvas-ImageData-behaviour.html
1703 fast/canvas/canvas-getImageData.html
1705 * DerivedSources.make:
1708 * WebCore.vcproj/WebCore.vcproj:
1709 * WebCore.xcodeproj/project.pbxproj:
1710 * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
1711 (WebCore::JSCanvasPixelArray::indexGetter):
1712 (WebCore::JSCanvasPixelArray::indexSetter):
1714 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1715 * bindings/scripts/CodeGeneratorJS.pm:
1716 * html/CanvasPixelArray.cpp: Added.
1717 (WebCore::CanvasPixelArray::create):
1718 * html/CanvasPixelArray.h: Added.
1719 (WebCore::CanvasPixelArray::data):
1720 (WebCore::CanvasPixelArray::length):
1721 (WebCore::CanvasPixelArray::set):
1722 (WebCore::CanvasPixelArray::get):
1723 * html/CanvasPixelArray.idl: Added.
1724 * html/CanvasRenderingContext2D.cpp:
1725 (WebCore::createEmptyImageData):
1726 (WebCore::CanvasRenderingContext2D::createImageData):
1727 (WebCore::CanvasRenderingContext2D::getImageData):
1728 * html/CanvasRenderingContext2D.h:
1729 * html/CanvasRenderingContext2D.idl:
1730 * html/HTMLCanvasElement.cpp:
1731 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
1732 (WebCore::HTMLCanvasElement::createImageBuffer):
1733 * html/HTMLCanvasElement.h:
1734 * html/ImageData.cpp: Added.
1735 (WebCore::ImageData::create):
1736 (WebCore::ImageData::ImageData):
1737 * html/ImageData.h: Added.
1738 (WebCore::ImageData::width):
1739 (WebCore::ImageData::height):
1740 (WebCore::ImageData::data):
1741 * html/ImageData.idl: Added.
1742 * platform/graphics/ImageBuffer.h:
1743 * platform/graphics/cairo/ImageBufferCairo.cpp:
1744 (WebCore::ImageBuffer::getImageData):
1745 * platform/graphics/cg/ImageBufferCG.cpp:
1746 (WebCore::ImageBuffer::getImageData):
1747 * platform/graphics/qt/ImageBufferQt.cpp:
1748 (WebCore::ImageBuffer::getImageData):
1749 * platform/graphics/wx/ImageBufferWx.cpp:
1750 (WebCore::ImageBuffer::getImageData):
1752 2008-02-22 Sam Weinig <sam@webkit.org>
1754 Rubber-stamped by Adam Roben.
1756 Rid the project of the Devil known as DeprecatedString!
1761 * WebCore.vcproj/WebCore.vcproj:
1762 * WebCore.xcodeproj/project.pbxproj:
1763 * WebCoreSources.bkl:
1765 * html/HTMLFormElement.cpp:
1766 * platform/DeprecatedString.cpp: Removed.
1767 * platform/DeprecatedString.h: Removed.
1768 * platform/graphics/qt/IconQt.cpp:
1769 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1770 * platform/gtk/CookieJarGtk.cpp:
1771 * platform/gtk/CursorGtk.cpp:
1772 * platform/gtk/KeyEventGtk.cpp:
1773 * platform/mac/DeprecatedStringMac.mm: Removed.
1774 * platform/network/qt/ResourceHandleQt.cpp:
1775 * platform/network/win/CookieJarWin.cpp:
1777 * platform/qt/ClipboardQt.cpp:
1778 * platform/qt/CookieJarQt.cpp:
1779 * platform/qt/CursorQt.cpp:
1780 * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
1781 * platform/text/AtomicString.cpp:
1782 * platform/text/AtomicString.h:
1783 * platform/text/PlatformString.h:
1784 * platform/text/String.cpp:
1785 * platform/text/StringImpl.cpp:
1786 * platform/text/qt/StringQt.cpp:
1787 (WebCore::String::String):
1788 * platform/text/wx/StringWx.cpp:
1789 * platform/win/BString.cpp:
1790 * platform/win/BString.h:
1791 * platform/win/PasteboardWin.cpp:
1793 2008-02-22 Sam Weinig <sam@webkit.org>
1795 Reviewed by Geoff Garen.
1797 - Remove use of DeprecatedString in CSSStyleSelector.
1799 * css/CSSStyleSelector.cpp:
1800 (WebCore::findHash): Removed. Use find instead.
1801 (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
1802 (WebCore::findSlashSlash): Ditto.
1803 (WebCore::findSlashDotSlash): Ditto.
1804 (WebCore::containsColonSlashSlash): Ditto.
1805 (WebCore::cleanPath): Change to operate on a String.
1806 (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
1808 2008-02-22 Geoffrey Garen <ggaren@apple.com>
1810 Reviewed by Sam Weinig.
1812 Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
1813 associated objects @ www.viamichelin.it, which was probably an underlying
1814 cause of <rdar://problem/5744037> Gmail out of memory (17455)
1816 If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
1817 the XMLHttpRequest but think we hadn't, therefore never
1818 calling deref() / gcUnprotect().
1820 This could happen at gmail.com, since gmail.com attempts to send
1821 XMLHttpRequests from unload handlers in order to gather usage statistics.
1822 (According to comments in the code, SubresourceLoader::create returns
1823 NULL when called from an unload handler.)
1825 The solution is to ref() / gcProtect() only if SubresourceLoader::create
1826 doesn't return NULL. This make sense, since we only need to protect the
1827 request as long as it has an outstanding network transaction.
1829 * xml/XMLHttpRequest.cpp:
1830 (WebCore::XMLHttpRequest::XMLHttpRequest):
1831 (WebCore::XMLHttpRequest::send):
1833 2008-02-22 Darin Adler <darin@apple.com>
1835 Reviewed, tweaked and landed by Sam.
1837 - Make RegularExpression operate on Strings instead of DeprecatedStrings.
1839 * dom/DOMImplementation.cpp:
1840 (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
1841 to build up the RegularExpression.
1843 (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
1844 (WebCore::Frame::searchForLabelsAboveCell): Ditto.
1845 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
1846 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
1848 * page/mac/FrameMac.mm:
1849 (WebCore::regExpForLabels): Ditto.
1850 (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
1851 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
1852 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
1854 * platform/text/RegularExpression.cpp:
1855 (WebCore::RegularExpression::Private::Private):
1856 (WebCore::RegularExpression::Private::compile):
1857 (WebCore::RegularExpression::RegularExpression):
1858 (WebCore::RegularExpression::operator=):
1859 (WebCore::RegularExpression::pattern):
1860 (WebCore::RegularExpression::match):
1861 (WebCore::RegularExpression::search):
1862 (WebCore::RegularExpression::searchRev):
1863 (WebCore::replace): Added.
1864 * platform/text/RegularExpression.h:
1865 Change functions to take Strings as input instead of DeprecatedStrings and
1866 reduce the complexity of the class by removing unneeded globbing support.
1868 2008-02-22 Jon Honeycutt <jhoneycutt@apple.com>
1872 <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
1873 during stress test (after only 5 min) - null dereference
1875 Full-frame plug-ins create PluginStream objects without loaders, as the
1876 PluginView receives the loading callbacks. We were trying to call
1877 setDefersLoading on these null pointers.
1879 * plugins/PluginStream.cpp:
1880 (WebCore::PluginStream::startStream): Add null check.
1881 (WebCore::PluginStream::destroyStream): Same.
1882 (WebCore::PluginStream::deliverData): Same.
1884 2008-02-22 Darin Adler <darin@apple.com>
1886 Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
1888 - Remove uses of DeprecatedString in Windows plugin code.
1890 * plugins/win/PluginPackageWin.cpp:
1891 (WebCore::getVersionInfo): Cleanup formatting.
1892 (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
1893 (WebCore::PluginPackage::storeFileVersion): Move casts.
1894 (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
1896 (WebCore::PluginPackage::load): Fix whitespace.
1897 (WebCore::PluginPackage::hash): Make the hashCodes const
1898 * plugins/win/PluginViewWin.cpp:
1899 (WebCore::makeURL): Use String instead of DeprecatedString.
1900 (WebCore::parseRFC822HeaderFields): Ditto.
1901 (WebCore::PluginView::handlePost): Ditto.
1902 (WebCore::PluginView::status): Ditto.
1904 2008-02-22 Darin Adler <darin@apple.com>
1906 Reviewed, tweaked and landed by Sam.
1908 - Don't use DeprecatedString in HTMLTokenizer.
1910 * html/HTMLTokenizer.cpp:
1911 (WebCore::HTMLTokenizer::finish):
1912 * platform/text/PlatformString.h:
1915 2008-02-21 Sam Weinig <sam@webkit.org>
1917 Reviewed by Anders Carlsson.
1919 Fix for <rdar://problem/5757946>
1921 - Parse URLs before checking whether they are javascript: urls
1922 (which require security checks).
1924 * bindings/js/JSAttrCustom.cpp:
1925 (WebCore::JSAttr::setValue):
1926 * bindings/js/JSElementCustom.cpp:
1927 (WebCore::allowSettingSrcToJavascriptURL):
1928 * bindings/js/JSHTMLFrameElementCustom.cpp:
1929 (WebCore::allowSettingJavascriptURL):
1930 * bindings/js/JSHTMLIFrameElementCustom.cpp:
1931 (WebCore::JSHTMLIFrameElement::setSrc):
1933 2008-02-21 Ada Chan <adachan@apple.com>
1935 <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
1936 We could get a buffer overrun in DeprecatedCString::find() if the end of the
1937 string matches a beginning portion of the substring, for example, if string is
1938 "a" but the substring is "ab".
1939 The code as is also will not match things correctly under certain situations
1940 since the inner while loop increments the index. For example, we wouldn't find
1941 a match if the string is "aab..." and the substring is "ab". Changed the
1942 inner while loop to increment a temporary index into str.
1944 Test: fast/loader/charset-parse.html
1946 Reviewed by Dan Berstein.
1948 * platform/DeprecatedCString.cpp:
1949 (WebCore::DeprecatedCString::find):
1951 2008-02-21 David Hyatt <hyatt@apple.com>
1953 Fix for bug 17301. CSS media queries need to use the correct viewport
1954 when contained in documents inside iframes (rather than always using the
1955 top-level document's viewport). CSS media queries based on the viewport
1956 also needed to be dynamic and update as you resize the window (this is
1959 This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
1963 Added fast/media/viewport-media-query.html
1965 * css/CSSStyleSelector.cpp:
1966 (WebCore::CSSStyleSelector::CSSStyleSelector):
1967 (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
1968 (WebCore::CSSStyleSelector::affectedByViewportChange):
1969 * css/CSSStyleSelector.h:
1970 (WebCore::MediaQueryResult::MediaQueryResult):
1971 * css/MediaQueryEvaluator.cpp:
1972 (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
1973 (WebCore::MediaQueryEvaluator):
1974 (WebCore::MediaQueryEvaluator::eval):
1975 (WebCore::colorMediaFeatureEval):
1976 (WebCore::monochromeMediaFeatureEval):
1977 (WebCore::device_aspect_ratioMediaFeatureEval):
1978 (WebCore::device_pixel_ratioMediaFeatureEval):
1979 (WebCore::gridMediaFeatureEval):
1980 (WebCore::device_heightMediaFeatureEval):
1981 (WebCore::device_widthMediaFeatureEval):
1982 (WebCore::heightMediaFeatureEval):
1983 (WebCore::widthMediaFeatureEval):
1984 (WebCore::min_colorMediaFeatureEval):
1985 (WebCore::max_colorMediaFeatureEval):
1986 (WebCore::min_monochromeMediaFeatureEval):
1987 (WebCore::max_monochromeMediaFeatureEval):
1988 (WebCore::min_device_aspect_ratioMediaFeatureEval):
1989 (WebCore::max_device_aspect_ratioMediaFeatureEval):
1990 (WebCore::min_device_pixel_ratioMediaFeatureEval):
1991 (WebCore::max_device_pixel_ratioMediaFeatureEval):
1992 (WebCore::min_heightMediaFeatureEval):
1993 (WebCore::max_heightMediaFeatureEval):
1994 (WebCore::min_widthMediaFeatureEval):
1995 (WebCore::max_widthMediaFeatureEval):
1996 (WebCore::min_device_heightMediaFeatureEval):
1997 (WebCore::max_device_heightMediaFeatureEval):
1998 (WebCore::min_device_widthMediaFeatureEval):
1999 (WebCore::max_device_widthMediaFeatureEval):
2000 * css/MediaQueryEvaluator.h:
2001 * css/MediaQueryExp.cpp:
2002 (WebCore::MediaQueryExp::~MediaQueryExp):
2003 * css/MediaQueryExp.h:
2004 (WebCore::MediaQueryExp::value):
2005 (WebCore::MediaQueryExp::isViewportDependent):
2006 * html/HTMLMediaElement.cpp:
2007 (WebCore::HTMLMediaElement::pickMedia):
2008 * page/FrameView.cpp:
2009 (WebCore::FrameView::layout):
2011 2008-02-21 Anders Carlsson <andersca@apple.com>
2015 Make more classes start out with a refcount of 1.
2017 * dom/QualifiedName.cpp:
2018 (WebCore::QNameComponentsTranslator::translate):
2019 (WebCore::QualifiedName::QualifiedName):
2020 * dom/QualifiedName.h:
2021 (WebCore::QualifiedName::QualifiedNameImpl::create):
2022 (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
2023 * history/BackForwardList.cpp:
2024 (WebCore::BackForwardList::BackForwardList):
2025 * history/BackForwardList.h:
2026 (WebCore::BackForwardList::create):
2028 (WebCore::Page::Page):
2029 * platform/text/CString.cpp:
2030 (WebCore::CString::init):
2031 (WebCore::CString::newUninitialized):
2032 (WebCore::CString::copyBufferIfNeeded):
2033 * platform/text/CString.h:
2034 (WebCore::CStringBuffer::create):
2035 (WebCore::CStringBuffer::CStringBuffer):
2037 2008-02-21 Kevin Ollivier <kevino@theolliviers.com>
2039 wx build fix for the domString() -> string() rename in r30443.
2041 * platform/graphics/wx/FontPlatformDataWx.cpp:
2042 (WebCore::FontPlatformData::FontPlatformData):
2044 2008-02-21 Antti Koivisto <antti@apple.com>
2046 Reviewed by Sam Weinig.
2048 <rdar://problem/5753789>
2049 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
2051 Ensure all versions of allowsAccessFrom are inlined to single functions.
2052 This is a 2% win in browser hosted Sunspider.
2054 * bindings/js/kjs_window.cpp:
2055 (KJS::Window::allowsAccessFrom):
2056 (KJS::Window::allowsAccessFromPrivate):
2057 * bindings/js/kjs_window.h:
2059 2008-02-21 Dan Bernstein <mitz@apple.com>
2061 Reviewed by Sam Weinig.
2065 * rendering/bidi.cpp:
2066 (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
2067 true for RenderLineBreak.
2068 (WebCore::bidiFirst): Ditto.
2069 (WebCore::shouldSkipWhitespaceAfterStartObject):
2070 (WebCore::RenderBlock::findNextLineBreak):
2072 2008-02-21 Geoffrey Garen <ggaren@apple.com>
2074 Reviewed by David Harrison.
2076 Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at
2077 WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
2079 Test: fast/dom/script-element-without-frame-crash.html
2081 * html/HTMLTokenizer.cpp:
2082 (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
2083 accidentally removed in r30325.
2085 2008-02-21 Rodney Dawes <dobey@wayofthemonkey.com>
2087 GTK+ build fix. s/domString()/string()/
2089 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2090 (FontPlatformData::FontPlatformData):
2092 2008-02-20 Dan Bernstein <mitz@apple.com>
2094 Reviewed by Dave Hyatt.
2096 - fix http://bugs.webkit.org/show_bug.cgi?id=17465
2097 REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
2099 Test: fast/tokenizer/doctype-search-reset.html
2101 * html/HTMLTokenizer.cpp:
2102 (WebCore::HTMLTokenizer::parseTag):
2104 2008-02-20 Dan Bernstein <mitz@apple.com>
2106 Reviewed by Dave Hyatt.
2108 - fix http://bugs.webkit.org/show_bug.cgi?id=17464
2109 REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
2111 Test: fast/text/wbr-in-pre-crash.html
2113 * rendering/bidi.cpp:
2114 (WebCore::RenderBlock::findNextLineBreak):
2116 2008-02-20 Oliver Hunt <oliver@apple.com>
2120 Bug 17303: Canvas crash in ImageBuffer
2122 We handle a null GraphicsContext everywhere, but we weren't checking for
2123 a null ImageBuffer, which is what will result in a null GraphicsContext in
2126 Test: fast/canvas/access-zero-sized-canvas.html
2128 * html/HTMLCanvasElement.cpp:
2130 2008-02-20 David Hyatt <hyatt@apple.com>
2132 Fix the layout test failure that never should have passed in the first
2133 place by making changes to media lists actually result in the recomputation
2134 of the style selector. Now it passes for the right reasons and not because
2137 Reviewed by Sam Weinig
2139 * css/MediaList.cpp:
2140 (WebCore::MediaList::deleteMedium):
2141 (WebCore::MediaList::setMediaText):
2142 (WebCore::MediaList::appendMedium):
2143 (WebCore::MediaList::notifyChanged):
2146 (WebCore::Document::attach):
2148 2008-02-20 Darin Adler <darin@apple.com>
2150 Reviewed, tweaked and landed by Sam.
2152 - make markup functions not use DeprecatedString.
2154 * editing/markup.cpp:
2155 (WebCore::append): Added.
2156 (WebCore::escapeContentText): Build up string using a Vector.
2157 (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
2159 2008-02-20 Darin Adler <darin@apple.com>
2161 Reviewed, tweaked and landed by Sam.
2163 - make TextIterator use a Vector instead of a DeprecatedString.
2165 * editing/TextIterator.cpp:
2166 (WebCore::CharacterIterator::string): Build up the String using a
2168 (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
2169 (WebCore::WordAwareIterator::length): Ditto.
2170 (WebCore::WordAwareIterator::characters): Ditto.
2171 * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
2172 of DeprecatedString.
2174 2008-02-20 Darin Adler <darin@apple.com>
2176 Reviewed, tweaked and landed by Sam.
2178 - make HTMLInterchange return a String instead of a DeprecatedString
2180 * editing/HTMLInterchange.cpp:
2181 (WebCore::): Return a String from convertedSpaceString.
2182 (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
2183 a DeprecatedString to build up the return String.
2184 * editing/HTMLInterchange.h:
2186 2008-02-20 Eric Seidel <eric@webkit.org>
2190 Remove m_drawingContext and change m_data to m_imageBuffer
2192 * html/HTMLCanvasElement.cpp:
2193 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2194 (WebCore::HTMLCanvasElement::reset):
2195 (WebCore::HTMLCanvasElement::paint):
2196 (WebCore::HTMLCanvasElement::createImageBuffer):
2197 (WebCore::HTMLCanvasElement::buffer):
2198 (WebCore::HTMLCanvasElement::createPlatformImage):
2199 * html/HTMLCanvasElement.h:
2201 2008-02-20 Anders Carlsson <andersca@apple.com>
2205 Rename AtomicString::domString() to AtomicString::string().
2207 * css/CSSComputedStyleDeclaration.cpp:
2208 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2209 * css/CSSFontSelector.cpp:
2210 (WebCore::CSSFontSelector::getFontData):
2212 (WebCore::Attr::createTextChild):
2214 (WebCore::Comment::nodeName):
2216 (WebCore::Document::recalcStyleSelector):
2217 (WebCore::Document::setHTMLWindowEventListener):
2218 (WebCore::Document::formElementsState):
2219 * dom/StyledElement.cpp:
2220 (WebCore::StyledElement::parseMappedAttribute):
2222 (WebCore::Text::nodeName):
2223 * editing/SelectionController.cpp:
2224 (WebCore::SelectionController::debugRenderer):
2225 * html/HTMLCollection.cpp:
2226 (WebCore::HTMLCollection::checkForNameMatch):
2227 * html/HTMLElement.cpp:
2228 (WebCore::HTMLElement::nodeName):
2229 (WebCore::HTMLElement::setHTMLEventListener):
2230 * html/HTMLFormCollection.cpp:
2231 (WebCore::HTMLFormCollection::getNamedFormItem):
2232 * html/HTMLImageElement.cpp:
2233 (WebCore::HTMLImageElement::parseMappedAttribute):
2234 (WebCore::HTMLImageElement::isURLAttribute):
2235 * html/HTMLLinkElement.cpp:
2236 (WebCore::HTMLLinkElement::parseMappedAttribute):
2237 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2238 * html/HTMLObjectElement.cpp:
2239 (WebCore::HTMLObjectElement::isURLAttribute):
2240 (WebCore::HTMLObjectElement::containsJavaApplet):
2241 * html/HTMLParamElement.cpp:
2242 (WebCore::HTMLParamElement::isURLAttribute):
2243 * html/HTMLParser.cpp:
2244 (WebCore::HTMLParser::handleIsindex):
2245 * html/HTMLScriptElement.cpp:
2246 (WebCore::HTMLScriptElement::insertedIntoDocument):
2247 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
2248 * html/HTMLStyleElement.cpp:
2249 (WebCore::HTMLStyleElement::parseMappedAttribute):
2250 * html/HTMLTokenizer.cpp:
2251 (WebCore::HTMLTokenizer::parseTag):
2252 * html/HTMLViewSourceDocument.cpp:
2253 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2254 * loader/FrameLoader.cpp:
2255 (WebCore::FrameLoader::saveDocumentState):
2256 * page/FrameTree.cpp:
2257 (WebCore::FrameTree::uniqueChildName):
2258 * platform/text/AtomicString.h:
2259 (WebCore::AtomicString::string):
2260 (WebCore::AtomicString::contains):
2261 (WebCore::AtomicString::find):
2262 (WebCore::AtomicString::startsWith):
2263 (WebCore::AtomicString::endsWith):
2264 * rendering/RenderPartObject.cpp:
2265 (WebCore::RenderPartObject::updateWidget):
2266 * svg/SVGElement.cpp:
2267 (WebCore::SVGElement::addSVGEventListener):
2268 * svg/SVGSVGElement.cpp:
2269 (WebCore::SVGSVGElement::addSVGWindowEventListener):
2270 * xml/XPathFunctions.cpp:
2271 (WebCore::XPath::FunLocalName::evaluate):
2272 (WebCore::XPath::FunNamespaceURI::evaluate):
2273 (WebCore::XPath::FunName::evaluate):
2275 2008-02-20 Brent Fulgham <bfulgham@gmail.com>
2279 http://bugs.webkit.org/show_bug.cgi?id=17336
2280 Provide implementations for Windows (Cairo) build of WebKit that
2281 handles font formatting.
2282 - Split font implementation files to allow maximal code sharing
2283 between CG and Cairo back-ends.
2285 * WebCore.vcproj/WebCore.vcproj:
2286 * platform/graphics/SimpleFontData.h: Add signatures for private win
2287 initialization functions.
2288 * platform/graphics/win/FontCacheWin.cpp:
2289 (WebCore::FontCache::platformInit):
2290 (WebCore::FontCache::createFontPlatformData):
2291 * platform/graphics/win/FontCairoWin.cpp: Removed. Universal version
2292 is now part of platform/graphics/cairo.
2293 * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
2294 (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
2295 (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
2296 (WebCore::releaseData):
2297 (WebCore::createFontCustomPlatformData):
2298 * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
2299 (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
2300 * platform/graphics/win/FontPlatformData.h:
2301 (WebCore::FontPlatformData::FontPlatformData):
2302 (WebCore::FontPlatformData::fontFace):
2303 (WebCore::FontPlatformData::scaledFont):
2304 (WebCore::FontPlatformData::operator==):
2305 * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
2306 (WebCore::FontPlatformData::platformDataInit):
2307 * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
2308 (WebCore::FontPlatformData::platformDataInit):
2309 (WebCore::FontPlatformData::FontPlatformData):
2310 (WebCore::FontPlatformData::setFont):
2311 * platform/graphics/win/FontPlatformDataWin.cpp: Moved CG-specific
2312 code to FontPlatformDataCG.cpp.
2313 (WebCore::FontPlatformData::FontPlatformData):
2314 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2315 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2316 (WebCore::GlyphPage::fill):
2317 * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed. Replaced
2318 with CG- and Cairo-specific versions.
2319 * platform/graphics/win/SimpleFontDataCGWin.cpp:
2320 (WebCore::SimpleFontData::platformInit):
2321 (WebCore::SimpleFontData::platformDestroy):
2322 (WebCore::SimpleFontData::platformWidthForGlyph):
2323 * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2324 (WebCore::SimpleFontData::platformInit):
2325 (WebCore::SimpleFontData::platformDestroy):
2326 (WebCore::SimpleFontData::platformWidthForGlyph):
2327 (WebCore::SimpleFontData::setFont):
2328 * platform/graphics/win/SimpleFontDataWin.cpp:
2329 (WebCore::SimpleFontData::initGDIFont):
2330 (WebCore::SimpleFontData::platformCommonDestroy):
2331 (WebCore::SimpleFontData::widthForGDIGlyph):
2333 2008-02-20 Darin Adler <darin@apple.com>
2337 * dom/Node.h: Took out unneeded forward declaration of TextStream.
2339 2008-02-20 Darin Adler <darin@apple.com>
2343 * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
2345 2008-02-20 David Hyatt <hyatt@apple.com>
2347 Fix for bug 16760, incorrect <object> MIME type handling and fallback
2352 * html/HTMLImageLoader.cpp:
2353 (WebCore::HTMLImageLoader::notifyFinished):
2354 If the image had an error, make sure to do <object> fallback.
2356 * html/HTMLObjectElement.cpp:
2357 (WebCore::HTMLObjectElement::renderFallbackContent):
2358 Before doing fallback check if there is a MIME type mismatch between
2359 an image type and a non-image type. If so, detach and re-attach after
2360 storing the correct MIME type.
2362 * loader/loader.cpp:
2363 (WebCore::Loader::didReceiveData):
2364 Consider it an error when a 404 is encountered on a CachedResource load.
2366 2008-02-20 Anders Carlsson <andersca@apple.com>
2370 StringImpl constructors used by AtomicString should start with a refcount of 1.
2372 * platform/text/AtomicString.cpp:
2373 (WebCore::AtomicString::add):
2374 * platform/text/AtomicString.h:
2375 * platform/text/StringImpl.cpp:
2376 (WebCore::StringImpl::StringImpl):
2378 2008-02-20 Darin Adler <darin@apple.com>
2380 * bindings/js/kjs_navigator.cpp:
2381 (WebCore::needsYouTubeQuirk): Tweak comments.
2383 2008-02-20 Anders Carlsson <andersca@apple.com>
2387 Change all refcounted classes in page/ to start with a refcount of 1.
2390 (WebCore::BarInfo::BarInfo):
2392 (WebCore::BarInfo::create):
2394 (WebCore::Console::Console):
2396 (WebCore::Console::create):
2397 * page/DOMSelection.cpp:
2398 (WebCore::DOMSelection::DOMSelection):
2399 * page/DOMSelection.h:
2400 (WebCore::DOMSelection::create):
2401 * page/DOMWindow.cpp:
2402 (WebCore::DOMWindow::DOMWindow):
2403 (WebCore::DOMWindow::screen):
2404 (WebCore::DOMWindow::history):
2405 (WebCore::DOMWindow::locationbar):
2406 (WebCore::DOMWindow::menubar):
2407 (WebCore::DOMWindow::personalbar):
2408 (WebCore::DOMWindow::scrollbars):
2409 (WebCore::DOMWindow::statusbar):
2410 (WebCore::DOMWindow::toolbar):
2411 (WebCore::DOMWindow::console):
2412 (WebCore::DOMWindow::getSelection):
2414 (WebCore::DOMWindow::create):
2416 (WebCore::Frame::domWindow):
2418 (WebCore::History::History):
2420 (WebCore::History::create):
2421 * page/InspectorController.cpp:
2422 (WebCore::InspectorResource::create):
2423 (WebCore::InspectorResource::InspectorResource):
2424 (WebCore::InspectorDatabaseResource::create):
2425 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
2426 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2427 (WebCore::InspectorController::identifierForInitialRequest):
2428 (WebCore::InspectorController::didOpenDatabase):
2430 (WebCore::Plugin::create):
2431 (WebCore::Plugin::Plugin):
2433 (WebCore::Screen::Screen):
2435 (WebCore::Screen::create):
2437 2008-02-20 Sam Weinig <sam@webkit.org>
2439 Reviewed by Darin and Geoff.
2441 - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
2443 * WebCore.base.exp: Updated.
2445 * bindings/js/kjs_navigator.cpp:
2446 (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed.
2447 (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk
2448 return true, then return the empty string.
2450 * page/Settings.cpp:
2451 (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false.
2452 (WebCore::Settings::setNeedsSiteSpecificQuirks): Added.
2453 * page/Settings.h: Added m_needsSiteSpecificQuirks.
2454 (WebCore::Settings::needsSiteSpecificQuirks): Added.
2456 2008-02-20 David Hyatt <hyatt@apple.com>
2458 Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
2460 Reviewed by Sam Weinig
2462 Many tests added in fast/doctypes.
2464 * dom/DOMImplementation.cpp:
2465 (WebCore::DOMImplementation::createDocument):
2466 (WebCore::DOMImplementation::createHTMLDocument):
2468 (WebCore::Document::Document):
2469 (WebCore::Document::setDocType):
2470 (WebCore::Document::attach):
2471 (WebCore::Document::getImageMap):
2473 (WebCore::Document::doctype):
2474 (WebCore::Document::):
2475 (WebCore::Document::determineParseMode):
2476 (WebCore::Document::setParseMode):
2477 (WebCore::Document::parseMode):
2478 (WebCore::Document::inCompatMode):
2479 (WebCore::Document::inAlmostStrictMode):
2480 (WebCore::Document::inStrictMode):
2481 * dom/DocumentType.cpp:
2482 (WebCore::DocumentType::cloneNode):
2483 (WebCore::DocumentType::insertedIntoDocument):
2484 (WebCore::DocumentType::removedFromDocument):
2485 * dom/DocumentType.h:
2487 (WebCore::Node::childAllowed):
2488 * dom/StyledElement.cpp:
2489 (WebCore::StyledElement::attributeChanged):
2490 * dom/XMLTokenizer.cpp:
2491 (WebCore::XMLTokenizer::internalSubset):
2493 * editing/markup.cpp:
2494 (WebCore::appendStartMarkup):
2495 * html/HTMLAppletElement.cpp:
2496 (WebCore::HTMLAppletElement::createRenderer):
2497 * html/HTMLDocument.cpp:
2498 (WebCore::HTMLDocument::HTMLDocument):
2499 (WebCore::HTMLDocument::childAllowed):
2500 (WebCore::HTMLDocument::determineParseMode):
2501 * html/HTMLDocument.h:
2502 * html/HTMLMapElement.cpp:
2503 (WebCore::HTMLMapElement::parseMappedAttribute):
2504 * html/HTMLParamElement.cpp:
2505 (WebCore::HTMLParamElement::parseMappedAttribute):
2506 * html/HTMLParser.cpp:
2507 (WebCore::HTMLParser::parseDoctypeToken):
2508 * html/HTMLParser.h:
2509 * html/HTMLTokenizer.cpp:
2510 (WebCore::HTMLTokenizer::reset):
2511 (WebCore::HTMLTokenizer::parseDoctype):
2512 (WebCore::HTMLTokenizer::parseTag):
2513 (WebCore::HTMLTokenizer::write):
2514 (WebCore::HTMLTokenizer::finish):
2515 (WebCore::HTMLTokenizer::processDoctypeToken):
2516 * html/HTMLTokenizer.h:
2518 (WebCore::DoctypeToken::DoctypeToken):
2519 (WebCore::DoctypeToken::reset):
2520 (WebCore::DoctypeToken::state):
2521 (WebCore::DoctypeToken::setState):
2522 (WebCore::HTMLTokenizer::State::inDoctype):
2523 (WebCore::HTMLTokenizer::State::setInDoctype):
2524 (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
2525 (WebCore::HTMLTokenizer::State::):
2526 * html/HTMLViewSourceDocument.cpp:
2527 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2528 (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
2529 * html/HTMLViewSourceDocument.h:
2530 * loader/FrameLoader.cpp:
2531 (WebCore::FrameLoader::write):
2532 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2534 (WebCore::Frame::documentTypeString):
2535 * page/inspector/utilities.js:
2536 * xml/XSLTProcessor.cpp:
2537 (WebCore::XSLTProcessor::createDocumentFromSource):
2539 2008-02-20 Anders Carlsson <andersca@apple.com>
2543 Change most SVG related classes to start out with a ref count of 1.
2545 * bindings/js/JSSVGPointListCustom.cpp:
2546 (WebCore::JSSVGPointList::initialize):
2547 (WebCore::JSSVGPointList::insertItemBefore):
2548 (WebCore::JSSVGPointList::replaceItem):
2549 (WebCore::JSSVGPointList::appendItem):
2550 * bindings/js/JSSVGTransformListCustom.cpp:
2551 (WebCore::JSSVGTransformList::initialize):
2552 (WebCore::JSSVGTransformList::insertItemBefore):
2553 (WebCore::JSSVGTransformList::replaceItem):
2554 (WebCore::JSSVGTransformList::appendItem):
2555 * rendering/SVGCharacterLayoutInfo.h:
2556 (WebCore::SVGCharOnPath::create):
2557 (WebCore::SVGCharOnPath::SVGCharOnPath):
2558 * rendering/SVGRootInlineBox.cpp:
2559 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2560 * svg/SVGAnimationElement.cpp:
2561 (WebCore::SVGAnimationElement::parseBeginOrEndValue):
2562 * svg/SVGClipPathElement.cpp:
2563 (WebCore::SVGClipPathElement::canvasResource):
2564 * svg/SVGElementInstance.cpp:
2565 (WebCore::SVGElementInstance::childNodes):
2566 * svg/SVGElementInstanceList.cpp:
2567 (WebCore::SVGElementInstanceList::SVGElementInstanceList):
2568 * svg/SVGElementInstanceList.h:
2569 (WebCore::SVGElementInstanceList::create):
2570 * svg/SVGFitToViewBox.cpp:
2571 (WebCore::SVGFitToViewBox::SVGFitToViewBox):
2572 * svg/SVGGradientElement.cpp:
2573 (WebCore::SVGGradientElement::SVGGradientElement):
2574 (WebCore::SVGGradientElement::canvasResource):
2575 * svg/SVGImageElement.cpp:
2576 (WebCore::SVGImageElement::SVGImageElement):
2577 * svg/SVGLengthList.h:
2578 (WebCore::SVGLengthList::create):
2580 (WebCore::SVGList::SVGList):
2581 (WebCore::SVGPODListItem::create):
2582 (WebCore::SVGPODListItem::copy):
2583 (WebCore::SVGPODListItem::SVGPODListItem):
2584 (WebCore::SVGPODList::initialize):
2585 (WebCore::SVGPODList::insertItemBefore):
2586 (WebCore::SVGPODList::replaceItem):
2587 (WebCore::SVGPODList::appendItem):
2588 (WebCore::SVGPODList::SVGPODList):
2589 * svg/SVGMarkerElement.cpp:
2590 (WebCore::SVGMarkerElement::canvasResource):
2591 * svg/SVGMaskElement.cpp:
2592 (WebCore::SVGMaskElement::canvasResource):
2593 * svg/SVGNumberList.h:
2594 (WebCore::SVGNumberList::create):
2595 * svg/SVGPathElement.cpp:
2596 (WebCore::SVGPathElement::createSVGPathSegClosePath):
2597 (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2598 (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2599 (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2600 (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2601 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2602 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2603 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2604 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2605 (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2606 (WebCore::SVGPathElement::createSVGPathSegArcRel):
2607 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2608 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2609 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2610 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2611 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2612 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2613 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2614 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2615 (WebCore::SVGPathElement::pathSegList):
2616 * svg/SVGPathElement.h:
2618 (WebCore::SVGPathSeg::SVGPathSeg):
2619 * svg/SVGPathSegArc.h:
2620 (WebCore::SVGPathSegArcAbs::create):
2621 (WebCore::SVGPathSegArcRel::create):
2622 * svg/SVGPathSegClosePath.h:
2623 (WebCore::SVGPathSegClosePath::create):
2624 * svg/SVGPathSegCurvetoCubic.h:
2625 (WebCore::SVGPathSegCurvetoCubicAbs::create):
2626 (WebCore::SVGPathSegCurvetoCubicRel::create):
2627 * svg/SVGPathSegCurvetoCubicSmooth.h:
2628 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
2629 (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
2630 * svg/SVGPathSegCurvetoQuadratic.h:
2631 (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
2632 (WebCore::SVGPathSegCurvetoQuadraticRel::create):
2633 * svg/SVGPathSegCurvetoQuadraticSmooth.h:
2634 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
2635 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
2636 * svg/SVGPathSegLineto.h:
2637 (WebCore::SVGPathSegLinetoAbs::create):
2638 (WebCore::SVGPathSegLinetoRel::create):
2639 * svg/SVGPathSegLinetoHorizontal.h:
2640 (WebCore::SVGPathSegLinetoHorizontalAbs::create):
2641 (WebCore::SVGPathSegLinetoHorizontalRel::create):
2642 * svg/SVGPathSegLinetoVertical.h:
2643 (WebCore::SVGPathSegLinetoVerticalAbs::create):
2644 (WebCore::SVGPathSegLinetoVerticalRel::create):
2645 * svg/SVGPathSegList.h:
2646 (WebCore::SVGPathSegList::create):
2647 * svg/SVGPathSegMoveto.h:
2648 (WebCore::SVGPathSegMovetoAbs::create):
2649 (WebCore::SVGPathSegMovetoRel::create):
2650 * svg/SVGPatternElement.cpp:
2651 (WebCore::SVGPatternElement::SVGPatternElement):
2652 (WebCore::SVGPatternElement::canvasResource):
2653 * svg/SVGPointList.h:
2654 (WebCore::SVGPointList::create):
2655 * svg/SVGPolyElement.cpp:
2656 (WebCore::SVGPolyElement::points):
2657 * svg/SVGPreserveAspectRatio.cpp:
2658 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
2659 * svg/SVGPreserveAspectRatio.h:
2660 (WebCore::SVGPreserveAspectRatio::create):
2661 * svg/SVGRenderingIntent.h:
2662 (WebCore::SVGRenderingIntent::SVGRenderingIntent):
2663 * svg/SVGStringList.h:
2664 (WebCore::SVGStringList::create):
2665 * svg/SVGStyledTransformableElement.cpp:
2666 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
2668 (WebCore::SVGTests::requiredFeatures):
2669 (WebCore::SVGTests::requiredExtensions):
2670 (WebCore::SVGTests::systemLanguage):
2671 * svg/SVGTextElement.cpp:
2672 (WebCore::SVGTextElement::SVGTextElement):
2673 * svg/SVGTextPositioningElement.cpp:
2674 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
2675 * svg/SVGTransformList.h:
2676 (WebCore::SVGTransformList::create):
2677 * svg/SVGUnitTypes.h:
2678 (WebCore::SVGUnitTypes::SVGUnitTypes):
2679 * svg/SVGViewElement.cpp:
2680 (WebCore::SVGViewElement::viewTarget):
2681 * svg/SVGViewSpec.cpp:
2682 (WebCore::SVGViewSpec::SVGViewSpec):
2683 * svg/graphics/SVGPaintServer.cpp:
2684 (WebCore::SVGPaintServer::sharedSolidPaintServer):
2685 * svg/graphics/SVGPaintServer.h:
2686 * svg/graphics/SVGPaintServerGradient.h:
2687 (WebCore::SVGPaintServerGradient::SharedStopCache::create):
2688 (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
2689 * svg/graphics/SVGPaintServerLinearGradient.h:
2690 (WebCore::SVGPaintServerLinearGradient::create):
2691 * svg/graphics/SVGPaintServerPattern.h:
2692 (WebCore::SVGPaintServerPattern::create):
2693 * svg/graphics/SVGPaintServerRadialGradient.h:
2694 (WebCore::SVGPaintServerRadialGradient::create):
2695 * svg/graphics/SVGPaintServerSolid.h:
2696 (WebCore::SVGPaintServerSolid::create):
2697 * svg/graphics/SVGResource.cpp:
2698 (WebCore::SVGResource::SVGResource):
2699 * svg/graphics/SVGResource.h:
2700 * svg/graphics/SVGResourceClipper.h:
2701 (WebCore::SVGResourceClipper::create):
2702 * svg/graphics/SVGResourceMarker.h:
2703 (WebCore::SVGResourceMarker::create):
2704 * svg/graphics/SVGResourceMasker.h:
2705 (WebCore::SVGResourceMasker::create):
2706 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2707 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2709 2008-02-20 Darin Adler <darin@apple.com>
2713 - make conversion from CSS ParseString to String and AtomicString
2714 automatic and remove all the explicit calls to do the conversion
2716 - fix CSS parsing to do fewer allocations, mostly by using the
2717 equalIgnoringCase function in CSSParser
2719 * css/CSSGrammar.y: Take out all the explicit atomicString and
2720 domString calls now that ParseString knows how to convert itself.
2722 * css/CSSParser.cpp:
2723 (WebCore::equal): Added.
2724 (WebCore::equalIgnoringCase): Allow non-lettters.
2725 (WebCore::ParseString::lower): Used charactersAreAllASCII.
2726 (WebCore::unitFromString): Use equal.
2727 (WebCore::CSSParser::parseValue): Removed unneeded call to domString.
2728 (WebCore::CSSParser::parseContent): Use equalIgnoringCase.
2729 (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString.
2730 (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase.
2731 (WebCore::CSSParser::parseDashboardRegions): More of the same.
2732 (WebCore::CSSParser::parseCounterContent): Ditto.
2733 (WebCore::CSSParser::parseShape): Use equalIgnoringCase.
2734 (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString.
2735 (WebCore::CSSParser::parseFontFaceSrc): More.
2736 (WebCore::CSSParser::parseFontFaceUnicodeRange): More.
2737 (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now
2738 handles the case folding.
2739 (WebCore::CSSParser::parseColorFromValue): More.
2740 (WebCore::CSSParser::parseBorderImage): More.
2741 (WebCore::CSSParser::parseCounter): More.
2742 (WebCore::TransformOperationInfo::TransformOperationInfo): More.
2743 (WebCore::CSSParser::parseTransform): More.
2744 (WebCore::CSSParser::createCharsetRule): More.
2745 (WebCore::CSSParser::createImportRule): More.
2747 * css/CSSParser.h: Removed domString and atomicString functions.
2748 (WebCore::ParseString::operator String): Added. Allows conversion to String
2749 without an explicit function call.
2750 (WebCore::ParseString::operator AtomicString): Ditto.
2752 * css/MediaQueryExp.cpp:
2753 (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString.
2754 * css/SVGCSSParser.cpp:
2755 (WebCore::CSSParser::parseSVGValue): Removed calls to domString.
2757 * platform/graphics/Color.cpp:
2758 (WebCore::findNamedColor): Call toASCIILower on each character as we copy
2759 it into the 8-bit character buffer to make the operation fold case.
2761 2008-02-20 Justin Garcia <justin.garcia@apple.com>
2763 Reviewed by Darin Adler.
2765 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
2767 * editing/DeleteSelectionCommand.cpp:
2768 (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here
2769 is where there are no special elements. Avoid creating VisiblePositions in
2770 that case. Additionally, this change postpones the more expensive creation
2771 of an upstream VisiblePosition until the last possible moment.
2772 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
2773 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an
2774 early return for a common case: deleting characters that are all inside the
2775 same text node. In that case the style at the start of the selection will
2776 not change during the delete, so there is no need to save/recompute it.
2777 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return
2778 before VisiblePosition creation if the ends of the selection aren't enclosed
2780 * editing/TypingCommand.cpp:
2781 (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell
2782 checking isn't enabled.
2784 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
2786 Incorporates some improvements made by Dan Bernstein.
2790 http://bugs.webkit.org/show_bug.cgi?id=17106
2791 <rdar://problem/5750722> Debug build ASSERTs on page load
2793 Test: fast/encoding/GBK/close-gbk-converter.html
2795 * platform/text/TextCodecICU.cpp:
2796 (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there
2797 are only four values.
2798 (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt
2799 getting an escape character if it's not UCNV_UNASSIGNED.
2800 (WebCore::gbkCallbackSubstitute): Ditto.
2802 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
2806 * xml/XMLHttpRequest.cpp:
2807 (WebCore::isSafeRequestHeader):
2808 (WebCore::XMLHttpRequest::setRequestHeader):
2810 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
2814 <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest
2816 Cannot be tested in DRT.
2818 * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load
2819 local files can also set any headers.
2821 2008-02-19 Darin Adler <darin@apple.com>
2825 - removed use of DeprecatedString for font family names
2827 * css/CSSFontSelector.cpp:
2828 (WebCore::CSSFontSelector::addFontFaceRule): Update for name change.
2829 * css/CSSParser.cpp:
2830 (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated
2831 function and String rather than DeprecatedString.
2832 * css/CSSStyleSelector.cpp:
2833 (WebCore::CSSStyleSelector::applyProperty): Updated for name change.
2834 * css/FontFamilyValue.cpp:
2835 (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular
2836 expression with code that does the same thing more efficiently.
2837 (WebCore::FontFamilyValue::appendSpaceSeparated): Added.
2838 (WebCore::FontFamilyValue::cssText): Updated for name change.
2839 * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName
2840 to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType
2841 and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can
2842 be private instead of public.
2844 2008-02-19 Darin Adler <darin@apple.com>
2846 - fix build when SVG is not enabled
2848 * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h".
2850 2008-02-19 Anders Carlsson <andersca@apple.com>
2854 Change all classes in xml/ to start out with a ref count of 1.
2856 * bindings/js/JSCustomXPathNSResolver.h:
2857 * bindings/js/JSXMLHttpRequest.cpp:
2858 (WebCore::JSXMLHttpRequest::JSXMLHttpRequest):
2859 * bindings/js/JSXSLTProcessor.cpp:
2860 (WebCore::JSXSLTProcessor::JSXSLTProcessor):
2861 * bindings/objc/DOMCustomXPathNSResolver.h:
2862 (WebCore::DOMCustomXPathNSResolver::create):
2863 * bindings/scripts/CodeGeneratorJS.pm:
2864 * bindings/scripts/CodeGeneratorObjC.pm:
2866 (WebCore::Document::applyXSLTransform):
2867 (WebCore::Document::createExpression):
2868 (WebCore::Document::createNSResolver):
2869 (WebCore::Document::evaluate):
2871 (WebCore::DOMParser::create):
2872 (WebCore::DOMParser::DOMParser):
2873 * xml/NativeXPathNSResolver.h:
2874 (WebCore::NativeXPathNSResolver::create):
2875 * xml/XMLHttpRequest.cpp:
2876 (WebCore::XMLHttpRequest::XMLHttpRequest):
2877 * xml/XMLHttpRequest.h:
2878 (WebCore::XMLHttpRequest::create):
2879 * xml/XMLSerializer.h:
2880 (WebCore::XMLSerializer::create):
2881 (WebCore::XMLSerializer::XMLSerializer):
2882 * xml/XPathEvaluator.cpp:
2883 (WebCore::XPathEvaluator::createNSResolver):
2884 * xml/XPathEvaluator.h:
2885 (WebCore::XPathEvaluator::create):
2886 (WebCore::XPathEvaluator::XPathEvaluator):
2887 * xml/XPathExpression.cpp:
2888 (WebCore::XPathExpression::createExpression):
2889 (WebCore::XPathExpression::evaluate):
2890 * xml/XPathExpression.h:
2891 (WebCore::XPathExpression::create):
2892 (WebCore::XPathExpression::XPathExpression):
2893 * xml/XPathNSResolver.h:
2894 * xml/XPathResult.cpp:
2895 (WebCore::XPathResult::XPathResult):
2896 * xml/XPathResult.h:
2897 (WebCore::XPathResult::create):
2898 * xml/XPathValue.cpp:
2899 (WebCore::XPath::Value::modifiableNodeSet):
2901 (WebCore::XPath::ValueData::create):
2902 (WebCore::XPath::ValueData::ValueData):
2903 (WebCore::XPath::Value::Value):
2904 * xml/XSLTProcessor.h:
2905 (WebCore::XSLTProcessor::create):
2906 (WebCore::XSLTProcessor::XSLTProcessor):
2908 2008-02-19 Darin Adler <darin@apple.com>
2912 - Trimmed down TextStream and weaned it from DeprecatedString.
2914 * page/mac/WebCoreFrameBridge.mm:
2915 (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]):
2916 Removed now-unneeded call to getNSString.
2918 * platform/text/TextStream.cpp: Removed unused functions.
2919 Use snprintf instead of sprintf, for better security.
2920 (WebCore::TextStream::release): Added.
2921 * platform/text/TextStream.h: Removed lots of unneeded stuff.
2923 * rendering/RenderTreeAsText.cpp:
2924 (WebCore::externalRepresentation): Changed to use String instead
2925 of DeprecatedString.
2926 * rendering/RenderTreeAsText.h: Ditto.
2928 * rendering/SVGRenderTreeAsText.cpp:
2929 (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl.
2930 (WebCore::write): Ditto.
2931 (WebCore::writeRenderResources): Ditto.
2933 2008-02-19 Justin Garcia <justin.garcia@apple.com>
2935 Reviewed by Darin Adler.
2937 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
2939 This brings performance on the phone back to old levels. Andre and I are doing
2940 some formal testing to see exactly where we stand.
2943 (WebCore::enclosingBlockIgnoringEditability): Added. This is enclosingBlock
2944 without the expensive editability checks. upstream and downstream can avoid
2945 those because they do their own editability checking.
2946 (WebCore::Position::upstream):
2947 (WebCore::Position::downstream):
2949 2008-02-19 Chris Fleizach <cfleizach@apple.com>
2953 <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute
2955 * bridge/mac/WebCoreAXObject.mm:
2956 (-[WebCoreAXObject linkedUIElement]):
2957 Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM).
2959 (-[WebCoreAXObject accessibilityAttributeNames]):
2960 (-[WebCoreAXObject accessibilityAttributeValue:]):
2961 Support NSAccessibilityLinkedUIElementsAttribute.
2963 2008-02-19 Darin Adler <darin@apple.com>
2967 - Removed old debugging aids, Node::dump, RenderObject::dump, and
2968 RenderObject::information, that used DeprecatedString.
2970 * dom/CharacterData.cpp: Removed override of Node::dump.
2971 * dom/CharacterData.h: Ditto.
2972 * dom/Element.cpp: Ditto.
2973 * dom/Element.h: Ditto.
2974 * dom/EventTargetNode.cpp: Ditto.
2975 * dom/EventTargetNode.h: Ditto.
2976 * dom/Node.cpp: Removed Node::dump.
2977 * dom/Node.h: Ditto.
2979 * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
2980 * rendering/RenderBlock.h: Ditto.
2981 * rendering/RenderFrameSet.cpp: Ditto.
2982 * rendering/RenderFrameSet.h: Ditto.
2983 * rendering/RenderObject.cpp: Removed RenderObject::dump and
2984 RenderObject::information.
2985 * rendering/RenderObject.h: Ditto.
2986 * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
2987 * rendering/RenderTable.h: Ditto.
2988 * rendering/RenderTableCell.cpp: Ditto.
2989 * rendering/RenderTableCell.h: Ditto.
2990 * rendering/RenderTableCol.cpp: Ditto.
2991 * rendering/RenderTableCol.h: Ditto.
2992 * rendering/RenderTableSection.cpp: Ditto.
2993 * rendering/RenderTableSection.h: Ditto.
2995 * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
2996 and added forward declarations as appropriate.
2998 * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
2999 * svg/graphics/SVGResourceClipper.cpp: And here.
3000 * svg/graphics/SVGResourceFilter.cpp: Ditto.
3001 * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
3002 * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
3003 * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
3004 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
3005 * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
3006 * svg/graphics/filters/SVGFEImage.cpp: Ditto.
3007 * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
3008 * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
3009 * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
3010 * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
3011 * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
3012 * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
3014 2008-02-19 Beth Dakin <bdakin@apple.com>
3018 Fix for <rdar://problem/5729674> Seed: Crash in
3019 RenderButton::setStyle at http://www.dinorpg.com
3021 Inputs should not honor first-letter.
3023 * rendering/RenderBlock.cpp:
3024 (WebCore::RenderBlock::updateFirstLetter):
3026 2008-02-19 Dan Bernstein <mitz@apple.com>
3028 Reviewed by Darin Adler.
3030 - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
3032 Test: fast/text/wbr-styled.html
3034 Changed RenderWordBreak to inherit from RenderText instead of
3037 * rendering/RenderBlock.cpp:
3038 (WebCore::RenderBlock::calcInlinePrefWidths):
3039 * rendering/RenderFlow.h:
3040 * rendering/RenderText.cpp:
3041 (WebCore::RenderText::renderName):
3042 (WebCore::RenderText::isTextFragment):
3043 (WebCore::RenderText::isWordBreak):
3044 * rendering/RenderText.h:
3045 * rendering/RenderWordBreak.cpp:
3046 (WebCore::RenderWordBreak::RenderWordBreak):
3047 * rendering/RenderWordBreak.h:
3048 * rendering/bidi.cpp:
3049 (WebCore::RenderBlock::findNextLineBreak):
3051 2008-02-19 Anders Carlsson <andersca@apple.com>
3056 * loader/mac/LoaderNSURLExtras.h:
3057 * loader/mac/LoaderNSURLExtras.m:
3058 Move unused functions to WebKit (where they are used)
3060 (vectorContainsString):
3061 Use const references.
3063 * platform/mac/WebCoreSystemInterface.h:
3064 * platform/mac/WebCoreSystemInterface.mm:
3065 Remove wkNSURLProtocolClassForReqest.
3067 2008-02-19 Justin Garcia <justin.garcia@apple.com>
3069 Reviewed by Darin Adler.
3071 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore
3073 These changes bring deleting performance back to old levels on the phone
3074 except for deleting the first space to the right of a word, which we are
3078 (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining
3079 if we have left the original enclosing block or entered a new one, and avoid
3080 rootEditableElement for determining if we have changed editability. These
3081 operations are expensive.
3082 (WebCore::Position::downstream): Ditto.
3084 2008-02-19 Darin Adler <darin@apple.com>
3086 Rubber stamped by Anders.
3088 - removed explicit initialization to 1 for RefCounted; that's now the default
3090 * loader/ResourceLoader.cpp:
3091 (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer.
3092 * platform/network/ResourceHandle.cpp:
3093 (WebCore::ResourceHandle::ResourceHandle): Ditto.
3094 * platform/text/StringImpl.cpp:
3095 (WebCore::StringImpl::StringImpl): Ditto.
3097 2008-02-18 Anders Carlsson <andersca@apple.com>
3101 Make ResourceLoader and ResourceHandle start out with a refcount of 1.
3103 * loader/MainResourceLoader.cpp:
3104 (WebCore::MainResourceLoader::create):
3105 * loader/NetscapePlugInStreamLoader.cpp:
3106 (WebCore::NetscapePlugInStreamLoader::create):
3107 * loader/ResourceLoader.cpp:
3108 (WebCore::ResourceLoader::ResourceLoader):
3109 * loader/SubresourceLoader.cpp:
3110 (WebCore::SubresourceLoader::create):
3111 * platform/network/ResourceHandle.cpp:
3112 (WebCore::ResourceHandle::ResourceHandle):
3113 (WebCore::ResourceHandle::create):
3115 2008-02-19 Alp Toker <alp@atoker.com>
3117 Reviewed by Mark Rowe.
3119 http://bugs.webkit.org/show_bug.cgi?id=16863
3120 [GTK] tab focusing doesn't work
3122 GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
3125 Use GDK_META_MASK where available, otherwise do not support the meta
3126 key. This matches the behaviour of other applications.
3128 Also add a comment noting that the platform event constructors need to
3129 be kept in sync (it's not obvious that there are multiple places that
3130 check the key state).
3132 * platform/gtk/KeyEventGtk.cpp:
3133 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3134 * platform/gtk/MouseEventGtk.cpp:
3135 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3136 * platform/gtk/WheelEventGtk.cpp:
3137 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3139 2008-02-18 Brady Eidson <beidson@apple.com>
3141 Reviewed by Sam Weinig's white rhino tusk stamp
3143 SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase
3145 * platform/sql/SQLiteTransaction.cpp:
3146 (WebCore::SQLiteTransaction::stop):
3148 2008-02-18 Brady Eidson <beidson@apple.com>
3152 Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released
3154 Test: platform/mac/plugins/webScriptObject-exception-deadlock.html
3156 * bindings/objc/WebScriptObject.mm:
3157 (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key]; // defaults to throwing an exception`
3158 says it all - it throws an exception. This method also happens to hold the JSLock. Problematically, when the exeception
3159 is thrown and the method exited, the JSLock is never released. Fix that without otherwise changing behavior by holding the
3160 JSLock in two individual scopes - Right before the exception and right after.
3162 2008-02-18 Darin Adler <darin@apple.com>
3166 - reduce use of DeprecatedString and memory allocations in processing of CSS
3167 - remove unnecessary double -> float -> double trip in the CSS parser
3168 - cleaned up names and structure in CSS grammar
3170 * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp
3171 instead, and they now work on ParseString and String objects and don't require the caller
3172 to put the string into a char*. Gave members of the %union more sensible names, removed
3173 duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving
3175 * css/CSSParser.cpp:
3176 (WebCore::equalIgnoringCase): Added.
3177 (WebCore::hasPrefix): Added.
3178 (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID,
3179 which obviates the need to call lower() and utf8() or to allocate memory at all. Also
3180 used equalIgnoringCase rather than putting the value into a String just to compare it.
3181 (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change
3182 along with the CSSGrammar.y change, removes the double -> float -> double round trip, and
3183 affects the result of one layout test.
3184 (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but
3185 without allocating any memory.
3186 (WebCore::cssValueKeywordID): Ditto.
3187 * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in
3188 CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions.
3190 * css/CSSStyleDeclaration.cpp:
3191 (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID.
3192 (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto.
3193 (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto.
3194 (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto.
3195 (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto.
3196 (WebCore::CSSStyleDeclaration::setProperty): Ditto.
3197 (WebCore::CSSStyleDeclaration::removeProperty): Ditto.
3198 (WebCore::CSSStyleDeclaration::isPropertyName): Ditto.
3199 * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate,
3200 and the getPropertyID function declaration along with its associated apology comment.
3202 * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an
3203 enumeration, like properties, since you rarely have any reason to handle all values, but
3204 often have a reason to handle all properties). Renamed the constant for the number of CSS
3205 value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength.
3207 * platform/text/String.cpp:
3208 (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer
3209 rather than a CString.
3211 2008-02-18 Dan Bernstein <mitz@apple.com>
3213 Reviewed by Dave Hyatt.
3215 - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms
3217 Test: fast/css/font-face-multiple-remote-sources.html
3219 * css/CSSFontFace.cpp:
3220 (WebCore::CSSFontFace::fontLoaded):
3221 * css/CSSSegmentedFontFace.cpp:
3222 (WebCore::CSSSegmentedFontFace::fontLoaded):
3224 2008-02-18 Darin Adler <darin@apple.com>
3228 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3229 (WebCore::hasCSSPropertyNamePrefix): Added.
3230 (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster
3231 by using a Vector<UChar> and eliminating all the string operations.
3233 2008-02-18 Stephanie Lewis <slewis@apple.com>
3237 Remove workaround for <rdar://problem/5695848>.
3239 * platform/network/cf/ResourceResponseCFNet.cpp:
3240 (WebCore::ResourceResponse::doUpdateResourceResponse):
3242 2008-02-18 Samuel Weinig <sam@webkit.org>
3244 Reviewed by Geoff Garen.
3246 Fix for http://bugs.webkit.org/show_bug.cgi?id=17419
3247 Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode
3249 * bindings/js/kjs_proxy.cpp:
3250 (WebCore::KJSProxy::initScript):
3252 2008-02-18 Alp Toker <alp@atoker.com>
3254 Reviewed by Mark Rowe.
3256 http://bugs.webkit.org/show_bug.cgi?id=17381
3257 [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2)
3259 This patch resolves the regression for the GTK+ port.
3261 * platform/network/curl/ResourceHandleManager.cpp:
3262 (WebCore::parseDataUrl):
3264 2008-02-18 Darin Adler <darin@apple.com>
3268 * platform/network/win/ResourceHandleWin.cpp:
3269 (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString.
3270 (WebCore::ResourceHandle::start): Ditto.
3272 2008-02-18 Darin Adler <darin@apple.com>
3276 * platform/network/win/CookieJarWin.cpp:
3277 (WebCore::setCookies): Use String instead of DeprecatedString.
3278 (WebCore::cookies): Ditto.
3280 2008-02-18 Darin Adler <darin@apple.com>
3284 - removed use of DeprecatedString in the Color class
3286 * platform/graphics/Color.cpp:
3287 (WebCore::Color::parseHexColor): Streamlined logic a bit with early returns.
3288 Used toASCIIHexValue a character at a time rather than using toIntStrict
3290 (WebCore::findNamedColor): Added. Uses a fixed-size char buffer to look up
3291 a color using the gperf-generated findColor function. Saves a memory allocation
3292 vs. the old version that called DeprecatedString::latin1().
3293 (WebCore::Color::setNamedColor): Changed to use findNamedColor.
3295 2008-02-18 Darin Adler <darin@apple.com>
3299 * editing/htmlediting.cpp:
3300 (WebCore::stringWithRebalancedWhitespace): Changed to use String instead of
3303 2008-02-18 Darin Adler <darin@apple.com>
3307 * editing/SelectionController.cpp:
3308 (WebCore::SelectionController::debugRenderer): Changed to use String instead of
3311 2008-02-18 Darin Adler <darin@apple.com>
3313 Reviewed and landed by Sam.
3315 Remove DeprecatedStringList.
3319 * WebCore.vcproj/WebCore.vcproj:
3320 * WebCore.xcodeproj/project.pbxproj:
3321 * WebCoreSources.bkl:
3322 * editing/markup.cpp:
3323 * platform/DeprecatedStringList.cpp: Removed.
3324 * platform/DeprecatedStringList.h: Removed.
3325 * platform/mac/DeprecatedStringListMac.mm: Removed.
3327 2008-02-18 Darin Adler <darin@apple.com>
3331 * css/CSSPrimitiveValueMappings.h: Add default cases to all the switch statements.
3332 This will ease the way some day if we decide to use an enum instead of int; otherwise
3333 we'll have a ton of "unhandled enum value" warnings here.
3335 2008-02-18 Alp Toker <alp@atoker.com>
3337 Build fix for GTK+ < 2.10. Fall back to simple text clipboard copy
3338 with older GTK+ versions for now.
3340 * platform/gtk/PasteboardGtk.cpp:
3341 (WebCore::Pasteboard::writeSelection):
3343 2008-02-18 Darin Adler <darin@apple.com>
3347 * WebCore.base.exp: Export a couple of WebCore::String functions we plan to use
3348 in the future in WebKit.
3350 2008-02-18 Darin Adler <darin@apple.com>
3354 * DerivedSources.make: Added the scripts to the ENABLE_SVG versions of the rules
3355 for CSSPropertyNames.h and CSSValueKeywords.h. Somehow that got left out, so the
3356 files would not be regenerated if the scripts were changed (but would if SVG was
3359 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
3363 * platform/KURL.h: (WebCore::KURL::operator const String&): Added, to avoid unexpected
3364 conversion via UString (as in bug 17418).
3366 2008-02-18 Jon Honeycutt <jhoneycutt@apple.com>
3370 <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort
3371 slow script Flash 9 dialog at http://www.kidzui.com
3373 When navigating to a new page, we stop all outstanding PluginStreams.
3374 Flash hangs in the call to NPP_URLNotify. It eventually displays the
3375 "slow script" dialog, which relinquishes control to the system. While
3376 this dialog is running, the request we are in the process of cancelling
3377 completes, and we re-enter Flash to deliver the data. When the dialog
3378 is dismissed, the internal state of Flash has changed, and Flash
3379 crashes with a null dereference.
3381 To work around this, we can defer loading before entering plug-in code,
3382 so that even if a plug-in yields to the system, we won't get callbacks
3383 while we're handling a callback.
3385 * plugins/PluginStream.cpp:
3386 (WebCore::PluginStream::startStream): Defers loads while calling into
3388 (WebCore::PluginStream::destroyStream): Same.
3389 (WebCore::PluginStream::deliverData): Same.
3390 (WebCore::PluginStream::didFail): Protect 'this' from deletion by
3391 destroyStream. Null out m_loader only after destroyStream returns.
3392 (WebCore::PluginStream::didFinishLoading): Same.
3394 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
3398 http://bugs.webkit.org/show_bug.cgi?id=17418
3399 REGRESSION: Assertion failure dragging image (JSLock::lockCount() > 0)
3401 * platform/win/ClipboardWin.cpp:
3402 (WebCore::ClipboardWin::declareAndWriteDragImage): Explicitly convert from KURL to String,
3403 as an implicit conversion uses UString and thus needs a JSLock.
3405 2008-02-17 Sam Weinig <sam@webkit.org>
3409 * loader/FrameLoader.cpp:
3410 (WebCore::FrameLoader::changeLocation):
3412 2008-02-17 Sam Weinig <sam@webkit.org>
3416 * WebCore.xcodeproj/project.pbxproj:
3418 2008-02-17 Alp Toker <alp@atoker.com>
3420 Attempt to fix the Wx build (has been broken all weekend).
3422 Stub out some graphics functions.
3424 * platform/graphics/wx/GraphicsContextWx.cpp:
3425 (WebCore::GraphicsContext::beginPath):
3426 (WebCore::GraphicsContext::addPath):
3427 * platform/graphics/wx/PathWx.cpp:
3428 (WebCore::Path::isEmpty):
3430 2008-02-17 Julien Chaffraix <julien.chaffraix@gmail.com>
3432 Reviewed by Alexey Proskuryakov.
3434 http://bugs.webkit.org/show_bug.cgi?id=16989
3435 bug 16989 : Add send() flag checks in XmlHttpRequest
3437 Splitted XmlHttpRequest::abort into abort (called from JavaScript) and internalAbort that
3438 perform the cancellation and is called mainly from internal methods.
3440 Tests: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
3441 http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html
3442 http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html
3444 * xml/XMLHttpRequest.cpp:
3445 (WebCore::XMLHttpRequest::open): Now call internalAbort() and moved readyState change into method
3446 (WebCore::XMLHttpRequest::send): Added m_loader check
3447 (WebCore::XMLHttpRequest::abort): Now update readyState and clear the request headers as specified
3450 (WebCore::XMLHttpRequest::internalAbort): Perform cancellation internal operations (no readyState update)
3451 (WebCore::XMLHttpRequest::setRequestHeader): Added m_loader check
3453 (WebCore::XMLHttpRequest::processSyncLoadResults): Now call internalAbort() instead of abort()
3454 (WebCore::XMLHttpRequest::willSendRequest): Ditto
3455 (WebCore::XMLHttpRequest::cancelRequests): Ditto
3456 (WebCore::XMLHttpRequest::detachRequests): Ditto
3457 * xml/XMLHttpRequest.h: Added the private internalAbort method
3459 2008-02-17 Sam Weinig <sam@webkit.org>
3461 Reviewed by Dan Bernstein.
3463 Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
3464 document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
3466 - Updated fast/events/event-instanceof.html to test document.createEvent("MessageEvent").
3468 * DerivedSources.make:
3469 Generate Objective-C binding for DOMProgressEvent which was missing.
3471 * WebCore.xcodeproj/project.pbxproj:
3472 Add missing DOMProgressEvent files to the project.
3474 * bindings/js/JSEventCustom.cpp:
3476 Clean up and add case for SVGZoomEvent that was missing.
3478 * bindings/objc/DOMEvents.mm:
3479 (+[DOMEvent _wrapEvent:WebCore::]):
3480 Clean up and add cases for ProgressEvent and MessageEvent that were missing.
3483 (WebCore::Document::createEvent):
3484 Add case for MessageEvent.
3486 2008-02-17 Adam Treat <treat@kde.org>
3488 Reviewed by Eric Seidel.
3490 http://bugs.webkit.org/show_bug.cgi?id=17008
3491 Meta refresh does not work with cache turned off
3493 Fix for issue noticed on http://adserver.vivox.com/2
3495 * loader/FrameLoader.cpp:
3496 (WebCore::FrameLoader::changeLocation):
3498 2008-02-17 Alp Toker <alp@atoker.com>
3500 Reviewed by Sam Weinig.
3502 Fix for change made in r30355. Issue noticed by İsmail Dönmez.
3504 Verify SSL certs by default, but allow checks to be disabled with an
3505 environment variable (WEBKIT_IGNORE_SSL_ERRORS) for now.
3507 * platform/network/curl/ResourceHandleManager.cpp:
3508 (WebCore::ResourceHandleManager::startJob):
3510 2008-02-17 Bin Chen <binary.chen@gmail.com>
3512 Reviewed by Alp Toker.
3514 http://bugs.webkit.org/show_bug.cgi?id=17404
3515 Bug 17404: curl certification problem
3517 Disable SSL cert verification until we have a way of distributing
3518 certs and/or reporting SSL errors to the user.
3520 * platform/network/curl/ResourceHandleManager.cpp:
3521 (WebCore::ResourceHandleManager::startJob):
3523 2008-02-17 Alp Toker <alp@atoker.com>
3525 Reviewed by Mark Rowe.
3527 DevHelp fails to load local files; URL truncated by one character.
3529 Fix a file:// URL regression introduced in KURL.cpp r30243.
3531 * platform/KURL.cpp:
3532 (WebCore::KURL::KURL):
3534 2008-02-17 Dan Bernstein <mitz@apple.com>
3536 Reviewed by Darin Adler.
3538 - fix http://bugs.webkit.org/show_bug.cgi?id=17033
3539 <rdar://problem/5709315> REGRESSION: Really long <option> causes unnecessary page scroll bars to accommodate content
3541 Test: fast/forms/control-clip-overflow.html
3543 * rendering/RenderFlow.cpp:
3544 (WebCore::RenderFlow::lowestPosition): Account for control clipping.
3545 (WebCore::RenderFlow::rightmostPosition): Ditto.
3546 (WebCore::RenderFlow::leftmostPosition): Ditto.
3548 2008-02-16 Oliver Hunt <oliver@apple.com>
3552 Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
3554 Use cross-platform code to determine the dirty rects for
3555 fill and stroke operations
3557 * html/CanvasRenderingContext2D.cpp:
3558 (WebCore::CanvasRenderingContext2D::fill):
3559 (WebCore::CanvasRenderingContext2D::stroke):
3560 Added a FIXME as code inspection shows a trivial under-painting
3561 bug, although we currently ignore dirty rect tracking on canvas
3562 and repaint the whole thing anyway.
3563 (WebCore::CanvasRenderingContext2D::fillRect):
3565 2008-02-16 Sam Weinig <sam@webkit.org>
3567 Reviewed by Darin Adler.
3569 Take another step in the direction of getting rid of DeprecatedString
3570 by moving all the to{NumericType} off of it.
3572 - Create free functions that take a UChar* buffer and length to do
3573 the string-to-number conversions. This allows us to avoid two allocations
3574 if we don't already have a String and is consistent with the design we would
3576 - Since the toInt (and family) functions on DeprecatedString were slightly
3577 different than the ones on String (they didn't allow trailing garbage),
3578 an extra set of 'Strict' toInt functions were added that have this behavior.
3580 * platform/graphics/Color.cpp: