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