Build fix.
[WebKit-https.git] / WebCore / ChangeLog
1 2007-12-12  Beth Dakin  <bdakin@apple.com>
2
3         Reviewed by Oliver.
4
5         Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs 
6         with width and height 100% clip to 300 x 150
7
8         Though it was correct in an earlier iteration of my patch, it is 
9         not sufficient in the final, committed version to ask if the 
10         relativeWidthValue() or relativeHeightValue() is greater than 0 
11         just to determine if one has been set, for, they are now 
12         initialized to 300 and 150 respectively! This patch instead adds a 
13         bool to keep track of whether a container size has been set, and 
14         only used the relative value if it has.
15
16         * rendering/RenderSVGRoot.cpp:
17         (WebCore::RenderSVGRoot::calcViewport):
18         * svg/SVGSVGElement.cpp:
19         (WebCore::SVGSVGElement::SVGSVGElement):
20         * svg/SVGSVGElement.h:
21         (WebCore::SVGSVGElement::setContainerSize):
22         (WebCore::SVGSVGElement::hasSetContainerSize):
23
24 2007-12-12  Brady Eidson  <beidson@apple.com>
25
26         Reviewed by Steve Falkenburg 
27
28         <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
29
30         * platform/network/ProtectionSpace.cpp:
31         (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
32
33 2007-12-12  Alp Toker  <alp@atoker.com>
34
35         Reviewed by Maciej.
36
37         http://bugs.webkit.org/show_bug.cgi?id=16388
38         [GTK] Widget::setCursor() gets called frequently
39
40         Cache the current cursor to avoid calling gdk_window_set_cursor() when
41         there's no change in cursor.
42
43         * platform/gtk/WidgetGtk.cpp:
44         (WebCore::Widget::Widget):
45         (WebCore::Widget::cursor):
46         (WebCore::Widget::setCursor):
47
48 2007-12-12  Rodney Dawes  <dobey@wayofthemonkey.com>
49
50         Reviewed by Maciej.
51
52         http://bugs.webkit.org/show_bug.cgi?id=16342
53         Build Warning and Error fixes in WebCore GTK+
54
55         Use C-style casts for casting function pointers to gpointer
56         Use static_cast<int> to cast a float to int to fix a warning
57
58         * platform/gtk/PlatformScrollBarGtk.cpp:
59         (PlatformScrollbar::PlatformScrollbar):
60         (PlatformScrollbar::~PlatformScrollbar):
61         (PlatformScrollbar::gtkValueChanged):
62         * platform/gtk/ThreadingGtk.cpp:
63         (callFunctionOnMainThread):
64         (callOnMainThread):
65
66 2007-12-12  Dan Bernstein  <mitz@apple.com>
67
68         Reviewed by Darin Adler.
69
70         - better fix for a crash when pressing a key that is not associated
71           with a command
72
73         * editing/EditorCommand.cpp:
74         (WebCore::Editor::command): Return the empty command if the command name
75         is empty.
76
77 2007-12-12  Alexey Proskuryakov  <ap@webkit.org>
78
79         Reviewed by Darin.
80
81         http://bugs.webkit.org/show_bug.cgi?id=16410
82         Implement isKeypadEvent() on Windows
83
84         Test: platform/win/fast/events/keyLocation-numpad.html
85
86         * platform/win/KeyEventWin.cpp:
87         (WebCore::isKeypadEvent): Added.
88         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
89
90 2007-12-12  Oliver Hunt  <oliver@apple.com>
91
92         Reviewed by Maciej.
93
94         <rdar://problem/5071781> window.mouseout events are not sent 
95         to window when mouse moves out of window 
96
97         Make PlatformMouseEvent recognise WM_MOUSELEAVE.
98
99         * platform/win/PlatformMouseEventWin.cpp:
100         (WebCore::messageToEventType):
101         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
102
103 2007-12-12  Sam Weinig  <sam@webkit.org>
104
105         Fix Mac release build.
106
107         * WebCore.base.exp:
108
109 2007-12-12  Sam Weinig  <sam@webkit.org>
110
111         Build fix for Qt, Gtk, and Wx.
112
113         * css/CSSParser.cpp:
114         (WebCore::CSSParser::parseValue):
115         * loader/win/FrameLoaderWin.cpp:
116         (WebCore::FrameLoader::urlSelected):
117         * platform/network/curl/ResourceHandleManager.cpp:
118         (WebCore::parseDataUrl):
119         (WebCore::ResourceHandleManager::startJob):
120         * platform/network/win/CookieJarWin.cpp:
121         (WebCore::setCookies):
122         (WebCore::cookies):
123         * platform/network/win/ResourceHandleWin.cpp:
124         (WebCore::ResourceHandle::start):
125         * platform/qt/PasteboardQt.cpp:
126         (WebCore::Pasteboard::writeURL):
127
128 2007-12-11  Dan Bernstein  <mitz@apple.com>
129
130         Reviewed by Maciej Stachowiak.
131
132         - allow non-integer font sizes on Windows for small caps
133
134         * platform/graphics/win/FontDataWin.cpp:
135         (WebCore::FontData::smallCapsFontData):
136         * platform/graphics/win/FontPlatformData.h:
137         (WebCore::FontPlatformData::size):
138         (WebCore::FontPlatformData::setSize):
139         * platform/graphics/win/FontPlatformDataWin.cpp:
140         (WebCore::FontPlatformData::FontPlatformData):
141
142 2007-12-11  Sam Weinig  <sam@webkit.org>
143
144         Build fix for Qt, Gtk, and Wx.
145
146         * platform/gtk/CookieJarGtk.cpp:
147         (WebCore::setCookies):
148         (WebCore::cookies):
149         * platform/qt/ClipboardQt.cpp:
150         (WebCore::ClipboardQt::writeURL):
151         * platform/qt/CookieJarQt.cpp:
152         (WebCore::setCookies):
153         (WebCore::cookies):
154         * platform/wx/PasteboardWx.cpp:
155         (WebCore::Pasteboard::writeURL):
156
157 2007-12-11  Sam Weinig  <sam@webkit.org>
158
159         Reviewed by Darin Adler.
160
161         Scrub URL out of the tree in preparation for renaming KURL to URL.
162             - Renames Document::URL() -> Document::url()
163             - Renames DocumentLoader::URL() -> DocumentLoader::url()
164             - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
165             - Remove FrameLoader::URL()
166             - Various variable renames.
167
168         The change from Document::URL() to Document::url() required changes
169         to the bindings scripts as well, because URL() is the name of a DOM
170         method.  The code generation scripts now have code to special case URL()
171         to url().
172
173         * WebCore.base.exp:
174         * bindings/js/kjs_events.cpp:
175         (WebCore::JSLazyEventListener::parseCode):
176         * bindings/js/kjs_navigator.cpp:
177         (KJS::Navigator::getValueProperty):
178         * bindings/js/kjs_proxy.cpp:
179         (WebCore::KJSProxy::initScript):
180         * bindings/js/kjs_window.cpp:
181         (KJS::Window::put):
182         (KJS::Window::allowsAccessFrom):
183         (KJS::Location::put):
184         (KJS::LocationProtoFuncReplace::callAsFunction):
185         (KJS::LocationProtoFuncReload::callAsFunction):
186         (KJS::LocationProtoFuncAssign::callAsFunction):
187         * bindings/scripts/CodeGenerator.pm:
188         * bindings/scripts/CodeGeneratorCOM.pm:
189         * bindings/scripts/CodeGeneratorJS.pm:
190         * bindings/scripts/CodeGeneratorObjC.pm:
191         * css/CSSImportRule.cpp:
192         (WebCore::CSSImportRule::insertedIntoParent):
193         * css/CSSParser.cpp:
194         (WebCore::CSSParser::parseValue):
195         (WebCore::CSSParser::parseContent):
196         (WebCore::CSSParser::parseBackgroundImage):
197         (WebCore::CSSParser::parseFontFaceSrc):
198         (WebCore::CSSParser::parseBorderImage):
199         (WebCore::CSSParser::createImportRule):
200         * css/CSSStyleSelector.cpp:
201         (WebCore::CSSStyleSelector::setEncodedURL):
202         * dom/Document.cpp:
203         (WebCore::Document::processHttpEquiv):
204         (WebCore::Document::cookie):
205         (WebCore::Document::setCookie):
206         (WebCore::Document::domain):
207         (WebCore::Document::setDomain):
208         (WebCore::Document::getImageMap):
209         (WebCore::Document::completeURL):
210         * dom/Document.h:
211         (WebCore::Document::url):
212         (WebCore::Document::baseURL):
213         * dom/Element.cpp:
214         (WebCore::Element::baseURI):
215         * dom/ProcessingInstruction.h:
216         * dom/StyledElement.cpp:
217         (WebCore::StyledElement::addCSSImageProperty):
218         * dom/StyledElement.h:
219         * dom/XMLTokenizer.cpp:
220         (WebCore::XMLTokenizer::endElementNs):
221         (WebCore::XMLTokenizer::end):
222         (WebCore::):
223         * dom/XMLTokenizer.h:
224         * editing/Editor.cpp:
225         (WebCore::Editor::copy):
226         * editing/markup.cpp:
227         (WebCore::completeURLs):
228         * history/CachedPage.h:
229         (WebCore::CachedPage::url):
230         * history/HistoryItem.cpp:
231         (WebCore::HistoryItem::HistoryItem):
232         (WebCore::HistoryItem::setURL):
233         (WebCore::HistoryItem::isCurrentDocument):
234         * html/HTMLBaseElement.cpp:
235         (WebCore::HTMLBaseElement::process):
236         * html/HTMLParser.cpp:
237         (WebCore::HTMLParser::reportErrorToConsole):
238         * html/HTMLScriptElement.cpp:
239         (WebCore::HTMLScriptElement::childrenChanged):
240         (WebCore::HTMLScriptElement::insertedIntoDocument):
241         (WebCore::HTMLScriptElement::evaluateScript):
242         * html/HTMLScriptElement.h:
243         * html/HTMLTokenizer.cpp:
244         (WebCore::HTMLTokenizer::scriptExecution):
245         * loader/Cache.cpp:
246         (WebCore::createResource):
247         (WebCore::Cache::requestResource):
248         * loader/CachedCSSStyleSheet.cpp:
249         (WebCore::CachedCSSStyleSheet::checkNotify):
250         * loader/CachedResource.cpp:
251         (WebCore::CachedResource::CachedResource):
252         * loader/CachedResource.h:
253         (WebCore::CachedResource::):
254         * loader/CachedScript.h:
255         * loader/DocLoader.cpp:
256         (WebCore::DocLoader::checkForReload):
257         (WebCore::DocLoader::requestResource):
258         * loader/DocumentLoader.cpp:
259         (WebCore::DocumentLoader::url):
260         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
261         (WebCore::DocumentLoader::setRequest):
262         (WebCore::DocumentLoader::startLoadingMainResource):
263         * loader/DocumentLoader.h:
264         * loader/FrameLoader.cpp:
265         (WebCore::FormSubmission::FormSubmission):
266         (WebCore::ScheduledRedirection::ScheduledRedirection):
267         (WebCore::FrameLoader::changeLocation):
268         (WebCore::FrameLoader::urlSelected):
269         (WebCore::FrameLoader::requestFrame):
270         (WebCore::FrameLoader::loadSubframe):
271         (WebCore::FrameLoader::submitFormAgain):
272         (WebCore::FrameLoader::submitForm):
273         (WebCore::FrameLoader::didExplicitOpen):
274         (WebCore::FrameLoader::replaceContentsWithScriptResult):
275         (WebCore::FrameLoader::executeScript):
276         (WebCore::FrameLoader::receivedFirstData):
277         (WebCore::FrameLoader::begin):
278         (WebCore::FrameLoader::startIconLoader):
279         (WebCore::FrameLoader::commitIconURLToIconDatabase):
280         (WebCore::FrameLoader::scheduleRefresh):
281         (WebCore::FrameLoader::redirectionTimerFired):
282         (WebCore::FrameLoader::loadPlugin):
283         (WebCore::FrameLoader::didNotOpenURL):
284         (WebCore::FrameLoader::updatePolicyBaseURL):
285         (WebCore::FrameLoader::scrollToAnchor):
286         (WebCore::FrameLoader::startRedirectionTimer):
287         (WebCore::FrameLoader::load):
288         (WebCore::FrameLoader::canLoad):
289         (WebCore::FrameLoader::shouldHideReferrer):
290         (WebCore::FrameLoader::shouldAllowNavigation):
291         (WebCore::FrameLoader::commitProvisionalLoad):
292         (WebCore::FrameLoader::clientRedirected):
293         (WebCore::FrameLoader::open):
294         (WebCore::FrameLoader::didTellBridgeAboutLoad):
295         (WebCore::FrameLoader::haveToldBridgeAboutLoad):
296         (WebCore::FrameLoader::post):
297         (WebCore::FrameLoader::loadResourceSynchronously):
298         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
299         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
300         (WebCore::FrameLoader::createHistoryItem):
301         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
302         (WebCore::FrameLoader::loadItem):
303         (WebCore::FrameLoader::urlsMatchItem):
304         (WebCore::FrameLoader::recursiveGoToItem):
305         (WebCore::FrameLoader::updateHistoryForStandardLoad):
306         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
307         * loader/FrameLoader.h:
308         (WebCore::FrameLoader::url):
309         * loader/ImageDocument.cpp:
310         (WebCore::ImageDocument::createDocumentStructure):
311         * loader/MainResourceLoader.cpp:
312         (WebCore::shouldLoadAsEmptyDocument):
313         (WebCore::MainResourceLoader::didFinishLoading):
314         * loader/NavigationAction.cpp:
315         (WebCore::NavigationAction::NavigationAction):
316         * loader/NavigationAction.h:
317         (WebCore::NavigationAction::url):
318         * loader/PluginDocument.cpp:
319         (WebCore::PluginTokenizer::createDocumentStructure):
320         * loader/SubresourceLoader.cpp:
321         (WebCore::SubresourceLoader::load):
322         (WebCore::SubresourceLoader::create):
323         * loader/icon/IconLoader.cpp:
324         (WebCore::IconLoader::startLoading):
325         (WebCore::IconLoader::finishLoading):
326         * loader/loader.cpp:
327         (WebCore::Loader::servePendingRequests):
328         * loader/mac/LoaderNSURLExtras.m:
329         (urlOriginalData):
330         * page/Chrome.cpp:
331         (WebCore::Chrome::setToolTip):
332         * page/ContextMenuController.cpp:
333         (WebCore::ContextMenuController::contextMenuItemSelected):
334         * page/Frame.cpp:
335         (WebCore::Frame::setUserStyleSheetLocation):
336         * page/InspectorController.cpp:
337         (WebCore::InspectorResource::type):
338         (WebCore::addSourceToFrame):
339         (WebCore::InspectorController::addScriptResource):
340         (WebCore::InspectorController::updateScriptResourceRequest):
341         (WebCore::InspectorController::didCommitLoad):
342         * page/mac/WebCoreFrameBridge.mm:
343         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
344         * platform/KURL.h:
345         (WebCore::KURL::string):
346         (WebCore::KURL::deprecatedString):
347         * platform/mac/ClipboardMac.mm:
348         (WebCore::ClipboardMac::getData):
349         * platform/mac/CookieJar.mm:
350         (WebCore::cookies):
351         (WebCore::setCookies):
352         * platform/mac/PasteboardMac.mm:
353         (WebCore::Pasteboard::writeURL):
354         (WebCore::fileWrapperForImage):
355         (WebCore::Pasteboard::writeImage):
356         (WebCore::Pasteboard::plainText):
357         * platform/network/ResourceHandle.cpp:
358         (WebCore::ResourceHandle::portAllowed):
359         * platform/network/ResourceRequestBase.cpp:
360         (WebCore::ResourceRequestBase::isNull):
361         * platform/network/cf/ResourceHandleCFNet.cpp:
362         (WebCore::willSendRequest):
363         (WebCore::didReceiveResponse):
364         (WebCore::didReceiveData):
365         (WebCore::didFinishLoading):
366         (WebCore::didFail):
367         (WebCore::didReceiveChallenge):
368         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
369         (WebCore::ResourceHandle::~ResourceHandle):
370         (WebCore::ResourceHandle::start):
371         * platform/win/ClipboardUtilitiesWin.cpp:
372         (WebCore::createGlobalData):
373         (WebCore::urlToMarkup):
374         * platform/win/ClipboardWin.cpp:
375         (WebCore::writeURL):
376         (WebCore::writeImageToDataObject):
377         (WebCore::ClipboardWin::writeURL):
378         (WebCore::ClipboardWin::writeRange):
379         * platform/win/PasteboardWin.cpp:
380         (WebCore::Pasteboard::writeSelection):
381         (WebCore::Pasteboard::writeURL):
382         * plugins/win/PluginDatabaseWin.cpp:
383         (WebCore::PluginDatabaseWin::findPlugin):
384         * plugins/win/PluginStreamWin.cpp:
385         (WebCore::PluginStreamWin::startStream):
386         (WebCore::PluginStreamWin::destroyStream):
387         * plugins/win/PluginViewWin.cpp:
388         (WebCore::scriptStringIfJavaScriptURL):
389         (WebCore::PluginViewWin::performRequest):
390         * svg/SVGImageLoader.cpp:
391         (WebCore::SVGImageLoader::updateFromElement):
392         * xml/XMLHttpRequest.cpp:
393         (WebCore::XMLHttpRequest::getResponseXML):
394         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
395         * xml/XSLImportRule.cpp:
396         (WebCore::XSLImportRule::loadSheet):
397         * xml/XSLTProcessor.cpp:
398         (WebCore::XSLTProcessor::createDocumentFromSource):
399         (WebCore::xsltStylesheetPointer):
400         (WebCore::xmlDocPtrFromNode):
401
402 2007-12-11  Beth Dakin  <bdakin@apple.com>
403
404         Reviewed by Darin.
405
406         Fix for <rdar://problem/5641255> SVGs with width and height 100% 
407         fail to render when used as background images
408
409         CachedImage now has a setImageContainerSize function. It is only 
410         needed for SVG right now.
411         * loader/CachedImage.cpp:
412         (WebCore::CachedImage::setImageContainerSize):
413         * loader/CachedImage.h:
414
415         Relatively sized SVGs have no intrinsic size. Because this call is 
416         low-level enough that we cannot pass in the container size and get 
417         the real size of the SVG, we need to know if it has relative 
418         dimensions, and if so, we need to get the size from scaledTileSize.
419         * platform/graphics/Image.cpp:
420         (WebCore::Image::drawTiled):
421         * platform/graphics/Image.h:
422         (WebCore::Image::setContainerSize):
423         (WebCore::Image::hasRelativeWidth):
424         (WebCore::Image::hasRelativeHeight):
425
426         Re-factored calculateBackgroundSize a bit so that it returns an 
427         IntSize. Made it a member function so that it can send m_width and 
428         m_height along to setImageContainerSize.
429         * rendering/RenderBox.cpp:
430         (WebCore::RenderBox::calculateBackgroundSize):
431         (WebCore::RenderBox::calculateBackgroundImageGeometry):
432         * rendering/RenderBox.h:
433
434         Need to account for relatively sized SVGs in calcViewport()
435         * rendering/RenderSVGRoot.cpp:
436         (WebCore::RenderSVGRoot::calcViewport):
437         
438         Added new member variables to store the size of the SVG container. 
439         relativeWidthValue() and relativeHeightValue() use the stored SVG 
440         container size to correctly calculate the width and height of a 
441         relatively sized SVG.
442         * svg/SVGSVGElement.cpp:
443         (WebCore::SVGSVGElement::SVGSVGElement):
444         (WebCore::SVGSVGElement::setContainerSize):
445         (WebCore::SVGSVGElement::relativeWidthValue):
446         (WebCore::SVGSVGElement::relativeHeightValue):
447         * svg/SVGSVGElement.h:
448         (WebCore::SVGSVGElement::containerSize):
449         
450         Re-factored size calculations to use the size of the container.
451         * svg/graphics/SVGImage.cpp:
452         (WebCore::SVGImage::setContainerSize):
453         (WebCore::SVGImage::size):
454         (WebCore::SVGImage::hasRelativeWidth):
455         (WebCore::SVGImage::hasRelativeHeight):
456         * svg/graphics/SVGImage.h:
457
458 2007-12-11  Darin Adler  <darin@apple.com>
459
460         * editing/Editor.cpp:
461         (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
462         a missing return statement.
463
464 2007-12-11  Darin Adler  <darin@apple.com>
465
466         Reviewed by Geoff.
467
468         - exposed many new commands to the DOM Document executeCommand function by
469           merging the JSEditor and Editor executeCommand implementations
470         - replaced the execCommand function with a EditorCommand class
471         - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
472         - replaced the WTF::CaseInsensitiveHash<> class template with the
473           WebCore::CaseFoldingHash class
474
475         * WebCore.base.exp: Updated.
476         * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
477         * WebCore.vcproj/WebCore.vcproj: Ditto.
478         * WebCore.xcodeproj/project.pbxproj: Ditto.
479         * WebCoreSources.bkl: Ditto.
480
481         * dom/Document.cpp:
482         (WebCore::Document::Document): Removed code to set up m_jsEditor.
483         (WebCore::Document::~Document): Removed code to delete m_jsEditor.
484         (WebCore::command): Added. Helper function that gets an Editor::Command.
485         (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
486         JSEditor.
487         (WebCore::Document::queryCommandEnabled): Ditto.
488         (WebCore::Document::queryCommandIndeterm):
489         (WebCore::Document::queryCommandState): Ditto.
490         (WebCore::Document::queryCommandSupported): Ditto.
491         (WebCore::Document::queryCommandValue): Ditto.
492
493         * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
494         use CaseFoldingHash.
495
496         * editing/Editor.cpp:
497         (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
498         made into a member function so it is accessible from the new EditorCommand.cpp file.
499         Also changed to get the selection from the passed-in frame instead of from the
500         page, because this should work on the targeted frame unless the event overrides it.
501         (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
502         (WebCore::Editor::handleInputMethodKeypress): Ditto.
503         (WebCore::imageElementFromImageDocument): Renamed and changed to return
504         a HTMLImageElement instead of a Node*.
505         (WebCore::Editor::canCopy): Updated for name change.
506         (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
507         (WebCore::Editor::selectionOrderedListState): Ditto.
508         (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
509         (WebCore::updateState): Moved here from Frame.
510         (WebCore::Editor::selectionHasStyle): Ditto.
511         (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
512         (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
513         selectionForCommand change.
514         (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
515         (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
516         machinery since it's no longer in this file as a local function.
517         (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
518         (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
519         local variable.
520         (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
521         without a kill ring, but it's relatively straightforward to implement one.
522         (WebCore::Editor::appendToKillRing): Put default implementation here for
523         platforms other than Mac. We should probably put a simple kill ring
524         implementation here -- doesn't need to be shared with the OS oh platforms
525         other than Mac.
526         (WebCore::Editor::prependToKillRing): Ditto.
527         (WebCore::Editor::yankFromKillRing): Ditto.
528         (WebCore::Editor::startNewKillRingSequence): Ditto.
529         (WebCore::Editor::setKillRingToYankedState): Ditto.
530
531         * editing/Editor.h: Moved the TriState enum here instead of inside the
532         Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
533         here from the Frame class. Added Editor::Command class with five functions
534         for the various things you can do with a command (execute it, check if it
535         can be used, and its state and value). Changed hte parameter of
536         setBaseWritingDirection to be a const String& rather than a String.
537         Got rid of the kill-ring-related operations, but added the kill ring
538         functions themselves. Made selectedRange() public. Made the
539         m_startNewKillRingSequence not Mac-specific and added "should" to its
540         name.
541
542         * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
543         Retained only the editing commands.
544         (WebCore::targetFrame): Moved to the top of the file.
545         (WebCore::executeApplyStyle): Added. Helper function for commands
546         that need to apply styles.
547         (WebCore::executeToggleStyle): Added. Helper function for commands
548         that need to toggle styles based on the style of the start of selection.
549         (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
550         for paragraph styles.
551         (WebCore::executeInsertFragment): Added. Helper function for commands
552         that need to insert a DOM fragment.
553         (WebCore::executeInsertNode): Added. Helper function for commands that
554         need to insert a tree rooted in a single DOM node.
555         (WebCore::stateStyle): Added. Helper function for the state of commands
556         that represent style.
557         (WebCore::valueStyle): Added. Helper function for the value of commands
558         that represent style.
559         (WebCore::canScroll): Added. Helper functions for some move and scroll
560         commands that need to determine if the renderer they are in can scroll.
561         (WebCore::unionDOMRanges): Moved here from EditorMac.
562         (WebCore::executeBackColor):
563         (WebCore::executeBackwardDelete):
564         (WebCore::executeCopy):
565         (WebCore::executeCreateLink):
566         (WebCore::executeCut):
567         (WebCore::executeDelete):
568         (WebCore::executeDeleteToMark):
569         (WebCore::executeDeleteWordBackward):
570         (WebCore::executeDeleteWordForward):
571         (WebCore::executeFindString):
572         (WebCore::executeFontName):
573         (WebCore::executeFontSize):
574         (WebCore::executeFontSizeDelta):
575         (WebCore::executeForeColor):
576         (WebCore::executeFormatBlock):
577         (WebCore::executeForwardDelete):
578         (WebCore::executeIndent):
579         (WebCore::executeInsertBacktab):
580         (WebCore::executeInsertHorizontalRule):
581         (WebCore::executeInsertHTML):
582         (WebCore::executeInsertImage):
583         (WebCore::executeInsertLineBreak):
584         (WebCore::executeInsertNewline):
585         (WebCore::executeInsertNewlineInQuotedContent):
586         (WebCore::executeInsertOrderedList):
587         (WebCore::executeInsertParagraph):
588         (WebCore::executeInsertTab):
589         (WebCore::executeInsertText):
590         (WebCore::executeInsertUnorderedList):
591         (WebCore::executeJustifyCenter):
592         (WebCore::executeJustifyFull):
593         (WebCore::executeJustifyLeft):
594         (WebCore::executeJustifyRight):
595         (WebCore::executeMoveBackward):
596         (WebCore::executeMoveBackwardAndModifySelection):
597         (WebCore::executeMoveDown):
598         (WebCore::executeMoveDownAndModifySelection):
599         (WebCore::executeMoveDownByPageAndModifyCaret):
600         (WebCore::executeMoveForward):
601         (WebCore::executeMoveForwardAndModifySelection):
602         (WebCore::executeMoveLeft):
603         (WebCore::executeMoveLeftAndModifySelection):
604         (WebCore::executeMoveRight):
605         (WebCore::executeMoveRightAndModifySelection):
606         (WebCore::executeMoveToBeginningOfDocument):
607         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
608         (WebCore::executeMoveToBeginningOfLine):
609         (WebCore::executeMoveToBeginningOfLineAndModifySelection):
610         (WebCore::executeMoveToBeginningOfParagraph):
611         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
612         (WebCore::executeMoveToBeginningOfSentence):
613         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
614         (WebCore::executeMoveToEndOfDocument):
615         (WebCore::executeMoveToEndOfDocumentAndModifySelection):
616         (WebCore::executeMoveToEndOfSentence):
617         (WebCore::executeMoveToEndOfSentenceAndModifySelection):
618         (WebCore::executeMoveToEndOfLine):
619         (WebCore::executeMoveToEndOfLineAndModifySelection):
620         (WebCore::executeMoveToEndOfParagraph):
621         (WebCore::executeMoveToEndOfParagraphAndModifySelection):
622         (WebCore::executeMoveParagraphBackwardAndModifySelection):
623         (WebCore::executeMoveParagraphForwardAndModifySelection):
624         (WebCore::executeMoveUp):
625         (WebCore::executeMoveUpAndModifySelection):
626         (WebCore::executeMoveUpByPageAndModifyCaret):
627         (WebCore::executeMoveWordBackward):
628         (WebCore::executeMoveWordBackwardAndModifySelection):
629         (WebCore::executeMoveWordForward):
630         (WebCore::executeMoveWordForwardAndModifySelection):
631         (WebCore::executeMoveWordLeft):
632         (WebCore::executeMoveWordLeftAndModifySelection):
633         (WebCore::executeMoveWordRight):
634         (WebCore::executeMoveWordRightAndModifySelection):
635         (WebCore::executeOutdent):
636         (WebCore::executePaste):
637         (WebCore::executePasteAndMatchStyle):
638         (WebCore::executePrint):
639         (WebCore::executeRedo):
640         (WebCore::executeRemoveFormat):
641         (WebCore::executeSelectAll):
642         (WebCore::executeSelectToMark):
643         (WebCore::executeSetMark):
644         (WebCore::executeStrikethrough):
645         (WebCore::executeSubscript):
646         (WebCore::executeSuperscript):
647         (WebCore::executeSwapWithMark):
648         (WebCore::executeToggleBold):
649         (WebCore::executeToggleItalic):
650         (WebCore::executeTranspose):
651         (WebCore::executeUnderline):
652         (WebCore::executeUndo):
653         (WebCore::executeUnlink):
654         (WebCore::executeUnscript):
655         (WebCore::executeUnselect):
656         (WebCore::executeYank):
657         (WebCore::executeYankAndSelect):
658         (WebCore::supported):
659         (WebCore::supportedPaste):
660         (WebCore::enabled):
661         (WebCore::enabledAnySelection):
662         (WebCore::enabledAnySelectionAndMark):
663         (WebCore::enableCaretInEditableText):
664         (WebCore::enabledCopy):
665         (WebCore::enabledCut):
666         (WebCore::enabledInEditableText):
667         (WebCore::enabledInRichlyEditableText):
668         (WebCore::enabledPaste):
669         (WebCore::enabledRangeInEditableText):
670         (WebCore::enabledRangeInRichlyEditableText):
671         (WebCore::enabledRedo):
672         (WebCore::enabledUndo):
673         (WebCore::stateNone):
674         (WebCore::stateBold):
675         (WebCore::stateItalic):
676         (WebCore::stateOrderedList):
677         (WebCore::stateStrikethrough):
678         (WebCore::stateSubscript):
679         (WebCore::stateSuperscript):
680         (WebCore::stateUnderline):
681         (WebCore::stateUnorderedList):
682         (WebCore::valueNull):
683         (WebCore::valueBackColor):
684         (WebCore::valueFontName):
685         (WebCore::valueFontSize):
686         (WebCore::valueFontSizeDelta):
687         (WebCore::valueForeColor):
688         (WebCore::createCommandMap): Added lots of commands, including all the commands
689         from JSEditor. A few commands needed different behavior based on whether they are
690         invoked from the DOM or a keyboard binding.
691         (WebCore::Editor::command): Added. Gets a command object given a name.
692         (WebCore::Editor::Command::Command): Added.
693         (WebCore::Editor::Command::execute): Added.
694         (WebCore::Editor::Command::isSupported): Added.
695         (WebCore::Editor::Command::isEnabled): Added.
696         (WebCore::Editor::Command::state): Added.
697         (WebCore::Editor::Command::value): Added.
698         (WebCore::Editor::execCommand): Changed to call command().execute().
699
700         * editing/JSEditor.cpp: Removed.
701         * editing/JSEditor.h: Removed.
702
703         * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
704         kill ring commands, so the kill ring commands can be cross-platform.
705         (WebCore::Editor::appendToKillRing): Added.
706         (WebCore::Editor::prependToKillRing): Added.
707         (WebCore::Editor::yankFromKillRing): Added.
708         (WebCore::Editor::startNewKillRingSequence): Added.
709         (WebCore::Editor::setKillRingToYankedState): Added.
710
711         * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
712         * page/Frame.h: Ditto.
713
714         * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
715         * page/mac/WebCoreFrameBridge.h: Ditto.
716
717         * platform/ContextMenu.cpp:
718         (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
719
720         * platform/text/StringHash.h:
721         (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
722         (WebCore::StringHash::equal): Ditto.
723         (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
724         classes into this.
725         (WebCore::CaseFoldingHash::equal): Ditto.
726
727         * platform/text/StringImpl.cpp:
728         (WebCore::equal): Changed to invoke StringHash.
729         (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
730
731         * dom/DOMImplementation.cpp:
732         (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
733         (WebCore::isSVG10Feature): Ditto.
734         (WebCore::isSVG11Feature): Ditto.
735         * loader/FrameLoader.cpp:
736         (WebCore::localSchemes): Ditto.
737         * platform/graphics/FontCache.cpp:
738         (WebCore::computeHash): Ditto.
739         * platform/network/HTTPHeaderMap.h: Ditto.
740         * platform/text/PlatformString.h: Ditto.
741         * platform/text/StringImpl.h: Ditto.
742         * rendering/RenderPartObject.cpp:
743         (WebCore::RenderPartObject::updateWidget): Ditto.
744         * xml/XMLHttpRequest.cpp:
745         (WebCore::canSetRequestHeader): Ditto.
746
747         * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
748
749 2007-12-11  Darin Adler  <darin@apple.com>
750
751         * platform/wx/KeyboardEventWx.cpp:
752         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
753         WX build. Changes the code around a little bit.
754
755 2007-12-11  Darin Adler  <darin@apple.com>
756
757         * platform/wx/KeyboardEventWx.cpp:
758         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
759
760 2007-12-11  Dan Bernstein  <mitz@apple.com>
761
762         Reviewed by Darin Adler.
763
764         - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
765
766         Test: fast/text/international/complex-character-based-fallback.html
767
768         * platform/graphics/Font.cpp:
769         (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
770         that forces this function to use the small caps font. It is used for
771         combining marks that need to combine with a small cap.
772         * platform/graphics/Font.h:
773         * platform/win/UniscribeController.cpp:
774         (WebCore::UniscribeController::advance): Changed to split the string
775         into runs of characters that will be rendered using the same FontData.
776         This is done by calling glyphDataForCharacter() for each cahracter to
777         find the FontData it should be rendered with.
778         (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
779         argument that is passed on to shapeAndPlaceItem() instead of the
780         smallCaps argument.
781         (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
782         argument and removed the font fallback logic from this function, as
783         it is now expected to be called with an item all of whose characters
784         can be rendered with the given fontData.
785         * platform/win/UniscribeController.h:
786
787 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
788
789         Reviewed by Darin.
790
791         <rdar://problem/5535636>
792         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
793
794         http://bugs.webkit.org/show_bug.cgi?id=13916
795         JavaScript detects Tab as a character input on a textfield validation
796
797         Test: platform/win/fast/events/double-dead-char.html
798
799         * platform/PlatformKeyboardEvent.h:
800         (WebCore::PlatformKeyboardEvent::):
801         (WebCore::PlatformKeyboardEvent::type):
802         (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
803         (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
804         (WebCore::PlatformKeyboardEvent::keyIdentifier):
805         (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
806         Added an explicit type member to differentiate different kinds of events:
807           RawKeyDown == keydown == WM_KEYDOWN
808           KeyUp == keyup == WM_KEYUP
809           Char == keypress == WM_CHAR
810           KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
811           event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
812
813         * platform/mac/KeyEventMac.mm:
814         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
815         Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
816         (WebCore::windowsKeyCodeForKeyEvent): 
817         (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
818         that it still fails.
819         (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
820         should not be available in those (because it cannot be provided on Windows).
821
822         * platform/win/KeyEventWin.cpp:
823         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
824         Used standard Windows constants for bit masks instead of our own ones.
825         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
826
827         * platform/gtk/KeyEventGtk.cpp:
828         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
829         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
830         * platform/qt/PlatformKeyboardEventQt.cpp:
831         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
832         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
833         * platform/wx/KeyboardEventWx.cpp:
834         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
835         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
836         Updated for cross-platform changes as much as it was possible without appropriate build
837         environments.
838
839         * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
840         convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
841
842         * bridge/EditorClient.h:
843         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
844         Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
845
846         * dom/Document.h:
847         * dom/Document.cpp:
848         (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
849
850         * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
851
852         * dom/KeyboardEvent.cpp:
853         (WebCore::eventTypeForKeyboardEventType):
854         (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
855         now straightforward, so scary hacks such as using autorepeat to distinguish types are
856         not needed.
857         (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
858         (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
859         Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
860         character codes.
861
862         * editing/Editor.h:
863         * editing/Editor.cpp:
864         (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
865         (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
866         (WebCore::Editor::handleInputMethodKeydown): Ditto.
867
868         * html/HTMLButtonElement.cpp:
869         (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
870         appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
871         not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
872         highlighted when Space is pressed.
873
874         * html/HTMLInputElement.cpp:
875         (WebCore::HTMLInputElement::defaultEventHandler):
876         * html/HTMLSelectElement.cpp:
877         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
878         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
879         Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
880         described above.
881
882         * page/EventHandler.cpp:
883         (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
884         to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
885         handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
886         now being handleInputMethodKeydown().
887         (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
888         (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
889         as default tab handling happens when processing keydown.
890         (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
891         event handling. Fixed accesskey processing to use information that's available in a raw keydown
892         event.
893
894         (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
895         handle tabs during keydown processing.
896
897         * page/mac/EventHandlerMac.mm:
898         (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
899         what callers want.
900
901         * platform/text/PlatformString.h:
902         * platform/text/String.cpp:
903         (WebCore::String::characterStartingAt):
904         * platform/text/StringImpl.cpp:
905         (WebCore::StringImpl::characterStartingAt):
906         * platform/text/StringImpl.h:
907         Added a UChar32 accessor.
908
909         * svg/graphics/SVGImageEmptyClients.h:
910         (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
911         (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
912         Updated for new function names.
913
914 2007-12-11  John Sullivan  <sullivan@apple.com>
915
916         Reviewed by Adele
917
918         Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
919
920         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
921         (WebCore::MediaPlayerPrivate::createQTMovieView):
922         (WebCore::MediaPlayerPrivate::detachQTMovieView):
923
924 2007-12-11  Alexey Proskuryakov  <ap@webkit.org>
925
926         Reviewed by Darin.
927
928         http://bugs.webkit.org/show_bug.cgi?id=16325
929         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
930
931         Fix this on Windows, too!
932
933         Test: http/tests/misc/empty-cookie.html
934
935         * platform/network/win/CookieJarWin.cpp:
936         (WebCore::setCookies):
937         (WebCore::cookies):
938         Same fix as on Mac, translated into CF.
939
940         * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
941
942 2007-12-11  Christian Dywan  <christian@twotoasts.de>
943
944         Reviewed by Alp Toker.
945
946         http://bugs.webkit.org/show_bug.cgi?id=16371
947         Implement additional mouse cursors for Gtk
948
949         Added cursor bitmaps from Mozilla:
950         http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
951
952         * platform/gtk/CursorGtk.cpp:
953         (WebCore::customCursorNew):
954         (WebCore::verticalTextCursor):
955         (WebCore::cellCursor):
956         (WebCore::contextMenuCursor):
957         (WebCore::noDropCursor):
958         (WebCore::copyCursor):
959         (WebCore::progressCursor):
960         (WebCore::aliasCursor):
961         (WebCore::noneCursor):
962         (WebCore::notAllowedCursor):
963         (WebCore::zoomInCursor):
964         (WebCore::zoomOutCursor):
965         * platform/gtk/CursorGtk.h: Added.
966
967 2007-12-10  Oliver Hunt  <oliver@apple.com>
968
969         Reviewed by Weinig, Dan, and Alexey.
970
971         Fix character set used for dynamically loaded scripts.
972
973         Fix for:
974             <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
975             <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
976             <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
977             
978         Use the same logic to determine the charset for a script loaded dynamically
979         as we do for a statically loaded script.
980
981         * html/HTMLScriptElement.cpp:
982         (WebCore::HTMLScriptElement::insertedIntoDocument):
983
984 2007-12-10  Justin Garcia  <justin.garcia@apple.com>
985
986         Reviewed by Oliver Hunt.
987
988         <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
989         
990         We were trying to insert a block of the requested type before the body element.
991         
992         * editing/FormatBlockCommand.cpp:
993         (WebCore::FormatBlockCommand::doApply): 
994         Removed unnecessary ()s in the if condition.
995         Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
996         a) upstreamStart will never be outside the root editable element, since in that case
997         there would be no block inside the editable root to Format, and b) if upstreamStart.node() 
998         *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
999         at [root, 0].
1000         Added comments to explain the use of upstream() in the second if-clause.
1001         Added an early return for case where there is nothing selected, in that case, there is nothing
1002         to move.
1003
1004 2007-12-10  Adele Peterson  <adele@apple.com>
1005
1006         Reviewed and partially fixed by Tim Hatcher.
1007
1008         Remaining part of fix for <rdar://problem/5633400>
1009         Transformed <video> is not clipped correctly until a repaint is forced
1010
1011         Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
1012         from clobbering the WebCore repaints.
1013
1014         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
1015         * html/HTMLMediaElement.h:
1016         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
1017         * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
1018
1019         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1020         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1021         (method_setImplementation): Added for Tiger.
1022
1023         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
1024         (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
1025         (WebCore::MediaPlayerPrivate::setVisible): ditto.
1026         (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
1027
1028         (WebCore::MediaPlayerPrivate::repaint): Added.  Triggers a repaint on the video renderer.
1029         (-[WebCoreMovieObserver repaint]): ditto.
1030
1031         (WebCore::mainThreadSetNeedsDisplay): Added.
1032          Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
1033         (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
1034
1035 2007-12-10  Geoffrey Garen  <ggaren@apple.com>
1036
1037         Reviewed by Sam Weinig.
1038
1039         Updated for rename in JavaScriptCore.
1040
1041         * bridge/mac/WebCoreScriptDebugger.mm:
1042         (-[WebCoreScriptCallFrame scopeChain]):
1043         (-[WebCoreScriptCallFrame functionName]):
1044         (-[WebCoreScriptCallFrame evaluateWebScript:]):
1045
1046 2007-12-10  Rodney Dawes  <dobey@wayofthemonkey.com>
1047
1048         Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
1049         <http://bugs.webkit.org/show_bug.cgi?id=16383>
1050
1051         Use KJS::Window not the ambiguous Window
1052
1053         Reviewed by ddkilzer.
1054
1055         * bindings/js/kjs_dom.cpp (checkNodeSecurity):
1056
1057 2007-12-10  Sam Weinig  <sam@webkit.org>
1058
1059         Fix non-mac builds.
1060
1061         * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
1062
1063 2007-12-10  Marvin Decker  <marv.decker@gmail.com>
1064
1065         Reviewed by Darin.
1066
1067         Fix a divide by 0 in the progress tracker.
1068         http://bugs.webkit.org/show_bug.cgi?id=15055
1069
1070         * loader/ProgressTracker.cpp:
1071         (WebCore::ProgressTracker::incrementProgress):
1072
1073 2007-12-09  Sam Weinig  <sam@webkit.org>
1074
1075         Reviewed by Darin.
1076
1077         More cleanup of kjs_window.
1078         - Move WindowFeatures from bridge/ to page/
1079         - Move functions related to WindowFeatures (boolFeature,
1080           floatFeature, setWindowFeature, parseWindowFeatures) into the class.
1081         - Fix up whitespace.
1082
1083         * WebCore.vcproj/WebCore.vcproj:
1084         * WebCore.xcodeproj/project.pbxproj:
1085         * bindings/js/kjs_window.cpp:
1086         (KJS::DOMWindowTimer::~DOMWindowTimer):
1087         (KJS::createWindow):
1088         (KJS::showModalDialog):
1089         (KJS::Window::getOwnPropertySlot):
1090         (KJS::Window::allowsAccessFrom):
1091         (KJS::Window::shouldInterruptScript):
1092         (KJS::WindowProtoFuncAToB::callAsFunction):
1093         (KJS::WindowProtoFuncOpen::callAsFunction):
1094         (KJS::Window::setReturnValueSlot):
1095         (KJS::ScheduledAction::execute):
1096         (KJS::Window::timerFired):
1097         (KJS::Location::Location):
1098         (KJS::Location::getValueProperty):
1099         (KJS::Location::getOwnPropertySlot):
1100         (KJS::Location::put):
1101         (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
1102         (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
1103         (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
1104         allowsAccessFrom, cleanup the function a little.
1105         (KJS::PausedTimeouts::~PausedTimeouts):
1106         * bridge/WindowFeatures.h: Removed.
1107         * page/WindowFeatures.cpp: Added.
1108         (WebCore::isSeparator):
1109         (WebCore::WindowFeatures::WindowFeatures):
1110         (WebCore::WindowFeatures::setWindowFeature):
1111         (WebCore::WindowFeatures::boolFeature):
1112         (WebCore::WindowFeatures::floatFeature):
1113         * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
1114         (WebCore::WindowFeatures::WindowFeatures):
1115
1116 2007-12-10  Timothy Hatcher  <timothy@apple.com>
1117
1118         Reviewed by Mark Rowe.
1119
1120         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
1121
1122         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
1123           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
1124
1125 2007-12-10  Alp Toker  <alp@atoker.com>
1126
1127         Reviewed by Niko.
1128
1129         Cairo implementation of GraphicsContext::setUseAntialiasing().
1130
1131         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1132         (WebCore::GraphicsContext::setUseAntialiasing):
1133
1134 2007-12-10  Rob Buis  <buis@kde.org>
1135
1136         Reviewed by Darin.
1137
1138         http://bugs.webkit.org/show_bug.cgi?id=16182
1139         SVG should disable antialiasing for shape-rendering="crispEdges"
1140
1141         Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
1142
1143         * platform/graphics/GraphicsContext.h:
1144         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1145         (WebCore::GraphicsContext::setUseAntialiasing):
1146         * platform/graphics/cg/GraphicsContextCG.cpp:
1147         (WebCore::GraphicsContext::setUseAntialiasing):
1148         * platform/graphics/qt/GraphicsContextQt.cpp:
1149         (WebCore::GraphicsContext::setUseAntialiasing):
1150         * platform/graphics/wx/GraphicsContextWx.cpp:
1151         (WebCore::GraphicsContext::setUseAntialiasing):
1152         * rendering/RenderPath.cpp:
1153         (WebCore::RenderPath::paint):
1154
1155 2007-12-09  Rob Buis  <buis@kde.org>
1156
1157         Reviewed by Niko.
1158
1159         http://bugs.webkit.org/show_bug.cgi?id=16163
1160         SVG crash in Node::setChanged() on Debug builds only (trashed parent)
1161
1162         Fix the crash by properly unregistering as client from SVGResource
1163         when deleting a styled svg node.
1164
1165         * svg/SVGStyledElement.cpp:
1166         (WebCore::SVGStyledElement::~SVGStyledElement):
1167
1168 2007-12-10  Brady Eidson  <beidson@apple.com>
1169
1170         Rubberstamped by John
1171
1172         * storage/DatabaseTracker.cpp:
1173         (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
1174           for the new quota, we should allow the database to be created
1175
1176 2007-12-10  David D. Kilzer  <ddkilzer@webkit.org>
1177
1178         Bug 9683: Implement select.options.remove() method
1179         <http://bugs.webkit.org/show_bug.cgi?id=9683>
1180
1181         Reviewed by Maciej.
1182
1183         Implement select.options.remove() by calling select.remove()
1184         with the same arguments.  This is what MSIE 7 does, although its
1185         select.remove() method differs from WebKit's by throwing an
1186         exception when called with no arguments or with a negative
1187         integer argument.  Note that the DOM Level 1 documentation
1188         specifies that select.remove() does not throw an exception.
1189
1190         Tests: fast/js/select-options-remove-gc.html
1191                fast/js/select-options-remove.html
1192
1193         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1194         (WebCore::JSHTMLOptionsCollection::remove): Added.
1195         * html/HTMLOptionsCollection.cpp:
1196         (WebCore::HTMLOptionsCollection::remove): Added.
1197         * html/HTMLOptionsCollection.h:
1198         * html/HTMLOptionsCollection.idl:
1199
1200 2007-12-09  Sam Weinig  <sam@webkit.org>
1201
1202         Rubber stamped by Mark Rowe.
1203
1204         * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
1205
1206 2007-12-09  Oliver Hunt  <oliver@apple.com>
1207
1208         Reviewed by Niko.
1209
1210         Correction, 'z' and 'Z' are the only commands that cannot have an extended
1211         list of arguments.
1212
1213         * svg/SVGParserUtilities.cpp:
1214         (WebCore::SVGPathParser::parseSVG):
1215
1216 2007-12-09  Oliver Hunt  <oliver@apple.com>
1217
1218         Reviewed by Niko.
1219
1220         Prevent unlimited iteration in the case of invalid path data.
1221         
1222         The only path commands that can leave numbers trailing the command processing
1223         are 'm' and 'M', in which trailing numbers are parsed as arguments to an
1224         implicit lineto command.  In any case we should just terminate as an invalid
1225         path.
1226
1227         * svg/SVGParserUtilities.cpp:
1228         (WebCore::SVGPathParser::parseSVG):
1229
1230 2007-12-09  Luca Bruno  <lethalman88@gmail.com>
1231
1232         Reviewed by Alp Toker.
1233
1234         http://bugs.webkit.org/show_bug.cgi?id=15825
1235         [GTK] curl - slow dns causing hangs.
1236
1237         Create a vector of jobs, to satisfy requests in the right order.
1238         Set a limit to the number of simultaneous connections.
1239
1240         * platform/network/curl/ResourceHandleManager.cpp:
1241         (WebCore::maxRunningJobs): added
1242         (WebCore::ResourceHandleManager::ResourceHandleManager):
1243         (WebCore::ResourceHandleManager::removeFromCurl):
1244         (WebCore::ResourceHandleManager::startScheduledJobs):
1245
1246         * platform/network/curl/ResourceHandleManager.h:
1247         (WebCore::ResourceHandleList): removed
1248         (WebCore::ResourceHandleManager::m_runningJobs): added
1249         (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
1250         (WebCore::ResourceHandleManager::m_resourceHandleList): added
1251
1252 2007-12-08  Sam Weinig  <sam@webkit.org>
1253
1254         Reviewed by Oliver.
1255
1256         Cleanup kjs_window.h/cpp.
1257
1258         * bindings/js/kjs_window.cpp:
1259         (KJS::WindowPrivate::WindowPrivate):
1260         (KJS::DOMWindowTimer::DOMWindowTimer):
1261         (KJS::Window::Window):
1262         (KJS::Window::retrieveWindow):
1263         (KJS::Window::retrieveActive):
1264         (KJS::Window::retrieve):
1265         (KJS::Window::location):
1266         (KJS::Window::mark):
1267         (KJS::allowPopUp):
1268         (KJS::parseModalDialogFeatures):
1269         (KJS::floatFeature):
1270         (KJS::canShowModalDialog):
1271         (KJS::canShowModalDialogNow):
1272         (KJS::showModalDialog):
1273         (KJS::Window::getValueProperty):
1274         (KJS::Window::getOwnPropertySlot):
1275         (KJS::Window::globalExec):
1276         (KJS::Window::setListener):
1277         (KJS::Window::getListener):
1278         (KJS::Window::findOrCreateJSEventListener):
1279         (KJS::Window::findOrCreateJSUnprotectedEventListener):
1280         (KJS::Window::clearHelperObjectProperties):
1281         (KJS::Window::setCurrentEvent):
1282         (KJS::WindowProtoFuncAToB::callAsFunction):
1283         (KJS::WindowProtoFuncBToA::callAsFunction):
1284         (KJS::WindowProtoFuncOpen::callAsFunction):
1285         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
1286         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
1287         (KJS::WindowProtoFuncSetInterval::callAsFunction):
1288         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
1289         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
1290         (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
1291         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
1292         * bindings/js/kjs_window.h:
1293         (KJS::PausedTimeouts::PausedTimeouts):
1294         (KJS::PausedTimeouts::takeTimeouts):
1295         (KJS::ScheduledAction::ScheduledAction):
1296
1297 2007-12-08  Sam Weinig  <sam@webkit.org>
1298
1299         Reviewed by Mitz.
1300
1301         Move window scrolling, moving and resizing methods from KJS::Window
1302         to WebCore::DOMWindow so that there bindings can be autogenerated.
1303
1304         Tests: fast/dom/Window/window-resize-and-move-arguments.html
1305                fast/dom/Window/window-scroll-arguments.html
1306
1307         * WebCore.xcodeproj/project.pbxproj:
1308         * bindings/js/kjs_window.cpp:
1309         (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
1310         (KJS::WindowProtoFuncOpen::callAsFunction):
1311         (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
1312         * bindings/js/kjs_window.h:
1313         * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
1314         to ensure that the no less than the declared number of attributes
1315         is allowed.
1316         * page/DOMWindow.cpp:
1317         (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
1318         (WebCore::DOMWindow::scrollBy):
1319         (WebCore::DOMWindow::scrollTo):
1320         (WebCore::DOMWindow::moveBy):
1321         (WebCore::DOMWindow::moveTo):
1322         (WebCore::DOMWindow::resizeBy):
1323         (WebCore::DOMWindow::resizeTo):
1324         * page/DOMWindow.h:
1325         (WebCore::DOMWindow::scroll):
1326         * page/DOMWindow.idl:
1327
1328 2007-12-08  Kevin Ollivier  <kevino@theolliviers.com>
1329
1330         Reviewed by Alp Toker.
1331
1332         http://bugs.webkit.org/show_bug.cgi?id=14651
1333         [CURL] didReceiveResponse() only called for HTTP loads
1334
1335         http://bugs.webkit.org/show_bug.cgi?id=14583
1336         [GDK] file:// relative CSS include URLs handled incorrectly
1337
1338         Make sure CURL sets the ResourceResponse URL and calls
1339         didReceiveResponse for local files too. 
1340
1341         * platform/network/curl/ResourceHandleManager.cpp:
1342         (WebCore::writeCallback):
1343
1344 2007-12-08  Oliver Hunt  <oliver@apple.com>
1345
1346         Reviewed by Sam W.
1347
1348         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
1349         
1350         Fixes <rdar://problem/5620249> Must disable SVG animation
1351         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
1352         
1353         In order to allow finer grained control over the set of SVG features
1354         this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
1355         distinct flags:
1356         ENABLE_SVG_ANIMATION
1357         ENABLE_SVG_FILTERS
1358         ENABLE_SVG_FONTS
1359         ENABLE_SVG_AS_IMAGE
1360         ENABLE_SVG_USE
1361         
1362         by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
1363
1364         * Configurations/WebCore.xcconfig:
1365         * DerivedSources.make:
1366           Handle the increased number of build flags that may be necessary
1367           
1368         * WebCore.SVG.Animation.exp: Added.
1369         * WebCore.SVG.Filters.exp: Added.
1370         * WebCore.SVG.exp:
1371           We now may not need the animation or filter exports so 
1372           these need to be separate.
1373           
1374         * WebCore.vcproj/WebCore.vcproj:
1375         * WebCore.vcproj/build-generated-files.sh:
1376           Update for new flags
1377           
1378         Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES) 
1379         with the appropriate specific feature flag.  
1380         * bindings/js/JSSVGElementWrapperFactory.cpp:
1381         (WebCore::createJSSVGWrapper):
1382         * bindings/objc/DOM.mm:
1383         (WebCore::createElementClassMap):
1384         * dom/make_names.pl:
1385         * loader/CachedImage.cpp:
1386         (WebCore::CachedImage::createImage):
1387         * page/DOMWindow.idl:
1388         * rendering/RenderPath.cpp:
1389         (WebCore::RenderPath::absoluteClippedOverflowRect):
1390         * rendering/RenderSVGContainer.cpp:
1391         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
1392         * rendering/RenderSVGImage.cpp:
1393         (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
1394         * rendering/RenderSVGRoot.cpp:
1395         (WebCore::RenderSVGRoot::paint):
1396         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
1397         * rendering/RenderSVGText.cpp:
1398         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
1399         * rendering/SVGRenderSupport.cpp:
1400         (WebCore::prepareToRenderSVGContent):
1401         (WebCore::finishRenderSVGContent):
1402         * svg/SVGAnimateElement.cpp:
1403         * svg/SVGAnimateElement.h:
1404         * svg/SVGAnimateElement.idl:
1405         * svg/SVGAnimateMotionElement.cpp:
1406         * svg/SVGAnimateMotionElement.h:
1407         * svg/SVGAnimateTransformElement.cpp:
1408         * svg/SVGAnimateTransformElement.h:
1409         * svg/SVGAnimateTransformElement.idl:
1410         * svg/SVGComponentTransferFunctionElement.cpp:
1411         * svg/SVGComponentTransferFunctionElement.h:
1412         * svg/SVGComponentTransferFunctionElement.idl:
1413         * svg/SVGDocumentExtensions.cpp:
1414         (WebCore::SVGDocumentExtensions::startAnimations):
1415         * svg/SVGFEBlendElement.cpp:
1416         * svg/SVGFEBlendElement.h:
1417         * svg/SVGFEBlendElement.idl:
1418         * svg/SVGFEColorMatrixElement.cpp:
1419         * svg/SVGFEColorMatrixElement.h:
1420         * svg/SVGFEColorMatrixElement.idl:
1421         * svg/SVGFEComponentTransferElement.cpp:
1422         * svg/SVGFEComponentTransferElement.h:
1423         * svg/SVGFEComponentTransferElement.idl:
1424         * svg/SVGFECompositeElement.cpp:
1425         * svg/SVGFECompositeElement.h:
1426         * svg/SVGFECompositeElement.idl:
1427         * svg/SVGFEDiffuseLightingElement.cpp:
1428         * svg/SVGFEDiffuseLightingElement.h:
1429         * svg/SVGFEDiffuseLightingElement.idl:
1430         * svg/SVGFEDisplacementMapElement.cpp:
1431         * svg/SVGFEDisplacementMapElement.h:
1432         * svg/SVGFEDisplacementMapElement.idl:
1433         * svg/SVGFEDistantLightElement.cpp:
1434         * svg/SVGFEDistantLightElement.h:
1435         * svg/SVGFEDistantLightElement.idl:
1436         * svg/SVGFEFloodElement.cpp:
1437         * svg/SVGFEFloodElement.h:
1438         * svg/SVGFEFloodElement.idl:
1439         * svg/SVGFEFuncAElement.cpp:
1440         * svg/SVGFEFuncAElement.h:
1441         * svg/SVGFEFuncAElement.idl:
1442         * svg/SVGFEFuncBElement.cpp:
1443         * svg/SVGFEFuncBElement.h:
1444         * svg/SVGFEFuncBElement.idl:
1445         * svg/SVGFEFuncGElement.cpp:
1446         * svg/SVGFEFuncGElement.h:
1447         * svg/SVGFEFuncGElement.idl:
1448         * svg/SVGFEFuncRElement.cpp:
1449         * svg/SVGFEFuncRElement.h:
1450         * svg/SVGFEFuncRElement.idl:
1451         * svg/SVGFEGaussianBlurElement.cpp:
1452         * svg/SVGFEGaussianBlurElement.h:
1453         * svg/SVGFEGaussianBlurElement.idl:
1454         * svg/SVGFEImageElement.cpp:
1455         * svg/SVGFEImageElement.h:
1456         * svg/SVGFEImageElement.idl:
1457         * svg/SVGFELightElement.cpp:
1458         * svg/SVGFELightElement.h:
1459         * svg/SVGFEMergeElement.cpp:
1460         * svg/SVGFEMergeElement.h:
1461         * svg/SVGFEMergeElement.idl:
1462         * svg/SVGFEMergeNodeElement.cpp:
1463         * svg/SVGFEMergeNodeElement.h:
1464         * svg/SVGFEMergeNodeElement.idl:
1465         * svg/SVGFEOffsetElement.cpp:
1466         * svg/SVGFEOffsetElement.h:
1467         * svg/SVGFEOffsetElement.idl:
1468         * svg/SVGFEPointLightElement.cpp:
1469         * svg/SVGFEPointLightElement.h:
1470         * svg/SVGFEPointLightElement.idl:
1471         * svg/SVGFESpecularLightingElement.cpp:
1472         * svg/SVGFESpecularLightingElement.h:
1473         * svg/SVGFESpecularLightingElement.idl:
1474         * svg/SVGFESpotLightElement.cpp:
1475         * svg/SVGFESpotLightElement.h:
1476         * svg/SVGFESpotLightElement.idl:
1477         * svg/SVGFETileElement.cpp:
1478         * svg/SVGFETileElement.h:
1479         * svg/SVGFETileElement.idl:
1480         * svg/SVGFETurbulenceElement.cpp:
1481         * svg/SVGFETurbulenceElement.h:
1482         * svg/SVGFETurbulenceElement.idl:
1483         * svg/SVGFilterElement.cpp:
1484         * svg/SVGFilterElement.h:
1485         * svg/SVGFilterElement.idl:
1486         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1487         * svg/SVGTimer.cpp:
1488         (WebCore::SVGTimer::animationsByElement):
1489         * svg/SVGUseElement.cpp:
1490         (WebCore::SVGUseElement::buildPendingResource):
1491         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
1492         * svg/SVGUseElement.h:
1493         * svg/TimeScheduler.cpp:
1494         (WebCore::TimeScheduler::connectIntervalTimer):
1495         (WebCore::TimeScheduler::disconnectIntervalTimer):
1496         * svg/graphics/SVGResourceFilter.cpp:
1497         * svg/graphics/SVGResourceFilter.h:
1498         * svg/graphics/cg/SVGResourceFilterCg.cpp:
1499         * svg/graphics/cg/SVGResourceFilterCg.mm:
1500         * svg/graphics/filters/SVGDistantLightSource.h:
1501         * svg/graphics/filters/SVGFEBlend.cpp:
1502         * svg/graphics/filters/SVGFEBlend.h:
1503         * svg/graphics/filters/SVGFEColorMatrix.cpp:
1504         * svg/graphics/filters/SVGFEColorMatrix.h:
1505         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
1506         * svg/graphics/filters/SVGFEComponentTransfer.h:
1507         * svg/graphics/filters/SVGFEComposite.cpp:
1508         * svg/graphics/filters/SVGFEComposite.h:
1509         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1510         * svg/graphics/filters/SVGFEConvolveMatrix.h:
1511         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1512         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1513         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1514         * svg/graphics/filters/SVGFEDisplacementMap.h:
1515         * svg/graphics/filters/SVGFEFlood.cpp:
1516         * svg/graphics/filters/SVGFEFlood.h:
1517         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
1518         * svg/graphics/filters/SVGFEGaussianBlur.h:
1519         * svg/graphics/filters/SVGFEImage.cpp:
1520         * svg/graphics/filters/SVGFEImage.h:
1521         * svg/graphics/filters/SVGFEMerge.cpp:
1522         * svg/graphics/filters/SVGFEMerge.h:
1523         * svg/graphics/filters/SVGFEMorphology.cpp:
1524         * svg/graphics/filters/SVGFEMorphology.h:
1525         * svg/graphics/filters/SVGFEOffset.cpp:
1526         * svg/graphics/filters/SVGFEOffset.h:
1527         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1528         * svg/graphics/filters/SVGFESpecularLighting.h:
1529         * svg/graphics/filters/SVGFETile.h:
1530         * svg/graphics/filters/SVGFETurbulence.cpp:
1531         * svg/graphics/filters/SVGFETurbulence.h:
1532         * svg/graphics/filters/SVGFilterEffect.cpp:
1533         * svg/graphics/filters/SVGFilterEffect.h:
1534         * svg/graphics/filters/SVGLightSource.cpp:
1535         * svg/graphics/filters/SVGLightSource.h:
1536         * svg/graphics/filters/SVGPointLightSource.h:
1537         * svg/graphics/filters/SVGSpotLightSource.h:
1538         * svg/graphics/filters/cg/SVGFEBlendCg.mm:
1539         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
1540         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
1541         * svg/graphics/filters/cg/SVGFECompositeCg.mm:
1542         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
1543         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
1544         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
1545         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
1546         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
1547         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
1548         * svg/graphics/filters/cg/SVGFEImageCg.mm:
1549         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
1550         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
1551         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
1552         * svg/graphics/filters/cg/SVGFETileCg.mm:
1553         * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
1554         * svg/graphics/filters/cg/WKArithmeticFilter.h:
1555         * svg/graphics/filters/cg/WKArithmeticFilter.m:
1556         * svg/graphics/filters/cg/WKComponentMergeFilter.h:
1557         * svg/graphics/filters/cg/WKComponentMergeFilter.m:
1558         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
1559         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
1560         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
1561         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
1562         * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
1563         * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
1564         * svg/graphics/filters/cg/WKDistantLightFilter.h:
1565         * svg/graphics/filters/cg/WKDistantLightFilter.m:
1566         * svg/graphics/filters/cg/WKGammaTransferFilter.h:
1567         * svg/graphics/filters/cg/WKGammaTransferFilter.m:
1568         * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
1569         * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
1570         * svg/graphics/filters/cg/WKLinearTransferFilter.h:
1571         * svg/graphics/filters/cg/WKLinearTransferFilter.m:
1572         * svg/graphics/filters/cg/WKNormalMapFilter.h:
1573         * svg/graphics/filters/cg/WKNormalMapFilter.m:
1574         * svg/graphics/filters/cg/WKPointLightFilter.h:
1575         * svg/graphics/filters/cg/WKPointLightFilter.m:
1576         * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
1577         * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
1578         * svg/graphics/filters/cg/WKSpotLightFilter.h:
1579         * svg/graphics/filters/cg/WKSpotLightFilter.m:
1580         * svg/graphics/filters/cg/WKTableTransferFilter.h:
1581         * svg/graphics/filters/cg/WKTableTransferFilter.m:
1582         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
1583         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
1584         * svg/svgtags.in:
1585
1586 2007-12-08  Dan Bernstein  <mitz@apple.com>
1587
1588         Reviewed by Adele Peterson.
1589
1590         - fix two bugs in parsing of stylesheets in <style> elements created by
1591           the parser:
1592           1. each such stylesheet is parsed twice, once when the text node is
1593              added and again when the </style> tag is reached
1594           2. re-inserting such a <style> element into the document fails to
1595              re-parse and apply its stylesheet.
1596
1597         Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
1598
1599         * html/HTMLStyleElement.cpp:
1600         (WebCore::HTMLStyleElement::finishedParsing):
1601         * svg/SVGStyleElement.cpp:
1602         (WebCore::SVGStyleElement::finishedParsing):
1603
1604 2007-12-07  Sam Weinig  <sam@webkit.org>
1605
1606         Reviewed by Darin.
1607
1608         - Removes the faulty isSafeScript implementation that was only
1609           used for plugins.
1610         - Renames isSafeScript to allowsAccessFrom.
1611
1612         * bindings/js/JSDOMWindowCustom.cpp:
1613         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1614         (WebCore::JSDOMWindow::customPut):
1615         * bindings/js/kjs_dom.cpp:
1616         (WebCore::checkNodeSecurity):
1617         * bindings/js/kjs_window.cpp:
1618         (KJS::createWindow):
1619         (KJS::Window::getValueProperty):
1620         (KJS::Window::namedItemGetter):
1621         (KJS::Window::getOwnPropertySlot):
1622         (KJS::Window::put):
1623         (KJS::Window::allowsAccessFrom):
1624         (KJS::Window::setListener):
1625         (KJS::Window::getListener):
1626         (KJS::WindowProtoFuncOpen::callAsFunction):
1627         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
1628         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
1629         (KJS::WindowProtoFuncSetInterval::callAsFunction):
1630         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
1631         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
1632         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
1633         (KJS::Location::getOwnPropertySlot):
1634         (KJS::Location::put):
1635         (KJS::LocationProtoFuncReplace::callAsFunction):
1636         (KJS::LocationProtoFuncReload::callAsFunction):
1637         (KJS::LocationProtoFuncAssign::callAsFunction):
1638         (KJS::LocationProtoFuncToString::callAsFunction):
1639         * bindings/js/kjs_window.h:
1640         (KJS::Window::allowsAccessFrom):
1641         * bindings/objc/WebScriptObject.mm:
1642         (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
1643         the new call.
1644         * bindings/scripts/CodeGeneratorJS.pm:
1645
1646 2007-12-08  Rob Buis  <buis@kde.org>
1647
1648         Reviewed by Darin.
1649
1650         http://bugs.webkit.org/show_bug.cgi?id=15464
1651         SVGLengthList allows bad values
1652
1653         Be more strict with svg lengths without a unit identifier.
1654
1655         Test: svg/custom/invalid-lengthlist.svg
1656
1657         * svg/SVGLength.cpp:
1658         (WebCore::SVGLength::setValueAsString):
1659
1660 2007-12-08  Rob Buis  <buis@kde.org>
1661
1662         Mac Tiger build fix.
1663
1664         Use the wtf prefix when including MathExtras.h.
1665
1666         * rendering/RenderMedia.cpp:
1667
1668 2007-12-08  Alp Toker  <alp@atoker.com>
1669
1670         GTK+ build fix (for ENABLE_VIDEO builds):
1671
1672         Include MathExtras.h to get isfinite().
1673
1674         * rendering/RenderMedia.cpp:
1675
1676 2007-12-08  Rob Buis  <buis@kde.org>
1677
1678         Reviewed by Darin.
1679
1680         http://bugs.webkit.org/show_bug.cgi?id=15528
1681         svg_dynamic_cast should be removed
1682
1683         Replace svg_dynamic_cast with a combination of
1684         isSVGElement and static_cast.
1685
1686         * rendering/SVGRootInlineBox.cpp:
1687         (WebCore::SVGRootInlineBox::buildLayoutInformation):
1688         (WebCore::SVGRootInlineBox::buildTextChunks):
1689         * svg/SVGAnimationElement.cpp:
1690         (WebCore::SVGAnimationElement::targetElement):
1691         * svg/SVGElement.h:
1692         * svg/SVGElementInstance.cpp:
1693         (WebCore::SVGElementInstance::updateInstance):
1694         * svg/SVGFilterElement.cpp:
1695         (WebCore::SVGFilterElement::canvasResource):
1696         * svg/SVGGradientElement.cpp:
1697         (WebCore::SVGGradientElement::buildStops):
1698         * svg/SVGLocatable.cpp:
1699         (WebCore::SVGLocatable::getTransformToElement):
1700         * svg/SVGMaskElement.cpp:
1701         (WebCore::SVGMaskElement::drawMaskerContent):
1702         * svg/SVGSwitchElement.cpp:
1703         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
1704         * svg/SVGUseElement.cpp:
1705         (WebCore::SVGUseElement::insertedIntoDocument):
1706         (WebCore::SVGUseElement::buildPendingResource):
1707         (WebCore::SVGUseElement::buildInstanceTree):
1708         (WebCore::SVGUseElement::handleDeepUseReferencing):
1709         (WebCore::SVGUseElement::buildShadowTree):
1710         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1711         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
1712         * svg/graphics/SVGResource.cpp:
1713         (WebCore::getResourceById):
1714
1715 2007-12-07  Antti Koivisto  <antti@apple.com>
1716
1717         Reviewed by Adele.
1718         
1719         Partial fix for <rdar://problem/5633400>
1720         Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
1721         
1722         Fix video painting when transform is applied.
1723
1724         Test: media/video-transformed.html
1725
1726         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1727         (WebCore::MediaPlayerPrivate::paint):
1728
1729 2007-12-07  Dan Bernstein  <mitz@apple.com>
1730
1731         Reviewed by Sam Weinig.
1732
1733         - fix http://bugs.webkit.org/show_bug.cgi?id=16348
1734           @font-face does not affect the default style
1735
1736         Test: fast/css/font-face-default-font.html
1737
1738         * dom/Document.cpp:
1739         (WebCore::Document::recalcStyle): Pass our font selector to
1740         Font::update() if we already have one.
1741
1742 2007-12-07  Darin Adler  <darin@apple.com>
1743
1744         - fix Windows build
1745
1746         * bridge/win/GlobalHistoryWin.cpp:
1747         (WebCore::historyContains): Missed a rename.
1748
1749 2007-12-07  Brady Eidson  <beidson@apple.com>
1750
1751         Reviewed by Anders and Darin
1752
1753         When a statement bumps up against the quota and the UI Delegate grants more space, we need to
1754         actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
1755         in the DatabaseTracker, which was already done)
1756
1757         * storage/SQLTransaction.cpp:
1758         (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
1759           the SQLiteDatabase to the new maximum size
1760
1761 2007-12-07  Darin Adler  <darin@apple.com>
1762
1763         - fix Tiger build
1764
1765         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
1766         QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
1767
1768 2007-12-07  Darin Adler  <darin@apple.com>
1769
1770         - fix 64-bit build, hopefully without breaking Tiger build
1771
1772         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1773         (WebCore::MediaPlayerPrivate::updateStates):
1774         Don't use Movies.h constants that are nonexistent in 64-bit.
1775         Define the new QTMovie.h constants, though, when using an older QTKit.
1776
1777 2007-12-07  Brady Eidson  <beidson@apple.com>
1778
1779         Reviewed by Anders
1780
1781         Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
1782
1783         * storage/DatabaseTracker.cpp:
1784         (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
1785         (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
1786         * storage/DatabaseTracker.h:
1787
1788 2007-12-07  Darin Adler  <darin@apple.com>
1789
1790         Reviewed by Mitz.
1791
1792         - http://bugs.webkit.org/show_bug.cgi?id=15981
1793           speed up visited-link code a bit
1794
1795         * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
1796         instead of requiring a DeprecatedString.
1797
1798         * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
1799         Also removes pointless "fast Latin-1" case that was never used.
1800         * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
1801         * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
1802         * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
1803
1804         * css/CSSStyleSelector.cpp:
1805         (WebCore::findHash): Added. Helper for cleanpath.
1806         (WebCore::findSlashDotDotSlash): Ditto.
1807         (WebCore::findSlashSlash): Ditto.
1808         (WebCore::findSlashDotSlash): Ditto.
1809         (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
1810         DeprecatedString find function.
1811         (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
1812         (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
1813         instead of an AtomicString for the attribute value. Changed to use fast helper function
1814         instead of slower DeprecatedString::contains function, and also made the fast case not
1815         bother allocating a DeprecatedConstString.
1816
1817         - unrelated tiny cleanup
1818
1819         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1820         (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
1821         (WebCore::cgGradientCallback): Ditto.
1822
1823 2007-12-07  Darin Adler  <darin@apple.com>
1824
1825         Fix build on Tiger (Mark Rowe told me how).
1826
1827         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1828         Include <objc/objc-runtime.h>, which existed back on Tiger,
1829         rather than <objc/runtime.h>, which did not.
1830
1831 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
1832
1833         Build fix: rolling out last build fix to change #include path.
1834
1835         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1836
1837 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
1838
1839         Re-named our B&I flag from BUILDBOT to PRODUCTION.
1840
1841         Reviewed by Sam Weinig.
1842
1843         * WebCore.vcproj/WebCore.make:
1844
1845 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
1846
1847         Build fix: corrected #include path.
1848
1849         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1850
1851 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
1852
1853         Reviewed by Sam Weinig.
1854
1855         Added some namespace qualifications and a forwarding header, now that
1856         KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
1857
1858         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
1859         * bindings/js/JSXSLTProcessor.cpp:
1860         (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
1861         * bindings/js/kjs_binding.cpp:
1862         (KJS::ScriptInterpreter::getDOMNodeForDocument):
1863         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
1864         (KJS::ScriptInterpreter::putDOMNodeForDocument):
1865         (KJS::ScriptInterpreter::markDOMNodesForDocument):
1866         (KJS::ScriptInterpreter::updateDOMNodeDocument):
1867
1868 2007-12-07  Adam Roben  <aroben@apple.com>
1869
1870         Add SoftLinking.h for Windows and use it in a few places
1871
1872         Reviewed by Oliver.
1873
1874         * WebCore.vcproj/WebCore.vcproj: Added new file to project.
1875         * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
1876         (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
1877         soft-linking calls.
1878         (WebCore::PlatformScrollbar::paintButton): Check for the presence of
1879         the SafariTheme library now that we can't check for the presence of
1880         paintThemePart directly.
1881         (WebCore::PlatformScrollbar::paintTrack): Ditto.
1882         (WebCore::PlatformScrollbar::paintThumb): Ditto.
1883         * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
1884         * rendering/RenderThemeSafari.cpp: Same basic changes as to
1885         PlatformScrollBarSafari.cpp.
1886         (WebCore::RenderThemeSafari::RenderThemeSafari):
1887         (WebCore::RenderThemeSafari::isControlStyled):
1888         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
1889         * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
1890
1891 2007-12-07  Darin Adler  <darin@apple.com>
1892
1893         Reviewed by Adele.
1894
1895         - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
1896           at WebCore::HTMLSelectElement::saveState const + 152
1897
1898         Test: fast/forms/select-set-inner.html
1899
1900         * dom/ContainerNode.cpp:
1901         (WebCore::ContainerNode::removeChildren): Added a return value, as with other
1902         calls that change children, so we can optimize for the case where it does nothing.
1903         (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
1904         * dom/ContainerNode.h: See above.
1905
1906         * html/HTMLOptGroupElement.cpp:
1907         (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
1908         recalcSelectOptions in that case.
1909         (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
1910         addChild, for consistency with HTMLSelectElement; no need to override both.
1911         (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
1912         * html/HTMLOptGroupElement.h: See above.
1913
1914         * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
1915         override childrenChanged, and addChild calls that.
1916         (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
1917         recalcSelectOptions in that case.
1918         (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
1919         by using a for loop and traverseNextSibling. Also added some new comments and
1920         removed some obsolete ones.
1921         (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
1922         sure we don't have a stale list items vector.
1923         * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
1924         This will help us catch cases where we have too few calls to setRecalcListItems.
1925
1926 2007-12-07  Dan Bernstein  <mitz@apple.com>
1927
1928         Reviewed by Darin Adler.
1929
1930         - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
1931
1932         Test: fast/repaint/focus-ring.html
1933
1934         * editing/SelectionController.cpp:
1935         (WebCore::SelectionController::caretRepaintRect): Changed to return just
1936         the caret rect without any padding.
1937         (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
1938         just the caret rect without any padding.
1939         * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
1940         clearFocusRingClip().
1941         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
1942         * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
1943         * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
1944         m_focusRingClip member.
1945         * platform/graphics/mac/GraphicsContextMac.mm:
1946         (WebCore::GraphicsContext::drawFocusRing): Changed to call
1947         wkDrawFocusRing() once without setting up additional clip. On Leopard,
1948         wkDrawFocusRing() respects the context clip now. On Tiger, a
1949         transparency layer is used to apply clipping to the focus ring.
1950         * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
1951         methods and member.
1952         * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
1953         * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
1954         to wkDrawFocusRing().
1955         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1956         * rendering/RenderLayer.cpp:
1957         (WebCore::setClip): Removed call to set the focus ring clip.
1958         (WebCore::restoreClip): Removed call to reset the focus ring clip.
1959
1960 2007-12-07  Darin Adler  <darin@apple.com>
1961
1962         Reviewed by Antti Koivisto and Kevin Decker.
1963
1964         - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
1965
1966         Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
1967
1968         * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
1969
1970         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
1971         Made a lot more functions const. Made a few more members private and a couple inline.
1972         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
1973         things we currently use in QTKit. It's a little more awkward for classes and other data objects
1974         than it is for functions, but still relatively straightforward, with no changes needed to the
1975         client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
1976         it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
1977         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
1978         members to nil.
1979         (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
1980         (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
1981         (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
1982         Changed to use long instead of int because that's the type for a QTTime time scale anyway.
1983         (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
1984         (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
1985         (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
1986         points set to avoid a potential problem with a set being modified as we iterate it.
1987         (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
1988         (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
1989         values, used the constants from the headers directly.
1990         (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
1991         pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
1992         of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
1993         no better). Used RetainPtr instead of explicit CFRelease calls.
1994
1995         * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
1996         It's not quite as automatic as the soft linking we can do for functions, since these define
1997         functions to get the values, so you need to define macros to make what look like variable
1998         accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
1999
2000         * html/HTMLMediaElement.h:
2001         * html/TimeRanges.h:
2002         * html/VoidCallback.h:
2003         * platform/graphics/MediaPlayer.h:
2004         Use angle brackets for wtf includes. Omit unneeded includes.
2005
2006 2007-12-07  Dan Bernstein  <mitz@apple.com>
2007
2008         Reviewed by Darin Adler.
2009
2010         - fix http://bugs.webkit.org/show_bug.cgi?id=16334
2011           <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
2012
2013         Test: fast/dynamic/subtree-no-common-root-static-y.html
2014
2015         * rendering/RenderObject.cpp:
2016         (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
2017         to setChildNeedsLayout() to not mark containing blocks and added a
2018         separate call to markContainingBlocksForLayout() that will not schedule
2019         a layout if we are already in the middle of scheduleRelayoutOfSubtree().
2020
2021 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
2022
2023         Reviewed by Darin.
2024
2025         http://bugs.webkit.org/show_bug.cgi?id=16325
2026         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
2027         
2028         Test: http/tests/misc/empty-cookie.html
2029
2030         * platform/mac/CookieJar.mm:
2031         (WebCore::setCookies): Don't store empty cookies.
2032         (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
2033         with an earlier version of Leopard!
2034
2035 2007-12-06  Ada Chan  <adachan@apple.com>
2036
2037         Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
2038         returning true when there's an error).
2039
2040         Reviewed by Steve.
2041
2042         * platform/win/FileSystemWin.cpp:
2043         (WebCore::makeAllDirectories):
2044
2045 2007-12-06  Darin Adler  <darin@apple.com>
2046
2047         - fix broken regression test
2048
2049         * bindings/js/kjs_binding.cpp:
2050         (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
2051
2052 2007-12-06  Darin Adler  <darin@apple.com>
2053
2054         Reviewed by Sam Weinig.
2055
2056         - fix http://bugs.webkit.org/show_bug.cgi?id=16332
2057           ObjC DOM exception object descriptions should include the exception name
2058
2059         * WebCore.pro: Added ExceptionCode.cpp.
2060         * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
2061         * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
2062         * WebCoreSources.bkl: Added ExceptionCode.cpp.
2063
2064         * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
2065         ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
2066         the many unneeded includes that were here. Had to keep one special case here, for
2067         SECURITY_ERR.
2068
2069         * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
2070         new getExceptionCodeDescription function so that this shares the exception name
2071         information that was previously only available to JavaScript.
2072
2073         * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
2074         (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
2075         handle exception names in a slightly more robust way that is not subject to integer
2076         overflow. (Not a real world issue since we should never receive a bad exception code.)
2077
2078         * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
2079         getExceptionCodeDescription function.
2080
2081         * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
2082         the comments were mildly helpful, but others were incorrect. This now matches the other
2083         exception-related headers such as RangeException.h.
2084
2085 2007-12-06  Brady Eidson  <beidson@apple.com>
2086
2087         Reviewed by Darin
2088
2089         Fixed a glaring bug that would prevent a statement from getting run a second time
2090
2091         * storage/SQLStatement.cpp:
2092         (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
2093           and return early
2094         (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
2095
2096 2007-12-06  Timothy Hatcher  <timothy@apple.com>
2097
2098         Reviewed by Oliver Hunt.
2099
2100         Use keydown instead of keypress so keyIdentifier can be used.
2101
2102         * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
2103         * page/inspector/DatabasePanel.js: Ditto.
2104         * page/inspector/inspector.js: Ditto. Plus call removeEventListener
2105         before deleting windowLoaded.
2106
2107 2007-12-06  Adam Roben  <aroben@apple.com>
2108
2109         Rename FontsTable.plist to FontsList.plist
2110
2111         Rubberstamped by Hyatt.
2112
2113         * platform/graphics/win/FontDatabase.cpp:
2114
2115 2007-12-06  Brady Eidson  <beidson@apple.com>
2116
2117         Reviewed by Darin
2118
2119         Tweaked a comment and a few assertions from my last checkin
2120
2121         * storage/SQLStatement.cpp:
2122         (WebCore::SQLStatement::execute):
2123         (WebCore::SQLStatement::clearFailureDueToQuota):
2124         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
2125
2126 2007-12-06  Brady Eidson <beidson@apple.com>
2127
2128         Reviewed by Darin
2129
2130         Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
2131         will ask the UI Delegate for more space when that quota is met
2132
2133         * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
2134         * platform/sql/SQLiteDatabase.h: Ditto
2135
2136         * storage/Database.cpp:
2137         (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
2138         (WebCore::Database::stringIdentifier): Ditto
2139         * storage/Database.h:
2140
2141         * storage/SQLStatement.cpp:
2142         (WebCore::SQLStatement::SQLStatement):
2143         (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
2144           If the result is quota, this statement expects that it might be run again, presumably after the user increases 
2145           the quota
2146         (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
2147         (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
2148         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
2149         * storage/SQLStatement.h:
2150
2151         * storage/SQLTransaction.cpp:
2152         (WebCore::SQLTransaction::SQLTransaction):
2153         (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
2154         (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this 
2155           transaction.  Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
2156         (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
2157           decision and whether the current statement was already run
2158         (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
2159         (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
2160           that handles a statement error was moved here
2161         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then 
2162           reschedule the current statement on the database thread
2163         * storage/SQLTransaction.h:
2164
2165 2007-12-06  Steve Falkenburg  <sfalken@apple.com>
2166
2167         <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
2168         
2169         Don't use callback-based timers, since these cause Windows to eat Windows crashes
2170         in code the timers call.
2171         
2172         Windows appears to be defending against "shatter" attacks partially by setting
2173         up a structured exception block while dispatching callback-based WM_TIMERs.
2174         
2175         I verified this by adding a divide by zero into some timer callback code.
2176         In the case where the timer was dispatched via a callback, the divide by zero
2177         exception was silently handled and ignored, with execution continuing after
2178         our call to DispatchMessage.  When processed via the WNDPROC, no SEH
2179         block was established by Windows, and our divide by zero generated a real
2180         crash (which is what we wanted).
2181         
2182         Windows handling our crashes for us led us to leave the timer data structures
2183         in an invalid state so the next time a timer was set, we'd crash accessing an
2184         invalid HashMap of timer data.
2185         
2186         Reviewed by Hyatt.
2187
2188         * platform/win/SharedTimerWin.cpp:
2189         (WebCore::TimerWindowWndProc):
2190         (WebCore::setSharedTimerFireTime):
2191
2192 2007-12-06  Adam Roben  <aroben@apple.com>
2193
2194         Fix <rdar://5108390> Feed title is too low in blue banner
2195
2196         Way back in r23069 we started applying the same font ascent hack that
2197         Mac WebKit applies to Helvetica, Times, and Courier. We did this so
2198         that those fonts would match the Mac metrics when we run the
2199         regression tests. However, this hack was applying to Arial on Windows
2200         when a site would specify the Helvetica font face because Windows will
2201         alias the font names. Instead of removing the hack entirely, we
2202         turn it off by default but provide some SPI so that DumpRenderTree can
2203         turn it on.
2204
2205         Reviewed by Hyatt.
2206
2207         All tests pass.
2208
2209         * platform/graphics/FontData.h: Add a new static method to turn on the
2210         hack on Windows only.
2211         * platform/graphics/win/FontDataWin.cpp:
2212         (WebCore::FontData::setShouldApplyMacAscentHack): Added.
2213         (WebCore::FontData::platformInit): Only perform the hack if
2214         shouldApplyMacAscentHack is true.
2215
2216 2007-12-06  Geoffrey Garen  <ggaren@apple.com>
2217
2218         Reviewed by Sam Weinig.
2219
2220         Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
2221         REGRESSION (r28470): Crash expanding a GMail conversation
2222         
2223         * page/Frame.cpp:
2224         (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
2225         we haven't created the proxy yet. If we've created the proxy already, a
2226         script may be in the midst of execution, even though we've lost our
2227         settings object. During execution, scripts assume they have free access
2228         to the proxy.
2229
2230 2007-12-06  Adele Peterson  <adele@apple.com>
2231
2232         Reviewed by Oliver.
2233
2234         Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
2235
2236         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
2237         * html/HTMLMediaElement.h:
2238
2239 2007-12-05  Antti Koivisto  <antti@apple.com>
2240
2241         Reviewed by Oliver.
2242
2243         Rename
2244
2245         Movie -> MediaPlayer
2246         MoviePrivate -> MediaPlayerPrivate
2247         
2248         Movie is QuickTime terminology and clashes with its C API.
2249
2250         * WebCore.xcodeproj/project.pbxproj:
2251         * html/HTMLMediaElement.cpp:
2252         (WebCore::HTMLMediaElement::HTMLMediaElement):
2253         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2254         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
2255         (WebCore::HTMLMediaElement::bufferingRate):
2256         (WebCore::HTMLMediaElement::load):
2257         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
2258         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
2259         (WebCore::HTMLMediaElement::setReadyState):
2260         (WebCore::HTMLMediaElement::progressEventTimerFired):
2261         (WebCore::HTMLMediaElement::seek):
2262         (WebCore::HTMLMediaElement::currentTime):
2263         (WebCore::HTMLMediaElement::duration):
2264         (WebCore::HTMLMediaElement::playbackRate):
2265         (WebCore::HTMLMediaElement::setPlaybackRate):
2266         (WebCore::HTMLMediaElement::play):
2267         (WebCore::HTMLMediaElement::pause):
2268         (WebCore::HTMLMediaElement::setVolume):
2269         (WebCore::HTMLMediaElement::setMuted):
2270         (WebCore::HTMLMediaElement::pickMedia):
2271         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
2272         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
2273         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2274         (WebCore::HTMLMediaElement::mediaPlayerCuePointReached):
2275         (WebCore::HTMLMediaElement::addCuePoint):
2276         (WebCore::HTMLMediaElement::buffered):
2277         (WebCore::HTMLMediaElement::seekable):
2278         (WebCore::HTMLMediaElement::effectiveStart):
2279         (WebCore::HTMLMediaElement::effectiveEnd):
2280         (WebCore::HTMLMediaElement::effectiveLoopStart):
2281         (WebCore::HTMLMediaElement::effectiveLoopEnd):
2282         (WebCore::HTMLMediaElement::updateMediaPlayer):
2283         (WebCore::HTMLMediaElement::willSaveToCache):
2284         * html/HTMLMediaElement.h:
2285         (WebCore::HTMLMediaElement::player):
2286         * html/HTMLVideoElement.cpp:
2287         (WebCore::HTMLVideoElement::videoWidth):
2288         (WebCore::HTMLVideoElement::videoHeight):
2289         * platform/MIMETypeRegistry.cpp:
2290         (WebCore::initialiseSupportedMediaMIMETypes):
2291         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
2292         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
2293         * platform/MIMETypeRegistry.h:
2294         * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp.
2295         (WebCore::MediaPlayer::MediaPlayer):
2296         (WebCore::MediaPlayer::~MediaPlayer):
2297         (WebCore::MediaPlayer::load):
2298         (WebCore::MediaPlayer::cancelLoad):
2299         (WebCore::MediaPlayer::play):
2300         (WebCore::MediaPlayer::pause):
2301         (WebCore::MediaPlayer::duration):
2302         (WebCore::MediaPlayer::currentTime):
2303         (WebCore::MediaPlayer::seek):
2304         (WebCore::MediaPlayer::paused):
2305         (WebCore::MediaPlayer::seeking):
2306         (WebCore::MediaPlayer::naturalSize):
2307         (WebCore::MediaPlayer::hasVideo):
2308         (WebCore::MediaPlayer::networkState):
2309         (WebCore::MediaPlayer::readyState):
2310         (WebCore::MediaPlayer::volume):
2311         (WebCore::MediaPlayer::setVolume):
2312         (WebCore::MediaPlayer::rate):
2313         (WebCore::MediaPlayer::setRate):
2314         (WebCore::MediaPlayer::muted):
2315         (WebCore::MediaPlayer::setMuted):
2316         (WebCore::MediaPlayer::dataRate):
2317         (WebCore::MediaPlayer::setEndTime):
2318         (WebCore::MediaPlayer::addCuePoint):
2319         (WebCore::MediaPlayer::removeCuePoint):
2320         (WebCore::MediaPlayer::clearCuePoints):
2321         (WebCore::MediaPlayer::maxTimeBuffered):
2322         (WebCore::MediaPlayer::maxTimeSeekable):
2323         (WebCore::MediaPlayer::bytesLoaded):
2324         (WebCore::MediaPlayer::totalBytesKnown):
2325         (WebCore::MediaPlayer::totalBytes):
2326         (WebCore::MediaPlayer::setRect):
2327         (WebCore::MediaPlayer::visible):
2328         (WebCore::MediaPlayer::setVisible):
2329         (WebCore::MediaPlayer::paint):
2330         (WebCore::MediaPlayer::getSupportedTypes):
2331         (WebCore::MediaPlayer::networkStateChanged):
2332         (WebCore::MediaPlayer::readyStateChanged):
2333         (WebCore::MediaPlayer::volumeChanged):
2334         (WebCore::MediaPlayer::timeChanged):
2335         (WebCore::MediaPlayer::cuePointReached):
2336         * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h.
2337         (WebCore::MediaPlayerClient::~MediaPlayerClient):
2338         (WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged):
2339         (WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged):
2340         (WebCore::MediaPlayerClient::mediaPlayerVolumeChanged):
2341         (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
2342         (WebCore::MediaPlayerClient::mediaPlayerCuePointReached):
2343         * platform/graphics/Movie.cpp: Removed.
2344         * platform/graphics/Movie.h: Removed.
2345         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp.
2346         (WebCore::mediaPlayerPrivateErrorCallback):
2347         (WebCore::mediaPlayerPrivateEOSCallback):
2348         (WebCore::mediaPlayerPrivateStateCallback):
2349         (WebCore::mediaPlayerPrivateBufferingCallback):
2350         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2351         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2352         (WebCore::MediaPlayerPrivate::load):
2353         (WebCore::MediaPlayerPrivate::play):
2354         (WebCore::MediaPlayerPrivate::pause):
2355         (WebCore::MediaPlayerPrivate::duration):
2356         (WebCore::MediaPlayerPrivate::currentTime):
2357         (WebCore::MediaPlayerPrivate::seek):
2358         (WebCore::MediaPlayerPrivate::setEndTime):
2359         (WebCore::MediaPlayerPrivate::addCuePoint):
2360         (WebCore::MediaPlayerPrivate::removeCuePoint):
2361         (WebCore::MediaPlayerPrivate::clearCuePoints):
2362         (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
2363         (WebCore::MediaPlayerPrivate::cancelSeek):
2364         (WebCore::MediaPlayerPrivate::cuePointTimerFired):
2365         (WebCore::MediaPlayerPrivate::paused):
2366         (WebCore::MediaPlayerPrivate::seeking):
2367         (WebCore::MediaPlayerPrivate::naturalSize):
2368         (WebCore::MediaPlayerPrivate::hasVideo):
2369         (WebCore::MediaPlayerPrivate::setVolume):
2370         (WebCore::MediaPlayerPrivate::setMuted):
2371         (WebCore::MediaPlayerPrivate::setRate):
2372         (WebCore::MediaPlayerPrivate::dataRate):
2373         (WebCore::MediaPlayerPrivate::networkState):
2374         (WebCore::MediaPlayerPrivate::readyState):
2375         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
2376         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2377         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
2378         (WebCore::MediaPlayerPrivate::bytesLoaded):
2379         (WebCore::MediaPlayerPrivate::totalBytesKnown):
2380         (WebCore::MediaPlayerPrivate::totalBytes):
2381         (WebCore::MediaPlayerPrivate::cancelLoad):
2382         (WebCore::MediaPlayerPrivate::updateStates):
2383         (WebCore::MediaPlayerPrivate::loadStateChanged):
2384         (WebCore::MediaPlayerPrivate::rateChanged):
2385         (WebCore::MediaPlayerPrivate::sizeChanged):
2386         (WebCore::MediaPlayerPrivate::timeChanged):
2387         (WebCore::MediaPlayerPrivate::volumeChanged):
2388         (WebCore::MediaPlayerPrivate::didEnd):
2389         (WebCore::MediaPlayerPrivate::loadingFailed):
2390         (WebCore::MediaPlayerPrivate::setRect):
2391         (WebCore::MediaPlayerPrivate::setVisible):
2392         (WebCore::MediaPlayerPrivate::paint):
2393         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2394         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
2395         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h.
2396         * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed.
2397         * platform/graphics/gtk/MoviePrivateGStreamer.h: Removed.
2398         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h.
2399         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm.
2400         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2401         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2402         (WebCore::MediaPlayerPrivate::createQTMovie):
2403         (WebCore::MediaPlayerPrivate::createQTMovieView):
2404         (WebCore::MediaPlayerPrivate::createQTTime):
2405         (WebCore::MediaPlayerPrivate::load):
2406         (WebCore::MediaPlayerPrivate::play):
2407         (WebCore::MediaPlayerPrivate::pause):
2408         (WebCore::MediaPlayerPrivate::duration):
2409         (WebCore::MediaPlayerPrivate::currentTime):
2410         (WebCore::MediaPlayerPrivate::seek):
2411         (WebCore::MediaPlayerPrivate::doSeek):
2412         (WebCore::MediaPlayerPrivate::cancelSeek):
2413         (WebCore::MediaPlayerPrivate::seekTimerFired):
2414         (WebCore::MediaPlayerPrivate::setEndTime):
2415         (WebCore::MediaPlayerPrivate::addCuePoint):
2416         (WebCore::MediaPlayerPrivate::removeCuePoint):
2417         (WebCore::MediaPlayerPrivate::clearCuePoints):
2418         (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
2419         (WebCore::MediaPlayerPrivate::cuePointTimerFired):
2420         (WebCore::MediaPlayerPrivate::paused):
2421         (WebCore::MediaPlayerPrivate::seeking):
2422         (WebCore::MediaPlayerPrivate::naturalSize):
2423         (WebCore::MediaPlayerPrivate::hasVideo):
2424         (WebCore::MediaPlayerPrivate::setVolume):
2425         (WebCore::MediaPlayerPrivate::setMuted):
2426         (WebCore::MediaPlayerPrivate::setRate):
2427         (WebCore::MediaPlayerPrivate::dataRate):
2428         (WebCore::MediaPlayerPrivate::networkState):
2429         (WebCore::MediaPlayerPrivate::readyState):
2430         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
2431         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2432         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
2433         (WebCore::MediaPlayerPrivate::bytesLoaded):
2434         (WebCore::MediaPlayerPrivate::totalBytesKnown):
2435         (WebCore::MediaPlayerPrivate::totalBytes):
2436         (WebCore::MediaPlayerPrivate::cancelLoad):
2437         (WebCore::MediaPlayerPrivate::updateStates):
2438         (WebCore::MediaPlayerPrivate::loadStateChanged):
2439         (WebCore::MediaPlayerPrivate::rateChanged):
2440         (WebCore::MediaPlayerPrivate::sizeChanged):
2441         (WebCore::MediaPlayerPrivate::timeChanged):
2442         (WebCore::MediaPlayerPrivate::volumeChanged):
2443         (WebCore::MediaPlayerPrivate::didEnd):
2444         (WebCore::MediaPlayerPrivate::setRect):
2445         (WebCore::MediaPlayerPrivate::setVisible):
2446         (WebCore::MediaPlayerPrivate::paint):
2447         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2448         (-[WebCoreMovieObserver initWithCallback:WebCore::]):
2449         * platform/graphics/mac/MoviePrivateQTKit.h: Removed.
2450         * platform/graphics/mac/MoviePrivateQTKit.mm: Removed.
2451         * rendering/RenderMedia.cpp:
2452         (WebCore::RenderMedia::player):
2453         * rendering/RenderMedia.h:
2454         * rendering/RenderVideo.cpp:
2455         (WebCore::RenderVideo::RenderVideo):
2456         (WebCore::RenderVideo::~RenderVideo):
2457         (WebCore::RenderVideo::videoSizeChanged):
2458         (WebCore::RenderVideo::paintReplaced):
2459         (WebCore::RenderVideo::layout):
2460         (WebCore::RenderVideo::updateFromElement):
2461         (WebCore::RenderVideo::updatePlayer):
2462         * rendering/RenderVideo.h:
2463
2464 2007-12-06  Geoffrey Garen  <ggaren@apple.com>
2465
2466         Build fix: access global object directly.
2467
2468         * plugins/win/PluginViewWin.cpp:
2469         (WebCore::PluginViewWin::bindingInstance):
2470
2471 2007-12-06  Mark Rowe  <mrowe@apple.com>
2472
2473         Reviewed by Eric.
2474
2475         Fix bug spotted by GCC 4.2.
2476
2477         * bindings/js/kjs_window.cpp:
2478         (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp.
2479
2480 2007-12-06  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2481
2482         Reviewed by Alp Toker.
2483
2484         http://bugs.webkit.org/show_bug.cgi?id=16173
2485         Licensing change
2486
2487         Change license from BSD to LGPL.
2488
2489         * platform/gtk/FileSystemGtk.cpp:
2490
2491 2007-12-05  Rob Buis  <buis@kde.org>
2492
2493         Reviewed by Mitz.
2494
2495         http://bugs.webkit.org/show_bug.cgi?id=15289
2496         WebKit does not respect clip paths of a 0x0 rect
2497
2498         Make empty clip paths clip the whole referencing graphic.
2499
2500         * svg/SVGClipPathElement.cpp:
2501         (WebCore::SVGClipPathElement::canvasResource):
2502         * svg/graphics/SVGResourceClipper.h:
2503         (WebCore::ClipDataList::isEmpty):
2504
2505 2007-12-05  Darin Adler  <darin@apple.com>
2506
2507         Reviewed by Maciej.
2508
2509         - fix http://bugs.webkit.org/show_bug.cgi?id=16266
2510           <rdar://problem/5625279> REGRESSION: crash loading CNN.com at
2511           Interpreter::createObjectsForGlobalObjectProperties()
2512
2513         I don't know how to reproduce this in a test.
2514
2515         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
2516         Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference
2517         right now, but it's best to call your base class, not your base's base.
2518
2519         * bindings/js/kjs_events.h: Removed unneeded virtual from the
2520         JSUnprotectedEventListener::mark() function; it neither derives from or is
2521         derived from anyone else with a mark() function so there's no need for virtual.
2522
2523         * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
2524         not JSObject::mark. This is the actual bug fix.
2525
2526 2007-12-05  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
2527
2528         http://bugs.webkit.org/show_bug.cgi?id=16145
2529         [gtk] Implement media support in GTK backend
2530
2531         Reviewed by Alp Toker.
2532
2533         Remove old comments, fix variable names, match WebKit coding style.
2534
2535         * platform/graphics/gtk/MoviePrivateGStreamer.cpp:
2536         (WebCore::moviePrivateEOSCallback):
2537         (WebCore::MoviePrivate::MoviePrivate):
2538         (WebCore::MoviePrivate::load):
2539         (WebCore::MoviePrivate::play):
2540         (WebCore::MoviePrivate::pause):
2541         (WebCore::MoviePrivate::currentTime):
2542         (WebCore::MoviePrivate::seek):
2543         (WebCore::MoviePrivate::cancelSeek):
2544         (WebCore::MoviePrivate::seeking):
2545         (WebCore::MoviePrivate::naturalSize):
2546         (WebCore::MoviePrivate::setVolume):
2547         (WebCore::MoviePrivate::setMuted):
2548         (WebCore::MoviePrivate::maxTimeBuffered):
2549         (WebCore::MoviePrivate::bytesLoaded):
2550         (WebCore::MoviePrivate::totalBytesKnown):
2551         (WebCore::MoviePrivate::totalBytes):
2552         (WebCore::MoviePrivate::updateStates):
2553         (WebCore::MoviePrivate::didEnd):
2554         (WebCore::MoviePrivate::paint):
2555         (WebCore::MoviePrivate::createGSTPlayBin):
2556         * platform/graphics/gtk/MoviePrivateGStreamer.h:
2557
2558 2007-12-05  Mark Rowe  <mrowe@apple.com>
2559
2560         Speculative wx build fix.  Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs.
2561
2562         * platform/wx/TemporaryLinkStubs.cpp:
2563
2564 2007-12-05  Alp Toker  <alp@atoker.com>
2565
2566         Rubber stamped by Mark Rowe.
2567
2568         Remove DEPENDPATH on the generated sources directory. This causes
2569         trouble and is no longer necessary following the glib-genmarshal
2570         generator split.
2571
2572         * WebCore.pro:
2573
2574 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
2575
2576         Reviewed by Darin Adler.
2577
2578         Third step in refactoring JSGlobalObject: Moved data members and data
2579         member access from Interpreter to JSGlobalObject. Changed Interpreter
2580         member functions to static functions. Same for the subclass, 
2581         ScriptInterpreter.
2582         
2583         This is a big change, but it's mostly code motion and renaming.
2584         
2585 2007-12-05  Darin Adler  <darin@apple.com>
2586
2587         "Reviewed" by Geoff.
2588
2589         * loader/FrameLoader.cpp:
2590         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion.
2591         (WebCore::FrameLoader::dispatchDidCommitLoad): This one too.
2592         The assertions are firing like crazy. Not sure why yet.
2593
2594 2007-12-05  Darin Adler  <darin@apple.com>
2595
2596         Reviewed by Adam Roben.
2597
2598         - fix http://bugs.webkit.org/show_bug.cgi?id=16306
2599           Assertion failed in WebCore/loader/FrameLoader.cpp:4642
2600
2601         * loader/FrameLoader.cpp:
2602         (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument
2603         and don't deliver the client call in that case.
2604
2605 2007-12-05  Mark Rowe  <mrowe@apple.com>
2606
2607         Reviewed by Kevin Decker.
2608
2609         Fix 64-bit debug build.
2610
2611         * platform/text/mac/TextCodecMac.cpp:
2612         (WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit,
2613         so we need to cast it to be able to use a single format specifier on both.
2614
2615 2007-12-05  Kevin Decker  <kdecker@apple.com>
2616
2617         Reviewed by Hyatt.
2618
2619         <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov)
2620        
2621         * loader/FrameLoader.cpp:
2622         (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to
2623         takeover TIFF once again.
2624         
2625 2007-12-05  Luca Bruno  <lethalman88@gmail.com>
2626
2627         Reviewed by Alp Toker.
2628
2629         http://bugs.webkit.org/show_bug.cgi?id=16290
2630         [GTK] Pasting clipboard in rich text.
2631
2632         * platform/gtk/PasteboardGtk.cpp:
2633         (Pasteboard::documentFragment): Implement rich text paste support.
2634
2635 2007-12-05  Adele Peterson  <adele@apple.com>
2636
2637         Reviewed by Hyatt.
2638
2639         Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
2640
2641         We need to just fix the underlying focus ring repaint problem.
2642
2643         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
2644
2645 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
2646
2647         Reviewed by Darin.
2648
2649         - <rdar://5621435>
2650         - Security Fix. Instead of having it off by default, WebKit now must
2651         explicitly turn off local-resource restriction when needed for backwards
2652         compatibility reasons.
2653
2654         * loader/FrameLoader.cpp:
2655
2656 2007-12-05  Adam Roben  <aroben@apple.com>
2657
2658         Set the menu item identifier for all menu items
2659
2660         This allows WebKit clients to distinguish between submenus in the
2661         context menu.
2662
2663         Reviewed by Darin.
2664
2665         No test possible.
2666
2667         * platform/win/ContextMenuItemWin.cpp:
2668         (WebCore::ContextMenuItem::ContextMenuItem):
2669
2670 2007-12-05  Dan Bernstein  <mitz@apple.com>
2671
2672         Reviewed by Darin Adler.
2673
2674         - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
2675
2676         * manual-tests/nested-plug-ins.html: Added.
2677         * manual-tests/resources/nested-plug-ins-inner-frame.html: Added.
2678         * manual-tests/resources/nested-plug-ins-outer-frame.html: Added.
2679         * platform/ScrollView.h:
2680         * platform/Widget.h:
2681         (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected
2682         via visible ScrollViews to the root ScrollView of the WebView.
2683         (WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer
2684         connected via visible ScrollViews to the root ScrollView of the WebView.
2685         * platform/win/ScrollViewWin.cpp:
2686         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added
2687         m_visible and m_attachedToWindow members.
2688         (WebCore::ScrollView::attachToWindow): Added. Attaches all children if this
2689         view is visible.
2690         (WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this
2691         view is visible (otherwise they would be detached already).
2692         (WebCore::ScrollView::show): Added. Attaches all children if this view
2693         is attached.
2694         (WebCore::ScrollView::hide): Added. Detaches all children if this view
2695         is attached (otherwise they would be detached already).
2696         (WebCore::ScrollView::isAttachedToWindow): Added.
2697         * platform/win/WidgetWin.cpp:
2698         (WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow()
2699         depending on whether the parent is set and attached or not.
2700         * plugins/win/PluginViewWin.cpp:
2701         (WebCore::PluginViewWin::setFocus):
2702         (WebCore::PluginViewWin::show): Changed to show the plug-in only if
2703         this view is attached.
2704         (WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this
2705         view is attached (otherwise it would be hidden already).
2706         (WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view
2707         is visible.
2708         (WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view
2709         is visible (otherwise it would be hidden already).
2710         (WebCore::PluginViewWin::PluginViewWin):
2711         * plugins/win/PluginViewWin.h: Added m_attachedToWindow member.
2712
2713 2007-12-04  Alp Toker  <alp@atoker.com>
2714
2715         Potential GTK+ build fix for the glib-genmarshal issue.
2716
2717         Split the glib-genmarshal qmake generator in two; one for the source
2718         file, another for the header.
2719
2720         * WebCore.pro:
2721
2722 2007-12-04  Alp Toker  <alp@atoker.com>
2723
2724         GTK+ build fix.
2725
2726         * platform/PlugInInfoStore.h:
2727
2728 2007-12-04  Kevin Decker  <kdecker@apple.com>
2729
2730         Reviewed by Anders.
2731
2732         <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
2733
2734         * page/mac/WebCoreViewFactory.h: Added pluginNameForMIMEType: method.
2735         * platform/PlugInInfoStore.h:
2736         * platform/gtk/TemporaryLinkStubs.cpp: Added stub version of pluginNameForMIMEType.
2737         (PlugInInfoStore::pluginNameForMIMEType):
2738         * platform/mac/PlugInInfoStoreMac.mm:
2739         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added.
2740         * platform/qt/PlugInInfoStoreQt.cpp: 
2741         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
2742         * plugins/win/PlugInInfoStoreWin.cpp: 
2743         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
2744
2745 2007-12-04  Adele Peterson  <adele@apple.com>
2746
2747         Reviewed by Darin.
2748
2749         Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
2750
2751         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
2752         Adjust outline-offset so it doesn't extend beyond the border to interfere with typing
2753
2754 2007-12-04  Anders Carlsson  <andersca@apple.com>
2755
2756         Reviewed by Jon.
2757
2758         Always call NPP_NewStream, NPP_DestroyStream and NPP_URLNotify for JavaScript
2759         result streams, even if the JavaScript expression threw an exception or returned undefined.
2760         This matches what Firefox does.
2761         
2762         * plugins/win/PluginStreamWin.cpp:
2763         (WebCore::PluginStreamWin::sendJavaScriptStream):
2764         Handle the result string being null, and set the correct NPReason if it is.
2765         
2766         * plugins/win/PluginViewWin.cpp:
2767         (WebCore::PluginViewWin::performRequest):
2768         Always send the JavaScript stream, regardless of the result could be converted to a string or not.
2769
2770 2007-12-04  Adele Peterson  <adele@apple.com>
2771
2772         Reviewed by Hyatt.
2773
2774         Fix for <rdar://problem/5622464> controls should show up for audio element
2775
2776         * css/html4.css: Added styles for audio controls.  This will need to be refined, since we may want a different look for audio controls.
2777         * html/HTMLMediaElement.cpp:
2778         (WebCore::HTMLMediaElement::attributeChanged): When the controls attribute changes detach and reattach if necessary. 
2779         (WebCore::HTMLMediaElement::rendererIsNeeded): Added.
2780         (WebCore::HTMLMediaElement::createRenderer): Added.  Uses RenderMedia.
2781         * html/HTMLMediaElement.h:
2782         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): Added constructor that doesn't take intrinsic size.
2783         * rendering/RenderMedia.h:
2784
2785 2007-12-04  Anders Carlsson  <andersca@apple.com>
2786
2787         Reviewed by Sam.
2788
2789         Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
2790         implementation, which always returns true(!).
2791         
2792         * bindings/js/kjs_window.cpp:
2793         (KJS::Window::isSafeScript):
2794         Make the static isSafeScript method take two JSGlobalObjects.
2795         
2796         * bindings/js/kjs_window.h:
2797         (KJS::Window::isSafeScript):
2798         Implement isSafeScript and have it call the static method.
2799
2800 2007-11-27  Adam Roben  <aroben@apple.com>
2801
2802         Make the implementation of Frame::setNeedsReapplyStyles cross-platform
2803
2804         Reviewed by Hyatt.
2805
2806         No change in functionality.
2807
2808         * page/Frame.cpp:
2809         (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
2810         FrameView so that FrameView::layout will be called, which ends up
2811         calling reapplyStyles.
2812         (WebCore::Frame::needsReapplyStyles): Added.
2813         (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
2814         (WebCore::FramePrivate::FramePrivate):
2815         * page/Frame.h:
2816         * page/FramePrivate.h: Added new boolean member.
2817         * page/FrameView.cpp:
2818         (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
2819         (WebCore::FrameView::needsLayout): Say that we need layout if the
2820         Frame needs styles reapplied.
2821         * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
2822         * page/mac/WebCoreFrameBridge.mm:
2823         (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
2824         rename.
2825
2826         * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
2827         * page/gtk/FrameGtk.cpp: Ditto.
2828         * page/mac/FrameMac.mm: Ditto.
2829         * page/qt/FrameQt.cpp: Ditto.
2830         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
2831
2832 2007-12-04  Antti Koivisto  <antti@apple.com>
2833
2834         Reviewed by Adele.
2835
2836         Pass intrinsic size to the base class.
2837
2838         * rendering/RenderMedia.cpp:
2839         (WebCore::RenderMedia::RenderMedia):
2840
2841 2007-12-04  Adele Peterson  <adele@apple.com>
2842
2843         Reviewed by Darin.
2844
2845         Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey
2846
2847         * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation):
2848           When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload.
2849
2850 2007-12-04  Darin Adler  <darin@apple.com>
2851
2852         Reviewed by Kevin Decker.
2853
2854         - added an assertion for a situation that leads to a Safari assertion:
2855           a commit that is not followed by a load completion
2856
2857         - removed some unneeded FrameLoader stuff -- maybe some day we'll get this
2858           class cut down to size
2859
2860         * loader/FrameLoader.cpp:
2861         (WebCore::FrameLoader::FrameLoader): Added boolean for assertion.
2862         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert
2863         that we already sent a commit before sending a complete.
2864         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call
2865         client directly instead of indirecting through a function.
2866         (WebCore::FrameLoader::loadItem): Ditto.
2867         (WebCore::FrameLoader::goToItem): Ditto.
2868         (WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing
2869         state from Settings instead of FrameLoaderClient. Also call client directly
2870         instead of indirecting through a function.
2871         (WebCore::FrameLoader::updateHistoryForReload): Call client directly instead
2872         of indirecting through a function.
2873         (WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert
2874         that we did not yet send a commit and set the flag that will be used to check
2875         that we don't do this twice in a row without an intervening completion call.
2876
2877         * loader/FrameLoader.h: Added a boolean for the assertion. Removed six
2878         now-unneeded functions.
2879
2880         * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function.
2881
2882         * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get
2883         the private browsing state from Settings instead of FrameLoaderClient.
2884
2885         * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled.
2886
2887 2007-12-03  Antti Koivisto  <antti@apple.com>
2888
2889         Reviewed by Adele.
2890         
2891         Fix <rdar://problem/5624802> 
2892         Controller displays outside of <video> element when width and height aren't specified 
2893
2894         - Explicitly adjust size of the controls tree root.
2895         - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree
2896           by hand. This also allows better code sharing with other replaced element classes.
2897         - Move duplicated layout and painting code from subclasses up to RenderReplaced.
2898
2899         Test: media/video-controls-rendering.html
2900
2901         * rendering/RenderHTMLCanvas.cpp:
2902         (WebCore::RenderHTMLCanvas::paintReplaced):
2903         * rendering/RenderHTMLCanvas.h:
2904             Share code.
2905         * rendering/RenderImage.cpp:
2906         (WebCore::RenderImage::paintReplaced):
2907         (WebCore::RenderImage::minimumReplacedHeight):
2908         * rendering/RenderImage.h:
2909             Share code.
2910         * rendering/RenderMedia.cpp:
2911         (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
2912         (WebCore::RenderMediaControlShadowRoot::setParent):
2913             Add a subclass just to get through encapsulation to use setParent().
2914         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
2915             Move initialization to the constructor.
2916         (WebCore::RenderMedia::RenderMedia):
2917         (WebCore::RenderMedia::~RenderMedia):
2918         (WebCore::RenderMedia::layout):
2919             Resize and layout the controller root by hand.
2920         (WebCore::RenderMedia::firstChild):
2921         (WebCore::RenderMedia::lastChild):
2922         (WebCore::RenderMedia::removeChild):
2923             Support one child renderer for controls.
2924         (WebCore::RenderMedia::createControlsShadowRoot):
2925         * rendering/RenderMedia.h:
2926         (WebCore::RenderMedia::isMedia):
2927             Switch base class to RenderReplaced, delete the now unnecessary stuff.
2928         * rendering/RenderReplaced.cpp:
2929         (WebCore::RenderReplaced::layout):
2930         (WebCore::RenderReplaced::paint):
2931         * rendering/RenderReplaced.h:
2932         (WebCore::RenderReplaced::minimumReplacedHeight):
2933         (WebCore::RenderReplaced::paintReplaced):
2934             Share code.
2935         * rendering/RenderVideo.cpp:
2936         (WebCore::RenderVideo::videoSizeChanged):
2937             Simplify, just request relayout.
2938         (WebCore::RenderVideo::paintReplaced):
2939         (WebCore::RenderVideo::layout):
2940         * rendering/RenderVideo.h:
2941             Share code.
2942
2943 2007-12-04  Michael Natterer  <mitch@imendio.com>
2944
2945         Reviewed by Alp Toker.
2946
2947         * WebCore.pro: fix build of webkit-marshal by building the
2948         functions into a separate .cpp file instead of including them in
2949         the header. This way we can use the marshallers from more than one
2950         file without using bad hacks.
2951
2952         Add the generated sources directory to DEPENDPATH.
2953
2954 2007-12-04  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
2955
2956         Reviewed by Alp Toker.
2957
2958         http://bugs.webkit.org/show_bug.cgi?id=16145
2959         [gtk] Implement media support in GTK backend
2960
2961         This implements the media tags of HTML5 on the GTK+ port based on the 
2962         Mac port. Media tests pass although some tests required a small modifications: 
2963         As per the HTML5 spec, the loading of the clip should start only after 
2964         all script are done.  But in the case of the tests, the loading starts 
2965         before some callbacks get registered.  This has been discussed with 
2966         Antti Koivisto, and the tests should be updated.
2967
2968         There is only one known issue: one time in 10 tries, loading a buffered 
2969         clip will never end buffering.  The buffering will stall at 97% for no 
2970         apparent reasons.  Reloading the page usually works around the problem.
2971         On the GStreamer side, some codecs don't return correct values, therefore
2972         they make the tests fail.  For instance H.264 will make the video-end 
2973         test fail.  This should be fixed in GStreamer 0.10.15.
2974
2975         This version displays video in a pop up window.  A place holder is drawn
2976         on the page where the video should appear.
2977
2978         By default, it is turned off in WebCore.pro until GStreamer/X
2979         detection issues are sorted out.
2980
2981         * WebCore.pro:
2982         Disable video for now
2983         * platform/Logging.cpp:
2984         (WebCore::):
2985         * platform/Logging.h:
2986         Added a logging level for Media stuff
2987         * platform/graphics/Movie.cpp:
2988         * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added.
2989         (WebCore::moviePrivateErrorCallback):
2990         (WebCore::moviePrivateEOSCallback):
2991         (WebCore::moviePrivateStateCallback):
2992         (WebCore::moviePrivateBufferingCallback):
2993         (WebCore::moviePrivateWindowIDCallback):
2994         (WebCore::MoviePrivate::MoviePrivate):
2995         (WebCore::MoviePrivate::~MoviePrivate):
2996         (WebCore::MoviePrivate::load):
2997         (WebCore::MoviePrivate::play):
2998         (WebCore::MoviePrivate::pause):
2999         (WebCore::MoviePrivate::duration):
3000         (WebCore::MoviePrivate::currentTime):
3001         (WebCore::MoviePrivate::seek):
3002         (WebCore::MoviePrivate::setEndTime):
3003         (WebCore::MoviePrivate::addCuePoint):
3004         (WebCore::MoviePrivate::removeCuePoint):
3005         (WebCore::MoviePrivate::clearCuePoints):
3006         (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
3007         (WebCore::MoviePrivate::cancelSeek):
3008         (WebCore::MoviePrivate::cuePointTimerFired):
3009         (WebCore::MoviePrivate::paused):
3010         (WebCore::MoviePrivate::seeking):
3011         (WebCore::MoviePrivate::naturalSize):
3012         (WebCore::MoviePrivate::hasVideo):
3013         (WebCore::MoviePrivate::setVolume):
3014         (WebCore::MoviePrivate::setMuted):
3015         (WebCore::MoviePrivate::setRate):
3016         (WebCore::MoviePrivate::dataRate):
3017         (WebCore::MoviePrivate::networkState):
3018         (WebCore::MoviePrivate::readyState):
3019         (WebCore::MoviePrivate::maxTimeBuffered):
3020         (WebCore::MoviePrivate::maxTimeSeekable):
3021         (WebCore::MoviePrivate::maxTimeLoaded):
3022         (WebCore::MoviePrivate::bytesLoaded):
3023         (WebCore::MoviePrivate::totalBytesKnown):
3024         (WebCore::MoviePrivate::totalBytes):
3025         (WebCore::MoviePrivate::cancelLoad):
3026         (WebCore::MoviePrivate::updateStates):
3027         (WebCore::MoviePrivate::loadStateChanged):
3028         (WebCore::MoviePrivate::rateChanged):
3029         (WebCore::MoviePrivate::sizeChanged):
3030         (WebCore::MoviePrivate::timeChanged):
3031         (WebCore::MoviePrivate::volumeChanged):
3032         (WebCore::MoviePrivate::didEnd):
3033         (WebCore::MoviePrivate::loadingFailed):
3034         (WebCore::MoviePrivate::setRect):
3035         (WebCore::MoviePrivate::setVisible):
3036         (WebCore::MoviePrivate::paint):
3037         (WebCore::MoviePrivate::getSupportedTypes):
3038         (WebCore::MoviePrivate::createGSTPlayBin):
3039         * platform/graphics/gtk/MoviePrivateGStreamer.h: Added.
3040
3041 2007-12-04  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3042
3043         Reviewed by Simon.
3044
3045         * Implement the InspectorClient for the Qt port
3046         * It does not support highlighting of nodes yet
3047         * Use QRC to open the internal page. The important thing is the
3048         '/' in the URL to make WebCore::Document::completeURL behave the
3049         way we want.
3050         * To make the InspectorClient work we will have to mark qrc as secure.
3051
3052         * WebCore.pro:
3053         * loader/FrameLoader.cpp:
3054         (WebCore::localSchemes):
3055         * page/inspector/WebKit.qrc: Added.
3056
3057 2007-12-04  Alp Toker  <alp@atoker.com>
3058
3059         Rubber stamped by Mark Rowe.
3060
3061         Remove two unused variables to silence warnings.
3062
3063         * html/CanvasRenderingContext2D.cpp:
3064         (WebCore::CanvasRenderingContext2D::fill):
3065         (WebCore::CanvasRenderingContext2D::stroke):
3066
3067 2007-12-03  Dan Bernstein  <mitz@apple.com>
3068
3069         Reviewed by Darin Adler.
3070
3071         - fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows
3072
3073         * platform/win/ScrollViewWin.cpp:
3074         (WebCore::ScrollView::visibleWidth): Do not return negative values.
3075         (WebCore::ScrollView::visibleHeight): Ditto.
3076
3077 2007-12-03  Dan Bernstein  <mitz@apple.com>
3078
3079         Reviewed by Dave Hyatt.
3080
3081         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
3082
3083         Test: fast/events/resize-subframe.html
3084
3085         * page/FrameView.cpp:
3086         (WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when
3087         deferring tasks that need to be done after layout.
3088         (WebCore::FrameViewPrivate::reset):
3089         (WebCore::FrameView::~FrameView):
3090         (WebCore::FrameView::layout): Moved the updating of widget positions,
3091         loading plug-ins and sending events queued up during layout into
3092         performPostLayoutTasks(). performPostLayoutTasks() is called after
3093         layout unless the layout was triggered by a previous layout's post-
3094         layout tasks. In the latter case, performPostLayoutTasks() is scheduled
3095         to run later.
3096         (WebCore::FrameView::performPostLayoutTasks): Performs work that needs
3097         to be done after layout but which can result in arbitrary code
3098         execution and therefore may re-invalidate the layout. This includes
3099         updating widget positions, loading plug-ins, and dispatching layout-
3100         related DOM events (scroll, overflow and resize).
3101         (WebCore::FrameView::postLayoutTimerFired):
3102         (WebCore::FrameView::dispatchScheduledEvents):
3103         * page/FrameView.h:
3104         * page/mac/WebCoreFrameBridge.h:
3105         * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this
3106         is handled by FrameView now.
3107
3108 2007-12-03  Rob Buis  <buis@kde.org>
3109
3110         Reviewed by Darin.
3111
3112         http://bugs.webkit.org/show_bug.cgi?id=15767
3113         Text decorations do not respect "visibility" property
3114
3115         Only paint decorations if visibility is "visible".
3116
3117         * rendering/SVGInlineTextBox.cpp:
3118         (WebCore::SVGInlineTextBox::paintDecoration):
3119
3120 2007-12-03  Steve Falkenburg  <sfalken@apple.com>
3121
3122         Fix build.
3123
3124         * WebCore.vcproj/WebCore.vcproj:
3125
3126 2007-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
3127
3128         Reviewed by David.
3129
3130         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15645
3131         Don't allow selectors to interfere with the SVG shadow tree (<use> internal non-exposed tree).
3132
3133         * css/CSSStyleSelector.cpp:
3134         (WebCore::CSSStyleSelector::checkSelector):
3135
3136 2007-12-03  Dan Bernstein  <mitz@apple.com>
3137
3138         Reviewed by Adam Roben.
3139
3140         - fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild
3141
3142         Test: fast/dom/Document/replaceChild-null-oldChild.html
3143
3144         * dom/Document.cpp:
3145         (WebCore::Document::canReplaceChild):
3146
3147 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3148
3149         Reviewed by Simon.
3150
3151         * Avoid crashes by making sure everything is layouted before
3152         we start painting. This avoids a crash in Widget::invalidateRect
3153         because QPainter::begin would fail
3154         * The QWebFrame::layout() methods and calls are left untouched because
3155         this would be an API decision.
3156         
3157
3158         WARNING: NO TEST CASES ADDED OR CHANGED
3159
3160         * page/FrameView.cpp:
3161         (WebCore::FrameView::updateControlTints):
3162         * page/FrameView.h:
3163         * platform/ScrollView.h:
3164         * platform/qt/ScrollViewQt.cpp:
3165         (WebCore::ScrollView::children):
3166
3167 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3168
3169         Reviewed by Simon.
3170
3171         * Implement GraphicsContext::fillRoundedRect similiar to the
3172         CoreGraphics implementation only addPath is not called this
3173         seems to be only needed for CoreGraphics.
3174         
3175
3176         WARNING: NO TEST CASES ADDED OR CHANGED
3177
3178         * platform/graphics/qt/GraphicsContextQt.cpp:
3179         (WebCore::GraphicsContext::fillRoundedRect):
3180
3181 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3182
3183         Reviewed by Simon.
3184
3185         * Coding Style fixes
3186         
3187
3188         WARNING: NO TEST CASES ADDED OR CHANGED
3189
3190         * platform/qt/ScrollViewQt.cpp:
3191         (WebCore::ScrollView::addChild):
3192         (WebCore::ScrollView::removeChild):
3193
3194 2007-12-03  Alp Toker  <alp@atoker.com>
3195
3196         Reviewed by Mark Rowe.
3197
3198         Don't delete the decoder if it's already been created. The one we have
3199         is fine.
3200
3201         Cairo image cleanups. Nothing substantial.
3202
3203         Notify ImageObservers where appropriate.
3204
3205         * platform/graphics/cairo/ImageCairo.cpp:
3206         (WebCore::BitmapImage::draw):
3207         (WebCore::Image::drawPattern):
3208         * platform/graphics/cairo/ImageSourceCairo.cpp:
3209         (WebCore::ImageSource::setData):
3210         * platform/graphics/gtk/ImageGtk.cpp:
3211
3212 2007-12-03  Simon Hausmann  <hausmann@webkit.org>
3213
3214         Reviewed by Lars.
3215
3216         Fixed crash when rendering form elements with Qt 4.4
3217
3218         QPainter::device() is not guaranteed to return a QWidget, so do the safe "cast" with the
3219         help of QPaintDevice::devType().
3220         Also fall back to the QApplication::style() if we don't have a widget.
3221
3222         * platform/qt/RenderThemeQt.cpp:
3223         (WebCore::RenderThemeQt::paintButton):
3224         (WebCore::RenderThemeQt::paintTextField):
3225         (WebCore::RenderThemeQt::paintMenuList):
3226         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
3227
3228 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3229
3230         Reviewed by Sam Weinig.
3231
3232         * Add FrameLoader::shouldTreatSchemeAsLocal which is similar to
3233         shouldTreatURLAsLocal.
3234         * Make use of FrameLoader::shouldTreatSchemeAsLocal in SecurityOrigin
3235         and do not hardcode "file". This is needed for the WebKit/qt port to make
3236         the Web Inspector work as it using the qrc protocol instead of file.
3237
3238
3239         * loader/FrameLoader.cpp:
3240         (WebCore::FrameLoader::shouldTreatSchemeAsLocal):
3241         * loader/FrameLoader.h:
3242         * platform/SecurityOrigin.cpp:
3243         (WebCore::SecurityOrigin::isSecureTransitionTo):
3244
3245 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3246
3247         Rubber stamped by Sam Weinig.
3248
3249         Only add applewebdata to the localSchemes when building for the
3250         mac. This is in preparation of adding qrc for the Qt port there
3251         as well and http://bugs.webkit.org/show_bug.cgi?id=15938.
3252
3253         According to Anders applewebdata is not used on the win port.
3254
3255         * loader/FrameLoader.cpp:
3256         (WebCore::localSchemes):
3257
3258 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3259
3260         Rubber stamped by Sam Weinig.
3261
3262         Fix a typo. It is contains and not containts
3263
3264         * loader/FrameLoader.cpp:
3265
3266 2007-12-03  Alp Toker  <alp@atoker.com>
3267
3268         Add another missing DEPENDPATH.
3269
3270         Noticed when fixing the build.
3271
3272         * WebCore.pro:
3273
3274 2007-12-03  Adam Roben  <aroben@apple.com>
3275
3276         Speculative Windows build fix
3277
3278         * plugins/win/PluginViewWin.cpp:
3279         (WebCore::getString):
3280
3281 2007-12-03  Geoffrey Garen  <ggaren@apple.com>
3282
3283         Build fix: added symbols to the right .exp file.
3284
3285         * WebCore.base.exp:
3286
3287 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
3288
3289         Reviewed by Eric Seidel.
3290
3291         Updated to match the JavaScriptCore change to move virtual methods from
3292         Interpreter to JSGlobalObject.
3293         
3294         Moved virtual ScriptInterpreter functions to Window.
3295
3296 2007-12-02  Darin Adler  <darin@apple.com>
3297
3298         Reviewed by Mitz.
3299
3300         - fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/
3301
3302         There were two problems here:
3303
3304             1) Incorrect HTMLCollection behavior led to us trying to insert a
3305                new row inside an existing row instead of next to it. The fix for
3306                this is to make HTMLCollection work better for table-related
3307                collections.
3308
3309             2) HTMLTableRowElement::insertCell would return a bad pointer if
3310                the insertion failed. The code should have failed, but not crashed,
3311                so it's worth fixing that too.
3312
3313         While fixing the HTMLCollection issues, I did some clean-up of that
3314         class and its derived classes.
3315
3316         Test: fast/dom/HTMLTableElement/rows.html
3317         Test: fast/dom/HTMLTableElement/tBodies.html
3318         Test: fast/dom/HTMLTableRowElement/cells.html
3319         Test: fast/dom/HTMLTableRowElement/insertCell.html
3320         Test: fast/dom/HTMLTableSectionElement/rows.html
3321
3322         * bindings/js/JSHTMLCollectionCustom.cpp:
3323         (WebCore::toJS): Updated because collectionType() was renamed to type().
3324
3325         * html/HTMLCollection.cpp:
3326         (WebCore::HTMLCollection::HTMLCollection): Updated for data member name
3327         changes. Also added a protected constructor for use by derived classes
3328         that pass in a CollectionInfo.
3329         (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of
3330         the header.
3331         (WebCore::isTableSection): Added.
3332         (WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem,
3333         because the old name was grammatically incorrect and thus a bit confusing.
3334         Changed to operate on Element* instead of Node*, and use 0 to start
3335         rather than passing in the base node (required since the base node can be
3336         a document, which is not an element). Generalized the code that made
3337         NodeChildren not descend into deeper descendants so it can be used for
3338         TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the
3339         switch statement and got rid of the "found" boolean since we can just
3340         return when we find something. Got rid of the default case, and instead
3341         listed all the enum values. Also changed to use a for loop for clarity.
3342         (WebCore::HTMLCollection::calcLength): Updated for itemAfter changes.
3343         (WebCore::HTMLCollection::item): Ditto.
3344         (WebCore::HTMLCollection::nextItem): Ditto.
3345         (WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element
3346         instead of a Node pointer.
3347         (WebCore::HTMLCollection::namedItem): More of the same.
3348         (WebCore::HTMLCollection::updateNameCache): Ditto.
3349         (WebCore::HTMLCollection::namedItems): Ditto.
3350         (WebCore::HTMLCollection::nextNamedItem): Ditto.
3351         (WebCore::HTMLCollection::tags): Ditto.
3352
3353         * html/HTMLCollection.h: Added a type FormElements, so that the
3354         HTMLFormCollection would not have a type of DocImages, which is what
3355         it previously did. Changed the base parameter to be a PassRefPtr to
3356         make it clear we take ownership of it. Added a comment explaining
3357         why we should change the name CollectionInfo. Made a lot more members
3358         private instead of protected. Renamed traverseNextItem to itemAfter.
3359         Changed most functions to take Element* instead of Node*.
3360
3361         * html/HTMLFormCollection.cpp:
3362         (WebCore::HTMLFormCollection::formCollectionInfo): Added.
3363         (WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass
3364         collection info into the base class.
3365         (WebCore::HTMLFormCollection::calcLength): Updated to use base() so we
3366         don't need to get at m_base directly.
3367         (WebCore::HTMLFormCollection::item): Same, but for info().
3368         (WebCore::HTMLFormCollection::getNamedItem): Removed unused first
3369         argument.
3370         (WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded
3371         checks that the base is still an element and still a form, since that's
3372         guaranteed.
3373         (WebCore::HTMLFormCollection::nextItem): Use info().
3374         (WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of
3375         Element, some name changes.
3376         (WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere.
3377         (WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop
3378         to be much simpler.
3379         (WebCore::HTMLFormCollection::updateNameCache): More of the same.
3380
3381         * html/HTMLFormCollection.h: Changed constructor to take an
3382         HTMLFormElement, using a PassRefPtr to communicate transfer of
3383         ownership. Made everything private instead of protected. Removed
3384         unneeded override of firstItem. Made getNamedItem and
3385         nextNamedItemInternal non-virtual. Removed unused first argument of
3386         getNamedItem. Added declaration of formCollectionInfo.
3387
3388         * html/HTMLNameCollection.cpp:
3389         (WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass
3390         collection info into the base class.
3391         (WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and
3392         changed into a for loop.
3393
3394         * html/HTMLNameCollection.h: Updated for name changes. Made function
3395         private instead of public. Used PassRefPtr in constructor.
3396
3397         * html/HTMLOptionsCollection.cpp:
3398         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to
3399         pass collection info into the base class.
3400         (WebCore::HTMLOptionsCollection::add): Updated for public/private
3401         changes in the base class.
3402         (WebCore::HTMLOptionsCollection::selectedIndex): Ditto.
3403         (WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto.
3404         (WebCore::HTMLOptionsCollection::setLength): Ditto.
3405
3406         * html/HTMLOptionsCollection.h: Changed constructor parameter to be a
3407         PassRefPtr.
3408
3409         * html/HTMLTableRowElement.cpp:
3410         (WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr
3411         and PassRefPtr since this creates a new object. This alone fixed the
3412         crash. Also cleaned up logic a bit to be more readable.
3413
3414         * html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr.
3415         Also reordered functions a bit to make things a little more logical and
3416         removed the unused ncols data member.
3417
3418         * html/HTMLTableSectionElement.cpp:
3419         (WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not
3420         TableRows. This mistake was harmless before because TableRows and
3421         TSectionRows were handled identically inside HTMLCollection, but that is
3422         no longer the case with this fix.
3423
3424         * bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the
3425         fact that HTMLOptionsCollection no longer includes HTMLOptionElement.
3426         I don't think this really should be a special case -- might be worth
3427         returning later to see if this can be optimized.
3428
3429 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
3430
3431         Reviewed by Adam.
3432
3433         RenderSVGViewportContainer sets wrong width/height.
3434         Share code with RenderSVGContainer in a central calcBounds() function.
3435
3436         Fixes:
3437         - svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403)
3438         - svg/custom/deep-dynamic-updates.svg
3439         - svg/custom/use-clipped-hit.svg
3440         - svg/custom/image-clipped-hit.svg
3441
3442         * rendering/RenderSVGContainer.cpp:
3443         (WebCore::RenderSVGContainer::layout):
3444         (WebCore::RenderSVGContainer::calcBounds):
3445         * rendering/RenderSVGContainer.h:
3446         * rendering/RenderSVGViewportContainer.cpp:
3447         (WebCore::RenderSVGViewportContainer::layout):
3448
3449 2007-12-02  Brady Eidson <beidson@apple.com>
3450
3451         Reviewed by Darin
3452
3453         databaseChanged notifications were being sent out on the database thread - they need to be on the main thread
3454         like all other notifications we send out!
3455
3456         * platform/SecurityOriginData.cpp:
3457         (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops
3458         * platform/SecurityOriginData.h:
3459
3460         * storage/DatabaseTracker.cpp:
3461         (WebCore::notificationMutex):
3462         (WebCore::notificationQueue):
3463         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue
3464         (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications
3465           on the main thread
3466         (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue
3467         * storage/DatabaseTracker.h:
3468
3469         * storage/SQLTransaction.cpp:
3470         (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!"
3471         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
3472
3473 2007-12-02  Rob Buis  <buis@kde.org>
3474
3475         Reviewed by Darin.
3476
3477         http://bugs.webkit.org/show_bug.cgi?id=16002
3478         Load SVG (and other) UA StyleSheets dynamically when needed
3479
3480         Load svg sheet when needed.
3481
3482         * css/CSSStyleSelector.cpp:
3483         (WebCore::screenEval):
3484         (WebCore::printEval):
3485         (WebCore::CSSStyleSelector::CSSStyleSelector):
3486         (WebCore::CSSStyleSelector::loadDefaultStyle):
3487         (WebCore::CSSStyleSelector::styleForElement):
3488         (WebCore::CSSRuleSet::addRulesFromSheet):
3489
3490 2007-12-02  Mark Rowe  <mrowe@apple.com>
3491
3492         Try and fix the Windows build.
3493
3494         * plugins/win/PluginViewWin.cpp:
3495         (WebCore::PluginViewWin::bindingInstance):
3496
3497 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
3498
3499         Rubber stamped by Eric.
3500
3501         Move platform/graphics/svg to graphics/svg as discussed on webkit-dev.
3502         Updated all project files.
3503
3504         * WebCore.pro:
3505         * WebCore.vcproj/WebCore.vcproj:
3506         * WebCore.xcodeproj/project.pbxproj:
3507         * platform/graphics/svg: Removed.
3508         * platform/graphics/svg/SVGImage.cpp: Removed.
3509         * platform/graphics/svg/SVGImage.h: Removed.
3510         * platform/graphics/svg/SVGImageEmptyClients.h: Removed.
3511         * platform/graphics/svg/SVGPaintServer.cpp: Removed.
3512         * platform/graphics/svg/SVGPaintServer.h: Removed.
3513         * platform/graphics/svg/SVGPaintServerGradient.cpp: Removed.
3514         * platform/graphics/svg/SVGPaintServerGradient.h: Removed.
3515         * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Removed.
3516         * platform/graphics/svg/SVGPaintServerLinearGradient.h: Removed.
3517         * platform/graphics/svg/SVGPaintServerPattern.cpp: Removed.
3518         * platform/graphics/svg/SVGPaintServerPattern.h: Removed.
3519         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Removed.
3520         * platform/graphics/svg/SVGPaintServerRadialGradient.h: Removed.
3521         * platform/graphics/svg/SVGPaintServerSolid.cpp: Removed.
3522         * platform/graphics/svg/SVGPaintServerSolid.h: Removed.
3523         * platform/graphics/svg/SVGResource.cpp: Removed.
3524         * platform/graphics/svg/SVGResource.h: Removed.
3525         * platform/graphics/svg/SVGResourceClipper.cpp: Removed.
3526         * platform/graphics/svg/SVGResourceClipper.h: Removed.
3527         * platform/graphics/svg/SVGResourceFilter.cpp: Removed.
3528         * platform/graphics/svg/SVGResourceFilter.h: Removed.
3529         * platform/graphics/svg/SVGResourceListener.h: Removed.
3530         * platform/graphics/svg/SVGResourceMarker.cpp: Removed.
3531         * platform/graphics/svg/SVGResourceMarker.h: Removed.
3532         * platform/graphics/svg/SVGResourceMasker.cpp: Removed.
3533         * platform/graphics/svg/SVGResourceMasker.h: Removed.
3534         * platform/graphics/svg/cairo: Re