1 2008-02-23 Dan Bernstein <mitz@apple.com>
3 Reviewed by Dave Hyatt.
5 - make non-autowrapping text clear floats
7 Test: fast/text/whitespace/nowrap-clear-float.html
9 * rendering/RenderBlock.cpp:
10 (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
11 this and changed to avoid comparing bottom to 0 in each iteration.
12 (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
13 * rendering/RenderBlock.h:
15 (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
16 findNextLineBreak() and simplified.
17 (WebCore::RenderBlock::findNextLineBreak): Changed to call
18 fitBelowFloats(). Fixed the bug by trying to fit below floats in the
19 case of non-wrapping text. Removed some redundancy.
21 2008-02-23 Sam Weinig <sam@webkit.org>
23 Reviewed by Oliver Hunt.
25 Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
26 Speed up DOM lists array subscription syntax by using the fast
27 getOwnPropertySlot and set paths
29 - 6x speed improvement on Oliver's ImageData put test.
31 * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
32 and put when an indexGetter or indexSetter is used. We can not use the fast
33 path if an overridingNameGetter is used as there would be no way to override.
35 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
37 wx build fix after JSImageData.cpp was added.
41 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
43 Windows build fix - move ThreadCondition implementation from WebCore to WTF.
45 * WebCore.vcproj/WebCore.vcproj:
46 * platform/win/ThreadConditionWin.cpp: Removed.
48 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
52 Move basic threading support from WebCore to WTF.
54 One call that remains in WebCore is callOnMainThread(), and it has its own header now.
56 * ForwardingHeaders/wtf/Locker.h: Added.
57 * ForwardingHeaders/wtf/MessageQueue.h: Added.
58 * ForwardingHeaders/wtf/Threading.h: Added.
61 * WebCore.vcproj/WebCore.vcproj:
62 * WebCore.xcodeproj/project.pbxproj:
64 * bindings/js/JSCustomSQLTransactionCallback.cpp:
65 * dom/XMLTokenizer.cpp:
66 * loader/icon/IconDatabase.cpp:
67 (WebCore::iconDatabase):
68 * loader/icon/IconDatabase.h:
69 * platform/Locker.h: Removed.
70 * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
71 (WebCore::initializeThreadingAndMainThread):
72 * platform/MessageQueue.h: Removed.
73 * platform/SecurityOrigin.h:
74 * platform/Threading.h: Removed.
75 * platform/ThreadingNone.cpp: Removed.
76 * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
77 * platform/gtk/ThreadingGtk.cpp: Removed.
78 * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
79 * platform/mac/Threading.mm: Removed.
80 * platform/pthreads: Removed.
81 * platform/pthreads/ThreadingPthreads.cpp: Removed.
82 * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
83 * platform/qt/ThreadingQt.cpp: Removed.
84 * platform/sql/SQLValue.h:
85 * platform/sql/SQLiteAuthorizer.h:
86 * platform/sql/SQLiteDatabase.h:
87 * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
88 (WebCore::initializeThreadingAndMainThread):
89 * platform/win/MutexWin.cpp: Removed.
90 * platform/win/ThreadingWin.cpp: Removed.
91 * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
92 * platform/wx/ThreadingWx.cpp: Removed.
93 * storage/Database.cpp:
94 (WebCore::Database::Database):
96 * storage/DatabaseTask.h:
97 * storage/DatabaseThread.h:
98 * storage/DatabaseTracker.cpp:
99 * storage/OriginQuotaManager.h:
100 * storage/SQLError.h:
101 * storage/SQLResultSet.h:
102 * storage/SQLStatement.h:
103 * storage/SQLStatementCallback.h:
104 * storage/SQLStatementErrorCallback.h:
105 * storage/SQLTransaction.h:
106 * storage/SQLTransactionCallback.h:
107 * storage/SQLTransactionErrorCallback.h:
110 2008-02-23 David Kilzer <ddkilzer@apple.com>
112 Please clarify licensing for some files
113 <http://bugs.webkit.org/show_bug.cgi?id=14970>
117 * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
118 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
119 * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
121 2008-02-22 Justin Garcia <justin.garcia@apple.com>
123 Reviewed by Anders Carlsson.
125 <rdar://problem/5714333> Add document.getSelection()
127 Add a synonym for window.getSelection() that FF supports. There were requests in
128 this bugs dupes to also support the IE only document.selection, but IE's Selection
129 object is too different than ours currently for that to be safe (specifically, we
130 don't support enough of IE's TextRange methods on our DOM Range object yet). I
131 filed <rdar://problem/5761233> to cover that.
134 (WebCore::Document::getSelection): Added.
136 * dom/Document.idl: Ditto. JS only since this is about web compatibility.
138 2008-02-22 Oliver Hunt <oliver@apple.com>
140 Reviewed by NOBODY (build fix).
144 * WebCoreSources.bkl:
146 2008-02-22 Oliver Hunt <oliver@apple.com>
148 Reviewed by NOBODY (build fix).
150 Once more with the cairo/qt/wx build fixing
152 * platform/graphics/cairo/ImageBufferCairo.cpp:
153 * platform/graphics/qt/ImageBufferQt.cpp:
154 * platform/graphics/wx/ImageBufferWx.cpp:
156 2008-02-22 Mark Rowe <mrowe@apple.com>
158 Windows build fix. Add missing include of DeprecatedCString.h and sort existing includes.
160 * platform/win/PasteboardWin.cpp:
162 2008-02-22 Mark Rowe <mrowe@apple.com>
164 Speculative Windows build fix.
166 * platform/win/ClipboardUtilitiesWin.cpp: Add missing include of DeprecatedCString.h and sort existing includes.
167 * platform/win/ClipboardWin.cpp: Ditto.
169 2008-02-22 Oliver Hunt <oliver@apple.com>
171 Reviewed by NOBODY (build fix).
173 Build fix for windows, wx and qt
175 * html/CanvasPixelArray.h:
176 (WebCore::CanvasPixelArray::set):
178 2008-02-22 Oliver Hunt <oliver@apple.com>
180 Reviewed by NOBODY (build fix).
182 Unbreak windows vcproj
184 * WebCore.vcproj/WebCore.vcproj:
186 2008-02-22 Oliver Hunt <oliver@apple.com>
190 Support Canvas.getImageData and Canvas.createImageData
192 This patch adds support for all the pixel reading portions
193 of the HTML5 Canvas spec. There are two new types ImageData
194 and CanvasPixelArray which are used to provide the HTML5
195 ImageData object, and the required semantics for assignment
196 to the ImageData data array.
198 We only implement the CG version of ImageBuffer::getImageData,
199 but the logic is null safe, so this will not introduce any
200 crashes into other platforms, unfortunately it will result in
201 JS Object detection "lying" on non-CG platforms.
203 Tests: fast/canvas/canvas-ImageData-behaviour.html
204 fast/canvas/canvas-getImageData.html
206 * DerivedSources.make:
209 * WebCore.vcproj/WebCore.vcproj:
210 * WebCore.xcodeproj/project.pbxproj:
211 * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
212 (WebCore::JSCanvasPixelArray::indexGetter):
213 (WebCore::JSCanvasPixelArray::indexSetter):
215 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
216 * bindings/scripts/CodeGeneratorJS.pm:
217 * html/CanvasPixelArray.cpp: Added.
218 (WebCore::CanvasPixelArray::create):
219 * html/CanvasPixelArray.h: Added.
220 (WebCore::CanvasPixelArray::data):
221 (WebCore::CanvasPixelArray::length):
222 (WebCore::CanvasPixelArray::set):
223 (WebCore::CanvasPixelArray::get):
224 * html/CanvasPixelArray.idl: Added.
225 * html/CanvasRenderingContext2D.cpp:
226 (WebCore::createEmptyImageData):
227 (WebCore::CanvasRenderingContext2D::createImageData):
228 (WebCore::CanvasRenderingContext2D::getImageData):
229 * html/CanvasRenderingContext2D.h:
230 * html/CanvasRenderingContext2D.idl:
231 * html/HTMLCanvasElement.cpp:
232 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
233 (WebCore::HTMLCanvasElement::createImageBuffer):
234 * html/HTMLCanvasElement.h:
235 * html/ImageData.cpp: Added.
236 (WebCore::ImageData::create):
237 (WebCore::ImageData::ImageData):
238 * html/ImageData.h: Added.
239 (WebCore::ImageData::width):
240 (WebCore::ImageData::height):
241 (WebCore::ImageData::data):
242 * html/ImageData.idl: Added.
243 * platform/graphics/ImageBuffer.h:
244 * platform/graphics/cairo/ImageBufferCairo.cpp:
245 (WebCore::ImageBuffer::getImageData):
246 * platform/graphics/cg/ImageBufferCG.cpp:
247 (WebCore::ImageBuffer::getImageData):
248 * platform/graphics/qt/ImageBufferQt.cpp:
249 (WebCore::ImageBuffer::getImageData):
250 * platform/graphics/wx/ImageBufferWx.cpp:
251 (WebCore::ImageBuffer::getImageData):
253 2008-02-22 Sam Weinig <sam@webkit.org>
255 Rubber-stamped by Adam Roben.
257 Rid the project of the Devil known as DeprecatedString!
262 * WebCore.vcproj/WebCore.vcproj:
263 * WebCore.xcodeproj/project.pbxproj:
264 * WebCoreSources.bkl:
266 * html/HTMLFormElement.cpp:
267 * platform/DeprecatedString.cpp: Removed.
268 * platform/DeprecatedString.h: Removed.
269 * platform/graphics/qt/IconQt.cpp:
270 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
271 * platform/gtk/CookieJarGtk.cpp:
272 * platform/gtk/CursorGtk.cpp:
273 * platform/gtk/KeyEventGtk.cpp:
274 * platform/mac/DeprecatedStringMac.mm: Removed.
275 * platform/network/qt/ResourceHandleQt.cpp:
276 * platform/network/win/CookieJarWin.cpp:
278 * platform/qt/ClipboardQt.cpp:
279 * platform/qt/CookieJarQt.cpp:
280 * platform/qt/CursorQt.cpp:
281 * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
282 * platform/text/AtomicString.cpp:
283 * platform/text/AtomicString.h:
284 * platform/text/PlatformString.h:
285 * platform/text/String.cpp:
286 * platform/text/StringImpl.cpp:
287 * platform/text/qt/StringQt.cpp:
288 (WebCore::String::String):
289 * platform/text/wx/StringWx.cpp:
290 * platform/win/BString.cpp:
291 * platform/win/BString.h:
292 * platform/win/PasteboardWin.cpp:
294 2008-02-22 Sam Weinig <sam@webkit.org>
296 Reviewed by Geoff Garen.
298 - Remove use of DeprecatedString in CSSStyleSelector.
300 * css/CSSStyleSelector.cpp:
301 (WebCore::findHash): Removed. Use find instead.
302 (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
303 (WebCore::findSlashSlash): Ditto.
304 (WebCore::findSlashDotSlash): Ditto.
305 (WebCore::containsColonSlashSlash): Ditto.
306 (WebCore::cleanPath): Change to operate on a String.
307 (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
309 2008-02-22 Geoffrey Garen <ggaren@apple.com>
311 Reviewed by Sam Weinig.
313 Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
314 associated objects @ www.viamichelin.it, which was probably an underlying
315 cause of <rdar://problem/5744037> Gmail out of memory (17455)
317 If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
318 the XMLHttpRequest but think we hadn't, therefore never
319 calling deref() / gcUnprotect().
321 This could happen at gmail.com, since gmail.com attempts to send
322 XMLHttpRequests from unload handlers in order to gather usage statistics.
323 (According to comments in the code, SubresourceLoader::create returns
324 NULL when called from an unload handler.)
326 The solution is to ref() / gcProtect() only if SubresourceLoader::create
327 doesn't return NULL. This make sense, since we only need to protect the
328 request as long as it has an outstanding network transaction.
330 * xml/XMLHttpRequest.cpp:
331 (WebCore::XMLHttpRequest::XMLHttpRequest):
332 (WebCore::XMLHttpRequest::send):
334 2008-02-22 Darin Adler <darin@apple.com>
336 Reviewed, tweaked and landed by Sam.
338 - Make RegularExpression operate on Strings instead of DeprecatedStrings.
340 * dom/DOMImplementation.cpp:
341 (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
342 to build up the RegularExpression.
344 (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
345 (WebCore::Frame::searchForLabelsAboveCell): Ditto.
346 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
347 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
349 * page/mac/FrameMac.mm:
350 (WebCore::regExpForLabels): Ditto.
351 (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
352 (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
353 (WebCore::Frame::matchLabelsAgainstElement): Ditto.
355 * platform/text/RegularExpression.cpp:
356 (WebCore::RegularExpression::Private::Private):
357 (WebCore::RegularExpression::Private::compile):
358 (WebCore::RegularExpression::RegularExpression):
359 (WebCore::RegularExpression::operator=):
360 (WebCore::RegularExpression::pattern):
361 (WebCore::RegularExpression::match):
362 (WebCore::RegularExpression::search):
363 (WebCore::RegularExpression::searchRev):
364 (WebCore::replace): Added.
365 * platform/text/RegularExpression.h:
366 Change functions to take Strings as input instead of DeprecatedStrings and
367 reduce the complexity of the class by removing unneeded globbing support.
369 2008-02-22 Jon Honeycutt <jhoneycutt@apple.com>
373 <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
374 during stress test (after only 5 min) - null dereference
376 Full-frame plug-ins create PluginStream objects without loaders, as the
377 PluginView receives the loading callbacks. We were trying to call
378 setDefersLoading on these null pointers.
380 * plugins/PluginStream.cpp:
381 (WebCore::PluginStream::startStream): Add null check.
382 (WebCore::PluginStream::destroyStream): Same.
383 (WebCore::PluginStream::deliverData): Same.
385 2008-02-22 Darin Adler <darin@apple.com>
387 Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
389 - Remove uses of DeprecatedString in Windows plugin code.
391 * plugins/win/PluginPackageWin.cpp:
392 (WebCore::getVersionInfo): Cleanup formatting.
393 (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
394 (WebCore::PluginPackage::storeFileVersion): Move casts.
395 (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
397 (WebCore::PluginPackage::load): Fix whitespace.
398 (WebCore::PluginPackage::hash): Make the hashCodes const
399 * plugins/win/PluginViewWin.cpp:
400 (WebCore::makeURL): Use String instead of DeprecatedString.
401 (WebCore::parseRFC822HeaderFields): Ditto.
402 (WebCore::PluginView::handlePost): Ditto.
403 (WebCore::PluginView::status): Ditto.
405 2008-02-22 Darin Adler <darin@apple.com>
407 Reviewed, tweaked and landed by Sam.
409 - Don't use DeprecatedString in HTMLTokenizer.
411 * html/HTMLTokenizer.cpp:
412 (WebCore::HTMLTokenizer::finish):
413 * platform/text/PlatformString.h:
416 2008-02-21 Sam Weinig <sam@webkit.org>
418 Reviewed by Anders Carlsson.
420 Fix for <rdar://problem/5757946>
422 - Parse URLs before checking whether they are javascript: urls
423 (which require security checks).
425 * bindings/js/JSAttrCustom.cpp:
426 (WebCore::JSAttr::setValue):
427 * bindings/js/JSElementCustom.cpp:
428 (WebCore::allowSettingSrcToJavascriptURL):
429 * bindings/js/JSHTMLFrameElementCustom.cpp:
430 (WebCore::allowSettingJavascriptURL):
431 * bindings/js/JSHTMLIFrameElementCustom.cpp:
432 (WebCore::JSHTMLIFrameElement::setSrc):
434 2008-02-21 Ada Chan <adachan@apple.com>
436 <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
437 We could get a buffer overrun in DeprecatedCString::find() if the end of the
438 string matches a beginning portion of the substring, for example, if string is
439 "a" but the substring is "ab".
440 The code as is also will not match things correctly under certain situations
441 since the inner while loop increments the index. For example, we wouldn't find
442 a match if the string is "aab..." and the substring is "ab". Changed the
443 inner while loop to increment a temporary index into str.
445 Test: fast/loader/charset-parse.html
447 Reviewed by Dan Berstein.
449 * platform/DeprecatedCString.cpp:
450 (WebCore::DeprecatedCString::find):
452 2008-02-21 David Hyatt <hyatt@apple.com>
454 Fix for bug 17301. CSS media queries need to use the correct viewport
455 when contained in documents inside iframes (rather than always using the
456 top-level document's viewport). CSS media queries based on the viewport
457 also needed to be dynamic and update as you resize the window (this is
460 This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
464 Added fast/media/viewport-media-query.html
466 * css/CSSStyleSelector.cpp:
467 (WebCore::CSSStyleSelector::CSSStyleSelector):
468 (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
469 (WebCore::CSSStyleSelector::affectedByViewportChange):
470 * css/CSSStyleSelector.h:
471 (WebCore::MediaQueryResult::MediaQueryResult):
472 * css/MediaQueryEvaluator.cpp:
473 (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
474 (WebCore::MediaQueryEvaluator):
475 (WebCore::MediaQueryEvaluator::eval):
476 (WebCore::colorMediaFeatureEval):
477 (WebCore::monochromeMediaFeatureEval):
478 (WebCore::device_aspect_ratioMediaFeatureEval):
479 (WebCore::device_pixel_ratioMediaFeatureEval):
480 (WebCore::gridMediaFeatureEval):
481 (WebCore::device_heightMediaFeatureEval):
482 (WebCore::device_widthMediaFeatureEval):
483 (WebCore::heightMediaFeatureEval):
484 (WebCore::widthMediaFeatureEval):
485 (WebCore::min_colorMediaFeatureEval):
486 (WebCore::max_colorMediaFeatureEval):
487 (WebCore::min_monochromeMediaFeatureEval):
488 (WebCore::max_monochromeMediaFeatureEval):
489 (WebCore::min_device_aspect_ratioMediaFeatureEval):
490 (WebCore::max_device_aspect_ratioMediaFeatureEval):
491 (WebCore::min_device_pixel_ratioMediaFeatureEval):
492 (WebCore::max_device_pixel_ratioMediaFeatureEval):
493 (WebCore::min_heightMediaFeatureEval):
494 (WebCore::max_heightMediaFeatureEval):
495 (WebCore::min_widthMediaFeatureEval):
496 (WebCore::max_widthMediaFeatureEval):
497 (WebCore::min_device_heightMediaFeatureEval):
498 (WebCore::max_device_heightMediaFeatureEval):
499 (WebCore::min_device_widthMediaFeatureEval):
500 (WebCore::max_device_widthMediaFeatureEval):
501 * css/MediaQueryEvaluator.h:
502 * css/MediaQueryExp.cpp:
503 (WebCore::MediaQueryExp::~MediaQueryExp):
504 * css/MediaQueryExp.h:
505 (WebCore::MediaQueryExp::value):
506 (WebCore::MediaQueryExp::isViewportDependent):
507 * html/HTMLMediaElement.cpp:
508 (WebCore::HTMLMediaElement::pickMedia):
509 * page/FrameView.cpp:
510 (WebCore::FrameView::layout):
512 2008-02-21 Anders Carlsson <andersca@apple.com>
516 Make more classes start out with a refcount of 1.
518 * dom/QualifiedName.cpp:
519 (WebCore::QNameComponentsTranslator::translate):
520 (WebCore::QualifiedName::QualifiedName):
521 * dom/QualifiedName.h:
522 (WebCore::QualifiedName::QualifiedNameImpl::create):
523 (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
524 * history/BackForwardList.cpp:
525 (WebCore::BackForwardList::BackForwardList):
526 * history/BackForwardList.h:
527 (WebCore::BackForwardList::create):
529 (WebCore::Page::Page):
530 * platform/text/CString.cpp:
531 (WebCore::CString::init):
532 (WebCore::CString::newUninitialized):
533 (WebCore::CString::copyBufferIfNeeded):
534 * platform/text/CString.h:
535 (WebCore::CStringBuffer::create):
536 (WebCore::CStringBuffer::CStringBuffer):
538 2008-02-21 Kevin Ollivier <kevino@theolliviers.com>
540 wx build fix for the domString() -> string() rename in r30443.
542 * platform/graphics/wx/FontPlatformDataWx.cpp:
543 (WebCore::FontPlatformData::FontPlatformData):
545 2008-02-21 Antti Koivisto <antti@apple.com>
547 Reviewed by Sam Weinig.
549 <rdar://problem/5753789>
550 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
552 Ensure all versions of allowsAccessFrom are inlined to single functions.
553 This is a 2% win in browser hosted Sunspider.
555 * bindings/js/kjs_window.cpp:
556 (KJS::Window::allowsAccessFrom):
557 (KJS::Window::allowsAccessFromPrivate):
558 * bindings/js/kjs_window.h:
560 2008-02-21 Dan Bernstein <mitz@apple.com>
562 Reviewed by Sam Weinig.
566 * rendering/bidi.cpp:
567 (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
568 true for RenderLineBreak.
569 (WebCore::bidiFirst): Ditto.
570 (WebCore::shouldSkipWhitespaceAfterStartObject):
571 (WebCore::RenderBlock::findNextLineBreak):
573 2008-02-21 Geoffrey Garen <ggaren@apple.com>
575 Reviewed by David Harrison.
577 Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at
578 WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
580 Test: fast/dom/script-element-without-frame-crash.html
582 * html/HTMLTokenizer.cpp:
583 (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
584 accidentally removed in r30325.
586 2008-02-21 Rodney Dawes <dobey@wayofthemonkey.com>
588 GTK+ build fix. s/domString()/string()/
590 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
591 (FontPlatformData::FontPlatformData):
593 2008-02-20 Dan Bernstein <mitz@apple.com>
595 Reviewed by Dave Hyatt.
597 - fix http://bugs.webkit.org/show_bug.cgi?id=17465
598 REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
600 Test: fast/tokenizer/doctype-search-reset.html
602 * html/HTMLTokenizer.cpp:
603 (WebCore::HTMLTokenizer::parseTag):
605 2008-02-20 Dan Bernstein <mitz@apple.com>
607 Reviewed by Dave Hyatt.
609 - fix http://bugs.webkit.org/show_bug.cgi?id=17464
610 REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
612 Test: fast/text/wbr-in-pre-crash.html
614 * rendering/bidi.cpp:
615 (WebCore::RenderBlock::findNextLineBreak):
617 2008-02-20 Oliver Hunt <oliver@apple.com>
621 Bug 17303: Canvas crash in ImageBuffer
623 We handle a null GraphicsContext everywhere, but we weren't checking for
624 a null ImageBuffer, which is what will result in a null GraphicsContext in
627 Test: fast/canvas/access-zero-sized-canvas.html
629 * html/HTMLCanvasElement.cpp:
631 2008-02-20 David Hyatt <hyatt@apple.com>
633 Fix the layout test failure that never should have passed in the first
634 place by making changes to media lists actually result in the recomputation
635 of the style selector. Now it passes for the right reasons and not because
638 Reviewed by Sam Weinig
641 (WebCore::MediaList::deleteMedium):
642 (WebCore::MediaList::setMediaText):
643 (WebCore::MediaList::appendMedium):
644 (WebCore::MediaList::notifyChanged):
647 (WebCore::Document::attach):
649 2008-02-20 Darin Adler <darin@apple.com>
651 Reviewed, tweaked and landed by Sam.
653 - make markup functions not use DeprecatedString.
655 * editing/markup.cpp:
656 (WebCore::append): Added.
657 (WebCore::escapeContentText): Build up string using a Vector.
658 (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
660 2008-02-20 Darin Adler <darin@apple.com>
662 Reviewed, tweaked and landed by Sam.
664 - make TextIterator use a Vector instead of a DeprecatedString.
666 * editing/TextIterator.cpp:
667 (WebCore::CharacterIterator::string): Build up the String using a
669 (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
670 (WebCore::WordAwareIterator::length): Ditto.
671 (WebCore::WordAwareIterator::characters): Ditto.
672 * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
675 2008-02-20 Darin Adler <darin@apple.com>
677 Reviewed, tweaked and landed by Sam.
679 - make HTMLInterchange return a String instead of a DeprecatedString
681 * editing/HTMLInterchange.cpp:
682 (WebCore::): Return a String from convertedSpaceString.
683 (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
684 a DeprecatedString to build up the return String.
685 * editing/HTMLInterchange.h:
687 2008-02-20 Eric Seidel <eric@webkit.org>
691 Remove m_drawingContext and change m_data to m_imageBuffer
693 * html/HTMLCanvasElement.cpp:
694 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
695 (WebCore::HTMLCanvasElement::reset):
696 (WebCore::HTMLCanvasElement::paint):
697 (WebCore::HTMLCanvasElement::createImageBuffer):
698 (WebCore::HTMLCanvasElement::buffer):
699 (WebCore::HTMLCanvasElement::createPlatformImage):
700 * html/HTMLCanvasElement.h:
702 2008-02-20 Anders Carlsson <andersca@apple.com>
706 Rename AtomicString::domString() to AtomicString::string().
708 * css/CSSComputedStyleDeclaration.cpp:
709 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
710 * css/CSSFontSelector.cpp:
711 (WebCore::CSSFontSelector::getFontData):
713 (WebCore::Attr::createTextChild):
715 (WebCore::Comment::nodeName):
717 (WebCore::Document::recalcStyleSelector):
718 (WebCore::Document::setHTMLWindowEventListener):
719 (WebCore::Document::formElementsState):
720 * dom/StyledElement.cpp:
721 (WebCore::StyledElement::parseMappedAttribute):
723 (WebCore::Text::nodeName):
724 * editing/SelectionController.cpp:
725 (WebCore::SelectionController::debugRenderer):
726 * html/HTMLCollection.cpp:
727 (WebCore::HTMLCollection::checkForNameMatch):
728 * html/HTMLElement.cpp:
729 (WebCore::HTMLElement::nodeName):
730 (WebCore::HTMLElement::setHTMLEventListener):
731 * html/HTMLFormCollection.cpp:
732 (WebCore::HTMLFormCollection::getNamedFormItem):
733 * html/HTMLImageElement.cpp:
734 (WebCore::HTMLImageElement::parseMappedAttribute):
735 (WebCore::HTMLImageElement::isURLAttribute):
736 * html/HTMLLinkElement.cpp:
737 (WebCore::HTMLLinkElement::parseMappedAttribute):
738 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
739 * html/HTMLObjectElement.cpp:
740 (WebCore::HTMLObjectElement::isURLAttribute):
741 (WebCore::HTMLObjectElement::containsJavaApplet):
742 * html/HTMLParamElement.cpp:
743 (WebCore::HTMLParamElement::isURLAttribute):
744 * html/HTMLParser.cpp:
745 (WebCore::HTMLParser::handleIsindex):
746 * html/HTMLScriptElement.cpp:
747 (WebCore::HTMLScriptElement::insertedIntoDocument):
748 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
749 * html/HTMLStyleElement.cpp:
750 (WebCore::HTMLStyleElement::parseMappedAttribute):
751 * html/HTMLTokenizer.cpp:
752 (WebCore::HTMLTokenizer::parseTag):
753 * html/HTMLViewSourceDocument.cpp:
754 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
755 * loader/FrameLoader.cpp:
756 (WebCore::FrameLoader::saveDocumentState):
757 * page/FrameTree.cpp:
758 (WebCore::FrameTree::uniqueChildName):
759 * platform/text/AtomicString.h:
760 (WebCore::AtomicString::string):
761 (WebCore::AtomicString::contains):
762 (WebCore::AtomicString::find):
763 (WebCore::AtomicString::startsWith):
764 (WebCore::AtomicString::endsWith):
765 * rendering/RenderPartObject.cpp:
766 (WebCore::RenderPartObject::updateWidget):
767 * svg/SVGElement.cpp:
768 (WebCore::SVGElement::addSVGEventListener):
769 * svg/SVGSVGElement.cpp:
770 (WebCore::SVGSVGElement::addSVGWindowEventListener):
771 * xml/XPathFunctions.cpp:
772 (WebCore::XPath::FunLocalName::evaluate):
773 (WebCore::XPath::FunNamespaceURI::evaluate):
774 (WebCore::XPath::FunName::evaluate):
776 2008-02-20 Brent Fulgham <bfulgham@gmail.com>
780 http://bugs.webkit.org/show_bug.cgi?id=17336
781 Provide implementations for Windows (Cairo) build of WebKit that
782 handles font formatting.
783 - Split font implementation files to allow maximal code sharing
784 between CG and Cairo back-ends.
786 * WebCore.vcproj/WebCore.vcproj:
787 * platform/graphics/SimpleFontData.h: Add signatures for private win
788 initialization functions.
789 * platform/graphics/win/FontCacheWin.cpp:
790 (WebCore::FontCache::platformInit):
791 (WebCore::FontCache::createFontPlatformData):
792 * platform/graphics/win/FontCairoWin.cpp: Removed. Universal version
793 is now part of platform/graphics/cairo.
794 * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
795 (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
796 (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
797 (WebCore::releaseData):
798 (WebCore::createFontCustomPlatformData):
799 * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
800 (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
801 * platform/graphics/win/FontPlatformData.h:
802 (WebCore::FontPlatformData::FontPlatformData):
803 (WebCore::FontPlatformData::fontFace):
804 (WebCore::FontPlatformData::scaledFont):
805 (WebCore::FontPlatformData::operator==):
806 * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
807 (WebCore::FontPlatformData::platformDataInit):
808 * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
809 (WebCore::FontPlatformData::platformDataInit):
810 (WebCore::FontPlatformData::FontPlatformData):
811 (WebCore::FontPlatformData::setFont):
812 * platform/graphics/win/FontPlatformDataWin.cpp: Moved CG-specific
813 code to FontPlatformDataCG.cpp.
814 (WebCore::FontPlatformData::FontPlatformData):
815 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
816 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
817 (WebCore::GlyphPage::fill):
818 * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed. Replaced
819 with CG- and Cairo-specific versions.
820 * platform/graphics/win/SimpleFontDataCGWin.cpp:
821 (WebCore::SimpleFontData::platformInit):
822 (WebCore::SimpleFontData::platformDestroy):
823 (WebCore::SimpleFontData::platformWidthForGlyph):
824 * platform/graphics/win/SimpleFontDataCairoWin.cpp:
825 (WebCore::SimpleFontData::platformInit):
826 (WebCore::SimpleFontData::platformDestroy):
827 (WebCore::SimpleFontData::platformWidthForGlyph):
828 (WebCore::SimpleFontData::setFont):
829 * platform/graphics/win/SimpleFontDataWin.cpp:
830 (WebCore::SimpleFontData::initGDIFont):
831 (WebCore::SimpleFontData::platformCommonDestroy):
832 (WebCore::SimpleFontData::widthForGDIGlyph):
834 2008-02-20 Darin Adler <darin@apple.com>
838 * dom/Node.h: Took out unneeded forward declaration of TextStream.
840 2008-02-20 Darin Adler <darin@apple.com>
844 * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
846 2008-02-20 David Hyatt <hyatt@apple.com>
848 Fix for bug 16760, incorrect <object> MIME type handling and fallback
853 * html/HTMLImageLoader.cpp:
854 (WebCore::HTMLImageLoader::notifyFinished):
855 If the image had an error, make sure to do <object> fallback.
857 * html/HTMLObjectElement.cpp:
858 (WebCore::HTMLObjectElement::renderFallbackContent):
859 Before doing fallback check if there is a MIME type mismatch between
860 an image type and a non-image type. If so, detach and re-attach after
861 storing the correct MIME type.
864 (WebCore::Loader::didReceiveData):
865 Consider it an error when a 404 is encountered on a CachedResource load.
867 2008-02-20 Anders Carlsson <andersca@apple.com>
871 StringImpl constructors used by AtomicString should start with a refcount of 1.
873 * platform/text/AtomicString.cpp:
874 (WebCore::AtomicString::add):
875 * platform/text/AtomicString.h:
876 * platform/text/StringImpl.cpp:
877 (WebCore::StringImpl::StringImpl):
879 2008-02-20 Darin Adler <darin@apple.com>
881 * bindings/js/kjs_navigator.cpp:
882 (WebCore::needsYouTubeQuirk): Tweak comments.
884 2008-02-20 Anders Carlsson <andersca@apple.com>
888 Change all refcounted classes in page/ to start with a refcount of 1.
891 (WebCore::BarInfo::BarInfo):
893 (WebCore::BarInfo::create):
895 (WebCore::Console::Console):
897 (WebCore::Console::create):
898 * page/DOMSelection.cpp:
899 (WebCore::DOMSelection::DOMSelection):
900 * page/DOMSelection.h:
901 (WebCore::DOMSelection::create):
902 * page/DOMWindow.cpp:
903 (WebCore::DOMWindow::DOMWindow):
904 (WebCore::DOMWindow::screen):
905 (WebCore::DOMWindow::history):
906 (WebCore::DOMWindow::locationbar):
907 (WebCore::DOMWindow::menubar):
908 (WebCore::DOMWindow::personalbar):
909 (WebCore::DOMWindow::scrollbars):
910 (WebCore::DOMWindow::statusbar):
911 (WebCore::DOMWindow::toolbar):
912 (WebCore::DOMWindow::console):
913 (WebCore::DOMWindow::getSelection):
915 (WebCore::DOMWindow::create):
917 (WebCore::Frame::domWindow):
919 (WebCore::History::History):
921 (WebCore::History::create):
922 * page/InspectorController.cpp:
923 (WebCore::InspectorResource::create):
924 (WebCore::InspectorResource::InspectorResource):
925 (WebCore::InspectorDatabaseResource::create):
926 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
927 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
928 (WebCore::InspectorController::identifierForInitialRequest):
929 (WebCore::InspectorController::didOpenDatabase):
931 (WebCore::Plugin::create):
932 (WebCore::Plugin::Plugin):
934 (WebCore::Screen::Screen):
936 (WebCore::Screen::create):
938 2008-02-20 Sam Weinig <sam@webkit.org>
940 Reviewed by Darin and Geoff.
942 - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
944 * WebCore.base.exp: Updated.
946 * bindings/js/kjs_navigator.cpp:
947 (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed.
948 (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk
949 return true, then return the empty string.
952 (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false.
953 (WebCore::Settings::setNeedsSiteSpecificQuirks): Added.
954 * page/Settings.h: Added m_needsSiteSpecificQuirks.
955 (WebCore::Settings::needsSiteSpecificQuirks): Added.
957 2008-02-20 David Hyatt <hyatt@apple.com>
959 Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
961 Reviewed by Sam Weinig
963 Many tests added in fast/doctypes.
965 * dom/DOMImplementation.cpp:
966 (WebCore::DOMImplementation::createDocument):
967 (WebCore::DOMImplementation::createHTMLDocument):
969 (WebCore::Document::Document):
970 (WebCore::Document::setDocType):
971 (WebCore::Document::attach):
972 (WebCore::Document::getImageMap):
974 (WebCore::Document::doctype):
975 (WebCore::Document::):
976 (WebCore::Document::determineParseMode):
977 (WebCore::Document::setParseMode):
978 (WebCore::Document::parseMode):
979 (WebCore::Document::inCompatMode):
980 (WebCore::Document::inAlmostStrictMode):
981 (WebCore::Document::inStrictMode):
982 * dom/DocumentType.cpp:
983 (WebCore::DocumentType::cloneNode):
984 (WebCore::DocumentType::insertedIntoDocument):
985 (WebCore::DocumentType::removedFromDocument):
986 * dom/DocumentType.h:
988 (WebCore::Node::childAllowed):
989 * dom/StyledElement.cpp:
990 (WebCore::StyledElement::attributeChanged):
991 * dom/XMLTokenizer.cpp:
992 (WebCore::XMLTokenizer::internalSubset):
994 * editing/markup.cpp:
995 (WebCore::appendStartMarkup):
996 * html/HTMLAppletElement.cpp:
997 (WebCore::HTMLAppletElement::createRenderer):
998 * html/HTMLDocument.cpp:
999 (WebCore::HTMLDocument::HTMLDocument):
1000 (WebCore::HTMLDocument::childAllowed):
1001 (WebCore::HTMLDocument::determineParseMode):
1002 * html/HTMLDocument.h:
1003 * html/HTMLMapElement.cpp:
1004 (WebCore::HTMLMapElement::parseMappedAttribute):
1005 * html/HTMLParamElement.cpp:
1006 (WebCore::HTMLParamElement::parseMappedAttribute):
1007 * html/HTMLParser.cpp:
1008 (WebCore::HTMLParser::parseDoctypeToken):
1009 * html/HTMLParser.h:
1010 * html/HTMLTokenizer.cpp:
1011 (WebCore::HTMLTokenizer::reset):
1012 (WebCore::HTMLTokenizer::parseDoctype):
1013 (WebCore::HTMLTokenizer::parseTag):
1014 (WebCore::HTMLTokenizer::write):
1015 (WebCore::HTMLTokenizer::finish):
1016 (WebCore::HTMLTokenizer::processDoctypeToken):
1017 * html/HTMLTokenizer.h:
1019 (WebCore::DoctypeToken::DoctypeToken):
1020 (WebCore::DoctypeToken::reset):
1021 (WebCore::DoctypeToken::state):
1022 (WebCore::DoctypeToken::setState):
1023 (WebCore::HTMLTokenizer::State::inDoctype):
1024 (WebCore::HTMLTokenizer::State::setInDoctype):
1025 (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
1026 (WebCore::HTMLTokenizer::State::):
1027 * html/HTMLViewSourceDocument.cpp:
1028 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
1029 (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
1030 * html/HTMLViewSourceDocument.h:
1031 * loader/FrameLoader.cpp:
1032 (WebCore::FrameLoader::write):
1033 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
1035 (WebCore::Frame::documentTypeString):
1036 * page/inspector/utilities.js:
1037 * xml/XSLTProcessor.cpp:
1038 (WebCore::XSLTProcessor::createDocumentFromSource):
1040 2008-02-20 Anders Carlsson <andersca@apple.com>
1044 Change most SVG related classes to start out with a ref count of 1.
1046 * bindings/js/JSSVGPointListCustom.cpp:
1047 (WebCore::JSSVGPointList::initialize):
1048 (WebCore::JSSVGPointList::insertItemBefore):
1049 (WebCore::JSSVGPointList::replaceItem):
1050 (WebCore::JSSVGPointList::appendItem):
1051 * bindings/js/JSSVGTransformListCustom.cpp:
1052 (WebCore::JSSVGTransformList::initialize):
1053 (WebCore::JSSVGTransformList::insertItemBefore):
1054 (WebCore::JSSVGTransformList::replaceItem):
1055 (WebCore::JSSVGTransformList::appendItem):
1056 * rendering/SVGCharacterLayoutInfo.h:
1057 (WebCore::SVGCharOnPath::create):
1058 (WebCore::SVGCharOnPath::SVGCharOnPath):
1059 * rendering/SVGRootInlineBox.cpp:
1060 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1061 * svg/SVGAnimationElement.cpp:
1062 (WebCore::SVGAnimationElement::parseBeginOrEndValue):
1063 * svg/SVGClipPathElement.cpp:
1064 (WebCore::SVGClipPathElement::canvasResource):
1065 * svg/SVGElementInstance.cpp:
1066 (WebCore::SVGElementInstance::childNodes):
1067 * svg/SVGElementInstanceList.cpp:
1068 (WebCore::SVGElementInstanceList::SVGElementInstanceList):
1069 * svg/SVGElementInstanceList.h:
1070 (WebCore::SVGElementInstanceList::create):
1071 * svg/SVGFitToViewBox.cpp:
1072 (WebCore::SVGFitToViewBox::SVGFitToViewBox):
1073 * svg/SVGGradientElement.cpp:
1074 (WebCore::SVGGradientElement::SVGGradientElement):
1075 (WebCore::SVGGradientElement::canvasResource):
1076 * svg/SVGImageElement.cpp:
1077 (WebCore::SVGImageElement::SVGImageElement):
1078 * svg/SVGLengthList.h:
1079 (WebCore::SVGLengthList::create):
1081 (WebCore::SVGList::SVGList):
1082 (WebCore::SVGPODListItem::create):
1083 (WebCore::SVGPODListItem::copy):
1084 (WebCore::SVGPODListItem::SVGPODListItem):
1085 (WebCore::SVGPODList::initialize):
1086 (WebCore::SVGPODList::insertItemBefore):
1087 (WebCore::SVGPODList::replaceItem):
1088 (WebCore::SVGPODList::appendItem):
1089 (WebCore::SVGPODList::SVGPODList):
1090 * svg/SVGMarkerElement.cpp:
1091 (WebCore::SVGMarkerElement::canvasResource):
1092 * svg/SVGMaskElement.cpp:
1093 (WebCore::SVGMaskElement::canvasResource):
1094 * svg/SVGNumberList.h:
1095 (WebCore::SVGNumberList::create):
1096 * svg/SVGPathElement.cpp:
1097 (WebCore::SVGPathElement::createSVGPathSegClosePath):
1098 (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
1099 (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
1100 (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
1101 (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
1102 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
1103 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
1104 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
1105 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
1106 (WebCore::SVGPathElement::createSVGPathSegArcAbs):
1107 (WebCore::SVGPathElement::createSVGPathSegArcRel):
1108 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
1109 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
1110 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
1111 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
1112 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
1113 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
1114 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
1115 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
1116 (WebCore::SVGPathElement::pathSegList):
1117 * svg/SVGPathElement.h:
1119 (WebCore::SVGPathSeg::SVGPathSeg):
1120 * svg/SVGPathSegArc.h:
1121 (WebCore::SVGPathSegArcAbs::create):
1122 (WebCore::SVGPathSegArcRel::create):
1123 * svg/SVGPathSegClosePath.h:
1124 (WebCore::SVGPathSegClosePath::create):
1125 * svg/SVGPathSegCurvetoCubic.h:
1126 (WebCore::SVGPathSegCurvetoCubicAbs::create):
1127 (WebCore::SVGPathSegCurvetoCubicRel::create):
1128 * svg/SVGPathSegCurvetoCubicSmooth.h:
1129 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
1130 (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
1131 * svg/SVGPathSegCurvetoQuadratic.h:
1132 (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
1133 (WebCore::SVGPathSegCurvetoQuadraticRel::create):
1134 * svg/SVGPathSegCurvetoQuadraticSmooth.h:
1135 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
1136 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
1137 * svg/SVGPathSegLineto.h:
1138 (WebCore::SVGPathSegLinetoAbs::create):
1139 (WebCore::SVGPathSegLinetoRel::create):
1140 * svg/SVGPathSegLinetoHorizontal.h:
1141 (WebCore::SVGPathSegLinetoHorizontalAbs::create):
1142 (WebCore::SVGPathSegLinetoHorizontalRel::create):
1143 * svg/SVGPathSegLinetoVertical.h:
1144 (WebCore::SVGPathSegLinetoVerticalAbs::create):
1145 (WebCore::SVGPathSegLinetoVerticalRel::create):
1146 * svg/SVGPathSegList.h:
1147 (WebCore::SVGPathSegList::create):
1148 * svg/SVGPathSegMoveto.h:
1149 (WebCore::SVGPathSegMovetoAbs::create):
1150 (WebCore::SVGPathSegMovetoRel::create):
1151 * svg/SVGPatternElement.cpp:
1152 (WebCore::SVGPatternElement::SVGPatternElement):
1153 (WebCore::SVGPatternElement::canvasResource):
1154 * svg/SVGPointList.h:
1155 (WebCore::SVGPointList::create):
1156 * svg/SVGPolyElement.cpp:
1157 (WebCore::SVGPolyElement::points):
1158 * svg/SVGPreserveAspectRatio.cpp:
1159 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
1160 * svg/SVGPreserveAspectRatio.h:
1161 (WebCore::SVGPreserveAspectRatio::create):
1162 * svg/SVGRenderingIntent.h:
1163 (WebCore::SVGRenderingIntent::SVGRenderingIntent):
1164 * svg/SVGStringList.h:
1165 (WebCore::SVGStringList::create):
1166 * svg/SVGStyledTransformableElement.cpp:
1167 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
1169 (WebCore::SVGTests::requiredFeatures):
1170 (WebCore::SVGTests::requiredExtensions):
1171 (WebCore::SVGTests::systemLanguage):
1172 * svg/SVGTextElement.cpp:
1173 (WebCore::SVGTextElement::SVGTextElement):
1174 * svg/SVGTextPositioningElement.cpp:
1175 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
1176 * svg/SVGTransformList.h:
1177 (WebCore::SVGTransformList::create):
1178 * svg/SVGUnitTypes.h:
1179 (WebCore::SVGUnitTypes::SVGUnitTypes):
1180 * svg/SVGViewElement.cpp:
1181 (WebCore::SVGViewElement::viewTarget):
1182 * svg/SVGViewSpec.cpp:
1183 (WebCore::SVGViewSpec::SVGViewSpec):
1184 * svg/graphics/SVGPaintServer.cpp:
1185 (WebCore::SVGPaintServer::sharedSolidPaintServer):
1186 * svg/graphics/SVGPaintServer.h:
1187 * svg/graphics/SVGPaintServerGradient.h:
1188 (WebCore::SVGPaintServerGradient::SharedStopCache::create):
1189 (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
1190 * svg/graphics/SVGPaintServerLinearGradient.h:
1191 (WebCore::SVGPaintServerLinearGradient::create):
1192 * svg/graphics/SVGPaintServerPattern.h:
1193 (WebCore::SVGPaintServerPattern::create):
1194 * svg/graphics/SVGPaintServerRadialGradient.h:
1195 (WebCore::SVGPaintServerRadialGradient::create):
1196 * svg/graphics/SVGPaintServerSolid.h:
1197 (WebCore::SVGPaintServerSolid::create):
1198 * svg/graphics/SVGResource.cpp:
1199 (WebCore::SVGResource::SVGResource):
1200 * svg/graphics/SVGResource.h:
1201 * svg/graphics/SVGResourceClipper.h:
1202 (WebCore::SVGResourceClipper::create):
1203 * svg/graphics/SVGResourceMarker.h:
1204 (WebCore::SVGResourceMarker::create):
1205 * svg/graphics/SVGResourceMasker.h:
1206 (WebCore::SVGResourceMasker::create):
1207 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
1208 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
1210 2008-02-20 Darin Adler <darin@apple.com>
1214 - make conversion from CSS ParseString to String and AtomicString
1215 automatic and remove all the explicit calls to do the conversion
1217 - fix CSS parsing to do fewer allocations, mostly by using the
1218 equalIgnoringCase function in CSSParser
1220 * css/CSSGrammar.y: Take out all the explicit atomicString and
1221 domString calls now that ParseString knows how to convert itself.
1223 * css/CSSParser.cpp:
1224 (WebCore::equal): Added.
1225 (WebCore::equalIgnoringCase): Allow non-lettters.
1226 (WebCore::ParseString::lower): Used charactersAreAllASCII.
1227 (WebCore::unitFromString): Use equal.
1228 (WebCore::CSSParser::parseValue): Removed unneeded call to domString.
1229 (WebCore::CSSParser::parseContent): Use equalIgnoringCase.
1230 (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString.
1231 (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase.
1232 (WebCore::CSSParser::parseDashboardRegions): More of the same.
1233 (WebCore::CSSParser::parseCounterContent): Ditto.
1234 (WebCore::CSSParser::parseShape): Use equalIgnoringCase.
1235 (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString.
1236 (WebCore::CSSParser::parseFontFaceSrc): More.
1237 (WebCore::CSSParser::parseFontFaceUnicodeRange): More.
1238 (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now
1239 handles the case folding.
1240 (WebCore::CSSParser::parseColorFromValue): More.
1241 (WebCore::CSSParser::parseBorderImage): More.
1242 (WebCore::CSSParser::parseCounter): More.
1243 (WebCore::TransformOperationInfo::TransformOperationInfo): More.
1244 (WebCore::CSSParser::parseTransform): More.
1245 (WebCore::CSSParser::createCharsetRule): More.
1246 (WebCore::CSSParser::createImportRule): More.
1248 * css/CSSParser.h: Removed domString and atomicString functions.
1249 (WebCore::ParseString::operator String): Added. Allows conversion to String
1250 without an explicit function call.
1251 (WebCore::ParseString::operator AtomicString): Ditto.
1253 * css/MediaQueryExp.cpp:
1254 (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString.
1255 * css/SVGCSSParser.cpp:
1256 (WebCore::CSSParser::parseSVGValue): Removed calls to domString.
1258 * platform/graphics/Color.cpp:
1259 (WebCore::findNamedColor): Call toASCIILower on each character as we copy
1260 it into the 8-bit character buffer to make the operation fold case.
1262 2008-02-20 Justin Garcia <justin.garcia@apple.com>
1264 Reviewed by Darin Adler.
1266 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
1268 * editing/DeleteSelectionCommand.cpp:
1269 (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here
1270 is where there are no special elements. Avoid creating VisiblePositions in
1271 that case. Additionally, this change postpones the more expensive creation
1272 of an upstream VisiblePosition until the last possible moment.
1273 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
1274 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an
1275 early return for a common case: deleting characters that are all inside the
1276 same text node. In that case the style at the start of the selection will
1277 not change during the delete, so there is no need to save/recompute it.
1278 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return
1279 before VisiblePosition creation if the ends of the selection aren't enclosed
1281 * editing/TypingCommand.cpp:
1282 (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell
1283 checking isn't enabled.
1285 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
1287 Incorporates some improvements made by Dan Bernstein.
1291 http://bugs.webkit.org/show_bug.cgi?id=17106
1292 <rdar://problem/5750722> Debug build ASSERTs on page load
1294 Test: fast/encoding/GBK/close-gbk-converter.html
1296 * platform/text/TextCodecICU.cpp:
1297 (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there
1298 are only four values.
1299 (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt
1300 getting an escape character if it's not UCNV_UNASSIGNED.
1301 (WebCore::gbkCallbackSubstitute): Ditto.
1303 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
1307 * xml/XMLHttpRequest.cpp:
1308 (WebCore::isSafeRequestHeader):
1309 (WebCore::XMLHttpRequest::setRequestHeader):
1311 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
1315 <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest
1317 Cannot be tested in DRT.
1319 * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load
1320 local files can also set any headers.
1322 2008-02-19 Darin Adler <darin@apple.com>
1326 - removed use of DeprecatedString for font family names
1328 * css/CSSFontSelector.cpp:
1329 (WebCore::CSSFontSelector::addFontFaceRule): Update for name change.
1330 * css/CSSParser.cpp:
1331 (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated
1332 function and String rather than DeprecatedString.
1333 * css/CSSStyleSelector.cpp:
1334 (WebCore::CSSStyleSelector::applyProperty): Updated for name change.
1335 * css/FontFamilyValue.cpp:
1336 (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular
1337 expression with code that does the same thing more efficiently.
1338 (WebCore::FontFamilyValue::appendSpaceSeparated): Added.
1339 (WebCore::FontFamilyValue::cssText): Updated for name change.
1340 * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName
1341 to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType
1342 and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can
1343 be private instead of public.
1345 2008-02-19 Darin Adler <darin@apple.com>
1347 - fix build when SVG is not enabled
1349 * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h".
1351 2008-02-19 Anders Carlsson <andersca@apple.com>
1355 Change all classes in xml/ to start out with a ref count of 1.
1357 * bindings/js/JSCustomXPathNSResolver.h:
1358 * bindings/js/JSXMLHttpRequest.cpp:
1359 (WebCore::JSXMLHttpRequest::JSXMLHttpRequest):
1360 * bindings/js/JSXSLTProcessor.cpp:
1361 (WebCore::JSXSLTProcessor::JSXSLTProcessor):
1362 * bindings/objc/DOMCustomXPathNSResolver.h:
1363 (WebCore::DOMCustomXPathNSResolver::create):
1364 * bindings/scripts/CodeGeneratorJS.pm:
1365 * bindings/scripts/CodeGeneratorObjC.pm:
1367 (WebCore::Document::applyXSLTransform):
1368 (WebCore::Document::createExpression):
1369 (WebCore::Document::createNSResolver):
1370 (WebCore::Document::evaluate):
1372 (WebCore::DOMParser::create):
1373 (WebCore::DOMParser::DOMParser):
1374 * xml/NativeXPathNSResolver.h:
1375 (WebCore::NativeXPathNSResolver::create):
1376 * xml/XMLHttpRequest.cpp:
1377 (WebCore::XMLHttpRequest::XMLHttpRequest):
1378 * xml/XMLHttpRequest.h:
1379 (WebCore::XMLHttpRequest::create):
1380 * xml/XMLSerializer.h:
1381 (WebCore::XMLSerializer::create):
1382 (WebCore::XMLSerializer::XMLSerializer):
1383 * xml/XPathEvaluator.cpp:
1384 (WebCore::XPathEvaluator::createNSResolver):
1385 * xml/XPathEvaluator.h:
1386 (WebCore::XPathEvaluator::create):
1387 (WebCore::XPathEvaluator::XPathEvaluator):
1388 * xml/XPathExpression.cpp:
1389 (WebCore::XPathExpression::createExpression):
1390 (WebCore::XPathExpression::evaluate):
1391 * xml/XPathExpression.h:
1392 (WebCore::XPathExpression::create):
1393 (WebCore::XPathExpression::XPathExpression):
1394 * xml/XPathNSResolver.h:
1395 * xml/XPathResult.cpp:
1396 (WebCore::XPathResult::XPathResult):
1397 * xml/XPathResult.h:
1398 (WebCore::XPathResult::create):
1399 * xml/XPathValue.cpp:
1400 (WebCore::XPath::Value::modifiableNodeSet):
1402 (WebCore::XPath::ValueData::create):
1403 (WebCore::XPath::ValueData::ValueData):
1404 (WebCore::XPath::Value::Value):
1405 * xml/XSLTProcessor.h:
1406 (WebCore::XSLTProcessor::create):
1407 (WebCore::XSLTProcessor::XSLTProcessor):
1409 2008-02-19 Darin Adler <darin@apple.com>
1413 - Trimmed down TextStream and weaned it from DeprecatedString.
1415 * page/mac/WebCoreFrameBridge.mm:
1416 (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]):
1417 Removed now-unneeded call to getNSString.
1419 * platform/text/TextStream.cpp: Removed unused functions.
1420 Use snprintf instead of sprintf, for better security.
1421 (WebCore::TextStream::release): Added.
1422 * platform/text/TextStream.h: Removed lots of unneeded stuff.
1424 * rendering/RenderTreeAsText.cpp:
1425 (WebCore::externalRepresentation): Changed to use String instead
1426 of DeprecatedString.
1427 * rendering/RenderTreeAsText.h: Ditto.
1429 * rendering/SVGRenderTreeAsText.cpp:
1430 (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl.
1431 (WebCore::write): Ditto.
1432 (WebCore::writeRenderResources): Ditto.
1434 2008-02-19 Justin Garcia <justin.garcia@apple.com>
1436 Reviewed by Darin Adler.
1438 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
1440 This brings performance on the phone back to old levels. Andre and I are doing
1441 some formal testing to see exactly where we stand.
1444 (WebCore::enclosingBlockIgnoringEditability): Added. This is enclosingBlock
1445 without the expensive editability checks. upstream and downstream can avoid
1446 those because they do their own editability checking.
1447 (WebCore::Position::upstream):
1448 (WebCore::Position::downstream):
1450 2008-02-19 Chris Fleizach <cfleizach@apple.com>
1454 <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute
1456 * bridge/mac/WebCoreAXObject.mm:
1457 (-[WebCoreAXObject linkedUIElement]):
1458 Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM).
1460 (-[WebCoreAXObject accessibilityAttributeNames]):
1461 (-[WebCoreAXObject accessibilityAttributeValue:]):
1462 Support NSAccessibilityLinkedUIElementsAttribute.
1464 2008-02-19 Darin Adler <darin@apple.com>
1468 - Removed old debugging aids, Node::dump, RenderObject::dump, and
1469 RenderObject::information, that used DeprecatedString.
1471 * dom/CharacterData.cpp: Removed override of Node::dump.
1472 * dom/CharacterData.h: Ditto.
1473 * dom/Element.cpp: Ditto.
1474 * dom/Element.h: Ditto.
1475 * dom/EventTargetNode.cpp: Ditto.
1476 * dom/EventTargetNode.h: Ditto.
1477 * dom/Node.cpp: Removed Node::dump.
1478 * dom/Node.h: Ditto.
1480 * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
1481 * rendering/RenderBlock.h: Ditto.
1482 * rendering/RenderFrameSet.cpp: Ditto.
1483 * rendering/RenderFrameSet.h: Ditto.
1484 * rendering/RenderObject.cpp: Removed RenderObject::dump and
1485 RenderObject::information.
1486 * rendering/RenderObject.h: Ditto.
1487 * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
1488 * rendering/RenderTable.h: Ditto.
1489 * rendering/RenderTableCell.cpp: Ditto.
1490 * rendering/RenderTableCell.h: Ditto.
1491 * rendering/RenderTableCol.cpp: Ditto.
1492 * rendering/RenderTableCol.h: Ditto.
1493 * rendering/RenderTableSection.cpp: Ditto.
1494 * rendering/RenderTableSection.h: Ditto.
1496 * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
1497 and added forward declarations as appropriate.
1499 * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
1500 * svg/graphics/SVGResourceClipper.cpp: And here.
1501 * svg/graphics/SVGResourceFilter.cpp: Ditto.
1502 * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
1503 * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
1504 * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
1505 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
1506 * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
1507 * svg/graphics/filters/SVGFEImage.cpp: Ditto.
1508 * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
1509 * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
1510 * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
1511 * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
1512 * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
1513 * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
1515 2008-02-19 Beth Dakin <bdakin@apple.com>
1519 Fix for <rdar://problem/5729674> Seed: Crash in
1520 RenderButton::setStyle at http://www.dinorpg.com
1522 Inputs should not honor first-letter.
1524 * rendering/RenderBlock.cpp:
1525 (WebCore::RenderBlock::updateFirstLetter):
1527 2008-02-19 Dan Bernstein <mitz@apple.com>
1529 Reviewed by Darin Adler.
1531 - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
1533 Test: fast/text/wbr-styled.html
1535 Changed RenderWordBreak to inherit from RenderText instead of
1538 * rendering/RenderBlock.cpp:
1539 (WebCore::RenderBlock::calcInlinePrefWidths):
1540 * rendering/RenderFlow.h:
1541 * rendering/RenderText.cpp:
1542 (WebCore::RenderText::renderName):
1543 (WebCore::RenderText::isTextFragment):
1544 (WebCore::RenderText::isWordBreak):
1545 * rendering/RenderText.h:
1546 * rendering/RenderWordBreak.cpp:
1547 (WebCore::RenderWordBreak::RenderWordBreak):
1548 * rendering/RenderWordBreak.h:
1549 * rendering/bidi.cpp:
1550 (WebCore::RenderBlock::findNextLineBreak):
1552 2008-02-19 Anders Carlsson <andersca@apple.com>
1557 * loader/mac/LoaderNSURLExtras.h:
1558 * loader/mac/LoaderNSURLExtras.m:
1559 Move unused functions to WebKit (where they are used)
1561 (vectorContainsString):
1562 Use const references.
1564 * platform/mac/WebCoreSystemInterface.h:
1565 * platform/mac/WebCoreSystemInterface.mm:
1566 Remove wkNSURLProtocolClassForReqest.
1568 2008-02-19 Justin Garcia <justin.garcia@apple.com>
1570 Reviewed by Darin Adler.
1572 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore
1574 These changes bring deleting performance back to old levels on the phone
1575 except for deleting the first space to the right of a word, which we are
1579 (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining
1580 if we have left the original enclosing block or entered a new one, and avoid
1581 rootEditableElement for determining if we have changed editability. These
1582 operations are expensive.
1583 (WebCore::Position::downstream): Ditto.
1585 2008-02-19 Darin Adler <darin@apple.com>
1587 Rubber stamped by Anders.
1589 - removed explicit initialization to 1 for RefCounted; that's now the default
1591 * loader/ResourceLoader.cpp:
1592 (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer.
1593 * platform/network/ResourceHandle.cpp:
1594 (WebCore::ResourceHandle::ResourceHandle): Ditto.
1595 * platform/text/StringImpl.cpp:
1596 (WebCore::StringImpl::StringImpl): Ditto.
1598 2008-02-18 Anders Carlsson <andersca@apple.com>
1602 Make ResourceLoader and ResourceHandle start out with a refcount of 1.
1604 * loader/MainResourceLoader.cpp:
1605 (WebCore::MainResourceLoader::create):
1606 * loader/NetscapePlugInStreamLoader.cpp:
1607 (WebCore::NetscapePlugInStreamLoader::create):
1608 * loader/ResourceLoader.cpp:
1609 (WebCore::ResourceLoader::ResourceLoader):
1610 * loader/SubresourceLoader.cpp:
1611 (WebCore::SubresourceLoader::create):
1612 * platform/network/ResourceHandle.cpp:
1613 (WebCore::ResourceHandle::ResourceHandle):
1614 (WebCore::ResourceHandle::create):
1616 2008-02-19 Alp Toker <alp@atoker.com>
1618 Reviewed by Mark Rowe.
1620 http://bugs.webkit.org/show_bug.cgi?id=16863
1621 [GTK] tab focusing doesn't work
1623 GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
1626 Use GDK_META_MASK where available, otherwise do not support the meta
1627 key. This matches the behaviour of other applications.
1629 Also add a comment noting that the platform event constructors need to
1630 be kept in sync (it's not obvious that there are multiple places that
1631 check the key state).
1633 * platform/gtk/KeyEventGtk.cpp:
1634 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1635 * platform/gtk/MouseEventGtk.cpp:
1636 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1637 * platform/gtk/WheelEventGtk.cpp:
1638 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1640 2008-02-18 Brady Eidson <beidson@apple.com>
1642 Reviewed by Sam Weinig's white rhino tusk stamp
1644 SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase
1646 * platform/sql/SQLiteTransaction.cpp:
1647 (WebCore::SQLiteTransaction::stop):
1649 2008-02-18 Brady Eidson <beidson@apple.com>
1653 Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released
1655 Test: platform/mac/plugins/webScriptObject-exception-deadlock.html
1657 * bindings/objc/WebScriptObject.mm:
1658 (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key]; // defaults to throwing an exception`
1659 says it all - it throws an exception. This method also happens to hold the JSLock. Problematically, when the exeception
1660 is thrown and the method exited, the JSLock is never released. Fix that without otherwise changing behavior by holding the
1661 JSLock in two individual scopes - Right before the exception and right after.
1663 2008-02-18 Darin Adler <darin@apple.com>
1667 - reduce use of DeprecatedString and memory allocations in processing of CSS
1668 - remove unnecessary double -> float -> double trip in the CSS parser
1669 - cleaned up names and structure in CSS grammar
1671 * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp
1672 instead, and they now work on ParseString and String objects and don't require the caller
1673 to put the string into a char*. Gave members of the %union more sensible names, removed
1674 duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving
1676 * css/CSSParser.cpp:
1677 (WebCore::equalIgnoringCase): Added.
1678 (WebCore::hasPrefix): Added.
1679 (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID,
1680 which obviates the need to call lower() and utf8() or to allocate memory at all. Also
1681 used equalIgnoringCase rather than putting the value into a String just to compare it.
1682 (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change
1683 along with the CSSGrammar.y change, removes the double -> float -> double round trip, and
1684 affects the result of one layout test.
1685 (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but
1686 without allocating any memory.
1687 (WebCore::cssValueKeywordID): Ditto.
1688 * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in
1689 CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions.
1691 * css/CSSStyleDeclaration.cpp:
1692 (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID.
1693 (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto.
1694 (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto.
1695 (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto.
1696 (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto.
1697 (WebCore::CSSStyleDeclaration::setProperty): Ditto.
1698 (WebCore::CSSStyleDeclaration::removeProperty): Ditto.
1699 (WebCore::CSSStyleDeclaration::isPropertyName): Ditto.
1700 * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate,
1701 and the getPropertyID function declaration along with its associated apology comment.
1703 * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an
1704 enumeration, like properties, since you rarely have any reason to handle all values, but
1705 often have a reason to handle all properties). Renamed the constant for the number of CSS
1706 value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength.
1708 * platform/text/String.cpp:
1709 (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer
1710 rather than a CString.
1712 2008-02-18 Dan Bernstein <mitz@apple.com>
1714 Reviewed by Dave Hyatt.
1716 - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms
1718 Test: fast/css/font-face-multiple-remote-sources.html
1720 * css/CSSFontFace.cpp:
1721 (WebCore::CSSFontFace::fontLoaded):
1722 * css/CSSSegmentedFontFace.cpp:
1723 (WebCore::CSSSegmentedFontFace::fontLoaded):
1725 2008-02-18 Darin Adler <darin@apple.com>
1729 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1730 (WebCore::hasCSSPropertyNamePrefix): Added.
1731 (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster
1732 by using a Vector<UChar> and eliminating all the string operations.
1734 2008-02-18 Stephanie Lewis <slewis@apple.com>
1738 Remove workaround for <rdar://problem/5695848>.
1740 * platform/network/cf/ResourceResponseCFNet.cpp:
1741 (WebCore::ResourceResponse::doUpdateResourceResponse):
1743 2008-02-18 Samuel Weinig <sam@webkit.org>
1745 Reviewed by Geoff Garen.
1747 Fix for http://bugs.webkit.org/show_bug.cgi?id=17419
1748 Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode
1750 * bindings/js/kjs_proxy.cpp:
1751 (WebCore::KJSProxy::initScript):
1753 2008-02-18 Alp Toker <alp@atoker.com>
1755 Reviewed by Mark Rowe.
1757 http://bugs.webkit.org/show_bug.cgi?id=17381
1758 [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2)
1760 This patch resolves the regression for the GTK+ port.
1762 * platform/network/curl/ResourceHandleManager.cpp:
1763 (WebCore::parseDataUrl):
1765 2008-02-18 Darin Adler <darin@apple.com>
1769 * platform/network/win/ResourceHandleWin.cpp:
1770 (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString.
1771 (WebCore::ResourceHandle::start): Ditto.
1773 2008-02-18 Darin Adler <darin@apple.com>
1777 * platform/network/win/CookieJarWin.cpp:
1778 (WebCore::setCookies): Use String instead of DeprecatedString.
1779 (WebCore::cookies): Ditto.
1781 2008-02-18 Darin Adler <darin@apple.com>
1785 - removed use of DeprecatedString in the Color class
1787 * platform/graphics/Color.cpp:
1788 (WebCore::Color::parseHexColor): Streamlined logic a bit with early returns.
1789 Used toASCIIHexValue a character at a time rather than using toIntStrict
1791 (WebCore::findNamedColor): Added. Uses a fixed-size char buffer to look up
1792 a color using the gperf-generated findColor function. Saves a memory allocation
1793 vs. the old version that called DeprecatedString::latin1().
1794 (WebCore::Color::setNamedColor): Changed to use findNamedColor.
1796 2008-02-18 Darin Adler <darin@apple.com>
1800 * editing/htmlediting.cpp:
1801 (WebCore::stringWithRebalancedWhitespace): Changed to use String instead of
1804 2008-02-18 Darin Adler <darin@apple.com>
1808 * editing/SelectionController.cpp:
1809 (WebCore::SelectionController::debugRenderer): Changed to use String instead of
1812 2008-02-18 Darin Adler <darin@apple.com>
1814 Reviewed and landed by Sam.
1816 Remove DeprecatedStringList.
1820 * WebCore.vcproj/WebCore.vcproj:
1821 * WebCore.xcodeproj/project.pbxproj:
1822 * WebCoreSources.bkl:
1823 * editing/markup.cpp:
1824 * platform/DeprecatedStringList.cpp: Removed.
1825 * platform/DeprecatedStringList.h: Removed.
1826 * platform/mac/DeprecatedStringListMac.mm: Removed.
1828 2008-02-18 Darin Adler <darin@apple.com>
1832 * css/CSSPrimitiveValueMappings.h: Add default cases to all the switch statements.
1833 This will ease the way some day if we decide to use an enum instead of int; otherwise
1834 we'll have a ton of "unhandled enum value" warnings here.
1836 2008-02-18 Alp Toker <alp@atoker.com>
1838 Build fix for GTK+ < 2.10. Fall back to simple text clipboard copy
1839 with older GTK+ versions for now.
1841 * platform/gtk/PasteboardGtk.cpp:
1842 (WebCore::Pasteboard::writeSelection):
1844 2008-02-18 Darin Adler <darin@apple.com>
1848 * WebCore.base.exp: Export a couple of WebCore::String functions we plan to use
1849 in the future in WebKit.
1851 2008-02-18 Darin Adler <darin@apple.com>
1855 * DerivedSources.make: Added the scripts to the ENABLE_SVG versions of the rules
1856 for CSSPropertyNames.h and CSSValueKeywords.h. Somehow that got left out, so the
1857 files would not be regenerated if the scripts were changed (but would if SVG was
1860 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
1864 * platform/KURL.h: (WebCore::KURL::operator const String&): Added, to avoid unexpected
1865 conversion via UString (as in bug 17418).
1867 2008-02-18 Jon Honeycutt <jhoneycutt@apple.com>
1871 <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort
1872 slow script Flash 9 dialog at http://www.kidzui.com
1874 When navigating to a new page, we stop all outstanding PluginStreams.
1875 Flash hangs in the call to NPP_URLNotify. It eventually displays the
1876 "slow script" dialog, which relinquishes control to the system. While
1877 this dialog is running, the request we are in the process of cancelling
1878 completes, and we re-enter Flash to deliver the data. When the dialog
1879 is dismissed, the internal state of Flash has changed, and Flash
1880 crashes with a null dereference.
1882 To work around this, we can defer loading before entering plug-in code,
1883 so that even if a plug-in yields to the system, we won't get callbacks
1884 while we're handling a callback.
1886 * plugins/PluginStream.cpp:
1887 (WebCore::PluginStream::startStream): Defers loads while calling into
1889 (WebCore::PluginStream::destroyStream): Same.
1890 (WebCore::PluginStream::deliverData): Same.
1891 (WebCore::PluginStream::didFail): Protect 'this' from deletion by
1892 destroyStream. Null out m_loader only after destroyStream returns.
1893 (WebCore::PluginStream::didFinishLoading): Same.
1895 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
1899 http://bugs.webkit.org/show_bug.cgi?id=17418
1900 REGRESSION: Assertion failure dragging image (JSLock::lockCount() > 0)
1902 * platform/win/ClipboardWin.cpp:
1903 (WebCore::ClipboardWin::declareAndWriteDragImage): Explicitly convert from KURL to String,
1904 as an implicit conversion uses UString and thus needs a JSLock.
1906 2008-02-17 Sam Weinig <sam@webkit.org>
1910 * loader/FrameLoader.cpp:
1911 (WebCore::FrameLoader::changeLocation):
1913 2008-02-17 Sam Weinig <sam@webkit.org>
1917 * WebCore.xcodeproj/project.pbxproj:
1919 2008-02-17 Alp Toker <alp@atoker.com>
1921 Attempt to fix the Wx build (has been broken all weekend).
1923 Stub out some graphics functions.
1925 * platform/graphics/wx/GraphicsContextWx.cpp:
1926 (WebCore::GraphicsContext::beginPath):
1927 (WebCore::GraphicsContext::addPath):
1928 * platform/graphics/wx/PathWx.cpp:
1929 (WebCore::Path::isEmpty):
1931 2008-02-17 Julien Chaffraix <julien.chaffraix@gmail.com>
1933 Reviewed by Alexey Proskuryakov.
1935 http://bugs.webkit.org/show_bug.cgi?id=16989
1936 bug 16989 : Add send() flag checks in XmlHttpRequest
1938 Splitted XmlHttpRequest::abort into abort (called from JavaScript) and internalAbort that
1939 perform the cancellation and is called mainly from internal methods.
1941 Tests: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
1942 http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html
1943 http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html
1945 * xml/XMLHttpRequest.cpp:
1946 (WebCore::XMLHttpRequest::open): Now call internalAbort() and moved readyState change into method
1947 (WebCore::XMLHttpRequest::send): Added m_loader check
1948 (WebCore::XMLHttpRequest::abort): Now update readyState and clear the request headers as specified
1951 (WebCore::XMLHttpRequest::internalAbort): Perform cancellation internal operations (no readyState update)
1952 (WebCore::XMLHttpRequest::setRequestHeader): Added m_loader check
1954 (WebCore::XMLHttpRequest::processSyncLoadResults): Now call internalAbort() instead of abort()
1955 (WebCore::XMLHttpRequest::willSendRequest): Ditto
1956 (WebCore::XMLHttpRequest::cancelRequests): Ditto
1957 (WebCore::XMLHttpRequest::detachRequests): Ditto
1958 * xml/XMLHttpRequest.h: Added the private internalAbort method
1960 2008-02-17 Sam Weinig <sam@webkit.org>
1962 Reviewed by Dan Bernstein.
1964 Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
1965 document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
1967 - Updated fast/events/event-instanceof.html to test document.createEvent("MessageEvent").
1969 * DerivedSources.make:
1970 Generate Objective-C binding for DOMProgressEvent which was missing.
1972 * WebCore.xcodeproj/project.pbxproj:
1973 Add missing DOMProgressEvent files to the project.
1975 * bindings/js/JSEventCustom.cpp:
1977 Clean up and add case for SVGZoomEvent that was missing.
1979 * bindings/objc/DOMEvents.mm:
1980 (+[DOMEvent _wrapEvent:WebCore::]):
1981 Clean up and add cases for ProgressEvent and MessageEvent that were missing.
1984 (WebCore::Document::createEvent):
1985 Add case for MessageEvent.
1987 2008-02-17 Adam Treat <treat@kde.org>
1989 Reviewed by Eric Seidel.
1991 http://bugs.webkit.org/show_bug.cgi?id=17008
1992 Meta refresh does not work with cache turned off
1994 Fix for issue noticed on http://adserver.vivox.com/2
1996 * loader/FrameLoader.cpp:
1997 (WebCore::FrameLoader::changeLocation):
1999 2008-02-17 Alp Toker <alp@atoker.com>
2001 Reviewed by Sam Weinig.
2003 Fix for change made in r30355. Issue noticed by İsmail Dönmez.
2005 Verify SSL certs by default, but allow checks to be disabled with an
2006 environment variable (WEBKIT_IGNORE_SSL_ERRORS) for now.
2008 * platform/network/curl/ResourceHandleManager.cpp:
2009 (WebCore::ResourceHandleManager::startJob):
2011 2008-02-17 Bin Chen <binary.chen@gmail.com>
2013 Reviewed by Alp Toker.
2015 http://bugs.webkit.org/show_bug.cgi?id=17404
2016 Bug 17404: curl certification problem
2018 Disable SSL cert verification until we have a way of distributing
2019 certs and/or reporting SSL errors to the user.
2021 * platform/network/curl/ResourceHandleManager.cpp:
2022 (WebCore::ResourceHandleManager::startJob):
2024 2008-02-17 Alp Toker <alp@atoker.com>
2026 Reviewed by Mark Rowe.
2028 DevHelp fails to load local files; URL truncated by one character.
2030 Fix a file:// URL regression introduced in KURL.cpp r30243.
2032 * platform/KURL.cpp:
2033 (WebCore::KURL::KURL):
2035 2008-02-17 Dan Bernstein <mitz@apple.com>
2037 Reviewed by Darin Adler.
2039 - fix http://bugs.webkit.org/show_bug.cgi?id=17033
2040 <rdar://problem/5709315> REGRESSION: Really long <option> causes unnecessary page scroll bars to accommodate content
2042 Test: fast/forms/control-clip-overflow.html
2044 * rendering/RenderFlow.cpp:
2045 (WebCore::RenderFlow::lowestPosition): Account for control clipping.
2046 (WebCore::RenderFlow::rightmostPosition): Ditto.
2047 (WebCore::RenderFlow::leftmostPosition): Ditto.
2049 2008-02-16 Oliver Hunt <oliver@apple.com>
2053 Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
2055 Use cross-platform code to determine the dirty rects for
2056 fill and stroke operations
2058 * html/CanvasRenderingContext2D.cpp:
2059 (WebCore::CanvasRenderingContext2D::fill):
2060 (WebCore::CanvasRenderingContext2D::stroke):
2061 Added a FIXME as code inspection shows a trivial under-painting
2062 bug, although we currently ignore dirty rect tracking on canvas
2063 and repaint the whole thing anyway.
2064 (WebCore::CanvasRenderingContext2D::fillRect):
2066 2008-02-16 Sam Weinig <sam@webkit.org>
2068 Reviewed by Darin Adler.
2070 Take another step in the direction of getting rid of DeprecatedString
2071 by moving all the to{NumericType} off of it.
2073 - Create free functions that take a UChar* buffer and length to do
2074 the string-to-number conversions. This allows us to avoid two allocations
2075 if we don't already have a String and is consistent with the design we would
2077 - Since the toInt (and family) functions on DeprecatedString were slightly
2078 different than the ones on String (they didn't allow trailing garbage),
2079 an extra set of 'Strict' toInt functions were added that have this behavior.
2081 * platform/graphics/Color.cpp:
2082 (WebCore::Color::parseHexColor):
2083 * platform/text/PlatformString.h:
2084 * platform/text/String.cpp:
2085 (WebCore::String::percentage):
2086 (WebCore::String::toIntStrict):
2087 (WebCore::String::toUIntStrict):
2088 (WebCore::String::toInt64Strict):
2089 (WebCore::String::toUInt64Strict):
2090 (WebCore::String::toUInt):
2091 (WebCore::String::toDouble):
2092 (WebCore::isCharacterAllowedInBase):
2093 (WebCore::toIntegralType):
2094 (WebCore::lengthOfCharactersAsInteger):
2095 (WebCore::charactersToIntStrict):
2096 (WebCore::charactersToUIntStrict):
2097 (WebCore::charactersToInt64Strict):
2098 (WebCore::charactersToUInt64Strict):
2099 (WebCore::charactersToInt):
2100 (WebCore::charactersToUInt):
2101 (WebCore::charactersToInt64):
2102 (WebCore::charactersToUInt64):
2103 (WebCore::charactersToDouble):
2104 (WebCore::charactersToFloat):
2105 * platform/text/StringImpl.cpp:
2106 (WebCore::parseLength):
2107 (WebCore::StringImpl::toIntStrict):
2108 (WebCore::StringImpl::toUIntStrict):
2109 (WebCore::StringImpl::toInt64Strict):
2110 (WebCore::StringImpl::toUInt64Strict):
2111 (WebCore::StringImpl::toInt):
2112 (WebCore::StringImpl::toUInt):
2113 (WebCore::StringImpl::toInt64):
2114 (WebCore::StringImpl::toUInt64):
2115 (WebCore::StringImpl::toDouble):
2116 (WebCore::StringImpl::toFloat):
2117 * platform/text/StringImpl.h:
2118 * svg/SVGAnimationElement.cpp:
2119 (WebCore::SVGAnimationElement::parseClockValue):
2120 * svg/SVGFETurbulenceElement.cpp:
2121 (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
2123 2008-02-16 Dan Bernstein <mitz@apple.com>
2125 Reviewed by Sam Weinig.
2127 - fix fixed-pitch font measurement of control characters that render
2130 Test: fast/text/fixed-pitch-control-characters.html
2132 * rendering/RenderText.cpp:
2133 (WebCore::RenderText::widthFromCache):
2135 2008-02-16 Kevin Ollivier <kevino@theolliviers.com>
2139 * platform/graphics/wx/GraphicsContextWx.cpp:
2140 (WebCore::GraphicsContext::drawImage):
2142 2008-02-16 Jan Michael Alonzo <jmalonzo@unpluggable.com>
2144 Reviewed by Alp Toker.
2146 Cross document messaging GTK+/autotools build fix.
2150 2008-02-15 Oliver Hunt <oliver@apple.com>
2152 Build fix for Qt and Cairo builds
2154 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2155 (WebCore::GraphicsContext::drawImage):
2156 * platform/graphics/qt/GraphicsContextQt.cpp:
2158 2008-02-15 Oliver Hunt <oliver@apple.com>
2162 Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
2163 Refactor CanvasRenderingContext2D::drawImage(HTMLCanvasElement) to remove evil ifdefs
2165 Add logic draw(ImageBuffer*) method to GraphicsContext to handle
2166 painting the source canvas content.
2168 * html/CanvasRenderingContext2D.cpp:
2169 (WebCore::CanvasRenderingContext2D::drawImage):
2170 * html/HTMLCanvasElement.cpp:
2171 (WebCore::HTMLCanvasElement::buffer):
2172 * html/HTMLCanvasElement.h:
2173 * platform/graphics/GraphicsContext.h:
2174 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2175 (WebCore::GraphicsContext::drawImage):
2176 * platform/graphics/cg/GraphicsContextCG.cpp:
2177 (WebCore::GraphicsContext::paintBuffer):
2178 (WebCore::GraphicsContext::drawImage):
2179 * platform/graphics/qt/GraphicsContextQt.cpp:
2180 (WebCore::GraphicsContext::drawImage):
2182 2008-02-15 Kevin Ollivier <kevino@theolliviers.com>
2184 Reviewed by David Hyatt.
2186 Using GetNativeFontInfoDesc() to generate the hash value was
2187 leading to duplicate entries in the HashMap. Use the font object's
2190 http://bugs.webkit.org/show_bug.cgi?id=17371
2192 * platform/graphics/wx/FontPlatformData.h:
2193 (WebCore::FontPlatformData::computeHash):
2195 2008-02-15 Ada Chan <adachan@apple.com>
2197 When parsing url we get from a CFURLRef, we need to null terminate
2198 the string for the case when url ends with a '/'.
2202 * platform/cf/KURLCFNet.cpp:
2203 (WebCore::KURL::KURL):
2205 2008-02-15 Brady Eidson <beidson@apple.com>
2209 Fix for <rdar://problem/5727175> and <rdar://problem/5740495> - Database threads and callback scripts can run after
2210 a page has closed or loaded a new document
2212 Deciding to make the Database I/O semantic the same as loaders/XHR when a document is shut down, this patch implements
2213 a policy of shutting down the databases in a document at the same time. This includes removing all pending transactions
2214 in a database, cutting off an queued statements in the current transaction, and preventing further callbacks from being
2217 No new layout tests with this patch as the current layout tests were catching this issue in a plethora of ways already
2218 (crashing, unexpected exceptions and output, etc)
2221 (WebCore::Document::~Document): Don't actually stop the database thread here - it better have been stopped already.
2222 Add an assertion to that effect.
2223 (WebCore::Document::addOpenDatabase): Add a new database handle to this Document's open database set
2224 (WebCore::Document::removeOpenDatabase): Remove such a handle
2225 (WebCore::Document:: stopDatabases): Call "close" on all open Database handles for this document
2228 * loader/FrameLoader.cpp:
2229 (WebCore::FrameLoader::stopLoading): In addition to canceling all resource loads and XHRs, stop all database I/O
2231 * platform/MessageQueue.h:
2232 (WebCore::MessageQueue::killed):
2234 * platform/sql/SQLiteTransaction.cpp:
2235 (WebCore::SQLiteTransaction::stop): Added. Explicit stop to cut off a transaction so it won't try anymore SQL activity
2236 * platform/sql/SQLiteTransaction.h:
2238 * storage/Database.cpp:
2239 (WebCore::Database::Database):
2240 (WebCore::Database::~Database):
2241 (WebCore::Database::markAsDeletedAndClose): Check if the thread has terminated before committing to waiting on the
2243 (WebCore::Database::stop): Stop this database, including all queued transactions and callbacks
2244 * storage/Database.h:
2245 (WebCore::Database::stopped):
2247 * storage/DatabaseThread.cpp:
2248 (WebCore::DatabaseThread::terminationRequested):
2249 * storage/DatabaseThread.h:
2251 * storage/SQLTransaction.cpp:
2252 (WebCore::SQLTransaction::executeSQL): Throw an exception if a new executeSQL comes in after a database is closed
2253 (WebCore::SQLTransaction::checkAndHandleClosedDatabase): Added. Clears queued statements and clear the next step
2254 when the database has been closed since the last step/callback was run. Also stops the current SQLite transaction,
2256 (WebCore::SQLTransaction::performNextStep):
2257 (WebCore::SQLTransaction::performPendingCallback):
2258 * storage/SQLTransaction.h:
2260 2008-02-15 Adele Peterson <adele@apple.com>
2264 Fix for <rdar://problem/5745072> REGRESSION (r29348): Shift + Tab does not change indent level on Google Docs
2266 The immediate cause of this bug was that we stopped sending keypress events for the tab key when it is used to advance focus.
2267 We had a special case for forward-tab in designMode, where the default behavior was to insert a tab key (or respect the keypress handler behavior).
2268 This change makes the shift-tab behavior match the forward-tab behavior.
2270 If the site had put their event handler (which does the indenting) on the keydown event, then this problem would have been avoided.
2271 This is something we should look into and maybe advise the site on in the future. However, it's a low-risk change to just make tab and shift-tab uniform
2272 in this respect, so I think this is the way to go for right now.
2274 * page/EventHandler.cpp: (WebCore::EventHandler::defaultTabEventHandler):
2276 2008-02-15 Anders Carlsson <andersca@apple.com>
2280 <rdar://problem/5738678>
2281 REGRESSION: "Loading" status remains when uploading file to .Mac iDisk via Safari
2283 Use the new CFNetwork functions for setting body parts.
2285 * platform/network/cf/FormDataStreamCFNet.cpp:
2286 (WebCore::setHTTPBody):
2287 (WebCore::httpBodyFromRequest):
2289 2008-02-15 Geoffrey Garen <ggaren@apple.com>
2291 Reviewed by Anders Carlsson.
2293 Fixed <rdar://problem/5725429> REGRESSION (r27898): Greenfield online
2294 surveys no longer work due to XMLHttpRequest exceptions
2296 Reverted some exception throwing code from r12194.
2298 To comply with the W3C draft spec, we used to throw an exception when
2299 trying to access responseText and responseXML at the wrong time, but
2300 that turned out to be a compatibility problem.
2302 Now, matching Firefox and previous versions of WebKit, we never throw
2303 an exception when accessing responseText or responseXML.
2305 See http://www.mail-archive.com/public-webapi@w3.org/msg02756.html.
2307 * xml/XMLHttpRequest.cpp:
2308 (WebCore::XMLHttpRequest::getResponseText):
2309 (WebCore::XMLHttpRequest::getResponseXML):
2311 2008-02-15 Justin Garcia <justin.garcia@apple.com>
2313 Reviewed by Dan Bernstein.
2315 <rdar://problem/5738768> REGRESSION (r30062): Crash in InlineTextBox::isLineBreak() when Undoing a replace
2317 Rolled out <http://trac.webkit.org/projects/webkit/changeset/29667>
2319 * editing/SelectionController.cpp:
2320 (WebCore::SelectionController::nodeWillBeRemoved):
2322 2008-02-15 Alice Liu <alice.liu@apple.com>
2326 Fixed <rdar://problem/5741440> REGRESSION (r28496): After deactivating JavaScript, scripts embedded in the HTML page continue to run
2328 Before this patch, Frame::scriptProxy() would only return null in the case that javascript was
2329 disabled and if the script proxy field wasn't set (which would only be the case if the window
2330 hasn't loaded anything yet). Not all callers of scriptProxy() always check for a non-null return
2331 value. Those that did check would effectively be checking if javascript was enabled before proceeding.
2332 This fix consists of 2 elements: first, make sure that scriptProxy() will never return null, regardless
2333 of whether javascript is disabled. This will mean that callers who don't check for null won't crash.
2334 Second, callers who did check for null now instead check for javascript being disabled. This means that
2335 code paths intended for preventing javascript from being run will be making the correct check. Another
2336 minor addition to this patch is that I added a function on KSJProxy to be a shortcut for checking if javascript
2339 * bindings/js/JSCustomSQLStatementCallback.cpp:
2340 (WebCore::JSCustomSQLStatementCallback::handleEvent):
2341 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2342 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2343 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2344 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2345 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2346 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2347 * bindings/js/JSCustomVoidCallback.cpp:
2348 (WebCore::JSCustomVoidCallback::handleEvent):
2349 * bindings/js/JSCustomXPathNSResolver.cpp:
2350 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2351 * bindings/js/ScheduledAction.cpp:
2352 (WebCore::ScheduledAction::execute):
2353 * bindings/js/kjs_events.cpp:
2354 (WebCore::JSAbstractEventListener::handleEvent):
2355 (WebCore::JSLazyEventListener::parseCode):
2356 * bindings/js/kjs_html.cpp:
2357 (WebCore::runtimeObjectImplementsCall):
2358 * bindings/js/kjs_proxy.cpp:
2359 (WebCore::KJSProxy::isEnabled):
2360 * bindings/js/kjs_proxy.h:
2361 * bindings/js/kjs_window.cpp:
2362 (KJS::Window::retrieveWindow):
2363 (KJS::Window::retrieve):
2365 (WebCore::Document::createHTMLEventListener):
2366 * dom/EventTarget.cpp:
2367 (WebCore::EventTarget::dispatchGenericEvent):
2368 * html/HTMLPlugInElement.cpp:
2369 (WebCore::HTMLPlugInElement::createNPObject):
2370 * html/HTMLScriptElement.cpp:
2371 (WebCore::HTMLScriptElement::evaluateScript):
2372 * html/HTMLTokenizer.cpp:
2373 (WebCore::HTMLTokenizer::parseTag):
2374 (WebCore::HTMLTokenizer::processToken):
2375 * loader/FrameLoader.cpp:
2376 (WebCore::FrameLoader::executeScript):
2377 (WebCore::FrameLoader::userGestureHint):
2378 (WebCore::FrameLoader::open):
2379 (WebCore::FrameLoader::dispatchWindowObjectAvailable):
2380 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2381 * manual-tests/disable-javascript-reload.html: Added.
2383 (WebCore::Frame::scriptProxy):
2384 (WebCore::Frame::bindingRootObject):
2385 (WebCore::Frame::windowScriptNPObject):
2387 * page/InspectorController.cpp:
2388 (WebCore::canPassNodeToJavaScript):
2389 * page/mac/FrameMac.mm:
2390 (WebCore::Frame::windowScriptObject):
2391 * svg/SVGDocumentExtensions.cpp:
2392 (WebCore::SVGDocumentExtensions::createSVGEventListener):
2394 2008-02-15 Dan Bernstein <mitz@apple.com>
2396 Reviewed by Alexey Proskuryakov.
2398 - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
2399 <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
2401 Test: http/tests/loading/text-content-type-with-binary-extension.html
2403 Refined the workaround for <rdar://problem/5321972> to exclude files
2404 with extensions that are known to be associated with binary MIME types.
2406 * WebCore.xcodeproj/project.pbxproj: Added WebCoreURLResponse.{h,mm}.
2407 * platform/network/mac/ResourceResponseMac.mm:
2408 (WebCore::ResourceResponse::doUpdateResourceResponse): Moved the
2409 workaround logic into WebCoreURLResponse.
2410 * platform/network/mac/WebCoreURLResponse.h: Added.
2411 * platform/network/mac/WebCoreURLResponse.mm: Added.
2412 (createBinaryExtensionsSet): Returns a set of extensions known to
2413 belong to MIME types of binary data.
2414 (-[NSURLResponse _webcore_MIMEType]):
2415 (-[NSHTTPURLResponse _webcore_MIMEType]): Forces the MIME type from
2416 application/octet-stream to text/plain if that is the specified
2417 Content-Type, unless the extension is in the binary extensions set.
2419 2008-02-15 Dan Bernstein <mitz@apple.com>
2421 Reviewed by Dave Hyatt.
2423 - fix http://bugs.webkit.org/show_bug.cgi?id=17306
2424 <rdar://problem/5737923> Transitions between styles that have different transition-* properties behave inconsistently
2426 * manual-tests/transitions.html: Added.
2427 * page/AnimationController.cpp:
2428 (WebCore::CompositeImplicitAnimation::animate): Changed to use the
2429 transition properties of the current style rather than the target style.
2430 (WebCore::AnimationControllerPrivate::get): Changed to not create an
2431 animation if the style does not have transitions.
2432 (WebCore::AnimationController::updateImplicitAnimations): Added code to
2433 return the target style if the current style is not animating.
2434 * rendering/RenderObject.cpp:
2435 (WebCore::RenderObject::setAnimatableStyle): Changed to call
2436 updateImplicitAnimations() even if the current style does not have
2437 transitions, because we may be animating out of a style that had them.
2439 2008-02-15 Alexey Proskuryakov <ap@webkit.org>
2441 Rubber-stamped by Darin.
2443 Remove an obsolete WebCore readme file.
2447 2008-02-15 Sam Weinig <sam@webkit.org>
2449 Reviewed by Darin Adler.
2451 Remove more uses of DeprecatedString in preparation of getting rid of it.
2453 * bridge/mac/WebCoreScriptDebugger.mm:
2454 * css/CSSCursorImageValue.cpp:
2455 (WebCore::isSVGCursorIdentifier):
2456 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2457 * css/CSSStyleSelector.h:
2459 (WebCore::Element::dump):
2460 (WebCore::Element::formatForDebugger):
2462 (WebCore::Position::debugPosition):
2463 (WebCore::Position::formatForDebugger):
2465 (WebCore::Range::formatForDebugger):
2467 (WebCore::Text::formatForDebugger):
2468 * editing/Selection.cpp:
2469 (WebCore::Selection::debugPosition):
2470 (WebCore::Selection::formatForDebugger):
2471 * editing/SelectionController.cpp:
2472 (WebCore::SelectionController::debugRenderer):
2473 * editing/VisiblePosition.cpp:
2474 (WebCore::VisiblePosition::debugPosition):
2475 * html/HTMLTokenizer.cpp:
2476 (WebCore::HTMLTokenizer::scriptHandler):
2477 (WebCore::HTMLTokenizer::parseTag):
2478 (WebCore::HTMLTokenizer::processToken):
2479 (WebCore::HTMLTokenizer::notifyFinished):
2480 * svg/SVGFontFaceElement.cpp:
2481 (WebCore::mapAttributeToCSSProperty):
2483 2008-02-15 Adam Roben <aroben@apple.com>
2485 * bindings/scripts/CodeGenerator.pm: Touch this to force bindings to
2488 2008-02-15 Adam Roben <aroben@apple.com>
2490 Try to fix Qt/GTK+ builds
2492 * WebCore.pro: Remove MessageEvent.{idl,cpp} from the unconditional
2495 2008-02-15 Darin Adler <darin@apple.com>
2497 - another Qt build fix
2499 * platform/qt/KURLQt.cpp:
2500 (WebCore::KURL::operator QUrl): Use the characters directly, not ascii().
2501 Eliminate references to urlString.
2503 2008-02-15 Darin Adler <darin@apple.com>
2505 - another Qt build fix
2507 * platform/qt/ClipboardQt.cpp:
2508 (WebCore::ClipboardQt::declareAndWriteDragImage): Use KURL instead of String.
2510 2008-02-14 Darin Adler <darin@apple.com>
2512 - another round of build fixes
2514 * platform/KURL.cpp:
2515 (WebCore::appendEncodedHostname): Fix spelling (strLen, not strlen).
2516 * platform/network/curl/ResourceHandleManager.cpp:
2517 (WebCore::parseDataUrl): Fix a ".." typo and call data instead of characters.
2519 2008-02-14 Darin Adler <darin@apple.com>
2521 - added back accidentally-removed files
2523 * platform/DeprecatedStringList.cpp: Copied from platform/DeprecatedStringList.cpp.
2524 * platform/DeprecatedStringList.h: Copied from platform/DeprecatedStringList.h.
2525 * platform/mac/DeprecatedStringListMac.mm: Copied from platform/mac/DeprecatedStringListMac.mm.
2527 2008-02-14 Darin Adler <darin@apple.com>
2531 * platform/KURL.cpp:
2532 (WebCore::appendEncodedHostname): Use String to make a QString.
2533 * platform/network/cf/ResourceRequest.h:
2534 (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
2535 * platform/network/curl/ResourceHandleManager.cpp:
2536 (WebCore::parseDataUrl): Updated to String rather than DeprecatedString functions.
2538 2008-02-14 Darin Adler <darin@apple.com>
2542 * platform/network/qt/ResourceRequest.h:
2543 (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
2545 2008-02-14 Darin Adler <darin@apple.com>
2549 * platform/network/curl/ResourceRequest.h:
2550 (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
2552 2008-02-14 Darin Adler <darin@apple.com>
2554 - first Qt build fix
2556 * dom/XMLTokenizer.cpp:
2557 (WebCore::XMLTokenizer::endElementNs): Added a missing string() call.
2559 2008-02-14 Darin Adler <darin@apple.com>
2561 Reviewed by Eric Seidel.
2563 Based on work by Marvin Decker <marv.decker@gmail.com>
2565 - fix http://bugs.webkit.org/show_bug.cgi?id=16538
2566 KURL should use String instead of DeprecatedString
2568 - fix http://bugs.webkit.org/show_bug.cgi?id=16485
2569 DocLoader::checkForReload will crash if the URL isNull
2570 and a similar problem in IconDatabase
2572 - fix http://bugs.webkit.org/show_bug.cgi?id=16487
2573 KURL doesn't preserve isNull when constructed with a DeprecatedString
2575 - changed completeURL and various DOM getters to return KURL, to avoid
2576 conversion back and forth from KURL to String
2578 - changed the conversion of KURL to NSURL or NSString to be automatic,
2579 to ease the use of KURL in Objective C DOM bindings, and eliminated
2580 the getNSURL function
2582 - because I had to visit the DOM bindings anyway, eliminated almost all
2583 the use of the KJS namespace for things in WebCore
2585 - fixed HTMLOptionElement constructor to check for undefined rather
2586 than size of the arguments array
2588 - eliminated some other unnecessary uses of DeprecatedString
2590 - changed String::split to take a Vector parameter instead of returning
2591 a Vector, for better performance
2593 - added a couple of missing calls to do layout in SVG image handling;
2594 I was able to reproduce these only because I had broken URLs for a
2595 while -- not sure how to reproduce them now but the changes are
2598 Performance testing shows this to be at least a 1% speedup.
2600 Added a new function protocols to efficiently compare protocols
2601 without case errors and a blankURL function so we don't have to
2602 code "about:blank" in multiple places in the code and don't have to
2603 construct a frash KURL each time. Moved decode_string and encode_string
2604 out of KURL and gave them clearer names.
2606 Made KURL constructors explicit to highlight potentially-expensive
2607 operations and the poor semantics of KURL's constructor that takes
2610 * WebCore.base.exp: Updated.
2612 * bindings/js/JSAttrCustom.cpp:
2613 (WebCore::JSAttr::setValue): Use protocolIs.
2614 * bindings/js/JSAudioConstructor.h: KJS namespace change.
2615 * bindings/js/JSCSSRuleCustom.cpp:
2616 (WebCore::toJS): Ditto.
2617 * bindings/js/JSCSSValueCustom.cpp:
2618 (WebCore::toJS): Ditto.
2619 * bindings/js/JSDocumentCustom.cpp:
2620 (WebCore::JSDocument::location): Ditto.
2621 (WebCore::JSDocument::setLocation): Updated for KURL change.
2622 (WebCore::toJS): KJS namespace change.
2623 * bindings/js/JSElementCustom.cpp:
2624 (WebCore::allowSettingSrcToJavascriptURL): Use protocolIs.
2625 (WebCore::JSElement::setAttribute): KJS namespace change.
2626 (WebCore::JSElement::setAttributeNode): Ditto.
2627 (WebCore::JSElement::setAttributeNS): Ditto.
2628 (WebCore::JSElement::setAttributeNodeNS): Ditto.
2629 * bindings/js/JSHTMLFrameElementCustom.cpp:
2630 (WebCore::allowSettingJavascriptURL): Use protocolIs.
2631 (WebCore::JSHTMLFrameElement::setSrc): KJS namespace change.
2632 (WebCore::JSHTMLFrameElement::setLocation): Ditto.
2633 * bindings/js/JSHTMLIFrameElementCustom.cpp:
2634 (WebCore::JSHTMLIFrameElement::setSrc): Use protocolIs.
2635 * bindings/js/JSHTMLOptionElementConstructor.cpp:
2636 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2637 (WebCore::JSHTMLOptionElementConstructor::construct): Cleaned up the
2638 structure a bit and changed checking to check for undefined rather than
2639 number of arguments.
2640 * bindings/js/JSHTMLOptionElementConstructor.h: KJS namespace change.
2641 * bindings/js/JSLocation.cpp:
2642 (WebCore::JSLocation::put): Eliminated some DeprecatedString use,
2644 (WebCore::jsLocationProtoFuncReplace): Ditto.
2645 (WebCore::jsLocationProtoFuncReload): Ditto.
2646 (WebCore::jsLocationProtoFuncAssign): Ditto.
2647 * bindings/js/JSLocation.h: KJS namespace change.
2648 * bindings/js/JSNamedNodeMapCustom.cpp:
2649 (WebCore::JSNamedNodeMap::canGetItemsForName): Ditto.
2650 (WebCore::JSNamedNodeMap::nameGetter): Ditto.
2651 * bindings/js/JSNamedNodesCollection.cpp:
2652 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Ditto.
2653 * bindings/js/JSNamedNodesCollection.h: Ditto.
2654 * bindings/js/JSXMLHttpRequest.cpp:
2655 (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Removed
2656 DeprecatedString use.
2657 (WebCore::jsXMLHttpRequestPrototypeFunctionSend): Ditto.
2658 * bindings/js/JSXMLHttpRequest.h: Moved this class into the WebCore
2660 * bindings/js/JSXSLTProcessor.cpp: Namespace change.
2661 * bindings/js/JSXSLTProcessor.h: Ditto.
2663 * bindings/js/kjs_binding.cpp: Updated for namespace change.
2664 (WebCore::jsStringOrNull): Added an overload for KURL to allow DOM
2665 classes to return KURL even if the DOM expects a string.
2666 (WebCore::jsStringOrUndefined): Ditto.
2667 (WebCore::jsStringOrFalse): Ditto.
2668 * bindings/js/kjs_binding.h: Moved everything into the WebCore
2671 * bindings/js/kjs_css.h: Namespace change.
2672 * bindings/js/kjs_events.cpp: Removed an include.
2673 * bindings/js/kjs_events.h: Namespace change.
2674 * bindings/js/kjs_html.h: Namespace change.
2676 * bindings/js/kjs_navigator.cpp: Moved everything into the
2678 * bindings/js/kjs_navigator.h: Ditto.
2680 * bindings/js/kjs_window.cpp:
2681 (KJS::parseModalDialogFeatures): Updated for String::split change.
2682 (KJS::createWindow): Use protocolIs and removed some DeprecatedString.
2683 (KJS::Window::put): Ditto.
2684 (KJS::Window::allowsAccessFrom): Ditto.
2685 (KJS::windowProtoFuncOpen): Ditto.
2687 * bindings/objc/DOM.mm:
2688 (-[DOMElement _getURLAttribute:]): Removed getNSURL call.
2689 * bindings/objc/DOMHTML.mm:
2690 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto.
2692 * bindings/scripts/CodeGeneratorCOM.pm: Updated includes so conversions from
2694 * bindings/scripts/CodeGeneratorJS.pm: Updated for namespace changes, and also
2695 updated includes so conversions from KURL will work.
2696 * bindings/scripts/CodeGeneratorObjC.pm: Updated includes so conversions from
2699 * bridge/mac/WebCoreAXObject.mm:
2700 (-[WebCoreAXObject accessibilityAttributeValue:]): Removed getNSURL call.
2701 Also streamlined the logic.
2702 (AXAttributedStringAppendText): Ditto.
2704 * bridge/mac/WebCoreScriptDebugger.mm:
2705 (toNSString): Tweaked.
2706 (toNSURL): Removed getNSURL call.
2708 * css/CSSImageValue.cpp:
2709 (WebCore::CSSImageValue::image): Removed DeprecatedString use.
2710 * css/CSSImportRule.cpp:
2711 (WebCore::CSSImportRule::insertedIntoParent): Ditto.
2712 * css/CSSParser.cpp:
2713 (WebCore::CSSParser::parseValue): Ditto.
2714 (WebCore::CSSParser::parseContent): Ditto.
2715 (WebCore::CSSParser::parseBackgroundImage): Ditto.
2716 (WebCore::CSSParser::parseFontFaceSrc): Ditto.
2717 (WebCore::CSSParser::parseBorderImage): Ditto.
2718 * css/CSSStyleSelector.cpp:
2719 (WebCore::CSSStyleSelector::setEncodedURL): Ditto.
2720 (WebCore::checkPseudoState): Ditto.
2721 * css/CSSStyleSelector.h: Ditto.
2723 * css/MediaList.cpp:
2724 (WebCore::MediaList::setMediaText): Updated for String::split change.
2726 * css/StyleBase.cpp:
2727 (WebCore::StyleBase::baseURL): Return KURL.
2728 * css/StyleBase.h: DItto.
2731 (WebCore::Document::~Document): Updated for namespace change.
2732 (WebCore::Document::documentURI): Return KURL.
2733 (WebCore::Document::setDocumentURI): Removed DeprecatedString use.
2734 (WebCore::Document::baseURI): Return KURL.
2735 (WebCore::Document::open): Updated to use blankURL.
2736 (WebCore::Document::setURL): Take KURL.
2737 (WebCore::Document::shouldBeAllowedToLoadLocalResources): Updated for
2739 (WebCore::Document::setBaseURL): Take KURL.
2740 (WebCore::Document::elementSheet): Updated for KURL change.
2741 (WebCore::Document::mappedElementSheet): Ditto.
2742 (WebCore::Document::processHttpEquiv): Ditto.
2743 (WebCore::Document::recalcStyleSelector): Removed use of
2744 DeprecatedString -- also noticed some dead code here!
2745 (WebCore::Document::setCookie): Ditto.
2746 (WebCore::Document::completeURL): Return KURL.
2747 * dom/Document.h: Use KURL instead of String in a few places.
2749 * dom/DocumentType.cpp:
2750 (WebCore::DocumentType::baseURI): Return KURL.
2751 * dom/DocumentType.h: Ditto.
2754 (WebCore::Element::baseURI): Return KURL.
2755 * dom/Element.h: Ditto.
2758 (WebCore::Node::setDocument): Namespace change.
2759 (WebCore::Node::baseURI): Return KURL.
2760 * dom/Node.h: Ditto.
2762 * dom/ProcessingInstruction.cpp:
2763 (WebCore::ProcessingInstruction::checkStyleSheet): Updated for KURL change.
2764 * dom/StyleElement.cpp:
2765 (WebCore::StyleElement::process): Changed to use Vector<UChar> instead of
2766 String for better performance.
2767 (WebCore::StyleElement::createSheet): Removed use of DeprecateString.
2768 * dom/XMLTokenizer.cpp:
2769 (WebCore::XMLTokenizer::endElementNs): Updated for KURL change.
2770 (WebCore::XMLTokenizer::end): Ditto.
2771 (WebCore::xmlDocPtrForString): Removed use of DeprecateString.
2772 * dom/XMLTokenizer.h: Ditto.
2774 * editing/markup.cpp: Moved appendString to PlatformString.h.
2775 (WebCore::appendQuotedURLAttributeValue): Use protocolIs.
2776 (WebCore::completeURLs): Removed DeprecatedString use.
2777 (WebCore::createFragmentFromMarkup): Use blankURL.
2778 (WebCore::fillContainerFromString): Removed DeprecatedString use.
2779 (WebCore::createFragmentFromText): Ditto.
2781 * history/HistoryItem.cpp:
2782 (WebCore::HistoryItem::url): Removed DeprecatedString use.
2783 (WebCore::HistoryItem::originalURL): Ditto.
2784 * history/HistoryItem.h: Removed include.
2786 * html/HTMLAnchorElement.cpp:
2787 (WebCore::HTMLAnchorElement::defaultEventHandler): Removed use of
2789 (WebCore::HTMLAnchorElement::href): Return KURL.
2790 (WebCore::HTMLAnchorElement::hash): Removed DeprecatedString use.
2791 (WebCore::HTMLAnchorElement::host): Ditto.
2792 (WebCore::HTMLAnchorElement::hostname): Ditto.
2793 (WebCore::HTMLAnchorElement::pathname): Ditto.
2794 (WebCore::HTMLAnchorElement::port): Ditto.
2795 (WebCore::HTMLAnchorElement::protocol): Ditto.
2796 (WebCore::HTMLAnchorElement::search): Ditto.
2797 (WebCore::HTMLAnchorElement::toString): Ditto.
2798 * html/HTMLAnchorElement.h: Ditto.
2799 * html/HTMLAppletElement.cpp:
2800 (WebCore::HTMLAppletElement::createRenderer): Updated for KURL change.
2801 * html/HTMLAreaElement.cpp:
2802 (WebCore::HTMLAreaElement::href): Return KURL.
2803 * html/HTMLAreaElement.h: Ditto.
2804 * html/HTMLBaseElement.cpp:
2805 (WebCore::HTMLBaseElement::removedFromDocument): Updated for KURL change.
2806 (WebCore::HTMLBaseElement::process): Removed DeprecatedString use.
2807 * html/HTMLBodyElement.cpp:
2808 (WebCore::HTMLBodyElement::parseMappedAttribute): Updated for KURL change.
2809 * html/HTMLEmbedElement.cpp:
2810 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed use of
2812 * html/HTMLEmbedElement.h: Removed DeprecatedString use.
2813 * html/HTMLFormElement.cpp:
2814 (WebCore::HTMLFormElement::formWouldHaveSecureSubmission): Use protocolIs.
2815 (WebCore::encodeCString): Updated for change to String::split.
2816 (WebCore::HTMLFormElement::dataEncoding): Ditto.
2817 (WebCore::HTMLFormElement::formData): Removed DeprecatedString use.
2818 (WebCore::HTMLFormElement::isMailtoForm): Use protocolIs.
2819 (WebCore::HTMLFormElement::submit): Updated for KURL change.
2820 (WebCore::HTMLFormElement::reset): Ditto.
2821 * html/HTMLFrameElementBase.cpp:
2822 (WebCore::HTMLFrameElementBase::isURLAllowed): Updated for KURL change
2823 and use equalIgnoringRef instead of doing a setRef to get the same effect.
2824 (WebCore::HTMLFrameElementBase::openURL): Use blankURL.
2825 (WebCore::HTMLFrameElementBase::location): Return KURL.
2826 (WebCore::HTMLFrameElementBase::src): Return KURL.
2827 * html/HTMLFrameElementBase.h: Ditto.
2828 * html/HTMLImageElement.cpp:
2829 (WebCore::HTMLImageElement::parseMappedAttribute): Updated for KURL change.
2830 (WebCore::HTMLImageElement::longDesc): Return KURL.
2831 (WebCore::HTMLImageElement::lowsrc): Return KURL.
2832 (WebCore::HTMLImageElement::src): Return KURL.
2833 * html/HTMLImageElement.h: Ditto. Also removed imageMap() function.
2834 * html/HTMLInputElement.cpp:
2835 (WebCore::HTMLInputElement::src): Return KURL.
2836 * html/HTMLInputElement.h: Ditto.
2837 * html/HTMLLinkElement.cpp:
2838 (WebCore::HTMLLinkElement::parseMappedAttribute): Updated for KURL change.
2839 (WebCore::HTMLLinkElement::tokenizeRelAttribute): Updated for String::split change.
2840 (WebCore::HTMLLinkElement::href): Return KURL.
2841 * html/HTMLLinkElement.h: Ditto.
2842 * html/HTMLMediaElement.cpp:
2843 (WebCore::HTMLMediaElement::src): Return KURL.
2844 (WebCore::HTMLMediaElement::pickMedia): Updated for KURL change.
2845 * html/HTMLMediaElement.h: Ditto.
2846 * html/HTMLObjectElement.cpp:
2847 (WebCore::HTMLObjectElement::isImageType): Use protocolIs.
2848 (WebCore::HTMLObjectElement::data): Return KURL.
2849 * html/HTMLObjectElement.h: Ditto.
2850 * html/HTMLOptGroupElement.cpp:
2851 (WebCore::HTMLOptGroupElement::groupLabelText): Removed DeprecatedString use.
2852 * html/HTMLParser.cpp:
2853 (WebCore::HTMLParser::reportErrorToConsole): Updated for KURL change.
2854 * html/HTMLScriptElement.cpp:
2855 (WebCore::HTMLScriptElement::insertedIntoDocument): Ditto.
2856 (WebCore::HTMLScriptElement::text): Changed to use Vector<UChar> instead of
2857 String for better performance.
2858 (WebCore::HTMLScriptElement::src): Return KURL.
2859 * html/HTMLScriptElement.h: Ditto.
2860 * html/HTMLSourceElement.cpp:
2861 (WebCore::HTMLSourceElement::src): Return KURL.
2862 * html/HTMLSourceElement.h: Ditto.
2863 * html/HTMLTableElement.cpp:
2864 (WebCore::HTMLTableElement::parseMappedAttribute): Updated for KURL change.
2865 * html/HTMLTablePartElement.cpp:
2866 (WebCore::HTMLTablePartElement::parseMappedAttribute): Updated for KURL change.
2867 * html/HTMLTextAreaElement.cpp:
2868 (WebCore::HTMLTextAreaElement::setValue): Removed DeprecatedString use.
2869 * html/HTMLTokenizer.cpp:
2870 (WebCore::HTMLTokenizer::scriptExecution): Ditto.
2871 (WebCore::HTMLTokenizer::notifyFinished): Use protocolIs.
2872 * html/HTMLVideoElement.cpp:
2873 (WebCore::HTMLVideoElement::poster): Return KURL.
2874 * html/HTMLVideoElement.h: Ditto.
2875 * html/HTMLViewSourceDocument.cpp:
2876 (WebCore::HTMLViewSourceDocument::addText): Updated for String::split change.
2878 * loader/DocLoader.cpp:
2879 (WebCore::DocLoader::checkForReload): Add an explicit check for an empty URL
2880 here to avoid problems using its string as a hash table key later.
2881 (WebCore::DocLoader::requestResource): Removed DeprecatedString use.
2883 * loader/FTPDirectoryDocument.cpp:
2884 (WebCore::FTPDirectoryTokenizer::createTDForFilename): Updated for KURL change.
2885 (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Removed use of
2888 * loader/FrameLoader.cpp:
2889 (WebCore::FrameLoader::requestFrame): Use protocolIs.
2890 (WebCore::FrameLoader::loadSubframe): Use blankURL.
2891 (WebCore::FrameLoader::submitForm): Use protocolIs and removed use of
2893 (WebCore::FrameLoader::iconURL): Return KURL. Use protcolIs.
2894 (WebCore::FrameLoader::didOpenURL): Use protocolIs.
2895 (WebCore::FrameLoader::didExplicitOpen): Use blankURL.
2896 (WebCore::FrameLoader::executeIfJavaScriptURL): Use protocolIs.
2897 Update for name change to decodeURLEscapeSequences.
2898 (WebCore::FrameLoader::receivedFirstData): Updated for KURL changes.
2899 (WebCore::FrameLoader::begin): Removed DeprecatedString use.
2900 Renamed baseurl to baseURL. Updated to use KURL more.
2901 (WebCore::FrameLoader::gotoAnchor): Removed use of encodedHtmlRef
2902 function, which is no different from ref.
2903 (WebCore::FrameLoader::completeURL): Updated for KURL change.
2904 (WebCore::FrameLoader::scheduleLocationChange): Ditto.
2905 (WebCore::FrameLoader::canCachePage): Use protocolIs.
2906 (WebCore::FrameLoader::updatePolicyBaseURL): Update for KURL change.
2907 (WebCore::FrameLoader::setPolicyBaseURL): Take KURL.
2908 (WebCore::FrameLoader::startRedirectionTimer): Removed use of
2910 (WebCore::FrameLoader::load): Use protocolIs.
2911 (WebCore::FrameLoader::shouldHideReferrer): Use protocolIs.
2912 (WebCore::FrameLoader::shouldAllowNavigation): Updated for KURL change.
2913 (WebCore::FrameLoader::commitProvisionalLoad): Use blankURL.
2914 (WebCore::FrameLoader::open): Use protcolIs.
2915 (WebCore::FrameLoader::createHistoryItem): Use blankURL.
2916 (WebCore::FrameLoader::createJavaAppletWidget): Updated for KURL change.
2917 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): Removed
2918 DeprecatedString use.
2919 * loader/FrameLoader.h: Ditto.
2921 * loader/ImageDocument.cpp:
2922 (WebCore::ImageDocument::createDocumentStructure): Updated for KURL change.
2923 * loader/PluginDocument.cpp:
2924 (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
2926 * loader/icon/IconDatabase.cpp:
2927 (WebCore::IconDatabase::iconForPageURL): Added a check for an empty URL
2928 before trying to use it as a hash table key.
2930 * loader/icon/IconLoader.h: Tweaked includes.
2932 * loader/loader.cpp:
2933 (WebCore::Loader::servePendingRequests): Use protcolIs. Also removed some
2934 code to set up a local variable that is never used (and a DeprecatedString
2937 * loader/mac/LoaderNSURLExtras.m:
2938 (suggestedFilenameWithMIMEType): Removed unnecessary typecast.
2940 * page/ContextMenuController.cpp: Removed include.
2942 * page/mac/EventHandlerMac.mm:
2943 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
2946 * page/mac/WebCoreFrameBridge.mm:
2947 (-[WebCoreFrameBridge URLWithAttributeString:]): Removed getNSURL call.
2948 (-[WebCoreFrameBridge baseURL]): Ditto.
2950 * platform/KURL.cpp:
2951 (WebCore::isSchemeFirstChar): Fixed bug in handling of values >= 0x80.
2952 (WebCore::isSchemeChar): Ditto.
2953 (WebCore::isPathSegmentEndChar): Ditto.
2954 (WebCore::hexDigitValue): Changed parameter type to UChar.
2955 (WebCore::copyASCII): Added.
2956 (WebCore::findFirstOf): Added.
2957 (WebCore::KURL::protocolIs): Added.
2958 (WebCore::KURL::KURL): Tightened logic up quite a bit. Changed parameter
2959 types from DeprecatedString to String.
2960 (WebCore::KURL::init): Changed parameter type to String. Preserved the
2961 passed-in string even if the base is invalid. Cleaned up logic to determine
2962 if the originalString should be pased in to the parse function. Simplified
2963 by calling the new parse overload that takes String in many cases.
2964 (WebCore::KURL::lastPathComponent): Return String.
2965 (WebCore::KURL::protocol): Ditto.
2966 (WebCore::KURL::host): Ditto.
2967 (WebCore::KURL::port): Changed logic to use early return for clarity.
2968 (WebCore::KURL::pass): Return String.
2969 (WebCore::KURL::user): Ditto.
2970 (WebCore::KURL::ref): Ditto.
2971 (WebCore::assertProtocolIsGood): Added.
2972 (WebCore::KURL::protocolIs): Added.
2973 (WebCore::KURL::query): Return String.
2974 (WebCore::KURL::path): Ditto.
2975 (WebCore::KURL::setProtocol): Take String.
2976 (WebCore::KURL::setHost): Ditto.
2977 (WebCore::KURL::setPort): Use String.
2978 (WebCore::KURL::setHostAndPort): Take String.
2979 (WebCore::KURL::setUser): Ditto.
2980 (WebCore::KURL::setPass): Ditto.
2981 (WebCore::KURL::setRef): Ditto.
2982 (WebCore::KURL::setQuery): Ditto.
2983 (WebCore::KURL::setPath): Ditto.
2984 (WebCore::KURL::prettyURL): Return String. Use Vector<UChar> to build it.
2985 (WebCore::decodeURLEscapeSequences): Renamed from KURL::decode_string.
2986 Return String. Use Vector<UChar> to build it.
2987 (WebCore::KURL::isLocalFile): Use protocolIs.
2988 (WebCore::KURL::parse): Added an overload that takes a String to replace
2989 the use of DeprecatedString::ascii at various call sites. Updated for
2990 name change (urlString -> m_string).
2991 (WebCore::equalIgnoringRef): Wrote a new implementation that doesn't
2993 (WebCore::encodeWithURLEscapeSequences): Renamed from KURL::encode_string.
2995 (WebCore::appendEncodedHostname): Added. Replaces encodeHostname and
2996 avoids the need to allocate a string.
2997 (WebCore::findHostnamesInMailToURL): Update to use findFirstOf instead of
2998 regular expressions.
2999 (WebCore::findHostnameInHierarchicalURL): Ditto.
3000 (WebCore::encodeHostnames): Use protocolIs and the other helpers above.
3001 (WebCore::encodeRelativeString): Changed to put result into a CharBuffer.
3002 (WebCore::substituteBackslashes): Updated to use String.
3003 (WebCore::KURL::copyToBuffer): Added.
3004 (WebCore::protocolIs): Added.
3005 (WebCore::blankURL): Added.
3006 (WebCore::KURL::print): Updated.
3007 * platform/KURL.h: Added a number of comments. Reorganized the header a bit.
3008 Made the string constructors explicit. Changed to use String instead of
3009 DeprecatedString. Removed encodedHTMLRef. Renamed and added a few functions.
3011 * platform/cf/KURLCFNet.cpp:
3012 (WebCore::KURL::KURL): Streamlined the logic a bit.
3013 (WebCore::KURL::createCFURL): Changed to use copyToBuffer.
3015 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3016 (WebCore::MediaPlayerPrivate::createQTMovie): Removed getNSURL call.
3018 * platform/mac/ClipboardMac.mm:
3019 (WebCore::ClipboardMac::declareAndWriteDragImage): Removed getNSURL call.
3020 * platform/mac/CookieJar.mm:
3021 (WebCore::cookies): Removed getNSURL call.
3022 (WebCore::setCookies): Removed getNSURL call.
3023 * platform/mac/KURLMac.mm:
3024 (WebCore::KURL::KURL): Streamlined the logic a bit.
3025 * platform/mac/PasteboardMac.mm:
3026 (WebCore::Pasteboard::writeURL): Removed getNSURL call.
3027 (WebCore::Pasteboard::writeImage): Ditto.
3028 * platform/mac/SSLKeyGeneratorMac.mm:
3029 (WebCore::signedPublicKeyAndChallengeString): Ditto.
3031 * platform/network/HTTPParsers.cpp:
3032 (WebCore::filenameFromHTTPContentDisposition): Updated for String::split.
3033 * platform/network/ResourceHandle.cpp:
3034 (WebCore::ResourceHandle::portAllowed): Use protocolIs.
3036 * platform/network/cf/ResourceErrorCF.cpp:
3037 (WebCore::ResourceError::operator CFErrorRef): Removed deprecatedString call.
3038 * platform/network/curl/ResourceHandleManager.cpp:
3039 (WebCore::headerCallback): Ditto.
3040 (WebCore::parseDataUrl): Use String instead of DeprecatedString.
3041 (WebCore::ResourceHandleManager::startJob): Updated for KURL changes.
3042 * platform/network/mac/ResourceErrorMac.mm:
3043 (WebCore::ResourceError::operator NSError*): Removed getNSURL call.
3044 * platform/network/mac/ResourceRequest.h:
3045 (WebCore::ResourceRequest::ResourceRequest): Removed DeprecatedString use.
3046 * platform/network/mac/ResourceRequestMac.mm:
3047 (WebCore::ResourceRequest::doUpdatePlatformRequest): Removed getNSURL call.
3048 * platform/network/mac/ResourceResponseMac.mm:
3049 (WebCore::ResourceResponse::nsURLResponse): Removed getNSURL call.
3051 * platform/qt/ClipboardQt.cpp:
3052 (WebCore::ClipboardQt::writeURL): Removed deprecatedString call.
3054 * platform/text/CString.h:
3055 (WebCore::CStringBuffer::length): Fixed size_t/unsigned mismatch to make it
3056 possible to compile this on Windows with higher warning level
3058 * platform/text/PlatformString.h: Updated split to modify a result parameter
3059 rather than returning a Vector. Added charactersAreAllASCII and an append
3060 function that appends a String to a Vector<UChar>.
3061 * platform/text/String.cpp:
3062 (WebCore::String::split): Updated.
3064 * platform/win/BString.cpp:
3065 (WebCore::BString::BString): Added conversion from KURL.
3066 * platform/win/BString.h: Ditto.
3068 * platform/win/ClipboardUtilitiesWin.cpp:
3069 (WebCore::markupToCF_HTML): Removed use of deprecatedString.
3070 * platform/win/ClipboardWin.cpp:
3071 (WebCore::filesystemPathFromUrlOrTitle): Ditto.
3072 (WebCore::createGlobalHDropContent): Ditto.
3073 (WebCore::ClipboardWin::setData): Ditto.
3074 (WebCore::ClipboardWin::writeRange): Ditto.
3075 * platform/win/PasteboardWin.cpp:
3076 (WebCore::Pasteboard::writeSelection): Ditto.
3077 * plugins/PluginStream.cpp:
3078 (WebCore::PluginStream::startStream): Ditto.
3079 (WebCore::PluginStream::destroyStream): Ditto.
3080 * plugins/win/PluginViewWin.cpp:
3081 (WebCore::scriptStringIfJavaScriptURL): Ditto.
3082 (WebCore::PluginView::performRequest): Ditto.
3083 (WebCore::PluginView::PluginView): Ditto.
3085 * rendering/HitTestResult.cpp:
3086 (WebCore::HitTestResult::absoluteImageURL): Removed DeprecatedString use.
3087 (WebCore::HitTestResult::absoluteLinkURL): Ditto.
3089 * rendering/RenderFrameSet.cpp:
3090 (WebCore::RenderFrameSet::layOutAxis): Fixed comment wording.
3091 * rendering/RenderImage.cpp:
3092 (WebCore::RenderImage::paintReplaced): Removed use of DeperecatedString,
3093 (WebCore::RenderImage::imageMap): Changed to call useMap instead of imageMap;
3094 both do the same thing, and the first is standard DOM.
3096 * rendering/RenderObject.cpp:
3097 (WebCore::RenderObject::addPDFURLRect): Rewrote and streamlined to remove
3098 DeprecatedString use.
3099 * rendering/RenderObject.h: Changed addPDFURLRect to take const IntRect&.
3101 * rendering/RenderPartObject.cpp:
3102 (WebCore::isURLAllowed): Updated for KURL change and use equalIgnoringRef
3103 instead of doing a setRef to get the same effect.
3104 (WebCore::RenderPartObject::updateWidget): Updated for KURL change.
3106 * rendering/RenderText.cpp:
3107 (WebCore::charactersAreAllASCII): Moved the guts to PlatformString.h.
3109 * rendering/SVGRenderSupport.cpp:
3110 (WebCore::renderSubtreeToImage): Added missing call to do layout. I ran
3111 into this while doing some layout tests while URL processing was broken.
3113 * rendering/SVGRenderTreeAsText.h: Removed include.
3115 * svg/SVGImageLoader.cpp:
3116 (WebCore::SVGImageLoader::updateFromElement): Removed DeprecatedString use.
3118 * svg/graphics/SVGImage.cpp:
3119 (WebCore::SVGImage::draw): Added missing call to do layout. I ran
3120 into this while doing some layout tests while URL processing was broken.
3121 (WebCore::SVGImage::dataChanged): Use a null URL rather than an arbitrary
3122 string for the document.
3124 * xml/XMLHttpRequest.cpp:
3125 (WebCore::XMLHttpRequest::getResponseXML): Removed DeprecatedString use.
3126 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): Ditto.
3127 (WebCore::XMLHttpRequest::open): Ditto.
3128 (WebCore::XMLHttpRequest::send): Namespace change.
3129 (WebCore::XMLHttpRequest::dropProtection): Ditto.
3130 * xml/XMLHttpRequest.h: Removed DeprecatedString use.
3132 * xml/XSLImportRule.cpp:
3133 (WebCore::XSLImportRule::loadSheet): Removed DeprecatedString use.
3134 * xml/XSLStyleSheet.cpp:
3135 (WebCore::XSLStyleSheet::loadChildSheets): Ditto.
3136 (WebCore::XSLStyleSheet::loadChildSheet): Ditto.
3137 * xml/XSLStyleSheet.h: Ditto.
3138 * xml/XSLTProcessor.cpp:
3139 (WebCore::docLoaderFunc): Ditto.
3140 (WebCore::xsltStylesheetPointer): Ditto.
3141 (WebCore::xmlDocPtrFromNode): Ditto.
3143 2008-02-14 Ada Chan <adachan@apple.com>
3145 <rdar://problem/5744728> Fix leaks of RegularExpression objects in Frame.cpp.
3147 Reviewed by Jon and Darin.
3150 (WebCore::createRegExpForLabels):
3151 (WebCore::Frame::searchForLabelsBeforeElement):
3152 (WebCore::Frame::matchLabelsAgainstElement):
3154 2008-02-14 Stephanie Lewis <slewis@apple.com>
3162 2008-02-14 Oliver Hunt <oliver@apple.com>
3164 Reviewed by Geoff G and Weinig.
3166 <rdar://problem/5726608> REGRESSION (r29428): Assigning to window.status does not update status bar
3168 Revert the portions of r29428 responsible for breaking the ability to
3171 * page/DOMWindow.cpp:
3172 (WebCore::DOMWindow::setStatus):
3173 (WebCore::DOMWindow::defaultStatus):
3174 (WebCore::DOMWindow::setDefaultStatus):
3176 * page/DOMWindow.idl:
3178 2008-02-14 Anders Carlsson <andersca@apple.com>
3182 <rdar://problem/5721790>
3183 Crash in WebCore::DeprecatedString::operator= + 31 at news.google.com
3185 Use pointers in the cache map tables. Otherwise when we rehash,
3186 we will end up destroying Cache objects that node lists might point to.
3189 (WebCore::NodeListsNodeData::~NodeListsNodeData):
3190 (WebCore::Node::getElementsByName):
3191 (WebCore::Node::getElementsByClassName):
3193 2008-02-14 Alp Toker <alp@atoker.com>
3197 http://bugs.webkit.org/show_bug.cgi?id=17353
3198 XMLTokenizer installs global libxml2 callbacks that can break client applications
3200 Patch by Mark Rowe (with a few changes).
3202 The xmlRegisterInputCallbacks/xmlRegisterOutputCallbacks done at
3203 init are global so we need to make sure these callbacks only get used
3204 by XMLTokenizer and never by libxml2 calls in user applications.
3206 This patch modifies the match and open functions to only apply when we
3207 are certain the caller is XMLTokenizer by checking globalDocLoader and
3208 ensuring we're on the correct thread.
3210 Some possible issues remain. See the bug report for details.
3212 * dom/XMLTokenizer.cpp:
3213 (WebCore::matchFunc):
3214 (WebCore::openFunc):
3215 (WebCore::createStringParser):
3217 2008-02-14 Timothy Hatcher <timothy@apple.com>
3219 Reviewed by Darin Adler.
3221 <rdar://problem/5743768> A deadlock during storage layout tests
3223 Make sure not to hold the m_openDatabaseMapGuard mutex when calling
3224 Database::markAsDeletedAndClose(), since that can cause a deadlock
3225 during the synchronous DatabaseThread call it triggers.
3227 * storage/DatabaseTracker.cpp:
3228 (WebCore::DatabaseTracker::deleteDatabaseFile):
3230 2008-02-14 Adam Roben <aroben@apple.com>
3232 Turn on cross-document messaging support by default
3236 * Configurations/WebCore.xcconfig:
3238 * WebCore.vcproj/WebCore.vcproj:
3240 2008-02-14 Adam Roben <aroben@apple.com>
3242 Conditionalize cross-document messaging support
3244 The cross-document messaging parts of HTML 5 are in flux and we want
3245 ports to be able to turn off the support as needed.
3247 Note that the support is turned off by default right now. A subsequent
3248 commit will turn it on by default.
3253 * WebCore.vcproj/build-generated-files.sh:
3254 * bindings/js/JSDOMWindowCustom.cpp:
3255 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3256 * bindings/js/JSEventCustom.cpp:
3259 (WebCore::Event::isMessageEvent):
3261 * dom/MessageEvent.cpp:
3262 * dom/MessageEvent.h:
3263 * dom/MessageEvent.idl:
3264 * page/DOMWindow.cpp:
3265 (WebCore::DOMWindow::postMessage):
3267 * page/DOMWindow.idl:
3269 2008-02-14 Adam Roben <aroben@apple.com>
3271 Improve the efficiency of SecurityOriginHash
3275 * platform/SecurityOriginHash.h:
3276 (WebCore::SecurityOriginHash::hash): Now takes a const
3277 RefPtr<SecurityOrigin>& to reduce ref-count churn.
3278 (WebCore::SecurityOriginHash::equal): Ditto.
3280 2008-02-13 Justin Garcia <justin.garcia@apple.com>
3282 Reviewed by Oliver Hunt.
3284 Fixes the editing/deleting/5729680.html failure. It succeeds when run by itself
3285 but fails when run with other tests because FramePrivate's m_selectionGranularity
3286 isn't reset when a Frame receives a new document. It was also uninitialized in
3289 * loader/FrameLoader.cpp:
3290 (WebCore::FrameLoader::clear): Initialize m_selectionGranularity.
3292 (WebCore::FramePrivate::FramePrivate): Ditto.
3294 2008-02-13 Jon Honeycutt <jhoneycutt@apple.com>
3298 <rdar://problem/5739282> Hangs after closing video trailer popup with
3301 VLC hangs on NPP_Destroy if we call NPP_SetWindow with a null window
3304 * plugins/PluginQuirkSet.h: Added new quirk
3305 PluginQuirkDontSetNullWindowHandleOnDestroy.
3307 * plugins/win/PluginViewWin.cpp:
3308 (WebCore::PluginView::stop): Selectively call NPP_SetWindow.
3309 (WebCore::PluginView::determineQuirks): Set new quirk for VLC plug-in.
3311 2008-02-13 Rodney Dawes <dobey@wayofthemonkey.com>
3313 Reviewed by Alp Toker.
3317 * css/CSSCursorImageValue.cpp:
3319 2008-02-13 Justin Garcia <justin.garcia@apple.com>
3321 Reviewed by Adam Roben.
3323 <rdar://problem/5729680> REGRESSION (r27873): Removing the last character of a word in Mail or Safari also removes the following space
3325 * editing/Editor.cpp:
3326 (WebCore::Editor::deleteWithDirection): Fixed a typo.
3328 2008-02-13 Nikolas Zimmermann <zimmermann@kde.org>
3332 Actually fix the manual-tests/svg-cursor-changes.svg testcase.
3333 I only reran layout tests when fixing the last issues with the patch,
3334 instead of trying the manual-test :( Fixed.
3336 * css/CSSCursorImageValue.cpp:
3337 (WebCore::CSSCursorImageValue::CSSCursorImageValue):
3338 (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
3339 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
3340 * css/CSSCursorImageValue.h:
3342 2008-02-13 Adam Roben <aroben@apple.com>
3346 * css/CSSCursorImageValue.cpp: #include MathExtras.h to get roundf.
3348 2008-02-13 Nikolas Zimmermann <zimmermann@kde.org>
3350 Reviewed by Darin & Eric.
3352 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17258 (SVG uses erroneous cursor implementation)
3354 SVG cursors are not well-integrated within the CSS(3) cursor support in WebCore.
3355 SVGCursorElement duplicates CSSCursorImageValue functionality and inherits from
3356 CachedResourceClient itself, handling remote-image acquisation on its own.
3358 RenderStyle's CursorData class holds "IntPoint hotSpot", "CachedImage* image"
3359 and just for SVG a 'String cursorFragmentId' (a reference to a SVG <cursor> element, by id).
3361 SVG stores a reference to a SVGCursorElement, which holds a CachedImage pointer itself -
3362 instead of storing the CachedImage in the CursorData class, as it's supposed to be.
3363 Because of that several places in WebCore contain special SVG cursor handling - which
3366 Fix all issues by integrating within CSSCursorImageValue, remove 'String cursorFragmentId'
3367 from RenderStyle, kill any special SVG cursor handling in WebCore and fix dynamic attribute
3368 changes through DOM / SVG DOM (scripting of 'x' / 'y' / 'xlink:href' attribute). Now you
3369 can script the mouse cursor location using SVG - the feature anyone has waited for.
3371 Added manual test case: manual-tests/svg-cursor-changes.svg (no support for cursors in DRT)
3373 * css/CSSCursorImageValue.cpp:
3374 (WebCore::isSVGCursorIdentifier):
3375 (WebCore::resourceReferencedByCursorElement):
3376 (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
3377 (WebCore::CSSCursorImageValue::updateIfNeeded):
3378 (WebCore::CSSCursorImageValue::image):
3379 * css/CSSCursorImageValue.h:
3380 * css/CSSImageValue.cpp:
3381 (WebCore::CSSImageValue::image):
3382 * css/CSSImageValue.h:
3383 * css/CSSParser.cpp:
3384 (WebCore::CSSParser::parseValue):
3385 * css/CSSStyleSelector.cpp:
3386 (WebCore::CSSStyleSelector::applyProperty):
3387 * manual-tests/svg-cursor-changes.svg: Added.
3388 * page/EventHandler.cpp:
3389 (WebCore::EventHandler::selectCursor):
3390 * rendering/RenderStyle.cpp:
3391 * rendering/RenderStyle.h:
3392 (WebCore::CursorData::operator==):
3393 * svg/SVGCursorElement.cpp:
3394 (WebCore::SVGCursorElement::SVGCursorElement):
3395 (WebCore::SVGCursorElement::~SVGCursorElement):
3396 (WebCore::SVGCursorElement::parseMappedAttribute):
3397 (WebCore::SVGCursorElement::addClient):
3398 (WebCore::SVGCursorElement::removeClient):
3399 (WebCore::SVGCursorElement::svgAttributeChanged):
3400 * svg/SVGCursorElement.h:
3401 (WebCore::SVGCursorElement::isValid):
3403 2008-02-13 Alp Toker <alp@atoker.com>
3405 Reviewed by Adam Roben.
3407 Split out pure-cairo Font code to FontCairo.cpp.
3409 Part of the ongoing work to share code with the Win port.
3413 * platform/graphics/cairo/FontCairo.cpp: Added.
3414 (WebCore::Font::drawGlyphs):
3415 * platform/graphics/gtk/FontGtk.cpp:
3417 2008-02-13 Kevin Ollivier <kevino@theolliviers.com>
3419 Reviewed by Darin Adler.
3421 Import wx/defs.h to keep windows.h from using ANSI functions
3422 (see note in file for more info) and use the 8-bit string friendly
3423 version of StringImpl::computeHash since we're passing it un UTF8
3424 string. Also, don't cache the hash result.
3426 http://bugs.webkit.org/show_bug.cgi?id=17321
3429 * platform/graphics/wx/FontPlatformData.h:
3430 (WebCore::FontPlatformData::hash):
3431 (WebCore::FontPlatformData::computeHash):
3433 2008-02-13 Rodney Dawes <dobey@wayofthemonkey.com>
3435 Fix Bug 17220: Illogical dependency between PluginView and
3438 <http://bugs.webkit.org/show_bug.cgi?id=17220>
3440 Reviewed by Adam and Darin.
3442 Rename PluginDatabase::createPluginView to PluginView::create, to make
3443 the illogical dependency between the two, logical
3444 Make PluginDatabase::findPlugin a public method
3445 Update the includes in PluginView and PluginDatabase for the change
3447 * plugins/PluginDatabase.h:
3448 * plugins/PluginView.h:
3449 * plugins/win/PluginDatabaseWin.cpp:
3450 * plugins/win/PluginViewWin.cpp:
3452 2008-02-13 Adam Roben <aroben@apple.com>
3456 * platform/graphics/cg/GraphicsContextCG.cpp: Added missing #include.
3458 2008-02-13 Matt Lilek <webkit@mattlilek.com>
3460 Not reviewed, build fix.
3462 * platform/graphics/cg/GraphicsContextCG.cpp:
3463 (WebCore::GraphicsContext::paintBuffer):
3465 2008-02-13 Darin Adler <darin@apple.com>
3467 - try to fix Wx build
3469 * platform/graphics/wx/GraphicsContextWx.cpp:
3470 (WebCore::GraphicsContext::paintBuffer): Added.
3472 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3473 (WebCore::GraphicsContext::paintBuffer): Added missing paintingDisabled() check.
3474 * platform/graphics/cg/GraphicsContextCG.cpp:
3475 (WebCore::GraphicsContext::paintBuffer): Ditto.
3476 * platform/graphics/qt/GraphicsContextQt.cpp:
3477 (WebCore::GraphicsContext::paintBuffer): Ditto.
3479 2008-02-13 Darin Adler <darin@apple.com>
3481 - try to fix Wx build
3483 * platform/wx/LocalizedStringsWx.cpp: Add missing include.
3485 2008-02-11 Darin Adler <darin@apple.com>
3487 - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
3488 incorrectly due to visibility fix
3490 Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
3492 * WebCore.base.exp: Rolled out change.
3493 * css/CSSMutableStyleDeclaration.cpp:
3494 (WebCore::CSSMutableStyleDeclaration::setProperty): Ditto.
3495 * page/Settings.cpp:
3496 (WebCore::Settings::Settings): Ditto. But keep the initialization of
3497 m_fontRenderingMode.
3498 (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Removed.
3500 (WebCore::Settings::needsXcodeVisibilityQuirk): Removed.
3502 2008-02-13 Alexey Proskuryakov <ap@webkit.org>
3506 <rdar://problem/5740042> Database termination issues
3508 Test: storage/close-during-stress-test.html
3511 (WebCore::Document::databaseThread):
3513 Don't re-create the database thread if it has been already terminated.
3515 * storage/Database.h: (WebCore::Database::document): Changed m_database to a RefPtr to avoid
3516 having a hanging reference.
3518 * storage/DatabaseThread.cpp:
3519 (WebCore::DatabaseThread::requestTermination):
3521 * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::~SQLTransaction): Removed logging.
3522 Transactions are deleted during GC, so it's usually not importatnt to know when it happens.
3524 2008-02-12 Bernhard Rosenkraenzer <bero@arklinux.org>
3528 - fix http://bugs.webkit.org/show_bug.cgi?id=17340
3529 WebCore/platform/Timer.cpp fails to build with gcc 4.3
3531 * platform/Timer.cpp: Add include of <limits.h> since this file uses UINT_MAX.
3533 2008-02-12 Timothy Hatcher <timothy@apple.com>
3535 Reviewed by Brady Eidson.
3537 <rdar://problem/5652560> Can't delete database if the website that
3538 uses it has been opened in this session
3540 Close the Database on the database thread before deleting the file.
3541 Tested and works on Windows and Mac.
3543 * platform/sql/SQLiteDatabase.cpp:
3544 (WebCore::SQLiteDatabase::close): Assert we are on the opening thread.
3545 * storage/Database.cpp:
3546 (WebCore::Database::markAsDeletedAndClose): Unschedule any pending
3547 Database tasks, and start and imediate DatabaseCloseTask.
3548 (WebCore::Database::close): Close the SQLDatabase.
3549 * storage/Database.h: Renamed markAsDeleted to markAsDeletedAndClose.
3550 * storage/DatabaseTask.cpp:
3551 (WebCore::DatabaseCloseTask::DatabaseCloseTask): New task.
3552 (WebCore::DatabaseCloseTask::doPerformTask): Call close on the Database.
3553 (WebCore::DatabaseCloseTask::debugTaskName): Return "DatabaseCloseTask".
3554 * storage/DatabaseTask.h: Add DatabaseCloseTask.
3555 * storage/DatabaseTracker.cpp:
3556 (WebCore::DatabaseTracker::deleteDatabaseFile): Call the renamed
3557 markAsDeletedAndClose.
3559 2008-02-12 Oliver Hunt <oliver@apple.com>
3561 Endeavour to fix qt and gtk builds
3563 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3564 * platform/graphics/qt/GraphicsContextQt.cpp:
3566 2008-02-12 Oliver Hunt <oliver@apple.com>