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