1 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
5 <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
7 Test: fast/encoding/mailto-always-utf-8.html
9 * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
11 2008-01-15 Adele Peterson <adele@apple.com>
13 Reviewed by Adam and Antti.
15 WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
17 * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData. Added symbol for wkDrawMediaSliderTrack.
18 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance.
19 * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element. Removed unnecessary margin for slider.
20 * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance.
22 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
23 Call updateMediaPlayer more frequently so the load progress control gets updated appropriately.
24 * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData. Added wkDrawMediaSliderTrack.
25 * platform/mac/WebCoreSystemInterface.mm: ditto.
27 * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
28 * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance.
29 * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
30 * rendering/RenderThemeMac.mm:
31 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb.
32 (WebCore::RenderThemeMac::paintMediaSliderTrack): Added. Calls wkDrawMediaSliderTrack with the percentage the media has loaded.
33 * rendering/RenderThemeSafari.cpp: ditto.
34 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
35 (WebCore::RenderThemeSafari::paintMediaSliderTrack):
36 * rendering/RenderThemeSafari.h:
38 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
40 Reviewed by Mark Rowe.
42 Some logging channels weren't initialized from user defaults.
44 * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
45 Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
47 2008-01-14 Steve Falkenburg <sfalken@apple.com>
49 Use shared vsprops for most vcproj properties.
53 * WebCore.vcproj/QTMovieWin.vcproj:
54 * WebCore.vcproj/WebCore.vcproj:
55 * platform/graphics/win/QTMovieWin.cpp:
56 (QTMovieWin::initializeQuickTime): Fix compiler warning.
58 2008-01-14 Eric Seidel <eric@webkit.org>
62 Remove a couple more uses of DeprecatedString
64 No functional changes, thus no test case.
67 (WebCore::Document::write):
68 (WebCore::Document::writeln):
69 (WebCore::Document::recalcStyleSelector):
72 2008-01-14 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
74 Reviewed by Alp Toker.
76 Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
77 http://bugs.webkit.org/show_bug.cgi?id=16874
80 * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
81 (WebCore::SVGResourceFilter::createPlatformData):
82 (WebCore::SVGResourceFilter::prepareFilter):
83 (WebCore::SVGResourceFilter::applyFilter):
85 2008-01-14 Finnur Thorarinsson <finnur.webkit@gmail.com>
87 Reviewed by hyatt & eseidel.
89 - fix http://bugs.webkit.org/show_bug.cgi?id=16844
90 RenderText::addLineBoxRects erroneously includes last char for boundingBox
92 This patch fixes an issue with addLineBoxRects not correctly calculating the
93 rects due to an off-by-one error in using box->end(). We were assuming that
94 end() gives the index past the last character, when in fact it gives the
95 index _of_ the last character.
97 Eric Seidel and I could not find a way to test this via DRT. This method is
98 only used by WebKit or Safari for displaying selection rects AFAICT.
100 * rendering/RenderText.cpp:
101 (WebCore::RenderText::addLineBoxRects):
103 2008-01-14 Darin Adler <darin@apple.com>
107 - fix crash seen in layout tests
109 * html/HTMLFrameSetElement.cpp:
110 (WebCore::HTMLFrameSetElement::attach):
111 Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an
112 HTMLElement or a Document, not necessarily an HTMLElement.
114 2008-01-14 Darin Adler <darin@apple.com>
118 - fix mistakes Sam noticed in my re-speed-up patch
121 (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
123 * dom/Element.h: Moved virtualHasTagName out of header file.
126 (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
128 * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
131 * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
133 * platform/text/StringImpl.h: Removed StringBuffer class.
135 * loader/DocumentLoader.cpp: Added StringBuffer.h include.
136 * platform/text/String.cpp: Ditto.
137 * platform/text/StringImpl.cpp: Ditto.
138 * platform/text/TextCodecLatin1.cpp: Ditto.
139 * platform/text/TextCodecUTF16.cpp: Ditto.
140 * platform/text/TextCodecUserDefined.cpp: Ditto.
142 * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
143 * WebCore.xcodeproj/project.pbxproj: Ditto.
145 2008-01-14 Dave Hyatt <hyatt@apple.com>
147 Clean up all the misplaced graphics files after the recent file moves. Clean up the project to
148 accurately reflect the location of all the graphics files.
152 * WebCore.vcproj/WebCore.vcproj:
153 * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp.
154 * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp.
155 * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h.
156 * platform/win/GraphicsContextWin.cpp: Removed.
157 * platform/win/UniscribeController.cpp: Removed.
158 * platform/win/UniscribeController.h: Removed.
160 2008-01-14 Geoffrey Garen <ggaren@apple.com>
162 Reviewed by Sam Weinig.
164 Some cleanup to my last patch.
166 Removed one unused setter declaration and one unused setter definition.
168 Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
169 because "get" is all over the IDL files, and "read" is not.
171 * bindings/scripts/CodeGeneratorJS.pm:
173 (WebCore::DOMWindow::defaultstatus):
174 * page/DOMWindow.idl:
176 2008-01-14 Dan Bernstein <mitz@apple.com>
178 Rubber-stamped by Alice Liu.
180 - remove reference to nonexistent file
182 * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
184 2008-01-14 Darin Adler <darin@apple.com>
188 - re-speed-up the page load test (my StringImpl change slowed it down)
189 <rdar://problem/5677241> 1.5% PLT regression from r29098
191 To reverse the slowdown I caused by changing StringImpl, I tightened it up,
192 and also did a little optimization in the HTML tokenizer and in other clients
195 * WebCore.base.exp: Removed export of a now-inline function.
198 (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString
199 to get property ID. This could be sped up even more by writing a fast path
200 to use a local Vector<char> rather than allocating a string.
201 (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without
202 allocating a string object to hold the number.
203 (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of
204 DeprecatedString::toFloat.
207 (WebCore::Element::hasTagName): Made this non-virtual and inline if you have
208 an Element*. It's still virtual if you have a Node*.
209 (WebCore::Element::virtualHasTagName): Virtual version that makes the Node*
213 (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element
214 can override it with an inline. This is the same technique we use for
215 firstChild and lastChild.
216 (WebCore::Node::virtualHasTagName): This is the private virtual that Element
220 (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
223 * html/HTMLTokenizer.cpp:
224 (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(),
225 which is more efficient in cases where we know the character is not a newline
226 and hence we don't have to update the line number.
227 (WebCore::HTMLTokenizer::parseComment): Ditto.
228 (WebCore::HTMLTokenizer::parseServer): Ditto.
229 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
230 (WebCore::HTMLTokenizer::parseText): Ditto.
231 (WebCore::HTMLTokenizer::parseEntity): Ditto.
232 (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case
233 so there's one less branch taken for non-punctuation characters since this
234 code path is *so* hot.
235 (WebCore::HTMLTokenizer::write): More of the same.
238 (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
240 * loader/DocumentLoader.cpp:
241 (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
243 * loader/TextResourceDecoder.cpp:
244 (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize.
245 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
246 (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize.
247 (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize.
250 (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
252 * platform/SharedBuffer.cpp:
253 (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
255 * platform/graphics/BitmapImage.cpp:
256 (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
258 * platform/network/FormData.cpp:
259 (WebCore::FormData::appendData): Use Vector::grow instead of resize.
260 (WebCore::FormData::flatten): Ditto.
262 * platform/text/AtomicString.cpp:
263 (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just
264 for use by AtomicString. Avoids setting fields twice, and also preserves reference
265 count behavior (which I changed for the other constructors, since they're entirely
266 private and used only inside the class).
267 (WebCore::UCharBufferTranslator::translate): Ditto.
269 * platform/text/Base64.cpp:
270 (WebCore::base64Encode): Use Vector::grow instead of resize.
271 (WebCore::base64Decode): Use Vector::grow and shrink instead of resize.
273 * platform/text/PlatformString.h:
274 (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
275 made both versions inline.
277 * platform/text/SegmentedString.h:
278 (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case
279 where the character is known to be a newline.
280 (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where
281 the character is known not to be a newline.
283 * platform/text/String.cpp:
284 (WebCore::String::append): Use StringBuffer instead of Vector<UChar>.
285 (WebCore::String::insert): Ditto.
286 (WebCore::String::truncate): Ditto.
287 (WebCore::String::remove): Ditto.
288 (WebCore::String::format): Use Vector::grow instead of resize.
290 * platform/text/StringImpl.cpp:
291 (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount
292 of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor
293 since they all behave this way now. The only exceptions are the constructors for
294 AtomicString, which retain the old behavior.
295 (WebCore::StringImpl::empty): Simplified, since we no longer need to use the
296 special WithOneRef constructor.
297 (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>.
298 (WebCore::StringImpl::lower): Ditto.
299 (WebCore::StringImpl::upper): Ditto.
300 (WebCore::StringImpl::secure): Ditto.
301 (WebCore::StringImpl::foldCase): Ditto.
302 (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink
303 instead of resize (since half of the function uses Vector<UChar>).
304 (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>.
305 (WebCore::StringImpl::replace): Ditto.
306 (WebCore::StringImpl::ascii): Streamlined a bit.
307 (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of
308 Vector<UChar>. Took out checks for null characters and 0 length that aren't needed.
309 Coded the check for null characters in a slightly more efficient way. Since this
310 is so hot, didn't call adopt at all, putting the code right in here, including
311 the call to the StringImpl constructor and adoptRef (for the fast case).
312 (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class.
313 Removed the attempt to resize the buffer at the time we adopt based on measuring
314 actual use and realizing that it's just a character here or there and not worth
315 a call to fastRealloc. Changed to use adoptRef since the constructor now starts
316 with a refCount of 1.
317 (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now
318 starts with a refCount of 1.
319 (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto.
320 (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor
321 itself is now inline.
323 * platform/text/StringImpl.h: Added a StringBuffer class that's useful for
324 putting characters into a buffer before creating an immutable string. Not good
325 at resizing the way Vector<UChar> is, so only useful for things that rarely need
326 to be resized. Added a new AdoptBuffer constructor and empty constructor, but
327 made all constructors private so they can be inlined and only used inside the
328 StringImpl class. Added two new constructors for AtomicString. Made copy()
329 no longer inline. Changed the type of the [] operator to unsigned instead of
330 int and added an assertion. Made the hash functions inline.
332 * platform/text/TextCodecICU.cpp:
333 (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
335 * platform/text/TextCodecLatin1.cpp:
336 (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
337 (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
339 * platform/text/TextCodecUTF16.cpp:
340 (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
342 * platform/text/TextCodecUserDefined.cpp:
343 (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
344 (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
346 * platform/text/TextEncoding.cpp:
347 (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
349 * platform/text/TextStream.cpp:
350 (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
352 * platform/text/mac/TextCodecMac.cpp:
353 (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
355 * rendering/AutoTableLayout.cpp:
356 (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
358 * rendering/RenderFrameSet.h:
359 (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial
360 size instead of calling resize on them after allocating empty.
362 * rendering/RenderListMarker.cpp:
363 (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
365 * rendering/RenderStyle.cpp: Removed CursorList::operator==.
366 * rendering/RenderStyle.h:
367 (WebCore::CursorList::operator==): Implemented using the Vector ==.
368 (WebCore::CursorList::operator!=): Ditto.
370 * rendering/RenderTable.cpp:
371 (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
372 (WebCore::RenderTable::appendColumn): Ditto.
374 * rendering/RenderTableSection.cpp:
375 (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
377 * rendering/bidi.cpp:
378 (WebCore::addMidpoint): Use Vector::grow instead of resize.
380 * xml/XPathNodeSet.h:
381 (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
383 2008-01-13 Steve Falkenburg <sfalken@apple.com>
385 Share common files across projects.
388 Debug: common.vsprops, debug.vsprops
389 Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
390 Release: common.vsprops, release.vsprops
392 Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
393 debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
395 Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
397 Reviewed by Adam Roben.
399 * WebCore.vcproj/PRODUCTVERSION: Removed.
400 * WebCore.vcproj/QTMovieWin.vcproj:
401 * WebCore.vcproj/VERSION: Removed.
402 * WebCore.vcproj/WebCore.vcproj:
403 * WebCore.vcproj/auto-version.sh: Removed.
404 * WebCore.vcproj/debug.vsprops: Removed.
405 * WebCore.vcproj/debug_internal.vsprops: Removed.
406 * WebCore.vcproj/release.vsprops: Removed.
408 2008-01-13 Dan Bernstein <mitz@apple.com>
410 Reviewed by Darin Adler.
412 - fix http://bugs.webkit.org/show_bug.cgi?id=16865
413 fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
415 * rendering/RenderBox.cpp:
416 (WebCore::RenderBox::destroy): Removed the call to
417 RenderLayer::destroy() from here, because ~RenderLayer() calls
418 RenderObject() methods.
419 * rendering/RenderObject.cpp:
420 (WebCore::RenderObject::destroy): Added the call to
421 RenderLayer::destroy() here.
423 2008-01-13 Eric Seidel <eric@webkit.org>
427 Range.insertNode does not update endContainer endIndex correctly
428 in the case where it had to split a text node.
429 http://bugs.webkit.org/show_bug.cgi?id=16765
431 Darin pointed out during review that we still don't handle the dynamic
432 range case (where the dom tree changes not using range methods)
433 Thus this code will get ripped out when we add that. The test cases
434 are still valid and useful however, so I'm landing this as-is.
436 Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
437 fast/dom/Range/range-insertNode-splittext.html
440 (WebCore::Range::insertNode): handle the splitText case correctly.
442 2008-01-13 Darin Adler <darin@apple.com>
446 - http://bugs.webkit.org/show_bug.cgi?id=16861
447 get rid of unnecessary string copying
450 (WebCore::Document::setDomain): Removed unneeded call to copy.
451 (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and
452 unneeded length argument to substring, which stops at the end of the string
453 if you don't specify a length.
454 (WebCore::Document::createAttributeNS): Replaced code that was calling copy
455 with more-efficient code using the substring function.
456 * dom/StyledElement.cpp:
457 (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy.
458 * editing/InsertIntoTextNodeCommand.cpp:
459 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed
460 unneeded copy and also initialized text instead of assigning to it.
461 (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions.
462 (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
464 * editing/htmlediting.cpp:
465 (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy.
466 This one was particularly bad since we just turned around and copied it again!
468 * editing/markup.cpp:
469 (WebCore::stringValueForRange): Removed unneeded call to copy.
471 * loader/icon/IconDatabase.cpp:
472 (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not
473 get the path from the database object. This was the only reason the database
474 had to keep its path around.
476 * platform/sql/SQLiteDatabase.cpp:
477 (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to
478 convert the string to a null-terminated one.
479 (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path.
480 * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path
481 functio member. Also tweaked formatting and comments a bit. Removed the unused
482 escapeSQLString function.
484 * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
486 2008-01-13 Oliver Hunt <oliver@apple.com>
488 Attempt to fix QT build
490 * html/CanvasRenderingContext2D.cpp:
491 (WebCore::CanvasRenderingContext2D::willDraw):
493 2008-01-13 Oliver Hunt <oliver@apple.com>
495 Reviewed by Mark Rowe.
497 Avoid repainting the entire canvas element when possible.
499 http://bugs.webkit.org/show_bug.cgi?id=16859
501 We now only register the dirty regions of a canvas for repainting, rather
502 than the entire element (though repaint coalescing may choose to combine
503 these regions). This doesn't cause a measurable regression in the worst
504 case (clearing the canvas repeatedly), but is a moderate-large win if only
505 a minor update has occurred. If there is any CSS scaling applied to the
506 canvas almost any update short of clearing the entire element is substantially
509 * html/CanvasRenderingContext2D.cpp:
510 (WebCore::CanvasRenderingContext2D::willDraw):
511 * html/HTMLCanvasElement.cpp:
512 (WebCore::HTMLCanvasElement::willDraw):
514 2008-01-13 Michael Goddard <michael.goddard@trolltech.com>
516 Reviewed by Anders Carlsson.
518 Move RuntimeObjectImp creations into Instance.
519 Make the ctor protected, and Instance a friend class, so
520 that all creation of RuntimeObjectImps goes through
523 * bindings/js/kjs_dom.cpp:
524 (WebCore::getRuntimeObject):
526 2008-01-12 Rodney Dawes <dobey@wayofthemonkey.com>
528 Gtk debug build fix. Reviewed by Mark Rowe.
530 Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
532 * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked.
533 * platform/Logging.cpp:
534 * platform/Logging.h:
535 * plugins/PluginDebug.h:
537 2008-01-12 Adam Barth <hk9565@gmail.com>
539 Reviewed by Maciej (and also tweaked a little bit).
541 - more thorough fix for some crashing tests
542 http://bugs.webkit.org/show_bug.cgi?id=16782
544 * loader/FrameLoader.cpp:
545 (WebCore::FrameLoader::urlSelected):
546 (WebCore::FrameLoader::submitForm):
547 (WebCore::FrameLoader::executeIfJavaScriptURL):
548 * loader/FrameLoader.h:
550 2008-01-12 Maciej Stachowiak <mjs@apple.com>
554 - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
556 * platform/SecurityOrigin.cpp:
557 (WebCore::isDefaultPortForProtocol):
558 (WebCore::SecurityOrigin::SecurityOrigin):
560 2008-01-11 Geoffrey Garen <ggaren@apple.com>
562 Reviewed by Oliver Hunt.
564 Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
565 variable access (16644)
567 Removed the ReadOnly bit from some properties, to match Firefox. Also
568 removed status-related setters, to allow using their names as variable
571 * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
572 are one-way across domain boundaries, to match Firefox.
574 * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
576 * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
577 we don't know that JSObject is our base class.
579 * page/DOMWindow.idl: Replaced lots of readonly declarations with
580 [Replaceable] declarations.
582 * page/DOMWindow.h: Removed interfaces for setting status text via the
583 DOM. (They were getting in the way of, e.g., "var status"
584 declarations.) By default, IE 7 and FF disable these interfaces in order
585 to defend against phishing attacks that try to spoof domain names in the
587 * page/DOMWindow.cpp:
589 2008-01-11 Anyang Ren <anyang.ren@gmail.com>
591 Reviewed by Darin Adler.
593 http://bugs.webkit.org/show_bug.cgi?id=15960
594 The view source mode should skip an empty attribute value only if
595 the attribute name is not followed by an equal sign (=).
597 Test: fast/frames/viewsource-empty-attribute-value.html
599 * html/HTMLViewSourceDocument.cpp:
600 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
602 2008-01-11 Sylvain Pasche <sylvain.pasche@gmail.com>
604 Reviewed by Alp Toker.
606 [Gtk] Uneven glyph spacing with subpixel antialiasing
607 http://bugs.webkit.org/show_bug.cgi?id=16715
609 Use cairo font options from the default GDK screen when creating a
612 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
613 (WebCore::FontPlatformData::FontPlatformData):
615 2008-01-11 Cameron Zwarich <cwzwarich@uwaterloo.ca>
619 Added a new forwarding header, because Activation.h has been separated
622 * ForwardingHeaders/kjs/Activation.h: Added.
624 2008-01-11 Luca Bruno <lethalman88@gmail.com>
626 Reviewed by Alp Toker.
628 http://bugs.webkit.org/show_bug.cgi?id=16729
629 [cURL] Allow multiple files for upload
631 * platform/network/ResourceHandleInternal.h:
632 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
633 * platform/network/curl/ResourceHandleCurl.cpp:
634 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
635 * platform/network/curl/ResourceHandleManager.cpp:
636 (WebCore::readCallback): added
637 (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
638 (WebCore::ResourceHandleManager::startJob):
639 (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
640 * platform/network/curl/ResourceHandleManager.h:
642 2008-01-11 Christian Dywan <christian@imendio.com>
644 Reviewed by Alp Toker.
646 [Gtk] Menu items need underscores
647 http://bugs.webkit.org/show_bug.cgi?id=16817
649 Add underscores to appropriate menu labels.
650 Also adjust strings slightly.
652 * platform/gtk/ContextMenuItemGtk.cpp:
653 (WebCore::ContextMenuItem::createNativeMenuItem):
654 * platform/gtk/LocalizedStringsGtk.cpp:
655 (WebCore::searchableIndexIntroduction):
656 (WebCore::fileButtonChooseFileLabel):
657 (WebCore::fileButtonNoFileSelectedLabel):
658 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
659 (WebCore::contextMenuItemTagDownloadLinkToDisk):
660 (WebCore::contextMenuItemTagCopyLinkToClipboard):
661 (WebCore::contextMenuItemTagOpenImageInNewWindow):
662 (WebCore::contextMenuItemTagDownloadImageToDisk):
663 (WebCore::contextMenuItemTagCopyImageToClipboard):
664 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
665 (WebCore::contextMenuItemTagCopy):
666 (WebCore::contextMenuItemTagGoBack):
667 (WebCore::contextMenuItemTagGoForward):
668 (WebCore::contextMenuItemTagStop):
669 (WebCore::contextMenuItemTagReload):
670 (WebCore::contextMenuItemTagCut):
671 (WebCore::contextMenuItemTagPaste):
672 (WebCore::contextMenuItemTagIgnoreSpelling):
673 (WebCore::contextMenuItemTagLearnSpelling):
674 (WebCore::contextMenuItemTagSearchWeb):
675 (WebCore::contextMenuItemTagLookUpInDictionary):
676 (WebCore::contextMenuItemTagOpenLink):
677 (WebCore::contextMenuItemTagIgnoreGrammar):
678 (WebCore::contextMenuItemTagSpellingMenu):
679 (WebCore::contextMenuItemTagShowSpellingPanel):
680 (WebCore::contextMenuItemTagCheckSpelling):
681 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
682 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
683 (WebCore::contextMenuItemTagFontMenu):
684 (WebCore::contextMenuItemTagBold):
685 (WebCore::contextMenuItemTagItalic):
686 (WebCore::contextMenuItemTagUnderline):
687 (WebCore::contextMenuItemTagOutline):
688 (WebCore::contextMenuItemTagWritingDirectionMenu):
689 (WebCore::contextMenuItemTagDefaultDirection):
690 (WebCore::contextMenuItemTagLeftToRight):
691 (WebCore::contextMenuItemTagRightToLeft):
692 (WebCore::contextMenuItemTagInspectElement):
693 (WebCore::searchMenuClearRecentSearchesText):
695 2008-01-11 Ada Chan <adachan@apple.com>
697 <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
698 Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since
699 provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
700 when a link to download a file has been clicked.
702 Reviewed by John and Anders.
704 * loader/FrameLoader.cpp:
705 (WebCore::FrameLoader::provisionalLoadStarted):
706 (WebCore::FrameLoader::commitProvisionalLoad):
708 2008-01-11 Jon Honeycutt <jhoneycutt@apple.com>
712 <rdar://problem/5683529> plugins/embed-inside-object.html is timing
715 Revert to using FrameTree::find() so that frame aliases like "_self" and
716 "_current" are interpreted properly
718 * plugins/win/PluginViewWin.cpp:
719 (WebCore::PluginViewWin::performRequest):
720 (WebCore::PluginViewWin::load):
722 2008-01-11 Alp Toker <alp@atoker.com>
724 Reviewed by Dave Hyatt and Mark Rowe.
726 http://bugs.webkit.org/show_bug.cgi?id=16089
727 [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
729 Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
734 * loader/CachedFont.cpp:
735 (WebCore::CachedFont::~CachedFont):
736 (WebCore::CachedFont::ensureCustomFontData):
737 (WebCore::CachedFont::platformDataFromCustomData):
738 (WebCore::CachedFont::allReferencesRemoved):
739 * platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
740 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
741 (WebCore::FontCustomPlatformData::fontPlatformData):
742 (WebCore::releaseData):
743 (WebCore::createFontCustomPlatformData):
744 * platform/graphics/gtk/FontCustomPlatformData.h: Added.
745 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
746 * platform/graphics/gtk/FontPlatformData.h:
747 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
748 (WebCore::FontPlatformData::FontPlatformData):
749 (WebCore::FontPlatformData::init):
750 (WebCore::FontPlatformData::isFixedPitch):
751 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
752 (WebCore::SimpleFontData::platformDestroy):
754 2008-01-11 Adam Roben <aroben@apple.com>
756 Remove FrameLoader::committedFirstRealDocumentLoad
758 This method no longer has any callers.
762 * loader/FrameLoader.h:
764 2008-01-11 Antti Koivisto <antti@apple.com>
766 Add a standalone version of the blog post video player as a manual test.
768 * manual-tests/resources/touch-poster.png: Added.
769 * manual-tests/video-player.html: Added.
771 2008-01-10 Antti Koivisto <antti@apple.com>
775 Fix <rdar://problem/5682767>
776 Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
778 Take care that GWorld is created and deletes when needed as size or visibility changes.
780 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
781 (WebCore::MediaPlayerPrivate::load):
782 * platform/graphics/win/QTMovieWin.cpp:
783 (QTMovieWinPrivate::QTMovieWinPrivate):
784 (QTMovieWinPrivate::updateGWorld):
785 (QTMovieWinPrivate::setSize):
786 (QTMovieWin::setVisible):
787 (QTMovieWin::initializeQuickTime):
789 2008-01-11 David Hyatt <hyatt@apple.com>
791 Fix for bug 11188, setting hspace on a table overrides align=center. Fix align=center to be done using
792 mapped attributes so that it does not get overridden by hspace all the time.
796 Added fast/table/table-hspace-align-center.html
799 * html/HTMLTableElement.cpp:
800 (WebCore::HTMLTableElement::parseMappedAttribute):
802 2008-01-11 Mark Rowe <mrowe@apple.com>
806 * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
808 2008-01-11 Mark Rowe <mrowe@apple.com>
810 Qt build fix. Add link stubs for the new FileSystem.h functions introduced
813 * platform/qt/TemporaryLinkStubs.cpp:
814 (WebCore::openTemporaryFile):
816 2008-01-11 Rodney Dawes <dobey@wayofthemonkey.com>
818 Reviewed by Anders Carlsson.
820 Bug 16779: Make the PluginStream implementation be shared across platforms
821 http://bugs.webkit.org/show_bug.cgi?id=16779
823 Add the new shared PluginStream files to the GTK+ and Win32 builds.
824 Add PluginStreamClient class for the streamDidFinishLoading method.
825 Add open/close/write methods to FileSystem for temporary file handling.
826 Add PluginDebug.h and npfunctions.h for shared PluginStream.
827 Add shared PluginStream.
828 Remove PluginStreamWin.
829 Update PluginViewWin to use shared PluginStream and PluginStreamClass.
833 * WebCore.vcproj/WebCore.vcproj:
834 * platform/FileSystem.h:
835 * platform/gtk/FileSystemGtk.cpp:
836 * platform/win/FileSystemWin.cpp:
837 * plugins/PluginDebug.h:
838 * plugins/PluginStream.cpp:
839 * plugins/PluginStream.h:
840 * plugins/npfunctions.h:
841 * plugins/win/PluginDebug: Moved to PluginDebug.h.
842 * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
843 * plugins/win/PluginStreamWin.h: Moved to PluginStream.h
844 * plugins/win/PluginViewWin.cpp:
845 * plugins/win/PluginViewWin.h:
846 * plugins/win/npfunctions.h: Moved to npfunctions.h
848 2008-01-11 Geoffrey Garen <ggaren@apple.com>
850 Try to fix Mac build: Edit the right .exp file.
854 2008-01-11 Geoffrey Garen <ggaren@apple.com>
856 Try to fix Qt build: don't use pthreads if they're not available.
858 * bindings/js/GCController.cpp:
860 2008-01-10 Geoffrey Garen <ggaren@apple.com>
862 Reviewed by John Sullivan.
864 Fixed some world leak reports:
865 * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
866 Interpreter after running cvs-base suite
868 * <rdar://problem/5669423> PLT complains about world leak if browser
869 window is open when PLT starts
871 These were both bugs in the reporting mechanism, so I took the
872 opportunity to do some house cleaning there.
874 Stupid class, I kill you:
875 * bridge/JavaScriptStatistics.cpp: Removed.
876 * bridge/JavaScriptStatistics.h: Removed.
878 * bindings/js/GCController.h: Adopted the only useful features of
879 JavaScriptStatistics, since they were GC-related.
880 * bindings/js/GCController.cpp:
882 2008-01-10 Eric Seidel <eric@webkit.org>
886 No functional changes, only code cleanup.
888 * css/MediaQueryEvaluator.cpp:
889 (WebCore::compareValue): renamed from cmpvalue
890 (WebCore::colorMediaFeatureEval):
891 (WebCore::device_aspect_ratioMediaFeatureEval):
892 (WebCore::device_pixel_ratioMediaFeatureEval):
893 (WebCore::gridMediaFeatureEval):
894 (WebCore::device_heightMediaFeatureEval):
895 (WebCore::device_widthMediaFeatureEval):
896 (WebCore::heightMediaFeatureEval):
897 (WebCore::widthMediaFeatureEval):
899 2008-01-10 Dan Bernstein <mitz@apple.com>
901 Reviewed by Anders Carlsson.
903 - fix a crash when calling alert() from a repeating timer
905 On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
906 alert() and other similar functions, which deletes the actual
907 DOMWindowTimer objects and replaces them with new objects when resuming.
909 * bindings/js/kjs_window.cpp:
910 (KJS::Window::timerFired): Re-fetch the timer object from the map in
911 case it has been deleted or replaced.
913 2008-01-10 Maciej Stachowiak <mjs@apple.com>
917 - remove SecurityOriginData and fold its functionality into SecurityOrigin
922 * WebCore.vcproj/WebCore.vcproj:
923 * WebCore.xcodeproj/project.pbxproj:
924 * WebCoreSources.bkl:
925 * bindings/js/JSDOMWindowCustom.cpp:
926 (WebCore::JSDOMWindow::postMessage):
928 (WebCore::Document::domain):
930 (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
931 (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
933 * page/ChromeClient.h:
934 * platform/SecurityOrigin.cpp:
935 (WebCore::SecurityOrigin::copy):
936 (WebCore::SecurityOrigin::createFromIdentifier):
937 (WebCore::SecurityOrigin::stringIdentifier):
938 * platform/SecurityOrigin.h:
939 (WebCore::SecurityOrigin::host):
940 (WebCore::SecurityOrigin::protocol):
941 (WebCore::SecurityOrigin::port):
942 (WebCore::SecurityOrigin::equal):
943 * platform/SecurityOriginData.cpp: Removed.
944 * platform/SecurityOriginData.h: Removed.
945 * storage/Database.cpp:
946 (WebCore::Database::openDatabase):
947 (WebCore::Database::Database):
948 (WebCore::Database::securityOriginCopy):
949 * storage/Database.h:
950 * storage/DatabaseTracker.cpp:
951 (WebCore::SecurityOriginHash::hash):
952 (WebCore::SecurityOriginHash::equal):
953 (WebCore::SecurityOriginTraits::deletedValue):
954 (WebCore::SecurityOriginTraits::emptyValue):
955 (WebCore::DatabaseTracker::canEstablishDatabase):
956 (WebCore::DatabaseTracker::hasEntryForOrigin):
957 (WebCore::DatabaseTracker::hasEntryForDatabase):
958 (WebCore::DatabaseTracker::establishEntryForOrigin):
959 (WebCore::DatabaseTracker::fullPathForDatabase):
960 (WebCore::DatabaseTracker::populateOrigins):
961 (WebCore::DatabaseTracker::origins):
962 (WebCore::DatabaseTracker::databaseNamesForOrigin):
963 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
964 (WebCore::DatabaseTracker::setDatabaseDetails):
965 (WebCore::DatabaseTracker::usageForDatabase):
966 (WebCore::DatabaseTracker::usageForOrigin):
967 (WebCore::DatabaseTracker::quotaForOrigin):
968 (WebCore::DatabaseTracker::setQuota):
969 (WebCore::DatabaseTracker::addDatabase):
970 (WebCore::DatabaseTracker::deleteAllDatabases):
971 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
972 (WebCore::DatabaseTracker::deleteDatabase):
973 (WebCore::DatabaseTracker::deleteDatabaseFile):
974 (WebCore::notificationQueue):
975 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
976 (WebCore::DatabaseTracker::notifyDatabasesChanged):
977 * storage/DatabaseTracker.h:
978 * storage/DatabaseTrackerClient.h:
979 * storage/SQLTransaction.cpp:
980 (WebCore::SQLTransaction::openTransactionAndPreflight):
981 (WebCore::SQLTransaction::runStatements):
982 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
983 (WebCore::SQLTransaction::postflightAndCommit):
984 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
985 * svg/graphics/SVGImageEmptyClients.h:
986 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
987 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
989 2008-01-10 Anders Carlsson <andersca@apple.com>
993 Use the correct frame loader load method. Using the old method would not cause a
994 new window to be open if the frame navigation was not allowed.
996 * plugins/win/PluginViewWin.cpp:
997 (WebCore::PluginViewWin::performRequest):
999 2008-01-10 Alp Toker <alp@atoker.com>
1001 SVG font build fix for GTK+/autotools.
1005 2008-01-10 Adam Barth <hk9565@gmail.com>
1007 Reviewed by Sam Weinig and Anders Carlsson.
1009 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
1010 <rdar://problem/5657355>
1012 This patch makes two changes:
1014 1) Java calls FrameLoader::load in a slightly different way than
1015 JavaScript, which previously let a malicious web site bypass the
1016 shouldAllowNavigation check. This patch adds that check to that
1019 2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
1020 findFrameForNavigation, which calls shouldAllowNavigation. This
1021 treats disallowed frame navigations as if the named frame did not
1022 exist, resulting in a popup window when appropriate.
1024 Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
1025 http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
1028 * bindings/js/kjs_window.cpp:
1029 (KJS::WindowProtoFuncOpen::callAsFunction):
1030 * loader/FrameLoader.cpp:
1031 (WebCore::FrameLoader::createWindow):
1032 (WebCore::FrameLoader::load):
1033 (WebCore::FrameLoader::post):
1034 (WebCore::FrameLoader::findFrameForNavigation):
1035 * loader/FrameLoader.h:
1037 2008-01-10 John Sullivan <sullivan@apple.com>
1039 Written by Hyatt, reviewed by me
1041 - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display
1042 a <video> element that uses controls attribute
1044 * rendering/MediaControlElements.cpp:
1045 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
1046 force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
1047 up this architecture, but this one-line fix will prevent the crash in the meantime
1049 2008-01-10 Ada Chan <adachan@apple.com>
1051 Fix fast/forms/input-radio-checked-tab.html
1052 Meta key is not the same as Alt key on windows.
1056 * platform/win/KeyEventWin.cpp:
1057 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1059 2008-01-10 Anders Carlsson <andersca@apple.com>
1063 Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
1065 * plugins/win/PluginViewWin.cpp:
1066 (WebCore::PluginViewWin::performRequest):
1067 Move document loader check here since we don't start loading until here and a new document load could have started in the meantime.
1069 (WebCore::PluginViewWin::requestTimerFired):
1070 Don't leak the plugin requests.
1072 (WebCore::PluginViewWin::load):
1074 2008-01-10 Anders Carlsson <andersca@apple.com>
1076 Reviewed by John Sullivan.
1078 <rdar://problem/5455889>
1079 REGRESSION: BumperCar crashes when attempting to load a long invalid URL
1081 Make sure to call FrameLoader::receivedMainResourceError before calling
1082 FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of
1083 clearing out the provisional document loader so that we won't call the didFail
1084 ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method
1085 didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does.
1087 * loader/MainResourceLoader.cpp:
1088 (WebCore::MainResourceLoader::receivedError):
1090 2008-01-10 Antti Koivisto <antti@apple.com>
1094 Fix <rdar://problem/5658048>
1095 After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
1097 - Move to paused state if the playback had ended and the controller is used to seek to earlier time
1098 - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer
1100 * html/HTMLMediaElement.cpp:
1101 (WebCore::HTMLMediaElement::HTMLMediaElement):
1102 (WebCore::HTMLMediaElement::updateMediaPlayer):
1103 (WebCore::HTMLMediaElement::setPausedInternal):
1104 * html/HTMLMediaElement.h:
1105 * rendering/MediaControlElements.cpp:
1106 (WebCore::MediaControlTimelineElement::defaultEventHandler):
1108 2008-01-10 Alexey Proskuryakov <ap@webkit.org>
1110 Reviewed by Adam Roben.
1112 <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
1114 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file://
1115 requests, as CFNetwork doesn't perform extension to MIME type mapping then.
1117 2008-01-10 Adam Roben <aroben@apple.com>
1119 Fixes to allow multiple FrameViews on Windows
1123 * page/FrameView.cpp:
1124 (WebCore::FrameView::FrameView): Added a new constructor that takes an
1125 IntSize to specify the FrameView's initial size.
1126 (WebCore::FrameView::scheduleRelayout): Added an assertion that our
1127 Document is not in the page cache.
1129 * platform/gtk/WidgetGtk.cpp:
1130 (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT.
1131 * platform/qt/WidgetQt.cpp:
1132 (WebCore::Widget::~Widget): Ditto.
1133 * rendering/RenderWidget.cpp:
1134 (WebCore::RenderWidget::setWidget): Make sure to remove any existing
1135 Widget from the Widget hierarchy before deleting it. One instance
1136 where this is needed is when setWidget is called during FrameView
1137 creation on Windows.
1139 2008-01-10 Alp Toker <alp@atoker.com>
1141 Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
1143 * svg/SVGFontFaceElement.cpp:
1145 2008-01-10 Justin Garcia <justin.garcia@apple.com>
1147 Reviewed by Alice Liu.
1149 <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail
1150 <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail
1152 Make sure we have an updated layout before we perform any editing work.
1154 * editing/EditCommand.cpp:
1155 (WebCore::EditCommand::apply):
1156 (WebCore::EditCommand::unapply):
1157 (WebCore::EditCommand::reapply):
1159 2008-01-10 Luca Bruno <lethalman88@gmail.com>
1161 Reviewed by Alp Toker.
1163 Back out r29206 which was causing regressions in curl http job
1166 * platform/network/curl/ResourceHandleManager.cpp
1167 (ResourceHandleManager::cancel):
1169 2008-01-10 Kevin McCullough <kmccullough@apple.com>
1171 Reviewed by Darin, Sam, and Adam.
1173 - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on
1174 - link in gmail message displays JavaScript alert falsely complaining
1175 about pop-up blocking
1176 - When trying to open a new window, we now see if the user gesture
1177 occurred in the global dynamic object instead of the frame since that is
1178 the only place an event can occur.
1180 * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
1183 (KJS::showModalDialog):
1184 (KJS::WindowProtoFuncOpen::callAsFunction):
1186 2008-01-10 David Hyatt <hyatt@apple.com>
1188 Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
1192 Added fast/css/visibility-hit-test.html test case.
1194 * rendering/RenderBox.cpp:
1195 (WebCore::RenderBox::nodeAtPoint):
1197 2008-01-10 Lars Knoll <lars@trolltech.com>
1201 rename QWebPageHistory to QWebHistory.
1205 2008-01-10 Lars Knoll <lars@trolltech.com>
1209 fix the drawing errors that where introduced due to refactoring.
1211 Correctly clip to the rectangle we want to draw in ScrollView::paint().
1213 * platform/qt/ScrollViewQt.cpp:
1214 (WebCore::ScrollView::paint):
1216 2008-01-10 Simon Hausmann <hausmann@webkit.org>
1220 Temporarily disable gzip decompression in qhttp due to a bug.
1222 * platform/network/qt/QNetworkReplyHandler.cpp:
1223 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1225 2008-01-10 Simon Hausmann <hausmann@webkit.org>
1229 http://bugs.webkit.org/show_bug.cgi?id=16588
1231 Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously.
1232 This allows implementing the synchronous loading correctly for the Qt port where the networking
1233 backend is bound to the page.
1235 * loader/FrameLoader.cpp:
1236 (WebCore::FrameLoader::loadResourceSynchronously):
1237 * platform/network/ResourceHandle.h:
1238 * platform/network/cf/ResourceHandleCFNet.cpp:
1239 * platform/network/curl/ResourceHandleCurl.cpp:
1240 * platform/network/mac/ResourceHandleMac.mm:
1241 * platform/network/qt/ResourceHandleQt.cpp:
1242 (WebCore::ResourceHandle::loadResourceSynchronously):
1244 2008-01-10 Kevin Ollivier <kevino@theolliviers.com>
1246 wx build fix for changes in r29328
1248 * WebCoreSources.bkl:
1250 2008-01-09 Maciej Stachowiak <mjs@apple.com>
1254 - refactor SecurityOrigin in preparation for merging with SecurityOriginData
1256 * platform/SecurityOrigin.cpp:
1257 (WebCore::SecurityOrigin::SecurityOrigin):
1258 (WebCore::SecurityOrigin::create):
1259 (WebCore::SecurityOrigin::createForFrame):
1260 * platform/SecurityOrigin.h:
1262 2008-01-09 Ada Chan <adachan@apple.com>
1264 Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
1268 Test: fast/forms/tabs-with-modifiers.html
1270 * page/EventHandler.cpp:
1271 (WebCore::EventHandler::defaultKeyboardEventHandler):
1272 (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down.
1273 Clean up the code a bit.
1274 * page/EventHandler.h:
1275 * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent. It was
1276 only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and
1278 * page/FocusController.h:
1280 2008-01-09 Antti Koivisto <antti@apple.com>
1284 Fix http://bugs.webkit.org/show_bug.cgi?id=16376
1285 <rdar://problem/5665206>
1286 <video> element fails to play frames when navigating back to page (16376)
1288 Don't make MediaPlayer visible when it is actually in page cache.
1290 * rendering/RenderVideo.cpp:
1291 (WebCore::RenderVideo::updatePlayer):
1293 2008-01-09 Anders Carlsson <andersca@apple.com>
1297 <rdar://problem/5532361>
1298 CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
1300 Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
1303 (WebCore::Frame::pageDestroyed):
1305 2008-01-09 John Sullivan <sullivan@apple.com>
1307 Reviewed by Adam Roben and Anders Carlsson
1309 - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to
1310 missing-but-expected Reload item
1312 * platform/ContextMenu.cpp:
1313 (WebCore::ContextMenu::populate):
1314 use isLoadingInAPISense when deciding whether to include Stop or Reload in context
1315 menu, to match the WebKit API
1317 2008-01-09 Mark Rowe <mrowe@apple.com>
1319 Fix Windows debug build for opensource developers.
1321 * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
1323 2007-10-01 Allan Sandfeld Jensen <sandfeld@kde.org>
1325 Reworked by Eric, Reviewed by Hyatt.
1327 - fix http://bugs.webkit.org/show_bug.cgi?id=9454
1328 Add support for :lang inheritance and xml:lang support.
1330 Tests: fast/selectors/lang-inheritance.html
1331 fast/selectors/lang-inheritance2.html
1332 fast/selectors/lang-vs-xml-lang.html
1333 fast/selectors/lang-vs-xml-lang-xhtml.xhtml
1335 * css/CSSStyleSelector.cpp:
1336 (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with
1337 different LANG-attribute.
1338 (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute
1339 for all the elements parents and the content-language of the document.
1341 (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
1343 (WebCore::Document::contentLanguage):
1344 (WebCore::Document::setContentLanguage):
1346 2008-01-08 Timothy Hatcher <timothy@apple.com>
1350 Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
1351 http://bugs.webkit.org/show_bug.cgi?id=16678
1353 Add a NULL check for controller before calling JSObjectSetPrivate.
1355 * page/InspectorController.cpp:
1356 (WebCore::InspectorController::~InspectorController):
1358 2008-01-08 Xan Lopez <xan@gnome.org>
1360 Reviewed by Alp Toker.
1362 http://bugs.webkit.org/show_bug.cgi?id=15610
1363 [GTK] Text rendering using Pango
1365 Use Pango to render Complex path text.
1367 * platform/graphics/gtk/FontGtk.cpp:
1368 (WebCore::utf16_to_utf8):
1369 (WebCore::convertUniCharToUTF8):
1370 (WebCore::setPangoAttributes):
1371 (WebCore::Font::drawGlyphs):
1372 (WebCore::Font::drawComplexText):
1373 (WebCore::Font::floatWidthForComplexText):
1374 (WebCore::Font::offsetForPositionForComplexText):
1376 2008-01-08 Timothy Hatcher <timothy@apple.com>
1378 Reviewed by Darin Adler.
1380 <rdar://problem/5665860> With the web inspector displayed, a crash occurs
1381 at WebCore::Frame::document() when navigating back to previous page
1383 This fixes the crash, but the inspector was totally broken with back/forward.
1384 So this also fixes back/forward navigation so the right main resource shows
1385 up in the inspector.
1387 * page/InspectorController.cpp:
1388 (WebCore::addSourceToFrame): Add some null checks for the frame when
1389 getting the textEncoding. This was the crash.
1390 (WebCore::InspectorController::addScriptResource): Create a script object
1391 only if needed, and always add it by calling addResource.
1392 (WebCore::InspectorController::didCommitLoad): Check if the loader is
1393 loading from the page cache, and clear m_mainResource. If the load is
1394 normal, then call addAndUpdateScriptResource with the main resource.
1395 (WebCore::InspectorController::identifierForInitialRequest): If the load
1396 is from the page cache and the resource is the main resource call
1397 addAndUpdateScriptResource since didCommitLoad did not do it.
1399 2008-01-08 Alp Toker <alp@atoker.com>
1401 Back out VIDEO by default in the GTK+ qmake build. The build bot
1402 doesn't have the necessary libraries installed.
1406 2008-01-08 Alp Toker <alp@atoker.com>
1408 Win build fix for breakage introduced in r29328.
1410 * WebCore.vcproj/WebCore.vcproj:
1412 2008-01-08 Alp Toker <alp@atoker.com>
1414 Rubber-stamped by Mark Rowe.
1416 Enable VIDEO by default in the GTK+ qmake build.
1420 2008-01-08 Alp Toker <alp@atoker.com>
1422 GTK+ VIDEO build fix for breakage introduced in r29328.
1424 Issue noticed by Ori_B.
1429 2008-01-08 Antti Koivisto <antti@apple.com>
1433 HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is
1436 Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
1438 Test: media/constructors.html
1441 * WebCore.xcodeproj/project.pbxproj:
1442 * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp.
1443 (WebCore::JSAudioConstructor::JSAudioConstructor):
1444 (WebCore::JSAudioConstructor::implementsConstruct):
1445 (WebCore::JSAudioConstructor::construct):
1446 * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h.
1447 * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed.
1448 * bindings/js/JSHTMLAudioElementConstructor.h: Removed.
1449 * bindings/js/kjs_window.cpp:
1450 (KJS::Window::getValueProperty):
1451 * html/HTMLAudioElement.idl:
1453 2008-01-08 Anders Carlsson <andersca@apple.com>
1457 Don't add the applet widget to the view, that's done later by RenderApplet.
1459 * loader/FrameLoader.cpp:
1460 (WebCore::FrameLoader::createJavaAppletWidget):
1462 2008-01-08 Antti Koivisto <antti@apple.com>
1466 Add security check for Audio constructor.
1468 * bindings/js/kjs_window.cpp:
1469 (KJS::Window::getValueProperty):
1471 2008-01-08 Timothy Hatcher <timothy@apple.com>
1473 Reviewed by Adam Roben.
1475 <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
1477 InspectorController::didLoadResourceFromMemoryCache was not being called for
1478 resources that loaded from the memory cache that the FrameLoader's client
1479 has already been notified about. This fix always calls the InspectorController
1480 when loading a memory cached resource. No test possible for the Web Inspector.
1482 * loader/DocLoader.cpp:
1483 (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
1484 FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
1485 * loader/FrameLoader.cpp:
1486 (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
1487 (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
1488 (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
1489 (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
1490 Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
1491 didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
1492 didTellClientAboutLoad.
1493 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
1494 in FrameLoader::loadedResourceFromMemoryCache.
1495 * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
1496 Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to
1497 m_urlsClientKnowsAbout.
1498 * loader/SubresourceLoader.cpp:
1499 (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
1501 2008-01-08 Dan Bernstein <mitz@apple.com>
1503 Rubber-stamped by Sam Weinig.
1505 - prefix all member variables in CSSStyleSelector with m_
1507 * css/CSSStyleSelector.cpp:
1508 (WebCore::CSSStyleSelector::CSSStyleSelector):
1509 (WebCore::CSSStyleSelector::init):
1510 (WebCore::CSSStyleSelector::setEncodedURL):
1511 (WebCore::CSSStyleSelector::loadDefaultStyle):
1512 (WebCore::CSSStyleSelector::matchRules):
1513 (WebCore::CSSStyleSelector::matchRulesForList):
1514 (WebCore::CSSStyleSelector::initElementAndPseudoState):
1515 (WebCore::CSSStyleSelector::initForStyleResolve):
1516 (WebCore::CSSStyleSelector::canShareStyleWithElement):
1517 (WebCore::CSSStyleSelector::locateSharedStyle):
1518 (WebCore::CSSStyleSelector::matchUARules):
1519 (WebCore::CSSStyleSelector::styleForElement):
1520 (WebCore::CSSStyleSelector::pseudoStyleForElement):
1521 (WebCore::CSSStyleSelector::updateFont):
1522 (WebCore::CSSStyleSelector::cacheBorderAndBackground):
1523 (WebCore::CSSStyleSelector::checkSelector):
1524 (WebCore::CSSStyleSelector::checkOneSelector):
1525 (WebCore::CSSStyleSelector::applyProperty):
1526 (WebCore::CSSStyleSelector::mapBackgroundImage):
1527 (WebCore::CSSStyleSelector::mapBackgroundSize):
1528 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1529 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1530 (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
1531 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1532 * css/CSSStyleSelector.h:
1533 (WebCore::CSSStyleSelector::):
1534 (WebCore::CSSRuleData::CSSRuleData):
1535 (WebCore::CSSRuleDataList::CSSRuleDataList):
1536 (WebCore::CSSRuleDataList::append):
1537 * css/SVGCSSStyleSelector.cpp:
1538 (WebCore::CSSStyleSelector::applySVGProperty):
1539 * rendering/RenderStyle.cpp:
1540 (WebCore::RenderStyle::isStyleAvailable):
1542 2008-01-08 David D. Kilzer <ddkilzer@apple.com>
1544 Removed unnecessary files from Copy Bundle Resources build phase.
1548 * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
1549 DOMCoreException.idl
1554 SVGAnimateColorElement.idl
1555 SVGAnimateElement.idl
1556 SVGAnimateTransformElement.idl
1557 SVGAnimatedAngle.idl
1558 SVGAnimatedBoolean.idl
1559 SVGAnimatedEnumeration.idl
1560 SVGAnimatedInteger.idl
1561 SVGAnimatedLength.idl
1562 SVGAnimatedLengthList.idl
1563 SVGAnimatedNumber.idl
1564 SVGAnimatedNumberList.idl
1565 SVGAnimatedPathData.idl
1566 SVGAnimatedPoints.idl
1567 SVGAnimatedPreserveAspectRatio.idl
1569 SVGAnimatedString.idl
1570 SVGAnimatedTransformList.idl
1571 SVGAnimationElement.idl
1572 SVGCSSPropertyNames.in
1573 SVGCSSValueKeywords.in
1574 SVGCircleElement.idl
1575 SVGClipPathElement.idl
1577 SVGComponentTransferFunctionElement.idl
1578 SVGCursorElement.idl
1579 SVGDefinitionSrcElement.idl
1584 SVGElementInstance.idl
1585 SVGElementInstanceList.idl
1586 SVGEllipseElement.idl
1588 SVGExternalResourcesRequired.idl
1589 SVGFEBlendElement.idl
1590 SVGFEColorMatrixElement.idl
1591 SVGFEComponentTransferElement.idl
1592 SVGFECompositeElement.idl
1593 SVGFEDiffuseLightingElement.idl
1594 SVGFEDisplacementMapElement.idl
1595 SVGFEDistantLightElement.idl
1596 SVGFEFloodElement.idl
1597 SVGFEFuncAElement.idl
1598 SVGFEFuncBElement.idl
1599 SVGFEFuncGElement.idl
1600 SVGFEFuncRElement.idl
1601 SVGFEGaussianBlurElement.idl
1602 SVGFEImageElement.idl
1603 SVGFEMergeElement.idl
1604 SVGFEMergeNodeElement.idl
1605 SVGFEOffsetElement.idl
1606 SVGFEPointLightElement.idl
1607 SVGFESpecularLightingElement.idl
1608 SVGFESpotLightElement.idl
1609 SVGFETileElement.idl
1610 SVGFETurbulenceElement.idl
1611 SVGFilterElement.idl
1612 SVGFilterPrimitiveStandardAttributes.idl
1615 SVGFontFaceElement.idl
1616 SVGFontFaceFormatElement.idl
1617 SVGFontFaceNameElement.idl
1618 SVGFontFaceSrcElement.idl
1619 SVGFontFaceUriElement.idl
1620 SVGForeignObjectElement.idl
1623 SVGGradientElement.idl
1629 SVGLinearGradientElement.idl
1631 SVGMarkerElement.idl
1634 SVGMetadataElement.idl
1635 SVGMissingGlyphElement.idl
1641 SVGPathSegArcAbs.idl
1642 SVGPathSegArcRel.idl
1643 SVGPathSegClosePath.idl
1644 SVGPathSegCurvetoCubicAbs.idl
1645 SVGPathSegCurvetoCubicRel.idl
1646 SVGPathSegCurvetoCubicSmoothAbs.idl
1647 SVGPathSegCurvetoCubicSmoothRel.idl
1648 SVGPathSegCurvetoQuadraticAbs.idl
1649 SVGPathSegCurvetoQuadraticRel.idl
1650 SVGPathSegCurvetoQuadraticSmoothAbs.idl
1651 SVGPathSegCurvetoQuadraticSmoothRel.idl
1652 SVGPathSegLinetoAbs.idl
1653 SVGPathSegLinetoHorizontalAbs.idl
1654 SVGPathSegLinetoHorizontalRel.idl
1655 SVGPathSegLinetoRel.idl
1656 SVGPathSegLinetoVerticalAbs.idl
1657 SVGPathSegLinetoVerticalRel.idl
1659 SVGPathSegMovetoAbs.idl
1660 SVGPathSegMovetoRel.idl
1661 SVGPatternElement.idl
1664 SVGPolygonElement.idl
1665 SVGPolylineElement.idl
1666 SVGPreserveAspectRatio.idl
1667 SVGRadialGradientElement.idl
1670 SVGRenderingIntent.idl
1672 SVGScriptElement.idl
1678 SVGSwitchElement.idl
1679 SVGSymbolElement.idl
1683 SVGTextContentElement.idl
1685 SVGTextPathElement.idl
1686 SVGTextPositioningElement.idl
1689 SVGTransformList.idl
1690 SVGTransformable.idl
1698 XMLHttpRequestException.idl
1702 make-charset-table.pl
1707 2008-01-08 Luca Bruno <lethalman88@gmail.com>
1709 Reviewed by Alp Toker.
1711 Support copying the selected URL to the clipboard.
1713 * platform/gtk/PasteboardGtk.cpp:
1714 (WebCore::Pasteboard::writeURL): implemented
1716 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
1718 Renamed CharacterData::m_str to m_data
1720 Rubber-stamped by Adam again.
1722 No test cases added since there is no change in behavior.
1724 * dom/CDATASection.cpp:
1725 * dom/CharacterData.cpp:
1726 (WebCore::CharacterData::CharacterData):
1727 (WebCore::CharacterData::setData):
1728 (WebCore::CharacterData::substringData):
1729 (WebCore::CharacterData::appendData):
1730 (WebCore::CharacterData::insertData):
1731 (WebCore::CharacterData::deleteData):
1732 (WebCore::CharacterData::replaceData):
1733 (WebCore::CharacterData::nodeValue):
1734 (WebCore::CharacterData::containsOnlyWhitespace):
1735 (WebCore::CharacterData::dispatchModifiedEvent):
1736 (WebCore::CharacterData::checkCharDataOperation):
1737 (WebCore::CharacterData::dump):
1738 * dom/CharacterData.h:
1741 (WebCore::Text::splitText):
1742 (WebCore::Text::createRenderer):
1743 (WebCore::Text::recalcStyle):
1745 2008-01-08 Steve Falkenburg <sfalken@apple.com>
1747 Fix a couple of compiler warnings.
1751 * platform/win/ThreadingWin.cpp:
1752 * platform/win/UniscribeController.cpp: Remove unused function.
1753 (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
1755 2008-01-08 Adele Peterson <adele@apple.com>
1759 Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
1761 * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
1762 After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
1763 MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.
1764 This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
1765 I also added a missing call to setDefaultHandled for the mousemove event.
1767 2008-01-08 Adele Peterson <adele@apple.com>
1771 * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
1772 paint the media controls in RenderThemeSafari.
1774 2008-01-08 Oliver Hunt <oliver@apple.com>
1776 Reviewed by Adele and John.
1778 Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
1779 dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
1781 We hit this crash if the page reloads between DragController::dragUpdated
1782 and DragController::performDrag, meaning that m_document starts pointing to
1783 a now viewless document. This is picked up by an assertion in performDrag
1784 which I have now replaced with an assignment given that the assertion is
1785 invalid -- it is possible for m_document to be changed between dragUpdated
1788 * page/DragController.cpp:
1789 (WebCore::DragController::performDrag):
1791 2008-01-08 Alexey Proskuryakov <ap@webkit.org>
1795 <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
1796 WebCore::Node::setChanged + 96
1798 Test: fast/dom/cssTarget-crash.html
1800 * dom/Node.cpp: (WebCore::Node::removedFromDocument):
1801 Check to see if the node being removed is currently set as the Document's cssTarget.
1802 If it is, clear the cssTarget to prevent a hanging reference to it.
1804 2008-01-08 Adam Roben <aroben@apple.com>
1806 * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
1807 rebuild on Windows now that the media elements are enabled.
1809 2008-01-08 Adam Roben <aroben@apple.com>
1811 * svg/svgtags.in: Touch this again for the sake of the Windows bots.
1813 2008-01-08 Timothy Hatcher <timothy@apple.com>
1815 Reviewed by Adam Roben.
1817 Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
1818 Also added some #pragma marks to help find places in the file.
1820 * page/InspectorController.cpp:
1821 (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
1822 And return the result of JSObjectCallAsFunction.
1823 (WebCore::search): Use JSRetainPtr<JSStringRef>.
1824 (WebCore::databaseTableNames): Ditto.
1825 (WebCore::localizedStrings): Ditto.
1826 (WebCore::InspectorController::~InspectorController): Ditto.
1827 (WebCore::InspectorController::focusNode): Ditto.
1828 (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
1829 (WebCore::InspectorController::scriptObjectReady): Ditto.
1830 (WebCore::addHeaders): Ditto.
1831 (WebCore::InspectorController::addScriptResource): Ditto.
1832 (WebCore::InspectorController::removeScriptResource): Ditto.
1833 (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
1834 (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
1835 (WebCore::InspectorController::updateScriptResource): Ditto.
1836 (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
1837 (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
1838 (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
1840 2008-01-08 Dan Bernstein <mitz@apple.com>
1842 Rubber-stamped by Sam Weinig.
1844 - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
1848 * WebCore.vcproj/WebCore.vcproj:
1849 * WebCore.xcodeproj/project.pbxproj:
1850 * WebCoreSources.bkl:
1851 * editing/Editor.cpp:
1852 * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
1853 * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
1854 * platform/graphics/FontDataBaseClass.cpp: Removed.
1855 * platform/graphics/FontDataBaseClass.h: Removed.
1856 * platform/graphics/SegmentedFontData.h:
1857 * platform/graphics/SimpleFontData.h:
1859 2008-01-08 Dan Bernstein <mitz@apple.com>
1861 Fix a Wx build error.
1863 * platform/graphics/wx/GlyphMapWx.cpp:
1864 (WebCore::GlyphPage::fill):
1866 2008-01-08 Dan Bernstein <mitz@apple.com>
1868 Fix a Qt build error.
1870 * platform/graphics/qt/SimpleFontDataQt.cpp:
1871 (WebCore::SimpleFontData::containsCharacters):
1872 (WebCore::SimpleFontData::fontDataForCharacter):
1873 (WebCore::SimpleFontData::isSegmented):
1875 2008-01-08 Adam Roben <aroben@apple.com>
1879 Touch config.h to force a rebuild (apparently changing preprocessor
1880 definitions in the .vcproj doesn't force a rebuild).
1884 2008-01-08 Dan Bernstein <mitz@apple.com>
1886 Fix a Wx build failure.
1890 2008-01-08 Dan Bernstein <mitz@apple.com>
1892 Fix a Qt build failure.
1896 2008-01-08 John Sullivan <sullivan@apple.com>
1898 Reviewed by Adam Roben
1900 - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field,
1901 Delete menu item is enabled but shouldn't be
1903 The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
1904 parameter to the enabled functions so that they can have parallel logic to the execute functions.
1906 * editing/EditorCommand.cpp:
1907 added EditorCommandSource parameter to isEnabled function prototype
1909 added unused EditorCommandSource parameter to these isEnabled functions:
1910 (WebCore::enabledAnySelection):
1911 (WebCore::enabledAnySelectionAndMark):
1912 (WebCore::enableCaretInEditableText):
1913 (WebCore::enabledCopy):
1914 (WebCore::enabledCut):
1916 (WebCore::enabledDelete):
1917 new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
1920 added unused EditorCommandSource parameter to these isEnabled functions:
1921 (WebCore::enabledInEditableText):
1922 (WebCore::enabledInRichlyEditableText):
1923 (WebCore::enabledPaste):
1924 (WebCore::enabledRangeInEditableText):
1925 (WebCore::enabledRangeInRichlyEditableText):
1926 (WebCore::enabledRedo):
1927 (WebCore::enabledUndo):
1929 (WebCore::CommandEntry::):
1930 wire up new enabledDelete function as delete function for Delete command
1932 (WebCore::Editor::Command::isEnabled):
1933 pass EditorCommandSource parameter to isEnabled function
1935 2008-01-08 Adam Roben <aroben@apple.com>
1937 Visual C++ Express build fix
1939 * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
1940 and advapi32.lib. VS implicitly links against these, VC++ Express
1943 2008-01-08 Dan Bernstein <mitz@apple.com>
1947 * platform/graphics/mac/FontCustomPlatformData.cpp:
1948 (WebCore::createFontCustomPlatformData):
1950 2008-01-08 Dan Bernstein <mitz@apple.com>
1952 Try to fix the Qt build.
1956 2008-01-08 Nikolas Zimmermann <zimmermann@kde.org>
1958 Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
1960 * page/inspector/WebKit.qrc:
1962 2008-01-08 Maciej Stachowiak <mjs@apple.com>
1966 - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
1968 * bindings/objc/PublicDOMInterfaces.h:
1969 * html/HTMLDocument.idl:
1971 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
1973 Renamed CharacterData::str to m_str to match coding style
1975 Rubber-stamped by Adam.
1977 No test cases added since there is no change in behavior.
1979 * dom/CDATASection.cpp:
1980 * dom/CharacterData.cpp:
1981 (WebCore::CharacterData::CharacterData):
1982 (WebCore::CharacterData::setData):
1983 (WebCore::CharacterData::substringData):
1984 (WebCore::CharacterData::appendData):
1985 (WebCore::CharacterData::insertData):
1986 (WebCore::CharacterData::deleteData):
1987 (WebCore::CharacterData::replaceData):
1988 (WebCore::CharacterData::nodeValue):
1989 (WebCore::CharacterData::containsOnlyWhitespace):
1990 (WebCore::CharacterData::dispatchModifiedEvent):
1991 (WebCore::CharacterData::checkCharDataOperation):
1992 (WebCore::CharacterData::dump):
1993 * dom/CharacterData.h:
1996 (WebCore::Text::splitText):
1997 (WebCore::Text::createRenderer):
1998 (WebCore::Text::recalcStyle):
2000 2008-01-08 Oliver Hunt <oliver@apple.com>
2002 Set the ENABLE_SVG_FONTS flag in Windows build, now builds,
2003 I'm not sure if it just caused the right files to regenerate,
2004 or if there's some configuration weirdness in the non-SVG-fonts
2007 * WebCore.vcproj/WebCore.vcproj:
2009 2008-01-07 Maciej Stachowiak <mjs@apple.com>
2013 - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
2015 Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
2018 (WebCore::Document::Document):
2020 (WebCore::Document::setHasOpenDatabases):
2021 (WebCore::Document::hasOpenDatabases):
2022 * loader/FrameLoader.cpp:
2023 (WebCore::FrameLoader::canCachePage):
2024 * storage/Database.cpp:
2025 (WebCore::Database::openDatabase):
2027 2008-01-07 Dan Bernstein <mitz@apple.com>
2029 Reviewed by Oliver Hunt.
2031 - fix leaks seen on the build bot
2033 * css/CSSFontSelector.cpp:
2034 (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
2035 CSSFontFaceSource for SVG font-face elements going into an
2036 SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
2037 face elements to a CSSFontFace because it will not work as expected.
2039 2008-01-07 Mark Rowe <mrowe@apple.com>
2043 * platform/graphics/mac/FontCustomPlatformData.cpp:
2044 (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
2045 It's not needed on Tiger, and breaks the build.
2047 2008-01-07 Antti Koivisto <antti@apple.com>
2051 Re-enable media support in Windows build.
2053 * WebCore.vcproj/QTMovieWin.vcproj:
2054 * WebCore.vcproj/WebCore.vcproj:
2055 * WebCore.vcproj/build-generated-files.sh:
2057 2008-01-07 Steve Falkenburg <sfalken@apple.com>
2059 Add version resource to QTMovieWin.dll
2063 * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
2064 * WebCore.vcproj/QTMovieWin.rc: Added.
2065 * WebCore.vcproj/QTMovieWin.vcproj:
2066 * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
2067 * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
2069 2008-01-07 Dan Bernstein <mitz@apple.com>
2073 * platform/graphics/qt/FontCustomPlatformData.cpp:
2074 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
2075 Calls QFontDatabase::removeApplicationFont().
2076 * platform/graphics/qt/FontCustomPlatformData.h:
2077 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2078 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
2079 implementation because Qt does not use the WebCore glyph cache.
2081 2008-01-07 Dan Bernstein <mitz@apple.com>
2083 Reviewed by Oliver Hunt.
2085 - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
2086 Tiger and multiple SVG layout test failures on Leopard.
2088 * css/CSSSegmentedFontFace.cpp:
2089 (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
2090 empty SegmentedFontData.
2091 * platform/graphics/mac/FontCustomPlatformData.cpp:
2092 (WebCore::createFontCustomPlatformData): Avoid creating a font that
2093 contains no glyphs. On Leopard, ATS might create such a font given
2094 data in an unsupported format (such as SVG).
2096 2008-01-07 Steve Falkenburg <sfalken@apple.com>
2100 * WebCore.vcproj/WebCore.sln:
2101 * WebCore.vcproj/WebCore.submit.sln:
2103 2008-01-07 Oliver Hunt <oliver@apple.com>
2107 Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
2109 Test: svg/custom/image-with-aspect-ratio-stretch.svg
2111 * rendering/RenderSVGImage.cpp:
2112 (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
2114 2008-01-07 Dan Bernstein <mitz@apple.com>
2118 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2119 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2121 2008-01-07 Adele Peterson <adele@apple.com>
2123 Add missing newline.
2125 * rendering/MediaControlElements.cpp:
2127 2008-01-07 Jon Honeycutt <jhoneycutt@apple.com>
2131 <rdar://problem/5673489> Safari does not render windowless plugins in an
2132 iframe when opacity < 1.0
2134 Plugins in transparency layers handle their own world transforms, so
2135 only apply the horizontal/vertical transform if we are not in a
2138 * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
2139 inTransparencyLayer() function
2140 * platform/win/GraphicsContextWin.cpp:
2141 (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
2142 (WebCore::GraphicsContext::inTransparencyLayer):
2143 (WebCore::GraphicsContext::releaseWindowsContext): Use
2144 inTransparencyLayer()
2145 * plugins/win/PluginViewWin.cpp:
2146 (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
2147 relative to the window. Pass m_isTransparent to
2148 get/releaseWindowsContext(). Only set the world transform if we are not
2149 in a transparency layer.
2151 2008-01-07 Adele Peterson <adele@apple.com>
2153 Build fix. Need to wrap these classes in #if ENABLE(VIDEO)
2155 * rendering/MediaControlElements.cpp:
2156 * rendering/MediaControlElements.h:
2158 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2162 Enable SVG_FONTS by default.
2164 * Configurations/WebCore.xcconfig:
2165 * WebCore.vcproj/build-generated-files.sh:
2167 2008-01-07 Dan Bernstein <mitz@apple.com>
2171 * platform/graphics/qt/SimpleFontDataQt.cpp:
2172 (WebCore::SimpleFontData::SimpleFontData):
2173 (WebCore::SimpleFontData::~SimpleFontData):
2175 2008-01-07 Adam Barth <hk9565@gmail.com>
2177 Reviewed by Sam Weinig
2179 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
2180 <rdar://problem/5657447>
2182 When a frame is created with the URL "about:blank" or "", it should
2183 inherit its SecurityOrigin from its opener. However, once it has
2184 decided on that SecurityOrigin, it should not change its mind.
2185 Prior to this patch, several events could induce the frame to change
2186 its SecurityOrigin, permitting an attacker to inject script into an
2187 arbitrary SecurityOrigin.
2189 This patch makes several changes:
2191 1) Documents refuse to change from one SecurityOrigin to another
2192 unless explicitly instructed to do so.
2194 2) Navigating to a JavaScript URL that produces a value
2195 preserves the current SecurityOrigin explicitly instead of
2196 relying on the URL to preserve the origin (which fails for
2197 about:blank URLs and SecurityOrigins with document.domain set).
2199 Ideally, we should not preserve the URL at all. Instead, the
2200 frame's URL should be the JavaScript URL, as in Firefox, but this
2201 would require changes that are too risky for this patch. I'll
2202 file this as a separate issue.
2204 3) Various methods of navigating to JavaScript URLs were not
2205 properly handling JavaScript that returned a value (and should
2206 therefore replace the current document). This patch unifies
2207 those code paths with the path that works.
2209 There are still a handful of bugs relating to the handling of
2210 JavaScript URLs, but I'll file those as separate issues.
2212 Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
2213 http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
2214 http/tests/security/aboutBlank/xss-DENIED-set-opener.html
2217 (WebCore::Document::initSecurityOrigin):
2219 (WebCore::Document::setSecurityOrigin):
2220 * loader/FrameLoader.cpp:
2221 (WebCore::FrameLoader::changeLocation):
2222 (WebCore::FrameLoader::urlSelected):
2223 (WebCore::FrameLoader::requestFrame):
2224 (WebCore::FrameLoader::submitForm):
2225 (WebCore::FrameLoader::executeIfJavaScriptURL):
2226 (WebCore::FrameLoader::begin):
2227 * loader/FrameLoader.h:
2228 * platform/SecurityOrigin.cpp:
2229 (WebCore::SecurityOrigin::setForURL):
2230 (WebCore::SecurityOrigin::createForFrame):
2231 * platform/SecurityOrigin.h:
2233 2008-01-07 Adele Peterson <adele@apple.com>
2235 Forgot to check in these changes in my last checkin.
2237 * rendering/RenderThemeSafari.cpp:
2239 2008-01-07 Dan Bernstein <mitz@apple.com>
2244 * platform/graphics/qt/FontCacheQt.cpp:
2245 (WebCore::FontCache::getCachedFontData):
2247 2008-01-07 Timothy Hatcher <timothy@apple.com>
2249 Reviewed by John Sullivan.
2251 <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
2253 * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
2254 normal height when not docked, and small when docked. Also added some cursor properties
2255 prevent showing the text cursor over areas that are not selectable.
2256 * page/inspector/Images: A few images added and old ones removed or renamed.
2258 2008-01-07 Alp Toker <alp@atoker.com>
2260 Prospective GTK+ autotools/qmake VIDEO build fix for breakage
2261 introduced in r29257.
2266 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2270 Build fix affecting all builds - again related to the unicode-range addition.
2272 * css/CSSFontSelector.cpp:
2273 (WebCore::CSSFontSelector::addFontFaceRule):
2274 * css/SVGCSSFontFace.cpp:
2275 (WebCore::SVGCSSFontFace::SVGCSSFontFace):
2276 * css/SVGCSSFontFace.h:
2277 * rendering/RenderSVGText.cpp:
2279 (WebCore::svgFontAndFontFaceElementForFontData):
2280 (WebCore::floatWidthMissingGlyphCallback):
2281 (WebCore::drawTextMissingGlyphCallback):
2282 * svg/SVGFontFaceElement.cpp:
2284 2008-01-07 Adele Peterson <adele@apple.com>
2286 Reviewed by Antti, Adam, and Mitz.
2288 WebCore part of fix for
2289 <rdar://problem/5619073> Updated look for <video> controls
2290 <rdar://problem/5619057> Add volume control to video controls
2292 * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
2293 * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
2294 * WebCore.vcproj/WebCore.vcproj: ditto.
2296 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
2297 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
2298 * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
2299 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
2300 * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
2301 * css/html4.css: Added new styles for new controls.
2303 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
2304 * html/HTMLMediaElement.h:
2306 * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
2308 * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
2309 * platform/mac/WebCoreSystemInterface.mm: ditto.
2311 * rendering/MediaControlElements.cpp: Added.
2312 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia. Made this relatively positioned, instead of absolute.
2313 (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia. Removed call to updateFromElement,
2314 since its too early to do this here, and causes crashes for the slider.
2315 (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
2316 (WebCore::MediaControlInputElement::update): ditto.
2317 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
2318 (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
2319 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
2320 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
2321 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
2322 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
2323 (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
2324 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
2325 (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
2326 (WebCore::MediaControlTimelineElement::update): ditto.
2327 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
2328 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
2329 * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
2330 (WebCore::MediaControlShadowRootElement::isShadowNode):
2331 (WebCore::MediaControlShadowRootElement::shadowParentNode):
2332 (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
2333 (WebCore::RenderMediaControlShadowRoot::setParent):
2335 * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
2336 (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
2337 (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
2338 (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
2339 (WebCore::RenderMedia::createMuteButton): Added.
2340 (WebCore::RenderMedia::createSeekBackButton): ditto.
2341 (WebCore::RenderMedia::createSeekForwardButton): ditto.
2342 (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
2343 (WebCore::RenderMedia::createFullscreenButton): Added.
2344 (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
2345 (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls.
2346 (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
2347 * rendering/RenderMedia.h: Added new methods for creating new controls.
2349 * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements,
2350 but also can contain children (the controls' container) that may need to look for the containing block.
2352 * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
2354 * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
2356 (WebCore::RenderStyle::):
2358 * rendering/RenderTheme.cpp:
2359 (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
2360 (WebCore::RenderTheme::paint): ditto.
2361 * rendering/RenderTheme.h: Added new methods for painting new appearances.
2362 (WebCore::RenderTheme::paintMediaBackground):
2363 (WebCore::RenderTheme::paintMediaFullscreenButton):
2364 (WebCore::RenderTheme::paintMediaPlayButton):
2365 (WebCore::RenderTheme::paintMediaMuteButton):
2366 (WebCore::RenderTheme::paintMediaSeekBackButton):
2367 (WebCore::RenderTheme::paintMediaSeekForwardButton):
2368 (WebCore::RenderTheme::paintMediaSliderThumb):
2369 * rendering/RenderThemeMac.h:
2370 * rendering/RenderThemeMac.mm:
2371 (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
2372 (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
2373 (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
2374 (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
2375 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
2376 (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
2377 (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
2378 (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
2379 (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
2380 (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
2381 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
2382 (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
2383 * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
2384 (WebCore::RenderThemeSafari::paintSliderTrack):
2385 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
2386 (WebCore::RenderThemeSafari::paintMediaBackground):
2387 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
2388 (WebCore::RenderThemeSafari::paintMediaMuteButton):
2389 (WebCore::RenderThemeSafari::paintMediaPlayButton):
2390 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
2391 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
2392 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
2393 * rendering/RenderThemeSafari.h:
2395 2008-01-07 Timothy Hatcher <timothy@apple.com>
2397 Reviewed by Darin Adler.
2399 Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
2400 when the replacment string is a different length.
2402 * platform/text/StringImpl.cpp:
2403 (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
2404 the Vector size calculation, correcting the order of math operations.
2406 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2408 Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
2410 * platform/graphics/mac/FontCacheMac.mm:
2412 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2414 Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
2416 * css/CSSFontSelector.cpp:
2417 (WebCore::CSSFontSelector::getFontData):
2419 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2421 Not reviewed. Next try to fix wx/mac leopard build.
2423 * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
2424 * svg/SVGFontFaceElement.cpp:
2425 (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
2426 * webcore-base.bkl: Undo svg/ include.
2428 2008-01-07 Dan Bernstein <mitz@apple.com>
2430 Reviewed by Dave Hyatt.
2432 - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
2436 * WebCore.vcproj/WebCore.vcproj:
2437 * WebCore.xcodeproj/project.pbxproj:
2438 * WebCoreSources.bkl:
2439 * bindings/objc/DOM.mm:
2440 * bridge/mac/WebCoreAXObject.mm:
2441 * css/CSSComputedStyleDeclaration.cpp:
2442 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2443 * css/CSSFontFace.cpp:
2444 (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
2446 (WebCore::CSSFontFace::getFontData):
2447 * css/CSSFontFace.h:
2448 (WebCore::CSSFontFace::CSSFontFace):
2449 (WebCore::CSSFontFace::setSegmentedFontFace):
2450 * css/CSSFontFaceSource.cpp:
2451 (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
2452 GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
2453 font table are not exposed in the glyph page tree. Only the segmented
2454 font is, and that is taken care of by the segmented font face.
2455 (WebCore::CSSFontFaceSource::getFontData):
2456 * css/CSSFontFaceSource.h:
2457 * css/CSSFontSelector.cpp:
2458 (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
2459 @font-face rules with the same family and traits into a single
2460 segmented font face, instead of just retaining the most recent one.
2461 (WebCore::CSSFontSelector::fontLoaded):
2462 (WebCore::CSSFontSelector::getFontData):
2463 * css/CSSFontSelector.h:
2465 * css/CSSParser.cpp:
2466 (WebCore::CSSParser::parseValue):
2467 (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
2470 * css/CSSPrimitiveValue.h:
2471 (WebCore::CSSPrimitiveValue::):
2472 * css/CSSPropertyNames.in:
2473 * css/CSSSegmentedFontFace.cpp: Added.
2474 (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
2475 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
2476 (WebCore::CSSSegmentedFontFace::pruneTable):
2477 (WebCore::CSSSegmentedFontFace::isLoaded):
2478 (WebCore::CSSSegmentedFontFace::isValid):
2479 (WebCore::CSSSegmentedFontFace::fontLoaded):
2480 (WebCore::CSSSegmentedFontFace::overlayRange):
2481 (WebCore::CSSSegmentedFontFace::getFontData):
2482 * css/CSSSegmentedFontFace.h: Added.
2483 (WebCore::FontFaceRange::FontFaceRange):
2484 (WebCore::FontFaceRange::from):
2485 (WebCore::FontFaceRange::to):
2486 (WebCore::FontFaceRange::fontFace):
2487 (WebCore::CSSSegmentedFontFace::fontSelector):
2488 * css/CSSStyleSelector.cpp:
2489 (WebCore::CSSStyleSelector::applyProperty):
2490 * css/CSSUnicodeRangeValue.cpp: Added.
2491 (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
2492 (WebCore::CSSUnicodeRangeValue::cssText):
2493 * css/CSSUnicodeRangeValue.h: Added.
2494 (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
2495 (WebCore::CSSUnicodeRangeValue::from):
2496 (WebCore::CSSUnicodeRangeValue::to):
2497 * css/SVGCSSFontFace.cpp:
2498 (WebCore::SVGCSSFontFace::getFontData):
2499 * css/SVGCSSFontFace.h:
2500 * editing/Editor.cpp:
2501 (WebCore::Editor::fontForSelection):
2503 * page/mac/FrameMac.mm:
2504 * page/mac/WebCoreFrameBridge.mm:
2505 (-[WebCoreFrameBridge fontForSelection:]):
2506 * platform/graphics/Font.cpp:
2507 (WebCore::WidthIterator::advance):
2508 (WebCore::Font::glyphDataForCharacter):
2509 (WebCore::Font::primaryFont): Changed to return the simple font data
2510 used for the space character.
2511 (WebCore::Font::fontDataAt):
2512 (WebCore::Font::fontDataForCharacters):
2513 (WebCore::Font::drawGlyphBuffer):
2514 * platform/graphics/Font.h:
2515 * platform/graphics/FontCache.cpp:
2516 (WebCore::FontCache::getCachedFontData):
2517 (WebCore::FontCache::getFontData):
2518 * platform/graphics/FontCache.h:
2519 * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
2520 * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
2521 * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
2523 (WebCore::FontData::~FontData):
2524 * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
2526 * platform/graphics/FontFallbackList.cpp:
2527 (WebCore::FontFallbackList::determinePitch):
2528 (WebCore::FontFallbackList::fontDataAt):
2529 (WebCore::FontFallbackList::fontDataForCharacters):
2530 * platform/graphics/FontFallbackList.h:
2531 (WebCore::FontFallbackList::primaryFont):
2532 * platform/graphics/FontSelector.h:
2533 * platform/graphics/GlyphBuffer.h:
2534 (WebCore::GlyphBuffer::fontDataAt):
2535 (WebCore::GlyphBuffer::swap):
2536 (WebCore::GlyphBuffer::add):
2537 * platform/graphics/GlyphPageTreeNode.cpp:
2538 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2539 (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
2540 pages for segmented font data.
2541 (WebCore::GlyphPageTreeNode::getChild):
2542 (WebCore::GlyphPageTreeNode::pruneCustomFontData):
2543 * platform/graphics/GlyphPageTreeNode.h:
2544 (WebCore::GlyphPage::setGlyphDataForCharacter):
2545 (WebCore::GlyphPage::setGlyphDataForIndex):
2546 (WebCore::GlyphPageTreeNode::getRootChild):
2547 * platform/graphics/SegmentedFontData.cpp: Added.
2548 (WebCore::SegmentedFontData::~SegmentedFontData):
2549 (WebCore::SegmentedFontData::fontDataForCharacter):
2550 (WebCore::SegmentedFontData::containsCharacters):
2551 (WebCore::SegmentedFontData::isCustomFont):
2552 (WebCore::SegmentedFontData::isLoading):
2553 (WebCore::SegmentedFontData::isSegmented):
2554 * platform/graphics/SegmentedFontData.h: Added.
2555 (WebCore::FontDataRange::FontDataRange):
2556 (WebCore::FontDataRange::from):
2557 (WebCore::FontDataRange::to):
2558 (WebCore::FontDataRange::fontData):
2559 (WebCore::SegmentedFontData::appendRange):
2560 (WebCore::SegmentedFontData::numRanges):
2561 (WebCore::SegmentedFontData::rangeAt):
2562 * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
2563 (WebCore::SimpleFontData::SimpleFontData):
2564 (WebCore::SimpleFontData::~SimpleFontData):
2565 (WebCore::SimpleFontData::ascent):
2566 (WebCore::SimpleFontData::descent):
2567 (WebCore::SimpleFontData::widthForGlyph):
2568 (WebCore::SimpleFontData::fontDataForCharacter):
2569 (WebCore::SimpleFontData::isSegmented):
2570 * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
2571 (WebCore::SimpleFontData::isCustomFont):
2572 (WebCore::SimpleFontData::isLoading):
2573 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2574 (WebCore::GraphicsContext::setPlatformFont):
2575 * platform/graphics/gtk/FontCacheGtk.cpp:
2576 (WebCore::FontCache::getFontDataForCharacters):
2577 * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
2578 SimpleFontDataGtk.cpp.
2579 * platform/graphics/gtk/FontGtk.cpp:
2580 (WebCore::Font::drawGlyphs):
2581 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
2582 (WebCore::GlyphPage::fill):
2583 * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
2584 (WebCore::SimpleFontData::platformInit):
2585 (WebCore::SimpleFontData::platformDestroy):
2586 (WebCore::SimpleFontData::smallCapsFontData):
2587 (WebCore::SimpleFontData::containsCharacters):
2588 (WebCore::SimpleFontData::determinePitch):
2589 (WebCore::SimpleFontData::platformWidthForGlyph):
2590 (WebCore::SimpleFontData::setFont):
2591 * platform/graphics/mac/FontCacheMac.mm:
2592 (WebCore::FontCache::getFontDataForCharacters):
2593 * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
2594 * platform/graphics/mac/FontMac.mm:
2595 (WebCore::initializeATSUStyle):
2596 (WebCore::overrideLayoutOperation):
2597 (WebCore::ATSULayoutParameters::initialize):
2598 (WebCore::Font::drawGlyphs):
2599 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2600 (WebCore::GlyphPage::fill):
2601 * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
2602 (WebCore::initFontData):
2603 (WebCore::SimpleFontData::platformInit):
2604 (WebCore::SimpleFontData::platformDestroy):
2605 (WebCore::SimpleFontData::smallCapsFontData):
2606 (WebCore::SimpleFontData::containsCharacters):
2607 (WebCore::SimpleFontData::determinePitch):
2608 (WebCore::SimpleFontData::platformWidthForGlyph):
2609 (WebCore::SimpleFontData::checkShapesArabic):
2610 * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
2611 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
2612 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
2613 * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
2614 * platform/graphics/win/FontCacheWin.cpp:
2615 (WebCore::FontCache::getFontDataForCharacters):
2616 * platform/graphics/win/FontDataWin.cpp: Renamed to
2617 SimpleFontDataWin.cpp.
2618 * platform/graphics/win/FontWin.cpp:
2619 (WebCore::Font::drawGlyphs):
2620 * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
2621 (WebCore::GlyphPage::fill):
2622 * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
2623 (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
2624 (WebCore::SimpleFontData::platformInit):
2625 (WebCore::SimpleFontData::platformDestroy):
2626 (WebCore::SimpleFontData::smallCapsFontData):
2627 (WebCore::SimpleFontData::containsCharacters):
2628 (WebCore::SimpleFontData::determinePitch):
2629 (WebCore::SimpleFontData::platformWidthForGlyph):
2630 (WebCore::SimpleFontData::scriptFontProperties):
2631 * platform/graphics/wx/FontCacheWx.cpp:
2632 (WebCore::FontCache::getFontDataForCharacters):
2633 * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
2634 * platform/graphics/wx/FontWx.cpp:
2635 (WebCore::Font::drawGlyphs):
2636 * platform/graphics/wx/GlyphMapWx.cpp:
2637 (WebCore::GlyphPage::fill):
2638 * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
2639 (WebCore::SimpleFontData::platformInit):
2640 (WebCore::SimpleFontData::platformDestroy):
2641 (WebCore::SimpleFontData::smallCapsFontData):
2642 (WebCore::SimpleFontData::containsCharacters):
2643 (WebCore::SimpleFontData::determinePitch):
2644 (WebCore::SimpleFontData::platformWidthForGlyph):
2645 * platform/mac/FileChooserMac.mm:
2646 * platform/mac/PopupMenuMac.mm:
2647 * platform/mac/WebCoreTextRenderer.mm:
2648 * platform/win/PopupMenuWin.cpp:
2649 * platform/win/UniscribeController.cpp:
2650 (WebCore::UniscribeController::advance):
2651 (WebCore::UniscribeController::itemizeShapeAndPlace):
2652 (WebCore::UniscribeController::shapeAndPlaceItem):
2653 (WebCore::UniscribeController::shape):
2654 * platform/win/UniscribeController.h:
2656 (WebCore::Font::drawGlyphsWithSVGFont):
2657 * svg/SVGFontElement.cpp:
2658 (WebCore::SVGFontElement::collectGlyphs):
2659 * svg/SVGFontFaceElement.cpp:
2660 (WebCore::SVGFontFaceElement::createFontData):
2661 * svg/SVGFontFaceElement.h:
2662 * svg/SVGGlyphElement.cpp:
2664 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2666 Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
2670 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2672 Not reviewed. Proposed build fix for wx.
2676 2008-01-07 Dan Bernstein <mitz@apple.com>
2680 * platform/graphics/mac/FontCustomPlatformData.cpp:
2681 (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
2682 cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
2684 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
2686 Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
2687 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15741 (REGRESSION: svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows worse behavior on TOT)
2689 Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
2690 measure & render glyphs contained in SVG Fonts, including ligature lookup support.
2692 Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
2694 Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
2695 Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
2697 Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
2698 This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
2699 required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
2701 Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
2703 <glyph> elements now register themselves in the SVGFontElement's glyph cache.
2704 (insertedIntoDocument / removedFromDocument take care of this)
2706 The cache is built once now, and is kept updated - it's not rebuild anymore
2707 on painting (!) - which was a crude hack for testing.
2709 W3C testcase which include SVG Fonts:
2710 svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
2711 svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
2712 svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
2713 svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
2714 svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
2715 svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
2716 svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
2717 svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
2718 svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
2719 svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
2720 svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
2721 svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
2722 svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
2723 svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
2724 svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
2725 svg/W3C-SVG-1.1/render-elems-07-t.svg (Fixed, simple 'stroke' property test - shows SVG Font interprets stroke-width in glyph coordinate system, as demanded by spec)
2726 svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
2727 svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
2728 svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
2729 svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
2730 svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
2731 svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
2732 svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
2734 Questionable testcases:
2735 svg/W3C-SVG-1.1/fonts-glyph-04-t.svg (tests that glyph selection is done in the order in the definition of the font element.)
2736 I am not sure why this behaviour is desired, no comment given in spec - doesn't make much sense to me, ignoring it for now.
2738 Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
2740 * css/CSSFontSelector.cpp:
2741 (WebCore::CSSFontSelector::addFontFaceRule):
2742 (WebCore::CSSFontSelector::getFontData):
2743 * platform/graphics/Font.cpp:
2744 (WebCore::Font::lineSpacing):
2745 (WebCore::Font::xHeight):
2746 (WebCore::Font::canUseGlyphCache):
2747 (WebCore::Font::drawGlyphBuffer):
2748 (WebCore::Font::drawText):
2749 (WebCore::Font::floatWidth):
2750 (WebCore::Font::selectionRectForText):
2751 * platform/graphics/Font.h:
2752 (WebCore::TextRun::TextRun):
2753 (WebCore::TextRun::activePaintServer):
2754 (WebCore::TextRun::setActivePaintServer):
2755 * platform/graphics/FontData.cpp:
2756 (WebCore::FontData::lineSpacing):
2757 (WebCore::FontData::lineGap):
2758 (WebCore::FontData::xHeight):
2759 * platform/graphics/FontData.h:
2760 * platform/graphics/win/FontWin.cpp:
2761 (WebCore::Font::drawGlyphs):
2762 * rendering/RenderSVGText.cpp:
2763 (WebCore::RenderSVGText::relativeBBox):
2764 * rendering/SVGInlineTextBox.cpp:
2765 (WebCore::SVGInlineTextBox::paintCharacters):
2766 * rendering/SVGInlineTextBox.h:
2767 * rendering/SVGRootInlineBox.cpp:
2768 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
2771 (WebCore::processArabicFormDetection):
2772 (WebCore::charactersWithArabicForm):
2773 (WebCore::isCompatibleArabicForm):
2774 (WebCore::isCompatibleGlyph):
2775 (WebCore::svgFontAndFontFaceElementForFontData):
2776 (WebCore::SVGTextRunWalker::SVGTextRunWalker):
2777 (WebCore::SVGTextRunWalker::walk):
2778 (WebCore::floatWidthUsingSVGFontCallback):
2779 (WebCore::floatWidthMissingGlyphCallback):
2780 (WebCore::floatWidthOfSubStringUsingSVGFont):
2781 (WebCore::Font::floatWidthUsingSVGFont):
2782 (WebCore::drawTextUsingSVGFontCallback):
2783 (WebCore::drawTextMissingGlyphCallback):
2784 (WebCore::Font::drawTextUsingSVGFont):
2785 (WebCore::Font::selectionRectForTextUsingSVGFont):
2786 * svg/SVGFontElement.cpp:
2787 (WebCore::SVGFontElement::SVGFontElement):
2788 (WebCore::SVGFontElement::addGlyphToCache):
2789 (WebCore::SVGFontElement::removeGlyphFromCache):
2790 (WebCore::SVGFontElement::firstMissingGlyphElement):
2791 (WebCore::SVGFontElement::glyphIdentifiersForString):
2792 * svg/SVGFontElement.h:
2793 (WebCore::SVGFontElement::maximumHashKeyLength):
2794 * svg/SVGFontFaceElement.cpp:
2795 (WebCore::SVGFontFaceElement::createFontData):
2796 (WebCore::SVGFontFaceElement::rebuildFontFace):
2797 (WebCore::SVGFontFaceElement::associatedFontElement):
2798 * svg/SVGFontFaceElement.h:
2799 * svg/SVGGlyphElement.cpp:
2800 (WebCore::SVGGlyphElement::insertedIntoDocument):
2801 (WebCore::SVGGlyphElement::removedFromDocument):
2802 (WebCore::parseArabicForm):
2803 (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
2804 (WebCore::SVGGlyphElement::buildGlyphIdentifier):
2805 * svg/SVGGlyphElement.h:
2806 (WebCore::SVGGlyphIdentifier::):
2807 (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
2808 (WebCore::SVGGlyphIdentifier::inheritedValue):
2809 (WebCore::SVGGlyphIdentifier::operator==):
2810 (WebCore::SVGGlyphElement::~SVGGlyphElement):
2812 2008-01-07 David Hyatt <hyatt@apple.com>
2814 Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
2818 * rendering/RenderBox.h:
2819 * rendering/RenderTableCell.cpp:
2820 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2822 2008-01-07 Holger Freyther <zecke@selfish.org>
2824 Reviewed by Alp Toker.
2828 * platform/gtk/ContextMenuGtk.cpp:
2829 (WebCore::ContextMenu::~ContextMenu):
2831 2008-01-07 Holger Freyther <zecke@selfish.org>
2833 Reviewed by Alp Toker.
2835 * The ContextMenuController is going to live longer than the ContextMenu. It is
2836 going to live as long as the WebCore::Page is around where the ContextMenu, specially
2837 in the case of a SubMenu, is gone before we popup the menu.
2839 * platform/gtk/ContextMenuGtk.cpp:
2840 (WebCore::menuItemActivated):
2841 (WebCore::ContextMenu::appendItem):
2843 2008-01-07 Holger Freyther <zecke@selfish.org>
2845 Reviewed by Alp Toker.
2847 * Fix SubMenu handling
2848 * Do not connect to the activated signal if we are a separator or submenu
2849 * Change our type from ActionType to SubMenuType when we have a submenu
2850 * Initialize the SubMenu
2852 * platform/gtk/ContextMenuGtk.cpp:
2853 (WebCore::ContextMenu::appendItem):
2854 * platform/gtk/ContextMenuItemGtk.cpp:
2855 (WebCore::ContextMenuItem::ContextMenuItem):
2856 (WebCore::ContextMenuItem::createNativeMenuItem):
2857 (WebCore::ContextMenuItem::setSubMenu):
2859 2008-01-07 Holger Freyther <zecke@selfish.org>
2861 Reviewed by Alp Toker.
2863 * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
2865 * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
2866 * Update the ContextMenuController to accept CheckableActionTypes as well.
2867 * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
2868 was extracted from ContextMenu::checkOrEnableIfNeeded.
2869 * Update the Qt and Windows port.
2872 * page/ContextMenuController.cpp:
2873 * platform/ContextMenu.cpp:
2874 (WebCore::createAndAppendFontSubMenu):
2875 (WebCore::createAndAppendSpellingAndGrammarSubMenu):
2876 (WebCore::createAndAppendSpellingSubMenu):
2877 (WebCore::createAndAppendWritingDirectionSubMenu):
2878 * platform/ContextMenuItem.h:
2879 * platform/gtk/ContextMenuItemGtk.cpp:
2880 (WebCore::ContextMenuItem::ContextMenuItem):
2881 (WebCore::ContextMenuItem::createNativeMenuItem):
2883 2008-01-07 Luca Bruno <lethalman88@gmail.com>
2885 Reviewed by Alp Toker.
2887 http://bugs.webkit.org/show_bug.cgi?id=16745
2888 [GTK] Context menu doesn't feel or look native - no icons
2890 Use GTK+ stock icons for menu items where possible.
2892 * platform/gtk/ContextMenuItemGtk.cpp:
2893 (WebCore::gtkStockIDFromContextMenuAction):
2894 (WebCore::ContextMenuItem::createNativeMenuItem):
2895 (WebCore::ContextMenuItem::setAction):
2897 2008-01-07 Dan Bernstein <mitz@apple.com>
2899 Reviewed by John Sullivan.
2901 - make the ATSUI code path work with custom fonts rather than crash
2903 * platform/graphics/mac/FontCustomPlatformData.cpp:
2904 (WebCore::FontCustomPlatformData::fontPlatformData):
2905 * platform/graphics/mac/FontMac.mm:
2906 (WebCore::initializeATSUStyle):
2908 2008-01-07 Thiago Macieira <thiago.macieira@trolltech.com>
2912 abort() now emits the signals, so disconnect them before you abort()
2914 * platform/network/qt/QNetworkReplyHandler.cpp:
2915 (WebCore::QNetworkReplyHandler::abort):
2917 2008-01-07 Simon Hausmann <hausmann@webkit.org>
2921 Use a faster and safer way of flattening the form data.
2923 * platform/network/qt/QNetworkReplyHandler.cpp:
2924 (WebCore::QNetworkReplyHandler::start):
2926 2008-01-07 Simon Hausmann <hausmann@webkit.org>
2930 Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
2933 * platform/network/ResourceHandleInternal.h:
2934 * platform/network/qt/QNetworkReplyHandler.cpp: Added.
2935 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2936 (WebCore::QNetworkReplyHandler::abort):
2937 (WebCore::QNetworkReplyHandler::finish):
2938 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2939 (WebCore::QNetworkReplyHandler::forwardData):
2940 (WebCore::QNetworkReplyHandler::start):
2941 * platform/network/qt/QNetworkReplyHandler.h: Added.
2942 (WebCore::QNetworkReplyHandler::reply):
2943 * platform/network/qt/ResourceHandleQt.cpp:
2944 (WebCore::ResourceHandle::start):
2945 (WebCore::ResourceHandle::cancel):
2946 (WebCore::ResourceHandle::loadResourceSynchronously):
2947 * platform/network/qt/ResourceRequest.h:
2948 (WebCore::ResourceRequest::ResourceRequest):
2949 * platform/network/qt/ResourceRequestQt.cpp: Added.
2950 (WebCore::ResourceRequest::toNetworkRequest):
2951 * platform/qt/MIMETypeRegistryQt.cpp:
2952 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2953 * platform/qt/PlugInInfoStoreQt.cpp:
2954 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
2955 (WebCore::PlugInInfoStore::pluginCount):
2956 (WebCore::PlugInInfoStore::pluginNameForMIMEType):
2958 2008-01-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2962 * Remove m_dirtyRegion as it is not used as we pass every dirty region
2963 directly to the ChromeClient
2965 * platform/qt/ScrollViewQt.cpp:
2966 (WebCore::ScrollView::paint):
2968 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
2972 Small CG paint server cleanups - use more GraphicsContext method where possible.
2974 * svg/graphics/cg/CgSupport.cpp:
2975 (WebCore::applyStrokeStyleToContext):
2976 (WebCore::strokeBoundingBox):
2977 * svg/graphics/cg/CgSupport.h:
2978 * svg/graphics/cg/RenderPathCg.cpp:
2979 (WebCore::RenderPath::strokeContains):
2980 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2981 (WebCore::SVGPaintServerGradient::setup):
2982 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
2983 (WebCore::SVGPaintServerPattern::setup):
2984 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
2985 (WebCore::SVGPaintServerSolid::setup):
2987 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
2991 Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
2993 * platform/graphics/mac/FontMac.mm:
2994 (WebCore::ATSULayoutParameters::initialize):
2996 2008-01-06 Andrew Wellington <proton@wiretapped.net>
3000 DOMRange doesn't correctly re-size when inserting items (Acid3)
3001 http://bugs.webkit.org/show_bug.cgi?id=16764
3003 Update the offset for the range when inserting items into the range.
3005 Test: fast/dom/Range/range-modifycontents.html
3008 (WebCore::Range::insertNode):
3010 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
3014 http://bugs.webkit.org/show_bug.cgi?id=16731
3015 Incorrect node type for whitespace when setting innerHTML in an XHTML document
3017 Test: fast/dom/xhtml-fragment-whitespace.xhtml
3019 * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
3020 Use balancedCharactersHandler for ignorable whitespace.
3022 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
3026 http://bugs.webkit.org/show_bug.cgi?id=16701
3027 <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
3028 causes page load error
3030 Test: http/tests/misc/location-with-space.php
3032 * platform/network/cf/ResourceRequestCFNet.cpp:
3033 (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
3035 2008-01-06 Andrew Wellington <proton@wiretapped.net>
3039 DOMRange.cloneContents does not work (Acid3 bug)
3040 http://bugs.webkit.org/show_bug.cgi?id=16748
3042 When cloning an empty range, return an empty DocmentFragment instead of
3045 Test: fast/dom/Range/range-clone-empty.html
3048 (WebCore::Range::processContents):
3050 2008-01-06 Luca Bruno <lethalman88@gmail.com>
3052 Reviewed by Alp Toker.
3054 Remove curl handles immediately if the timer is not running.
3056 * platform/network/curl/ResourceHandleManager.cpp:
3057 (WebCore::ResourceHandleManager::cancel):
3059 2008-01-06 Alp Toker <alp@atoker.com>
3063 Cairo canvas refcounting fix. Reference the surface in the constructor
3064 to match its destruction in the destructor.
3066 Fixes a crash triggered by leaving this page:
3067 http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html
3069 * html/CanvasPattern.cpp:
3070 (WebCore::CanvasPattern::CanvasPattern):
3072 2008-01-06 Eric Seidel <eric@webkit.org>
3076 Make attr selectors case-insensitive for certain HTML attributes
3077 http://bugs.webkit.org/show_bug.cgi?id=15470
3079 Test: fast/css/html-attr-case-sensitivity.html
3081 * css/CSSStyleSelector.cpp:
3082 (WebCore::addLocalNameToSet):
3083 (WebCore::createHtmlCaseInsensitiveAttributesSet):
3084 (WebCore::htmlAttributeHasCaseInsensitiveValue):
3085 (WebCore::CSSStyleSelector::checkOneSelector):
3087 2008-01-06 Eric Seidel <eric@webkit.org>
3091 Fix :checked matching type='text' and add test case
3092 http://bugs.webkit.org/show_bug.cgi?id=16750
3094 Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html
3096 * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX
3098 2008-01-05 Sam Weinig <sam@webkit.org>
3100 Reviewed by Eric Seidel.
3102 Patch for http://bugs.webkit.org/show_bug.cgi?id=16758
3103 ASSERT when using TreeWalker methods for a current node outside of the root (Acid3)
3105 - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec.
3107 Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
3109 * dom/TreeWalker.cpp:
3110 (WebCore::TreeWalker::parentNode):
3111 (WebCore::TreeWalker::firstChild):
3112 (WebCore::TreeWalker::lastChild):
3113 (WebCore::TreeWalker::previousSibling):
3114 (WebCore::TreeWalker::nextSibling):
3115 (WebCore::TreeWalker::previousNode):
3116 (WebCore::TreeWalker::nextNode):
3118 2008-01-04 Oliver Hunt <oliver@apple.com>
3120 Reviewed by Beth Dakin.
3122 Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015
3123 and other image repaint bugs.
3125 We now cache the full local bounds for the <image> element, as otherwise certain
3126 combinations of attribute changes could result in incorrect dirty rects.
3127 Additionally we no longer use any of the integer bounds fields on RenderObject for
3128 determining repaint bounds (this was the principle cause of bug #16015).
3130 I also removed the outline painting code as it was both wrong, and not correctly
3131 repainted. I feel safe doing this as no other browser or viewer supports outline
3132 properties on svg elements.
3134 I was unable to make a testcase for this unfortunately, despite seemingly deterministic
3137 * rendering/RenderSVGImage.cpp:
3138 (WebCore::RenderSVGImage::layout):
3139 (WebCore::RenderSVGImage::paint):
3140 (WebCore::RenderSVGImage::nodeAtPoint):
3141 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3142 * rendering/RenderSVGImage.h:
3144 2008-01-04 Beth Dakin <bdakin@apple.com>
3148 Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with
3149 type="hidden" matches :enabled/:disabled (Acid3 bug)
3151 Prevent :enabled and :disabled from applying to input type="hidden"
3153 * css/CSSStyleSelector.cpp:
3154 (WebCore::CSSStyleSelector::checkOneSelector): Rather than
3155 allowing :enabled and :disabled to apply to all controls, only
3156 allow it to apply to non-"hidden" controls
3158 (WebCore::Element::isInputTypeHidden):
3159 * html/HTMLInputElement.h:
3160 (WebCore::HTMLInputElement::isInputTypeHidden):
3162 2008-01-04 Sam Weinig <sam@webkit.org>
3164 Reviewed by Oliver Hunt.
3166 - Match the spec when calling getFloatValue, getStringValue, getCounterValue,
3167 getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions
3168 if the type of the CSSPrimitiveValue is not the same as the type requested.
3169 - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml
3171 Test: fast/css/CSSPrimitiveValue-exceptions.html
3173 * css/CSSPrimitiveValue.cpp:
3174 (WebCore::CSSPrimitiveValue::getDoubleValue):
3175 (WebCore::CSSPrimitiveValue::getStringValue):
3176 (WebCore::CSSPrimitiveValue::getCounterValue):
3177 (WebCore::CSSPrimitiveValue::getRectValue):
3178 (WebCore::CSSPrimitiveValue::getRGBColorValue):
3179 (WebCore::CSSPrimitiveValue::getPairValue):
3180 * css/CSSPrimitiveValue.h:
3181 (WebCore::CSSPrimitiveValue::getFloatValue):
3182 (WebCore::CSSPrimitiveValue::getIntValue):
3183 (WebCore::CSSPrimitiveValue::getCounterValue):
3184 (WebCore::CSSPrimitiveValue::getRectValue):
3185 (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
3186 * css/CSSPrimitiveValue.idl:
3188 2008-01-04 Antti Koivisto <antti@apple.com>
3192 Windows part of <rdar://problem/5647034>
3193 Media tests crash if an old version of QuickTime is installed
3195 Check QuickTime version on Windows too.
3197 * platform/graphics/MediaPlayer.cpp:
3198 (WebCore::MediaPlayer::isAvailable):
3199 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3200 (WebCore::MediaPlayerPrivate::isAvailable):
3201 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3202 (WebCore::MediaPlayerPrivate::isAvailable):
3203 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3204 * platform/graphics/win/QTMovieWin.cpp:
3205 (QTMovieWin::initializeQuickTime):
3207 2008-01-04 Darin Adler <darin@apple.com>
3209 Reviewed by Maciej and Alice.
3211 - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com)
3213 Test: fast/images/border.html
3215 * html/HTMLImageElement.cpp:
3216 (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases
3217 where the border value is not a number to use the value "0" for the border width instead
3218 of not setting the border width and style at all. This matches other browsers, and makes
3221 2008-01-04 Antti Koivisto <antti@apple.com>
3223 Try to fix 64-bit build
3225 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3226 (WebCore::MediaPlayerPrivate::isAvailable):
3228 2008-01-04 Stephanie <slewis@apple.com>
3232 WARNING: NO TEST CASES ADDED OR CHANGED
3234 Fix another stringImpl leak.
3236 * platform/text/StringImpl.cpp: remove an extra allocation
3237 (WebCore::StringImpl::StringImpl):
3239 2008-01-04 Alice Liu <alice.liu@apple.com>
3243 * platform/graphics/win/FontCacheWin.cpp:
3244 fix loop condition that was causing crash
3246 2008-01-04 Timothy Hatcher <timothy@apple.com>
3248 Reviewed by Adam Roben.
3250 <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector
3252 * page/inspector/inspector.css: Remove styles related to the toggle button
3253 and make the area always visible.
3254 * page/inspector/inspector.html: Remove the toggle button.
3255 * page/inspector/inspector.js: Remove code to toggle the status area.
3257 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
3259 Reviewed by Adam Roben.
3261 Temporarily restore BackwardDelete for Windows nightlies to work correctly.
3263 * editing/EditorCommand.cpp: (WebCore::CommandEntry::):
3265 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
3269 <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
3271 Enable the fix on Windows.
3273 * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString):
3274 Always set a custom sort function, even if it doesn't implement proper collation on the platform.
3276 * xml/XSLTUnicodeSort.cpp:
3277 (WebCore::xsltUnicodeSortFunction):
3278 * xml/XSLTUnicodeSort.h:
3279 If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison.
3281 2008-01-04 Antti Koivisto <antti@apple.com>
3285 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3287 2008-01-04 Antti Koivisto <antti@apple.com>
3291 Partial fix for <rdar://problem/5647034>
3292 Media tests crash if an old version of QuickTime is installed
3294 Disable media support if QuickTime is not current enough (>=7.3).
3296 Windows patch coming soon.
3298 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3299 (WebCore::createJSHTMLWrapper):
3300 * bindings/js/kjs_window.cpp:
3301 (KJS::Window::getValueProperty):
3302 * html/HTMLElementFactory.cpp:
3303 (WebCore::audioConstructor):
3304 (WebCore::videoConstructor):
3305 (WebCore::sourceConstructor):
3306 * platform/graphics/MediaPlayer.cpp:
3307 (WebCore::MediaPlayer::isAvailable):
3308 * platform/graphics/MediaPlayer.h:
3309 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3310 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3311 (WebCore::MediaPlayerPrivate::isAvailable):
3313 2008-01-04 Timothy Hatcher <timothy@apple.com>
3315 Reviewed by Darin Adler.
3317 <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011)
3319 Check if the property is a getter before asking for the value.
3320 If the property is a getter, we no longer show the value.
3322 * page/inspector/PropertiesSidebarPane.js:
3323 * page/inspector/inspector.css:
3325 2008-01-04 Dan Bernstein <mitz@apple.com>
3327 Reviewed by Darin Adler.
3329 - fix synthetic bold and italic on Windows
3331 Covered by an existing test.
3333 * platform/graphics/win/FontPlatformDataWin.cpp:
3334 (WebCore::FontPlatformData::FontPlatformData):
3336 2008-01-04 Alp Toker <alp@atoker.com>
3338 GTK+ autotools build fix. Terminate empty rules.
3342 2008-01-04 Lars Knoll <lars@trolltech.com>
3346 Remove most dependencies of Widget/ScrollView onto native QWidgets.
3348 This also brings the code closer in line with the Windows code. Seems
3349 to work nicely on first try :)
3351 * page/qt/FrameQt.cpp:
3352 (WebCore::Frame::createScriptInstanceForWidget):
3353 * platform/Widget.h:
3354 * platform/qt/PlatformScreenQt.cpp:
3355 (WebCore::screenDepth):
3356 (WebCore::screenDepthPerComponent):
3357 (WebCore::screenIsMonochrome):
3358 (WebCore::screenRect):
3359 * platform/qt/PlatformScrollBarQt.cpp:
3360 (WebCore::PlatformScrollbar::thumbPosition):
3361 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
3362 * platform/qt/ScrollViewQt.cpp:
3363 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3364 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3365 (WebCore::ScrollView::updateContents):
3366 (WebCore::ScrollView::update):
3367 (WebCore::ScrollView::scrollRectIntoViewRecursively):
3368 (WebCore::ScrollView::updateScrollbars):
3369 (WebCore::ScrollView::addChild):
3370 (WebCore::ScrollView::removeChild):
3371 (WebCore::ScrollView::paint):
3372 * platform/qt/WidgetQt.cpp:
3373 (WebCore::WidgetPrivate::WidgetPrivate):
3374 (WebCore::WidgetPrivate::~WidgetPrivate):
3375 (WebCore::Widget::frameGeometry):
3376 (WebCore::Widget::setFrameGeometry):
3377 (WebCore::Widget::setCursor):
3378 (WebCore::Widget::show):
3379 (WebCore::Widget::hide):
3380 (WebCore::Widget::nativeWidget):
3381 (WebCore::Widget::setNativeWidget):
3382 (WebCore::Widget::suppressInvalidation):
3383 (WebCore::Widget::setSuppressInvalidation):
3384 (WebCore::Widget::invalidateRect):
3385 (WebCore::Widget::topLevel):
3386 (WebCore::Widget::containingWindow):
3388 2008-01-04 Lars Knoll <lars@trolltech.com>
3392 make QWebPage a QObject and get things to compile.
3394 Nothing works currently though.
3396 * platform/qt/ScrollViewQt.cpp:
3397 (WebCore::ScrollView::updateContents):
3398 (WebCore::ScrollView::update):
3399 * platform/qt/WidgetQt.cpp:
3400 (WebCore::Widget::qwidget):
3401 (WebCore::Widget::invalidateRect):
3403 2008-01-04 Alp Toker <alp@atoker.com>
3405 Reviewed by Mark Rowe.
3407 http://bugs.webkit.org/show_bug.cgi?id=16667
3408 make -j is failing with the autotools based system
3410 Support parallel code generation. Nearly every use of explicit
3411 multiple targets was a potential concurrency bug, though in practice
3412 the bison rules were the first to be noticed because they took longer
3413 to complete and broke the build immediately.
3417 2008-01-04 Alp Toker <alp@atoker.com>
3419 Reviewed by Mark Rowe.
3421 Re-use a single static dummy surface rather than creating and
3422 destroying a surface for each CairoPath.
3424 * platform/graphics/cairo/CairoPath.h:
3425 (WebCore::CairoPath::CairoPath):
3427 2008-01-04 Mark Rowe <mrowe@apple.com>
3431 * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger.
3433 2008-01-03 Mark Rowe <mrowe@apple.com>
3435 Reviewed by Maciej Stachowiak.
3437 Use platform-provided atomic operations in place of inline assembly to
3438 increase portability.
3440 * platform/Threading.h:
3441 (WebCore::atomicIncrement):
3442 (WebCore::atomicDecrement):
3444 2008-01-03 Oliver Hunt <oliver@apple.com>
3448 Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example)
3450 We need to cache the absolute bounds of the <image>,
3451 as there's no reliable way to recompute the old bounding
3452 box one we have started layout.
3454 * rendering/RenderSVGImage.cpp:
3455 (WebCore::RenderSVGImage::layout):
3456 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3457 * rendering/RenderSVGImage.h:
3459 2008-01-03 Alp Toker <alp@atoker.com>
3461 Reviewed by Mark Rowe.
3463 Support building in Scratchbox, which has a version of make that fails
3464 on wildcard syntax. Use a vpath to match IDL files instead.
3468 2008-01-03 Jon Honeycutt <jhoneycutt@apple.com>
3472 <rdar://problem/5504775> PDF page will not load first time after Adobe
3473 Reader install, unless browser is relaunched
3475 Refresh and re-search the plugin database if the MIME type is not
3478 * plugins/win/PluginDatabaseWin.cpp:
3479 (WebCore::PluginDatabaseWin::isMIMETypeRegistered):
3480 * plugins/win/PluginDatabaseWin.h:
3482 2008-01-03 Dan Bernstein <mitz@apple.com>
3484 Reviewed by Darin Adler.
3486 - fix http://bugs.webkit.org/show_bug.cgi?id=16548
3487 <rdar://problem/5659452> REGRESSION(r28810): Font style and sizes are weird for Japanese text
3489 * platform/graphics/win/FontCacheWin.cpp:
3490 (WebCore::linkedFontEnumProc): Added. This callback is used to fetch
3491 a valid LOGFONT for a given family.
3492 (WebCore::getLinkedFonts): Added. Returns a vector of font families
3493 linked to the given font family by the Windows registry key
3494 HKLM\Software\...\FontLink\SystemLink. The registry values typically
3495 differ based on the installed language version of Windows.
3496 (WebCore::FontCache::getFontDataForCharacters): Changed to not use MLang
3497 font mapping, which is Windows code page based, except for characters in
3498 the range U+2000..U+200F. Instead, this function gets the font Uniscribe
3499 would use for the character. However, that font might not actually
3500 contain the character, in which case GDI font linking would substitute a
3501 different font. Therefore, this function walks the linked font list
3502 until it finds a font that actually contains the character.
3504 2008-01-03 Darin Adler <darin@apple.com>
3508 - fix http://bugs.webkit.org/show_bug.cgi?id=16723
3509 tables/mozilla/bugs/bug30418.html test failing due to problems updating dynamic border rules
3511 Test: fast/table/border-changes.html
3513 * html/HTMLTableElement.h:
3514 * html/HTMLTableElement.cpp:
3515 (WebCore::HTMLTableElement::parseMappedAttribute): Check the border type before and after
3516 parsing attributes, rather than doing this only for the rules attribute.
3517 (WebCore::HTMLTableElement::cellBorders): Added.
3518 (WebCore::HTMLTableElement::getSharedCellDecl): Changed to use cellBorders to factor out the
3519 rule about what type of borders to use.
3521 2008-01-02 Sam Weinig <sam@webkit.org>
3525 Pass the prototype of WebCore JS objects up the constructor chain
3526 rather than explicitly setting using setPrototype. This removes many
3527 redundant settings of the prototype on construction. To avoid a CG
3528 hazard, the prototype must be constructed before calling the
3529 constructor of the JS object.
3531 - JS objects that inherit from DOMObject, which all bindings objects
3532 (except Window) do, now can't implicitly have a jsNull prototype, but
3533 must explicitly pass it up the construction chain.
3535 * bindings/js/JSCSSRuleCustom.cpp:
3537 * bindings/js/JSCSSValueCustom.cpp:
3539 * bindings/js/JSDocumentCustom.cpp:
3541 * bindings/js/JSEventCustom.cpp:
3543 * bindings/js/JSEventTargetNode.cpp:
3544 (WebCore::JSEventTargetNode::JSEventTargetNode):
3545 * bindings/js/JSEventTargetNode.h:
3546 * bindings/js/JSHTMLAllCollection.h:
3547 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
3548 * bindings/js/JSHTMLAudioElementConstructor.cpp:
3549 (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
3550 * bindings/js/JSHTMLCollectionCustom.cpp:
3551 (WebCore::getNamedItems):
3553 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3554 (WebCore::createJSHTMLWrapper):
3555 * bindings/js/JSHTMLFormElementCustom.cpp:
3556 (WebCore::JSHTMLFormElement::nameGetter):
3557 * bindings/js/JSHTMLInputElementBase.cpp:
3558 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
3559 * bindings/js/JSHTMLInputElementBase.h:
3560 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3561 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3562 * bindings/js/JSLocation.cpp:
3563 (WebCore::JSLocation::JSLocation):
3564 * bindings/js/JSLocation.h:
3565 * bindings/js/JSNamedNodesCollection.cpp:
3566 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
3567 * bindings/js/JSNamedNodesCollection.h:
3568 * bindings/js/JSNodeCustom.cpp:
3570 * bindings/js/JSSVGElementWrapperFactory.cpp:
3571 (WebCore::createJSSVGWrapper):
3572 * bindings/js/JSSVGPathSegCustom.cpp:
3574 * bindings/js/JSStyleSheetCustom.cpp:
3576 * bindings/js/JSXMLHttpRequest.cpp:
3577 (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
3578 (KJS::JSXMLHttpRequestConstructorImp::construct):
3579 (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
3580 * bindings/js/JSXMLHttpRequest.h:
3581 * bindings/js/JSXSLTProcessor.cpp:
3582 (KJS::JSXSLTProcessor::JSXSLTProcessor):
3583 (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
3584 (KJS::XSLTProcessorConstructorImp::implementsConstruct):
3585 (KJS::XSLTProcessorConstructorImp::construct):
3586 * bindings/js/JSXSLTProcessor.h:
3587 * bindings/js/kjs_binding.h:
3588 (KJS::DOMObject::DOMObject):
3589 (KJS::cacheDOMObject):
3590 (KJS::cacheSVGDOMObject):
3591 * bindings/js/kjs_css.cpp:
3592 (WebCore::JSRGBColor::JSRGBColor):
3593 (WebCore::getJSRGBColor):
3594 * bindings/js/kjs_css.h:
3595 * bindings/js/kjs_events.cpp:
3596 (WebCore::JSClipboard::JSClipboard):
3598 * bindings/js/kjs_events.h:
3599 * bindings/js/kjs_html.cpp:
3600 (WebCore::ImageConstructorImp::ImageConstructorImp):
3601 * bindings/js/kjs_navigator.cpp:
3602 (KJS::Navigator::Navigator):
3603 (KJS::PluginBase::PluginBase):
3604 * bindings/js/kjs_navigator.h:
3605 * bindings/js/kjs_window.cpp:
3606 (KJS::Window::Window):
3607 (KJS::Window::location):
3608 (KJS::Window::getValueProperty):
3609 * bindings/js/kjs_window.h:
3610 * bindings/scripts/CodeGeneratorJS.pm:
3612 2008-01-03 Holger Hans Peter Freyther <zecke@selfish.org>
3616 -This is from http://bugs.webkit.org/show_bug.cgi?id=16115
3618 Change the Gtk ContextMenuItem code to generate the GtkMenuItem
3619 or GtkCheckMenuItem on the fly. Currently we will create a
3620 GtkCheckMenuItem if the ContextMenuItem has been checked. What needs
3621 to be done is to change WebCore to tell the platform code if an item
3622 is checkable or not.
3624 * platform/ContextMenuItem.h:
3625 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
3626 * platform/gtk/ContextMenuGtk.cpp:
3627 (WebCore::ContextMenu::appendItem):
3628 * platform/gtk/ContextMenuItemGtk.cpp:
3629 (WebCore::ContextMenuItem::ContextMenuItem):
3630 (WebCore::ContextMenuItem::~ContextMenuItem):
3631 (WebCore::ContextMenuItem::createNativeMenuItem):
3632 (WebCore::ContextMenuItem::releasePlatformDescription):
3633 (WebCore::ContextMenuItem::type):
3634 (WebCore::ContextMenuItem::setType):
3635 (WebCore::ContextMenuItem::action):
3636 (WebCore::ContextMenuItem::setAction):
3637 (WebCore::ContextMenuItem::platformSubMenu):
3638 (WebCore::ContextMenuItem::setSubMenu):
3639 (WebCore::ContextMenuItem::setChecked):
3641 2008-01-03 Dan Bernstein <mitz@apple.com>
3643 Rubber-stamped by Adam Roben.
3645 - update the project hierarchy to match the on-disk organization of
3646 the platform directory.
3648 * WebCore.vcproj/WebCore.vcproj:
3650 2008-01-03 Adam Roben <aroben@apple.com>
3652 Fix a buffer overrun and a leak introduced in r29098
3656 * platform/text/StringImpl.cpp:
3657 (WebCore::StringImpl::StringImpl): Only allocate one buffer, and make
3658 it be big enough to hold the string contents plus the null terminator.
3660 2008-01-03 Simon Hausmann <hausmann@webkit.org>
3664 Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame.
3668 2008-01-03 Alp Toker <alp@atoker.com>
3670 Suggested by Mark Rowe.
3672 Fix indentation and remove trailing whitespace.
3674 * platform/network/curl/ResourceHandleManager.cpp:
3676 2008-01-03 Luca Bruno <lethalman88@gmail.com>
3678 Reviewed by Alp Toker.
3680 Fix HTTP POST-based logins to sites like Facebook, GMail by ensuring
3681 that the two POST methods don't conflict.
3683 * platform/network/curl/ResourceHandleManager.cpp:
3684 (WebCore::ResourceHandleManager::setupPOST):
3686 2008-01-02 Darin Adler <darin@apple.com>
3688 - touched some files to try to get the Windows buildbot building again
3690 2008-01-02 Dan Bernstein <mitz@apple.com>
3692 Reviewed by Sam Weinig.
3694 - fix small caps rendering
3696 Covered by an existing test.
3698 * platform/graphics/win/FontDataWin.cpp:
3699 (WebCore::FontData::smallCapsFontData):
3701 2008-01-02 Antti Koivisto <antti@apple.com>
3705 Calculate video position and size within the renderer box in WebCore. This
3706 way the aspect ratio calculation is not needed in each MediaPlayer implementation.
3708 This fixes video aspect ratio on Windows.
3710 Covered by an existing pixel test.
3712 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3713 (WebCore::MediaPlayerPrivate::createQTMovieView):
3714 * rendering/RenderVideo.cpp:
3715 (WebCore::RenderVideo::videoBox):
3716 (WebCore::RenderVideo::paintReplaced):
3717 (WebCore::RenderVideo::updatePlayer):
3718 * rendering/RenderVideo.h:
3720 2008-01-02 Ada Chan <adachan@apple.com>
3724 * WebCore.vcproj/WebCore.vcproj:
3726 2008-01-02 John Sullivan <sullivan@apple.com>
3728 Reviewed by Dan Bernstein
3730 - fixed <rdar://problem/5579010> REGRESSION: Safari inserts newlines in tab names when U+2028 is present
3732 * loader/DocumentLoader.cpp:
3733 (WebCore::canonicalizedTitle):
3734 in the code that replaces control characters with white space, also replace the unicode line separator
3735 and paragraph separator characters
3737 2008-01-02 Darin Adler <darin@apple.com>
3739 - fix buffer overruns seen on buildbot
3741 * platform/text/StringImpl.cpp:
3742 (WebCore::countCharacter): Added this.
3743 (WebCore::StringImpl::toCoordsArray): Use countCharacter instead of incorrect find expression.
3744 (WebCore::StringImpl::toLengthArray): Ditto.
3745 (WebCore::StringImpl::replace): Added assertions.
3747 2008-01-02 Darin Adler <darin@apple.com>
3751 - fix http://bugs.webkit.org/show_bug.cgi?id=16657
3752 Acid3 failure since table.caption and table.thead do not work for nodes added by appendChild
3753 - fix http://bugs.webkit.org/show_bug.cgi?id=16659
3754 Acid3 expects HTMLTableElement.rows to include a <tr> element that is an immediate child of the <table>
3756 Tests: dom/html/level2/html/HTMLCollection07.html
3757 dom/html/level2/html/HTMLCollection08.html
3758 dom/html/level2/xhtml/HTMLCollection07.xhtml
3759 dom/html/level2/xhtml/HTMLCollection08.xhtml
3760 fast/dom/HTMLTableElement/early-acid3-65-excerpt.html
3761 fast/dom/HTMLTableElement/early-acid3-66-excerpt.html
3763 * GNUmakefile.am: Added HTMLTableRowsCollection.
3764 * WebCore.pro: Ditto.
3765 * WebCore.vcproj/WebCore.vcproj: Ditto.
3766 * WebCore.xcodeproj/project.pbxproj: Ditto.
3767 * WebCoreSources.bkl: Ditto.
3769 * dom/XMLTokenizer.cpp: Took out stray include.
3771 * html/HTMLCollection.cpp:
3772 (WebCore::HTMLCollection::itemAfter): Removed all the table rows code, since we now use
3773 a separate class for that collection. Also got rid of the distinct types for custom collections
3774 that don't need them (use Other for both).
3775 * html/HTMLCollection.h: Also made firstItem non-virtual because it doesn't need to be virtual.
3777 * html/HTMLFormCollection.cpp:
3778 (WebCore::HTMLFormCollection::HTMLFormCollection): Use Other instead of FormElements
3779 for the HTMLCollection type.
3781 * html/HTMLTableElement.cpp:
3782 (WebCore::HTMLTableElement::HTMLTableElement): Eliminated m_head, m_foot, m_firstBody, and m_caption.
3783 (WebCore::HTMLTableElement::caption): Added non-inline version. Finds the caption rather than
3784 keeping a pointer to it.
3785 (WebCore::HTMLTableElement::setCaption): Rewrote.
3786 (WebCore::HTMLTableElement::tHead): Ditto.
3787 (WebCore::HTMLTableElement::setTHead): Ditto.
3788 (WebCore::HTMLTableElement::tFoot): Ditto.
3789 (WebCore::HTMLTableElement::setTFoot): Ditto.
3790 (WebCore::HTMLTableElement::createTHead): Ditto.
3791 (WebCore::HTMLTableElement::deleteTHead): Ditto.
3792 (WebCore::HTMLTableElement::createTFoot): Ditto.
3793 (WebCore::HTMLTableElement::deleteTFoot): Ditto.
3794 (WebCore::HTMLTableElement::createCaption): Ditto.
3795 (WebCore::HTMLTableElement::deleteCaption): Ditto.
3796 (WebCore::HTMLTableElement::lastBody): Added.
3797 (WebCore::HTMLTableElement::insertRow): Rewrote to use a loop based on code in HTMLTableRowsCollection.
3798 This is different from the old code mainly in how it handles rows outside any section.
3799 (WebCore::HTMLTableElement::deleteRow): Ditto.
3800 (WebCore::HTMLTableElement::addChild): Removed code to set the various members. Keeping pointers to
3801 these was a possible source of serious bugs too, including crashes with stale pointers, although I
3802 didn't write any test cases to prove those bugs existed.
3803 (WebCore::HTMLTableElement::parseMappedAttribute): Changed the rules code to visit all cells, not
3804 just the cells of the first body. I believe this fixed rendering on some table tests. I think the code
3805 visits too many cells and also the use of recursion is overkill, but I didn't try to fix that.
3806 (WebCore::HTMLTableElement::rows): Changed to use the new HTMLTableRowsCollection.
3807 * html/HTMLTableElement.h: Changed functions to return PassRefPtr, which can be important if strange
3808 things like DOM mutation events take things ot of the tree before they are safely referenced by
3809 JavaScript wrappers. Also changed functions to take PassRefPtr and added exceptions. Removed unneeded
3810 firstTBody and setTBody functions and childrenChanged function override, as well as unused Rules and
3811 Frame enums. Removed m_head, m_foot, m_firstBody, and m_caption, and added lastBody function. Removed
3812 unneeded friend declaration for HTMLTableCellElement.
3813 * html/HTMLTableElement.idl: Allow the setteres for caption, tHead, and tFoot to raise exceptions.
3815 * html/HTMLTableRowsCollection.cpp: Added. Implements the HTML 5 rule for which rows are in the
3816 collection in which order.
3817 * html/HTMLTableRowsCollection.h: Added.
3819 * loader/FTPDirectoryDocument.cpp:
3820 (WebCore::FTPDirectoryTokenizer::appendEntry): Use the standard insertRow function instead of
3821 coming up with our own way of inserting a row. Simplifies things -- we can remove the code to
3822 create a tbody element.
3824 2008-01-02 Darin Adler <darin@apple.com>
3826 Reviewed by Alice and Tim.
3828 - try to fix GTK and Qt builds
3830 * platform/win/ScrollViewWin.cpp:
3831 (WebCore::ScrollView::scroll): Improve logic slightly for the case of
3832 vertical scrolling when there's no vertical scroll bar.
3834 * platform/gtk/ScrollViewGtk.cpp:
3835 (WebCore::ScrollView::scroll): Copy the code from Windows. Maybe this
3836 should be factored differently.
3837 * platform/qt/ScrollViewQt.cpp:
3838 (WebCore::ScrollView::scroll): Ditto.
3840 2008-01-02 Darin Adler <darin@apple.com>
3844 - http://bugs.webkit.org/show_bug.cgi?id=16712
3845 change StringImpl to take and return PassRefPtr instead of raw pointers
3847 Also eliminated use of const StringImpl. Since StringImpl is immutable there
3848 is no distinction between a const and non-const one at the moment.
3850 * WebCore.base.exp: Updated.
3852 * css/CSSHelper.cpp:
3853 (WebCore::parseURL): Make String directly, not by making a StringImpl.
3855 (WebCore::Attr::createTextChild): Convert AtomicString to String with domString,
3857 (WebCore::Attr::setValue): Remove unneed call to impl() when passing a String
3858 to a function that takes a String.
3860 * dom/CDATASection.cpp: Removed unused constructor.
3861 (WebCore::CDATASection::cloneNode): Added a now-needed .get().
3862 (WebCore::CDATASection::createNew): Changed function to take a PassRefPtr.
3863 * dom/CDATASection.h:
3865 * dom/CharacterData.cpp:
3866 (WebCore::CharacterData::CharacterData): Removed unneeded initialization and
3867 ref() now that the string is a RefPtr. Also updated to not call "new StringImpl".
3868 (WebCore::CharacterData::~CharacterData): Removed unneeded deref() since it's
3870 (WebCore::CharacterData::setData): More of that.
3871 (WebCore::CharacterData::substringData): Ditto.
3872 (WebCore::CharacterData::appendData): Ditto.
3873 (WebCore::CharacterData::insertData): Ditto.
3874 (WebCore::CharacterData::deleteData): Ditto.
3875 (WebCore::CharacterData::replaceData): Ditto.
3876 (WebCore::CharacterData::nodeValue): Ditto.
3877 (WebCore::CharacterData::dispatchModifiedEvent): Ditto.
3878 (WebCore::CharacterData::dump): Ditto.
3879 * dom/CharacterData.h: Changed to use a RefPtr. I could have used a String
3880 instead, but since String adds extra branches to handle 0, I figured it was
3881 more conservative to just use RefPtr. Later it would be good to figure out
3882 which is preferred style and be more consistent. Maybe we'll phase out
3883 StringImpl, or maybe we'll go the other way and use it more since it can be
3886 * dom/DOMImplementation.cpp:
3887 (WebCore::addString): Changed set to use String rather than StringImpl.
3888 (WebCore::isSVG10Feature): Ditto.
3889 (WebCore::isSVG11Feature): Ditto.
3890 (WebCore::DOMImplementation::createDocument): Replaced custom code to
3891 find a colon with a call to String::find.
3894 (WebCore::Range::insertNode): Updated since the result of splitText is now
3898 (WebCore::Text::splitText): Updated since str is now a RefPtr. Also made the
3899 result of this function be a PassRefPtr.
3900 (WebCore::Text::createRenderer): Ditto.
3901 (WebCore::Text::createNew): Made the parameter and result both be PassRefPtr.
3904 * html/HTMLElement.cpp:
3905 (WebCore::HTMLElement::nodeName): Use String::upper.
3907 * html/HTMLInputElement.cpp:
3908 (WebCore::numGraphemeClusters): Remove now-unneeded const.
3909 (WebCore::numCharactersInGraphemeClusters): Ditto.
3911 * html/HTMLTokenizer.cpp:
3912 (WebCore::HTMLTokenizer::processToken): Updated for function name change.
3914 * platform/text/AtomicString.cpp:
3915 (WebCore::CStringTranslator::translate): Updated since there is no longer
3916 a constructor that takes a string.
3918 * platform/text/PlatformString.h: Added new constructors that take
3919 PassRefPtr and RefPtr. Removed misleading comment.
3921 * platform/text/String.cpp:
3922 (WebCore::String::String): Changed to use StringImpl::create, which handles
3923 the empty string automatically.
3924 (WebCore::String::append): Ditto.
3925 (WebCore::String::charactersWithNullTermination): Similar.
3926 (WebCore::String::format): Ditto.
3928 * platform/text/StringHash.h: Took out unneeded const.
3930 * platform/text/StringImpl.cpp:
3931 (WebCore::deleteUCharVector): Changed to take a const pointer since the
3932 buffers are now const UChar buffers.
3933 (WebCore::StringImpl::StringImpl): Removed some constructors. Got rid of the
3934 separate init functions. The constructors are now private and used only in
3935 the create functions and one or two other places.
3936 (WebCore::StringImpl::containsOnlyWhitespace): Removed now-meaningless const.
3937 (WebCore::StringImpl::substring): Ditto. Also changed return value to be a
3939 (WebCore::StringImpl::characterStartingAt): Ditto.
3940 (WebCore::StringImpl::toLength): Ditto.
3941 (WebCore::StringImpl::toCoordsArray): Ditto.
3942 (WebCore::StringImpl::toLengthArray): Ditto.
3943 (WebCore::StringImpl::isLower): Ditto.
3944 (WebCore::StringImpl::lower): Ditto. Changed to use Vector and adopt so we
3945 don't have to use new directly here. Makes empty string handling more consistent.
3946 (WebCore::StringImpl::upper): Ditto.
3947 (WebCore::StringImpl::secure): Ditto.
3948 (WebCore::StringImpl::foldCase): Ditto.
3949 (WebCore::StringImpl::stripWhiteSpace): Ditto.
3950 (WebCore::StringImpl::simplifyWhiteSpace): Ditto.
3951 (WebCore::StringImpl::capitalize): Ditto.
3952 (WebCore::StringImpl::toInt): Removed now-meaningless const.
3953 (WebCore::StringImpl::toInt64): Ditto.
3954 (WebCore::StringImpl::toUInt64): Ditto.
3955 (WebCore::StringImpl::toDouble): Ditto.
3956 (WebCore::StringImpl::toFloat): Ditto.
3957 (WebCore::StringImpl::find): Ditto.
3958 (WebCore::StringImpl::reverseFind): Ditto.
3959 (WebCore::StringImpl::endsWith): Ditto.
3960 (WebCore::StringImpl::replace): Ditto.
3961 (WebCore::equal): Ditto.
3962 (WebCore::equalIgnoringCase): Ditto.
3963 (WebCore::StringImpl::ascii): Ditto.
3964 (WebCore::StringImpl::defaultWritingDirection): Ditto.
3965 (WebCore::StringImpl::createStrippingNullCharacters): Ditto.
3966 (WebCore::StringImpl::adopt): Added special case so this uses the shared
3967 empty string like other functions. Also optimized the common case where the
3968 vector happens to already have the right size so we don't do a fastRealloc
3969 at all in those cases.
3970 (WebCore::StringImpl::create): Added. These are now the public functions for
3971 creating new StringImpl objects. They all implement the shared empty string.
3972 (WebCore::StringImpl::createWithTerminatingNullCharacter):
3973 * platform/text/StringImpl.h:
3975 * platform/text/cf/StringCF.cpp:
3976 (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
3977 * platform/text/cf/StringImplCF.cpp:
3978 (WebCore::StringImpl::createCFString): Removed now-obsolete const.
3979 * platform/text/mac/StringImplMac.mm:
3980 (WebCore::StringImpl::operator NSString *): Ditto.
3981 * platform/text/mac/StringMac.mm:
3982 (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
3983 * platform/text/qt/StringQt.cpp:
3984 (WebCore::String::String): Ditto.
3985 * platform/text/wx/StringWx.cpp:
3986 (WebCore::String::String): Ditto.
3987 * rendering/RenderBR.cpp:
3988 (WebCore::RenderBR::RenderBR): Ditto.
3990 * rendering/RenderSVGInlineText.cpp:
3991 (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use PassRefPtr.
3992 * rendering/RenderSVGInlineText.h:
3994 * rendering/RenderText.cpp:
3995 (WebCore::charactersAreAllASCII): Removed now-unneeded const.
3996 * rendering/RenderTextFragment.cpp:
3997 (WebCore::RenderTextFragment::originalText): Use RefPtr.
3999 2008-01-02 Timothy Hatcher <timothy@apple.com>
4001 Reviewed by Oliver Hunt.
4003 <rdar://problem/5618086> WebInspector does not expand the DOM tree after being closed
4005 Closing the Web Inspector causes the DOM tree outline to be torn down, clearing the
4006 internal element lookup tables. The represented DOM node object still holds the identifier
4007 it was assigned, and a later call to findTreeElement will use that original identifier
4008 against a cleared lookup table. In that case we need to fallback on DOM ancestor lookup.
4010 * page/inspector/treeoutline.js:
4011 (TreeOutline.prototype.findTreeElement): If the DOM node already had a __treeElementIdentifier,
4012 but the TreeOutline no longer has the element in the _knownTreeElements list do an ancestor lookup
4013 instead of an early return.
4015 2008-01-02 Alice Liu <alice.liu@apple.com>
4019 Fixed <rdar://5283861> (problems scrolling in gmail message content area)
4021 * platform/ScrollView.h:
4022 * platform/win/ScrollViewWin.cpp:
4023 (WebCore::ScrollView::scroll):
4024 Changed return value to bool to reflect success of scroll attempt
4026 2008-01-02 Alexey Proskuryakov <ap@webkit.org>
4028 Fixed a typo (pointed out in review, but I somehow missed it at first).
4030 * editing/EditorCommand.cpp: (WebCore::executeDelete):
4032 2008-01-02 Alexey Proskuryakov <ap@webkit.org>
4036 Resolved several FIXMEs in EditorCommand.
4037 Made recently added commands hidden from JS again.
4038 Removed BackwardDelete implementation, which used to be dead code, but got exposed now.
4040 Tests: editing/execCommand/delete-no-scroll.html
4041 editing/execCommand/forward-delete-no-scroll.html
4042 editing/execCommand/insert-line-break-no-scroll.html
4044 * editing/EditorCommand.cpp:
4045 (WebCore::executeDelete):
4046 (WebCore::executeForwardDelete):
4047 (WebCore::executeInsertLineBreak):
4048 (WebCore::supportedFromMenuOrKeyBinding):
4049 (WebCore::CommandEntry::):
4051 2008-01-02 Alexey Proskuryakov <ap@webkit.org>
4055 http://bugs.webkit.org/show_bug.cgi?id=14555
4056 action=mailto + method=get - The generated mailto URI is incorrect and the hvalues are encoded twice
4058 http://bugs.webkit.org/show_bug.cgi?id=14774
4059 Submitted data only includes first input item
4061 Reworked encoding of mailto URLs to match other browsers.
4062 Moved most of related logic from FrameLoader::submitForm() to HTMLFormElement::submit().
4064 Tests: fast/forms/mailto/advanced-get.html
4065 fast/forms/mailto/advanced-put.html
4066 fast/forms/mailto/get-multiple-items-text-plain.html
4067 fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html
4068 fast/forms/mailto/get-multiple-items.html
4069 fast/forms/mailto/get-non-ascii.html
4070 fast/forms/mailto/get-non-ascii-text-plain.html
4071 fast/forms/mailto/get-overwrite-query.html
4072 fast/forms/mailto/post-append-query.html
4073 fast/forms/mailto/post-multiple-items-multipart-form-data.html
4074 fast/forms/mailto/post-multiple-items-text-plain.html
4075 fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html
4076 fast/forms/mailto/post-multiple-items.html
4078 * html/HTMLFormElement.cpp:
4079 (WebCore::HTMLFormElement::submit):
4080 * loader/FrameLoader.cpp:
4081 (WebCore::FrameLoader::submitForm):
4083 2008-01-02 Mark Rowe <mrowe@apple.com>
4085 Autotools build fix.
4087 * GNUmakefile.am: Remove files before generating them, not after.
4089 2008-01-02 Mark Rowe <mrowe@apple.com>
4091 Rubber-stamped by Alp Toker.
4093 Add missing dependencies to some GNUmakefile.am rules.
4097 2008-01-02 Mark Rowe <mrowe@apple.com>
4099 Reviewed by Alp Toker.
4101 Autotools build fix. Make can expand $@ to any of the targets for the rule,
4102 while we always want to use the name of the .cpp file as the output file.
4106 2008-01-02 Luca Bruno <lethalman88@gmail.com>
4108 Reviewed by Alp Toker.
4110 http://bugs.webkit.org/show_bug.cgi?id=16115
4111 [GTK] ContextMenu and ContextMenuItem lacks an implementation
4113 Add context menu support.
4115 Based on a patch by Holger Freyther.
4117 * platform/gtk/ContextMenuGtk.cpp:
4118 (WebCore::menuItemActivated):
4119 (WebCore::ContextMenu::ContextMenu):
4120 (WebCore::ContextMenu::~ContextMenu):
4121 (WebCore::ContextMenu::appendItem):
4122 (WebCore::ContextMenu::setPlatformDescription):
4123 (WebCore::ContextMenu::releasePlatformDescription):
4124 * platform/gtk/ContextMenuItemGtk.cpp:
4125 (WebCore::ContextMenuItem::ContextMenuItem):
4126 (WebCore::ContextMenuItem::~ContextMenuItem):
4127 (WebCore::ContextMenuItem::releasePlatformDescription):
4128 (WebCore::ContextMenuItem::type):
4129 (WebCore::ContextMenuItem::action):
4130 (WebCore::ContextMenuItem::setAction):
4131 (WebCore::ContextMenuItem::platformSubMenu):
4132 (WebCore::ContextMenuItem::setSubMenu):
4133 (WebCore::ContextMenuItem::setChecked):
4134 (WebCore::ContextMenuItem::setEnabled):
4136 2008-01-02 Alp Toker <alp@atoker.com>
4138 GTK+ autotools build fix. Track changes in r29073.
4142 2008-01-01 Darin Adler <darin@apple.com>
4146 * bindings/js/kjs_binding.cpp:
4147 (KJS::setDOMException): Initialize to avoid uninitialized variable warning.
4148 Removed default so we get a warning if there's a missing case.
4150 2008-01-01 David D. Kilzer <ddkilzer@webkit.org>
4152 Scripting MIME Types application/ecmascript, application/javascript not viewable
4153 <http://bugs.webkit.org/show_bug.cgi?id=11063>
4157 This patch consolidates the list of acceptable MIME types for JavaScript
4158 source into the MIMETypeRegistry class, and replaces checks for these
4159 types with a call to MIMETypeRegistry::isSupportedJavaScriptMIMEType().
4161 No tests added since viewing JavaScript source is not testable.
4163 * dom/DOMImplementation.cpp:
4164 (WebCore::DOMImplementation::isTextMIMEType): Use
4165 MIMETypeRegistry::isSupportedJavaScriptMIMEType() instead of a single
4166 hard-coded MIME type, "application/x-javascript".
4168 * html/HTMLScriptElement.cpp:
4169 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): Moved list of
4170 JavaScript MIME types from here to
4171 MIMETypeRegistry::initialiseSupportedJavaScriptMIMETypes().
4173 * platform/MIMETypeRegistry.cpp:
4174 (WebCore::initialiseSupportedJavaScriptMIMETypes): Added. List of
4175 MIME types came from HTMLScriptElement::shouldExecuteAsJavaScript().
4176 (WebCore::initialiseSupportedNonImageMimeTypes): Remove single
4177 hard-coded MIME type, "application/x-javascript", from the list.
4178 (WebCore::initialiseMIMETypeRegistry): Initialise
4179 supportedJavaScriptMIMETypes, then pre-populate supportedNonImageMIMETypes
4180 with values in supportedJavaScriptMIMETypes.
4181 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): Added.
4183 * platform/MIMETypeRegistry.h: Added isSupportedJavaScriptMIMEType().
4185 2008-01-01 Sam Weinig <sam@webkit.org>
4189 Patch for http://bugs.webkit.org/show_bug.cgi?id=16691
4190 Use real JS objects for the rest of the DOMExceptions (EventException, RangeException, etc)
4192 - Create JS objects for all the different types of exceptions, each with there own prototype and constructor.
4193 - Abstract all the logic and storage for exception classes in to an ExceptionBase class.
4194 - Move specialized ExceptionCodes into the exception classes. (ie. the EventExceptionCode enum is now in EventException).
4196 Tests: fast/dom/DOMException/EventException.html
4197 fast/dom/DOMException/RangeException.html
4198 fast/dom/DOMException/XPathException.html
4199 http/tests/xmlhttprequest/XMLHttpRequestException.html
4200 svg/custom/SVGException.html
4202 * DerivedSources.make:
4204 * WebCore.vcproj/WebCore.vcproj:
4205 * WebCore.xcodeproj/project.pbxproj:
4206 * WebCoreSources.bkl:
4207 * bindings/js/JSSVGMatrixCustom.cpp:
4208 (WebCore::JSSVGMatrix::inverse):
4209 (WebCore::JSSVGMatrix::rotateFromVector):
4210 * bindings/js/kjs_binding.cpp:
4211 (KJS::setDOMException):
4212 * bindings/scripts/CodeGeneratorJS.pm: Use the constant values defined
4213 in the IDL as the ObjC bindings do.
4214 * bindings/scripts/CodeGeneratorObjC.pm:
4215 * dom/DOMCoreException.cpp: Removed.
4216 * dom/DOMCoreException.h:
4217 (WebCore::DOMCoreException::DOMCoreException):
4218 * dom/DOMCoreException.idl:
4220 * dom/EventException.h: Copied from WebCore/dom/DOMCoreException.h.
4221 (WebCore::EventException::EventException):