2010-11-25 Philippe Normand <pnormand@igalia.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-25  Philippe Normand  <pnormand@igalia.com>
2
3         Reviewed by Martin Robinson.
4
5         [GStreamer] faster elements linking
6         https://bugs.webkit.org/show_bug.cgi?id=50067
7
8         Perform less checks during GStreamer elements linking if building
9         against GStreamer >= 0.10.30.
10
11         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
12         (WebCore::GStreamerGWorld::enterFullscreen):
13         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
14         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
15
16 2010-12-07  Philippe Normand  <pnormand@igalia.com>
17
18         Reviewed by Gustavo Noronha Silva.
19
20         [GStreamer] ::buffered() should return multiple ranges in some cases
21         https://bugs.webkit.org/show_bug.cgi?id=45101
22
23         Improved the ::buffered() method thanks to the new buffering query
24         support that landed in GStreamer 0.10.31. The method now
25         queries the media buffered-ranges on the pipeline and queue2
26         handles it if it's buffering the media to disk.
27
28         The webkitwebsrc element also gained BYTES duration query
29         support. This is needed in the rare cases where uridecodebin
30         configures its queue before the HTTP server returns the media
31         Content-Length.
32
33         Test: http/tests/media/video-buffered.html
34
35         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
36         (WebCore::MediaPlayerPrivateGStreamer::buffered):
37         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
38         (webkit_web_src_init):
39         (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
40         if it's aware of the media content-length.
41         * platform/gtk/RenderThemeGtk.cpp:
42         (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
43         the second and next buffered ranges.
44
45 2010-12-07  Yael Aharon  <yael.aharon@nokia.com>
46
47         Reviewed by Antonio Gomes.
48
49         Spatial navigation not Working for Map and Area Tags
50         https://bugs.webkit.org/show_bug.cgi?id=47142
51
52         Give area elements special treatment in spatial navigation algorithm by getting the
53         rect of the area from the associated image. Since area elements are likely to overlap
54         if they are not rects, or if authors are not careful, we flatten the rect of area elements.
55
56         Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
57                fast/spatial-navigation/snav-imagemap-area-without-image.html
58                fast/spatial-navigation/snav-imagemap-overlapped-areas.html
59                fast/spatial-navigation/snav-imagemap-simple.html
60
61         * page/FocusController.cpp:
62         (WebCore::FocusController::findFocusCandidateInContainer):
63         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
64         (WebCore::FocusController::advanceFocusDirectionally):
65         * page/SpatialNavigation.cpp:
66         (WebCore::FocusCandidate::FocusCandidate):
67         (WebCore::virtualRectForDirection):
68         (WebCore::virtualRectForAreaElementAndDirection):
69         * page/SpatialNavigation.h:
70         (WebCore::FocusCandidate::FocusCandidate):
71
72 2010-12-07  Darin Adler  <darin@apple.com>
73
74         Try to fix V8 build.
75
76         * bindings/generic/BindingDOMWindow.h:
77         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
78
79 2010-12-07  Darin Adler  <darin@apple.com>
80
81         Another build fix.
82
83         * loader/CrossOriginAccessControl.cpp: Added a missing include.
84
85 2010-12-07  Darin Adler  <darin@apple.com>
86
87         Try to fix build.
88
89         * plugins/PluginView.cpp:
90         (WebCore::PluginView::start): Pass security origin.
91         (WebCore::PluginView::getURLNotify): Ditto.
92         (WebCore::PluginView::getURL): Ditto.
93         (WebCore::PluginView::handlePost): Ditto.
94
95 2010-12-06  Darin Adler  <darin@apple.com>
96
97         Reviewed by Sam Weinig.
98
99         Pass security origin to make local file decision correctly
100         https://bugs.webkit.org/show_bug.cgi?id=48603
101
102         * bindings/generic/BindingDOMWindow.h:
103         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
104         (WebCore::BindingDOMWindow::open): Ditto.
105         * bindings/generic/BindingFrame.h:
106         (WebCore::BindingFrame::navigateIfAllowed): Ditto.
107
108         * bindings/js/JSDOMWindowCustom.cpp:
109         (WebCore::JSDOMWindow::setLocation): Pass security origin.
110         (WebCore::createWindow): Ditto.
111         (WebCore::JSDOMWindow::open): Ditto.
112
113         * bindings/js/JSDocumentCustom.cpp:
114         (WebCore::JSDocument::setLocation): Pass security origin.
115
116         * dom/Document.cpp:
117         (WebCore::Document::processHttpEquiv): Pass security origin.
118
119         * inspector/InspectorController.cpp:
120         (WebCore::InspectorController::openInInspectedWindow):
121         Pass security origin.
122
123         * loader/FrameLoader.cpp:
124         (WebCore::FrameLoader::changeLocation): Added a security origin
125         argument, passed through to urlSelected.
126         (WebCore::FrameLoader::urlSelected): Replaced the resource request
127         and frame name arguments with a frame load request arguments in one
128         overload, and changed the other overload to pass in the current
129         frame's document for the security origin.
130         (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
131         check before the referrer computation because it no longer needs
132         to look at the referrer. Replaced the call to canDisplay that
133         used the target frame's security origin and the call to
134         deprecatedCanDisplay with a single call to canDisplay that uses
135         the requester security origin.
136
137         * loader/FrameLoader.h: Updated for argument changes above.
138
139         * loader/NavigationScheduler.cpp:
140         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
141         a security origin.
142         (WebCore::ScheduledURLNavigation::fire): Pass the security origin
143         in to FrameLoader::changeLocation.
144         (WebCore::ScheduledURLNavigation::securityOrigin): Added.
145         (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
146         origin argument.
147         (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
148         (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
149         (WebCore::ScheduledRefresh::fire): Pass the security origin in to
150         FrameLoader::changeLocation.
151         (WebCore::ScheduledFormSubmission::fire): Include the security
152         origin when constructing form submission.
153         (WebCore::NavigationScheduler::scheduleRedirect): Include the security
154         origin when creating the scheduled navigation object.
155         (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
156         (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
157
158         * loader/NavigationScheduler.h: Added the security origin argument
159         to scheduleLocationChange.
160
161         * loader/SubframeLoader.cpp:
162         (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
163         origin when calling scheduleLocationChange.
164         * loader/appcache/ApplicationCacheGroup.cpp:
165         (WebCore::ApplicationCacheGroup::selectCache): Ditto.
166
167         * page/ContextMenuController.cpp:
168         (WebCore::openNewWindow): Pass in the security origin.
169         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
170
171         * page/FrameLoadRequest.h: Added a security origin called the requester
172         to all FrameLoadRequest objects.
173
174         * page/XSSAuditor.cpp:
175         (WebCore::XSSAuditor::findInRequest): Added the security origin.
176
177 2010-12-07  Yury Semikhatsky  <yurys@chromium.org>
178
179         Reviewed by Pavel Feldman.
180
181         Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
182         https://bugs.webkit.org/show_bug.cgi?id=50627
183
184         * bindings/v8/ScriptDebugServer.cpp:
185         (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has
186         not been initialized yet.
187
188 2010-12-07  Csaba Osztrogon√°c  <ossy@webkit.org>
189
190         Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.
191
192         * page/animation/AnimationBase.cpp:
193         (WebCore::addShorthandProperties):
194
195 2010-12-07  Martin Robinson  <mrobinson@igalia.com>
196
197         Unreviewed, rolling out r73392.
198         http://trac.webkit.org/changeset/73392
199         https://bugs.webkit.org/show_bug.cgi?id=50489
200
201         This commit caused crashes on the GTK+ bots
202
203         * bindings/ScriptControllerBase.cpp:
204         (WebCore::ScriptController::executeIfJavaScriptURL):
205         * dom/Document.cpp:
206         (WebCore::Document::Document):
207         (WebCore::Document::close):
208         (WebCore::Document::lastModified):
209         (WebCore::Document::finishedParsing):
210         (WebCore::Document::initSecurityContext):
211         (WebCore::Document::updateURLForPushOrReplaceState):
212         * dom/Document.h:
213         * dom/ProcessingInstruction.cpp:
214         (WebCore::ProcessingInstruction::checkStyleSheet):
215         * dom/ScriptElement.cpp:
216         (WebCore::ScriptElement::scriptCharset):
217         * html/HTMLLinkElement.cpp:
218         (WebCore::HTMLLinkElement::process):
219         * html/MediaDocument.cpp:
220         (WebCore::MediaDocument::replaceMediaElementTimerFired):
221         * html/PluginDocument.cpp:
222         (WebCore::PluginDocumentParser::createDocumentStructure):
223         * loader/DocumentLoader.cpp:
224         (WebCore::DocumentLoader::DocumentLoader):
225         (WebCore::DocumentLoader::finishedLoading):
226         (WebCore::DocumentLoader::commitData):
227         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
228         (WebCore::DocumentLoader::setFrame):
229         * loader/DocumentLoader.h:
230         * loader/DocumentWriter.cpp:
231         (WebCore::DocumentWriter::begin):
232         * loader/DocumentWriter.h:
233         * loader/FrameLoader.cpp:
234         (WebCore::FrameLoader::FrameLoader):
235         (WebCore::FrameLoader::init):
236         (WebCore::FrameLoader::clear):
237         (WebCore::FrameLoader::receivedFirstData):
238         (WebCore::FrameLoader::transitionToCommitted):
239         (WebCore::FrameLoader::open):
240         (WebCore::FrameLoader::finishedLoadingDocument):
241         (WebCore::FrameLoader::addExtraFieldsToRequest):
242         * loader/FrameLoader.h:
243         (WebCore::FrameLoader::writer):
244         * loader/cache/CachedResourceLoader.cpp:
245         (WebCore::CachedResourceLoader::requestPreload):
246         * platform/network/FormDataBuilder.cpp:
247         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
248         * svg/graphics/SVGImage.cpp:
249         (WebCore::SVGImage::dataChanged):
250
251 2010-12-07  Patrick Gansterer  <paroga@webkit.org>
252
253         Reviewed by Andreas Kling.
254
255         [CMake] Remove WebKitGenerators
256         https://bugs.webkit.org/show_bug.cgi?id=50445
257
258         Move remaining logic into main CMakeLists.txt.
259
260         * CMakeLists.txt:
261
262 2010-12-07  Justin Schuh  <jschuh@chromium.org>
263
264         Reviewed by Nikolas Zimmermann.
265
266         Clear old SVG cursor entry before adding a new one
267         https://bugs.webkit.org/show_bug.cgi?id=50549
268
269         Test: svg/css/cursor-replace.svg
270
271         * css/CSSCursorImageValue.cpp:
272         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
273         * svg/SVGCursorElement.cpp:
274         (WebCore::SVGCursorElement::~SVGCursorElement):
275         (WebCore::SVGCursorElement::removeClient):
276         (WebCore::SVGCursorElement::removeReferencedElement):
277         * svg/SVGCursorElement.h:
278         * svg/SVGElement.cpp:
279         (WebCore::SVGElement::setCursorElement):
280         (WebCore::SVGElement::cursorElementRemoved):
281         (WebCore::SVGElement::setCursorImageValue):
282         (WebCore::SVGElement::cursorImageElementRemoved):
283         * svg/SVGElement.h:
284
285 2010-12-07  Kenichi Ishibashi  <bashi@google.com>
286
287         Reviewed by Kent Tamura.
288
289         Let HTMLObjectElement be a form associated element
290         https://bugs.webkit.org/show_bug.cgi?id=48821
291
292         Introduces FormAssociatedElement class which would be a super class
293         of form assocated elements. Some of member functions and variables of
294         HTMLFormControlElement are migrated into this class.
295         Following the HTML5 spec, HTMLFormControlElement class and
296         HTMLObjectElement class are subclasses of it for now.
297
298         Test: fast/forms/form-collection-elements-order.html
299
300         * Android.mk: Added FormAssociatedElement.cpp
301         * CMakeLists.txt: Ditto.
302         * GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
303         * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
304         * WebCore.gypi: Added FormAssociatedElement.{cpp,h}
305         * WebCore.pro: Ditto.
306         * WebCore.vcproj/WebCore.vcproj: Ditto.
307         * WebCore.xcodeproj/project.pbxproj: Ditto.
308         * dom/CheckedRadioButtons.h: Fixed class forward declaration order.
309         * dom/Document.cpp:
310         (WebCore::Document::registerFormElementWithFormAttribute): Modified to
311         use FormAssociatedElement instead of HTMLFormControlElement
312         (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
313         (WebCore::Document::resetFormElementsOwner):
314         * dom/Document.h: Ditto.
315         * html/DOMFormData.cpp: Ditto.
316         (WebCore::DOMFormData::DOMFormData):
317         * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
318         (WebCore::FormAssociatedElement::FormAssociatedElement):
319         (WebCore::FormAssociatedElement::~FormAssociatedElement):
320         (WebCore::FormAssociatedElement::validity):
321         (WebCore::FormAssociatedElement::insertedIntoTree):
322         (WebCore::FormAssociatedElement::removedFromTree):
323         (WebCore::FormAssociatedElement::removeFromForm):
324         (WebCore::FormAssociatedElement::resetFormOwner):
325         (WebCore::FormAssociatedElement::formAttributeChanged):
326         (WebCore::toHTMLElement):
327         * html/FormAssociatedElement.h: Ditto.
328         (WebCore::FormAssociatedElement::ref):
329         (WebCore::FormAssociatedElement::deref):
330         (WebCore::FormAssociatedElement::formDestroyed):
331         (WebCore::FormAssociatedElement::setForm):
332         * html/HTMLElement.h: Changed the access level of findFormAncestor().
333         * html/HTMLFormCollection.cpp:
334         (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
335         instead of HTMLFormControlElement.
336         (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
337         (WebCore::HTMLFormCollection::updateNameCache): Ditto.
338         * html/HTMLFormControlElement.cpp: Modified regarding with the change of class
339         hierarchy.
340         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
341         (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
342         (WebCore::HTMLFormControlElement::insertedIntoTree):
343         (WebCore::HTMLFormControlElement::removedFromTree):
344         (WebCore::HTMLFormControlElement::supportsFocus):
345         (WebCore::HTMLFormControlElement::checkValidity):
346         (WebCore::HTMLFormControlElement::virtualForm):
347         (WebCore::HTMLFormControlElement::isDefaultButtonForForm):
348         (WebCore::HTMLFormControlElement::attributeChanged):
349         * html/HTMLFormControlElement.h: Ditto.
350         (WebCore::HTMLFormControlElement::form):
351         (WebCore::HTMLFormControlElement::disabled):
352         (WebCore::HTMLFormControlElement::type):
353         (WebCore::HTMLFormControlElement::refFormAssociatedElement):
354         (WebCore::HTMLFormControlElement::derefFormAssociatedElement):
355         * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
356         instead of HTMLFormControlElement.
357         (WebCore::HTMLFormElement::submitImplicitly):
358         (WebCore::HTMLFormElement::validateInteractively):
359         (WebCore::HTMLFormElement::submit):
360         (WebCore::HTMLFormElement::reset):
361         (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
362         (WebCore::HTMLFormElement::formElementIndex):
363         (WebCore::HTMLFormElement::registerFormElement):
364         (WebCore::HTMLFormElement::removeFormElement):
365         (WebCore::HTMLFormElement::defaultButton):
366         (WebCore::HTMLFormElement::checkValidity):
367         (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
368         (WebCore::HTMLFormElement::documentDidBecomeActive):
369         * html/HTMLFormElement.h: Ditto.
370         (WebCore::HTMLFormElement::associatedElements):
371         * html/HTMLInputElement.cpp: Ditto.
372         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
373         * html/HTMLObjectElement.cpp: Modified regarding with the change of class
374         hierarchy.
375         (WebCore::HTMLObjectElement::HTMLObjectElement):
376         (WebCore::HTMLObjectElement::~HTMLObjectElement):
377         (WebCore::HTMLObjectElement::create):
378         (WebCore::HTMLObjectElement::attributeChanged):
379         (WebCore::HTMLObjectElement::insertedIntoTree):
380         (WebCore::HTMLObjectElement::removedFromTree):
381         (WebCore::HTMLObjectElement::appendFormData):
382         (WebCore::HTMLObjectElement::formControlName):
383         * html/HTMLObjectElement.h: Ditto.
384         (WebCore::HTMLObjectElement::form):
385         (WebCore::HTMLObjectElement::isFormControlElement):
386         (WebCore::HTMLObjectElement::isEnumeratable):
387         (WebCore::HTMLObjectElement::refFormAssociatedElement):
388         (WebCore::HTMLObjectElement::derefFormAssociatedElement):
389         * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
390         * html/ValidationMessage.cpp: Modified to use FormAssociatedElement
391         instead of HTMLFormControlElement.
392         (WebCore::ValidationMessage::ValidationMessage):
393         (WebCore::ValidationMessage::create):
394         * html/ValidationMessage.h: Ditto.
395         * html/ValidityState.cpp: Ditto.
396         (WebCore::ValidityState::validationMessage):
397         (WebCore::ValidityState::setCustomErrorMessage):
398         (WebCore::ValidityState::valueMissing):
399         (WebCore::ValidityState::typeMismatch):
400         (WebCore::ValidityState::patternMismatch):
401         (WebCore::ValidityState::tooLong):
402         (WebCore::ValidityState::rangeUnderflow):
403         (WebCore::ValidityState::rangeOverflow):
404         (WebCore::ValidityState::stepMismatch):
405         * html/ValidityState.h: Ditto.
406         (WebCore::ValidityState::create):
407         (WebCore::ValidityState::ValidityState):
408         * loader/FormSubmission.cpp: Ditto.
409         (WebCore::FormSubmission::create):
410
411 2010-12-06  Pavel Feldman  <pfeldman@chromium.org>
412
413         Not reviewed. Rolling out r72988 for breaking iframes.
414
415         * css/CSSImportRule.cpp:
416         (WebCore::CSSImportRule::insertedIntoParent):
417
418 2010-12-06  Hironori Bono  <hbono@chromium.org>
419
420         Reviewed by David Levin.
421
422         [Chromium] Refactor FontCacheChromiumWin.cpp
423         https://bugs.webkit.org/show_bug.cgi?id=50611
424         
425         This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.
426
427         No new tests are added since this is a refactoring.
428
429         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
430         (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file.
431         (WebCore::toGDIFontWeight): Moved to the beginning of the file.
432         (WebCore::FillLogFont): Moved to the beginning of the file.
433         (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file.
434         (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file.
435         (WebCore::FontCache::platformInit): Moved after the static functions.
436
437 2010-12-06  Alexey Marinichev  <amarinichev@chromium.org>
438
439         Reviewed by Kenneth Russell.
440
441         Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
442         https://bugs.webkit.org/show_bug.cgi?id=50364
443
444         No new tests since there is currently no way to force a context lost event.
445
446         * html/canvas/WebGLRenderingContext.cpp:
447         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
448         (WebCore::WebGLRenderingContext::create):
449         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
450         (WebCore::WebGLRenderingContext::isContextLost):
451         (WebCore::WebGLRenderingContext::loseContext):
452         (WebCore::WebGLRenderingContext::restoreContext):
453         * html/canvas/WebGLRenderingContext.h:
454         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
455
456 2010-12-06  David Hyatt  <hyatt@apple.com>
457
458         Reviewed by Simon Fraser.
459
460         https://bugs.webkit.org/show_bug.cgi?id=50593
461         
462         Fix background canvas painting for documents with left/top overflow.  The math from the original RTL patch was incorrect.
463         
464         Just use the RenderView's document dimensions always.
465
466         * rendering/RenderBox.cpp:
467         (WebCore::RenderBox::paintRootBoxDecorations):
468
469 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
470
471         Reviewed by Beth Dakin.
472
473         CSS animation doesn't work for border-radius
474         https://bugs.webkit.org/show_bug.cgi?id=48340
475         
476         Include CSSPropertyBorderRadius in the list of shorthand
477         properties, so that the individual border-radius properties
478         get animated.
479
480         Test: transitions/border-radius-transition.html
481
482         * page/animation/AnimationBase.cpp:
483         (WebCore::addShorthandProperties):
484
485 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
486
487         Reviewed by Tony Chang.
488
489         ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
490         https://bugs.webkit.org/show_bug.cgi?id=49938
491
492         Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle*
493         instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle
494         by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and
495         EditingStyle::extractAndRemoveBlockProperties.
496
497         No new tests are added since this is a refactoring.
498
499         * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle.
500         * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const.
501         (WebCore::CSSMutableStyleDeclaration::merge):
502         * css/CSSMutableStyleDeclaration.h:
503         * editing/ApplyStyleCommand.cpp:
504         (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*.
505         (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle.
506         * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration.
507         (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*.
508         * editing/CompositeEditCommand.cpp:
509         (WebCore::CompositeEditCommand::applyStyle): Ditto.
510         (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle.
511         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
512         * editing/CompositeEditCommand.h:
513         * editing/DeleteSelectionCommand.cpp:
514         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
515         * editing/EditCommand.cpp:
516         * editing/EditCommand.h:
517         * editing/EditingStyle.cpp:
518         (WebCore::EditingStyle::~EditingStyle): Added.
519         (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete.
520         (WebCore::EditingStyle::copy): Added.
521         (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete.
522         * editing/EditingStyle.h:
523         * editing/Editor.cpp:
524         (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create.
525         (WebCore::Editor::applyParagraphStyle): Ditto.
526         (WebCore::Editor::computeAndSetTypingStyle): Ditto.
527         * editing/InsertLineBreakCommand.cpp:
528         (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle.
529         * editing/InsertParagraphSeparatorCommand.cpp:
530         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
531         * editing/InsertTextCommand.cpp:
532         (WebCore::InsertTextCommand::input): Ditto.
533         * editing/RemoveFormatCommand.cpp:
534         (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create.
535         * editing/ReplaceSelectionCommand.cpp:
536         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle.
537         * editing/SelectionController.cpp:
538         (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h
539         * editing/SelectionController.h:
540
541 2010-12-05  Ryosuke Niwa  <rniwa@webkit.org>
542
543         Reviewed by Tony Chang.
544
545         Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
546         https://bugs.webkit.org/show_bug.cgi?id=47300
547
548         The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode
549         contains more than one paragraphs even when the refNode is fully selected.
550
551         Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
552         such a situation.
553
554         Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection
555         is not properly updated when the end of selection resides in the node split by
556         rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded.
557
558         Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html
559
560         * editing/ApplyBlockElementCommand.cpp:
561         (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph.
562         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates
563         m_endOfLastParagraph when the position points to the node split by this function.
564         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto.
565         * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable.
566         * editing/FormatBlockCommand.cpp:
567         (WebCore::FormatBlockCommand::formatRange): See above.
568         * editing/FormatBlockCommand.h:
569         * editing/IndentOutdentCommand.cpp:
570         (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection.
571         * editing/IndentOutdentCommand.h:
572
573 2010-12-03  Zhenyao Mo  <zmo@google.com>
574
575         Reviewed by Kenneth Russell.
576
577         Postpone gl delete* calls until shaders/programs are no longer attached
578         https://bugs.webkit.org/show_bug.cgi?id=50501
579
580         * html/canvas/WebGLBuffer.cpp:
581         (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource.
582         * html/canvas/WebGLFramebuffer.cpp:
583         (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto.
584         * html/canvas/WebGLObject.cpp:
585         (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not.
586         * html/canvas/WebGLObject.h:
587         (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion.
588         (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject.
589         (WebCore::WebGLObject::isDeleted): Make this public.
590         * html/canvas/WebGLProgram.cpp:
591         (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource.
592         * html/canvas/WebGLRenderbuffer.cpp:
593         (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto.
594         * html/canvas/WebGLRenderingContext.cpp:
595         (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS.
596         (WebCore::WebGLRenderingContext::getShaderParameter): Ditto.
597         * html/canvas/WebGLShader.cpp:
598         (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource.
599         * html/canvas/WebGLTexture.cpp:
600         (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource.
601
602 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
603
604         Yet unreviewed another Leopard build fix for r73380.
605
606         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
607         (PlatformCAAnimation::setKeyTimes):
608         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
609         (PlatformCALayer::platformCALayer):
610
611 2010-12-06  Andy Estes  <aestes@apple.com>
612
613         Reviewed by Darin Adler.
614
615         Marquee elements do not stop animating when scrollAmount is set to 0.
616         https://bugs.webkit.org/show_bug.cgi?id=50434
617
618         Test: fast/html/marquee-scrollamount.html
619
620         * rendering/RenderMarquee.cpp:
621         (WebCore::RenderMarquee::timerFired): Allow increment to be 0.
622
623 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
624
625         Unreviewed Leopard buildfix for r73380.
626
627         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
628         (PlatformCAAnimation::setTimingFunctions):
629         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
630         (PlatformCALayer::PlatformCALayer):
631
632 2010-12-06  Philippe Normand  <pnormand@igalia.com>
633
634         Reviewed by Martin Robinson.
635
636         [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
637         https://bugs.webkit.org/show_bug.cgi?id=44157
638
639         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
640         (webKitWebSrcNeedDataMainCb):
641         (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
642         with cross-platform ResourceHandle::setDefersLoading calls.
643
644 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
645
646         Unreviewed Leopard build fix for r73388.
647
648         * accessibility/AccessibilitySlider.cpp:
649         (WebCore::AccessibilitySlider::maxValueForRange):
650         (WebCore::AccessibilitySlider::minValueForRange):
651
652 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
653
654         Unreviewed build fix for Leopard after r73379.
655
656         * platform/graphics/cg/GraphicsContextCG.cpp:
657         (WebCore::GraphicsContext::setAllowsFontSmoothing):
658
659 2010-12-06  Nate Chapin  <japhet@chromium.org>
660
661         Reviewed by Adam Barth.
662
663         Make DocumentWriter a member of DocumentLoader
664         instead of FrameLoader.
665         https://bugs.webkit.org/show_bug.cgi?id=50489
666
667         Refactor, no new tests.
668
669         * bindings/ScriptControllerBase.cpp:
670         (WebCore::ScriptController::executeIfJavaScriptURL):
671         * dom/Document.cpp:
672         (WebCore::Document::Document):
673         (WebCore::Document::close):
674         (WebCore::Document::lastModified):
675         (WebCore::Document::finishedParsing):
676         (WebCore::Document::initSecurityContext):
677         (WebCore::Document::updateURLForPushOrReplaceState):
678         * dom/Document.h:
679         (WebCore::Document::setDocumentLoader):
680         (WebCore::Document::loader):
681         * dom/ProcessingInstruction.cpp:
682         (WebCore::ProcessingInstruction::checkStyleSheet):
683         * dom/ScriptElement.cpp:
684         (WebCore::ScriptElement::scriptCharset):
685         * html/HTMLLinkElement.cpp:
686         (WebCore::HTMLLinkElement::process):
687         * html/MediaDocument.cpp:
688         (WebCore::MediaDocument::replaceMediaElementTimerFired):
689         * html/PluginDocument.cpp:
690         (WebCore::PluginDocumentParser::createDocumentStructure):
691         * loader/DocumentLoader.cpp:
692         (WebCore::DocumentLoader::DocumentLoader):
693         (WebCore::DocumentLoader::finishedLoading):
694         (WebCore::DocumentLoader::commitData):
695         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
696         (WebCore::DocumentLoader::setFrame):
697         * loader/DocumentLoader.h:
698         (WebCore::DocumentLoader::writer):
699         * loader/DocumentWriter.h:
700         (WebCore::DocumentWriter::setFrame):
701         * loader/FrameLoader.cpp:
702         (WebCore::FrameLoader::FrameLoader):
703         (WebCore::FrameLoader::init):
704         (WebCore::FrameLoader::clear):
705         (WebCore::FrameLoader::receivedFirstData):
706         (WebCore::FrameLoader::transitionToCommitted):
707         (WebCore::FrameLoader::open):
708         (WebCore::FrameLoader::finishedLoadingDocument):
709         (WebCore::FrameLoader::addExtraFieldsToRequest):
710         * loader/FrameLoader.h:
711         (WebCore::FrameLoader::notifier):
712         * loader/cache/CachedResourceLoader.cpp:
713         (WebCore::CachedResourceLoader::requestPreload):
714         * platform/network/FormDataBuilder.cpp:
715         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
716         * svg/graphics/SVGImage.cpp:
717         (WebCore::SVGImage::dataChanged):
718
719 2010-12-06  Mark Rowe  <mrowe@apple.com>
720
721         Build fix.
722
723         * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
724         That's just plain wrong.
725
726 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
727
728         Reviewed by Darin Adler.
729
730         HTML5 Slider does not work correctly with VoiceOver
731         https://bugs.webkit.org/show_bug.cgi?id=50505
732
733         Address a few problems with the Mac implementation for the accessibility slider.
734             1) The value indicator is not hit testable.
735             2) The value indicator does not return an AXValue.
736             3) In the slider, the min/max values are not correct when min/max attributes are not present.
737             4) When you change the value with the keyboard, it doesn't send out the right notification.
738             5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes.
739  
740         Test: platform/mac/accessibility/html-slider-indicator.html
741
742         * accessibility/AccessibilityObject.cpp:
743         (WebCore::AccessibilityObject::getAttribute):
744             Use fastGetAttribute on Element, instead of getAttribute.
745         * accessibility/AccessibilityObject.h:
746         (WebCore::AccessibilityObject::isInputSlider):
747         * accessibility/AccessibilityRenderObject.cpp:
748         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
749         * accessibility/AccessibilitySlider.cpp:
750         (WebCore::AccessibilitySlider::doAccessibilityHitTest):
751         (WebCore::AccessibilitySlider::maxValueForRange):
752         (WebCore::AccessibilitySlider::minValueForRange):
753         * accessibility/AccessibilitySlider.h:
754         (WebCore::AccessibilitySlider::isInputSlider):
755         * accessibility/mac/AccessibilityObjectWrapper.mm:
756         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
757         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
758         * html/HTMLInputElement.cpp:
759         (WebCore::HTMLInputElement::applyStep):
760
761 2010-12-06  David Hyatt  <hyatt@apple.com>
762
763         Reviewed by Simon Fraser.
764
765         Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
766         O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
767
768         This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
769         in the engine to cache all the information required to properly handle scrolling.
770
771         In the old code, there were two types of overflow: layout overflow and visual overflow.  The former could
772         affect scrolling and the latter could not.  The distinction was largely meaningless, since layout overflow
773         wasn't actually used to determine scroll width or scroll height.  It didn't propagate across self-painting layer
774         boundaries either.  In the old code, the term visible overflow meant the union of the layout overflow and
775         visual overflow rects.
776
777         In the new code, the two types of overflow remain, but the distinction between the two is now clear.  Visual overflow
778         is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling.  It has
779         been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
780         work with writing modes.
781
782         In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
783         Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
784         A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
785         a huge number of tests would change.
786
787         Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow.  Existing tests cover the rest.
788
789         * page/FrameView.cpp:
790         (WebCore::FrameView::adjustViewSize):
791         (WebCore::FrameView::forceLayoutForPagination):
792         Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
793         to account for writing modes.
794
795         * platform/graphics/IntRect.h:
796         (WebCore::IntRect::shiftLeftEdgeTo):
797         (WebCore::IntRect::shiftRightEdgeTo):
798         (WebCore::IntRect::shiftTopEdgeTo):
799         (WebCore::IntRect::shiftBottomEdgeTo):
800         New helper functions for sliding the edge of a rectangle without moving any of the other three edges.
801
802         * rendering/InlineBox.h:
803         (WebCore::InlineBox::frameRect):
804         frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.
805
806         * rendering/InlineFlowBox.cpp:
807         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
808         All of the overflow setting in the inline direction has been removed from this function.  All line overflow is computed
809         at once now in a single function: computeOverflow.
810
811         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
812         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
813         (WebCore::InlineFlowBox::addReplacedChildOverflow):
814         Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.
815
816         (WebCore::InlineFlowBox::computeOverflow):
817         The new function that computes both horizontal and vertical overflow for a line box.
818
819         (WebCore::InlineFlowBox::setLayoutOverflow):
820         (WebCore::InlineFlowBox::setVisualOverflow):
821         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
822         New functions that set the overflow computed by computeOverflow.  These replace setBlockDirectionOverflowPositions
823         and setInlineDirectionOverflowPositions.  They essentially do the same thing, but they operate on rectangles.
824
825         (WebCore::InlineFlowBox::nodeAtPoint):
826         (WebCore::InlineFlowBox::paint):
827         Changed to use visual overflow instead of visible overflow.  (Visible overflow as a union of layout and visual
828         overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)
829
830         * rendering/InlineFlowBox.h:
831         (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
832         (WebCore::InlineFlowBox::logicalVisualOverflowRect):
833         Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
834         converting to block coordinates at the end.
835
836         * rendering/RenderBlock.cpp:
837         (WebCore::RenderBlock::layoutBlock):
838         (WebCore::RenderBlock::addOverflowFromChildren):
839         (WebCore::RenderBlock::computeOverflow):
840         (WebCore::RenderBlock::addOverflowFromFloats):
841         (WebCore::RenderBlock::addOverflowFromPositionedObjects):
842         Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow.  The addOverflowFromChildren
843         method is virtual so that RenderListItem and RenderTable can subclass it.  RenderListItem has to position its list marker and
844         propagate marker overflow up, and RenderTable adds in overflow from its sections.
845
846         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
847         (WebCore::RenderBlock::layoutPositionedObjects):
848         When only positioned objects lay out, overflow must still be recomputed.  The refactoring of overflow computation into a single
849         callable method: computeOverflow, makes it possible for this to be done easily.
850
851         (WebCore::RenderBlock::paint):
852         visible -> visual.
853
854         (WebCore::RenderBlock::addOverhangingFloats):
855         The propagation of float overflow has changed substantially.  The basic rules are:
856             (1) The float must be in our floating objects list to contribute to overflow.
857             (2) The float must be a descendant to contribute to overflow.
858             (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
859                 so the float needs to be included in its overflow.
860
861         (WebCore::RenderBlock::nodeAtPoint):
862         visible -> visual.
863
864         (WebCore::RenderBlock::layoutColumns):
865         Remove column overflow computation from layoutColumns and move it to computeOverflow.
866
867         (WebCore::RenderBlock::adjustLinePositionForPagination):
868         visible -> visual.
869
870         * rendering/RenderBlock.h:
871         (WebCore::RenderBlock::scrollbarsChanged):
872         Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.
873
874         * rendering/RenderBlockLineLayout.cpp:
875         (WebCore::RenderBlock::layoutInlineChildren):
876         (WebCore::RenderBlock::determineStartPosition):
877         (WebCore::RenderBlock::matchedEndLine):
878         (WebCore::RenderBlock::addOverflowFromInlineChildren):
879         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
880         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
881         visible -> visual.
882
883         * rendering/RenderBox.cpp:
884         (WebCore::RenderBox::scrollWidth):
885         (WebCore::RenderBox::scrollHeight):
886         Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.
887
888         (WebCore::RenderBox::paintRootBoxDecorations):
889         Use docLeft and docTop here, so that writing modes are handled.
890
891         (WebCore::RenderBox::clippedOverflowRectForRepaint):
892         visible -> visual.
893
894         (WebCore::RenderBox::addOverflowFromChild):
895         (WebCore::RenderBox::addLayoutOverflow):
896         (WebCore::RenderBox::addVisualOverflow):
897         (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
898         (WebCore::RenderBox::visualOverflowRectForPropagation):
899         (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
900         (WebCore::RenderBox::layoutOverflowRectForPropagation):
901         * rendering/RenderBox.h:
902         The new overflow system for boxes.  Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
903         for transforms, relative positioning and writing mode differences.
904
905         (WebCore::RenderBox::layoutOverflowRect):
906         (WebCore::RenderBox::topLayoutOverflow):
907         (WebCore::RenderBox::bottomLayoutOverflow):
908         (WebCore::RenderBox::leftLayoutOverflow):
909         (WebCore::RenderBox::rightLayoutOverflow):
910         Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.
911
912         (WebCore::RenderBox::clientLogicalBottom):
913         New helper for obtaining the logical bottom of the client box.
914
915         (WebCore::RenderBox::clientBoxRect):
916         New helper for obtaining the clientLeft/Top/Width/Height box.
917
918         * rendering/RenderBoxModelObject.h:
919         (WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
920         Helper for obtaining the relative position offset transposed for vertical writing modes.  Used by line overflow.
921
922         * rendering/RenderFlexibleBox.cpp:
923         (WebCore::RenderFlexibleBox::layoutBlock):
924         Changed flexible boxes to just call the base class computeOverflow method.
925
926         * rendering/RenderInline.cpp:
927         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
928         (WebCore::RenderInline::clippedOverflowRectForRepaint):
929         visible -> visual.
930
931         * rendering/RenderInline.h:
932         * rendering/RenderLayer.cpp:
933         (WebCore::RenderLayer::updateLayerPosition):
934         Changed layers to no longer incorporate right/bottom overflow into width/height.  This is the reason many layout
935         tests change.  (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
936         layers now.)
937
938         (WebCore::RenderLayer::overflowTop):
939         (WebCore::RenderLayer::overflowBottom):
940         (WebCore::RenderLayer::overflowLeft):
941         (WebCore::RenderLayer::overflowRight):
942         overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
943         to set up the scroll area.
944
945         (WebCore::RenderLayer::computeScrollDimensions):
946         Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
947
948         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
949         Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
950         bottom works.
951
952         (WebCore::performOverlapTests):
953         (WebCore::RenderLayer::paintLayer):
954         Fix a bug in performOverlapTests.  It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
955         of the layer (see why I hate layers even having dimensions?).  Changed it to use the bounding box of the layer instead.
956
957         (WebCore::RenderLayer::hitTest):
958         Fix a bug in hit testing.  It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
959         for left/top overflow in a ScrollView (hate hate hate layers having dimensions).  I changed it to use the hit test rect instead,
960         so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).
961
962         (WebCore::RenderLayer::localBoundingBox):
963         visible -> visual.
964
965         * rendering/RenderLayer.h:
966         Added the new overflowTop/Left/Right/Bottom accessors.
967
968         * rendering/RenderLineBoxList.cpp:
969         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
970         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
971         (WebCore::RenderLineBoxList::paint):
972         (WebCore::RenderLineBoxList::hitTest):
973         visible -> visual.
974
975         * rendering/RenderListItem.cpp:
976         (WebCore::RenderListItem::addOverflowFromChildren):
977         (WebCore::RenderListItem::positionListMarker):
978         * rendering/RenderListItem.h:
979         RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.
980
981         * rendering/RenderListMarker.cpp:
982         (WebCore::RenderListMarker::paint):
983         visible -> visual.
984
985         * rendering/RenderMarquee.cpp:
986         (WebCore::RenderMarquee::computePosition):
987         Changed to use overflow functions instead of rightmost/lowestPosition.
988
989         * rendering/RenderMedia.cpp:
990         * rendering/RenderMedia.h:
991         Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
992
993         * rendering/RenderOverflow.h:
994         (WebCore::RenderOverflow::RenderOverflow):
995         (WebCore::RenderOverflow::setLayoutOverflow):
996         (WebCore::RenderOverflow::setVisualOverflow):
997         Add new setters for layout and visual overflow as rects.
998
999         * rendering/RenderReplaced.cpp:
1000         (WebCore::RenderReplaced::shouldPaint):
1001         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
1002         visible -> visual.
1003
1004         * rendering/RenderRubyRun.cpp:
1005         (WebCore::RenderRubyRun::layout):
1006         Call computeOverflow to recompute our overflow information after we adjust the ruby.
1007
1008         * rendering/RenderTable.cpp:
1009         (WebCore::RenderTable::layout):
1010         (WebCore::RenderTable::addOverflowFromChildren):
1011         (WebCore::RenderTable::paint):
1012         * rendering/RenderTable.h:
1013         Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.
1014
1015         * rendering/RenderTableCell.cpp:
1016         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1017         visible -> visual.
1018
1019         (WebCore::RenderTableCell::scrollbarsChanged):
1020         Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
1021         a bug in table layout.  If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
1022         cell, then the cell won't lay out properly the second time (after the scrollbars have been added).  We have to adjust the intrinsic
1023         padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.
1024
1025         * rendering/RenderTableCell.h:
1026         (WebCore::RenderTableCell::hasVisualOverflow):
1027         visible -> visual.
1028
1029         * rendering/RenderTableSection.cpp:
1030         (WebCore::RenderTableSection::layoutRows):
1031         * rendering/RenderTableSection.h:
1032         visible -> visual.  Removed the leftmost/rightmost/topmost/bottommostPosition functions.
1033
1034         * rendering/RenderTreeAsText.cpp:
1035         (WebCore::writeLayers):
1036         Added a hack to render tree dumping to include right/bottom overflow for the root layer only.  This keeps a zillion layout tests
1037         from failing.
1038
1039         * rendering/RenderView.cpp:
1040         (WebCore::RenderView::layout):
1041         (WebCore::RenderView::docTop):
1042         (WebCore::RenderView::docBottom):
1043         (WebCore::RenderView::docLeft):
1044         (WebCore::RenderView::docRight):
1045         * rendering/RenderView.h:
1046         (WebCore::RenderView::docHeight):
1047         (WebCore::RenderView::docWidth):
1048         RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes.  These methods
1049         are now the preferred way to query for the physical dimensions of a document.
1050
1051         * rendering/RootInlineBox.cpp:
1052         (WebCore::RootInlineBox::addHighlightOverflow):
1053         Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
1054
1055         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1056         Remove the computation of block direction overflow, since it now all happens at once after the line is built.
1057
1058         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
1059         * rendering/RootInlineBox.h:
1060         Added a new helper function for incorporating the end padding into a line.  This end padding also includes the single pixel for a caret
1061         in LTR if needed.
1062
1063 2010-12-06  Chris Marrin  <cmarrin@apple.com>
1064
1065         Reviewed by Simon Fraser.
1066
1067         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
1068         https://bugs.webkit.org/show_bug.cgi?id=49388
1069
1070         Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
1071         identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
1072         with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
1073         platform neutral as long as implementations of those two classes are available. 
1074         Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
1075         rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
1076         to avoid confusion since both names were used to refer to the same thing. 
1077
1078         This patch is only for Mac. Windows implementation has not changed.
1079
1080         * WebCore.xcodeproj/project.pbxproj:
1081         * platform/graphics/GraphicsLayer.h:
1082         * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
1083         * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
1084         * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h.
1085         * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h.
1086         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
1087         (toCAMediaTimingFunction):
1088         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
1089         (PlatformCALayer::PlatformCALayer):
1090         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1091         * platform/graphics/chromium/GraphicsLayerChromium.h:
1092         * platform/graphics/mac/GraphicsLayerMac.h: Removed.
1093         * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
1094         * platform/graphics/mac/WebLayer.h:
1095         * platform/graphics/mac/WebLayer.mm:
1096         (-[WebLayer setNeedsDisplay]):
1097         (-[WebLayer setNeedsDisplayInRect:]):
1098         (-[WebLayer display]):
1099         (-[WebLayer drawInContext:]):
1100         * platform/graphics/mac/WebTiledLayer.h:
1101         * platform/graphics/mac/WebTiledLayer.mm:
1102         (-[WebTiledLayer setNeedsDisplay]):
1103         (-[WebTiledLayer setNeedsDisplayInRect:]):
1104         (-[WebTiledLayer display]):
1105         (-[WebTiledLayer drawInContext:]):
1106         * platform/graphics/qt/GraphicsLayerQt.cpp:
1107         (WebCore::GraphicsLayerQtImpl::flushChanges):
1108         * platform/graphics/qt/GraphicsLayerQt.h:
1109         * platform/graphics/win/GraphicsLayerCACF.cpp:
1110         * platform/graphics/win/GraphicsLayerCACF.h:
1111
1112 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
1113
1114         Reviewed by Dan Bernstein.
1115
1116         Font antialiasing (smoothing) changes when elements are rendered into compositing layers
1117         https://bugs.webkit.org/show_bug.cgi?id=23364
1118
1119         Text rendered by Core Graphics over a transparent background looks bad because of 
1120         font smoothing, so turn off smoothing when rendering text into compositing layers.
1121
1122         * platform/graphics/GraphicsContext.h:
1123         * platform/graphics/cg/GraphicsContextCG.cpp:
1124         (WebCore::GraphicsContext::setAllowsFontSmoothing):
1125         * platform/graphics/mac/WebLayer.mm:
1126         (drawLayerContents):
1127
1128 2010-12-06  Patrick Gansterer  <paroga@webkit.org>
1129
1130         Reviewed by Andreas Kling.
1131
1132         [WINCE] Add build system
1133         https://bugs.webkit.org/show_bug.cgi?id=50522
1134
1135         * CMakeListsWinCE.txt: Added.
1136
1137 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
1138
1139         Reviewed by Oliver Hunt.
1140
1141         AX does not support HTML5 "required"
1142         https://bugs.webkit.org/show_bug.cgi?id=50507
1143
1144         Test: platform/mac/accessibility/html5-required-attribute.html
1145
1146         * accessibility/AccessibilityRenderObject.cpp:
1147         (WebCore::AccessibilityRenderObject::isRequired):
1148
1149 2010-12-06  Alejandro G. Castro  <alex@igalia.com>
1150
1151         Reviewed by Martin Robinson.
1152
1153         [GTK] using shadows leaks memory
1154         https://bugs.webkit.org/show_bug.cgi?id=50541
1155
1156         Fixed leaks in the shadow code.
1157         * platform/graphics/cairo/CairoUtilities.cpp:
1158         (WebCore::drawPatternToCairoContext): adoptRef instead of just
1159         getting a new reference.
1160         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1161         (WebCore::drawPathShadow): handle cairo_path_t with smart
1162         pointers.
1163
1164 2010-12-06  Yury Semikhatsky  <yurys@chromium.org>
1165
1166         Reviewed by Pavel Feldman.
1167
1168         [v8] Web Inspector: remove duplicate code for capturing stack trace
1169         https://bugs.webkit.org/show_bug.cgi?id=50461
1170
1171         No new tests. Covered with existing inspector tests.
1172
1173         * bindings/js/ScriptCallStackFactory.cpp:
1174         (WebCore::createScriptCallStack):
1175         * bindings/js/ScriptCallStackFactory.h:
1176         * bindings/v8/ScriptCallStackFactory.cpp:
1177         (WebCore::toScriptCallFrame):
1178         (WebCore::toScriptCallFramesVector):
1179         (WebCore::createScriptCallStack):
1180         * bindings/v8/ScriptCallStackFactory.h:
1181         * bindings/v8/V8ConsoleMessage.cpp:
1182         (WebCore::V8ConsoleMessage::handler):
1183         * inspector/ScriptCallFrame.cpp:
1184         (WebCore::ScriptCallFrame::ScriptCallFrame):
1185         (WebCore::ScriptCallFrame::isEqual):
1186         (WebCore::ScriptCallFrame::buildInspectorObject):
1187         * inspector/ScriptCallFrame.h:
1188         (WebCore::ScriptCallFrame::sourceURL):
1189         * inspector/ScriptCallStack.h:
1190         * inspector/TimelineRecordFactory.cpp:
1191         (WebCore::TimelineRecordFactory::createGenericRecord):
1192         * inspector/front-end/ConsoleView.js:
1193         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
1194
1195 == Rolled over to ChangeLog-2010-12-06 ==