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