1 2008-02-29 Brady Eidson <beidson@apple.com>
5 <rdar://problem/5771227> - Incorrect password handling text in credential sheet
7 * platform/network/ProtectionSpace.cpp:
8 (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to
9 get "secureness" of the auth challenge instead of figuring it out ourselves
11 2008-02-29 Brent Fulgham <bfulgham@gmail.com>
13 http://bugs.webkit.org/show_bug.cgi?id=17483
14 Implement scrollbars on Windows (Cairo)
16 Reviewed by Adam Roben.
18 * platform/win/PlatfromScrollBarWin.cpp: Duplicate implementation
19 from PlatformScrollBarWinSafari.cpp, then modify to use the
20 native Windows theme engine. Use SOFT_LINK. Use platform
21 'GetSystemMetrics' call to decide size of scrollbars and buttons.
23 2008-02-29 Adam Roben <aroben@apple.com>
27 * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path
28 and the post-build event, and add page/win to each. Also let VS have
29 its way with the order of the files.
30 * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673
31 * page/win/GlobalHistoryWin.cpp: Copied from
32 bridge/win/GlobalHistoryWin.cpp in r30673
34 2008-02-29 Anders Carlsson <andersca@apple.com>
38 * WebCore.xcodeproj/project.pbxproj:
40 2008-02-29 Mark Rowe <mrowe@apple.com>
42 Reviewed by Tim Hatcher.
46 * platform/graphics/mac/SimpleFontDataMac.mm:
47 (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as
48 FMGetATSFontRefFromFont is not available.
50 2008-02-29 Mark Rowe <mrowe@apple.com>
52 Build fix. Only declare pathFromFont in debug builds as it is unused in release builds.
54 * platform/graphics/mac/SimpleFontDataMac.mm:
56 2008-02-29 Anders Carlsson <andersca@apple.com>
60 Copy the remaining files in bridge/ over to page/
62 * WebCore.vcproj/WebCore.vcproj:
63 * WebCore.xcodeproj/project.pbxproj:
65 * bridge/AXObjectCache.h: Removed.
66 * bridge/EditorClient.h: Removed.
67 * bridge/GlobalHistory.h: Removed.
68 * bridge/win: Removed.
69 * bridge/win/FrameCGWin.cpp: Removed.
70 * bridge/win/FrameCairoWin.cpp: Removed.
71 * bridge/win/FrameWin.cpp: Removed.
72 * bridge/win/FrameWin.h: Removed.
73 * bridge/win/GlobalHistoryWin.cpp: Removed.
74 * bridge/win/PageWin.cpp: Removed.
75 * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h.
76 * page/EditorClient.h: Copied from bridge/EditorClient.h.
77 * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h.
78 * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp.
79 * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp.
80 * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp.
81 * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h.
83 2008-02-29 Robert Blaut <webkit@blaut.biz>
85 Reviewed by Darin Adler.
87 - fix http://bugs.webkit.org/show_bug.cgi?id=17532
88 Webkit imports styles from <link> element which doesn't have rel=stylesheet defined
90 Test: fast/html/link-rel-stylesheet.html
92 * html/HTMLLinkElement.cpp:
93 (WebCore::HTMLLinkElement::process):
95 2008-02-29 Mark Rowe <mrowe@apple.com>
97 Reviewed by Anders Carlsson.
99 Replace use of WKPathFromFont with implementation in terms of public API.
101 * WebCore.base.exp: Remove unused symbol.
102 * platform/graphics/mac/SimpleFontDataMac.mm:
103 (WebCore::initFontData):
104 (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
105 (WebCore::SimpleFontData::platformInit):
106 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
107 * platform/mac/WebCoreSystemInterface.mm: Ditto.
109 2008-02-29 Anders Carlsson <andersca@apple.com>
113 Move a bunch of files from bridge/mac to page/mac.
115 * WebCore.xcodeproj/project.pbxproj:
116 * bridge/mac: Removed.
117 * bridge/mac/AXObjectCacheMac.mm: Removed.
118 * bridge/mac/GlobalHistoryMac.mm: Removed.
119 * bridge/mac/WebCoreAXObject.h: Removed.
120 * bridge/mac/WebCoreAXObject.mm: Removed.
121 * bridge/mac/WebCoreScriptDebugger.h: Removed.
122 * bridge/mac/WebCoreScriptDebugger.mm: Removed.
123 * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
124 * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
125 * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
126 * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
127 * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
128 * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
130 2008-02-29 David Hyatt <hyatt@apple.com>
132 Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
133 guard malloc. Pass along the style selector so it can be accessed, since it has not yet
134 been assigned into the document's member variable.
138 * css/CSSStyleSelector.cpp:
139 (WebCore::CSSRuleSet::addRulesFromSheet):
140 * css/MediaQueryEvaluator.cpp:
141 (WebCore::MediaQueryEvaluator::eval):
142 * css/MediaQueryEvaluator.h:
144 2008-02-29 David Hyatt <hyatt@apple.com>
146 <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
148 Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
149 Be more precise in terms of what nodes we mark dirty.
153 * css/CSSStyleSelector.cpp:
154 (WebCore::CSSStyleSelector::checkSelector):
156 (WebCore::Element::recalcStyle):
157 (WebCore::checkForSiblingStyleChanges):
158 (WebCore::Element::childrenChanged):
159 (WebCore::Element::finishParsingChildren):
160 * rendering/RenderStyle.cpp:
161 (WebCore::RenderStyle::RenderStyle):
162 * rendering/RenderStyle.h:
163 (WebCore::RenderStyle::childrenAffectedByPositionalRules):
164 (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
165 (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
167 2008-02-29 Alexey Proskuryakov <ap@webkit.org>
171 <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
173 Test: http/tests/xmlhttprequest/status-after-abort.html
175 * xml/XMLHttpRequest.cpp:
176 (WebCore::XMLHttpRequest::getStatus):
177 (WebCore::XMLHttpRequest::getStatusText):
178 Changed to match Firefox more closely (IE just raises an exception in most of those cases).
180 2008-02-29 Dan Bernstein <mitz@apple.com>
182 Reviewed by Darin Adler.
184 - fix a bug where explicit embedding past the end of a line could
185 affect text that line
187 Test: fast/text/embed-at-end-of-pre-wrap-line.html
189 * rendering/bidi.cpp:
190 (WebCore::RenderBlock::skipWhitespace): Removed calls to
191 setAdjustEmbedding().
192 (WebCore::RenderBlock::findNextLineBreak): Added calls to
193 setAdjustEmbedding() around skipWhitespace() only where needed.
195 2008-02-29 Mark Rowe <mrowe@apple.com>
197 Reviewed by Oliver Hunt.
199 Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
201 * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
202 * platform/mac/WebCoreSystemInterface.mm: Ditto.
203 * platform/network/mac/ResourceRequestMac.mm:
204 (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
205 * WebCore.Tiger.exp: Move Tiger-only symbol here.
208 2008-02-29 Mark Rowe <mrowe@apple.com>
210 Rubber-stamped by Eric Seidel.
212 Remove unneeded includes of WebCoreSystemInterface.h.
214 * loader/mac/LoaderNSURLExtras.m:
215 * page/mac/FrameMac.mm:
216 * page/mac/WebCoreFrameBridge.mm:
217 * platform/MIMETypeRegistry.cpp:
218 * platform/graphics/mac/ImageMac.mm:
219 * platform/mac/PasteboardMac.mm:
221 2008-02-29 Mark Rowe <mrowe@apple.com>
223 Reviewed by Oliver Hunt and Oliver Hunt.
225 <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
227 * platform/mac/SystemTimeMac.cpp: Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
228 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
229 * platform/mac/WebCoreSystemInterface.mm: Ditto.
230 * WebCore.base.exp: Ditto.
232 2008-02-28 Mark Rowe <mrowe@apple.com>
234 Reviewed by Dave Hyatt.
236 Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
238 * DerivedSources.make: Add Tiger-only symbols to the export file when running on Tiger.
239 * WebCore.Tiger.exp: Added. Move Tiger-only symbol here from WebCore.base.exp.
241 * platform/graphics/mac/SimpleFontDataMac.mm:
242 (WebCore::SimpleFontData::platformInit): Use Leopard APIs when building on Leopard.
243 * platform/mac/WebCoreSystemInterface.h: Don't declare wkGetFontMetrics on Leopard as it is unused.
244 * platform/mac/WebCoreSystemInterface.mm: Ditto.
246 2008-02-28 Matt Lilek <webkit@mattlilek.com>
248 Reviewed by Tim Hatcher.
250 Bug 16535: Stylesheets loaded with @import are not editable
251 http://bugs.webkit.org/show_bug.cgi?id=16535
252 <rdar://problem/5712899>
254 Sheets loaded using @import were incorrectly being flagged as non-editable
255 user agent sheets because their parent sheet doesn't have an ownerNode. We now
256 check to make sure sheets also don't have a href before restricting their editability.
258 * page/inspector/StylesSidebarPane.js:
260 2008-02-28 Rodney Dawes <dobey@wayofthemonkey.com>
262 Reviewed by Adam Roben.
264 Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
265 Add PluginPackage.cpp to build configurations.
266 Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
267 Use cross-platform pathGetFilename method.
268 Remove platform-specific code from shared PluginPackage implementation.
269 Remove shared code from PluginPackageWin.cpp.
273 * WebCoreSources.bkl:
274 * WebCore.vcproj/WebCore.vcproj:
275 * platform/gtk/TemporaryLinkStubs.cpp:
276 * platform/qt/TemporaryLinkStubs.cpp:
277 * platform/wx/TemporaryLinkStubs.cpp:
278 * plugins/PluginPackage.cpp:
279 * plugins/win/PluginPackageWin.cpp:
281 2008-02-28 Justin Garcia <justin.garcia@apple.com>
283 Reviewed by Darin Adler.
285 <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
287 Add a second style span at copy time to hold document default styles. This helps us
288 differentiate between those and user applied styles at paste time, where we'll want
289 to let Mail's Paste As Quotation blockquote override document default styles, but
292 * css/CSSComputedStyleDeclaration.cpp:
293 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used
294 for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that
295 are thick | medium | thin | <length>. Before, there was a mismatch between the unit
296 type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for
297 an element and that element's inlineStyleDecl(), causing identical values to always appear
299 * editing/ReplaceSelectionCommand.cpp:
300 (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed. Don't just change
301 the class to an empty string, completely remove it, it's no longer needed.
302 (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
303 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
304 Added, replaces removeRedundantStyles.
305 We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
306 unused code and renamed the function.
307 There won't be more than two style spans that we need to consider, the one with the
308 source document's default styles and styles on the commonAncestor of the copied Range,
309 so don't look for more than two.
310 Let elements that wrap the incoming fragment override the source document's styles.
311 (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
312 and call the renamed handleStyleSpans.
313 * editing/ReplaceSelectionCommand.h:
314 * editing/markup.cpp:
315 (WebCore::removeDefaultStyles): Added. Don't add document defaults to the style span
316 that holds user applied styles, since they'll be added to their own style span.
317 (WebCore::createMarkup):
318 Add a second style span that holds just the document defaults. This lets us differentiate
319 between those and user applied styles at paste time.
320 Mail blockquotes are just another type of special element, moved their handling there. This
321 also lets paste code make assumptions about the position of the two style spans (they are
322 *always* parent-child).
324 2008-02-28 Brent Fulgham <bfulgham@gmail.com>
326 http://bugs.webkit.org/show_bug.cgi?id=17576
327 Modify RenderThemeWin to use SOFT_LINK
329 Reviewed by Adam Roben.
331 * rendering/RenderThemeWin.h: Remove unneeded library handle
332 * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
333 rather than hand-coded load library calls.
335 2008-02-28 Dan Bernstein <mitz@apple.com>
337 Reviewed by Darin Adler.
339 - fix http://bugs.webkit.org/show_bug.cgi?id=17590
340 ASSERTION FAILED: subject in jsRegExpExecute()
342 * page/mac/FrameMac.mm:
343 (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
344 case the element name is empty.
346 2008-02-28 Justin Garcia <justin.garcia@apple.com>
348 Reviewed by Dan Bernstein
350 Small editing speed up.
353 (WebCore::Position::upstream): Don't check for a change in editability
354 if the current node hasn't changed.
355 (WebCore::Position::downstream): Ditto.
357 2008-02-27 Dan Bernstein <mitz@apple.com>
359 Reviewed by John Sullivan.
361 - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
363 Test: fast/text/soft-hyphen-2.html
365 * rendering/bidi.cpp:
366 (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
367 that if there are two midpoints at the given position, only the last one
370 2008-02-27 Dan Bernstein <mitz@apple.com>
372 Reviewed by Darin Adler.
374 - make centered text in right-to-left blocks spill over to the left
376 Test: fast/text/align-center-rtl-spill.html
378 * rendering/bidi.cpp:
379 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
381 2008-02-27 Dan Bernstein <mitz@apple.com>
383 Reviewed by Darin Adler.
385 - more bidi.cpp cleanup
387 * platform/text/BidiResolver.h:
388 (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
389 (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
391 (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
393 (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
394 destroy(), avoiding the need to specialize this method in BidiState.
395 * rendering/bidi.cpp:
396 (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
397 (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
398 (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
399 (WebCore::RenderBlock::createLineBoxes):
400 (WebCore::RenderBlock::constructLine):
401 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
402 (WebCore::RenderBlock::computeVerticalPositionsForLine):
403 (WebCore::buildCompactRuns):
404 (WebCore::RenderBlock::layoutInlineChildren):
405 (WebCore::RenderBlock::determineStartPosition):
406 (WebCore::RenderBlock::determineEndPosition):
407 (WebCore::RenderBlock::matchedEndLine):
408 (WebCore::skipNonBreakingSpace):
409 (WebCore::RenderBlock::skipWhitespace):
410 (WebCore::shouldSkipWhitespaceAfterStartObject):
412 (WebCore::BidiRun): Added m_ prefixes to several member variables.
414 2008-02-27 Sam Weinig <sam@webkit.org>
418 Fix for <rdar://problem/5768769>
420 - Don't allow cross-origin calls using window.functionName.call(otherFrame)
423 * bindings/js/JSLocation.cpp:
424 (WebCore::jsLocationProtoFuncToString): Do same-origin check.
425 * bindings/js/kjs_window.cpp:
426 (KJS::windowProtoFuncAToB): Ditto.
427 (KJS::windowProtoFuncBToA): Ditto.
428 (KJS::windowProtoFuncOpen): Ditto.
429 (KJS::windowProtoFuncClearTimeout): Ditto.
430 * bindings/scripts/CodeGeneratorJS.pm: Ditto.
432 2008-02-27 David Hyatt <hyatt@apple.com>
434 More cleanup in preparation for fixing the HTML5 spec performance regression.
436 Reviewed by Sam Weinig
439 (WebCore::Attr::childrenChanged):
441 * dom/ContainerNode.cpp:
442 (WebCore::ContainerNode::insertBefore):
443 (WebCore::ContainerNode::replaceChild):
444 (WebCore::ContainerNode::removeChild):
445 (WebCore::ContainerNode::removeChildren):
446 (WebCore::ContainerNode::appendChild):
447 (WebCore::ContainerNode::addChild):
448 (WebCore::ContainerNode::childrenChanged):
449 * dom/ContainerNode.h:
451 (WebCore::Document::childrenChanged):
454 (WebCore::Element::childrenChanged):
457 (WebCore::Node::childrenChanged):
458 * html/HTMLObjectElement.cpp:
459 (WebCore::HTMLObjectElement::childrenChanged):
460 * html/HTMLObjectElement.h:
461 * html/HTMLOptGroupElement.cpp:
462 (WebCore::HTMLOptGroupElement::childrenChanged):
463 * html/HTMLOptGroupElement.h:
464 * html/HTMLOptionElement.cpp:
465 (WebCore::HTMLOptionElement::childrenChanged):
466 * html/HTMLOptionElement.h:
467 * html/HTMLScriptElement.cpp:
468 (WebCore::HTMLScriptElement::childrenChanged):
469 * html/HTMLScriptElement.h:
470 * html/HTMLSelectElement.cpp:
471 (WebCore::HTMLSelectElement::childrenChanged):
472 * html/HTMLSelectElement.h:
473 * html/HTMLStyleElement.cpp:
474 (WebCore::HTMLStyleElement::childrenChanged):
475 * html/HTMLStyleElement.h:
476 * html/HTMLTextAreaElement.cpp:
477 (WebCore::HTMLTextAreaElement::childrenChanged):
478 * html/HTMLTextAreaElement.h:
479 * html/HTMLTitleElement.cpp:
480 (WebCore::HTMLTitleElement::childrenChanged):
481 * html/HTMLTitleElement.h:
482 * svg/SVGClipPathElement.cpp:
483 (WebCore::SVGClipPathElement::childrenChanged):
484 * svg/SVGClipPathElement.h:
485 * svg/SVGDefinitionSrcElement.cpp:
486 (WebCore::SVGDefinitionSrcElement::childrenChanged):
487 * svg/SVGDefinitionSrcElement.h:
488 * svg/SVGFontFaceElement.cpp:
489 (WebCore::SVGFontFaceElement::childrenChanged):
490 * svg/SVGFontFaceElement.h:
491 * svg/SVGFontFaceFormatElement.cpp:
492 (WebCore::SVGFontFaceFormatElement::childrenChanged):
493 * svg/SVGFontFaceFormatElement.h:
494 * svg/SVGFontFaceSrcElement.cpp:
495 (WebCore::SVGFontFaceSrcElement::childrenChanged):
496 * svg/SVGFontFaceSrcElement.h:
497 * svg/SVGFontFaceUriElement.cpp:
498 (WebCore::SVGFontFaceUriElement::childrenChanged):
499 * svg/SVGFontFaceUriElement.h:
500 * svg/SVGGElement.cpp:
501 (WebCore::SVGGElement::childrenChanged):
503 * svg/SVGGradientElement.cpp:
504 (WebCore::SVGGradientElement::childrenChanged):
505 * svg/SVGGradientElement.h:
506 * svg/SVGMarkerElement.cpp:
507 (WebCore::SVGMarkerElement::childrenChanged):
508 * svg/SVGMarkerElement.h:
509 * svg/SVGMaskElement.cpp:
510 (WebCore::SVGMaskElement::childrenChanged):
511 * svg/SVGMaskElement.h:
512 * svg/SVGPatternElement.cpp:
513 (WebCore::SVGPatternElement::childrenChanged):
514 * svg/SVGPatternElement.h:
515 * svg/SVGStyleElement.cpp:
516 (WebCore::SVGStyleElement::childrenChanged):
517 * svg/SVGStyleElement.h:
518 * svg/SVGStyledElement.cpp:
519 (WebCore::SVGStyledElement::childrenChanged):
520 * svg/SVGStyledElement.h:
521 * svg/SVGTitleElement.cpp:
522 (WebCore::SVGTitleElement::childrenChanged):
523 * svg/SVGTitleElement.h:
524 * svg/SVGUseElement.cpp:
525 (WebCore::SVGUseElement::childrenChanged):
526 * svg/SVGUseElement.h:
528 2008-02-27 Julien Chaffraix <julien.chaffraix@gmail.com>
532 http://bugs.webkit.org/show_bug.cgi?id=17481
533 Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
535 Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
537 * xml/XMLHttpRequest.cpp:
538 (WebCore::XMLHttpRequest::open):
540 2008-02-27 Sriram Neelakandan <sriram.neelakandan@gmail.com>
542 Reviewed, tweaked and landed by ap.
544 http://bugs.webkit.org/show_bug.cgi?id=17487
545 HTMLInput mysteriously fails to work if ICU dat file is missing
547 * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
550 2008-02-27 Adam Roben <aroben@apple.com>
552 Windows build fix after r30616
554 * platform/win/ClipboardWin.cpp:
556 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
560 Small style cleanup, and obvious fix: SVGGElement reacted on
561 'clipPathUnits' changes, which is a funny copy&paste error.
563 * svg/SVGGElement.cpp:
564 (WebCore::SVGGElement::parseMappedAttribute):
565 (WebCore::SVGGElement::svgAttributeChanged):
566 (WebCore::SVGGElement::createRenderer):
568 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
572 Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
573 Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
575 * svg/SVGDefsElement.cpp:
576 (WebCore::SVGDefsElement::createRenderer):
577 * svg/SVGDefsElement.h:
578 * svg/SVGDescElement.h:
580 2008-02-26 Antti Koivisto <antti@apple.com>
584 Fix <rdar://problem/5761326>
585 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
587 Generate better code with VS:
588 - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
589 - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
590 - Add a separate version of the function for cases where error messages are not wanted
592 * bindings/js/JSDOMWindowCustom.cpp:
593 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
594 * bindings/js/kjs_window.cpp:
595 (KJS::Window::allowsAccessFrom):
596 (KJS::Window::allowsAccessFromNoErrorMessage):
597 (KJS::Window::allowsAccessFromPrivate):
598 (KJS::Window::crossDomainAccessErrorMessage):
599 * bindings/js/kjs_window.h:
601 2008-02-26 Sam Weinig <sam@webkit.org>
603 Reviewed by Dave Hyatt.
605 - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
609 * WebCore.vcproj/WebCore.vcproj:
610 * WebCore.xcodeproj/project.pbxproj:
611 * WebCoreSources.bkl:
612 * platform/ArrayImpl.cpp: Removed.
613 * platform/ArrayImpl.h: Removed.
614 * platform/DeprecatedArray.h: Removed.
615 * platform/DeprecatedCString.cpp: Removed.
616 * platform/DeprecatedCString.h: Removed.
617 * platform/text/CString.cpp:
618 (WebCore::CString::length):
619 * platform/text/CString.h:
621 2008-02-26 David Hyatt <hyatt@apple.com>
623 Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
625 Reviewed by Sam Weinig
628 (WebCore::Attr::childrenChanged):
629 * dom/ContainerNode.cpp:
630 (WebCore::ContainerNode::insertBefore):
631 (WebCore::ContainerNode::replaceChild):
632 (WebCore::ContainerNode::removeChild):
633 (WebCore::ContainerNode::removeChildren):
634 (WebCore::ContainerNode::appendChild):
635 (WebCore::ContainerNode::addChild):
636 (WebCore::ContainerNode::childrenChanged):
637 * dom/ContainerNode.h:
638 * dom/EventTargetNode.cpp:
639 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
640 * dom/EventTargetNode.h:
641 * dom/NamedAttrMap.cpp:
642 (WebCore::NamedAttrMap::addAttribute):
643 (WebCore::NamedAttrMap::removeAttribute):
645 2008-02-26 Darin Adler <darin@apple.com>
649 - remove use of DeprecatedCString from Windows pasteboard code
651 * platform/win/ClipboardUtilitiesWin.cpp:
652 (WebCore::createGlobalData): Added an overload for Vector<char>.
653 Streamlined the logic a bit.
654 (WebCore::append): Added. Helper functions for appending to a
656 (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
657 of DeprecatedCString. Also simplified the logic a bit and used
658 macros to handle the integer width.
659 (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
660 (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
661 * platform/win/ClipboardUtilitiesWin.h: Update type of return
662 value from markupToCF_HTML. Did a bit of streamlining too.
663 * platform/win/ClipboardWin.cpp:
664 (WebCore::writeURL): Update for above changes.
665 (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
666 (WebCore::ClipboardWin::writeRange): Ditto.
667 * platform/win/PasteboardWin.cpp:
668 (WebCore::Pasteboard::writeSelection): Ditto.
669 (WebCore::Pasteboard::writeURL): Ditto.
671 2008-02-26 Timothy Hatcher <timothy@apple.com>
673 Reviewed by Adam Roben.
675 <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
676 source list does not scroll when item at edge is reached (16572)
678 Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
679 we were using in utilities.js.
681 * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
682 * page/inspector/Resource.js: Ditto.
683 * page/inspector/inspector.js: Ditto.
684 * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
685 of scrollIntoView, so the source line is centered in the view if needed.
686 * page/inspector/utilities.js: Removed scrollToElement().
688 2008-02-26 David Hyatt <hyatt@apple.com>
692 http://bugs.webkit.org/show_bug.cgi?id=17485
694 Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
695 Fixes a regression on huffingtonpost.com.
697 New tests added to fast/inline
699 * rendering/InlineFlowBox.cpp:
700 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
701 (WebCore::InlineFlowBox::placeBoxesVertically):
702 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
703 * rendering/RenderFlow.cpp:
704 (WebCore::RenderFlow::calcMargins):
705 * rendering/RenderFlow.h:
706 * rendering/RenderObject.h:
707 (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
708 (WebCore::RenderObject::hasHorizontalBordersOrPadding):
709 * rendering/bidi.cpp:
710 (WebCore::getBorderPaddingMargin):
711 (WebCore::RenderBlock::layoutInlineChildren):
712 (WebCore::inlineFlowRequiresLineBox):
714 2008-02-26 Sam Weinig <sam@webkit.org>
718 * platform/text/PlatformString.h:
719 (WebCore::reverseFind):
721 2008-02-26 Dan Bernstein <mitz@apple.com>
723 Reviewed by Darin Adler.
725 - fix http://bugs.webkit.org/show_bug.cgi?id=17555
726 <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
728 Test: fast/dynamic/subtree-table-cell-height.html
730 * rendering/RenderObject.cpp:
731 (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
732 height depends on their contents even if the CSS height property is
735 2008-02-25 Sam Weinig <sam@webkit.org>
737 Reviewed by Dan Bernstein.
739 Make the cleanPath function in CSSStyleSelector more efficient by using
742 * css/CSSStyleSelector.cpp:
743 (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
744 of a String. Also remove unnecessary reverseFind call that could be acomplished
746 (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
748 * platform/text/PlatformString.h:
749 (WebCore::find): Make this find generic enough that it can be used for
751 (WebCore::reverseFind): Implement reverseFind so that it can be used
752 for with a UChar* and length.
753 * platform/text/StringImpl.cpp:
754 (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
755 (WebCore::StringImpl::reverseFind): Ditto,
757 2008-02-26 Satoshi Nakagawa <artension@gmail.com>
759 Reviewed by Darin. Tweaked and landed by Alexey.
761 http://bugs.webkit.org/show_bug.cgi?id=17411
762 Ideographic comma and full stop should be treated as line-breakable characters
764 Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
766 * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
767 * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
768 Unicode 5.0 that is causing this.
770 2008-02-26 MorganL <morganl.webkit@yahoo.com>
772 Reviewed by eseidel. Landed by eseidel
774 Fix improperly initialized m_isUpToDate member variable.
775 Fixs 50+ layout tests when run on Tiger.
776 http://bugs.webkit.org/show_bug.cgi?id=17549
778 * platform/network/cf/ResourceResponse.h:
779 (WebCore::ResourceResponse::ResourceResponse):
780 * platform/network/mac/ResourceResponse.h:
781 (WebCore::ResourceResponse::ResourceResponse):
783 2008-02-25 Dan Bernstein <mitz@apple.com>
785 Reviewed by Sam Weinig.
787 - fix http://bugs.webkit.org/show_bug.cgi?id=17152
788 Paragraphs indented with :first-letter and text-align CSS render incorrectly
790 Test: fast/text/apply-start-width-after-skipped-text.html
792 * rendering/bidi.cpp:
793 (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
794 to figure in the padding, border and margin before a text node when the
795 line begins inside a text node.
797 2008-02-25 Kevin Ollivier <kevino@theolliviers.com>
799 Windows build fix for wx port.
801 * loader/FTPDirectoryDocument.cpp:
803 2008-02-25 Mark Rowe <mrowe@apple.com>
807 * platform/network/cf/ResourceResponseCFNet.cpp:
808 (WebCore::ResourceResponse::platformCompare): Implement platformCompare for ResourceResponseCFNet.cpp.
810 2008-02-25 Beth Dakin <bdakin@apple.com>
814 Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in
815 Document::removePendingSheet() from r30438
817 r30438 added a call to CachedResource::error() from inside
818 Loader::didReceiveData() if a CSS file 4xxs. There was an
819 assumption in the loader, though, that either error() would be
820 called, or didFinishLoading() would be called, so some work is
821 duplicated in each. Now that we are calling an error() on files
822 that will also make it to didFinishLoading() (since they succeeded
823 in the network layer), we need to make sure we do not duplicate the
824 work. CachedCSSStyleSheet::error() calls checkNotify, which ends up
825 decrementing the document's pending style sheet counter.
826 checkNotify() was still getting called, though, through the normal
827 didFinishLoading code path, and the counter was being decremented
831 (WebCore::Loader::didFinishLoading):
832 (WebCore::Loader::didReceiveData):
834 2008-02-25 Mark Rowe <mrowe@apple.com>
836 Fix the Gtk, wx and Qt builds.
838 * GNUmakefile.am: Add new files.
839 * WebCore.pro: Ditto.
840 * WebCoreSources.bkl: Ditto.
841 * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
843 2008-02-25 MorganL <morganl.webkit@yahoo.com>
845 Reviewed by Darin Adler.
847 Eliminate some #ifdefs from headers in platform/network.
848 http://bugs.webkit.org/show_bug.cgi?id=17210
852 * WebCore.vcproj/WebCore.vcproj:
853 * WebCore.xcodeproj/project.pbxproj:
854 * dom/XMLTokenizer.cpp:
855 * loader/ResourceLoader.h:
856 * platform/network/AuthenticationChallenge.cpp: Removed.
857 * platform/network/AuthenticationChallenge.h: Removed.
858 * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
859 (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
860 (WebCore::AuthenticationChallengeBase::previousFailureCount):
861 (WebCore::AuthenticationChallengeBase::proposedCredential):
862 (WebCore::AuthenticationChallengeBase::protectionSpace):
863 (WebCore::AuthenticationChallengeBase::failureResponse):
864 (WebCore::AuthenticationChallengeBase::error):
865 (WebCore::AuthenticationChallengeBase::isNull):
866 (WebCore::AuthenticationChallengeBase::nullify):
867 (WebCore::AuthenticationChallengeBase::compare):
868 * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
869 (WebCore::AuthenticationChallengeBase::platformCompare):
870 (WebCore::operator==):
871 (WebCore::operator!=):
872 * platform/network/ResourceError.cpp: Removed.
873 * platform/network/ResourceError.h: Removed.
874 * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
875 (WebCore::ResourceErrorBase::lazyInit):
876 (WebCore::ResourceErrorBase::compare):
877 * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
878 (WebCore::ResourceErrorBase::isNull):
879 (WebCore::ResourceErrorBase::domain):
880 (WebCore::ResourceErrorBase::errorCode):
881 (WebCore::ResourceErrorBase::failingURL):
882 (WebCore::ResourceErrorBase::localizedDescription):
883 (WebCore::ResourceErrorBase::ResourceErrorBase):
884 (WebCore::ResourceErrorBase::platformLazyInit):
885 (WebCore::ResourceErrorBase::platformCompare):
886 (WebCore::operator==):
887 * platform/network/ResourceResponseBase.cpp:
888 (WebCore::ResourceResponseBase::isHTTP):
889 (WebCore::ResourceResponseBase::url):
890 (WebCore::ResourceResponseBase::setUrl):
891 (WebCore::ResourceResponseBase::mimeType):
892 (WebCore::ResourceResponseBase::setMimeType):
893 (WebCore::ResourceResponseBase::expectedContentLength):
894 (WebCore::ResourceResponseBase::setExpectedContentLength):
895 (WebCore::ResourceResponseBase::textEncodingName):
896 (WebCore::ResourceResponseBase::setTextEncodingName):
897 (WebCore::ResourceResponseBase::suggestedFilename):
898 (WebCore::ResourceResponseBase::setSuggestedFilename):
899 (WebCore::ResourceResponseBase::httpStatusCode):
900 (WebCore::ResourceResponseBase::setHTTPStatusCode):
901 (WebCore::ResourceResponseBase::httpStatusText):
902 (WebCore::ResourceResponseBase::setHTTPStatusText):
903 (WebCore::ResourceResponseBase::httpHeaderField):
904 (WebCore::ResourceResponseBase::setHTTPHeaderField):
905 (WebCore::ResourceResponseBase::httpHeaderFields):
906 (WebCore::ResourceResponseBase::isAttachment):
907 (WebCore::ResourceResponseBase::setExpirationDate):
908 (WebCore::ResourceResponseBase::expirationDate):
909 (WebCore::ResourceResponseBase::setLastModifiedDate):
910 (WebCore::ResourceResponseBase::lastModifiedDate):
911 (WebCore::ResourceResponseBase::lazyInit):
912 (WebCore::ResourceResponseBase::compare):
913 * platform/network/ResourceResponseBase.h:
914 (WebCore::ResourceResponseBase::ResourceResponseBase):
915 (WebCore::ResourceResponseBase::platformLazyInit):
916 (WebCore::ResourceResponseBase::platformCompare):
917 (WebCore::operator==):
918 * platform/network/cf/AuthenticationCF.cpp:
919 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
920 (WebCore::AuthenticationChallenge::platformCompare):
921 * platform/network/cf/AuthenticationChallenge.h: Added.
922 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
923 (WebCore::AuthenticationChallenge::sourceHandle):
924 (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
925 * platform/network/cf/ResourceError.h: Added.
926 (WebCore::ResourceError::ResourceError):
927 * platform/network/cf/ResourceErrorCF.cpp:
928 (WebCore::ResourceError::ResourceError):
929 (WebCore::ResourceError::platformLazyInit):
930 (WebCore::ResourceError::platformCompare):
931 (WebCore::ResourceError::operator CFStreamError):
932 * platform/network/cf/ResourceResponse.h:
933 (WebCore::ResourceResponse::ResourceResponse):
934 * platform/network/cf/ResourceResponseCFNet.cpp:
935 (WebCore::ResourceResponse::platformLazyInit):
936 * platform/network/curl/AuthenticationChallenge.h: Added.
937 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
938 * platform/network/curl/ResourceError.h: Added.
939 (WebCore::ResourceError::ResourceError):
940 * platform/network/curl/ResourceResponse.h:
941 (WebCore::ResourceResponse::ResourceResponse):
942 * platform/network/mac/AuthenticationChallenge.h: Added.
943 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
944 (WebCore::AuthenticationChallenge::sender):
945 (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
946 * platform/network/mac/AuthenticationMac.mm:
947 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
948 (WebCore::AuthenticationChallenge::platformCompare):
949 * platform/network/mac/ResourceError.h: Added.
950 (WebCore::ResourceError::ResourceError):
951 * platform/network/mac/ResourceErrorMac.mm:
952 (WebCore::ResourceError::platformLazyInit):
953 (WebCore::ResourceError::platformCompare):
954 * platform/network/mac/ResourceResponse.h:
955 (WebCore::ResourceResponse::ResourceResponse):
956 * platform/network/mac/ResourceResponseMac.mm:
957 (WebCore::ResourceResponse::platformLazyInit):
958 (WebCore::ResourceResponse::platformCompare):
959 * platform/network/qt/AuthenticationChallenge.h: Added.
960 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
961 * platform/network/qt/ResourceError.h: Added.
962 (WebCore::ResourceError::ResourceError):
963 * platform/network/qt/ResourceResponse.h:
964 (WebCore::ResourceResponse::ResourceResponse):
965 * xml/XSLTProcessor.cpp:
967 2008-02-25 Anders Carlsson <andersca@apple.com>
971 Move remaining render style objects over to start with a refcount of 1 and get
972 rid of DeprecatedDataRef.
974 * rendering/DataRef.h:
975 (WebCore::DataRef::operator*):
976 (WebCore::DataRef::operator->):
977 * rendering/RenderStyle.h:
978 * rendering/SVGRenderStyle.cpp:
979 (WebCore::SVGRenderStyle::SVGRenderStyle):
980 * rendering/SVGRenderStyle.h:
981 (WebCore::SVGRenderStyle::create):
982 (WebCore::SVGRenderStyle::copy):
983 * rendering/SVGRenderStyleDefs.cpp:
984 (StyleFillData::StyleFillData):
985 (StyleStrokeData::StyleStrokeData):
986 (StyleStopData::StyleStopData):
987 (StyleTextData::StyleTextData):
988 (StyleClipData::StyleClipData):
989 (StyleMaskData::StyleMaskData):
990 (StyleMarkerData::StyleMarkerData):
991 (StyleMiscData::StyleMiscData):
992 * rendering/SVGRenderStyleDefs.h:
993 (WebCore::StyleFillData::create):
994 (WebCore::StyleFillData::copy):
995 (WebCore::StyleStrokeData::create):
996 (WebCore::StyleStrokeData::copy):
997 (WebCore::StyleStopData::create):
998 (WebCore::StyleStopData::copy):
999 (WebCore::StyleTextData::create):
1000 (WebCore::StyleTextData::copy):
1001 (WebCore::StyleClipData::create):
1002 (WebCore::StyleClipData::copy):
1003 (WebCore::StyleMaskData::create):
1004 (WebCore::StyleMaskData::copy):
1005 (WebCore::StyleMarkerData::create):
1006 (WebCore::StyleMarkerData::copy):
1007 (WebCore::StyleMiscData::create):
1008 (WebCore::StyleMiscData::copy):
1010 2008-02-25 Dan Bernstein <mitz@apple.com>
1012 Reviewed by Dave Hyatt.
1014 - remove file-static BidiRun variables from bidi.cpp
1016 * platform/text/BidiResolver.h:
1017 (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
1018 (WebCore::BidiResolver::logicallyLastRun): Added.
1019 (WebCore::BidiResolver::runCount): Made unsigned.
1020 (WebCore::::reverseRuns): Changed ints to unsigned.
1021 (WebCore::::createBidiRunsForLine): Made this function set
1023 * rendering/RenderBlock.h:
1024 * rendering/bidi.cpp:
1025 (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
1026 (WebCore::RenderBlock::constructLine): Removed unused start parameter
1027 and added run count and first and last run parameters. Replaced end
1028 parameter with lastLine boolean and endObject pointer.
1029 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
1030 and logically last run parameters.
1031 (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
1033 (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
1035 (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
1036 accessors instead of file statics.
1038 2008-02-25 Rodney Dawes <dobey@wayofthemonkey.com>
1040 Reviewed by Jon Honeycutt.
1042 http://bugs.webkit.org/show_bug.cgi?id=16924
1043 Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
1045 Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
1046 Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
1047 Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
1048 Add new PluginDatabase.cpp to Windows build.
1049 Add temporary stubs for new PluginDatabase and PluginPackage.
1050 shared classes to GTK+, Qt, and Wx ports.
1051 Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
1052 Remove shared code from PluginDatabaseWin.cpp.
1053 Remove Windows-specific code from PluginDatabase.cpp.
1054 Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
1055 Remove extraneous PluginPackage:: from hash() class method prototype.
1056 Subsume storeFileVersion into PluginPackage::fetchInfo.
1057 Add cross-platform PlatformModuleVersion type definition.
1058 Use PlatformModuleVersion to store the module version.
1059 Rename m_fileVersion[ML]S to m_moduleVersion.
1060 Change compareFileVersion to use PlatformModuleVersion as the argument.
1061 Move PluginView::determineQuirks and m_quirks to PluginPackage.
1062 Updated determineQuirks for the PlatformModuleVersion.
1066 * WebCoreSources.bkl:
1068 * WebCore.vcproj/WebCore.vcproj:
1069 * Platform/FileSystem.h:
1070 * platform/qt/PlugInInfoStoreQt.cpp:
1071 * platform/gtk/TemporaryLinkStubs.cpp:
1072 * platform/qt/TemporaryLinkStubs.cpp:
1073 * platform/wx/TemporaryLinkStubs.cpp:
1074 * plugins/PluginDatabase.cpp:
1075 * plugins/PluginDatabase.h:
1076 * plugins/win/PluginDatabaseWin.cpp:
1077 * plugins/PluginPackage.h:
1078 * plugins/win/PluginPackageWin.cpp:
1079 * plugins/PluginView.h:
1080 * plugins/win/PluginViewWin.cpp:
1082 2008-02-25 Anders Carlsson <andersca@apple.com>
1086 Make more style objects start out with a refcount of 1.
1088 * rendering/RenderStyle.cpp:
1089 (WebCore::StyleSurroundData::StyleSurroundData):
1090 (WebCore::StyleBoxData::StyleBoxData):
1091 (WebCore::StyleVisualData::StyleVisualData):
1092 (WebCore::StyleBackgroundData::StyleBackgroundData):
1093 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1094 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1095 (WebCore::StyleInheritedData::StyleInheritedData):
1096 * rendering/RenderStyle.h:
1097 (WebCore::StyleSurroundData::create):
1098 (WebCore::StyleSurroundData::copy):
1099 (WebCore::StyleBoxData::create):
1100 (WebCore::StyleBoxData::copy):
1101 (WebCore::StyleVisualData::create):
1102 (WebCore::StyleVisualData::copy):
1103 (WebCore::StyleBackgroundData::create):
1104 (WebCore::StyleBackgroundData::copy):
1105 (WebCore::StyleBackgroundData::~StyleBackgroundData):
1106 (WebCore::StyleRareNonInheritedData::create):
1107 (WebCore::StyleRareNonInheritedData::copy):
1108 (WebCore::StyleRareInheritedData::create):
1109 (WebCore::StyleRareInheritedData::copy):
1110 (WebCore::StyleInheritedData::create):
1111 (WebCore::StyleInheritedData::copy):
1113 2008-02-25 Anders Carlsson <andersca@apple.com>
1117 Make some of the refcounted style objects start out with a refcount of 1.
1119 * rendering/DataRef.h:
1120 Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
1121 Change DataRef to use ::create() and ::copy() instead of the constructors.
1122 Change DataRef's pointer to be a RefPtr instead.
1124 * rendering/RenderStyle.cpp:
1125 (WebCore::StyleMarqueeData::StyleMarqueeData):
1126 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1127 (WebCore::StyleMultiColData::StyleMultiColData):
1128 (WebCore::StyleTransformData::StyleTransformData):
1129 Start with a RefCount of 1.
1131 * rendering/RenderStyle.h:
1132 * rendering/SVGRenderStyle.h:
1133 Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
1135 2008-02-25 Darin Adler <darin@apple.com>
1138 Based on a patch by Tim Steele <timsteele41@gmail.com>.
1140 - fix http://bugs.webkit.org/show_bug.cgi?id=17186
1141 Fragment navigation within a page permanently cancels meta refresh
1143 Test: fast/loader/meta-refresh-anchor-click.html
1145 * loader/FrameLoader.cpp:
1146 (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
1147 always do a real load. This makes sure that meta refresh loads are treated as real loads
1148 rather than anchor scrolls. Also tweaked formatting a bit.
1149 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
1150 an alternate way to complete a load, so it needs to start the redirection timer if
1151 redirection has already been scheduled.
1153 2008-02-25 Dan Bernstein <mitz@apple.com>
1155 Reviewed by Darin Adler.
1157 - avoid counting spaces in non-justified text
1159 * rendering/bidi.cpp:
1160 Removed file-static numSpaces.
1161 (WebCore::BidiState::addRun): Removed space counting.
1162 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
1163 counting, conditional on the block having the text-align: justify
1165 (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
1168 2008-02-25 Darin Adler <darin@apple.com>
1172 * platform/graphics/cg/ImageSourceCG.cpp:
1173 (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
1174 variable (because CFSTR is inefficient on Windows).
1176 2008-02-25 Darin Adler <darin@apple.com>
1180 * WebCore.base.exp: Export blankURL, and sort the file.
1182 2008-02-25 Simon Hausmann <hausmann@webkit.org>
1184 Reviewed by Mark Rowe.
1186 Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
1190 * editing/Selection.cpp:
1191 * editing/SelectionController.cpp:
1192 * editing/VisiblePosition.cpp:
1193 * history/HistoryItem.cpp:
1195 * loader/FTPDirectoryParser.cpp:
1196 * platform/KURL.cpp:
1197 * platform/gtk/FileSystemGtk.cpp:
1198 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1199 * platform/text/TextCodecLatin1.cpp:
1200 * platform/text/TextCodecUserDefined.cpp:
1201 * rendering/CounterNode.cpp:
1202 * rendering/RenderObject.cpp:
1204 2008-02-25 Johnny Ding <johnnyding.webkit@gmail.com>
1206 Reviewed by Darin Adler.
1208 - fix http://bugs.webkit.org/show_bug.cgi?id=17444
1210 In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
1211 whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
1212 and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
1213 to decide whether to save prependingSrc or not. The later behavior is not right
1214 because, in scriptHandler and scriptExecution, even the pendingScripts queue is
1215 empty, the testBit:LoadingExtScript might be TRUE.
1217 Test: fast/tokenizer/nested-multiple-scripts.html
1219 * html/HTMLTokenizer.cpp:
1220 (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
1221 checking state.loadingExtScript().
1222 (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
1223 checking state.loadingExtScript().
1225 2008-02-24 Darin Adler <darin@apple.com>
1227 * dom/Document.h: Removed stray duplicate declaration of
1228 RegisteredEventListenerList.
1230 2008-02-24 Darin Adler <darin@apple.com>
1233 (WebCore::Range::surroundContents): Removed incorrect comment.
1234 I added it a while ago, and I was just mixed up.
1236 2008-02-24 Darin Adler <darin@apple.com>
1238 - quick follow-up to that last check-in
1240 * platform/graphics/cg/ImageSourceCG.cpp:
1241 (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
1242 WebCore::String's == for speed.
1244 2008-02-24 Michael Knaup <michael.knaup@mac.com>
1248 Bug 8749: XBM rendered incorrectly as black on white
1250 xbm images are now created and rendered using black on a
1251 transparent background (same behavior as in Firefox)
1253 Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
1255 * platform/graphics/cg/ImageSourceCG.cpp:
1256 (WebCore::ImageSource::createFrameAtIndex):
1258 2008-02-24 Dan Bernstein <mitz@apple.com>
1260 Reviewed by Darin Adler.
1262 - fix http://bugs.webkit.org/show_bug.cgi?id=17471
1263 REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
1265 Test: http/tests/misc/object-image-error.html
1267 * html/HTMLObjectElement.cpp:
1268 (WebCore::HTMLObjectElement::attach): Added an early return in case
1269 updateFromElement() has changed the object to use fallback content.
1271 2008-02-24 Dan Bernstein <mitz@apple.com>
1273 Reviewed by Darin Adler.
1275 - fix float positioning when a float that does not fit on the line is
1276 followed by a float that does
1278 Test: fast/block/float/narrow-after-wide.html
1280 * rendering/bidi.cpp:
1281 (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
1282 more floats on the line once a float that does not fit is encountered.
1283 That float should be pushed to the next line, and so should all floats
1284 that follow, regardless of whether they can fit on the current line.
1286 2008-02-24 Darin Adler <darin@apple.com>
1290 - fix http://bugs.webkit.org/show_bug.cgi?id=16770
1291 Acid3 expects :visited styled links to restyle on iframe load
1293 Disentangle global history updating from the back/forward history.
1294 There are many cases where we don't want to create a new back/forward
1295 item, but we do still want to add to the global history (used for visited
1296 link coloring) in those cases.
1298 Test: fast/history/subframe-is-visited.html
1300 * loader/FrameLoader.cpp:
1301 (WebCore::FrameLoader::updateGlobalHistory): Renamed from
1302 addHistoryForCurrentLocation and removed the back/forward handling.
1303 (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
1304 bit. Replaced call to addHistoryForCurrentLocation with a call to
1305 addBackForwardItemClippedAtTarget. Added an unconditional call to
1306 updateGlobalHistory.
1307 (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
1308 why doesn't this function update global history?
1309 (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
1310 (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
1311 the client with a call to the new updateGlobalHistory function.
1312 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
1313 the same changes as for updateHistoryForStandardLoad.
1314 * loader/FrameLoader.h: More of the same.
1316 * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
1317 renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
1319 * svg/graphics/SVGImageEmptyClients.h:
1320 (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
1323 2008-02-23 Darin Adler <darin@apple.com>
1327 - fix http://bugs.webkit.org/show_bug.cgi?id=17508
1328 REGRESSION (r30535): mailto regression tests failing
1330 * html/HTMLFormElement.cpp:
1331 (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
1332 trip through String do to the replace operation. It's inefficient, but there's
1333 no real reason to worry about the efficiency of mailto forms, since that feature
1336 2008-02-23 Darin Adler <darin@apple.com>
1340 - replace SegmentedString's use of DeprecatedValueList with Deque
1342 Testing indicates this is a slight speed-up for page loading.
1344 * platform/text/SegmentedString.cpp:
1345 (WebCore::SegmentedString::length): Update to use Deque.
1346 (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
1347 (WebCore::SegmentedString::append): Ditto.
1348 (WebCore::SegmentedString::prepend): Ditto.
1349 (WebCore::SegmentedString::advanceSubstring): Ditto.
1350 (WebCore::SegmentedString::toString): Ditto.
1351 * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
1352 class private with a single friend. Change m_sbstrings from a DeprecatedValueList
1355 2008-02-23 Darin Adler <darin@apple.com>
1359 - fix http://bugs.webkit.org/show_bug.cgi?id=17506
1360 REGRESSION (r30535): ASSERTION FAILED: i < size()
1362 * loader/TextResourceDecoder.cpp:
1363 (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
1366 2008-02-23 Matt Lilek <webkit@mattlilek.com>
1368 Not reviewed, build fix.
1370 * platform/network/cf/FormDataStreamCFNet.cpp:
1371 (WebCore::httpBodyFromRequest):
1372 * plugins/win/PluginViewWin.cpp:
1373 (WebCore::PluginView::handlePost):
1375 2008-02-23 Dan Bernstein <mitz@apple.com>
1379 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1380 (WebCore::GlyphPage::fill):
1381 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1382 (WebCore::GlyphPage::fill):
1384 2008-02-23 Dan Bernstein <mitz@apple.com>
1386 Reviewed by Anders Carlsson.
1388 - fix GlyphPage::fill() logic for partial page fills
1390 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1391 (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
1392 work correctly when the length parameter is less than a full page size.
1393 Also updated the comment.
1394 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1395 (WebCore::GlyphPage::fill): Ditto.
1397 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
1399 Reviewed by Darin Adler.
1401 Move text drawing into wxcode, as we need platform-dependent
1402 APIs for drawing non-kerned text, which wx doesn't yet have.
1403 (But hopefully will, once these APIs are fleshed out on all
1406 http://bugs.webkit.org/show_bug.cgi?id=17396
1408 * platform/graphics/wx/FontWx.cpp:
1409 (WebCore::Font::drawGlyphs):
1410 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
1411 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
1412 * platform/wx/wxcode/non-kerned-drawing.h: Added.
1413 * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
1416 2008-02-23 Darin Adler <darin@apple.com>
1418 Pointed out by Mitz.
1420 * loader/TextResourceDecoder.cpp:
1421 (WebCore::find): Fix a "==" that was supposed to be ">".
1422 (WebCore::findIgnoringCase): Ditto.
1424 2008-02-23 Darin Adler <darin@apple.com>
1428 * html/HTMLFormElement.cpp:
1429 (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
1431 2008-02-23 Darin Adler <darin@apple.com>
1435 - remove all but 1 remaining use of DeprecatedCString
1436 - change FormData to start refcount at 1
1438 * html/HTMLFormElement.cpp:
1439 (WebCore::appendString): Added. Helpers for Vector<char>.
1440 (WebCore::appendEncodedString): Renamed from encodeCString and changed to
1441 append to an existing Vector<char> to cut down a bit on memory allocation.
1442 (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
1443 enc_string with a Vector<char> called encodedData. Change to use the new
1444 FormData::create function.
1445 (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
1447 * loader/TextResourceDecoder.cpp:
1448 (WebCore::find): Added. Helper for searching in char* with length.
1449 (WebCore::findIgnoringCase): Ditto.
1450 (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
1451 when we have a char* with length rather than a null-terminated char*.
1452 (WebCore::findXMLEncoding): Changed to use char* and length rather than
1453 DeprecatedCString. Also fixed some things that would be one-character
1454 buffer overruns in a string that's not null-terminated.
1455 (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
1456 findTextEncoding rather than constructing a CString to pass to the
1457 TextEncodingconstructor.
1458 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
1460 * platform/network/FormData.cpp:
1461 (WebCore::FormData::FormData): Changed to start refcount at 1.
1462 (WebCore::FormData::create): Added.
1463 (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
1464 * platform/network/FormData.h: Made constructor private. Added create functions.
1466 * platform/network/mac/ResourceRequestMac.mm:
1467 (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
1468 * xml/XMLHttpRequest.cpp:
1469 (WebCore::XMLHttpRequest::send): Ditto.
1471 2008-02-23 Darin Adler <darin@apple.com>
1475 - http://bugs.webkit.org/show_bug.cgi?id=17067
1476 eliminate attributes parameter from JSObject::put for speed/clarity
1478 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1479 (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
1481 * bindings/js/JSCanvasPixelArrayCustom.cpp:
1482 (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
1483 (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
1484 CanvasPixelArray object, for consistency with the getter. Removed attributes
1487 * bindings/js/JSDOMWindowCustom.cpp:
1488 (WebCore::JSDOMWindow::customPut): Removed special case for variable
1489 initialization, which is not needed since that does use put any more.
1490 Removed attributes argument.
1492 * bindings/js/JSEventTargetBase.h:
1493 (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
1494 (WebCore::JSEventTargetBase::put): Ditto.
1495 (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
1496 * bindings/js/JSEventTargetNode.cpp:
1497 (WebCore::JSEventTargetNode::put): Removed attributes argument.
1498 (WebCore::JSEventTargetNode::putValueProperty): Ditto.
1499 * bindings/js/JSEventTargetNode.h: Ditto.
1500 * bindings/js/JSHTMLAppletElementCustom.cpp:
1501 (WebCore::JSHTMLAppletElement::customPut): Ditto.
1502 * bindings/js/JSHTMLEmbedElementCustom.cpp:
1503 (WebCore::JSHTMLEmbedElement::customPut): Ditto.
1504 * bindings/js/JSHTMLInputElementBase.cpp:
1505 (WebCore::JSHTMLInputElementBase::put): Ditto.
1506 (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
1507 * bindings/js/JSHTMLInputElementBase.h: Ditto.
1508 * bindings/js/JSHTMLObjectElementCustom.cpp:
1509 (WebCore::JSHTMLObjectElement::customPut): Ditto.
1510 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1511 (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
1512 * bindings/js/JSHTMLSelectElementCustom.cpp:
1513 (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
1514 * bindings/js/JSHistoryCustom.cpp:
1515 (WebCore::JSHistory::customPut): Ditto.
1516 * bindings/js/JSLocation.cpp:
1517 (WebCore::JSLocation::put): Ditto.
1518 * bindings/js/JSLocation.h: Ditto.
1519 * bindings/js/JSXMLHttpRequest.cpp:
1520 (WebCore::JSXMLHttpRequest::put): Ditto.
1521 (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
1522 * bindings/js/JSXMLHttpRequest.h: Ditto.
1524 * bindings/js/kjs_dom.cpp:
1525 (WebCore::getRuntimeObject): Changed return type to JSObject*.
1526 * bindings/js/kjs_dom.h: Ditto.
1528 * bindings/js/kjs_events.cpp:
1529 (WebCore::JSClipboard::put): Removed attributes argument.
1530 (WebCore::JSClipboard::putValueProperty): Ditto.
1531 * bindings/js/kjs_events.h: Ditto.
1533 * bindings/js/kjs_html.cpp:
1534 (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
1535 return a JSObject. Used early exit idiom.
1536 (WebCore::runtimeObjectPropertyGetter): Ditto.
1537 (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
1538 (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
1539 that we should put with the property syntax instead of canPut.
1540 (WebCore::runtimeObjectImplementsCall): Ditto.
1541 (WebCore::runtimeObjectCallAsFunction): Ditto.
1542 * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
1544 * bindings/js/kjs_window.cpp:
1545 (KJS::Window::put): Removed attributes argument.
1546 * bindings/js/kjs_window.h: Ditto.
1548 * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
1549 putValueProperty, customPut, and indexSetter.
1551 * html/CanvasPixelArray.h:
1552 (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
1553 function. Before, the checking was done in the JavaScript bindings for set.
1555 2008-02-23 Brent Fulgham <bfulgham@gmail.com>
1557 Reviewed by Adam and Darin.
1559 http://bugs.webkit.org/show_bug.cgi?id=17442
1560 Correct the Windows Cairo implementation of GraphicsContext so
1561 that Windows 'WorldTransform' is kept in sync with the Cairo
1564 Also corrects an uninitialized variable in the Cairo Windows
1567 WARNING: NO TEST CASES ADDED OR CHANGED
1569 * platform/graphics/cairo/GraphicsContextCairo.cpp: Modify
1570 methods to call GraphicsContextPlatformPrivate calls, just
1571 as is done for the CoreGraphics version. These calls are
1572 nop's for everything but Windows.
1573 (WebCore::GraphicsContext::savePlatformState):
1574 (WebCore::GraphicsContext::restorePlatformState):
1575 (WebCore::GraphicsContext::clip):
1576 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1577 (WebCore::GraphicsContext::translate):
1578 (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
1579 (WebCore::GraphicsContext::beginTransparencyLayer):
1580 (WebCore::GraphicsContext::endTransparencyLayer):
1581 (WebCore::GraphicsContext::rotate):
1582 (WebCore::GraphicsContext::scale):
1583 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1584 * platform/graphics/win/GraphicsContextCGWin.cpp: Move common
1585 code for handling WorldTransform calls to parent class.
1586 * platform/graphics/win/GraphicsContextCairoWin.cpp: Add common
1587 code for handling WorldTransform calls.
1588 (WebCore::GraphicsContextPlatformPrivate::concatCTM): Change
1589 implementation so that it only handles WorldTransform. The
1590 Cairo update is done in GraphicsContextCairo.cpp
1591 * platform/graphics/win/GraphicsContextWin.cpp: Call platform-private
1592 methods to keep WorldTransform in sync.
1593 (WebCore::GraphicsContextPlatformPrivate::save):
1594 (WebCore::GraphicsContextPlatformPrivate::restore):
1595 (WebCore::GraphicsContextPlatformPrivate::clip):
1596 (WebCore::GraphicsContextPlatformPrivate::scale):
1597 (WebCore::GraphicsContextPlatformPrivate::rotate):
1598 (WebCore::GraphicsContextPlatformPrivate::translate):
1599 * platform/win/DragImageCairoWin.cpp:
1600 (WebCore::createDragImageFromImage): Correct uninitialized value
1602 2008-02-23 Dan Bernstein <mitz@apple.com>
1604 Reviewed by Dave Hyatt.
1606 - make non-autowrapping text clear floats
1608 Test: fast/text/whitespace/nowrap-clear-float.html
1610 * rendering/RenderBlock.cpp:
1611 (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
1612 this and changed to avoid comparing bottom to 0 in each iteration.
1613 (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
1614 * rendering/RenderBlock.h:
1615 * rendering/bidi.cpp:
1616 (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
1617 findNextLineBreak() and simplified.
1618 (WebCore::RenderBlock::findNextLineBreak): Changed to call
1619 fitBelowFloats(). Fixed the bug by trying to fit below floats in the
1620 case of non-wrapping text. Removed some redundancy.
1622 2008-02-23 Sam Weinig <sam@webkit.org>
1624 Reviewed by Oliver Hunt.
1626 Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
1627 Speed up DOM lists array subscription syntax by using the fast
1628 getOwnPropertySlot and set paths
1630 - 6x speed improvement on Oliver's ImageData put test.
1632 * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
1633 and put when an indexGetter or indexSetter is used. We can not use the fast
1634 path if an overridingNameGetter is used as there would be no way to override.
1636 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
1638 wx build fix after JSImageData.cpp was added.
1640 * WebCoreSources.bkl:
1642 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
1644 Windows build fix - move ThreadCondition implementation from WebCore to WTF.
1646 * WebCore.vcproj/WebCore.vcproj:
1647 * platform/win/ThreadConditionWin.cpp: Removed.
1649 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
1653 Move basic threading support from WebCore to WTF.
1655 One call that remains in WebCore is callOnMainThread(), and it has its own header now.
1657 * ForwardingHeaders/wtf/Locker.h: Added.
1658 * ForwardingHeaders/wtf/MessageQueue.h: Added.
1659 * ForwardingHeaders/wtf/Threading.h: Added.
1662 * WebCore.vcproj/WebCore.vcproj:
1663 * WebCore.xcodeproj/project.pbxproj:
1664 * WebCoreSources.bkl:
1665 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1666 * dom/XMLTokenizer.cpp:
1667 * loader/icon/IconDatabase.cpp:
1668 (WebCore::iconDatabase):
1669 * loader/icon/IconDatabase.h:
1670 * platform/Locker.h: Removed.
1671 * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
1672 (WebCore::initializeThreadingAndMainThread):
1673 * platform/MessageQueue.h: Removed.
1674 * platform/SecurityOrigin.h:
1675 * platform/Threading.h: Removed.
1676 * platform/ThreadingNone.cpp: Removed.
1677 * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
1678 * platform/gtk/ThreadingGtk.cpp: Removed.
1679 * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
1680 * platform/mac/Threading.mm: Removed.
1681 * platform/pthreads: Removed.
1682 * platform/pthreads/ThreadingPthreads.cpp: Removed.
1683 * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
1684 * platform/qt/ThreadingQt.cpp: Removed.
1685 * platform/sql/SQLValue.h:
1686 * platform/sql/SQLiteAuthorizer.h:
1687 * platform/sql/SQLiteDatabase.h:
1688 * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
1689 (WebCore::initializeThreadingAndMainThread):
1690 * platform/win/MutexWin.cpp: Removed.
1691 * platform/win/ThreadingWin.cpp: Removed.
1692 * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
1693 * platform/wx/ThreadingWx.cpp: Removed.
1694 * storage/Database.cpp:
1695 (WebCore::Database::Database):
1696 * storage/Database.h:
1697 * storage/DatabaseTask.h:
1698 * storage/DatabaseThread.h:
1699 * storage/DatabaseTracker.cpp:
1700 * storage/OriginQuotaManager.h:
1701 * storage/SQLError.h:
1702 * storage/SQLResultSet.h:
1703 * storage/SQLStatement.h:
1704 * storage/SQLStatementCallback.h:
1705 * storage/SQLStatementErrorCallback.h:
1706 * storage/SQLTransaction.h:
1707 * storage/SQLTransactionCallback.h:
1708 * storage/SQLTransactionErrorCallback.h:
1711 2008-02-23 David Kilzer <ddkilzer@apple.com>
1713 Please clarify licensing for some files
1714 <http://bugs.webkit.org/show_bug.cgi?id=14970>
1718 * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
1719 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
1720 * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
1722 2008-02-22 Justin Garcia <justin.garcia@apple.com>
1724 Reviewed by Anders Carlsson.
1726 <rdar://problem/5714333> Add document.getSelection()
1728 Add a synonym for window.getSelection() that FF supports. There were requests in
1729 this bugs dupes to also support the IE only document.selection, but IE's Selection
1730 object is too different than ours currently for that to be safe (specifically, we
1731 don't support enough of IE's TextRange methods on our DOM Range object yet). I
1732 filed <rdar://problem/5761233> to cover that.
1735 (WebCore::Document::getSelection): Added.
1737 * dom/Document.idl: Ditto. JS only since this is about web compatibility.
1739 2008-02-22 Oliver Hunt <oliver@apple.com>
1743 * WebCoreSources.bkl:
1745 2008-02-22 Oliver Hunt <oliver@apple.com>
1747 Once more with the cairo/qt/wx build fixing
1749 * platform/graphics/cairo/ImageBufferCairo.cpp:
1750 * platform/graphics/qt/ImageBufferQt.cpp:
1751 * platform/graphics/wx/ImageBufferWx.cpp:
1753 2008-02-22 Mark Rowe <mrowe@apple.com>
1755 Windows build fix. Add missing include of DeprecatedCString.h and sort existing includes.
1757 * platform/win/PasteboardWin.cpp:
1759 2008-02-22 Mark Rowe <mrowe@apple.com>
1761 Speculative Windows build fix.
1763 * platform/win/ClipboardUtilitiesWin.cpp: Add missing include of DeprecatedCString.h and sort existing includes.
1764 * platform/win/ClipboardWin.cpp: Ditto.
1766 2008-02-22 Oliver Hunt <oliver@apple.com>
1768 Build fix for windows, wx and qt
1770 * html/CanvasPixelArray.h:
1771 (WebCore::CanvasPixelArray::set):
1773 2008-02-22 Oliver Hunt <oliver@apple.com>
1775 Unbreak windows vcproj
1777 * WebCore.vcproj/WebCore.vcproj:
1779 2008-02-22 Oliver Hunt <oliver@apple.com>
1783 Support Canvas.getImageData and Canvas.createImageData
1785 This patch adds support for all the pixel reading portions
1786 of the HTML5 Canvas spec. There are two new types ImageData
1787 and CanvasPixelArray which are used to provide the HTML5
1788 ImageData object, and the required semantics for assignment
1789 to the ImageData data array.
1791 We only implement the CG version of ImageBuffer::getImageData,
1792 but the logic is null safe, so this will not introduce any
1793 crashes into other platforms, unfortunately it will result in
1794 JS Object detection "lying" on non-CG platforms.
1796 Tests: fast/canvas/canvas-ImageData-behaviour.html
1797 fast/canvas/canvas-getImageData.html
1799 * DerivedSources.make:
1802 * WebCore.vcproj/WebCore.vcproj:
1803 * WebCore.xcodeproj/project.pbxproj:
1804 * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
1805 (WebCore::JSCanvasPixelArray::indexGetter):
1806 (WebCore::JSCanvasPixelArray::indexSetter):
1808 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1809 * bindings/scripts/CodeGeneratorJS.pm:
1810 * html/CanvasPixelArray.cpp: Added.
1811 (WebCore::CanvasPixelArray::create):
1812 * html/CanvasPixelArray.h: Added.
1813 (WebCore::CanvasPixelArray::data):
1814 (WebCore::CanvasPixelArray::length):
1815 (WebCore::CanvasPixelArray::set):
1816 (WebCore::CanvasPixelArray::get):
1817 * html/CanvasPixelArray.idl: Added.
1818 * html/CanvasRenderingContext2D.cpp:
1819 (WebCore::createEmptyImageData):
1820 (WebCore::CanvasRenderingContext2D::createImageData):
1821 (WebCore::CanvasRenderingContext2D::getImageData):
1822 * html/CanvasRenderingContext2D.h:
1823 * html/CanvasRenderingContext2D.idl:
1824 * html/HTMLCanvasElement.cpp:
1825 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
1826 (WebCore::HTMLCanvasElement::createImageBuffer):
1827 * html/HTMLCanvasElement.h:
1828 * html/ImageData.cpp: Added.
1829 (WebCore::ImageData::create):
1830 (WebCore::ImageData::ImageData):
1831 * html/ImageData.h: Added.
1832 (WebCore::ImageData::width):
1833 (WebCore::ImageData::height):
1834 (WebCore::ImageData::data):
1835 * html/ImageData.idl: Added.
1836 * platform/graphics/ImageBuffer.h:
1837 * platform/graphics/cairo/ImageBufferCairo.cpp:
1838 (WebCore::ImageBuffer::getImageData):
1839 * platform/graphics/cg/ImageBufferCG.cpp:
1840 (WebCore::ImageBuffer::getImageData):
1841 * platform/graphics/qt/ImageBufferQt.cpp:
1842 (WebCore::ImageBuffer::getImageData):
1843 * platform/graphics/wx/ImageBufferWx.cpp:
1844 (WebCore::ImageBuffer::getImageData):
1846 2008-02-22 Sam Weinig <sam@webkit.org>
1848 Rubber-stamped by Adam Roben.
1850 Rid the project of the Devil known as DeprecatedString!
1855 * WebCore.vcproj/WebCore.vcproj:
1856 * WebCore.xcodeproj/project.pbxproj:
1857 * WebCoreSources.bkl:
1859 * html/HTMLFormElement.cpp:
1860 * platform/DeprecatedString.cpp: Removed.
1861 * platform/DeprecatedString.h: Removed.
1862 * platform/graphics/qt/IconQt.cpp:
1863 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1864 * platform/gtk/CookieJarGtk.cpp:
1865 * platform/gtk/CursorGtk.cpp:
1866 * platform/gtk/KeyEventGtk.cpp:
1867 * platform/mac/DeprecatedStringMac.mm: Removed.
1868 * platform/network/qt/ResourceHandleQt.cpp:
1869 * platform/network/win/CookieJarWin.cpp:
1871 * platform/qt/ClipboardQt.cpp:
1872 * platform/qt/CookieJarQt.cpp:
1873 * platform/qt/CursorQt.cpp:
1874 * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
1875 * platform/text/AtomicString.cpp:
1876 * platform/text/AtomicString.h:
1877 * platform/text/PlatformString.h:
1878 * platform/text/String.cpp:
1879 * platform/text/StringImpl.cpp:
1880 * platform/text/qt/StringQt.cpp:
1881 (WebCore::String::String):
1882 * platform/text/wx/StringWx.cpp:
1883 * platform/win/BString.cpp:
1884 * platform/win/BString.h:
1885 * platform/win/PasteboardWin.cpp:
1887 2008-02-22 Sam Weinig <sam@webkit.org>
1889 Reviewed by Geoff Garen.
1891 - Remove use of DeprecatedString in CSSStyleSelector.
1893 * css/CSSStyleSelector.cpp:
1894 (WebCore::findHash): Removed. Use find instead.
1895 (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
1896 (WebCore::findSlashSlash): Ditto.
1897 (WebCore::findSlashDotSlash): Ditto.
1898 (WebCore::containsColonSlashSlash): Ditto.
1899 (WebCore::cleanPath): Change to operate on a String.
1900 (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
1902 2008-02-22 Geoffrey Garen <ggaren@apple.com>
1904 Reviewed by Sam Weinig.
1906 Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
1907 associated objects @ www.viamichelin.it, which was probably an underlying
1908 cause of <rdar://problem/5744037> Gmail out of memory (17455)
1910 If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
1911 the XMLHttpRequest but think we hadn't, therefore never
1912 calling deref() / gcUnprotect().
1914 This could happen at gmail.com, since gmail.com attempts to send
1915 XMLHttpRequests from unload handlers in order to gather usage statistics.
1916 (According to comments in the code, SubresourceLoader::create returns
1917 NULL when called from an unload handler.)
1919 The solution is to ref() / gcProtect() only if SubresourceLoader::create
1920 doesn't return NULL. This make sense, since we only need to protect the
1921 request as long as it has an outstanding network transaction.
1923 * xml/XMLHttpRequest.cpp:
1924 (WebCore::XMLHttpRequest::XMLHttpRequest):
1925 (WebCore::XMLHttpRequest::send):
1927 2008-02-22 Darin Adler <darin@apple.com>
1929 Reviewed, tweaked and landed by Sam.
1931 - Make RegularExpression operate on Strings instead of DeprecatedStrings.
1933 * dom/DOMImplementation.cpp:
1934 (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
1935 to build up the RegularExpression.
1937 (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
1938 (WebCore::Frame::searchForLabelsAboveCell): Ditto.
1939 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
1940 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
1942 * page/mac/FrameMac.mm:
1943 (WebCore::regExpForLabels): Ditto.
1944 (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
1945 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
1946 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
1948 * platform/text/RegularExpression.cpp:
1949 (WebCore::RegularExpression::Private::Private):
1950 (WebCore::RegularExpression::Private::compile):
1951 (WebCore::RegularExpression::RegularExpression):
1952 (WebCore::RegularExpression::operator=):
1953 (WebCore::RegularExpression::pattern):
1954 (WebCore::RegularExpression::match):
1955 (WebCore::RegularExpression::search):
1956 (WebCore::RegularExpression::searchRev):
1957 (WebCore::replace): Added.
1958 * platform/text/RegularExpression.h:
1959 Change functions to take Strings as input instead of DeprecatedStrings and
1960 reduce the complexity of the class by removing unneeded globbing support.
1962 2008-02-22 Jon Honeycutt <jhoneycutt@apple.com>
1966 <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
1967 during stress test (after only 5 min) - null dereference
1969 Full-frame plug-ins create PluginStream objects without loaders, as the
1970 PluginView receives the loading callbacks. We were trying to call
1971 setDefersLoading on these null pointers.
1973 * plugins/PluginStream.cpp:
1974 (WebCore::PluginStream::startStream): Add null check.
1975 (WebCore::PluginStream::destroyStream): Same.
1976 (WebCore::PluginStream::deliverData): Same.
1978 2008-02-22 Darin Adler <darin@apple.com>
1980 Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
1982 - Remove uses of DeprecatedString in Windows plugin code.
1984 * plugins/win/PluginPackageWin.cpp:
1985 (WebCore::getVersionInfo): Cleanup formatting.
1986 (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
1987 (WebCore::PluginPackage::storeFileVersion): Move casts.
1988 (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
1990 (WebCore::PluginPackage::load): Fix whitespace.
1991 (WebCore::PluginPackage::hash): Make the hashCodes const
1992 * plugins/win/PluginViewWin.cpp:
1993 (WebCore::makeURL): Use String instead of DeprecatedString.
1994 (WebCore::parseRFC822HeaderFields): Ditto.
1995 (WebCore::PluginView::handlePost): Ditto.
1996 (WebCore::PluginView::status): Ditto.
1998 2008-02-22 Darin Adler <darin@apple.com>
2000 Reviewed, tweaked and landed by Sam.
2002 - Don't use DeprecatedString in HTMLTokenizer.
2004 * html/HTMLTokenizer.cpp:
2005 (WebCore::HTMLTokenizer::finish):
2006 * platform/text/PlatformString.h:
2009 2008-02-21 Sam Weinig <sam@webkit.org>
2011 Reviewed by Anders Carlsson.
2013 Fix for <rdar://problem/5757946>
2015 - Parse URLs before checking whether they are javascript: urls
2016 (which require security checks).
2018 * bindings/js/JSAttrCustom.cpp:
2019 (WebCore::JSAttr::setValue):
2020 * bindings/js/JSElementCustom.cpp:
2021 (WebCore::allowSettingSrcToJavascriptURL):
2022 * bindings/js/JSHTMLFrameElementCustom.cpp:
2023 (WebCore::allowSettingJavascriptURL):
2024 * bindings/js/JSHTMLIFrameElementCustom.cpp:
2025 (WebCore::JSHTMLIFrameElement::setSrc):
2027 2008-02-21 Ada Chan <adachan@apple.com>
2029 <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
2030 We could get a buffer overrun in DeprecatedCString::find() if the end of the
2031 string matches a beginning portion of the substring, for example, if string is
2032 "a" but the substring is "ab".
2033 The code as is also will not match things correctly under certain situations
2034 since the inner while loop increments the index. For example, we wouldn't find
2035 a match if the string is "aab..." and the substring is "ab". Changed the
2036 inner while loop to increment a temporary index into str.
2038 Test: fast/loader/charset-parse.html
2040 Reviewed by Dan Berstein.
2042 * platform/DeprecatedCString.cpp:
2043 (WebCore::DeprecatedCString::find):
2045 2008-02-21 David Hyatt <hyatt@apple.com>
2047 Fix for bug 17301. CSS media queries need to use the correct viewport
2048 when contained in documents inside iframes (rather than always using the
2049 top-level document's viewport). CSS media queries based on the viewport
2050 also needed to be dynamic and update as you resize the window (this is
2053 This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
2057 Added fast/media/viewport-media-query.html
2059 * css/CSSStyleSelector.cpp:
2060 (WebCore::CSSStyleSelector::CSSStyleSelector):
2061 (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
2062 (WebCore::CSSStyleSelector::affectedByViewportChange):
2063 * css/CSSStyleSelector.h:
2064 (WebCore::MediaQueryResult::MediaQueryResult):
2065 * css/MediaQueryEvaluator.cpp:
2066 (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
2067 (WebCore::MediaQueryEvaluator):
2068 (WebCore::MediaQueryEvaluator::eval):
2069 (WebCore::colorMediaFeatureEval):
2070 (WebCore::monochromeMediaFeatureEval):
2071 (WebCore::device_aspect_ratioMediaFeatureEval):
2072 (WebCore::device_pixel_ratioMediaFeatureEval):
2073 (WebCore::gridMediaFeatureEval):
2074 (WebCore::device_heightMediaFeatureEval):
2075 (WebCore::device_widthMediaFeatureEval):
2076 (WebCore::heightMediaFeatureEval):
2077 (WebCore::widthMediaFeatureEval):
2078 (WebCore::min_colorMediaFeatureEval):
2079 (WebCore::max_colorMediaFeatureEval):
2080 (WebCore::min_monochromeMediaFeatureEval):
2081 (WebCore::max_monochromeMediaFeatureEval):
2082 (WebCore::min_device_aspect_ratioMediaFeatureEval):
2083 (WebCore::max_device_aspect_ratioMediaFeatureEval):
2084 (WebCore::min_device_pixel_ratioMediaFeatureEval):
2085 (WebCore::max_device_pixel_ratioMediaFeatureEval):
2086 (WebCore::min_heightMediaFeatureEval):
2087 (WebCore::max_heightMediaFeatureEval):
2088 (WebCore::min_widthMediaFeatureEval):
2089 (WebCore::max_widthMediaFeatureEval):
2090 (WebCore::min_device_heightMediaFeatureEval):
2091 (WebCore::max_device_heightMediaFeatureEval):
2092 (WebCore::min_device_widthMediaFeatureEval):
2093 (WebCore::max_device_widthMediaFeatureEval):
2094 * css/MediaQueryEvaluator.h:
2095 * css/MediaQueryExp.cpp:
2096 (WebCore::MediaQueryExp::~MediaQueryExp):
2097 * css/MediaQueryExp.h:
2098 (WebCore::MediaQueryExp::value):
2099 (WebCore::MediaQueryExp::isViewportDependent):
2100 * html/HTMLMediaElement.cpp:
2101 (WebCore::HTMLMediaElement::pickMedia):
2102 * page/FrameView.cpp:
2103 (WebCore::FrameView::layout):
2105 2008-02-21 Anders Carlsson <andersca@apple.com>
2109 Make more classes start out with a refcount of 1.
2111 * dom/QualifiedName.cpp:
2112 (WebCore::QNameComponentsTranslator::translate):
2113 (WebCore::QualifiedName::QualifiedName):
2114 * dom/QualifiedName.h:
2115 (WebCore::QualifiedName::QualifiedNameImpl::create):
2116 (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
2117 * history/BackForwardList.cpp:
2118 (WebCore::BackForwardList::BackForwardList):
2119 * history/BackForwardList.h:
2120 (WebCore::BackForwardList::create):
2122 (WebCore::Page::Page):
2123 * platform/text/CString.cpp:
2124 (WebCore::CString::init):
2125 (WebCore::CString::newUninitialized):
2126 (WebCore::CString::copyBufferIfNeeded):
2127 * platform/text/CString.h:
2128 (WebCore::CStringBuffer::create):
2129 (WebCore::CStringBuffer::CStringBuffer):
2131 2008-02-21 Kevin Ollivier <kevino@theolliviers.com>
2133 wx build fix for the domString() -> string() rename in r30443.
2135 * platform/graphics/wx/FontPlatformDataWx.cpp:
2136 (WebCore::FontPlatformData::FontPlatformData):
2138 2008-02-21 Antti Koivisto <antti@apple.com>
2140 Reviewed by Sam Weinig.
2142 <rdar://problem/5753789>
2143 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
2145 Ensure all versions of allowsAccessFrom are inlined to single functions.
2146 This is a 2% win in browser hosted Sunspider.
2148 * bindings/js/kjs_window.cpp:
2149 (KJS::Window::allowsAccessFrom):
2150 (KJS::Window::allowsAccessFromPrivate):
2151 * bindings/js/kjs_window.h:
2153 2008-02-21 Dan Bernstein <mitz@apple.com>
2155 Reviewed by Sam Weinig.
2159 * rendering/bidi.cpp:
2160 (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
2161 true for RenderLineBreak.
2162 (WebCore::bidiFirst): Ditto.
2163 (WebCore::shouldSkipWhitespaceAfterStartObject):
2164 (WebCore::RenderBlock::findNextLineBreak):
2166 2008-02-21 Geoffrey Garen <ggaren@apple.com>
2168 Reviewed by David Harrison.
2170 Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at
2171 WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
2173 Test: fast/dom/script-element-without-frame-crash.html
2175 * html/HTMLTokenizer.cpp:
2176 (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
2177 accidentally removed in r30325.
2179 2008-02-21 Rodney Dawes <dobey@wayofthemonkey.com>
2181 GTK+ build fix. s/domString()/string()/
2183 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2184 (FontPlatformData::FontPlatformData):
2186 2008-02-20 Dan Bernstein <mitz@apple.com>
2188 Reviewed by Dave Hyatt.
2190 - fix http://bugs.webkit.org/show_bug.cgi?id=17465
2191 REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
2193 Test: fast/tokenizer/doctype-search-reset.html
2195 * html/HTMLTokenizer.cpp:
2196 (WebCore::HTMLTokenizer::parseTag):
2198 2008-02-20 Dan Bernstein <mitz@apple.com>
2200 Reviewed by Dave Hyatt.
2202 - fix http://bugs.webkit.org/show_bug.cgi?id=17464
2203 REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
2205 Test: fast/text/wbr-in-pre-crash.html
2207 * rendering/bidi.cpp:
2208 (WebCore::RenderBlock::findNextLineBreak):
2210 2008-02-20 Oliver Hunt <oliver@apple.com>
2214 Bug 17303: Canvas crash in ImageBuffer
2216 We handle a null GraphicsContext everywhere, but we weren't checking for
2217 a null ImageBuffer, which is what will result in a null GraphicsContext in
2220 Test: fast/canvas/access-zero-sized-canvas.html
2222 * html/HTMLCanvasElement.cpp:
2224 2008-02-20 David Hyatt <hyatt@apple.com>
2226 Fix the layout test failure that never should have passed in the first
2227 place by making changes to media lists actually result in the recomputation
2228 of the style selector. Now it passes for the right reasons and not because
2231 Reviewed by Sam Weinig
2233 * css/MediaList.cpp:
2234 (WebCore::MediaList::deleteMedium):
2235 (WebCore::MediaList::setMediaText):
2236 (WebCore::MediaList::appendMedium):
2237 (WebCore::MediaList::notifyChanged):
2240 (WebCore::Document::attach):
2242 2008-02-20 Darin Adler <darin@apple.com>
2244 Reviewed, tweaked and landed by Sam.
2246 - make markup functions not use DeprecatedString.
2248 * editing/markup.cpp:
2249 (WebCore::append): Added.
2250 (WebCore::escapeContentText): Build up string using a Vector.
2251 (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
2253 2008-02-20 Darin Adler <darin@apple.com>
2255 Reviewed, tweaked and landed by Sam.
2257 - make TextIterator use a Vector instead of a DeprecatedString.
2259 * editing/TextIterator.cpp:
2260 (WebCore::CharacterIterator::string): Build up the String using a
2262 (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
2263 (WebCore::WordAwareIterator::length): Ditto.
2264 (WebCore::WordAwareIterator::characters): Ditto.
2265 * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
2266 of DeprecatedString.
2268 2008-02-20 Darin Adler <darin@apple.com>
2270 Reviewed, tweaked and landed by Sam.
2272 - make HTMLInterchange return a String instead of a DeprecatedString
2274 * editing/HTMLInterchange.cpp:
2275 (WebCore::): Return a String from convertedSpaceString.
2276 (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
2277 a DeprecatedString to build up the return String.
2278 * editing/HTMLInterchange.h:
2280 2008-02-20 Eric Seidel <eric@webkit.org>
2284 Remove m_drawingContext and change m_data to m_imageBuffer
2286 * html/HTMLCanvasElement.cpp:
2287 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2288 (WebCore::HTMLCanvasElement::reset):
2289 (WebCore::HTMLCanvasElement::paint):
2290 (WebCore::HTMLCanvasElement::createImageBuffer):
2291 (WebCore::HTMLCanvasElement::buffer):
2292 (WebCore::HTMLCanvasElement::createPlatformImage):
2293 * html/HTMLCanvasElement.h:
2295 2008-02-20 Anders Carlsson <andersca@apple.com>
2299 Rename AtomicString::domString() to AtomicString::string().
2301 * css/CSSComputedStyleDeclaration.cpp:
2302 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2303 * css/CSSFontSelector.cpp:
2304 (WebCore::CSSFontSelector::getFontData):
2306 (WebCore::Attr::createTextChild):
2308 (WebCore::Comment::nodeName):
2310 (WebCore::Document::recalcStyleSelector):
2311 (WebCore::Document::setHTMLWindowEventListener):
2312 (WebCore::Document::formElementsState):
2313 * dom/StyledElement.cpp:
2314 (WebCore::StyledElement::parseMappedAttribute):
2316 (WebCore::Text::nodeName):
2317 * editing/SelectionController.cpp:
2318 (WebCore::SelectionController::debugRenderer):
2319 * html/HTMLCollection.cpp:
2320 (WebCore::HTMLCollection::checkForNameMatch):
2321 * html/HTMLElement.cpp:
2322 (WebCore::HTMLElement::nodeName):
2323 (WebCore::HTMLElement::setHTMLEventListener):
2324 * html/HTMLFormCollection.cpp:
2325 (WebCore::HTMLFormCollection::getNamedFormItem):
2326 * html/HTMLImageElement.cpp:
2327 (WebCore::HTMLImageElement::parseMappedAttribute):
2328 (WebCore::HTMLImageElement::isURLAttribute):
2329 * html/HTMLLinkElement.cpp:
2330 (WebCore::HTMLLinkElement::parseMappedAttribute):
2331 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2332 * html/HTMLObjectElement.cpp:
2333 (WebCore::HTMLObjectElement::isURLAttribute):
2334 (WebCore::HTMLObjectElement::containsJavaApplet):
2335 * html/HTMLParamElement.cpp:
2336 (WebCore::HTMLParamElement::isURLAttribute):
2337 * html/HTMLParser.cpp:
2338 (WebCore::HTMLParser::handleIsindex):
2339 * html/HTMLScriptElement.cpp:
2340 (WebCore::HTMLScriptElement::insertedIntoDocument):
2341 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
2342 * html/HTMLStyleElement.cpp:
2343 (WebCore::HTMLStyleElement::parseMappedAttribute):
2344 * html/HTMLTokenizer.cpp:
2345 (WebCore::HTMLTokenizer::parseTag):
2346 * html/HTMLViewSourceDocument.cpp:
2347 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2348 * loader/FrameLoader.cpp:
2349 (WebCore::FrameLoader::saveDocumentState):
2350 * page/FrameTree.cpp:
2351 (WebCore::FrameTree::uniqueChildName):
2352 * platform/text/AtomicString.h:
2353 (WebCore::AtomicString::string):
2354 (WebCore::AtomicString::contains):
2355 (WebCore::AtomicString::find):
2356 (WebCore::AtomicString::startsWith):
2357 (WebCore::AtomicString::endsWith):
2358 * rendering/RenderPartObject.cpp:
2359 (WebCore::RenderPartObject::updateWidget):
2360 * svg/SVGElement.cpp:
2361 (WebCore::SVGElement::addSVGEventListener):
2362 * svg/SVGSVGElement.cpp:
2363 (WebCore::SVGSVGElement::addSVGWindowEventListener):
2364 * xml/XPathFunctions.cpp:
2365 (WebCore::XPath::FunLocalName::evaluate):
2366 (WebCore::XPath::FunNamespaceURI::evaluate):
2367 (WebCore::XPath::FunName::evaluate):
2369 2008-02-20 Brent Fulgham <bfulgham@gmail.com>
2373 http://bugs.webkit.org/show_bug.cgi?id=17336
2374 Provide implementations for Windows (Cairo) build of WebKit that
2375 handles font formatting.
2376 - Split font implementation files to allow maximal code sharing
2377 between CG and Cairo back-ends.
2379 * WebCore.vcproj/WebCore.vcproj:
2380 * platform/graphics/SimpleFontData.h: Add signatures for private win
2381 initialization functions.
2382 * platform/graphics/win/FontCacheWin.cpp:
2383 (WebCore::FontCache::platformInit):
2384 (WebCore::FontCache::createFontPlatformData):
2385 * platform/graphics/win/FontCairoWin.cpp: Removed. Universal version
2386 is now part of platform/graphics/cairo.
2387 * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
2388 (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
2389 (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
2390 (WebCore::releaseData):
2391 (WebCore::createFontCustomPlatformData):
2392 * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
2393 (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
2394 * platform/graphics/win/FontPlatformData.h:
2395 (WebCore::FontPlatformData::FontPlatformData):
2396 (WebCore::FontPlatformData::fontFace):
2397 (WebCore::FontPlatformData::scaledFont):
2398 (WebCore::FontPlatformData::operator==):
2399 * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
2400 (WebCore::FontPlatformData::platformDataInit):
2401 * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
2402 (WebCore::FontPlatformData::platformDataInit):
2403 (WebCore::FontPlatformData::FontPlatformData):
2404 (WebCore::FontPlatformData::setFont):
2405 * platform/graphics/win/FontPlatformDataWin.cpp: Moved CG-specific
2406 code to FontPlatformDataCG.cpp.
2407 (WebCore::FontPlatformData::FontPlatformData):
2408 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2409 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2410 (WebCore::GlyphPage::fill):
2411 * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed. Replaced
2412 with CG- and Cairo-specific versions.
2413 * platform/graphics/win/SimpleFontDataCGWin.cpp:
2414 (WebCore::SimpleFontData::platformInit):
2415 (WebCore::SimpleFontData::platformDestroy):
2416 (WebCore::SimpleFontData::platformWidthForGlyph):
2417 * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2418 (WebCore::SimpleFontData::platformInit):
2419 (WebCore::SimpleFontData::platformDestroy):
2420 (WebCore::SimpleFontData::platformWidthForGlyph):
2421 (WebCore::SimpleFontData::setFont):
2422 * platform/graphics/win/SimpleFontDataWin.cpp:
2423 (WebCore::SimpleFontData::initGDIFont):
2424 (WebCore::SimpleFontData::platformCommonDestroy):
2425 (WebCore::SimpleFontData::widthForGDIGlyph):
2427 2008-02-20 Darin Adler <darin@apple.com>
2431 * dom/Node.h: Took out unneeded forward declaration of TextStream.
2433 2008-02-20 Darin Adler <darin@apple.com>
2437 * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
2439 2008-02-20 David Hyatt <hyatt@apple.com>
2441 Fix for bug 16760, incorrect <object> MIME type handling and fallback
2446 * html/HTMLImageLoader.cpp:
2447 (WebCore::HTMLImageLoader::notifyFinished):
2448 If the image had an error, make sure to do <object> fallback.
2450 * html/HTMLObjectElement.cpp:
2451 (WebCore::HTMLObjectElement::renderFallbackContent):
2452 Before doing fallback check if there is a MIME type mismatch between
2453 an image type and a non-image type. If so, detach and re-attach after
2454 storing the correct MIME type.
2456 * loader/loader.cpp:
2457 (WebCore::Loader::didReceiveData):
2458 Consider it an error when a 404 is encountered on a CachedResource load.
2460 2008-02-20 Anders Carlsson <andersca@apple.com>
2464 StringImpl constructors used by AtomicString should start with a refcount of 1.
2466 * platform/text/AtomicString.cpp:
2467 (WebCore::AtomicString::add):
2468 * platform/text/AtomicString.h:
2469 * platform/text/StringImpl.cpp:
2470 (WebCore::StringImpl::StringImpl):
2472 2008-02-20 Darin Adler <darin@apple.com>
2474 * bindings/js/kjs_navigator.cpp:
2475 (WebCore::needsYouTubeQuirk): Tweak comments.
2477 2008-02-20 Anders Carlsson <andersca@apple.com>
2481 Change all refcounted classes in page/ to start with a refcount of 1.
2484 (WebCore::BarInfo::BarInfo):
2486 (WebCore::BarInfo::create):
2488 (WebCore::Console::Console):
2490 (WebCore::Console::create):
2491 * page/DOMSelection.cpp:
2492 (WebCore::DOMSelection::DOMSelection):
2493 * page/DOMSelection.h:
2494 (WebCore::DOMSelection::create):
2495 * page/DOMWindow.cpp:
2496 (WebCore::DOMWindow::DOMWindow):
2497 (WebCore::DOMWindow::screen):
2498 (WebCore::DOMWindow::history):
2499 (WebCore::DOMWindow::locationbar):
2500 (WebCore::DOMWindow::menubar):
2501 (WebCore::DOMWindow::personalbar):
2502 (WebCore::DOMWindow::scrollbars):
2503 (WebCore::DOMWindow::statusbar):
2504 (WebCore::DOMWindow::toolbar):
2505 (WebCore::DOMWindow::console):
2506 (WebCore::DOMWindow::getSelection):
2508 (WebCore::DOMWindow::create):
2510 (WebCore::Frame::domWindow):
2512 (WebCore::History::History):
2514 (WebCore::History::create):
2515 * page/InspectorController.cpp:
2516 (WebCore::InspectorResource::create):
2517 (WebCore::InspectorResource::InspectorResource):
2518 (WebCore::InspectorDatabaseResource::create):
2519 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
2520 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2521 (WebCore::InspectorController::identifierForInitialRequest):
2522 (WebCore::InspectorController::didOpenDatabase):
2524 (WebCore::Plugin::create):
2525 (WebCore::Plugin::Plugin):
2527 (WebCore::Screen::Screen):
2529 (WebCore::Screen::create):
2531 2008-02-20 Sam Weinig <sam@webkit.org>
2533 Reviewed by Darin and Geoff.
2535 - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
2537 * WebCore.base.exp: Updated.
2539 * bindings/js/kjs_navigator.cpp:
2540 (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed.
2541 (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk
2542 return true, then return the empty string.
2544 * page/Settings.cpp:
2545 (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false.
2546 (WebCore::Settings::setNeedsSiteSpecificQuirks): Added.
2547 * page/Settings.h: Added m_needsSiteSpecificQuirks.
2548 (WebCore::Settings::needsSiteSpecificQuirks): Added.
2550 2008-02-20 David Hyatt <hyatt@apple.com>
2552 Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
2554 Reviewed by Sam Weinig
2556 Many tests added in fast/doctypes.
2558 * dom/DOMImplementation.cpp:
2559 (WebCore::DOMImplementation::createDocument):
2560 (WebCore::DOMImplementation::createHTMLDocument):
2562 (WebCore::Document::Document):
2563 (WebCore::Document::setDocType):
2564 (WebCore::Document::attach):
2565 (WebCore::Document::getImageMap):
2567 (WebCore::Document::doctype):
2568 (WebCore::Document::):
2569 (WebCore::Document::determineParseMode):
2570 (WebCore::Document::setParseMode):
2571 (WebCore::Document::parseMode):
2572 (WebCore::Document::inCompatMode):
2573 (WebCore::Document::inAlmostStrictMode):
2574 (WebCore::Document::inStrictMode):
2575 * dom/DocumentType.cpp:
2576 (WebCore::DocumentType::cloneNode):
2577 (WebCore::DocumentType::insertedIntoDocument):
2578 (WebCore::DocumentType::removedFromDocument):
2579 * dom/DocumentType.h:
2581 (WebCore::Node::childAllowed):
2582 * dom/StyledElement.cpp:
2583 (WebCore::StyledElement::attributeChanged):
2584 * dom/XMLTokenizer.cpp:
2585 (WebCore::XMLTokenizer::internalSubset):
2587 * editing/markup.cpp:
2588 (WebCore::appendStartMarkup):
2589 * html/HTMLAppletElement.cpp:
2590 (WebCore::HTMLAppletElement::createRenderer):
2591 * html/HTMLDocument.cpp:
2592 (WebCore::HTMLDocument::HTMLDocument):
2593 (WebCore::HTMLDocument::childAllowed):
2594 (WebCore::HTMLDocument::determineParseMode):
2595 * html/HTMLDocument.h:
2596 * html/HTMLMapElement.cpp:
2597 (WebCore::HTMLMapElement::parseMappedAttribute):
2598 * html/HTMLParamElement.cpp:
2599 (WebCore::HTMLParamElement::parseMappedAttribute):
2600 * html/HTMLParser.cpp:
2601 (WebCore::HTMLParser::parseDoctypeToken):
2602 * html/HTMLParser.h:
2603 * html/HTMLTokenizer.cpp:
2604 (WebCore::HTMLTokenizer::reset):
2605 (WebCore::HTMLTokenizer::parseDoctype):
2606 (WebCore::HTMLTokenizer::parseTag):
2607 (WebCore::HTMLTokenizer::write):
2608 (WebCore::HTMLTokenizer::finish):
2609 (WebCore::HTMLTokenizer::processDoctypeToken):
2610 * html/HTMLTokenizer.h:
2612 (WebCore::DoctypeToken::DoctypeToken):
2613 (WebCore::DoctypeToken::reset):
2614 (WebCore::DoctypeToken::state):
2615 (WebCore::DoctypeToken::setState):
2616 (WebCore::HTMLTokenizer::State::inDoctype):
2617 (WebCore::HTMLTokenizer::State::setInDoctype):
2618 (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
2619 (WebCore::HTMLTokenizer::State::):
2620 * html/HTMLViewSourceDocument.cpp:
2621 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2622 (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
2623 * html/HTMLViewSourceDocument.h:
2624 * loader/FrameLoader.cpp:
2625 (WebCore::FrameLoader::write):
2626 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2628 (WebCore::Frame::documentTypeString):
2629 * page/inspector/utilities.js:
2630 * xml/XSLTProcessor.cpp:
2631 (WebCore::XSLTProcessor::createDocumentFromSource):
2633 2008-02-20 Anders Carlsson <andersca@apple.com>
2637 Change most SVG related classes to start out with a ref count of 1.
2639 * bindings/js/JSSVGPointListCustom.cpp:
2640 (WebCore::JSSVGPointList::initialize):
2641 (WebCore::JSSVGPointList::insertItemBefore):
2642 (WebCore::JSSVGPointList::replaceItem):
2643 (WebCore::JSSVGPointList::appendItem):
2644 * bindings/js/JSSVGTransformListCustom.cpp:
2645 (WebCore::JSSVGTransformList::initialize):
2646 (WebCore::JSSVGTransformList::insertItemBefore):
2647 (WebCore::JSSVGTransformList::replaceItem):
2648 (WebCore::JSSVGTransformList::appendItem):
2649 * rendering/SVGCharacterLayoutInfo.h:
2650 (WebCore::SVGCharOnPath::create):
2651 (WebCore::SVGCharOnPath::SVGCharOnPath):
2652 * rendering/SVGRootInlineBox.cpp:
2653 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2654 * svg/SVGAnimationElement.cpp:
2655 (WebCore::SVGAnimationElement::parseBeginOrEndValue):
2656 * svg/SVGClipPathElement.cpp:
2657 (WebCore::SVGClipPathElement::canvasResource):
2658 * svg/SVGElementInstance.cpp:
2659 (WebCore::SVGElementInstance::childNodes):
2660 * svg/SVGElementInstanceList.cpp:
2661 (WebCore::SVGElementInstanceList::SVGElementInstanceList):
2662 * svg/SVGElementInstanceList.h:
2663 (WebCore::SVGElementInstanceList::create):
2664 * svg/SVGFitToViewBox.cpp:
2665 (WebCore::SVGFitToViewBox::SVGFitToViewBox):
2666 * svg/SVGGradientElement.cpp:
2667 (WebCore::SVGGradientElement::SVGGradientElement):
2668 (WebCore::SVGGradientElement::canvasResource):
2669 * svg/SVGImageElement.cpp:
2670 (WebCore::SVGImageElement::SVGImageElement):
2671 * svg/SVGLengthList.h:
2672 (WebCore::SVGLengthList::create):
2674 (WebCore::SVGList::SVGList):
2675 (WebCore::SVGPODListItem::create):
2676 (WebCore::SVGPODListItem::copy):
2677 (WebCore::SVGPODListItem::SVGPODListItem):
2678 (WebCore::SVGPODList::initialize):
2679 (WebCore::SVGPODList::insertItemBefore):
2680 (WebCore::SVGPODList::replaceItem):
2681 (WebCore::SVGPODList::appendItem):
2682 (WebCore::SVGPODList::SVGPODList):
2683 * svg/SVGMarkerElement.cpp:
2684 (WebCore::SVGMarkerElement::canvasResource):
2685 * svg/SVGMaskElement.cpp:
2686 (WebCore::SVGMaskElement::canvasResource):
2687 * svg/SVGNumberList.h:
2688 (WebCore::SVGNumberList::create):
2689 * svg/SVGPathElement.cpp:
2690 (WebCore::SVGPathElement::createSVGPathSegClosePath):
2691 (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2692 (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2693 (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2694 (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2695 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2696 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2697 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2698 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2699 (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2700 (WebCore::SVGPathElement::createSVGPathSegArcRel):
2701 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2702 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2703 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2704 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2705 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2706 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2707 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2708 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2709 (WebCore::SVGPathElement::pathSegList):
2710 * svg/SVGPathElement.h:
2712 (WebCore::SVGPathSeg::SVGPathSeg):
2713 * svg/SVGPathSegArc.h:
2714 (WebCore::SVGPathSegArcAbs::create):
2715 (WebCore::SVGPathSegArcRel::create):
2716 * svg/SVGPathSegClosePath.h:
2717 (WebCore::SVGPathSegClosePath::create):
2718 * svg/SVGPathSegCurvetoCubic.h:
2719 (WebCore::SVGPathSegCurvetoCubicAbs::create):
2720 (WebCore::SVGPathSegCurvetoCubicRel::create):
2721 * svg/SVGPathSegCurvetoCubicSmooth.h:
2722 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
2723 (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
2724 * svg/SVGPathSegCurvetoQuadratic.h:
2725 (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
2726 (WebCore::SVGPathSegCurvetoQuadraticRel::create):
2727 * svg/SVGPathSegCurvetoQuadraticSmooth.h:
2728 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
2729 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
2730 * svg/SVGPathSegLineto.h:
2731 (WebCore::SVGPathSegLinetoAbs::create):
2732 (WebCore::SVGPathSegLinetoRel::create):
2733 * svg/SVGPathSegLinetoHorizontal.h:
2734 (WebCore::SVGPathSegLinetoHorizontalAbs::create):
2735 (WebCore::SVGPathSegLinetoHorizontalRel::create):
2736 * svg/SVGPathSegLinetoVertical.h:
2737 (WebCore::SVGPathSegLinetoVerticalAbs::create):
2738 (WebCore::SVGPathSegLinetoVerticalRel::create):
2739 * svg/SVGPathSegList.h:
2740 (WebCore::SVGPathSegList::create):
2741 * svg/SVGPathSegMoveto.h:
2742 (WebCore::SVGPathSegMovetoAbs::create):
2743 (WebCore::SVGPathSegMovetoRel::create):
2744 * svg/SVGPatternElement.cpp:
2745 (WebCore::SVGPatternElement::SVGPatternElement):
2746 (WebCore::SVGPatternElement::canvasResource):
2747 * svg/SVGPointList.h:
2748 (WebCore::SVGPointList::create):
2749 * svg/SVGPolyElement.cpp:
2750 (WebCore::SVGPolyElement::points):
2751 * svg/SVGPreserveAspectRatio.cpp:
2752 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
2753 * svg/SVGPreserveAspectRatio.h:
2754 (WebCore::SVGPreserveAspectRatio::create):
2755 * svg/SVGRenderingIntent.h:
2756 (WebCore::SVGRenderingIntent::SVGRenderingIntent):
2757 * svg/SVGStringList.h:
2758 (WebCore::SVGStringList::create):
2759 * svg/SVGStyledTransformableElement.cpp:
2760 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
2762 (WebCore::SVGTests::requiredFeatures):
2763 (WebCore::SVGTests::requiredExtensions):
2764 (WebCore::SVGTests::systemLanguage):
2765 * svg/SVGTextElement.cpp:
2766 (WebCore::SVGTextElement::SVGTextElement):
2767 * svg/SVGTextPositioningElement.cpp:
2768 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
2769 * svg/SVGTransformList.h:
2770 (WebCore::SVGTransformList::create):
2771 * svg/SVGUnitTypes.h:
2772 (WebCore::SVGUnitTypes::SVGUnitTypes):
2773 * svg/SVGViewElement.cpp:
2774 (WebCore::SVGViewElement::viewTarget):
2775 * svg/SVGViewSpec.cpp:
2776 (WebCore::SVGViewSpec::SVGViewSpec):
2777 * svg/graphics/SVGPaintServer.cpp:
2778 (WebCore::SVGPaintServer::sharedSolidPaintServer):
2779 * svg/graphics/SVGPaintServer.h:
2780 * svg/graphics/SVGPaintServerGradient.h:
2781 (WebCore::SVGPaintServerGradient::SharedStopCache::create):
2782 (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
2783 * svg/graphics/SVGPaintServerLinearGradient.h:
2784 (WebCore::SVGPaintServerLinearGradient::create):
2785 * svg/graphics/SVGPaintServerPattern.h:
2786 (WebCore::SVGPaintServerPattern::create):
2787 * svg/graphics/SVGPaintServerRadialGradient.h:
2788 (WebCore::SVGPaintServerRadialGradient::create):
2789 * svg/graphics/SVGPaintServerSolid.h:
2790 (WebCore::SVGPaintServerSolid::create):
2791 * svg/graphics/SVGResource.cpp:
2792 (WebCore::SVGResource::SVGResource):
2793 * svg/graphics/SVGResource.h:
2794 * svg/graphics/SVGResourceClipper.h:
2795 (WebCore::SVGResourceClipper::create):
2796 * svg/graphics/SVGResourceMarker.h:
2797 (WebCore::SVGResourceMarker::create):
2798 * svg/graphics/SVGResourceMasker.h:
2799 (WebCore::SVGResourceMasker::create):
2800 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2801 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2803 2008-02-20 Darin Adler <darin@apple.com>
2807 - make conversion from CSS ParseString to String and AtomicString
2808 automatic and remove all the explicit calls to do the conversion
2810 - fix CSS parsing to do fewer allocations, mostly by using the
2811 equalIgnoringCase function in CSSParser
2813 * css/CSSGrammar.y: Take out all the explicit atomicString and
2814 domString calls now that ParseString knows how to convert itself.
2816 * css/CSSParser.cpp:
2817 (WebCore::equal): Added.
2818 (WebCore::equalIgnoringCase): Allow non-lettters.
2819 (WebCore::ParseString::lower): Used charactersAreAllASCII.
2820 (WebCore::unitFromString): Use equal.
2821 (WebCore::CSSParser::parseValue): Removed unneeded call to domString.
2822 (WebCore::CSSParser::parseContent): Use equalIgnoringCase.
2823 (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString.
2824 (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase.
2825 (WebCore::CSSParser::parseDashboardRegions): More of the same.
2826 (WebCore::CSSParser::parseCounterContent): Ditto.
2827 (WebCore::CSSParser::parseShape): Use equalIgnoringCase.
2828 (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString.
2829 (WebCore::CSSParser::parseFontFaceSrc): More.
2830 (WebCore::CSSParser::parseFontFaceUnicodeRange): More.
2831 (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now
2832 handles the case folding.
2833 (WebCore::CSSParser::parseColorFromValue): More.
2834 (WebCore::CSSParser::parseBorderImage): More.
2835 (WebCore::CSSParser::parseCounter): More.
2836 (WebCore::TransformOperationInfo::TransformOperationInfo): More.
2837 (WebCore::CSSParser::parseTransform): More.
2838 (WebCore::CSSParser::createCharsetRule): More.
2839 (WebCore::CSSParser::createImportRule): More.
2841 * css/CSSParser.h: Removed domString and atomicString functions.
2842 (WebCore::ParseString::operator String): Added. Allows conversion to String
2843 without an explicit function call.
2844 (WebCore::ParseString::operator AtomicString): Ditto.
2846 * css/MediaQueryExp.cpp:
2847 (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString.
2848 * css/SVGCSSParser.cpp:
2849 (WebCore::CSSParser::parseSVGValue): Removed calls to domString.
2851 * platform/graphics/Color.cpp:
2852 (WebCore::findNamedColor): Call toASCIILower on each character as we copy
2853 it into the 8-bit character buffer to make the operation fold case.
2855 2008-02-20 Justin Garcia <justin.garcia@apple.com>
2857 Reviewed by Darin Adler.
2859 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
2861 * editing/DeleteSelectionCommand.cpp:
2862 (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here
2863 is where there are no special elements. Avoid creating VisiblePositions in
2864 that case. Additionally, this change postpones the more expensive creation
2865 of an upstream VisiblePosition until the last possible moment.
2866 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
2867 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an
2868 early return for a common case: deleting characters that are all inside the
2869 same text node. In that case the style at the start of the selection will
2870 not change during the delete, so there is no need to save/recompute it.
2871 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return
2872 before VisiblePosition creation if the ends of the selection aren't enclosed
2874 * editing/TypingCommand.cpp:
2875 (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell
2876 checking isn't enabled.
2878 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
2880 Incorporates some improvements made by Dan Bernstein.
2884 http://bugs.webkit.org/show_bug.cgi?id=17106
2885 <rdar://problem/5750722> Debug build ASSERTs on page load
2887 Test: fast/encoding/GBK/close-gbk-converter.html
2889 * platform/text/TextCodecICU.cpp:
2890 (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there
2891 are only four values.
2892 (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt
2893 getting an escape character if it's not UCNV_UNASSIGNED.
2894 (WebCore::gbkCallbackSubstitute): Ditto.
2896 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
2900 * xml/XMLHttpRequest.cpp:
2901 (WebCore::isSafeRequestHeader):
2902 (WebCore::XMLHttpRequest::setRequestHeader):
2904 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
2908 <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest
2910 Cannot be tested in DRT.
2912 * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load
2913 local files can also set any headers.
2915 2008-02-19 Darin Adler <darin@apple.com>
2919 - removed use of DeprecatedString for font family names
2921 * css/CSSFontSelector.cpp:
2922 (WebCore::CSSFontSelector::addFontFaceRule): Update for name change.
2923 * css/CSSParser.cpp:
2924 (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated
2925 function and String rather than DeprecatedString.
2926 * css/CSSStyleSelector.cpp:
2927 (WebCore::CSSStyleSelector::applyProperty): Updated for name change.
2928 * css/FontFamilyValue.cpp:
2929 (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular
2930 expression with code that does the same thing more efficiently.
2931 (WebCore::FontFamilyValue::appendSpaceSeparated): Added.
2932 (WebCore::FontFamilyValue::cssText): Updated for name change.
2933 * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName
2934 to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType
2935 and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can
2936 be private instead of public.
2938 2008-02-19 Darin Adler <darin@apple.com>
2940 - fix build when SVG is not enabled
2942 * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h".
2944 2008-02-19 Anders Carlsson <andersca@apple.com>
2948 Change all classes in xml/ to start out with a ref count of 1.
2950 * bindings/js/JSCustomXPathNSResolver.h:
2951 * bindings/js/JSXMLHttpRequest.cpp:
2952 (WebCore::JSXMLHttpRequest::JSXMLHttpRequest):
2953 * bindings/js/JSXSLTProcessor.cpp:
2954 (WebCore::JSXSLTProcessor::JSXSLTProcessor):
2955 * bindings/objc/DOMCustomXPathNSResolver.h:
2956 (WebCore::DOMCustomXPathNSResolver::create):
2957 * bindings/scripts/CodeGeneratorJS.pm:
2958 * bindings/scripts/CodeGeneratorObjC.pm:
2960 (WebCore::Document::applyXSLTransform):
2961 (WebCore::Document::createExpression):
2962 (WebCore::Document::createNSResolver):
2963 (WebCore::Document::evaluate):
2965 (WebCore::DOMParser::create):
2966 (WebCore::DOMParser::DOMParser):
2967 * xml/NativeXPathNSResolver.h:
2968 (WebCore::NativeXPathNSResolver::create):
2969 * xml/XMLHttpRequest.cpp:
2970 (WebCore::XMLHttpRequest::XMLHttpRequest):
2971 * xml/XMLHttpRequest.h:
2972 (WebCore::XMLHttpRequest::create):
2973 * xml/XMLSerializer.h:
2974 (WebCore::XMLSerializer::create):
2975 (WebCore::XMLSerializer::XMLSerializer):
2976 * xml/XPathEvaluator.cpp:
2977 (WebCore::XPathEvaluator::createNSResolver):
2978 * xml/XPathEvaluator.h:
2979 (WebCore::XPathEvaluator::create):
2980 (WebCore::XPathEvaluator::XPathEvaluator):
2981 * xml/XPathExpression.cpp:
2982 (WebCore::XPathExpression::createExpression):
2983 (WebCore::XPathExpression::evaluate):
2984 * xml/XPathExpression.h:
2985 (WebCore::XPathExpression::create):
2986 (WebCore::XPathExpression::XPathExpression):
2987 * xml/XPathNSResolver.h:
2988 * xml/XPathResult.cpp:
2989 (WebCore::XPathResult::XPathResult):
2990 * xml/XPathResult.h:
2991 (WebCore::XPathResult::create):
2992 * xml/XPathValue.cpp:
2993 (WebCore::XPath::Value::modifiableNodeSet):
2995 (WebCore::XPath::ValueData::create):
2996 (WebCore::XPath::ValueData::ValueData):
2997 (WebCore::XPath::Value::Value):
2998 * xml/XSLTProcessor.h:
2999 (WebCore::XSLTProcessor::create):
3000 (WebCore::XSLTProcessor::XSLTProcessor):
3002 2008-02-19 Darin Adler <darin@apple.com>
3006 - Trimmed down TextStream and weaned it from DeprecatedString.
3008 * page/mac/WebCoreFrameBridge.mm:
3009 (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]):
3010 Removed now-unneeded call to getNSString.
3012 * platform/text/TextStream.cpp: Removed unused functions.
3013 Use snprintf instead of sprintf, for better security.
3014 (WebCore::TextStream::release): Added.
3015 * platform/text/TextStream.h: Removed lots of unneeded stuff.
3017 * rendering/RenderTreeAsText.cpp:
3018 (WebCore::externalRepresentation): Changed to use String instead
3019 of DeprecatedString.
3020 * rendering/RenderTreeAsText.h: Ditto.
3022 * rendering/SVGRenderTreeAsText.cpp:
3023 (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl.
3024 (WebCore::write): Ditto.
3025 (WebCore::writeRenderResources): Ditto.
3027 2008-02-19 Justin Garcia <justin.garcia@apple.com>
3029 Reviewed by Darin Adler.
3031 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
3033 This brings performance on the phone back to old levels. Andre and I are doing
3034 some formal testing to see exactly where we stand.
3037 (WebCore::enclosingBlockIgnoringEditability): Added. This is enclosingBlock
3038 without the expensive editability checks. upstream and downstream can avoid
3039 those because they do their own editability checking.
3040 (WebCore::Position::upstream):
3041 (WebCore::Position::downstream):
3043 2008-02-19 Chris Fleizach <cfleizach@apple.com>
3047 <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute
3049 * bridge/mac/WebCoreAXObject.mm:
3050 (-[WebCoreAXObject linkedUIElement]):
3051 Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM).
3053 (-[WebCoreAXObject accessibilityAttributeNames]):
3054 (-[WebCoreAXObject accessibilityAttributeValue:]):
3055 Support NSAccessibilityLinkedUIElementsAttribute.
3057 2008-02-19 Darin Adler <darin@apple.com>
3061 - Removed old debugging aids, Node::dump, RenderObject::dump, and
3062 RenderObject::information, that used DeprecatedString.
3064 * dom/CharacterData.cpp: Removed override of Node::dump.
3065 * dom/CharacterData.h: Ditto.
3066 * dom/Element.cpp: Ditto.
3067 * dom/Element.h: Ditto.
3068 * dom/EventTargetNode.cpp: Ditto.
3069 * dom/EventTargetNode.h: Ditto.
3070 * dom/Node.cpp: Removed Node::dump.
3071 * dom/Node.h: Ditto.
3073 * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
3074 * rendering/RenderBlock.h: Ditto.
3075 * rendering/RenderFrameSet.cpp: Ditto.
3076 * rendering/RenderFrameSet.h: Ditto.
3077 * rendering/RenderObject.cpp: Removed RenderObject::dump and
3078 RenderObject::information.
3079 * rendering/RenderObject.h: Ditto.
3080 * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
3081 * rendering/RenderTable.h: Ditto.
3082 * rendering/RenderTableCell.cpp: Ditto.
3083 * rendering/RenderTableCell.h: Ditto.
3084 * rendering/RenderTableCol.cpp: Ditto.
3085 * rendering/RenderTableCol.h: Ditto.
3086 * rendering/RenderTableSection.cpp: Ditto.
3087 * rendering/RenderTableSection.h: Ditto.
3089 * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
3090 and added forward declarations as appropriate.
3092 * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
3093 * svg/graphics/SVGResourceClipper.cpp: And here.
3094 * svg/graphics/SVGResourceFilter.cpp: Ditto.
3095 * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
3096 * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
3097 * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
3098 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
3099 * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
3100 * svg/graphics/filters/SVGFEImage.cpp: Ditto.
3101 * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
3102 * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
3103 * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
3104 * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
3105 * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
3106 * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
3108 2008-02-19 Beth Dakin <bdakin@apple.com>
3112 Fix for <rdar://problem/5729674> Seed: Crash in
3113 RenderButton::setStyle at http://www.dinorpg.com
3115 Inputs should not honor first-letter.
3117 * rendering/RenderBlock.cpp:
3118 (WebCore::RenderBlock::updateFirstLetter):
3120 2008-02-19 Dan Bernstein <mitz@apple.com>
3122 Reviewed by Darin Adler.
3124 - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
3126 Test: fast/text/wbr-styled.html
3128 Changed RenderWordBreak to inherit from RenderText instead of
3131 * rendering/RenderBlock.cpp:
3132 (WebCore::RenderBlock::calcInlinePrefWidths):
3133 * rendering/RenderFlow.h:
3134 * rendering/RenderText.cpp:
3135 (WebCore::RenderText::renderName):
3136 (WebCore::RenderText::isTextFragment):
3137 (WebCore::RenderText::isWordBreak):
3138 * rendering/RenderText.h:
3139 * rendering/RenderWordBreak.cpp:
3140 (WebCore::RenderWordBreak::RenderWordBreak):
3141 * rendering/RenderWordBreak.h:
3142 * rendering/bidi.cpp:
3143 (WebCore::RenderBlock::findNextLineBreak):
3145 2008-02-19 Anders Carlsson <andersca@apple.com>
3150 * loader/mac/LoaderNSURLExtras.h:
3151 * loader/mac/LoaderNSURLExtras.m:
3152 Move unused functions to WebKit (where they are used)
3154 (vectorContainsString):
3155 Use const references.
3157 * platform/mac/WebCoreSystemInterface.h:
3158 * platform/mac/WebCoreSystemInterface.mm:
3159 Remove wkNSURLProtocolClassForReqest.
3161 2008-02-19 Justin Garcia <justin.garcia@apple.com>
3163 Reviewed by Darin Adler.
3165 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore
3167 These changes bring deleting performance back to old levels on the phone
3168 except for deleting the first space to the right of a word, which we are
3172 (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining
3173 if we have left the original enclosing block or entered a new one, and avoid
3174 rootEditableElement for determining if we have changed editability. These
3175 operations are expensive.
3176 (WebCore::Position::downstream): Ditto.
3178 2008-02-19 Darin Adler <darin@apple.com>
3180 Rubber stamped by Anders.
3182 - removed explicit initialization to 1 for RefCounted; that's now the default
3184 * loader/ResourceLoader.cpp:
3185 (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer.
3186 * platform/network/ResourceHandle.cpp:
3187 (WebCore::ResourceHandle::ResourceHandle): Ditto.
3188 * platform/text/StringImpl.cpp:
3189 (WebCore::StringImpl::StringImpl): Ditto.
3191 2008-02-18 Anders Carlsson <andersca@apple.com>
3195 Make ResourceLoader and ResourceHandle start out with a refcount of 1.
3197 * loader/MainResourceLoader.cpp:
3198 (WebCore::MainResourceLoader::create):
3199 * loader/NetscapePlugInStreamLoader.cpp:
3200 (WebCore::NetscapePlugInStreamLoader::create):
3201 * loader/ResourceLoader.cpp:
3202 (WebCore::ResourceLoader::ResourceLoader):
3203 * loader/SubresourceLoader.cpp:
3204 (WebCore::SubresourceLoader::create):
3205 * platform/network/ResourceHandle.cpp:
3206 (WebCore::ResourceHandle::ResourceHandle):
3207 (WebCore::ResourceHandle::create):
3209 2008-02-19 Alp Toker <alp@atoker.com>
3211 Reviewed by Mark Rowe.
3213 http://bugs.webkit.org/show_bug.cgi?id=16863
3214 [GTK] tab focusing doesn't work
3216 GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
3219 Use GDK_META_MASK where available, otherwise do not support the meta
3220 key. This matches the behaviour of other applications.
3222 Also add a comment noting that the platform event constructors need to
3223 be kept in sync (it's not obvious that there are multiple places that
3224 check the key state).
3226 * platform/gtk/KeyEventGtk.cpp:
3227 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3228 * platform/gtk/MouseEventGtk.cpp:
3229 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3230 * platform/gtk/WheelEventGtk.cpp:
3231 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3233 2008-02-18 Brady Eidson <beidson@apple.com>
3235 Reviewed by Sam Weinig's white rhino tusk stamp
3237 SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase
3239 * platform/sql/SQLiteTransaction.cpp:
3240 (WebCore::SQLiteTransaction::stop):
3242 2008-02-18 Brady Eidson <beidson@apple.com>
3246 Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released
3248 Test: platform/mac/plugins/webScriptObject-exception-deadlock.html
3250 * bindings/objc/WebScriptObject.mm:
3251 (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key]; // defaults to throwing an exception`
3252 says it all - it throws an exception. This method also happens to hold the JSLock. Problematically, when the exeception
3253 is thrown and the method exited, the JSLock is never released. Fix that without otherwise changing behavior by holding the
3254 JSLock in two individual scopes - Right before the exception and right after.
3256 2008-02-18 Darin Adler <darin@apple.com>
3260 - reduce use of DeprecatedString and memory allocations in processing of CSS
3261 - remove unnecessary double -> float -> double trip in the CSS parser
3262 - cleaned up names and structure in CSS grammar
3264 * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp
3265 instead, and they now work on ParseString and String objects and don't require the caller
3266 to put the string into a char*. Gave members of the %union more sensible names, removed
3267 duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving
3269 * css/CSSParser.cpp:
3270 (WebCore::equalIgnoringCase): Added.
3271 (WebCore::hasPrefix): Added.
3272 (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID,
3273 which obviates the need to call lower() and utf8() or to allocate memory at all. Also
3274 used equalIgnoringCase rather than putting the value into a String just to compare it.
3275 (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change
3276 along with the CSSGrammar.y change, removes the double -> float -> double round trip, and
3277 affects the result of one layout test.
3278 (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but
3279 without allocating any memory.
3280 (WebCore::cssValueKeywordID): Ditto.
3281 * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in
3282 CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions.
3284 * css/CSSStyleDeclaration.cpp:
3285 (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID.
3286 (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto.
3287 (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto.
3288 (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto.
3289 (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto.
3290 (WebCore::CSSStyleDeclaration::setProperty): Ditto.
3291 (WebCore::CSSStyleDeclaration::removeProperty): Ditto.
3292 (WebCore::CSSStyleDeclaration::isPropertyName): Ditto.
3293 * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate,
3294 and the getPropertyID function declaration along with its associated apology comment.
3296 * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an
3297 enumeration, like properties, since you rarely have any reason to handle all values, but
3298 often have a reason to handle all properties). Renamed the constant for the number of CSS
3299 value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength.
3301 * platform/text/String.cpp:
3302 (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer
3303 rather than a CString.
3305 2008-02-18 Dan Bernstein <mitz@apple.com>
3307 Reviewed by Dave Hyatt.
3309 - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms
3311 Test: fast/css/font-face-multiple-remote-sources.html
3313 * css/CSSFontFace.cpp:
3314 (WebCore::CSSFontFace::fontLoaded):
3315 * css/CSSSegmentedFontFace.cpp:
3316 (WebCore::CSSSegmentedFontFace::fontLoaded):
3318 2008-02-18 Darin Adler <darin@apple.com>
3322 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3323 (WebCore::hasCSSPropertyNamePrefix): Added.
3324 (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster
3325 by using a Vector<UChar> and eliminating all the string operations.
3327 2008-02-18 Stephanie Lewis <slewis@apple.com>
3331 Remove workaround for <rdar://problem/5695848>.
3333 * platform/network/cf/ResourceResponseCFNet.cpp:
3334 (WebCore::ResourceResponse::doUpdateResourceResponse):
3336 2008-02-18 Samuel Weinig <sam@webkit.org>
3338 Reviewed by Geoff Garen.
3340 Fix for http://bugs.webkit.org/show_bug.cgi?id=17419
3341 Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode
3343 * bindings/js/kjs_proxy.cpp:
3344 (WebCore::KJSProxy::initScript):
3346 2008-02-18 Alp Toker <alp@atoker.com>
3348 Reviewed by Mark Rowe.
3350 http://bugs.webkit.org/show_bug.cgi?id=17381
3351 [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2)
3353 This patch resolves the regression for the GTK+ port.
3355 * platform/network/curl/ResourceHandleManager.cpp:
3356 (WebCore::parseDataUrl):
3358 2008-02-18 Darin Adler <darin@apple.com>
3362 * platform/network/win/ResourceHandleWin.cpp:
3363 (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString.
3364 (WebCore::ResourceHandle::start): Ditto.
3366 2008-02-18 Darin Adler <darin@apple.com>
3370 * platform/network/win/CookieJarWin.cpp:
3371 (WebCore::setCookies): Use String instead of DeprecatedString.
3372 (WebCore::cookies): Ditto.
3374 2008-02-18 Darin Adler <darin@apple.com>
3378 - removed use of DeprecatedString in the Color class
3380 * platform/graphics/Color.cpp:
3381 (WebCore::Color::parseHexColor): Streamlined logic a bit with early returns.
3382 Used toASCIIHexValue a character at a time rather than using toIntStrict
3384 (WebCore::findNamedColor): Added. Uses a fixed-size char buffer to look up
3385 a color using the gperf-generated findColor function. Saves a memory allocation
3386 vs. the old version that called DeprecatedString::latin1().
3387 (WebCore::Color::setNamedColor): Changed to use findNamedColor.
3389 2008-02-18 Darin Adler <darin@apple.com>
3393 * editing/htmlediting.cpp:
3394 (WebCore::stringWithRebalancedWhitespace): Changed to use String instead of
3397 2008-02-18 Darin Adler <darin@apple.com>
3401 * editing/SelectionController.cpp:
3402 (WebCore::SelectionController::debugRenderer): Changed to use String instead of
3405 2008-02-18 Darin Adler <darin@apple.com>
3407 Reviewed and landed by Sam.
3409 Remove DeprecatedStringList.
3413 * WebCore.vcproj/WebCore.vcproj:
3414 * WebCore.xcodeproj/project.pbxproj:
3415 * WebCoreSources.bkl:
3416 * editing/markup.cpp:
3417 * platform/DeprecatedStringList.cpp: Removed.
3418 * platform/DeprecatedStringList.h: Removed.
3419 * platform/mac/DeprecatedStringListMac.mm: Removed.
3421 2008-02-18 Darin Adler <darin@apple.com>
3425 * css/CSSPrimitiveValueMappings.h: Add default cases to all the switch statements.
3426 This will ease the way some day if we decide to use an enum instead of int; otherwise
3427 we'll have a ton of "unhandled enum value" warnings here.
3429 2008-02-18 Alp Toker <alp@atoker.com>
3431 Build fix for GTK+ < 2.10. Fall back to simple text clipboard copy
3432 with older GTK+ versions for now.
3434 * platform/gtk/PasteboardGtk.cpp:
3435 (WebCore::Pasteboard::writeSelection):
3437 2008-02-18 Darin Adler <darin@apple.com>
3441 * WebCore.base.exp: Export a couple of WebCore::String functions we plan to use
3442 in the future in WebKit.
3444 2008-02-18 Darin Adler <darin@apple.com>
3448 * DerivedSources.make: Added the scripts to the ENABLE_SVG versions of the rules
3449 for CSSPropertyNames.h and CSSValueKeywords.h. Somehow that got left out, so the
3450 files would not be regenerated if the scripts were changed (but would if SVG was
3453 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
3457 * platform/KURL.h: (WebCore::KURL::operator const String&): Added, to avoid unexpected
3458 conversion via UString (as in bug 17418).
3460 2008-02-18 Jon Honeycutt <jhoneycutt@apple.com>
3464 <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort
3465 slow script Flash 9 dialog at http://www.kidzui.com
3467 When navigating to a new page, we stop all outstanding PluginStreams.
3468 Flash hangs in the call to NPP_URLNotify. It eventually displays the
3469 "slow script" dialog, which relinquishes control to the system. While
3470 this dialog is running, the request we are in the process of cancelling
3471 completes, and we re-enter Flash to deliver the data. When the dialog
3472 is dismissed, the internal state of Flash has changed, and Flash
3473 crashes with a null dereference.
3475 To work around this, we can defer loading before entering plug-in code,
3476 so that even if a plug-in yields to the system, we won't get callbacks
3477 while we're handling a callback.
3479 * plugins/PluginStream.cpp:
3480 (WebCore::PluginStream::startStream): Defers loads while calling into
3482 (WebCore::PluginStream::destroyStream): Same.
3483 (WebCore::PluginStream::deliverData): Same.
3484 (WebCore::PluginStream::didFail): Protect 'this' from deletion by
3485 destroyStream. Null out m_loader only after destroyStream returns.
3486 (WebCore::PluginStream::didFinishLoading): Same.
3488 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
3492 http://bugs.webkit.org/show_bug.cgi?id=17418
3493 REGRESSION: Assertion failure dragging image (JSLock::lockCount() > 0)
3495 * platform/win/ClipboardWin.cpp:
3496 (WebCore::ClipboardWin::declareAndWriteDragImage): Explicitly convert from KURL to String,
3497 as an implicit conversion uses UString and thus needs a JSLock.
3499 2008-02-17 Sam Weinig <sam@webkit.org>
3503 * loader/FrameLoader.cpp:
3504 (WebCore::FrameLoader::changeLocation):
3506 2008-02-17 Sam Weinig <sam@webkit.org>
3510 * WebCore.xcodeproj/project.pbxproj:
3512 2008-02-17 Alp Toker <alp@atoker.com>
3514 Attempt to fix the Wx build (has been broken all weekend).
3516 Stub out some graphics functions.
3518 * platform/graphics/wx/GraphicsContextWx.cpp:
3519 (WebCore::GraphicsContext::beginPath):
3520 (WebCore::GraphicsContext::addPath):
3521 * platform/graphics/wx/PathWx.cpp:
3522 (WebCore::Path::isEmpty):
3524 2008-02-17 Julien Chaffraix <julien.chaffraix@gmail.com>
3526 Reviewed by Alexey Proskuryakov.
3528 http://bugs.webkit.org/show_bug.cgi?id=16989
3529 bug 16989 : Add send() flag checks in XmlHttpRequest
3531 Splitted XmlHttpRequest::abort into abort (called from JavaScript) and internalAbort that
3532 perform the cancellation and is called mainly from internal methods.
3534 Tests: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
3535 http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html
3536 http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html
3538 * xml/XMLHttpRequest.cpp:
3539 (WebCore::XMLHttpRequest::open): Now call internalAbort() and moved readyState change into method
3540 (WebCore::XMLHttpRequest::send): Added m_loader check
3541 (WebCore::XMLHttpRequest::abort): Now update readyState and clear the request headers as specified
3544 (WebCore::XMLHttpRequest::internalAbort): Perform cancellation internal operations (no readyState update)
3545 (WebCore::XMLHttpRequest::setRequestHeader): Added m_loader check
3547 (WebCore::XMLHttpRequest::processSyncLoadResults): Now call internalAbort() instead of abort()
3548 (WebCore::XMLHttpRequest::willSendRequest): Ditto
3549 (WebCore::XMLHttpRequest::cancelRequests): Ditto
3550 (WebCore::XMLHttpRequest::detachRequests): Ditto
3551 * xml/XMLHttpRequest.h: Added the private internalAbort method
3553 2008-02-17 Sam Weinig <sam@webkit.org>
3555 Reviewed by Dan Bernstein.
3557 Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
3558 document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
3560 - Updated fast/events/event-instanceof.html to test document.createEvent("MessageEvent").
3562 * DerivedSources.make:
3563 Generate Objective-C binding for DOMProgressEvent which was missing.
3565 * WebCore.xcodeproj/project.pbxproj:
3566 Add missing DOMProgressEvent files to the project.
3568 * bindings/js/JSEventCustom.cpp:
3570 Clean up and add case for SVGZoomEvent that was missing.
3572 * bindings/objc/DOMEvents.mm:
3573 (+[DOMEvent _wrapEvent:WebCore::]):
3574 Clean up and add cases for ProgressEvent and MessageEvent that were missing.
3577 (WebCore::Document::createEvent):
3578 Add case for MessageEvent.