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