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